JP2012504821A5 - - Google Patents

Download PDF

Info

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
Application number
JP2011530201A
Other languages
English (en)
Other versions
JP5584220B2 (ja
JP2012504821A (ja
Filing date
Publication date
Priority claimed from US12/245,543 external-priority patent/US8117346B2/en
Application filed filed Critical
Publication of JP2012504821A publication Critical patent/JP2012504821A/ja
Publication of JP2012504821A5 publication Critical patent/JP2012504821A5/ja
Application granted granted Critical
Publication of JP5584220B2 publication Critical patent/JP5584220B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. 仮想マシン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デバイスにおいて実行することができるアクションを示す前記記述にしたがって、前記動作を許可し、拒否しまたは変換するステップと、
    含む、方法。
  2. 請求項1記載の方法において、コンフィギュレーション空間の表現を作る前記ステップが、更に、前記コンフィギュレーション空間の表現内にある各ビットを少なくとも1つの読み出しおよび書き込み動作と関連付けるステップ含む、方法。
  3. 請求項2記載の方法において、前記読み取りおよび書き込み動作が、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、最初の書き込みの後1にセットする、を含む、方法。
  4. 請求項1から3のいずれかに記載の方法において、前記コンフィギュレーション空間の表現から除外された任意のメモリーについて、または前記メモリー・マップドI/O空間の表現から除外された任意のメモリーについて、前記I/Oデバイスを表すデーターを前記任意のメモリーに収容する方法。
  5. 請求項記載の方法であって、更に、
    前記除外されたメモリーのページ内においてビットを定めるステップ
    を含み、前記許可し、拒否しまたは変換するステップは、前記定められたビットをもつページを用いることを含む、方法。
  6. 請求項1から5のいずれかに記載の方法であって前記記述が、前記I/Oデバイスの販売業者によって提供されるファイルにおいて受け取られ、コンフィギュレーション空間の表現を作る前記ステップ、およびメモリー・マップドI/O空間の表現を作る前記ステップが、更に、前記記述にしたがって前記表現を作るステップを含む、方法。
  7. 請求項6記載の方法であって、更に、
    I/O空間の表現を作るステップ
    前記受け取った情報に基づいて、前記I/O空間の表現を収容するステップ
    前記I/O空間の表現にしたがって前記I/Oデバイスへのアクセスを制御するステップ
    を含む、方法。
  8. 請求項6または7に記載の方法であって、更に、前記コンフィギュレーション空間の前記表現および前記メモリー・マップドI/O空間の前記表現双方を、前記受け取った記述に基づいて収容するステップ含む、方法。
  9. 請求項1から8のいずれかに記載の方法であって、更に、前記仮想マシンからI/O空間を除外するステップ含む、方法。
  10. 仮想マシンデバイスの間における通信を管理するためのシステムであって、
    少なくとも1つのプロセッサーと、
    前記少なくとも1つのプロセッサーに対し通信できるように結合された少なくとも1つのメモリーであって、該メモリーが、コンピューター実行可能命令を格納し、該コンピューター実行可能命令が、前記プロセッサーで実行されると前記プロセッサーに、
    前記デバイスの記述を受、前記記述が、前記デバイスにおけるどの動作がシステム規模の効果を有するか、およびどの動作が前記デバイスに対してローカルな効果を有するかに関する情報を含み、
    前記記述に基づいて、前記デバイスのコンフィギュレーション空間の表現を作成し、前記システムが、前記コンフィギュレーション空間内のメモリー位置に対し実行することができる動作を制限するため、前記表現を使用するように構成され
    前記記述に基づいてメモリー・マップドI/O空間の表現を作り、前記表現が、
    前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のページを判定することによって構成される第1レベルのメモリー・マップドI/O空間と、
    静止値として前記仮想マシンにマッピングされる前記メモリー・マップドI/O空間のビットを判定することによって構成される第2レベルのメモリー・マップドI/O空間と、
    を含み、
    前記コンフィギュレーション空間の前記表現および前記メモリー・マップドI/O空間の前記表現にしたがって、前記コンフィギュレーション空間の前記表現内の位置または前記メモリー・マップドI/O空間の前記表現内の位置に対する動作を非特権仮想マシンが試行しようとしていることを判定し、
    前記動作を解釈し、
    前記記述にしたがって、前記動作を許可し、拒否しまたは変換すること、
    を含む動作を実行させる少なくとも1つのメモリーと、
    を含むシステム。
  11. 請求項10記載のシステムにおいて、前記コンフィギュレーション空間の前記表現内にある各ビットが、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、または最初の書き込みの後1にセットするというプロパティ内少なくとも1つを含む、システム。
  12. バイスへのアクセスを制御するコンピューター実行可能命令を格納したコンピューター読み取り可能記憶媒体あって、前記デバイスが、仮想マシンをホストする物理マシンに対し通信できるように結合され、
    前記デバイスのインストール・ファイルを受け取る命令であって、前記インストール・ファイルが、前記デバイスにおけるどの動作がシステム規模の効果を有するか、およびどの動作が前記デバイスに対してローカルな効果を有するかに関する情報を含む、命令
    前記記述に基づいて、前記デバイスのコンフィギュレーション空間、メモリー・マップド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つのマップを用いる命令と、
    を含む、コンピューター読み取り可能記憶媒体。
  13. 請求項12記載のコンピューター読み取り可能記憶媒体において、前記少なくとも1つのマップと関連のある各ページまたは各ビットが、読み取りのみ、常に0を読み取る、常に1を読み取る、読み取り−書き込み、1の書き込みをクリアし、0の書き込みのみを残す、1の書き込みをセットし、0の書き込みのみを残す、0の書き込みをクリアし、1の書き込みのみを残す、0の書き込みをセットし、1の書き込みのみを残す、最初の読み取りの後0にクリアする、最初の書き込みの後1にセットするという属性内1つを含む、コンピューター読み取り可能記憶媒体。
  14. 請求項12または13に記載のコンピューター読み取り可能記憶媒体において、前記コンフィギュレーション空間の前記表現から除外された任意のメモリーについて、または前記メモリー・マップドI/O空間の前記表現から除外された任意のメモリーについて、所定のデーターを前記任意のメモリーに収容する、コンピューター読み取り可能記憶媒体。
  15. 請求項14記載のコンピューター読み取り可能記憶媒体であって、更に、
    前記除外されたメモリーのページ内においてビットを定める命令
    を含み、前記許可し、拒否しまたは変換することは、前記定められたビットをもつページを用いることを含む、コンピューター読み取り可能記憶媒体。
JP2011530201A 2008-10-03 2009-09-30 コンフィギュレーション空間仮想化 Active JP5584220B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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 장치, 이를 포함하는 인터페이스 시스템, 및 컴퓨팅 시스템