Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Laszlo Ersek 9399f68ae3 OvmfPkg: Virtio10Dxe: non-transitional driver for virtio-1.0 PCI devices
This driver implements the VIRTIO_DEVICE_PROTOCOL for non-transitional PCI
devices, based on the virtio-1.0 specification (csprd05). Non-transitional
means that it only binds QEMU's virtio-xxx-pci devices that receive the
",disable-legacy=on,disable-modern=off" properties on the QEMU command
line. These devices have distinct PCI Device IDs from those that are bound
by VirtioPciDeviceDxe.

The central abstraction of this driver is the VIRTIO_1_0_CONFIG type. It
is practically a "fat pointer" to a register block. The pointed-to
register block
- may or may not exist (the latter being mostly useful for virtio-1.0
  devices that have no device-specific registers),
- lives in one of the device's BARs,
- lives in an IO or MMIO BAR,
- lives at an offset relative to the BAR start,
- has its size also maintained.

Such VIRTIO_1_0_CONFIG "fat pointers" (i.e., the locations of the register
blocks) are parsed from vendor capabilities that reside in the device's
standard PCI capabilities list (in PCI config space).

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2016-04-06 19:21:51 +02:00
AppPkg AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
ArmPkg ArmPkg/ArmArchTimerLib: correct typos 2016-04-01 17:19:24 +02:00
ArmPlatformPkg ArmPlatformPkg: Add PCD for Pl011 UART Interrupt 2016-04-01 16:45:54 +02:00
ArmVirtPkg ArmVirtPkg: disable PcdHiiOsRuntimeSupport 2016-04-01 16:34:00 +02:00
BaseTools BaseTools: cache the defined Guid tool to improve the performance 2016-04-06 13:40:14 +08:00
BeagleBoardPkg BeagleBoardPkg: move to ARM version of CpuExceptionHandlerLib 2016-03-17 09:15:06 +01:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg-CbParseLib: Fix bad reference in CbParseLib 2016-02-26 10:02:41 -08:00
CorebootPayloadPkg CorebootPayloadPkg: PlatformBdsLib: remove set but unused variables 2016-03-25 10:52:06 +01:00
CryptoPkg CryptoPkg: Fix the potential system hang issue 2016-03-15 09:04:20 +08:00
DuetPkg DuetPkg-PciBusNoEnumerationDxe: Fix stack overflow 2016-02-26 10:39:15 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: SmmBaseHelper: remove set but unused variables 2016-03-25 10:52:13 +01:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg/AcpiLib: fix SBSA Generic Watchdog helper definition 2016-04-01 17:04:12 +02:00
EmulatorPkg EmulatorPkg: CpuRuntimeDxe: remove set but unused variables 2016-03-25 10:52:15 +01:00
FatBinPkg FatBinPkg: Update EBC/IA32/X64/IPF binaries 2015-08-28 03:14:25 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg/Bds: Correct the total RAM calculation 2016-04-05 11:18:04 +08:00
IntelFrameworkPkg IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal 2016-03-23 12:05:45 +01:00
IntelFspPkg IntelFspPkg: Add NOOPT target in IntelFspPkg.dsc 2016-01-21 02:14:43 +00:00
IntelFspWrapperPkg IntelFspWrapperPkg: PeiFspHobProcessLibSample: remove set but unused variables 2016-03-25 10:52:21 +01:00
MdeModulePkg MdeModulePkg/Bds: Fix a boot hang due to Ram Disk boot support 2016-04-06 14:49:25 +08:00
MdePkg MdePkg Cper.h: Add missing structure for 'Processor Error Record' 2016-04-06 11:14:24 +08:00
NetworkPkg NetworkPkg: Check received packet size before use it. 2016-04-01 13:30:23 +08:00
Nt32Pkg Nt32Pkg: Switch the DebugLibReportStatusCode to MdeModulePkg 2016-03-21 11:16:43 +08:00
Omap35xxPkg Omap35xxPkg: drop CpuExceptionHandlerLib library class resolution 2016-03-17 09:15:11 +01:00
OptionRomPkg OptionRomPkg: Ax88772b: Fixing register access issue in Apple Eth Adapter 2016-03-31 08:53:51 +08:00
OvmfPkg OvmfPkg: Virtio10Dxe: non-transitional driver for virtio-1.0 PCI devices 2016-04-06 19:21:51 +02:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridge: Remove PciHostBridge driver 2016-03-29 11:22:07 +08:00
PerformancePkg PerformancePkg/Dp_App: Fix a memory leak issue in Dp. 2016-03-29 09:16:24 +08:00
QuarkPlatformPkg QuarkPlatformPkg/Readme.md: Move images to tianocore wiki 2016-01-31 19:22:57 +00:00
QuarkSocPkg QuarkSocPkg: Ohci/Pei: remove set but unused variables 2016-03-25 10:52:50 +01:00
SecurityPkg SecurityPkg OpalPasswordSupportLib: Add comments for the used protocol in inf file. 2016-04-06 13:03:17 +08:00
ShellBinPkg ShellBinPkg: Arm/AArch64 Shell binary update. 2016-02-09 16:34:14 +00:00
ShellPkg ShellPkg: Refine the comparisons code in ShellPkg. 2016-03-29 21:46:35 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg/SmmDebugAgent: mMailboxPointer is used before set 2016-04-06 09:13:18 +08:00
StdLib StdLib/BsdSocketLib: Fix minor memory leak by freeing rrecp on error return. 2016-02-17 16:11:29 -08:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg/Cpuid.h: Display Intel SGX Resource Enumeration Leaves 2016-03-30 08:29:56 +08:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2TbltDevicePkg/Vlv2DeviceRefCodePkg: 2015-11-10 07:47:29 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Add FileExplorerLib.inf to the dsc file 2016-02-26 16:52:50 +08:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Update maintainers for ShellBinPkg 2016-02-10 14:45:52 +00:00
edksetup.bat BaseTools: Add VS2015 tool chain in tools_def.template 2015-12-03 03:19:01 +00:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00