From c7ea55b92b56a7434cb6f5c33fffc76eb1086e08 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Sun, 8 Dec 2013 01:36:00 +0000 Subject: [PATCH] OvmfPkg: detect Xen earlier This is useful for initializing memory map. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wei Liu Reviewed-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14943 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/PlatformPei/Platform.c | 8 +++++++- OvmfPkg/PlatformPei/Platform.h | 5 +++++ OvmfPkg/PlatformPei/Xen.c | 12 +----------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index fb56e999ef..9b7828f8dc 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -338,14 +338,20 @@ InitializePlatform ( ) { 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 (); diff --git a/OvmfPkg/PlatformPei/Platform.h b/OvmfPkg/PlatformPei/Platform.h index 383e6a4364..d63d124064 100644 --- a/OvmfPkg/PlatformPei/Platform.h +++ b/OvmfPkg/PlatformPei/Platform.h @@ -69,6 +69,11 @@ PeiFvInitialization ( EFI_STATUS InitializeXen ( + UINT32 XenLeaf + ); + +UINT32 +XenDetect ( VOID ); diff --git a/OvmfPkg/PlatformPei/Xen.c b/OvmfPkg/PlatformPei/Xen.c index a720b91b99..054cc4a16b 100644 --- a/OvmfPkg/PlatformPei/Xen.c +++ b/OvmfPkg/PlatformPei/Xen.c @@ -119,19 +119,9 @@ XenDetect ( **/ 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); // -- 2.39.2