diff --git a/OvmfPkg/XenPlatformPei/Platform.c b/OvmfPkg/XenPlatformPei/Platform.c index 2d97a41ca7..6c1886c158 100644 --- a/OvmfPkg/XenPlatformPei/Platform.c +++ b/OvmfPkg/XenPlatformPei/Platform.c @@ -17,6 +17,7 @@ // // The Library classes this module consumes // +#include #include #include #include @@ -409,6 +410,20 @@ DebugDumpCmos ( } } +EFI_HOB_PLATFORM_INFO * +BuildPlatformInfoHob ( + VOID + ) +{ + EFI_HOB_PLATFORM_INFO PlatformInfoHob; + EFI_HOB_GUID_TYPE *GuidHob; + + ZeroMem (&PlatformInfoHob, sizeof PlatformInfoHob); + BuildGuidDataHob (&gUefiOvmfPkgPlatformInfoGuid, &PlatformInfoHob, sizeof (EFI_HOB_PLATFORM_INFO)); + GuidHob = GetFirstGuidHob (&gUefiOvmfPkgPlatformInfoGuid); + return (EFI_HOB_PLATFORM_INFO *)GET_GUID_HOB_DATA (GuidHob); +} + /** Perform Platform PEI initialization. @@ -429,6 +444,11 @@ InitializeXenPlatform ( DEBUG ((DEBUG_INFO, "Platform PEIM Loaded\n")); + // + // Platform Info HOB used by QemuFw libraries + // + BuildPlatformInfoHob (); + DebugDumpCmos (); if (!XenDetect ()) { diff --git a/OvmfPkg/XenPlatformPei/Platform.h b/OvmfPkg/XenPlatformPei/Platform.h index 039af50ffa..7b4de128e7 100644 --- a/OvmfPkg/XenPlatformPei/Platform.h +++ b/OvmfPkg/XenPlatformPei/Platform.h @@ -12,6 +12,7 @@ #define _PLATFORM_PEI_H_INCLUDED_ #include +#include VOID AddIoMemoryBaseSizeHob (