EFI_PHYSICAL_ADDRESS TopOfMemory;\r
UINT32 XenLeaf;\r
\r
+ TopOfMemory = 0;\r
+\r
DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n"));\r
\r
DebugDumpCmos ();\r
\r
XenLeaf = XenDetect ();\r
\r
- TopOfMemory = MemDetect ();\r
+ if (XenLeaf != 0) {\r
+ PublishPeiMemory ();\r
+ PcdSetBool (PcdPciDisableBusEnumeration, TRUE);\r
+ } else {\r
+ TopOfMemory = MemDetect ();\r
+ }\r
\r
if (XenLeaf != 0) {\r
DEBUG ((EFI_D_INFO, "Xen was detected\n"));\r
\r
PeiFvInitialization ();\r
\r
- MemMapInitialization (TopOfMemory);\r
+ if (XenLeaf != 0) {\r
+ XenMemMapInitialization ();\r
+ } else {\r
+ MemMapInitialization (TopOfMemory);\r
+ }\r
\r
MiscInitialization ();\r
\r