Revision: 14943
          http://sourceforge.net/p/edk2/code/14943
Author:   jljusten
Date:     2013-12-08 01:36:00 +0000 (Sun, 08 Dec 2013)
Log Message:
-----------
OvmfPkg: detect Xen earlier

This is useful for initializing memory map.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wei Liu <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>

Modified Paths:
--------------
    trunk/edk2/OvmfPkg/PlatformPei/Platform.c
    trunk/edk2/OvmfPkg/PlatformPei/Platform.h
    trunk/edk2/OvmfPkg/PlatformPei/Xen.c

Modified: trunk/edk2/OvmfPkg/PlatformPei/Platform.c
===================================================================
--- trunk/edk2/OvmfPkg/PlatformPei/Platform.c   2013-12-08 01:35:52 UTC (rev 
14942)
+++ trunk/edk2/OvmfPkg/PlatformPei/Platform.c   2013-12-08 01:36:00 UTC (rev 
14943)
@@ -338,14 +338,20 @@
   )
 {
   EFI_PHYSICAL_ADDRESS  TopOfMemory;
+  UINT32 XenLeaf;
 
   DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n"));
 
   DebugDumpCmos ();
 
+  XenLeaf = XenDetect ();
+
   TopOfMemory = MemDetect ();
 
-  InitializeXen ();
+  if (XenLeaf != 0) {
+    DEBUG ((EFI_D_INFO, "Xen was detected\n"));
+    InitializeXen (XenLeaf);
+  }
 
   ReserveEmuVariableNvStore ();
 

Modified: trunk/edk2/OvmfPkg/PlatformPei/Platform.h
===================================================================
--- trunk/edk2/OvmfPkg/PlatformPei/Platform.h   2013-12-08 01:35:52 UTC (rev 
14942)
+++ trunk/edk2/OvmfPkg/PlatformPei/Platform.h   2013-12-08 01:36:00 UTC (rev 
14943)
@@ -69,6 +69,11 @@
 
 EFI_STATUS
 InitializeXen (
+  UINT32 XenLeaf
+  );
+
+UINT32
+XenDetect (
   VOID
   );
 

Modified: trunk/edk2/OvmfPkg/PlatformPei/Xen.c
===================================================================
--- trunk/edk2/OvmfPkg/PlatformPei/Xen.c        2013-12-08 01:35:52 UTC (rev 
14942)
+++ trunk/edk2/OvmfPkg/PlatformPei/Xen.c        2013-12-08 01:36:00 UTC (rev 
14943)
@@ -119,19 +119,9 @@
 **/
 EFI_STATUS
 InitializeXen (
-  VOID
+  UINT32 XenLeaf
   )
 {
-  UINT32 XenLeaf;
-
-  XenLeaf = XenDetect ();
-
-  if (XenLeaf == 0) {
-    return EFI_NOT_FOUND;
-  }
-
-  DEBUG ((EFI_D_INFO, "Xen was detected\n"));
-
   XenConnect (XenLeaf);
 
   //

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to