Given that the firmware itself may access the ESRT table when the OS invokes the UpdateCapsule () boot service, it requires a virtual mapping and so it needs to be allocated from RtServicesData memory.
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <[email protected]> --- MdeModulePkg/Universal/EsrtDxe/EsrtDxe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.c b/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.c index cab8d69e35ad..66266a44cec9 100644 --- a/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.c +++ b/MdeModulePkg/Universal/EsrtDxe/EsrtDxe.c @@ -577,7 +577,8 @@ EsrtReadyToBootEventNotify ( goto EXIT; } - EsrtTable = AllocatePool(sizeof(EFI_SYSTEM_RESOURCE_TABLE) + NonFmpRepositorySize + FmpRepositorySize); + EsrtTable = AllocateRuntimePool (sizeof(EFI_SYSTEM_RESOURCE_TABLE) + + NonFmpRepositorySize + FmpRepositorySize); if (EsrtTable == NULL) { DEBUG ((EFI_D_ERROR, "Esrt table memory allocation failure\n")); goto EXIT; -- 2.17.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

