summaryrefslogtreecommitdiff
path: root/BaseTools/Source/Python/Ecc/Configuration.py
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2017-08-26 17:00:30 +0300
committerLaszlo Ersek <lersek@redhat.com>2017-09-01 15:27:28 +0300
commit9bc5026c19a5b698d49c5228c70a32ea4675591a (patch)
treeff26b5f3ea2f406f810d9a0a9e3ba5c408501528 /BaseTools/Source/Python/Ecc/Configuration.py
parent1afbb85f8736b63bc32f5827c3cb7b2e583114eb (diff)
downloadedk2-9bc5026c19a5b698d49c5228c70a32ea4675591a.tar.xz
OvmfPkg/VirtioGpuDxe: map VRING for bus master common buffer operation
VirtioGpuDxe uses one virtio ring, for VIRTIO_GPU_CONTROL_QUEUE. Map it for bus master common buffer operation with VirtioRingMap(), so that it can be accessed equally by both guest and hypervisor even if an IOMMU is used. (VirtioRingInit() already allocates the ring suitably for this, see commit b0338c53297c, "OvmfPkg/VirtioLib: alloc VRING buffer with AllocateSharedPages()", 2017-08-23). Pass the resultant translation offset ("RingBaseShift"), from system memory address to bus master device address, to VIRTIO_SET_QUEUE_ADDRESS. Unmap the ring in all contexts where the ring becomes unused (these contexts are mutually exclusive): - in VirtioGpuInit(): the ring has been mapped, but we cannot complete the virtio initialization for another reason, - in VirtioGpuUninit(): the virtio initialization has succeeded, but VirtioGpuDriverBindingStart() fails for another reason, or VirtioGpuDriverBindingStop() unbinds the device after use, - in VirtioGpuExitBoot(): ExitBootServices() is called after VirtioGpuDriverBindingStart() has successfully bound the device. (Unmapping the ring does not change the UEFI memory map.) Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Brijesh Singh <brijesh.singh@amd.com>
Diffstat (limited to 'BaseTools/Source/Python/Ecc/Configuration.py')
0 files changed, 0 insertions, 0 deletions