From: Wei Liu Date: Sun, 8 Dec 2013 01:36:00 +0000 (+0000) Subject: OvmfPkg: detect Xen earlier X-Git-Tag: edk2-stable201903~12014 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=c7ea55b92b56a7434cb6f5c33fffc76eb1086e08 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 --- 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); //