Revision: 17812
http://sourceforge.net/p/edk2/code/17812
Author: abiesheuvel
Date: 2015-07-02 07:32:56 +0000 (Thu, 02 Jul 2015)
Log Message:
-----------
MdeModulePkg: enforce arch-specific alignment for split regions
The splitting of memory regions into code and data regions violates
architecture specific alignment rules by using a fixed alignment
of 4 KB. Replace it with EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT,
which is defined appropriately on each architecture.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: "Jaben Carsey" <[email protected]>
Reviewed-by: "Yao, Jiewen" <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c
Modified: trunk/edk2/MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c
===================================================================
--- trunk/edk2/MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c 2015-07-02
07:32:44 UTC (rev 17811)
+++ trunk/edk2/MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c 2015-07-02
07:32:56 UTC (rev 17812)
@@ -785,7 +785,7 @@
IN UINT32 SectionAlignment
)
{
- if (((SectionAlignment & (SIZE_4KB - 1)) != 0) &&
+ if (((SectionAlignment & (EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT - 1))
!= 0) &&
((mPropertiesTable.MemoryProtectionAttribute &
EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA) != 0)) {
DEBUG ((EFI_D_VERBOSE, "SetPropertiesTableSectionAlignment - Clear\n"));
mPropertiesTable.MemoryProtectionAttribute &=
~EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA;
@@ -1119,8 +1119,9 @@
}
SetPropertiesTableSectionAlignment (SectionAlignment);
- if ((SectionAlignment & (SIZE_4KB - 1)) != 0) {
- DEBUG ((EFI_D_ERROR, "!!!!!!!! InsertImageRecord - Section
Alignment(0x%x) is not 4K !!!!!!!!\n", SectionAlignment));
+ if ((SectionAlignment & (EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT - 1)) !=
0) {
+ DEBUG ((EFI_D_ERROR, "!!!!!!!! InsertImageRecord - Section
Alignment(0x%x) is not %dK !!!!!!!!\n",
+ SectionAlignment, EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT >> 10));
PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageAddress);
if (PdbPointer != NULL) {
DEBUG ((EFI_D_ERROR, "!!!!!!!! Image - %a !!!!!!!!\n", PdbPointer));
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits