JP2012504821A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2012504821A5 JP2012504821A5 JP2011530201A JP2011530201A JP2012504821A5 JP 2012504821 A5 JP2012504821 A5 JP 2012504821A5 JP 2011530201 A JP2011530201 A JP 2011530201A JP 2011530201 A JP2011530201 A JP 2011530201A JP 2012504821 A5 JP2012504821 A5 JP 2012504821A5
- Authority
- JP
- Japan
- Prior art keywords
- space
- representation
- memory
- write
- mapped
- 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.)
- Granted
Links
- 230000000694 effects Effects 0.000 claims 4
- 238000009434 installation Methods 0.000 claims 3
- 230000006399 behavior Effects 0.000 claims 2
- 230000003068 static Effects 0.000 claims 1
- 230000001131 transforming Effects 0.000 claims 1
Claims (15)
- 仮想マシンとI/Oデバイスとの間における通信を管理する、コンピューターにより実行される方法であって、
前記I/Oデバイスの記述を受けるステップであって、前記記述が、前記I/Oデバイスにおいて非特権仮想マシンがどのアクションを実行することができるかを示す、ステップと、
前記記述に基づいて、前記I/Oデバイスのコンフィギュレーション空間の表現を作り、該表現が、前記コンフィギュレーション空間内にあるメモリー位置に対して実行することができる動作を制限するために前記コンピューターにより使用可能である、ステップと、
前記記述に基づいてメモリー・マップドI/O空間の表現を作るステップであって、前記表現が、
前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のページを判定することによって構成される第1レベルのメモリー・マップドI/O空間と、
静止値として前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のビットを判定することによって構成される第2レベルのメモリー・マップドI/O空間と、
を含む、ステップと、
前記コンフィギュレーション空間の前記表現および前記メモリー・マップドI/O空間の前記表現にしたがって、前記コンフィギュレーション空間の前記表現内の位置または前記メモリー・マップドI/O空間の前記表現内の位置に対する動作を非特権仮想マシンが試行しようとしていることを判定するステップと、
前記動作を解釈するステップと、
前記非特権仮想マシンが前記I/Oデバイスにおいて実行することができるアクションを示す前記記述にしたがって、前記動作を許可し、拒否しまたは変換するステップと、
を含む、方法。 - 請求項1記載の方法において、コンフィギュレーション空間の表現を作る前記ステップが、更に、前記コンフィギュレーション空間の表現内にある各ビットを少なくとも1つの読み出しおよび書き込み動作と関連付けるステップを含む、方法。
- 請求項2記載の方法において、前記読み取りおよび書き込み動作が、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、最初の書き込みの後1にセットする、を含む、方法。
- 請求項1から3のいずれかに記載の方法において、前記コンフィギュレーション空間の表現から除外された任意のメモリーについて、または前記メモリー・マップドI/O空間の表現から除外された任意のメモリーについて、前記I/Oデバイスを表すデーターを前記任意のメモリーに収容する、方法。
- 請求項4記載の方法であって、更に、
前記除外されたメモリーのページ内においてビットを定めるステップ、
を含み、前記許可し、拒否しまたは変換するステップは、前記定められたビットをもつページを用いることを含む、方法。 - 請求項1から5のいずれかに記載の方法であって、前記記述が、前記I/Oデバイスの販売業者によって提供されるファイルにおいて受け取られ、コンフィギュレーション空間の表現を作る前記ステップ、およびメモリー・マップドI/O空間の表現を作る前記ステップが、更に、前記記述にしたがって前記表現を作るステップを含む、方法。
- 請求項6記載の方法であって、更に、
I/O空間の表現を作るステップと、
前記受け取った情報に基づいて、前記I/O空間の表現を収容するステップと、
前記I/O空間の表現にしたがって前記I/Oデバイスへのアクセスを制御するステップと、
を含む、方法。 - 請求項6または7に記載の方法であって、更に、前記コンフィギュレーション空間の前記表現および前記メモリー・マップドI/O空間の前記表現双方を、前記受け取った記述に基づいて収容するステップを含む、方法。
- 請求項1から8のいずれかに記載の方法であって、更に、前記仮想マシンからI/O空間を除外するステップを含む、方法。
- 仮想マシンとデバイスとの間における通信を管理するためのシステムであって、
少なくとも1つのプロセッサーと、
前記少なくとも1つのプロセッサーに対し通信できるように結合された少なくとも1つのメモリーであって、該メモリーが、コンピューター実行可能命令を格納し、該コンピューター実行可能命令が、前記プロセッサーで実行されると前記プロセッサーに、
前記デバイスの記述を受け、前記記述が、前記デバイスにおけるどの動作がシステム規模の効果を有するか、およびどの動作が前記デバイスに対してローカルな効果を有するかに関する情報を含み、
前記記述に基づいて、前記デバイスのコンフィギュレーション空間の表現を作成し、前記システムが、前記コンフィギュレーション空間内のメモリー位置に対し実行することができる動作を制限するため、前記表現を使用するように構成され、
前記記述に基づいてメモリー・マップドI/O空間の表現を作り、前記表現が、
前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のページを判定することによって構成される第1レベルのメモリー・マップドI/O空間と、
静止値として前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のビットを判定することによって構成される第2レベルのメモリー・マップドI/O空間と、
を含み、
前記コンフィギュレーション空間の前記表現および前記メモリー・マップドI/O空間の前記表現にしたがって、前記コンフィギュレーション空間の前記表現内の位置または前記メモリー・マップドI/O空間の前記表現内の位置に対する動作を非特権仮想マシンが試行しようとしていることを判定し、
前記動作を解釈し、
前記記述にしたがって、前記動作を許可し、拒否しまたは変換すること、
を含む動作を実行させる、少なくとも1つのメモリーと、
を含むシステム。 - 請求項10記載のシステムにおいて、前記コンフィギュレーション空間の前記表現内にある各ビットが、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、または最初の書き込みの後1にセットするというプロパティの内少なくとも1つを含む、システム。
- デバイスへのアクセスを制御するコンピューター実行可能命令を格納したコンピューター読み取り可能記憶媒体であって、前記デバイスが、仮想マシンをホストする物理マシンに対し通信できるように結合され、
前記デバイスのインストール・ファイルを受け取る命令であって、前記インストール・ファイルが、前記デバイスにおけるどの動作がシステム規模の効果を有するか、およびどの動作が前記デバイスに対してローカルな効果を有するかに関する情報を含む、命令と、
前記記述に基づいて、前記デバイスのコンフィギュレーション空間、メモリー・マップドI/O空間、およびI/O空間についての属性の少なくとも1つのマップを作るための命令であって、前記少なくとも1つのマップが、メモリー・マップドI/O空間の表現を含み、該表現が、
前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のページを判定することによって構成される第1レベルのメモリー・マップドI/O空間と、
静止値として前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のビットを判定することによって構成される第2レベルのメモリー・マップドI/O空間と、
前記コンフィギュレーション空間内にあるメモリー位置に対して実行することができる動作を制限するために仮想化システムにより使用可能である前記少なくとも1つのマップであって、前記少なくとも1つのマップと関連のある各ページまたは各ビットが前記仮想マシンにマッピングされ、ビットの静止ページを仮想マシンに前記デバイスの状態として供給することができる、前記少なくとも1つのマップと、
を含む、命令と、
前記受け取ったインストール・ファイルに基づいて、前記少なくとも1つのマップを収容する命令と、
前記コンフィギュレーション空間の前記表現内の位置または前記メモリー・マップドI/O空間の前記表現内の位置に対する動作を非特権仮想マシンが試行しようとしていることを判定し、
前記動作を解釈し、
前記記述にしたがって、前記動作を許可し、拒否しまたは変換する、
ことによって、前記デバイスへのアクセスを管理するために前記少なくとも1つのマップを用いる命令と、
を含む、コンピューター読み取り可能記憶媒体。 - 請求項12記載のコンピューター読み取り可能記憶媒体において、前記少なくとも1つのマップと関連のある各ページまたは各ビットが、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、最初の書き込みの後1にセットするという属性の内1つを含む、コンピューター読み取り可能記憶媒体。
- 請求項12または13に記載のコンピューター読み取り可能記憶媒体において、前記コンフィギュレーション空間の前記表現から除外された任意のメモリーについて、または前記メモリー・マップドI/O空間の前記表現から除外された任意のメモリーについて、所定のデーターを前記任意のメモリーに収容する、コンピューター読み取り可能記憶媒体。
- 請求項14記載のコンピューター読み取り可能記憶媒体であって、更に、
前記除外されたメモリーのページ内においてビットを定める命令、
を含み、前記許可し、拒否しまたは変換することは、前記定められたビットをもつページを用いることを含む、コンピューター読み取り可能記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/245,543 | 2008-10-03 | ||
US12/245,543 US8117346B2 (en) | 2008-10-03 | 2008-10-03 | Configuration space virtualization |
PCT/US2009/059105 WO2010039887A2 (en) | 2008-10-03 | 2009-09-30 | Configuration space virtualization |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012504821A JP2012504821A (ja) | 2012-02-23 |
JP2012504821A5 true JP2012504821A5 (ja) | 2012-11-22 |
JP5584220B2 JP5584220B2 (ja) | 2014-09-03 |
Family
ID=42074192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011530201A Active JP5584220B2 (ja) | 2008-10-03 | 2009-09-30 | コンフィギュレーション空間仮想化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8117346B2 (ja) |
EP (1) | EP2335157B1 (ja) |
JP (1) | JP5584220B2 (ja) |
CN (1) | CN102171666B (ja) |
ES (1) | ES2737855T3 (ja) |
WO (1) | WO2010039887A2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117346B2 (en) | 2008-10-03 | 2012-02-14 | Microsoft Corporation | Configuration space virtualization |
US20100161879A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Efficient and Secure Main Memory Sharing Across Multiple Processors |
US20100161909A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Systems and Methods for Quota Management in a Memory Appliance |
US20100161929A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Flexible Memory Appliance and Methods for Using Such |
US8762698B2 (en) * | 2009-12-14 | 2014-06-24 | Intel Corporation | Virtual bus device using management engine |
US8972611B2 (en) * | 2011-08-11 | 2015-03-03 | Cisco Technology, Inc. | Multi-server consolidated input/output (IO) device |
WO2013048422A1 (en) | 2011-09-30 | 2013-04-04 | Hewlett-Packard Development Company, L.P. | Virtualized device control in computer systems |
US9924242B2 (en) | 2012-04-20 | 2018-03-20 | Itron Global Sarl | Automatic network topology detection and fraud detection |
US10027535B1 (en) * | 2013-09-27 | 2018-07-17 | Juniper Networks, Inc. | Systems and methods for managing device configurations at various levels of abstraction |
US10571493B2 (en) | 2014-02-25 | 2020-02-25 | Itron, Inc. | Smart grid topology estimator |
US11079417B2 (en) | 2014-02-25 | 2021-08-03 | Itron, Inc. | Detection of electric power diversion |
US9568522B2 (en) | 2014-10-20 | 2017-02-14 | Itron, Inc. | Electrical phase identification |
US9781231B2 (en) * | 2014-11-19 | 2017-10-03 | Itron, Inc. | Application platform operable on network node |
US9835662B2 (en) | 2014-12-02 | 2017-12-05 | Itron, Inc. | Electrical network topology determination |
US9727359B2 (en) * | 2015-04-27 | 2017-08-08 | Red Hat Israel, Ltd. | Virtual machine function based sub-page base address register access for peripheral component interconnect device assignment |
US10312681B2 (en) | 2015-05-28 | 2019-06-04 | Itron, Inc. | Automatic network device electrical phase identification |
US20180129440A1 (en) * | 2016-11-09 | 2018-05-10 | Western Digital Technologies, Inc. | Self-virtualizing flash memory for solid state drive |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763454B2 (en) * | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6640278B1 (en) * | 1999-03-25 | 2003-10-28 | Dell Products L.P. | Method for configuration and management of storage resources in a storage network |
US7384300B1 (en) * | 1999-12-22 | 2008-06-10 | Xerox Corporation | Method and apparatus for a connection sensing apparatus |
US6629157B1 (en) * | 2000-01-04 | 2003-09-30 | National Semiconductor Corporation | System and method for virtualizing the configuration space of PCI devices in a processing system |
US6611912B1 (en) * | 2000-02-04 | 2003-08-26 | Advanced Micro Devices, Inc. | Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard |
US6820164B2 (en) * | 2001-04-17 | 2004-11-16 | International Business Machines Corporation | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices |
US6907510B2 (en) | 2002-04-01 | 2005-06-14 | Intel Corporation | Mapping of interconnect configuration space |
US7036122B2 (en) * | 2002-04-01 | 2006-04-25 | Intel Corporation | Device virtualization and assignment of interconnect devices |
US6820177B2 (en) * | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7155379B2 (en) * | 2003-02-25 | 2006-12-26 | Microsoft Corporation | Simulation of a PCI device's memory-mapped I/O registers |
US7107382B2 (en) * | 2003-04-03 | 2006-09-12 | Emulex Design & Manufacturing Corporation | Virtual peripheral component interconnect multiple-function device |
JP4016396B2 (ja) * | 2003-06-02 | 2007-12-05 | 日本電気株式会社 | マルチセルシステム |
US7155553B2 (en) * | 2003-08-14 | 2006-12-26 | Texas Instruments Incorporated | PCI express to PCI translation bridge |
US7234037B2 (en) * | 2003-11-25 | 2007-06-19 | International Business Machines Corporation | Memory mapped Input/Output operations |
US7552436B2 (en) * | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
US7146482B2 (en) * | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
US7689800B2 (en) * | 2005-05-12 | 2010-03-30 | Microsoft Corporation | Partition bus |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US20070016895A1 (en) * | 2005-07-15 | 2007-01-18 | Microsoft Corporation | Selective omission of endian translation to enhance emulator performance |
US7814496B2 (en) * | 2005-08-19 | 2010-10-12 | Intel Corporation | Method and system for replicating schedules with regard to a host controller for virtualization |
US7506121B2 (en) | 2005-12-30 | 2009-03-17 | Intel Corporation | Method and apparatus for a guest to access a memory mapped device |
US7613847B2 (en) * | 2006-05-16 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Partially virtualizing an I/O device for use by virtual machines |
CN100472452C (zh) * | 2006-06-23 | 2009-03-25 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件设备的切换方法 |
JP4810349B2 (ja) * | 2006-08-11 | 2011-11-09 | 日本電気株式会社 | I/o装置及び方法 |
US20080052431A1 (en) * | 2006-08-22 | 2008-02-28 | Freking Ronald E | Method and Apparatus for Enabling Virtual Channels Within A Peripheral Component Interconnect (PCI) Express Bus |
US9176765B2 (en) * | 2006-09-25 | 2015-11-03 | Lenovo (Beijing) Limited | Virtual machine system and a method for sharing a graphics card amongst virtual machines |
US7590817B2 (en) * | 2006-10-17 | 2009-09-15 | International Business Machines Corporation | Communicating with an I/O device using a queue data structure and pre-translated addresses |
US8650342B2 (en) | 2006-10-23 | 2014-02-11 | Dell Products L.P. | System and method for distributed address translation in virtualized information handling systems |
US7761612B2 (en) * | 2006-12-07 | 2010-07-20 | International Business Machines Corporation | Migrating domains from one physical data processing system to another |
JP4295783B2 (ja) * | 2006-12-13 | 2009-07-15 | 株式会社日立製作所 | 計算機、仮想デバイスの制御方法 |
CN101241445B (zh) * | 2007-02-08 | 2011-07-27 | 联想(北京)有限公司 | 虚拟机系统及其访问显卡的方法 |
US7689755B2 (en) * | 2007-03-07 | 2010-03-30 | Intel Corporation | Apparatus and method for sharing devices between multiple execution domains of a hardware platform |
US8527673B2 (en) | 2007-05-23 | 2013-09-03 | Vmware, Inc. | Direct access to a hardware device for virtual machines of a virtualized computer system |
US8060876B2 (en) * | 2007-08-10 | 2011-11-15 | Intel Corporation | Methods and apparatus for creating an isolated partition for a virtual trusted platform module |
US8141092B2 (en) * | 2007-11-15 | 2012-03-20 | International Business Machines Corporation | Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition |
US8584229B2 (en) * | 2007-12-21 | 2013-11-12 | Intel Corporation | Methods and apparatus supporting access to physical and virtual trusted platform modules |
US8312461B2 (en) * | 2008-06-09 | 2012-11-13 | Oracle America, Inc. | System and method for discovering and protecting allocated resources in a shared virtualized I/O device |
US7904914B2 (en) * | 2008-09-30 | 2011-03-08 | Microsoft Corporation | On-the-fly replacement of physical hardware with emulation |
US8117346B2 (en) | 2008-10-03 | 2012-02-14 | Microsoft Corporation | Configuration space virtualization |
-
2008
- 2008-10-03 US US12/245,543 patent/US8117346B2/en active Active
-
2009
- 2009-09-30 JP JP2011530201A patent/JP5584220B2/ja active Active
- 2009-09-30 ES ES09818470T patent/ES2737855T3/es active Active
- 2009-09-30 WO PCT/US2009/059105 patent/WO2010039887A2/en active Application Filing
- 2009-09-30 EP EP09818470.8A patent/EP2335157B1/en active Active
- 2009-09-30 CN CN200980139828.2A patent/CN102171666B/zh active Active
-
2012
- 2012-02-08 US US13/368,770 patent/US8700816B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012504821A5 (ja) | ||
KR101973732B1 (ko) | 가상화 컴퓨팅 환경내 직접 메모리 액세스 요청들 라우팅 | |
TWI603195B (zh) | 頁表資料管理 | |
US20130185633A1 (en) | Low resolution placeholder content for document navigation | |
JP2015506041A5 (ja) | ||
JP2011530133A5 (ja) | ||
JP2016534486A5 (ja) | ||
US9875192B1 (en) | File system service for virtualized graphics processing units | |
CN105393228B (zh) | 读写闪存中数据的方法、装置及用户设备 | |
KR20190067171A (ko) | 진보한 dram 메모리 컨트롤러의 내부 캐시를 우회시키기 위한 방법 및 장치 | |
CN110187832B (zh) | 一种数据操作的方法、设备和系统 | |
CN114327777B (zh) | 确定全局页目录的方法、装置、电子设备及存储介质 | |
CN102096597A (zh) | 使用管理引擎的虚拟总线设备 | |
BR112015029108B1 (pt) | Controlador de memória, método e meio de armazenamento em computador para sistemas de armazenamento e memória tornada pseudônimo | |
JP2016501417A5 (ja) | ||
CN107480074A (zh) | 一种缓存方法、装置及电子设备 | |
JP2014531088A5 (ja) | ||
US9436395B2 (en) | Mechanisms to save user/kernel copy for cross device communications | |
CN103309819B (zh) | 嵌入式系统及其中的内存安全管理方法 | |
TW201003393A (en) | Data accessing method, and storage system and controller using the same | |
JP2005196793A5 (ja) | ||
JP2017510902A5 (ja) | ||
CN107451271A (zh) | 一种哈希表处理方法、装置、设备及存储介质 | |
JP6234639B2 (ja) | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム | |
KR20160039910A (ko) | Pci 장치, 이를 포함하는 인터페이스 시스템, 및 컴퓨팅 시스템 |