]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/EdkNt32Pkg.spd
Add in OFFSET_OF macro as defined in MDE Library spec
[mirror_edk2.git] / EdkNt32Pkg / EdkNt32Pkg.spd
index bb973a4decdcdb026ab208f0065a2de0ce3c7ece..614a3994d048fdf450b85a8cf48a0f6e9e867bb2 100644 (file)
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<PackageSurfaceArea  xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+<?xml version="1.0" encoding="UTF-8"?>\r
+<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
   <SpdHeader>\r
     <PackageName>EdkNt32Pkg</PackageName>\r
     <GuidValue>0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3</GuidValue>\r
     <Version>0.3</Version>\r
     <Abstract>This is the NT32 Emulation Environment Platform</Abstract>\r
     <Description>Reference platform implementation using an emulator.</Description>\r
-    <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>\r
+    <Copyright>Copyright (c) 2006 - 2007, Intel Corporation.</Copyright>\r
     <License>All rights reserved.
-      This program and the accompanying materials are licensed and made available 
+      This program and the accompanying materials are licensed and made available
       under the terms and conditions of the BSD License which accompanies this distribution.
       The full text of the license may be found at http://opensource.org/licenses/bsd-license.php
       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES
       <HelpText/>\r
     </LibraryClass>\r
   </LibraryClassDeclarations>\r
+  <IndustryStdIncludes>\r
+    <IndustryStdHeader Name="WinNTInclude">\r
+      <IncludeHeader>Include/Common/WinNTInclude.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="EdkGenericBdsLib">\r
+      <IncludeHeader>Include/Library/EdkGenericBdsLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="WinNtLib">\r
+      <IncludeHeader>Include/Library/WinNtLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="NtAutoscan">\r
+      <IncludeHeader>Include/Ppi/NtAutoscan.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="NtFwh">\r
+      <IncludeHeader>Include/Ppi/NtFwh.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="NtPeiLoadFile">\r
+      <IncludeHeader>Include/Ppi/NtPeiLoadFile.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="NtThunk">\r
+      <IncludeHeader>Include/Ppi/NtThunk.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="WinNtIo">\r
+      <IncludeHeader>Include/Protocol/WinNtIo.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="WinNtThunk">\r
+      <IncludeHeader>Include/Protocol/WinNtThunk.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="FlashLayout">\r
+      <IncludeHeader>Include/FlashLayout.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="WinNtDxe">\r
+      <IncludeHeader>Include/WinNtDxe.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="WinNtPeim">\r
+      <IncludeHeader>Include/WinNtPeim.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+  </IndustryStdIncludes>\r
   <MsaFiles>\r
-    <Filename>Dxe/ConPlatform/ConPlatform.msa</Filename>\r
     <Filename>Dxe/Nt32Platform/MiscSubclass/MiscSubclassDriver.msa</Filename>\r
     <Filename>Dxe/PlatformBds/PlatformBds.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Bus/BlockIo/WinNtBlockIo.msa</Filename>\r
@@ -38,6 +87,7 @@
     <Filename>Dxe/WinNtThunk/Bus/SerialIo/WinNtSerialIo.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Bus/SimpleFileSystem/WinNtSimpleFileSystem.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Bus/Uga/WinNtUga.msa</Filename>\r
+    <Filename>Dxe/WinNtThunk/Bus/Gop/WinNtGop.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Bus/WinNtBusDriver/WinNtBusDriver.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Chipset/Metronome/Metronome.msa</Filename>\r
     <Filename>Dxe/WinNtThunk/Chipset/RealTimeClock/RealTimeClock.msa</Filename>\r
     <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>\r
     <Filename>Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa</Filename>\r
     <Filename>Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa</Filename>\r
+    <Filename>Library/PeiNt32OemHookStatusCodeLib/PeiNt32OemHookStatusCodeLib.msa</Filename>\r
+    <Filename>Library/DxeNt32OemHookStatusCodeLib/DxeNt32OemHookStatusCodeLib.msa</Filename>\r
     <Filename>Logo/Logo.msa</Filename>\r
     <Filename>Pei/Autoscan/WinNtAutoScan.msa</Filename>\r
     <Filename>Pei/BootMode/BootMode.msa</Filename>\r
     <Filename>Pei/FirmwareVolume/WinNtFwh.msa</Filename>\r
     <Filename>Pei/FlashMap/FlashMap.msa</Filename>\r
-    <Filename>Pei/MonoStatusCode/MonoStatusCode.msa</Filename>\r
     <Filename>Pei/WinNtStuff/WinNtStuff.msa</Filename>\r
     <Filename>RuntimeDxe/FvbServices/Nt32Fwh.msa</Filename>\r
     <Filename>Sec/SecMain.msa</Filename>\r
     <IncludePkgHeader ModuleType="DXE_SMM_DRIVER">Include/WinNtDxe.h</IncludePkgHeader>\r
     <IncludePkgHeader ModuleType="DXE_SAL_DRIVER">Include/WinNtDxe.h</IncludePkgHeader>\r
     <IncludePkgHeader ModuleType="UEFI_DRIVER">Include/WinNtDxe.h</IncludePkgHeader>\r
-    <IncludePkgHeader ModuleType="USER_DEFINED">Include/WinNtPeim.h</IncludePkgHeader>\r
   </PackageHeaders>\r
   <GuidDeclarations>\r
     <Entry Name="EdkNt32PkgTokenSpace">\r
       <C_Name>gEfiEdkNt32PkgTokenSpaceGuid</C_Name>\r
       <GuidValue>0D79A645-1D91-40a6-A81F-61E6982B32B4</GuidValue>\r
       <HelpText>All PCD define in EdkNt32Pkg is in this token space scope</HelpText>\r
-    </Entry>  \r
+    </Entry>\r
     <Entry Name="WinNtVirtualDisks">\r
       <C_Name>gEfiWinNtVirtualDisksGuid</C_Name>\r
       <GuidValue>0C95A928-A006-11D4-BCFA-0080C73C8881</GuidValue>\r
       <GuidValue>0C95A93D-A006-11D4-BCFA-0080C73C8881</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="WinNtGop">\r
+      <C_Name>gEfiWinNtGopGuid</C_Name>\r
+      <GuidValue>4e11e955-ccca-11d4-bd0d-0080c73c8881</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
     <Entry Name="WinNtUga">\r
       <C_Name>gEfiWinNtUgaGuid</C_Name>\r
       <GuidValue>AB248E99-ABE1-11D4-BD0D-0080C73C8881</GuidValue>\r
       <GuidValue>582E7CA1-68CD-4D44-B43B-F298ED587BA6</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="WinNtBusDriver">\r
+      <C_Name>gWinNtBusDriverGuid</C_Name>\r
+      <GuidValue>0419f582-0625-4531-8a33-85a9965c95bc</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
   </GuidDeclarations>\r
   <ProtocolDeclarations>\r
     <Entry Name="WinNtIo">\r
     </Entry>\r
   </PpiDeclarations>\r
   <PcdDeclarations>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
-      <Token>0x00000001</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumUnicodeStringLength is not zero, the maximum\r
-                number of characters (not counting the NULL-terminator) in a\r
-                Unicode string cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumAsciiStringLength</C_Name>\r
-      <Token>0x00000002</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumAsciiStringLength is not zero, the maximum number\r
-                of characters (not counting the NULL-terminator) in an ASCII\r
-                string cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumLinkedListLength</C_Name>\r
-      <Token>0x00000003</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumLinkedListLength is not zero, the maximum number\r
-                of nodes (not counting the list header) in a linked list\r
-                cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdSpinLockTimeout</C_Name>\r
-      <Token>0x00000004</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>10000000</DefaultValue>\r
-      <HelpText>If PcdSpinLockTimeout is not zero, it stands for the timeout\r
-                value (unit: millisecond) for spin lock.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugPropertyMask</C_Name>\r
-      <Token>0x00000005</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0x0f</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of Debug\r
-                Assert, Debug Print, Debug Code, Clear Memory, Assert\r
-                Breakpoint and Assert Deadloop.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugPrintErrorLevel</C_Name>\r
-      <Token>0x00000006</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>PATCHABLE_IN_MODULE</ValidUsage>\r
-      <DefaultValue>0x80000000</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the kind of debug message\r
-                output when Debug Print is enabled.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdReportStatusCodePropertyMask</C_Name>\r
-      <Token>0x00000007</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0x07</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of\r
-                Progress Code, Error Code and Debug Code.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugClearMemoryValue</C_Name>\r
-      <Token>0x00000008</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0xAF</DefaultValue>\r
-      <HelpText>The value used by DebugClearMemory () to fill a certain range\r
-                of memory.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugClearMemoryValue</C_Name>\r
-      <Token>0x00000008</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0xAF</DefaultValue>\r
-      <HelpText>The value used by DebugClearMemory () to fill a certain range\r
-                of memory.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdPerformanceLibraryPropertyMask</C_Name>\r
-      <Token>0x00000009</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of\r
-                Performance Measurement.</HelpText>\r
-    </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtPhysicalDisk</C_Name>\r
       <Token>0x00001000</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
       <ValidUsage>DYNAMIC</ValidUsage>\r
-      <DefaultValue>L"FW;40960;512"</DefaultValue>\r
-      <HelpText>This PCD defines physical disk which will be simualted as a \r
-        harddisk in simulator.\r
-        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
+      <DefaultValue>L"E:RW;245760;512"</DefaultValue>\r
+      <HelpText>This PCD defines physical disk which will be simualted as a\r
+        harddisk in simulator. The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtVirtualDisk</C_Name>\r
       <DatumType>VOID*</DatumType>\r
       <ValidUsage>DYNAMIC</ValidUsage>\r
       <DefaultValue>L"FW;40960;512"</DefaultValue>\r
-      <HelpText>This PCD defines the file attribute which will be simulated as \r
-        a harddisk in simulator.\r
-        The item type if this PCD can only be "DYNAMIC".</HelpText>\r
+      <HelpText>This PCD defines the devices which use a file to emulate a hard disk or\r
+        removable media device.The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtSerialPort</C_Name>\r
       <Token>0x00001004</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>L".!C:\\D\\work\\Remodel\\mdk\\EdkShellBinPkg\\bin\\ia32\\Apps"</DefaultValue>\r
-      <HelpText>This PCD defines the windows directory who will be mounted as \r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>L".!..\\..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps"</DefaultValue>\r
+      <HelpText>This PCD defines the windows directory who will be mounted as\r
         harddisk in simulator.\r
         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
       <Token>0x00001005</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>L"64!64"</DefaultValue>\r
-      <HelpText>This PCD defines the size of simulated memory size.\r
-        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdWinNtMemorySizeForSecMain</C_Name>\r
-      <Token>0x00001005</Token>\r
-      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
       <DefaultValue>L"64!64"</DefaultValue>\r
       <HelpText>This PCD defines the memory size of simulated machine. Simulator will allocate\r
-        the size of PcdWinNtMemorySizeForSecMain in windows platform.\r
-        The item type of this PCD can only be "FIXED_AT_BUILD".</HelpText>\r
+        the size of PcdWinNtMemorySize in windows platform.\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtBootMode</C_Name>\r
       <Token>0x00001006</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
       <DefaultValue>1</DefaultValue>\r
-      <HelpText>This PCD defines the boot mode for simualtor. \r
+      <HelpText>This PCD defines the boot mode for simualtor.\r
         The boot mode can be set as following value:\r
           0x0:  Boot with full configuration.\r
           0x1:  Boot with minimal configuration.\r
           0x4:  Boot with default settings.\r
           0x5:  Boot on S4 resume.\r
           0x6:  Boot on S5 resume.\r
-          0x10: Boot on S2 resume. \r
+          0x10: Boot on S2 resume.\r
           0x11: Boot on S3 resume.\r
           0x12: Boot on flash update.\r
-          0x20: Boot in reovery mode.\r
-        The item type of this PCD can only be "FIXED_AT_BUILD".</HelpText>\r
+          0x20: Boot in reovery mode.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtCpuModel</C_Name>\r
       <Token>0x00001007</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
       <DefaultValue>L"Intel(R) Processor Model"</DefaultValue>\r
       <HelpText>This PCD defines simulated CPU model string.\r
         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
       <Token>0x00001008</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
       <DefaultValue>L"3000"</DefaultValue>\r
-      <HelpText>This PCD defines simulated CPU speed string.</HelpText>\r
+      <HelpText>This PCD defines simulated CPU speed string.\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtFirmwareVolume</C_Name>\r
       <Token>0x00001009</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>L"..\\..\\Fv\\Fv_Recovery.fd"</DefaultValue>\r
-      <HelpText>This PCD defines the FD file windows path string. Simulator will load the FD file and execute.\r
-        The item type of this PCD can only be "FIXED_AT_BUILD".</HelpText>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
+      <DefaultValue>L"..\\Fv\\Fv_Recovery.fd"</DefaultValue>\r
+      <HelpText>This PCD defines the FD file windows path string. Simulator will load the FD file and execute.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdWinNtConsole</C_Name>\r
       <Token>0x0000100a</Token>\r
       <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>VOID*</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
       <DefaultValue>L"Bus Driver Console Window"</DefaultValue>\r
-      <HelpText>This PCD declares the title string of the text console window. \r
+      <HelpText>This PCD declares the title string of the text console window.\r
         such as "My EFI Console".\r
         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
     </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdWinNtMemorySizeForSecMain</C_Name>\r
+      <Token>0x0000100c</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
+      <DefaultValue>L"64!64"</DefaultValue>\r
+      <HelpText>This PCD defines the memory size of simulated machine. Simulator will allocate\r
+        the size of PcdWinNtMemorySizeForSecMain in windows platform.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdWinNtGop</C_Name>\r
+      <Token>0x0000100d</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>L"UGA Window 1!UGA Window 2"</DefaultValue>\r
+      <HelpText>This PCD declares the resolutions for the GOP windows.\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
+    </PcdEntry>\r
   </PcdDeclarations>\r
 </PackageSurfaceArea>