As I know according to UEFI spec, it has no requirement about the Table needs 
to be in runtime memory, but only requires the list (holding Guid value and 
Table pointer) needs to be in runtime memory.

"The InstallConfigurationTable() function is used to maintain the list of 
configuration tables that are stored in the EFI System Table. The list is 
stored as an array of (GUID, Pointer) pairs. The list must be allocated from 
pool memory with PoolType set to EfiRuntimeServicesData."


Jiewen, you should know more detail about this feature.


Thanks,
Star
-----Original Message-----
From: edk2-devel [mailto:[email protected]] On Behalf Of Larry 
Cleeton
Sent: Tuesday, September 19, 2017 3:49 AM
To: [email protected]
Subject: [edk2] EFI_MEMORY_ATTRIBUTES_TABLE not in runtime memory

The EFI_MEMORY_ATTRIBUTES_TABLE constructed in 
MdeModulePkg/core/dxe/misc/MemoryAttributesTable.c is allocating the table 
memory using AllocatePool(). It seems it should be allocated using 
AllocateRuntimePool(). We've observed Linux kernels seeing a zeroed table, 
likely because those boot services memory pages have been reclaimed and zeroed. 
It appears that several other configuration tables are allocated with runtime 
memory. I haven't found any specific statements that this table should be in 
runtime memory. However it seems pragmatic and consistent that it be in runtime 
memory.
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to