audk/OvmfPkg/Include
Brijesh Singh 878115261a OvmfPkg: introduce IOMMU-like member functions to VIRTIO_DEVICE_PROTOCOL
The patch extends VIRTIO_DEVICE_PROTOCOL to provide the following new
member functions:

- AllocateSharedPages : allocate a memory region suitable for sharing
   between guest and hypervisor (e.g ring buffer).

- FreeSharedPages: free the memory allocated using AllocateSharedPages ().

- MapSharedBuffer: map a host address to device address suitable to share
   with device for bus master operations.

- UnmapSharedBuffer: unmap the device address obtained through the
   MapSharedBuffer().

We're free to extend the protocol structure without changing the protocol
GUID, or bumping any protocol version fields (of which we currently have
none), because VIRTIO_DEVICE_PROTOCOL is internal to edk2 by design --
see the disclaimers in "VirtioDevice.h".

The patch implements Laszlo's recommendation [1].

[1] http://mid.mail-archive.com/841bec5f-6f6e-8b1f-25ba-0fd37a915b72@redhat.com

Suggested-by: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
2017-08-25 10:42:18 +02:00
..
Guid OvmfPkg: introduce gRootBridgesConnectedEventGroupGuid 2016-03-23 17:38:09 +01:00
IndustryStandard OvmfPkg/IndustryStandard/Q35MchIch9.h: add extended TSEG size macros 2017-07-05 22:26:19 +02:00
Library OvmfPkg/BaseMemcryptSevLib: Add SEV helper library 2017-07-10 21:17:27 -07:00
Protocol OvmfPkg: introduce IOMMU-like member functions to VIRTIO_DEVICE_PROTOCOL 2017-08-25 10:42:18 +02:00
Register OvmfPkg: SmmCpuFeaturesLib: customize state save map format 2015-11-30 18:46:42 +00:00
OvmfPlatforms.h OvmfPkg: introduce ICH9_PMBASE_VALUE 2016-05-17 20:48:37 +02:00