Difference between revisions of "Virtual I/O Internals"
Line 1: | Line 1: | ||
The following document will attempt to detail the internals of a '''Virtual Function IO (VFIO)''' driven '''Mediated Device (Mdev)'''. | The following document will attempt to detail the internals of a '''Virtual Function IO (VFIO)''' driven '''Mediated Device (Mdev)'''. | ||
{| class="wikitable" | |||
|+Comparison of Approaches | |||
!RPC Mode | |||
!SR-IOV Mode | |||
|- | |||
|Host requires insight about guest of workload. | |||
|Host ignorance of guest workload. | |||
|- | |||
|Error reporting. | |||
|No guest driver error reporting. | |||
|- | |||
|In depth dynamic monitoring. | |||
|Basic dynamic monitoring. | |||
|- | |||
|Software defined MMU guest separation. | |||
|Firmware defined MMU guest separation. | |||
|- | |||
|Requires deferred instructions to be supported by | |||
host software (support libraries). | |||
|Guest is ignorant of host supported software such | |||
as support libraries. | |||
|} | |||
Requirements: | |||
==RPC Mode== | |||
[[File:Mediated Device Access MMU.png|thumb|A slide describing Extended Page Table & MMU used in mediated device management.]] | |||
RPC Mode moves instruction information across a virtual function interface (VF) using [https://infogalactic.com/info/Remote_procedure_call Remote Procedure Calls] generally by way of [https://infogalactic.com/info/Interrupt soft interrupt] (IOCTLs). Guests are presented with emulated memory regions (indirect emulated communication requiring a VM-exit) or passthrough memory regions (direct communication requiring no VM-exit). | |||
'''RPC Mode Requirements:''' | |||
Sensitive Instruction List. | Sensitive Instruction List. | ||
Line 9: | Line 37: | ||
HPA<->GPA Boundary Enforcement. | HPA<->GPA Boundary Enforcement. | ||
[[File:Mediated Device Access.png|thumb|A slide from Neo Gia's presentation at KVM forum.]] | [[File:Mediated Device Access.png|thumb|A slide from Neo Gia's presentation at KVM forum.]] | ||
==SR-IOV Mode== | ==SR-IOV Mode== | ||
SR-IOV Mode involves the communication of instructions from a virtual function (VF) though direct communication to the [https://infogalactic.com/info/PCI_configuration_space PCI BAR]. | SR-IOV Mode involves the communication of instructions from a virtual function (VF) though direct communication to the [https://infogalactic.com/info/PCI_configuration_space PCI BAR]. | ||
'''RPC Mode Requirements:''' | |||
Device SR-IOV support. | |||
HPA<->GPA Boundary Enforcement. |
Revision as of 20:40, 21 April 2022
The following document will attempt to detail the internals of a Virtual Function IO (VFIO) driven Mediated Device (Mdev).
RPC Mode | SR-IOV Mode |
---|---|
Host requires insight about guest of workload. | Host ignorance of guest workload. |
Error reporting. | No guest driver error reporting. |
In depth dynamic monitoring. | Basic dynamic monitoring. |
Software defined MMU guest separation. | Firmware defined MMU guest separation. |
Requires deferred instructions to be supported by
host software (support libraries). |
Guest is ignorant of host supported software such
as support libraries. |
RPC Mode
RPC Mode moves instruction information across a virtual function interface (VF) using Remote Procedure Calls generally by way of soft interrupt (IOCTLs). Guests are presented with emulated memory regions (indirect emulated communication requiring a VM-exit) or passthrough memory regions (direct communication requiring no VM-exit).
RPC Mode Requirements:
Sensitive Instruction List.
Instruction Shim/Binary Translator.
HPA<->GPA Boundary Enforcement.
SR-IOV Mode
SR-IOV Mode involves the communication of instructions from a virtual function (VF) though direct communication to the PCI BAR.
RPC Mode Requirements:
Device SR-IOV support.
HPA<->GPA Boundary Enforcement.