diff --git a/EdkModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.msa b/EdkModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.msa
index 3c086d233a..ae72860ff9 100644
--- a/EdkModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.msa
+++ b/EdkModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.msa
@@ -60,11 +60,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
DxeCorePerformanceLibConstructor
-
-
+
+
PcdPerformanceLibraryPropertyMask
- 0x00000001
- UINT8
-
-
+
+
diff --git a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa b/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa
index d7dbda688b..85d9d1cbf2 100644
--- a/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa
+++ b/EdkModulePkg/Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa
@@ -54,16 +54,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
DebugLibConstructor
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa b/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa
index 5fe5bd6364..a0dd07c6e9 100644
--- a/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa
+++ b/EdkModulePkg/Library/EdkDxePerformanceLib/EdkDxePerformanceLib.msa
@@ -52,11 +52,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PerformanceLibConstructor
-
-
+
+
PcdPerformanceLibraryPropertyMask
- 0x00000001
- UINT8
-
-
+
+
diff --git a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa b/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa
index e3d21cf3eb..9bf43a379d 100644
--- a/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa
+++ b/EdkModulePkg/Library/EdkPeiPerformanceLib/EdkPeiPerformanceLib.msa
@@ -51,11 +51,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PeiPerformanceHob
-
-
+
+
PcdPerformanceLibraryPropertyMask
- 0x00000001
- UINT8
-
-
+
+
diff --git a/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa b/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa
index dd724d0128..615b7717cd 100644
--- a/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa
+++ b/EdkModulePkg/Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa
@@ -54,16 +54,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
DebugLibConstructor
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa b/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa
index fcfa3fbaff..d7a13eddf9 100644
--- a/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa
+++ b/EdkModulePkg/Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa
@@ -54,16 +54,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
DebugLibConstructor
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/EdkModulePkg/Universal/PCD/Dxe/Pcd.msa b/EdkModulePkg/Universal/PCD/Dxe/Pcd.msa
index ee84d830cd..3765b53f73 100644
--- a/EdkModulePkg/Universal/PCD/Dxe/Pcd.msa
+++ b/EdkModulePkg/Universal/PCD/Dxe/Pcd.msa
@@ -74,16 +74,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PcdDxeInit
-
-
+
+
PcdMaxPeiPcdCallBackNumberPerPcdEntry
- 0x0001000f
- UINT32
-
-
+
+
PcdVpdBaseAddress
- 0x00010010
- UINT32
-
-
+
+
diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.msa b/EdkModulePkg/Universal/PCD/Pei/Pcd.msa
index d9d1baee36..85eadda595 100644
--- a/EdkModulePkg/Universal/PCD/Pei/Pcd.msa
+++ b/EdkModulePkg/Universal/PCD/Pei/Pcd.msa
@@ -80,16 +80,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PcdPeimInit
-
-
+
+
PcdMaxPeiPcdCallBackNumberPerPcdEntry
- 0x0001000f
- UINT32
-
-
+
+
PcdVpdBaseAddress
- 0x00010010
- UINT32
-
-
+
+
diff --git a/EdkModulePkg/Universal/PCD/Test/PeiPcdTest.msa b/EdkModulePkg/Universal/PCD/Test/PeiPcdTest.msa
index b772e83ccd..9c57713dcc 100644
--- a/EdkModulePkg/Universal/PCD/Test/PeiPcdTest.msa
+++ b/EdkModulePkg/Universal/PCD/Test/PeiPcdTest.msa
@@ -68,36 +68,24 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PcdTestPeimInit
-
-
+
+
PcdMaxPeiPcdCallBackNumberPerPcdEntry
- 0x0001000f
- UINT32
-
-
+
+
PcdTestDynamicUint8
- 0x00011000
- UINT8
-
-
+
+
PcdTestDynamicUint16
- 0x00011001
- UINT16
-
-
+
+
PcdTestDynamicUint32
- 0x00011002
- UINT32
-
-
+
+
PcdTestDynamicUint64
- 0x00011003
- UINT64
-
-
+
+
PcdTestDynamicBoolean
- 0x00011004
- BOOLEAN
-
-
+
+
diff --git a/EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.msa b/EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.msa
index 093a18c3a6..0d17e11f23 100644
--- a/EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.msa
+++ b/EdkNt32Pkg/Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.msa
@@ -97,71 +97,45 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
gWinNtBusDriverComponentName
-
-
+
+
PcdWinNtConsole
- 0x0000100a
- VOID*
-
-
+
+
PcdWinNtUga
- 0x00001003
- VOID*
-
-
+
+
PcdWinNtSerialPort
- 0x00001002
- VOID*
-
-
+
+
PcdWinNtFileSystem
- 0x00001004
- VOID*
-
-
+
+
PcdWinNtVirtualDisk
- 0x00001001
- VOID*
-
-
+
+
PcdWinNtPhysicalDisk
- 0x00001000
- VOID*
-
-
+
+
PcdWinNtCpuModel
- 0x00001007
- VOID*
-
-
+
+
PcdWinNtCpuSpeed
- 0x00001008
- VOID*
-
-
+
+
PcdWinNtMemorySize
- 0x00001005
- VOID*
-
-
+
+
PcdWinNtBinaryPatch1
- 0x0001000b
- UINT32
-
-
+
+
PcdWinNtBinaryPatch2
- 0x0001000c
- UINT32
-
-
+
+
PcdWinNtFeatureFlag1
- 0x0001000d
- BOOLEAN
-
-
+
+
PcdWinNtDynamicUINT32
- 0x0001000e
- UINT32
-
-
+
+
diff --git a/EdkNt32Pkg/Sec/SecMain.msa b/EdkNt32Pkg/Sec/SecMain.msa
index 158b75b886..73e74ebfa2 100644
--- a/EdkNt32Pkg/Sec/SecMain.msa
+++ b/EdkNt32Pkg/Sec/SecMain.msa
@@ -68,23 +68,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-
+
+
PcdWinNtMemorySizeForSecMain
- 0x00001005
- VOID*
-
-
+
+
PcdWinNtFirmwareVolume
- 0x00001009
- VOID*
-
-
+
+
PcdWinNtBootMode
- 0x00001006
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.msa b/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.msa
index 24e2a16f63..f29102c487 100644
--- a/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.msa
+++ b/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.msa
@@ -44,21 +44,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugClearMemoryValue
- 0x00000008
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/BaseDebugLibReportStatusCode/BaseDebugLibReportStatusCode.msa b/MdePkg/Library/BaseDebugLibReportStatusCode/BaseDebugLibReportStatusCode.msa
index b2ef0e3110..77eae42881 100644
--- a/MdePkg/Library/BaseDebugLibReportStatusCode/BaseDebugLibReportStatusCode.msa
+++ b/MdePkg/Library/BaseDebugLibReportStatusCode/BaseDebugLibReportStatusCode.msa
@@ -44,21 +44,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugClearMemoryValue
- 0x00000008
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/BaseLib/BaseLib-Gcc.msa b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
index 1957312501..aa51b2d8ea 100644
--- a/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
+++ b/MdePkg/Library/BaseLib/BaseLib-Gcc.msa
@@ -293,26 +293,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdMaximumUnicodeStringLength
- 0x00000001
- UINT32
-
-
+
+
PcdMaximumAsciiStringLength
- 0x00000002
- UINT32
-
-
+
+
PcdMaximumLinkedListLength
- 0x00000003
- UINT32
-
-
+
+
PcdSpinLockTimeout
- 0x00000004
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/BaseLib/BaseLib.msa b/MdePkg/Library/BaseLib/BaseLib.msa
index 0d07e79af4..5cf3b550cc 100644
--- a/MdePkg/Library/BaseLib/BaseLib.msa
+++ b/MdePkg/Library/BaseLib/BaseLib.msa
@@ -295,26 +295,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdMaximumUnicodeStringLength
- 0x00000001
- UINT32
-
-
+
+
PcdMaximumAsciiStringLength
- 0x00000002
- UINT32
-
-
+
+
PcdMaximumLinkedListLength
- 0x00000003
- UINT32
-
-
+
+
PcdSpinLockTimeout
- 0x00000004
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.msa b/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.msa
index c51521ddae..71ccc2dd1a 100644
--- a/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.msa
+++ b/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.msa
@@ -42,11 +42,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdPciExpressBaseAddress
- 0x0000000A
- UINT64
-
-
+
+
diff --git a/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.msa b/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.msa
index f288f366fa..dc1855442a 100644
--- a/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.msa
+++ b/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.msa
@@ -42,11 +42,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdPerformanceLibraryPropertyMask
- 0x00000001
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/BasePostCodeLib80/BasePostCodeLib80.msa b/MdePkg/Library/BasePostCodeLib80/BasePostCodeLib80.msa
index 21b055edb3..f17640df0b 100644
--- a/MdePkg/Library/BasePostCodeLib80/BasePostCodeLib80.msa
+++ b/MdePkg/Library/BasePostCodeLib80/BasePostCodeLib80.msa
@@ -42,11 +42,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdPostCodePropertyMask
- 0x0000000b
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa b/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa
index 0fdf59ac71..77820166a1 100644
--- a/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa
+++ b/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa
@@ -42,11 +42,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdPostCodePropertyMask
- 0x0000000b
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/BasePostCodeLibReportStatusCode/BasePostCodeLibReportStatusCode.msa b/MdePkg/Library/BasePostCodeLibReportStatusCode/BasePostCodeLibReportStatusCode.msa
index 28f84d116f..746bd68949 100644
--- a/MdePkg/Library/BasePostCodeLibReportStatusCode/BasePostCodeLibReportStatusCode.msa
+++ b/MdePkg/Library/BasePostCodeLibReportStatusCode/BasePostCodeLibReportStatusCode.msa
@@ -41,11 +41,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdPostCodePropertyMask
- 0x0000000b
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa b/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa
index 78c20ebe2b..7dcd8978d0 100644
--- a/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa
+++ b/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa
@@ -50,11 +50,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
StatusCodeDataTypeDebug
-
-
+
+
PcdReportStatusCodePropertyMask
- 0x00000007
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.msa b/MdePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.msa
index 219646133c..6c1fa5f073 100644
--- a/MdePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.msa
+++ b/MdePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.msa
@@ -60,11 +60,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
StatusCodeSpecificData
-
-
+
+
PcdReportStatusCodePropertyMask
- 0x00000007
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.msa b/MdePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.msa
index d2d0f17967..98e2529c2d 100644
--- a/MdePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.msa
+++ b/MdePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.msa
@@ -57,11 +57,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
StatusCodeSpecificData
-
-
+
+
PcdReportStatusCodePropertyMask
- 0x00000007
- UINT8
-
-
+
+
diff --git a/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.msa b/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.msa
index 1f396a489c..3ca7310e39 100644
--- a/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.msa
+++ b/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.msa
@@ -45,21 +45,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugClearMemoryValue
- 0x00000008
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.msa b/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.msa
index e894c58c93..8802e95a0e 100644
--- a/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.msa
+++ b/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.msa
@@ -45,21 +45,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
MdePkg
-
-
+
+
PcdDebugPropertyMask
- 0x00000005
- UINT8
-
-
+
+
PcdDebugClearMemoryValue
- 0x00000008
- UINT8
-
-
+
+
PcdDebugPrintErrorLevel
- 0x00000006
- UINT32
-
-
+
+
diff --git a/Tools/XMLSchema/SurfaceArea.xsd b/Tools/XMLSchema/SurfaceArea.xsd
index ed47c113c3..ca44ce780c 100644
--- a/Tools/XMLSchema/SurfaceArea.xsd
+++ b/Tools/XMLSchema/SurfaceArea.xsd
@@ -100,6 +100,7 @@
+