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"? Thanks Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

