From 594b5002a63113ff867782378e20df343f77ebc0 Mon Sep 17 00:00:00 2001 From: Anthony PERARD Date: Tue, 13 Aug 2019 12:30:55 +0100 Subject: 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> --- OvmfPkg/XenPlatformPei/Xen.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'OvmfPkg/XenPlatformPei/Xen.c') 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; } /** -- cgit v1.2.3