Vlv2TbltDevicePkg: Use 4K aligned PE/COFF sections

Update [BuildOptions] to use of 4K aligned PE/COFF
image sections to support page level protection of
DXE_RUNTIME_DRIVER, SMM_CORE, and DXE_SMM_DRIVER
modules.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: David Wei <david.wei@intel.com>
Cc: Mang Guo <mang.guo@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index c3dc25f..6da2a8a 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1676,6 +1676,22 @@
   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable

 !endif

 

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_RUNTIME_DRIVER modules

+#

+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_SMM_DRIVER/SMM_CORE modules

+#

+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

 [BuildOptions.Common.EDK]

 

 #

diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index 3a5776a..5b5523f 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1659,6 +1659,22 @@
 

 !endif

 

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_RUNTIME_DRIVER modules

+#

+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_SMM_DRIVER/SMM_CORE modules

+#

+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

 [BuildOptions.Common.EDK]

 

 #

diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index 83cbb0a..54d2b81 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1668,6 +1668,22 @@
 

 !endif

 

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_RUNTIME_DRIVER modules

+#

+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

+#

+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level

+# protection of DXE_SMM_DRIVER/SMM_CORE modules

+#

+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]

+  MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096

+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

+

 [BuildOptions.Common.EDK]

 

 #