diff --git a/EdkNt32Pkg/EdkNt32Pkg.spd b/EdkNt32Pkg/EdkNt32Pkg.spd
index dc2055d19d..3e46583ce2 100644
--- a/EdkNt32Pkg/EdkNt32Pkg.spd
+++ b/EdkNt32Pkg/EdkNt32Pkg.spd
@@ -109,12 +109,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Library/EdkGenericBdsLib/EdkGenericBdsLib.msa
Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa
Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa
+ Library/Nt32OemHookStatusCodeLib/Nt32OemHookStatusCodeLib.msa
Logo/Logo.msa
Pei/Autoscan/WinNtAutoScan.msa
Pei/BootMode/BootMode.msa
Pei/FirmwareVolume/WinNtFwh.msa
Pei/FlashMap/FlashMap.msa
- Pei/MonoStatusCode/MonoStatusCode.msa
Pei/WinNtStuff/WinNtStuff.msa
RuntimeDxe/FvbServices/Nt32Fwh.msa
Sec/SecMain.msa
@@ -362,5 +362,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
such as "My EFI Console".
The item type of this PCD can only be "DYNAMIC".
+
+ PcdNt32StatusCodeLibUseForPei
+ 0x0000100b
+ gEfiEdkNt32PkgTokenSpaceGuid
+ BOOLEAN
+ FEATURE_FLAG
+ FALSE
+ Select which type of driver the library links against.
+
diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd
index a533c16064..de641ab18d 100644
--- a/EdkNt32Pkg/Nt32.fpd
+++ b/EdkNt32Pkg/Nt32.fpd
@@ -466,17 +466,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
PE32_PEIM
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -501,7 +507,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
gEfiMdePkgTokenSpaceGuid
UINT8
1
- 0x1f
+ 0x0f
PcdSpinLockTimeout
@@ -519,14 +525,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4
0x80000000
-
- PcdReportStatusCodePropertyMask
- 0x00000007
- gEfiMdePkgTokenSpaceGuid
- UINT8
- 1
- 0x07
-
PcdMaximumLinkedListLength
0x00000003
@@ -535,6 +533,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4
1000000
+
+ PcdReportStatusCodePropertyMask
+ 0x00000007
+ gEfiMdePkgTokenSpaceGuid
+ UINT8
+ 1
+ 0x07
+
PcdDebugClearMemoryValue
0x00000008
@@ -543,10 +549,74 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
1
0xAF
+
+ PcdVpdBaseAddress
+ 0x00010010
+ gEfiEdkModulePkgTokenSpaceGuid
+ UINT32
+ 4
+ 0x0
+
+
+ PcdDxePcdDatabaseTraverseEnabled
+ 0x00010021
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ TRUE
+
+
+ PcdStatusCodeUseSerial
+ 0x00010022
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseMemory
+ 0x00010023
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseOEM
+ 0x00010024
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ TRUE
+
+
+ PcdStatusCodeMemorySize
+ 0x00010025
+ gEfiEdkModulePkgTokenSpaceGuid
+ UINT16
+ 2
+ 1
+
+
+ PcdNt32StatusCodeLibUseForPei
+ 0x0000100b
+ gEfiEdkNt32PkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ TRUE
+
FV_RECOVERY
PE32_PEIM
+
+
+
+
@@ -2277,24 +2347,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
RT_DRIVER
-
+
+
-
-
-
-
-
+
-
-
+
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
@@ -2319,7 +2392,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
gEfiMdePkgTokenSpaceGuid
UINT8
1
- 0x1f
+ 0x0f
PcdSpinLockTimeout
@@ -2337,14 +2410,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4
0x80000000
-
- PcdReportStatusCodePropertyMask
- 0x00000007
- gEfiMdePkgTokenSpaceGuid
- UINT8
- 1
- 0x07
-
PcdMaximumLinkedListLength
0x00000003
@@ -2361,10 +2426,130 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
1
0xAF
+
+ PcdReportStatusCodePropertyMask
+ 0x00000007
+ gEfiMdePkgTokenSpaceGuid
+ UINT8
+ 1
+ 0x07
+
+
+ PcdVpdBaseAddress
+ 0x00010010
+ gEfiEdkModulePkgTokenSpaceGuid
+ UINT32
+ 4
+ 0x0
+
+
+ PcdDxePcdDatabaseTraverseEnabled
+ 0x00010021
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ TRUE
+
+
+ PcdStatusCodeUseEfiSerial
+ 0x00010026
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseHardSerial
+ 0x00010027
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseRuntimeMemory
+ 0x00010028
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseDataHub
+ 0x00010029
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeUseOEM
+ 0x00010024
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ TRUE
+
+
+ PcdStatusCodeReplayInSerial
+ 0x0001002a
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeReplayInRuntimeMemory
+ 0x0001002b
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeReplayInDataHub
+ 0x0001002c
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeReplayInOEM
+ 0x0001002c
+ gEfiEdkModulePkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
+
+ PcdStatusCodeRuntimeMemorySize
+ 0x0001002d
+ gEfiEdkModulePkgTokenSpaceGuid
+ UINT16
+ 2
+ 128
+
+
+ PcdNt32StatusCodeLibUseForPei
+ 0x0000100b
+ gEfiEdkNt32PkgTokenSpaceGuid
+ BOOLEAN
+ 1
+ FALSE
+
FV_RECOVERY
- RT_DRIVER
+ BS_DRIVER
+
+
+
+