You may need also add PcdNullPointerDetectionPropertyMask prompt and help into the MdeModulePkg.uni.
Thanks, Star -----Original Message----- From: Wang, Jian J Sent: Thursday, September 21, 2017 1:20 PM To: [email protected] Cc: Wang, Jian J <[email protected]>; Zeng, Star <[email protected]>; Dong, Eric <[email protected]>; Laszlo Ersek <[email protected]>; Yao, Jiewen <[email protected]>; Kinney, Michael D <[email protected]>; Justen, Jordan L <[email protected]>; Wolman, Ayellet <[email protected]> Subject: [PATCH v2 1/6] MdeModulePkg/MdeModulePkg.dec: Add NULL pointer detection PCD From: "Wang, Jian J" <[email protected]> PCD PcdNullPointerDetectionPropertyMask is a bitmask used to control the NULL address detection functionality in code for different phases. If enabled, accessing NULL address in UEFI or SMM code can be caught as a page fault exception. BIT0 - Enable NULL pointer detection for UEFI. BIT1 - Enable NULL pointer detection for SMM. BIT2..6 - Reserved for future uses. BIT7 - Disable NULL pointer detection just after EndOfDxe. This is a workaround for those unsolvable NULL access issues in OptionROM, boot loader, etc. It can also help to avoid unnecessary exception caused by legacy memory (0-4095) access after EndOfDxe, such as Windows 7 boot on Qemu. Cc: Star Zeng <[email protected]> Cc: Eric Dong <[email protected]> Cc: Laszlo Ersek <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Michael Kinney <[email protected]> Cc: Jordan Justen <[email protected]> Cc: Ayellet Wolman <[email protected]> Suggested-by: Ayellet Wolman <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <[email protected]> --- MdeModulePkg/MdeModulePkg.dec | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 403a66a5ad..3f90b8d7e6 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -863,6 +863,19 @@ # @ValidList 0x80000006 | 0x03058002 gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable|0x03058002|UINT32|0x30001040 + ## Mask to control the NULL address detection in code for different phases. + # If enabled, accessing NULL address in UEFI or SMM code can be caught.<BR><BR> + # BIT0 - Enable NULL pointer detection for UEFI.<BR> + # BIT1 - Enable NULL pointer detection for SMM.<BR> + # BIT2..6 - Reserved for future uses.<BR> + # BIT7 - Disable NULL pointer detection just after EndOfDxe. <BR> + # This is a workaround for those unsolvable NULL access issues in + # OptionROM, boot loader, etc. It can also help to avoid unnecessary + # exception caused by legacy memory (0-4095) access after EndOfDxe, + # such as Windows 7 boot on Qemu.<BR> + # @Prompt Enable NULL address detection. + + gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask|0x0 + |UINT8|0x30001050 + [PcdsFixedAtBuild, PcdsPatchableInModule] ## Dynamic type PCD can be registered callback function for Pcd setting action. # PcdMaxPeiPcdCallBackNumberPerPcdEntry indicates the maximum number of callback function -- 2.14.1.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

