JP6110946B2 - ゲスト仮想マシン内の仮想入出力メモリ管理ユニット - Google Patents
ゲスト仮想マシン内の仮想入出力メモリ管理ユニット Download PDFInfo
- Publication number
- JP6110946B2 JP6110946B2 JP2015529940A JP2015529940A JP6110946B2 JP 6110946 B2 JP6110946 B2 JP 6110946B2 JP 2015529940 A JP2015529940 A JP 2015529940A JP 2015529940 A JP2015529940 A JP 2015529940A JP 6110946 B2 JP6110946 B2 JP 6110946B2
- Authority
- JP
- Japan
- Prior art keywords
- guest
- virtual
- iommu
- address
- page table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 126
- 238000000034 method Methods 0.000 claims description 39
- 238000013519 translation Methods 0.000 description 46
- 230000014616 translation Effects 0.000 description 46
- 238000006243 chemical reaction Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 11
- 230000004224 protection Effects 0.000 description 11
- 239000000872 buffer Substances 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000007853 buffer solution Substances 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- QYIMSPSDBYKPPY-UHFFFAOYSA-N OS Natural products CC(C)=CCCC(C)=CCCC(C)=CCCC=C(C)CCC=C(C)CCC1OC1(C)C QYIMSPSDBYKPPY-UHFFFAOYSA-N 0.000 description 1
- GFRROZIJVHUSKZ-FXGMSQOLSA-N OS I Natural products C[C@@H]1O[C@@H](O[C@H]2[C@@H](O)[C@@H](CO)O[C@@H](OC[C@@H](O)[C@@H](O)[C@@H](O)CO)[C@@H]2NC(=O)C)[C@H](O)[C@H](O)[C@H]1O GFRROZIJVHUSKZ-FXGMSQOLSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
I/Oタスクを実行するように構成されている。この構成は、ハイパーバイザが保護、分離、割り込み再マッピングおよびアドレス変換のために介入する必要をなくす。しかし、IOMMU210が処理不可能なページフォルトが起こる場合、IOMMU210は、解決のために、ハイパーバイザによる介入を要求する場合がある。しかし、矛盾が解決されると、IOMMU210は、再度のハイパーバイザの介入なしに元のタスクを続行可能である。
Claims (11)
- 仮想マシン(VM)内の仮想I/Oメモリ管理ユニット(IOMMU)が、入出力(I/O)装置によるメモリ要求を受信することであって、前記メモリ要求はゲスト仮想アドレスを含み、前記I/O装置は前記VMに割り当てられている、ことと、
前記仮想IOMMUが、ゲストページテーブルを用いて前記ゲスト仮想アドレスをゲスト物理アドレスに変換することであって、前記ゲストページテーブルはゲストOS(オペレーティングシステム)によって維持されており、前記仮想IOMMUのデバイステーブル内の仮想I/O装置の識別子に関連するエントリに基づいてアクセスされ、前記ゲストページテーブルはハードウェアの形態で実装されており、前記デバイステーブルはソフトウェアを用いて仮想化されている、ことと、
前記仮想IOMMUが、ホストページテーブルを用いて前記ゲスト物理アドレスをシステム物理アドレスに変換することであって、前記ホストページテーブルはハイパーバイザによって維持されている、ことと、
前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内であるかどうかを判断するために、前記仮想IOMMUが、前記ゲストページテーブルを用いて前記ゲスト仮想アドレスを検証することと、
前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内でない場合には、前記メモリ要求を、前記ゲスト仮想アドレスのアクセスから除外することと、
を含む、方法。 - 前記I/O装置に関連する仮想デバイスIDによって索引付けられたゼネラルコントロールレジスタ(GCR3)テーブル内のエントリを識別することであって、前記仮想デバイスIDは前記仮想IOMMU内のデバイステーブルに記憶されている、ことをさらに含む、請求項1に記載の方法。
- 前記仮想IOMMUに関連するコントロールレジスタ、構成レジスタ、エラーレポートレジスタ、ログおよび割り込み再マッピングテーブルのうち少なくとも1つを、ソフトウェアを用いて仮想化することをさらに含む、請求項1に記載の方法。
- 前記ホストページテーブルおよび前記ゲストページテーブルに同一のフォーマットを使用することと、
仮想化モードにおいてホストテーブルとして前記ゲストページテーブルの使用を区別するように、デバイステーブル内のコントロールビットを使用することと、をさらに含む、請求項1に記載の方法。 - 前記ハイパーバイザが、仮想マシンを管理することであって、前記仮想マシンは前記ゲストOSの動作をサポートするように構成されていることをさらに含む、請求項1に記載の方法。
- 入出力(I/O)装置により送信されたメモリ要求を受信するように構成された、仮想マシン(VM)内の仮想I/Oメモリ管理ユニット(IOMMU)を備える装置であって、
前記メモリ要求はゲスト仮想アドレスを含み、
前記I/O装置は前記VMに直接割り当てられており、
前記仮想IOMMUは、
前記ゲスト仮想アドレスをゲスト物理アドレスに変換するように構成されたゲストページテーブルであって、ゲストOS(オペレーティングシステム)によって維持され、前記仮想IOMMUのデバイステーブル内の仮想I/O装置の識別子に関連する索引付けられたエントリに基づいてアクセスされ、ハードウェアの形態で実装されるゲストページテーブルと、
前記ゲスト物理アドレスをシステム物理アドレスに変換するように構成されたホストページテーブルであって、ハイパーバイザによって維持されるホストページテーブルと、
を含むデータ構造を備え、
前記デバイステーブルはソフトウェアを用いて仮想化されており、
前記仮想IOMMUは、前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内であるかどうかを判断するために、前記ゲストページテーブルを用いて前記ゲスト仮想アドレスを検証するように構成されており、
前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内でない場合に、前記ゲストOSは、前記メモリ要求の実行を除外する、
装置。 - 前記I/O装置に関連する仮想デバイスIDによって索引付けられるように構成されたGCR3テーブルをさらに備え、前記仮想デバイスIDは前記仮想IOMMU内のデバイステーブルに記憶されている、請求項6に記載の装置。
- 前記仮想IOMMUに関連するコントロールレジスタ、構成レジスタ、エラーレポートレジスタ、ログおよび割り込み再マッピングテーブルのうち少なくとも1つは、ソフトウェアを用いて仮想化されている、請求項6に記載の装置。
- 前記ホストページテーブルおよび前記ゲストページテーブルは同一のフォーマットを使用しており、
デバイステーブルは、仮想化モードにおいてホストテーブルとして前記ゲストページテーブルの使用を区別するように、コントロールビットを使用する、請求項6に記載の装置。 - 前記ゲストOSの動作をサポートするように構成された仮想マシンをさらに備え、前記仮想マシンは前記ハイパーバイザによって管理される、請求項6に記載の装置。
- 記憶された命令を有するコンピュータ可読記憶装置であって、計算装置によって前記命令が実行されると、前記計算装置に、
入出力(I/O)装置が送信したメモリ要求を受信するように構成された、仮想マシン(VM)内の仮想I/Oメモリ管理ユニット(IOMMU)を備える装置であって、
前記メモリ要求はゲスト仮想アドレスを含み、
前記I/O装置は前記VMに直接割り当てられており、
前記仮想IOMMUは、
前記ゲスト仮想アドレスをゲスト物理アドレスに変換するように構成されたゲストページテーブルであって、ゲストOSによって維持され、前記仮想IOMMUのデバイステーブル内の仮想I/O装置の識別子に関連する索引付けられたエントリに基づいてアクセスされ、ハードウェアの形態で実装されるゲストページテーブルと、
前記ゲスト物理アドレスをシステム物理アドレスに変換するように構成されたホストページテーブルであって、ハイパーバイザによって維持されるホストページテーブルと、
を含むデータ構造を備え、
前記デバイステーブルはソフトウェアを用いて仮想化されており、
前記仮想IOMMUは、前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内であるかどうかを判断するために、前記ゲストページテーブルを用いて前記ゲスト仮想アドレスを検証するように構成されており、
前記ゲスト仮想アドレスが、前記I/O装置について前記ゲストOSによって権限が与えられたアドレスの有効範囲内でない場合に、前記ゲストOSは、前記メモリ要求の実行を除外する、装置をエミュレートさせる、
コンピュータ可読記憶装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/597,575 | 2012-08-29 | ||
US13/597,575 US9424199B2 (en) | 2012-08-29 | 2012-08-29 | Virtual input/output memory management unit within a guest virtual machine |
PCT/US2013/056856 WO2014036004A1 (en) | 2012-08-29 | 2013-08-27 | Virtual input/output memory management unit wihtin a guest virtual machine |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015526829A JP2015526829A (ja) | 2015-09-10 |
JP2015526829A5 JP2015526829A5 (ja) | 2016-10-20 |
JP6110946B2 true JP6110946B2 (ja) | 2017-04-05 |
Family
ID=49213080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015529940A Active JP6110946B2 (ja) | 2012-08-29 | 2013-08-27 | ゲスト仮想マシン内の仮想入出力メモリ管理ユニット |
Country Status (7)
Country | Link |
---|---|
US (1) | US9424199B2 (ja) |
EP (1) | EP2891067B1 (ja) |
JP (1) | JP6110946B2 (ja) |
KR (1) | KR101950000B1 (ja) |
CN (1) | CN104685479B (ja) |
IN (1) | IN2015DN01637A (ja) |
WO (1) | WO2014036004A1 (ja) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182349A (zh) * | 2013-05-27 | 2014-12-03 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US9547603B2 (en) * | 2013-08-28 | 2017-01-17 | Wisconsin Alumni Research Foundation | I/O memory management unit providing self invalidated mapping |
US9983893B2 (en) | 2013-10-01 | 2018-05-29 | Red Hat Israel, Ltd. | Handling memory-mapped input-output (MMIO) based instructions using fast access addresses |
US9916173B2 (en) * | 2013-11-25 | 2018-03-13 | Red Hat Israel, Ltd. | Facilitating execution of MMIO based instructions |
US9135437B1 (en) | 2014-03-24 | 2015-09-15 | Amazon Technologies, Inc. | Hypervisor enforcement of cryptographic policy |
US9690720B2 (en) | 2014-06-03 | 2017-06-27 | Qualcomm Incorporated | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device |
US9632953B2 (en) | 2014-06-03 | 2017-04-25 | Qualcomm Incorporated | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers |
US9703726B2 (en) * | 2014-06-24 | 2017-07-11 | Bitdefender IPR Management Ltd. | Systems and methods for dynamically protecting a stack from below the operating system |
US20160077981A1 (en) * | 2014-09-12 | 2016-03-17 | Advanced Micro Devices, Inc. | Method and Apparatus for Efficient User-Level IO in a Virtualized System |
EP3209282A4 (en) | 2014-10-20 | 2018-05-23 | Pharmaceutical Manufacturing Research Services, Inc. | Extended release abuse deterrent liquid fill dosage form |
US9720846B2 (en) | 2015-05-28 | 2017-08-01 | Red Hat Israel, Ltd. | Memory swap for direct memory access by a device assigned to a guest operating system |
US9772962B2 (en) | 2015-05-28 | 2017-09-26 | Red Hat Israel, Ltd. | Memory sharing for direct memory access by a device assigned to a guest operating system |
US10152612B2 (en) * | 2015-09-25 | 2018-12-11 | Intel Corporation | Cryptographic operations for secure page mapping in a virtual machine environment |
US10216533B2 (en) | 2015-10-01 | 2019-02-26 | Altera Corporation | Efficient virtual I/O address translation |
US9959214B1 (en) * | 2015-12-29 | 2018-05-01 | Amazon Technologies, Inc. | Emulated translation unit using a management processor |
US10509729B2 (en) * | 2016-01-13 | 2019-12-17 | Intel Corporation | Address translation for scalable virtualization of input/output devices |
US9846610B2 (en) | 2016-02-08 | 2017-12-19 | Red Hat Israel, Ltd. | Page fault-based fast memory-mapped I/O for virtual machines |
US10073710B2 (en) | 2016-02-25 | 2018-09-11 | Red Hat Israel, Ltd. | Host-driven application memory protection for virtual machines |
US10671419B2 (en) | 2016-02-29 | 2020-06-02 | Red Hat Israel, Ltd. | Multiple input-output memory management units with fine grained device scopes for virtual machines |
US11379385B2 (en) * | 2016-04-16 | 2022-07-05 | Vmware, Inc. | Techniques for protecting memory pages of a virtual computing instance |
US11150928B2 (en) * | 2016-06-08 | 2021-10-19 | Red Hat Israel, Ltd. | Hypervisor translation bypass |
CN114218133A (zh) | 2016-06-15 | 2022-03-22 | 华为技术有限公司 | 一种数据传输方法及装置 |
US10248573B2 (en) | 2016-07-18 | 2019-04-02 | International Business Machines Corporation | Managing memory used to back address translation structures |
US10241924B2 (en) | 2016-07-18 | 2019-03-26 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation using an array of tags |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10162764B2 (en) | 2016-07-18 | 2018-12-25 | International Business Machines Corporation | Marking page table/page status table entries to indicate memory used to back address translation structures |
US20180024938A1 (en) * | 2016-07-21 | 2018-01-25 | Advanced Micro Devices, Inc. | Allocating physical pages to sparse data sets in virtual memory without page faulting |
US10140214B2 (en) | 2016-08-29 | 2018-11-27 | Red Hat Israel, Ltd. | Hypervisor translation bypass by host IOMMU with virtual machine migration support |
US10176122B2 (en) | 2016-10-19 | 2019-01-08 | Advanced Micro Devices, Inc. | Direct memory access authorization in a processing system |
US10013199B2 (en) | 2016-11-15 | 2018-07-03 | Red Hat Israel, Ltd. | Translation bypass by host IOMMU for systems with virtual IOMMU |
US10013388B1 (en) * | 2016-12-19 | 2018-07-03 | Amazon Technologies, Inc. | Dynamic peer-to-peer configuration |
US10635479B2 (en) * | 2016-12-19 | 2020-04-28 | Bitdefender IPR Management Ltd. | Event filtering for virtual machine security applications |
KR101716715B1 (ko) * | 2016-12-27 | 2017-03-15 | 주식회사 티맥스클라우드 | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 |
CN106991057B (zh) * | 2017-04-11 | 2020-09-11 | 深信服科技股份有限公司 | 一种共享显卡虚拟化中内存的调用方法及虚拟化平台 |
CN107193759A (zh) * | 2017-04-18 | 2017-09-22 | 上海交通大学 | 设备内存管理单元的虚拟化方法 |
US10228981B2 (en) | 2017-05-02 | 2019-03-12 | Intel Corporation | High-performance input-output devices supporting scalable virtualization |
US10599461B2 (en) * | 2017-09-19 | 2020-03-24 | Microsoft Technology Licensing, Llc | Nested hypervisor memory virtualization |
US11469953B2 (en) | 2017-09-27 | 2022-10-11 | Intel Corporation | Interworking of legacy appliances in virtualized networks |
WO2019079960A1 (en) * | 2017-10-24 | 2019-05-02 | Intel Corporation | MATERIAL ASSISTED VIRTUAL SWITCH |
US11698866B2 (en) * | 2017-12-29 | 2023-07-11 | Intel Corporation | Unified address translation for virtualization of input/output devices |
US11036645B2 (en) * | 2018-06-26 | 2021-06-15 | Red Hat, Inc. | Secure userspace networking for guests |
US10853271B2 (en) * | 2018-08-03 | 2020-12-01 | Arm Limited | System architecture with query based address translation for access validation |
US10754796B2 (en) | 2018-08-29 | 2020-08-25 | Red Hat, Inc. | Efficient user space driver isolation by CPU page table switching |
US10983926B2 (en) | 2018-08-29 | 2021-04-20 | Red Hat, Inc. | Efficient userspace driver isolation for virtual machines |
US11481241B2 (en) * | 2018-08-30 | 2022-10-25 | Micron Technology, Inc. | Virtual machine register in a computer processor |
US10809929B2 (en) | 2018-11-30 | 2020-10-20 | International Business Machines Corporation | Combined hardware/software-enforced segmentation of multi-tenant memory/storage systems |
KR102634986B1 (ko) * | 2019-01-08 | 2024-02-07 | 한국전자통신연구원 | 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템 |
CN113168380B (zh) * | 2019-01-29 | 2022-09-09 | 华为技术有限公司 | 电子设备和地址访问方法 |
US11023397B2 (en) * | 2019-03-25 | 2021-06-01 | Alibaba Group Holding Limited | System and method for monitoring per virtual machine I/O |
US11036649B2 (en) | 2019-04-04 | 2021-06-15 | Cisco Technology, Inc. | Network interface card resource partitioning |
US11494211B2 (en) * | 2019-04-22 | 2022-11-08 | Advanced Micro Devices, Inc. | Domain identifier and device identifier translation by an input-output memory management unit |
US10909053B2 (en) * | 2019-05-27 | 2021-02-02 | Advanced Micro Devices, Inc. | Providing copies of input-output memory management unit registers to guest operating systems |
US20200387326A1 (en) * | 2019-06-10 | 2020-12-10 | Advanced Micro Devices, Inc. | Guest Operating System Buffer and Log Accesses by an Input-Output Memory Management Unit |
US11176056B2 (en) | 2019-06-28 | 2021-11-16 | International Business Machines Corporation | Private space control within a common address space |
US10891238B1 (en) * | 2019-06-28 | 2021-01-12 | International Business Machines Corporation | Dynamically joining and splitting dynamic address translation (DAT) tables based on operational context |
US10970224B2 (en) | 2019-06-28 | 2021-04-06 | International Business Machines Corporation | Operational context subspaces |
US11074195B2 (en) | 2019-06-28 | 2021-07-27 | International Business Machines Corporation | Access to dynamic address translation across multiple spaces for operational context subspaces |
US11042495B2 (en) * | 2019-09-20 | 2021-06-22 | Advanced Micro Devices, Inc. | Providing interrupts from an input-output memory management unit to guest operating systems |
US11301402B2 (en) | 2020-04-30 | 2022-04-12 | Red Hat, Inc. | Non-interrupting portable page request interface |
CN111737176B (zh) * | 2020-05-11 | 2022-07-15 | 瑞芯微电子股份有限公司 | 一种基于pcie数据的同步装置及驱动方法 |
CN112612574B (zh) * | 2020-12-18 | 2023-09-26 | 海光信息技术股份有限公司 | 输入输出设备的内存访问管理单元、系统及地址转换方法 |
EP4268085A4 (en) * | 2020-12-22 | 2024-04-10 | INTEL Corporation | PROCESSOR CIRCUITRY TO EXECUTE AN INPUT-OUTPUT TRANSLATION VIRTUAL ADDRESS INSTRUCTION |
US12020053B2 (en) | 2021-03-29 | 2024-06-25 | Red Hat, Inc. | Exposing untrusted devices to virtual machines |
US11860792B2 (en) | 2021-05-04 | 2024-01-02 | Red Hat, Inc. | Memory access handling for peripheral component interconnect devices |
US11900142B2 (en) | 2021-06-16 | 2024-02-13 | Red Hat, Inc. | Improving memory access handling for nested virtual machines |
CN113868174B (zh) * | 2021-10-11 | 2024-02-06 | 摩尔线程智能科技(北京)有限责任公司 | 验证平台搭建方法、装置及存储介质 |
CN115460172B (zh) * | 2022-08-22 | 2023-12-05 | 曙光信息产业股份有限公司 | 设备地址分配方法、装置、计算机设备、介质及程序产品 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428626B2 (en) | 2005-03-08 | 2008-09-23 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
JP4756603B2 (ja) * | 2006-10-10 | 2011-08-24 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
US7873770B2 (en) | 2006-11-13 | 2011-01-18 | Globalfoundries Inc. | Filtering and remapping interrupts |
US8078827B2 (en) | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
GB0823162D0 (en) * | 2008-12-18 | 2009-01-28 | Solarflare Communications Inc | Virtualised Interface Functions |
US8443156B2 (en) * | 2009-03-27 | 2013-05-14 | Vmware, Inc. | Virtualization system using hardware assistance for shadow page table coherence |
JP5476764B2 (ja) * | 2009-03-30 | 2014-04-23 | 富士通株式会社 | サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 |
US8386745B2 (en) * | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
US9535849B2 (en) * | 2009-07-24 | 2017-01-03 | Advanced Micro Devices, Inc. | IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect |
US8271450B2 (en) * | 2009-10-01 | 2012-09-18 | Vmware, Inc. | Monitoring a data structure in a virtual machine and determining if memory pages containing the data structure are swapped into or out of guest physical memory |
US8489789B2 (en) * | 2010-02-05 | 2013-07-16 | Advanced Micro Devices, Inc. | Interrupt virtualization |
JP5601516B2 (ja) * | 2010-10-06 | 2014-10-08 | 日本電気株式会社 | コンピュータ装置及びメモリリソース割当て方法 |
US20120110575A1 (en) | 2010-10-29 | 2012-05-03 | Unisys Corp. | Secure partitioning with shared input/output |
US20120246381A1 (en) | 2010-12-14 | 2012-09-27 | Andy Kegel | Input Output Memory Management Unit (IOMMU) Two-Layer Addressing |
-
2012
- 2012-08-29 US US13/597,575 patent/US9424199B2/en active Active
-
2013
- 2013-08-27 CN CN201380049432.5A patent/CN104685479B/zh active Active
- 2013-08-27 WO PCT/US2013/056856 patent/WO2014036004A1/en unknown
- 2013-08-27 JP JP2015529940A patent/JP6110946B2/ja active Active
- 2013-08-27 IN IN1637DEN2015 patent/IN2015DN01637A/en unknown
- 2013-08-27 EP EP13763349.1A patent/EP2891067B1/en active Active
- 2013-08-27 KR KR1020157007195A patent/KR101950000B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20140068137A1 (en) | 2014-03-06 |
US9424199B2 (en) | 2016-08-23 |
CN104685479A (zh) | 2015-06-03 |
CN104685479B (zh) | 2018-04-17 |
EP2891067B1 (en) | 2019-02-27 |
IN2015DN01637A (ja) | 2015-07-03 |
KR101950000B1 (ko) | 2019-02-19 |
WO2014036004A1 (en) | 2014-03-06 |
JP2015526829A (ja) | 2015-09-10 |
KR20150048173A (ko) | 2015-05-06 |
EP2891067A1 (en) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6110946B2 (ja) | ゲスト仮想マシン内の仮想入出力メモリ管理ユニット | |
US7613898B2 (en) | Virtualizing an IOMMU | |
US7873770B2 (en) | Filtering and remapping interrupts | |
US7849287B2 (en) | Efficiently controlling special memory mapped system accesses | |
JP5870206B2 (ja) | 効率的なメモリ及びリソース管理 | |
EP2457166B1 (en) | I/o memory management unit including multilevel address translation for i/o and computation offload | |
US9535849B2 (en) | IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect | |
US20130145055A1 (en) | Peripheral Memory Management | |
US20130262736A1 (en) | Memory types for caching policies | |
US20130145051A1 (en) | Direct Device Assignment | |
CA2800632C (en) | Enable/disable adapters of a computing environment | |
US9679143B2 (en) | Updated IO memory management unit identity settings for DMA remapping | |
US9152571B2 (en) | All invalidate approach for memory management units | |
US20160077981A1 (en) | Method and Apparatus for Efficient User-Level IO in a Virtualized System | |
KR20230162982A (ko) | 페이지 마이그레이션을 제공하기 위한 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160829 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160829 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160829 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6110946 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |