summaryrefslogtreecommitdiff
path: root/MdeModulePkg/MdeModulePkg.dec
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2015-08-05 12:45:21 +0000
committerlersek <lersek@Edk2>2015-08-05 12:45:21 +0000
commit5630cdfe9fcaf54f704be05f0311987bfcae4dc2 (patch)
tree81fd113672b15c3bd6e982163cebc7bdcc46d127 /MdeModulePkg/MdeModulePkg.dec
parentedaea0e7bf793b111a7951301c7ca1ee7f4c541e (diff)
downloadedk2-platforms-5630cdfe9fcaf54f704be05f0311987bfcae4dc2.tar.xz
MdeModulePkg DxeIpl: Add stack NX support
This feature is added for UEFI spec that says "Stack may be marked as non-executable in identity mapped page tables". A PCD PcdSetNxForStack is added to turn on/off this feature, and it is FALSE by default. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: "Yao, Jiewen" <Jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18166 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/MdeModulePkg.dec')
-rw-r--r--MdeModulePkg/MdeModulePkg.dec11
1 files changed, 10 insertions, 1 deletions
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 9b47a947dd..9a3f2cdcb4 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -960,7 +960,16 @@
## The number of bytes between registers in serial device. The default is 1 byte.
# @Prompt Serial Port Register Stride in Bytes
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006d
-
+
+ ## Indicates if to set NX for stack.<BR><BR>
+ # For the DxeIpl and the DxeCore are both X64, set NX for stack feature also require PcdDxeIplBuildPageTables be TRUE.<BR>
+ # For the DxeIpl and the DxeCore are both IA32 (PcdDxeIplSwitchToLongMode is FALSE), set NX for stack feature also require
+ # IA32 PAE is supported and Execute Disable Bit is available.<BR>
+ # TRUE - to set NX for stack.<BR>
+ # FALSE - Not to set NX for stack.<BR>
+ # @Prompt Set NX for stack.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE|BOOLEAN|0x0001006f
+
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## This PCD defines the Console output row. The default value is 25 according to UEFI spec.
# This PCD could be set to 0 then console output would be at max column and max row.