From: Anthony PERARD Date: Tue, 13 Aug 2019 11:30:55 +0000 (+0100) Subject: OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820 X-Git-Tag: edk2-stable201908~31 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=594b5002a63113ff867782378e20df343f77ebc0 OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820 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 Acked-by: Laszlo Ersek Message-Id: <20190813113119.14804-12-anthony.perard@citrix.com> --- 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; } /**