On 07/04/19 16:42, Anthony PERARD wrote: > If the firmware have been started via the Xen PVH entry point, a RSDP > pointer would have been provided. Use it. > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689 > Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> > --- > > Notes: > v3: > - patch splited from the previous one > - Fix DEBUG format string, use %p for pointers. > and use gEfiCallerBaseName to print module name > > OvmfPkg/AcpiPlatformDxe/Xen.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/OvmfPkg/AcpiPlatformDxe/Xen.c b/OvmfPkg/AcpiPlatformDxe/Xen.c > index 82794b933e..376a6bd3cb 100644 > --- a/OvmfPkg/AcpiPlatformDxe/Xen.c > +++ b/OvmfPkg/AcpiPlatformDxe/Xen.c > @@ -36,10 +36,27 @@ GetXenAcpiRsdp ( > EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *RsdpStructurePtr; > UINT8 *XenAcpiPtr; > UINT8 Sum; > + EFI_XEN_INFO *XenInfo; > > // > // Detect the RSDP structure > // > + > + // > + // First look for PVH one > + // > + XenInfo = XenGetInfoHOB (); > + ASSERT (XenInfo != NULL); > + if (XenInfo->RsdpPvh != NULL) { > + DEBUG ((DEBUG_INFO, "%a: Use ACPI RSDP table at 0x%p\n", > + gEfiCallerBaseName, XenInfo->RsdpPvh));
(1) Please fix the indentation here; "gEfiCallerBaseName" should start under the "B" in "DEBUG". With that updated: Reviewed-by: Laszlo Ersek <ler...@redhat.com> Thanks Laszlo > + *RsdpPtr = XenInfo->RsdpPvh; > + return EFI_SUCCESS; > + } > + > + // > + // Otherwise, look for the HVM one > + // > for (XenAcpiPtr = (UINT8*)(UINTN) XEN_ACPI_PHYSICAL_ADDRESS; > XenAcpiPtr < (UINT8*)(UINTN) XEN_BIOS_PHYSICAL_END; > XenAcpiPtr += 0x10) { > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43404): https://edk2.groups.io/g/devel/message/43404 Mute This Topic: https://groups.io/mt/32308713/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-