This is useful for initializing memory map. Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- 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 fb56e99..9b7828f 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 383e6a4..d63d124 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 b4c1247..3741eff 100644 --- a/OvmfPkg/PlatformPei/Xen.c +++ b/OvmfPkg/PlatformPei/Xen.c @@ -150,19 +150,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); // -- 1.7.10.4