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

Reply via email to