Use the already checked pointer mXenHvmloaderInfo to retrieve the E820 table produced by hvmloader.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689 Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> Acked-by: Laszlo Ersek <ler...@redhat.com> --- OvmfPkg/XenPlatformPei/Xen.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c index 9962fe9fc7..5c7d7ddc1c 100644 --- a/OvmfPkg/XenPlatformPei/Xen.c +++ b/OvmfPkg/XenPlatformPei/Xen.c @@ -53,18 +53,18 @@ XenGetE820Map ( UINT32 *Count ) { - EFI_XEN_OVMF_INFO *Info = - (EFI_XEN_OVMF_INFO *)(UINTN) OVMF_INFO_PHYSICAL_ADDRESS; + // + // Get E820 produced by hvmloader + // + if (mXenHvmloaderInfo != NULL) { + ASSERT (mXenHvmloaderInfo->E820 < MAX_ADDRESS); + *Entries = (EFI_E820_ENTRY64 *)(UINTN) mXenHvmloaderInfo->E820; + *Count = mXenHvmloaderInfo->E820EntriesCount; - if (AsciiStrCmp ((CHAR8 *) Info->Signature, "XenHVMOVMF")) { - return EFI_NOT_FOUND; + return EFI_SUCCESS; } - ASSERT (Info->E820 < MAX_ADDRESS); - *Entries = (EFI_E820_ENTRY64 *)(UINTN) Info->E820; - *Count = Info->E820EntriesCount; - - return EFI_SUCCESS; + return EFI_NOT_FOUND; } /** -- Anthony PERARD -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#45536): https://edk2.groups.io/g/devel/message/45536 Mute This Topic: https://groups.io/mt/32851680/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-