On 18 February 2016 at 13:17, Laszlo Ersek <[email protected]> wrote: > On 02/18/16 12:56, Ard Biesheuvel wrote: >> The PropertiesTable feature is poorly named, since the feature this PCD >> controls is only a single bit in its MemoryProtectionAttribute member, >> called EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA. >> >> This feature causes breakage on legacy OSes that assume that each memory >> region in the UEFI memory map is completely independent, which is no longer >> the case with this feature enabled. For this reason, the UEFI spec now >> recommends not to use this feature, and use the MemoryAttributes table >> instead. For this reason, support for the feature will not be implemented >> in arm64 or ARM Linux, and enabling it here is pointless. >> >> So set PcdPropertiesTableEnable to FALSE. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ard Biesheuvel <[email protected]> >> --- >> ArmVirtPkg/ArmVirtQemu.dsc | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc >> index e2641fd2c289..7ff1bd4074a8 100644 >> --- a/ArmVirtPkg/ArmVirtQemu.dsc >> +++ b/ArmVirtPkg/ArmVirtQemu.dsc >> @@ -162,6 +162,18 @@ [PcdsFixedAtBuild.common] >> # >> gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16 >> >> + # The PropertiesTable feature is poorly named, since the feature this PCD >> + # controls is only a single bit in its MemoryProtectionAttribute member, >> + # called EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA. >> + # >> + # This feature causes breakage on legacy OSes that assume that each memory >> + # region in the UEFI memory map is completely independent, which is no >> longer >> + # the case with this feature enabled. For this reason, the UEFI spec now >> + # recommends not to use this feature, and use the MemoryAttributes table >> + # instead. For this reason, support for the feature will not be >> implemented in >> + # arm64 or ARM Linux, and enabling it here is pointless. >> + gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE >> + >> [PcdsFixedAtBuild.AARCH64] >> gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE >> >> > > You reviewed Jiewen's patch: > > MdePkg: Change PcdPropertiesTableEnable default value to FALSE > http://thread.gmane.org/gmane.comp.bios.edk2.devel/7681 > > So why is this necessary? Isn't it enough to inherit the FALSE default > from "MdeModulePkg/MdeModulePkg.dec"? >
Yes, it is. That completely slipped my mind, and I still noticed the PROP= entry in the kernel boot log next to the MEMATTR= entry that I am adding atm. So indeed, please disregard. -- Ard. _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

