mirror of https://github.com/acidanthera/audk.git
OvmfPkg/VirtioGpuDxe: take EFI_PHYSICAL_ADDRESS in ResourceAttachBacking()
The RESOURCE_ATTACH_BACKING virtio GPU command assigns guest-side backing
pages to a host-side resource that was created earlier with the
RESOURCE_CREATE_2D command.
We compose the RESOURCE_ATTACH_BACKING command in the
VirtioGpuResourceAttachBacking() function. Currently this function takes
the parameter
IN VOID *FirstBackingPage
This is only appropriate as long as we pass a (guest-phys) system memory
address to the device. In preparation for a mapped bus master device
address, change the above parameter to
IN EFI_PHYSICAL_ADDRESS BackingStoreDeviceAddress
In order to keep the current call site functional, move the (VOID*) to
(UINTN) conversion out of the function, to the call site.
The "Request.Entry.Addr" field already has type UINT64.
This patch is similar to commit 4b725858de
("OvmfPkg/VirtioLib: change
the parameter of VirtioAppendDesc() to UINT64", 2017-08-23).
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>
This commit is contained in:
parent
067b648332
commit
5409c6abc8
|
@ -496,10 +496,10 @@ VirtioGpuResourceUnref (
|
|||
|
||||
EFI_STATUS
|
||||
VirtioGpuResourceAttachBacking (
|
||||
IN OUT VGPU_DEV *VgpuDev,
|
||||
IN UINT32 ResourceId,
|
||||
IN VOID *FirstBackingPage,
|
||||
IN UINTN NumberOfPages
|
||||
IN OUT VGPU_DEV *VgpuDev,
|
||||
IN UINT32 ResourceId,
|
||||
IN EFI_PHYSICAL_ADDRESS BackingStoreDeviceAddress,
|
||||
IN UINTN NumberOfPages
|
||||
)
|
||||
{
|
||||
volatile VIRTIO_GPU_RESOURCE_ATTACH_BACKING Request;
|
||||
|
@ -510,7 +510,7 @@ VirtioGpuResourceAttachBacking (
|
|||
|
||||
Request.ResourceId = ResourceId;
|
||||
Request.NrEntries = 1;
|
||||
Request.Entry.Addr = (UINTN)FirstBackingPage;
|
||||
Request.Entry.Addr = BackingStoreDeviceAddress;
|
||||
Request.Entry.Length = (UINT32)EFI_PAGES_TO_SIZE (NumberOfPages);
|
||||
Request.Entry.Padding = 0;
|
||||
|
||||
|
|
|
@ -313,10 +313,10 @@ GopSetMode (
|
|||
// Attach backing store to the host resource.
|
||||
//
|
||||
Status = VirtioGpuResourceAttachBacking (
|
||||
VgpuGop->ParentBus, // VgpuDev
|
||||
NewResourceId, // ResourceId
|
||||
NewBackingStore, // FirstBackingPage
|
||||
NewNumberOfPages // NumberOfPages
|
||||
VgpuGop->ParentBus, // VgpuDev
|
||||
NewResourceId, // ResourceId
|
||||
(UINTN)NewBackingStore, // BackingStoreDeviceAddress
|
||||
NewNumberOfPages // NumberOfPages
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto FreeBackingStore;
|
||||
|
|
|
@ -252,10 +252,10 @@ VirtioGpuResourceUnref (
|
|||
|
||||
EFI_STATUS
|
||||
VirtioGpuResourceAttachBacking (
|
||||
IN OUT VGPU_DEV *VgpuDev,
|
||||
IN UINT32 ResourceId,
|
||||
IN VOID *FirstBackingPage,
|
||||
IN UINTN NumberOfPages
|
||||
IN OUT VGPU_DEV *VgpuDev,
|
||||
IN UINT32 ResourceId,
|
||||
IN EFI_PHYSICAL_ADDRESS BackingStoreDeviceAddress,
|
||||
IN UINTN NumberOfPages
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
|
|
Loading…
Reference in New Issue