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

Reply via email to