]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820
authorAnthony PERARD <anthony.perard@citrix.com>
Tue, 13 Aug 2019 11:30:55 +0000 (12:30 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 21 Aug 2019 16:03:49 +0000 (18:03 +0200)
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.perard@citrix.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20190813113119.14804-12-anthony.perard@citrix.com>

OvmfPkg/XenPlatformPei/Xen.c

index 9962fe9fc796ba819e980b6b2c03fa6760f9b42f..5c7d7ddc1c4444334e44673e9db002b75cbebf24 100644 (file)
@@ -53,18 +53,18 @@ XenGetE820Map (
   UINT32 *Count\r
   )\r
 {\r
-  EFI_XEN_OVMF_INFO *Info =\r
-    (EFI_XEN_OVMF_INFO *)(UINTN) OVMF_INFO_PHYSICAL_ADDRESS;\r
+  //\r
+  // Get E820 produced by hvmloader\r
+  //\r
+  if (mXenHvmloaderInfo != NULL) {\r
+    ASSERT (mXenHvmloaderInfo->E820 < MAX_ADDRESS);\r
+    *Entries = (EFI_E820_ENTRY64 *)(UINTN) mXenHvmloaderInfo->E820;\r
+    *Count = mXenHvmloaderInfo->E820EntriesCount;\r
 \r
-  if (AsciiStrCmp ((CHAR8 *) Info->Signature, "XenHVMOVMF")) {\r
-    return EFI_NOT_FOUND;\r
+    return EFI_SUCCESS;\r
   }\r
 \r
-  ASSERT (Info->E820 < MAX_ADDRESS);\r
-  *Entries = (EFI_E820_ENTRY64 *)(UINTN) Info->E820;\r
-  *Count = Info->E820EntriesCount;\r
-\r
-  return EFI_SUCCESS;\r
+  return EFI_NOT_FOUND;\r
 }\r
 \r
 /**\r