From: Anthony PERARD <anthony.per...@citrix.com> Copy the function BuildPlatformInfoHob() from OvmfPkg/PlatformPei.
QemuFwCfgLib expect this HOB to be present, or fails to do anything. InternalQemuFwCfgIsAvailable() from QemuFwCfgPeiLib module will not check if the HOB is actually present for example and try to use a NULL pointer. Fixes: cda98df16228 ("OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported") Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> --- OvmfPkg/XenPlatformPei/Platform.h | 1 + OvmfPkg/XenPlatformPei/Platform.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/OvmfPkg/XenPlatformPei/Platform.h b/OvmfPkg/XenPlatformPei/Platform.h index 039af50ffa32..7b4de128e713 100644 --- a/OvmfPkg/XenPlatformPei/Platform.h +++ b/OvmfPkg/XenPlatformPei/Platform.h @@ -12,6 +12,7 @@ #define _PLATFORM_PEI_H_INCLUDED_ #include <IndustryStandard/E820.h> +#include <Library/PlatformInitLib.h> VOID AddIoMemoryBaseSizeHob ( diff --git a/OvmfPkg/XenPlatformPei/Platform.c b/OvmfPkg/XenPlatformPei/Platform.c index 2d97a41ca78e..6c1886c158b5 100644 --- a/OvmfPkg/XenPlatformPei/Platform.c +++ b/OvmfPkg/XenPlatformPei/Platform.c @@ -17,6 +17,7 @@ // // The Library classes this module consumes // +#include <Library/BaseMemoryLib.h> #include <Library/BaseLib.h> #include <Library/DebugLib.h> #include <Library/HobLib.h> @@ -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 ()) { -- Anthony PERARD -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97569): https://edk2.groups.io/g/devel/message/97569 Mute This Topic: https://groups.io/mt/95768201/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-