Following the UEFI spec 2.4, SMBIOS data should be set as Runtime Services data type(previously Reserved type), or dmidecode on arm64 will not work properly.
Signed-off-by: Yi Li <yi...@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 --- In Charter 2.3.2 spec 2.4, it descripts SMBIOS tables should be Runtime Service Type: "In general, UEFI Configuration Tables loaded at boot time ( e.g.,SMBIOS table) can be contained in memory of type EfiRuntimeServicesData (recommended and the system firmware must not request a virtual mapping), EfiBootServicesData,EfiACPIReclaimMemory or EfiACPIMemoryNVS. Tables loaded at runtime must be contained in memory of type EfiRuntimeServicesData (recommended) or EfiACPIMemoryNVS." MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c index 8bf5d44..329bdbf 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c @@ -981,7 +981,7 @@ SmbiosCreateTable ( PhysicalAddress = 0xffffffff; Status = gBS->AllocatePages ( AllocateMaxAddress, - EfiReservedMemoryType, + EfiRuntimeServicesData, EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength), &PhysicalAddress ); @@ -1093,7 +1093,7 @@ SmbiosDriverEntryPoint ( PhysicalAddress = 0xffffffff; Status = gBS->AllocatePages ( AllocateMaxAddress, - EfiReservedMemoryType, + EfiRuntimeServicesData, EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_ENTRY_POINT)), &PhysicalAddress ); @@ -1101,7 +1101,7 @@ SmbiosDriverEntryPoint ( DEBUG ((EFI_D_ERROR, "SmbiosDriverEntryPoint() could not allocate EntryPointStructure < 4GB\n")); Status = gBS->AllocatePages ( AllocateAnyPages, - EfiReservedMemoryType, + EfiRuntimeServicesData, EFI_SIZE_TO_PAGES (sizeof (SMBIOS_TABLE_ENTRY_POINT)), &PhysicalAddress ); @@ -1127,7 +1127,7 @@ SmbiosDriverEntryPoint ( PhysicalAddress = 0xffffffff; Status = gBS->AllocatePages ( AllocateMaxAddress, - EfiReservedMemoryType, + EfiRuntimeServicesData, 1, &PhysicalAddress ); -- 1.7.9.5 ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel