blob: 0606cfe9ff12b2694ad070b59c77c2f863221c04 [file] [log] [blame]
klu24e5d0402008-07-11 07:33:59 +00001## @file
2# This package is a platform package that provide platform module/library
3# required by NT32 platform.
klu225a201c2007-06-26 08:15:15 +00004#
klu24e5d0402008-07-11 07:33:59 +00005# File/Directory Orignazation:
6# |- Sec : Emulation SecCore for Nt32 platform
7# |- *Pei : PEIM drivers
8# |- *Dxe : DXE drivers
9# |- Nt32Pkg.dec : This file
10# |- Nt32Pkg.dsc : Nt32 platform DSC file
11# |- Nt32Pkg.fdf : Flash description file for Nt32Pkg. It is used for creating FD file.
12# |- Include : Include files for Nt32Pkg
13#
klu225a201c2007-06-26 08:15:15 +000014#
mdkinney58f80692011-05-05 16:16:00 +000015# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
klu225a201c2007-06-26 08:15:15 +000016#
hhtian8f2a5f82010-04-28 12:24:39 +000017# This program and the accompanying materials
klu24e5d0402008-07-11 07:33:59 +000018# are licensed and made available under the terms and conditions of the BSD License
19# which accompanies this distribution. The full text of the license may be found at
20# http://opensource.org/licenses/bsd-license.php
klu225a201c2007-06-26 08:15:15 +000021#
klu24e5d0402008-07-11 07:33:59 +000022# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
23# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
klu225a201c2007-06-26 08:15:15 +000024#
klu24e5d0402008-07-11 07:33:59 +000025#
klu225a201c2007-06-26 08:15:15 +000026
klu24e5d0402008-07-11 07:33:59 +000027## Basic definitions for Nt32 package.
klu225a201c2007-06-26 08:15:15 +000028#
klu225a201c2007-06-26 08:15:15 +000029
30[Defines]
31 DEC_SPECIFICATION = 0x00010005
32 PACKAGE_NAME = Nt32Pkg
33 PACKAGE_GUID = 0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3
34 PACKAGE_VERSION = 0.1
vanjeff35fec2c2007-07-02 05:52:03 +000035
klu24e5d0402008-07-11 07:33:59 +000036##
37# Include Paths that are provided by this package.
klu225a201c2007-06-26 08:15:15 +000038#
lgao47b202cb2010-02-23 23:58:38 +000039[Includes]
AJFISH3a98b772007-06-28 20:26:24 +000040 Include # Root include for the package
klu225a201c2007-06-26 08:15:15 +000041
klu24e5d0402008-07-11 07:33:59 +000042##
43# LibraryClasses provided by Nt32Pkg for all architecture.
klu225a201c2007-06-26 08:15:15 +000044#
lgao47b202cb2010-02-23 23:58:38 +000045[LibraryClasses]
klu24e5d0402008-07-11 07:33:59 +000046 ##
47 # Expose EFI_WIN_NT_THUNK_PROTOCOL's interface, this protocol wrapper all
48 # necessary Window API used by Nt32 enumlation environment.
klu225a201c2007-06-26 08:15:15 +000049 WinNtLib|Include/Library/WinNtLib.h
klu225a201c2007-06-26 08:15:15 +000050
klu24e5d0402008-07-11 07:33:59 +000051##
52# Guids provided by Nt32Pkg for all architecture.
klu225a201c2007-06-26 08:15:15 +000053#
lgao47b202cb2010-02-23 23:58:38 +000054[Guids]
klu225a201c2007-06-26 08:15:15 +000055 gEfiWinNtPassThroughGuid = { 0xCC664EB8, 0x3C24, 0x4086, { 0xB6, 0xF6, 0x34, 0xE8, 0x56, 0xBC, 0xE3, 0x6E }}
klu225a201c2007-06-26 08:15:15 +000056 gEfiWinNtConsoleGuid = { 0xBA73672C, 0xA5D3, 0x11D4, { 0xBD, 0x00, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
57 gEfiWinNtUgaGuid = { 0xAB248E99, 0xABE1, 0x11D4, { 0xBD, 0x0D, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
58 gEfiWinNtGopGuid = { 0x4e11e955, 0xccca, 0x11d4, { 0xbd, 0x0d, 0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81 }}
59 gEfiWinNtSerialPortGuid = { 0x0C95A93D, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
60 gEfiWinNtFileSystemGuid = { 0x0C95A935, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
61 gEfiWinNtPhysicalDisksGuid = { 0x0C95A92F, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
62 gEfiWinNtVirtualDisksGuid = { 0x0C95A928, 0xA006, 0x11D4, { 0xBC, 0xFA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
klu266f00592007-06-27 03:41:18 +000063 gEfiNt32PkgTokenSpaceGuid = { 0x0D79A645, 0x1D91, 0x40a6, { 0xA8, 0x1F, 0x61, 0xE6, 0x98, 0x2B, 0x32, 0xB4 }}
qhuang8fcf24ba2009-02-23 03:20:29 +000064 gEfiWinNtSystemConfigGuid = { 0xb347f047, 0xaf8c, 0x490e, { 0xac, 0x07, 0x0a, 0xa9, 0xb7, 0xe5, 0x38, 0x58 }}
jwang3632f148f2007-06-28 15:08:08 +000065
klu24e5d0402008-07-11 07:33:59 +000066##
67# Protocols provided by Nt32Pkg for all architecture.
klu225a201c2007-06-26 08:15:15 +000068#
lgao47b202cb2010-02-23 23:58:38 +000069[Protocols]
klu225a201c2007-06-26 08:15:15 +000070 gWinNtBusDriverGuid = { 0x0419f582, 0x0625, 0x4531, { 0x8a, 0x33, 0x85, 0xa9, 0x96, 0x5c, 0x95, 0xbc }}
71 gEfiWinNtThunkProtocolGuid = { 0x58C518B1, 0x76F3, 0x11D4, { 0xBC, 0xEA, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
72 gEfiWinNtIoProtocolGuid = { 0x96EB4AD6, 0xA32A, 0x11D4, { 0xBC, 0xFD, 0x00, 0x80, 0xC7, 0x3C, 0x88, 0x81 }}
73
klu24e5d0402008-07-11 07:33:59 +000074##
75# Ppis provide by Nt32Pkg for all architecture
vanjeff35fec2c2007-07-02 05:52:03 +000076#
lgao47b202cb2010-02-23 23:58:38 +000077[Ppis]
klu24e5d0402008-07-11 07:33:59 +000078 ## This PPI wrapper all necessary windows API used by PEI driver in NT32 environment.
vanjeff35fec2c2007-07-02 05:52:03 +000079 gPeiNtThunkPpiGuid = { 0x98c281e5, 0xf906, 0x43dd, { 0xa9, 0x2b, 0xb0, 0x03, 0xbf, 0x27, 0x65, 0xda }}
klu24e5d0402008-07-11 07:33:59 +000080 ## This PPI provide system memory scan interface which simulate real platform perform
81 # memory's auto scan.
vanjeff35fec2c2007-07-02 05:52:03 +000082 gPeiNtAutoScanPpiGuid = { 0x0dce384d, 0x007c, 0x4ba5, { 0x94, 0xbd, 0x0f, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 }}
klu24e5d0402008-07-11 07:33:59 +000083 ## This PPI provide interace to loads and relocates a PE/COFF image into memory.
klu22e19fd02007-07-03 09:18:19 +000084 gNtPeiLoadFilePpiGuid = { 0xfd0c65eb, 0x0405, 0x4cd2, { 0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 }}
klu24e5d0402008-07-11 07:33:59 +000085 ## This PPI instance hold information for an simulated firmware device.
klu22e19fd02007-07-03 09:18:19 +000086 gNtFwhPpiGuid = { 0x4e76928f, 0x50ad, 0x4334, {0xb0, 0x6b, 0xa8, 0x42, 0x13, 0x10, 0x8a, 0x57 }}
87
klu24e5d0402008-07-11 07:33:59 +000088## This section list all "Fixed At Build" type PCD produced by NT32 package.
klu225a201c2007-06-26 08:15:15 +000089#
klu24e5d0402008-07-11 07:33:59 +000090# "Fixed At Build" type PCD can be seems as constant and its value will not be
91# changed after customized in DSC file.
klu225a201c2007-06-26 08:15:15 +000092#
lgao47b202cb2010-02-23 23:58:38 +000093[PcdsFixedAtBuild]
qhuang8b3af5df2007-08-30 09:11:54 +000094 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase|0x0|UINT32|0x0000100e
95 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize|0x0|UINT32|0x0000100f
96 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase|0x0|UINT32|0x00001010
97 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize|0x0|UINT32|0x00001011
98 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareFdSize|0x0|UINT32|0x00001012
99 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareBlockSize|0|UINT32|0x00001013
yshang16d3aa332007-08-03 08:52:48 +0000100
qhuang8b3af5df2007-08-30 09:11:54 +0000101 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase|0x0|UINT32|0x00001014
102 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase|0x0|UINT32|0x00001015
103 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwWorkingBase|0x0|UINT32|0x00001016
104 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddress|0x0|UINT32|0x00001017
yshang16d3aa332007-08-03 08:52:48 +0000105
mdkinney58f80692011-05-05 16:16:00 +0000106## This section list all "PatchableInModule" type PCD produced by NT32 package.
107# "PatchableInModule" type PCD can be seems as global variable and its value is
108# stored in PE file data section of module. This type PCD mainly is designed for
109# binary module.
110#
111[PcdsFixedAtBuild, PcdsPatchableInModule]
112 gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode|1|UINT32|0x00001006
113 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume|L"..\\Fv\\Fv_Recovery.fd"|VOID*|0x00001009
114 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain|L"64!64"|VOID*|0x0000100c
115
klu24e5d0402008-07-11 07:33:59 +0000116## This section list all "Dynamic" type PCD produced by NT32 package.
117#
118# "Dynamic" type PCD will be managed by PCD database driver at execution time.
119# its value can be modified by PCD_PPI/PCD_PROTOCOL at execution time.
120#
mdkinney58f80692011-05-05 16:16:00 +0000121[PcdsDynamic, PcdsDynamicEx]
qhuang8b3af5df2007-08-30 09:11:54 +0000122 gEfiNt32PkgTokenSpaceGuid.PcdWinNtPhysicalDisk|L"E:RW;245760;512"|VOID*|0x00001000
123 gEfiNt32PkgTokenSpaceGuid.PcdWinNtVirtualDisk|L"FW;40960;512"|VOID*|0x00001001
124 gEfiNt32PkgTokenSpaceGuid.PcdWinNtSerialPort|L"COM1!COM2"|VOID*|0x00001002
klu2aed99042007-08-30 17:21:54 +0000125 gEfiNt32PkgTokenSpaceGuid.PcdWinNtUga|L"UGA Window 1!UGA Window 2"|VOID*|0x00001003
qhuang8b3af5df2007-08-30 09:11:54 +0000126 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFileSystem|L".!..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps"|VOID*|0x00001004
127 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySize|L"64!64"|VOID*|0x00001005
klu2aed99042007-08-30 17:21:54 +0000128 gEfiNt32PkgTokenSpaceGuid.PcdWinNtConsole|L"Bus Driver Console Window"|VOID*|0x0000100a
129 gEfiNt32PkgTokenSpaceGuid.PcdWinNtGop|L"UGA Window 1!UGA Window 2"|VOID*|0x0000100d
klu225a201c2007-06-26 08:15:15 +0000130