On 06/08/15 15:56, Yao, Jiewen wrote: > Hi Laszlo > This is for UEFI2.5 Properties Table feature. See UEFI 2.5 spec, 4.6 EFI > Configuration Table & Properties Table, page 105. > > // > // Memory attribute (Not defined bits are reserved) > // > #define EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA 0x1 > // BIT 0 - description - implies the runtime data is separated from the code > This bit implies that the UEFI runtime code and data sections of the > executable image are separate > and aligned to at least a 4KiB boundary. This bit also implies that the data > pages do no have any > executable code. > > A platform may use gEfiMdeModulePkgTokenSpaceGuid.PropertiesTableEnable to > control enable or disable this feature. > In order to meet "secure by default" rule, we define it TRUE as default > configuration in MdeModulePkg. > > If a platform does not want to enable this feature, it can override this PCD > to be FALSE. > If a platform wants to enable this feature, it can override link option to > make code/data 4K aligned for any runtime driver.
I think the last option would be preferable for OVMF as well -- where can we change that link option? Does it belong with BaseTools, or with the rules in the FDF file? Thanks! Laszlo > Thank you > Yao Jiewen > > > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Monday, June 08, 2015 6:34 PM > To: Yao, Jiewen > Cc: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] [patch] MdePkg/PropertiesTable support, > MdeModulePkg/DxeCore support UEFI2.5 properties table > > On 06/04/15 16:34, Yao, Jiewen wrote: > >> + SetPropertiesTableSectionAlignment (SectionAlignment); if >> + ((SectionAlignment & (SIZE_4KB - 1)) != 0) { >> + DEBUG ((EFI_D_ERROR, "!!!!!!!! InsertImageRecord - Section >> + Alignment(0x%x) is not 4K !!!!!!!!\n", SectionAlignment)); > > I just noticed that the above message is printed under OVMF for all > DXE_RUNTIME_DRIVER modules. Why does that happen? > > Thanks > Laszlo > >> + PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageAddress); >> + if (PdbPointer != NULL) { >> + DEBUG ((EFI_D_ERROR, "!!!!!!!! Image - %a !!!!!!!!\n", PdbPointer)); >> + } >> + goto Finish; >> + } > ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel