OvmfPkg: detect Xen earlier

This is useful for initializing memory map.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14943 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Wei Liu 2013-12-08 01:36:00 +00:00 committed by jljusten
parent 4c3966e9ff
commit c7ea55b92b
3 changed files with 13 additions and 12 deletions

View File

@ -338,14 +338,20 @@ InitializePlatform (
) )
{ {
EFI_PHYSICAL_ADDRESS TopOfMemory; EFI_PHYSICAL_ADDRESS TopOfMemory;
UINT32 XenLeaf;
DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n")); DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n"));
DebugDumpCmos (); DebugDumpCmos ();
XenLeaf = XenDetect ();
TopOfMemory = MemDetect (); TopOfMemory = MemDetect ();
InitializeXen (); if (XenLeaf != 0) {
DEBUG ((EFI_D_INFO, "Xen was detected\n"));
InitializeXen (XenLeaf);
}
ReserveEmuVariableNvStore (); ReserveEmuVariableNvStore ();

View File

@ -69,6 +69,11 @@ PeiFvInitialization (
EFI_STATUS EFI_STATUS
InitializeXen ( InitializeXen (
UINT32 XenLeaf
);
UINT32
XenDetect (
VOID VOID
); );

View File

@ -119,19 +119,9 @@ XenDetect (
**/ **/
EFI_STATUS EFI_STATUS
InitializeXen ( 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); XenConnect (XenLeaf);
// //