2 # This package is a platform package that provide platform module/library
\r
3 # required by NT32 platform.
\r
5 # File/Directory Orignazation:
\r
6 # |- Sec : Emulation SecCore for Nt32 platform
\r
7 # |- *Pei : PEIM drivers
\r
8 # |- *Dxe : DXE drivers
\r
9 # |- Nt32Pkg.dec : This file
\r
10 # |- Nt32Pkg.dsc : Nt32 platform DSC file
\r
11 # |- Nt32Pkg.fdf : Flash description file for Nt32Pkg. It is used for creating FD file.
\r
12 # |- Include : Include files for Nt32Pkg
\r
15 # Copyright (c) 2007, Intel Corporation. <BR>
\r
17 # All rights reserved. This program and the accompanying materials
\r
18 # are licensed and made available under the terms and conditions of the BSD License
\r
19 # which accompanies this distribution. The full text of the license may be found at
\r
20 # http://opensource.org/licenses/bsd-license.php
\r
22 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
\r
23 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
\r
27 ## Basic definitions for Nt32 package.
\r
31 DEC_SPECIFICATION = 0x00010005
\r
32 PACKAGE_NAME = Nt32Pkg
\r
33 PACKAGE_GUID = 0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3
\r
34 PACKAGE_VERSION = 0.1
\r
37 # Include Paths that are provided by this package.
\r
40 Include # Root include for the package
\r
43 # LibraryClasses provided by Nt32Pkg for all architecture.
\r
45 [LibraryClasses.common]
\r
47 # Expose EFI_WIN_NT_THUNK_PROTOCOL's interface, this protocol wrapper all
\r
48 # necessary Window API used by Nt32 enumlation environment.
\r
49 WinNtLib|Include/Library/WinNtLib.h
\r
52 # Guids provided by Nt32Pkg for all architecture.
\r
55 gEfiWinNtPassThroughGuid = { 0xCC664EB8, 0x3C24, 0x4086, { 0xB6, 0xF6, 0x34, 0xE8, 0x56, 0xBC, 0xE3, 0x6E }}
\r
56 gEfiWinNtConsoleGuid = { 0xBA73672C, 0xA5D3, 0x11D4, { 0xBD, 0x00, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
57 gEfiWinNtUgaGuid = { 0xAB248E99, 0xABE1, 0x11D4, { 0xBD, 0x0D, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
58 gEfiWinNtGopGuid = { 0x4e11e955, 0xccca, 0x11d4, { 0xbd, 0x0d, 0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81 }}
\r
59 gEfiWinNtSerialPortGuid = { 0x0C95A93D, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
60 gEfiWinNtFileSystemGuid = { 0x0C95A935, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
61 gEfiWinNtPhysicalDisksGuid = { 0x0C95A92F, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
62 gEfiWinNtVirtualDisksGuid = { 0x0C95A928, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
63 gEfiNt32PkgTokenSpaceGuid = { 0x0D79A645, 0x1D91, 0x40a6, { 0xA8, 0x1F, 0x61, 0xE6, 0x98, 0x2B, 0x32, 0xB4 }}
\r
64 gEfiWinNtSystemConfigGuid = { 0xb347f047, 0xaf8c, 0x490e, { 0xac, 0x07, 0x0a, 0xa9, 0xb7, 0xe5, 0x38, 0x58 }}
\r
67 # Protocols provided by Nt32Pkg for all architecture.
\r
70 gWinNtBusDriverGuid = { 0x0419f582, 0x0625, 0x4531, { 0x8a, 0x33, 0x85, 0xa9, 0x96, 0x5c, 0x95, 0xbc }}
\r
71 gEfiWinNtThunkProtocolGuid = { 0x58C518B1, 0x76F3, 0x11D4, { 0xBC, 0xEA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
72 gEfiWinNtIoProtocolGuid = { 0x96EB4AD6, 0xA32A, 0x11D4, { 0xBC, 0xFD, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
\r
75 # Ppis provide by Nt32Pkg for all architecture
\r
78 ## This PPI wrapper all necessary windows API used by PEI driver in NT32 environment.
\r
79 gPeiNtThunkPpiGuid = { 0x98c281e5, 0xf906, 0x43dd, { 0xa9, 0x2b, 0xb0, 0x03, 0xbf, 0x27, 0x65, 0xda }}
\r
80 ## This PPI provide system memory scan interface which simulate real platform perform
\r
81 # memory's auto scan.
\r
82 gPeiNtAutoScanPpiGuid = { 0x0dce384d, 0x007c, 0x4ba5, { 0x94, 0xbd, 0x0f, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 }}
\r
83 ## This PPI provide interace to loads and relocates a PE/COFF image into memory.
\r
84 gNtPeiLoadFilePpiGuid = { 0xfd0c65eb, 0x0405, 0x4cd2, { 0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 }}
\r
85 ## This PPI instance hold information for an simulated firmware device.
\r
86 gNtFwhPpiGuid = { 0x4e76928f, 0x50ad, 0x4334, {0xb0, 0x6b, 0xa8, 0x42, 0x13, 0x10, 0x8a, 0x57 }}
\r
88 ## This section list all "Fixed At Build" type PCD produced by NT32 package.
\r
90 # "Fixed At Build" type PCD can be seems as constant and its value will not be
\r
91 # changed after customized in DSC file.
\r
93 [PcdsFixedAtBuild.common]
\r
94 gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode|1|UINT32|0x00001006
\r
95 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume|L"..\\Fv\\Fv_Recovery.fd"|VOID*|0x00001009
\r
96 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain|L"64!64"|VOID*|0x0000100c
\r
98 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase|0x0|UINT32|0x0000100e
\r
99 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize|0x0|UINT32|0x0000100f
\r
100 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase|0x0|UINT32|0x00001010
\r
101 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize|0x0|UINT32|0x00001011
\r
102 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareFdSize|0x0|UINT32|0x00001012
\r
103 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareBlockSize|0|UINT32|0x00001013
\r
105 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase|0x0|UINT32|0x00001014
\r
106 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase|0x0|UINT32|0x00001015
\r
107 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwWorkingBase|0x0|UINT32|0x00001016
\r
108 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddress|0x0|UINT32|0x00001017
\r
110 ## This section list all "Dynamic" type PCD produced by NT32 package.
\r
112 # "Dynamic" type PCD will be managed by PCD database driver at execution time.
\r
113 # its value can be modified by PCD_PPI/PCD_PROTOCOL at execution time.
\r
115 [PcdsDynamic.common]
\r
116 gEfiNt32PkgTokenSpaceGuid.PcdWinNtPhysicalDisk|L"E:RW;245760;512"|VOID*|0x00001000
\r
117 gEfiNt32PkgTokenSpaceGuid.PcdWinNtVirtualDisk|L"FW;40960;512"|VOID*|0x00001001
\r
118 gEfiNt32PkgTokenSpaceGuid.PcdWinNtSerialPort|L"COM1!COM2"|VOID*|0x00001002
\r
119 gEfiNt32PkgTokenSpaceGuid.PcdWinNtUga|L"UGA Window 1!UGA Window 2"|VOID*|0x00001003
\r
120 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFileSystem|L".!..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps"|VOID*|0x00001004
\r
121 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySize|L"64!64"|VOID*|0x00001005
\r
122 gEfiNt32PkgTokenSpaceGuid.PcdWinNtConsole|L"Bus Driver Console Window"|VOID*|0x0000100a
\r
123 gEfiNt32PkgTokenSpaceGuid.PcdWinNtGop|L"UGA Window 1!UGA Window 2"|VOID*|0x0000100d
\r
125 ## This section list all "PatchableInModule" type PCD produced by NT32 package.
\r
126 # "PatchableInModule" type PCD can be seems as global variable and its value is
\r
127 # stored in PE file data section of module. This type PCD mainly is designed for
\r
130 [PcdsPatchableInModule.common]
\r
131 gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode|1|UINT32|0x00001006
\r
132 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume|L"..\\Fv\\Fv_Recovery.fd"|VOID*|0x00001009
\r
133 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain|L"64!64"|VOID*|0x0000100c
\r