From 447d264115c476142f884af0be287622cd244423 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Sun, 8 Dec 2013 01:36:25 +0000 Subject: OvmfPkg: enable Xen specific path This patch sets PcdPciDisableBusEnumeration to true then makes use of PublishPeiMemory and XenMemMapInitialization to construct memory map for Xen guest. 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@14946 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/PlatformPei/Platform.c | 15 +++++++++++++-- OvmfPkg/PlatformPei/PlatformPei.inf | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'OvmfPkg/PlatformPei') diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index 3dc30973fc..7363702bee 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -412,13 +412,20 @@ InitializePlatform ( EFI_PHYSICAL_ADDRESS TopOfMemory; UINT32 XenLeaf; + TopOfMemory = 0; + DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n")); DebugDumpCmos (); XenLeaf = XenDetect (); - TopOfMemory = MemDetect (); + if (XenLeaf != 0) { + PublishPeiMemory (); + PcdSetBool (PcdPciDisableBusEnumeration, TRUE); + } else { + TopOfMemory = MemDetect (); + } if (XenLeaf != 0) { DEBUG ((EFI_D_INFO, "Xen was detected\n")); @@ -429,7 +436,11 @@ InitializePlatform ( PeiFvInitialization (); - MemMapInitialization (TopOfMemory); + if (XenLeaf != 0) { + XenMemMapInitialization (); + } else { + MemMapInitialization (TopOfMemory); + } MiscInitialization (); diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf index 3d5cbbbc2b..7fe9d471cb 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf @@ -65,6 +65,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration gUefiCpuPkgTokenSpaceGuid.PcdCpuLocalApicBaseAddress [Ppis] -- cgit v1.2.3