RU2015134102A - Общий способ построения виртуального pci-устройства и виртуального mmio-устройства - Google Patents
Общий способ построения виртуального pci-устройства и виртуального mmio-устройства Download PDFInfo
- Publication number
- RU2015134102A RU2015134102A RU2015134102A RU2015134102A RU2015134102A RU 2015134102 A RU2015134102 A RU 2015134102A RU 2015134102 A RU2015134102 A RU 2015134102A RU 2015134102 A RU2015134102 A RU 2015134102A RU 2015134102 A RU2015134102 A RU 2015134102A
- Authority
- RU
- Russia
- Prior art keywords
- virtual
- pci
- compatible
- address
- determining
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Claims (60)
1. Устройство для построения виртуального устройства, содержащее
память; и
устройство обработки, коммуникативно связанное с этой памятью, причем устройство обработки выполнено с возможностью:
приема запроса межсоединения периферийных компонентов (PCI) для устройства, совместимого с PCI;
построения виртуального устройства на основе этого устройства, совместимого с PCI, при этом виртуальное устройство построено, по меньшей мере, как одно из виртуального PCI-устройства или виртуального устройства ввода/вывода (I/O).
2. Устройство по п. 1, в котором устройство, совместимое с PCI, связано с драйвером программного обеспечения, в котором драйвер программного обеспечения представляет совместимый с PCI запрос доступа в виртуальное устройство, и в котором виртуальное устройство представляет этот совместимый с PCI запрос доступа в функциональный блок, и в котором функциональный блок связывается с устройством, совместимым с PCI, на основе этого совместимого с PCI запроса доступа.
3. Устройство по п. 1, в котором операционная система должна быть загружена из устройства, совместимого с PCI, с использованием виртуального устройства.
4. Устройство по п. 1, в котором для построения виртуального устройства на основе устройства, совместимого с PCI, устройство обработки должно:
после определения того, что устройство, совместимое с PCI, связано с функциональным блоком, который не является совместимым с PCI, построить виртуальное устройство как виртуальное PCI-устройство; и
после определения того, что устройство, совместимое с PCI, связано с операционной системой, подлежащей загрузке с этого устройства, совместимого с PCI, построить виртуальное устройство как виртуальное I/O-устройство.
5. Устройство по п. 4, в котором построение виртуального устройства как виртуального PCI-устройства содержит
определение идентификатора поставщика для виртуального устройства;
определение информации об устройстве для виртуального устройства; и
определение информации об адресах для виртуального устройства.
6. Устройство по п. 5, в котором устройство обработки дополнительно выполнено с возможностью в качестве реакции на запрос для устройства, совместимого с PCI, послать идентификатор поставщика для виртуального устройства, информацию об устройстве для виртуального устройства и информацию об адресах для этого устройства.
7. Устройство по п. 4, в котором построение виртуального устройства как виртуального I/О-устройства содержит игнорирование запроса PCI-нумерации для устройства, совместимого с PCI; и определение диапазона I/О-адресов для виртуального устройства.
8. Устройство по п. 1, в котором устройство обработки дополнительно выполнено с возможностью получить доступ к памяти для I/О-адреса; определить, связан ли этот I/О-адрес с виртуальным устройством, когда виртуальное устройство построено как виртуальное I/О-устройство; и
после определения того, что этот I/О-адрес связан с виртуальным устройством, когда виртуальное устройство построено как виртуальное I/О-устройство, определить PCI-адрес, связанный с PCI-устройством, соответствующий этому I/O-адресу.
9. Устройство по п. 1, в котором виртуальное I/О-устройство является виртуальным устройством ввода/вывода с отображением на оперативное запоминающее устройство (MMIO).
10. Способ построения виртуального устройства, способ содержащий
прием, посредством устройства обработки, запроса межсоединения периферийных компонентов (PCI) для устройства, совместимого с PCI; и
построение, посредством этого устройства обработки, виртуального устройства на основе этого устройства, совместимого с PCI, в котором виртуальное устройство строится, по меньшей мере как одно из виртуального PCI-устройства или виртуального устройства ввода/вывода (I/O).
11. Способ по п. 10, в котором устройство, совместимое с PCI, связано с драйвером программного обеспечения, в котором драйвер программного обеспечения должен передать совместимый с PCI запрос доступа в виртуальное устройство, в котором это виртуальное устройство представляет совместимый с PCI запрос доступа для функционального блока, и где функциональный блок связывается с устройством, совместимым с PCI, на основе этого совместимого с PCI запроса доступа.
12. Способ по п. 10, в котором операционная система должна загружаться из устройства, совместимого с PCI, с использованием виртуального устройства.
13. Способ по п. 10, в котором построение виртуального устройства на основе устройства, совместимого с PCI, предусматривает
после определения, что устройство, совместимое с PCI, связано с функциональным блоком, который не является совместимым с PCI, построение виртуального устройства как виртуального PCI-устройства; и
после определения, что устройство, совместимое с PCI, связано с операционной системой, подлежащей загрузке из этого устройства, совместимого с PCI, построение виртуального устройства как виртуального I/O-устройства.
14. Способ по п. 13, в котором построение виртуального устройства как виртуального PCI-устройства содержит
определение идентификатора поставщика для виртуального устройства;
определение информации об устройстве для виртуального устройства; и
определение информации об адресах для виртуального устройства.
15. Способ по п. 14, дополнительно содержащий
в качестве реакции на запрос для устройства, совместимого с PCI, посылку идентификатора поставщика для виртуального устройства, информации об устройстве для виртуального устройства и информации об адресах для этого устройства.
16. Способ по п. 13, в котором построение виртуального устройства как виртуального I/O-устройства содержит
игнорирование запроса PCI-нумерации для устройства, совместимого с PCI; и
определение диапазона I/О-адресов для виртуального устройства.
17. Способ по п. 10, дополнительно содержащий
получение доступа к памяти для I/O-адреса;
определение, связан ли этот I/O-адрес с виртуальным устройством, когда виртуальное устройство строится как виртуальное I/O-устройство; и
после определения, что этот I/O-адрес связан с виртуальным устройством, когда виртуальное устройство строится как виртуальное I/O-устройство, определение PCI-адреса, связанного с PCI-устройством, соответствующего этому I/O-адресу.
18. Способ по п. 10, в котором запрос является запросом PCI-нумерации для устройства, совместимого с PCI.
19. Постоянный машинодоступный носитель данных, содержащий инструкции, которые при их выполнении компьютерной системой побуждают компьютерную систему к выполнению следующих операций:
прием запроса межсоединения периферийных компонентов (PCI) для устройства, совместимого с PCI; и
построение виртуального устройства на основе этого устройства, совместимого с PCI, в котором виртуальное устройство строится, по меньшей мере как одно из виртуального PCI-устройства или виртуального устройства ввода/вывода (I/O).
20. Постоянный машинодоступный носитель данных по п. 19, в котором устройство, совместимое с PCI, связано с драйвером программного обеспечения, в котором драйвер программного обеспечения должен передать совместимый с PCI запрос доступа в виртуальное устройство, в котором это виртуальное устройство представляет совместимый с PCI запрос доступа для функционального блока, и где функциональный блок связывается с устройством, совместимым с PCI, на основе этого совместимого с PCI запроса доступа.
21. Постоянный машинодоступный носитель данных по п. 19, в котором операционная система должна загружаться из устройства, совместимого с PCI, с использованием виртуального устройства.
22. Постоянный машинодоступный носитель данных по п. 19, в котором построение виртуального устройства на основе устройства, совместимого с PCI, предусматривает:
после определения, что устройство, совместимое с PCI, связано с функциональным блоком, который не является совместимым с PCI, построение виртуального устройства как виртуального PCI-устройства; и
после определения, что устройство, совместимое с PCI, связано с операционной системой, подлежащей загрузке из этого устройства, совместимого с PCI, построение виртуального устройства как виртуального I/O-устройства.
23. Постоянный машинодоступный носитель данных по п. 22, в котором построение виртуального устройства как виртуального PCI-устройства содержит
определение идентификатора поставщика для виртуального устройства;
определение информации об устройстве для виртуального устройства; и
определение информации об адресах для виртуального устройства.
24. Постоянный машинодоступный носитель данных по п. 22, в котором построение виртуального устройства как виртуального I/O-устройства содержит
игнорирование запроса PCI-нумерации для устройства, совместимого с PCI; и
определение диапазона I/O-адресов для виртуального устройства.
25. Постоянный машинодоступный носитель данных по п. 19, в котором операции дополнительно содержат
получение доступа к памяти для I/O-адреса;
определение, связан ли этот I/O-адрес с виртуальным устройством, когда виртуальное устройство строится как виртуальное I/O-устройство; и
после определения, что этот I/O-адрес связан с виртуальным устройством, когда виртуальное устройство строится как виртуальное I/O-устройство, определение PCI-адреса, связанного с PCI-устройством, соответствующего этому I/O-адресу.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/072583 WO2014139115A1 (en) | 2013-03-14 | 2013-03-14 | Generic method to build virtual pci device and virtual mmio device |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015134102A true RU2015134102A (ru) | 2017-02-16 |
RU2611018C2 RU2611018C2 (ru) | 2017-02-17 |
Family
ID=51535808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015134102A RU2611018C2 (ru) | 2013-03-14 | 2013-03-14 | Общий способ построения виртуального pci-устройства и виртуального mmio-устройства |
Country Status (7)
Country | Link |
---|---|
US (1) | US20150026379A1 (ru) |
EP (1) | EP2972922A1 (ru) |
KR (1) | KR101698707B1 (ru) |
CN (1) | CN104995613B (ru) |
RU (1) | RU2611018C2 (ru) |
TW (1) | TWI528290B (ru) |
WO (1) | WO2014139115A1 (ru) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983893B2 (en) | 2013-10-01 | 2018-05-29 | Red Hat Israel, Ltd. | Handling memory-mapped input-output (MMIO) based instructions using fast access addresses |
US9454394B2 (en) * | 2013-11-22 | 2016-09-27 | Red Hat Israel, Ltd. | Hypervisor dynamically assigned input/output resources for virtual devices |
US9916173B2 (en) * | 2013-11-25 | 2018-03-13 | Red Hat Israel, Ltd. | Facilitating execution of MMIO based instructions |
CN106648878B (zh) * | 2015-10-29 | 2021-08-20 | 华为技术有限公司 | 一种系统及其动态分配mmio资源的方法 |
US9846610B2 (en) | 2016-02-08 | 2017-12-19 | Red Hat Israel, Ltd. | Page fault-based fast memory-mapped I/O for virtual machines |
US10055160B2 (en) | 2016-04-11 | 2018-08-21 | Dell Products L.P. | Systems and methods for BIOS emulation of PCIe device |
KR102331926B1 (ko) | 2017-11-17 | 2021-11-29 | 삼성전자주식회사 | 저장 장치를 포함하는 호스트 시스템의 동작 방법 및 저장 장치 제어기의 동작 방법 |
CN112988272A (zh) * | 2021-03-22 | 2021-06-18 | 成都申威科技有限责任公司 | 一种在uboot中支持多路pcie rc的方法、装置及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664124A (en) * | 1994-11-30 | 1997-09-02 | International Business Machines Corporation | Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols |
US6823418B2 (en) * | 2001-06-29 | 2004-11-23 | Intel Corporation | Virtual PCI device apparatus and method |
US7546599B2 (en) * | 2004-12-20 | 2009-06-09 | Intel Corporation | Method, apparatus and system for instructing a virtual device from a virtual machine |
CN101676894B (zh) * | 2008-08-15 | 2011-08-17 | 北京北大众志微系统科技有限责任公司 | 面向集中地址译码的非pci片上总线的pci虚拟化装置及方法 |
US20110106522A1 (en) * | 2009-11-05 | 2011-05-05 | Chinya Gautham N | virtual platform for prototyping system-on-chip designs |
US8996734B2 (en) * | 2010-08-19 | 2015-03-31 | Ineda Systems Pvt. Ltd | I/O virtualization and switching system |
US8769175B2 (en) * | 2011-03-09 | 2014-07-01 | International Business Machines Corporation | Adjustment of post and non-post packet transmissions in a communication interconnect |
KR20120132820A (ko) * | 2011-05-30 | 2012-12-10 | 삼성전자주식회사 | 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법 |
US20130346584A1 (en) * | 2011-06-02 | 2013-12-26 | Hitachi, Ltd. | Control method for virtual computer, and virtual computer system |
US9411654B2 (en) * | 2011-12-16 | 2016-08-09 | International Business Machines Corporation | Managing configuration and operation of an adapter as a virtual peripheral component interconnect root to expansion read-only memory emulation |
US9760661B2 (en) * | 2012-04-26 | 2017-09-12 | Hewlett-Packard Development Company, L.P. | Providing virtual optical disk drive |
-
2013
- 2013-03-14 WO PCT/CN2013/072583 patent/WO2014139115A1/en active Application Filing
- 2013-03-14 RU RU2015134102A patent/RU2611018C2/ru not_active IP Right Cessation
- 2013-03-14 US US14/126,865 patent/US20150026379A1/en not_active Abandoned
- 2013-03-14 EP EP13877857.6A patent/EP2972922A1/en not_active Withdrawn
- 2013-03-14 CN CN201380073082.6A patent/CN104995613B/zh active Active
- 2013-03-14 KR KR1020157020690A patent/KR101698707B1/ko active IP Right Grant
-
2014
- 2014-03-07 TW TW103107874A patent/TWI528290B/zh active
Also Published As
Publication number | Publication date |
---|---|
EP2972922A1 (en) | 2016-01-20 |
CN104995613B (zh) | 2018-02-16 |
RU2611018C2 (ru) | 2017-02-17 |
KR20150103373A (ko) | 2015-09-10 |
TW201502992A (zh) | 2015-01-16 |
US20150026379A1 (en) | 2015-01-22 |
KR101698707B1 (ko) | 2017-01-20 |
TWI528290B (zh) | 2016-04-01 |
CN104995613A (zh) | 2015-10-21 |
WO2014139115A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2015134102A (ru) | Общий способ построения виртуального pci-устройства и виртуального mmio-устройства | |
CN106155933B (zh) | 一种基于KSM及Pass-through相结合的虚拟机内存共享方法 | |
JP5706036B2 (ja) | 複合仮想グラフィクスデバイス | |
WO2016066073A1 (zh) | 支持sr-iov的存储资源访问方法、存储控制器及存储设备 | |
US9413765B2 (en) | Multinode hubs for trusted computing | |
JP2018514028A5 (ru) | ||
JP2016507849A5 (ru) | ||
BR112017022547A2 (pt) | método para acessar memória estendida, dispositivo e sistema | |
BRPI0600347A (pt) | métodos e sistema para virtualização de endereços fìsicos de convidado em ambiente de máquina virtual | |
WO2016033039A3 (en) | Routing direct memory access requests in a virtualized computing environment | |
JP2015526829A5 (ru) | ||
JP2011526390A5 (ru) | ||
JP2016525255A5 (ru) | ||
JP2016535373A5 (ru) | ||
JP2015534691A5 (ru) | ||
EP2669807A3 (en) | Processor resource and execution protection methods and apparatus | |
RU2014118856A (ru) | Определение длины группы символьных данных, содержащей символ окончания | |
JP2016517992A5 (ru) | ||
JP2018538630A5 (ru) | ||
US9436751B1 (en) | System and method for live migration of guest | |
GB2520856A (en) | Enabling Virtualization of a processor resource | |
WO2008005825A3 (en) | Methods, systems, and computer program products for providing access to addressable entities using a non-sequential virtual address space | |
US9424155B1 (en) | Use efficiency of platform memory resources through firmware managed I/O translation table paging | |
JP2016513835A5 (ru) | ||
WO2016118031A3 (en) | Computer security systems and methods using hardware-accelerated access to guest memory from below the operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180315 |