]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: detect Xen earlier
authorWei Liu <wei.liu2@citrix.com>
Sun, 8 Dec 2013 01:36:00 +0000 (01:36 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 8 Dec 2013 01:36:00 +0000 (01:36 +0000)
This is useful for initializing memory map.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14943 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/PlatformPei/Platform.c
OvmfPkg/PlatformPei/Platform.h
OvmfPkg/PlatformPei/Xen.c

index fb56e999ef34ad92ecaba8b9bcf1d7e350cbb300..9b7828f8dccba4a26d8f211f92ec6e1856928a8a 100644 (file)
@@ -338,14 +338,20 @@ InitializePlatform (
   )\r
 {\r
   EFI_PHYSICAL_ADDRESS  TopOfMemory;\r
+  UINT32 XenLeaf;\r
 \r
   DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n"));\r
 \r
   DebugDumpCmos ();\r
 \r
+  XenLeaf = XenDetect ();\r
+\r
   TopOfMemory = MemDetect ();\r
 \r
-  InitializeXen ();\r
+  if (XenLeaf != 0) {\r
+    DEBUG ((EFI_D_INFO, "Xen was detected\n"));\r
+    InitializeXen (XenLeaf);\r
+  }\r
 \r
   ReserveEmuVariableNvStore ();\r
 \r
index 383e6a43646b0d1e79b81496f23ba35a184fb705..d63d124064af66870de525a93173e936309e461d 100644 (file)
@@ -69,6 +69,11 @@ PeiFvInitialization (
 \r
 EFI_STATUS\r
 InitializeXen (\r
+  UINT32 XenLeaf\r
+  );\r
+\r
+UINT32\r
+XenDetect (\r
   VOID\r
   );\r
 \r
index a720b91b99bb1ad7ea26c0cf276eecd6ab5979de..054cc4a16b449624c5cb98f5fb0813e2cf3d7749 100644 (file)
@@ -119,19 +119,9 @@ XenDetect (
 **/\r
 EFI_STATUS\r
 InitializeXen (\r
-  VOID\r
+  UINT32 XenLeaf\r
   )\r
 {\r
-  UINT32 XenLeaf;\r
-\r
-  XenLeaf = XenDetect ();\r
-\r
-  if (XenLeaf == 0) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-\r
-  DEBUG ((EFI_D_INFO, "Xen was detected\n"));\r
-\r
   XenConnect (XenLeaf);\r
 \r
   //\r