Original range calculation in GetNextFile() is incorrect.
[people/mcb30/edk2.git] / edk2 / EdkUnixPkg / EdkUnixPkg.spd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--\r
3 Copyright (c) 2006, Intel Corporation\r
4 All rights reserved. This program and the accompanying materials\r
5 are licensed and made available under the terms and conditions of the BSD License\r
6 which accompanies this distribution.  The full text of the license may be found at\r
7 http://opensource.org/licenses/bsd-license.php\r
8 \r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11 -->\r
12 <PackageSurfaceArea  xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
13   <SpdHeader>\r
14     <PackageName>EdkUnixPkg</PackageName>\r
15     <GuidValue>f2805c44-8985-11db-9e98-0040d02b1835</GuidValue>\r
16     <Version>0.3</Version>\r
17     <Abstract>This is the Unix Emulation Environment Platform</Abstract>\r
18     <Description>Reference platform implementation using an emulator.</Description>\r
19     <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>\r
20     <License>All rights reserved.
21       This program and the accompanying materials are licensed and made available 
22       under the terms and conditions of the BSD License which accompanies this distribution.
23       The full text of the license may be found at http://opensource.org/licenses/bsd-license.php
24       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES
25       OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
26     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
27   </SpdHeader>\r
28   <PackageDefinitions>\r
29     <ReadOnly>true</ReadOnly>\r
30     <RePackage>false</RePackage>\r
31   </PackageDefinitions>\r
32   <LibraryClassDeclarations>\r
33     <LibraryClass Name="EdkGenericBdsLib">\r
34       <IncludeHeader>Include/Library/EdkGenericBdsLib.h</IncludeHeader>\r
35       <HelpText/>\r
36     </LibraryClass>\r
37     <LibraryClass Name="UnixLib">\r
38       <IncludeHeader>Include/Library/UnixLib.h</IncludeHeader>\r
39       <HelpText/>\r
40     </LibraryClass>\r
41   </LibraryClassDeclarations>\r
42   <IndustryStdIncludes>\r
43     <IndustryStdHeader Name="UnixInclude">\r
44       <IncludeHeader>Include/Common/UnixInclude.h</IncludeHeader>\r
45       <HelpText/>\r
46     </IndustryStdHeader>\r
47     <IndustryStdHeader Name="EdkGenericBdsLib">\r
48       <IncludeHeader>Include/library/EdkGenericBdsLib.h</IncludeHeader>\r
49       <HelpText/>\r
50     </IndustryStdHeader>\r
51     <IndustryStdHeader Name="UnixLib">\r
52       <IncludeHeader>Include/library/UnixLib.h</IncludeHeader>\r
53       <HelpText/>\r
54     </IndustryStdHeader>\r
55     <IndustryStdHeader Name="NtAutoscan">\r
56       <IncludeHeader>Include/Ppi/NtAutoscan.h</IncludeHeader>\r
57       <HelpText/>\r
58     </IndustryStdHeader>\r
59     <IndustryStdHeader Name="NtFwh">\r
60       <IncludeHeader>Include/Ppi/NtFwh.h</IncludeHeader>\r
61       <HelpText/>\r
62     </IndustryStdHeader>\r
63     <IndustryStdHeader Name="NtPeiLoadFile">\r
64       <IncludeHeader>Include/Ppi/NtPeiLoadFile.h</IncludeHeader>\r
65       <HelpText/>\r
66     </IndustryStdHeader>\r
67     <IndustryStdHeader Name="NtThunk">\r
68       <IncludeHeader>Include/Ppi/NtThunk.h</IncludeHeader>\r
69       <HelpText/>\r
70     </IndustryStdHeader>\r
71     <IndustryStdHeader Name="UnixIo">\r
72       <IncludeHeader>Include/Protocol/UnixIo.h</IncludeHeader>\r
73       <HelpText/>\r
74     </IndustryStdHeader>\r
75     <IndustryStdHeader Name="UnixThunk">\r
76       <IncludeHeader>Include/Protocol/UnixThunk.h</IncludeHeader>\r
77       <HelpText/>\r
78     </IndustryStdHeader>\r
79     <IndustryStdHeader Name="UnixUgaIo">\r
80       <IncludeHeader>Include/Protocol/UnixUgaIo.h</IncludeHeader>\r
81       <HelpText/>\r
82     </IndustryStdHeader>\r
83     <IndustryStdHeader Name="FlashLayout">\r
84       <IncludeHeader>Include/FlashLayout.h</IncludeHeader>\r
85       <HelpText/>\r
86     </IndustryStdHeader>\r
87     <IndustryStdHeader Name="UnixDxe">\r
88       <IncludeHeader>Include/UnixDxe.h</IncludeHeader>\r
89       <HelpText/>\r
90     </IndustryStdHeader>\r
91     <IndustryStdHeader Name="UnixPeim">\r
92       <IncludeHeader>Include/UnixPeim.h</IncludeHeader>\r
93       <HelpText/>\r
94     </IndustryStdHeader>\r
95   </IndustryStdIncludes>\r
96   <MsaFiles>\r
97     <Filename>Dxe/UnixPlatform/MiscSubclass/MiscSubclassDriver.msa</Filename>\r
98     <Filename>Dxe/PlatformBds/PlatformBds.msa</Filename>\r
99     <Filename>Dxe/UnixThunk/Bus/BlockIo/UnixBlockIo.msa</Filename>\r
100     <Filename>Dxe/UnixThunk/Bus/Console/UnixConsole.msa</Filename>\r
101     <Filename>Dxe/UnixThunk/Bus/SimpleFileSystem/UnixSimpleFileSystem.msa</Filename>\r
102     <Filename>Dxe/UnixThunk/Bus/Uga/UnixUga.msa</Filename>\r
103     <Filename>Dxe/UnixThunk/Bus/UnixBusDriver/UnixBusDriver.msa</Filename>\r
104     <Filename>Dxe/UnixThunk/Chipset/Metronome/Metronome.msa</Filename>\r
105     <Filename>Dxe/UnixThunk/Chipset/RealTimeClock/RealTimeClock.msa</Filename>\r
106     <Filename>Dxe/UnixThunk/Chipset/Reset/Reset.msa</Filename>\r
107     <Filename>Dxe/UnixThunk/Chipset/Timer/Timer.msa</Filename>\r
108     <Filename>Dxe/UnixThunk/Cpu/Cpu.msa</Filename>\r
109     <Filename>Dxe/UnixThunk/UnixThunk/UnixThunk.msa</Filename>\r
110     <Filename>Library/DxeUnixLib/DxeUnixLib.msa</Filename>\r
111     <Filename>Library/UnixTimerLibNull/UnixTimerLib.msa</Filename>\r
112     <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>\r
113     <Filename>Library/EdkUnixPeiPeCoffGetEntryPointLib/EdkUnixPeiPeCoffGetEntryPointLib.msa</Filename>\r
114     <Filename>Library/UnixPeCoffLoaderLib/UnixPeCoffLoaderLib.msa</Filename>\r
115     <Filename>Library/UnixOemHookStatusCodeLib/UnixOemHookStatusCodeLib.msa</Filename>\r
116     <Filename>Logo/Logo.msa</Filename>\r
117     <Filename>Pei/AutoScan/UnixAutoScan.msa</Filename>\r
118     <Filename>Pei/BootMode/BootMode.msa</Filename>\r
119     <Filename>Pei/FirmwareVolume/UnixFwh.msa</Filename>\r
120     <Filename>Pei/FlashMap/FlashMap.msa</Filename>\r
121     <Filename>Pei/UnixStuff/UnixStuff.msa</Filename>\r
122     <Filename>RuntimeDxe/FvbServices/UnixFwh.msa</Filename>\r
123     <Filename>Sec/SecMain.msa</Filename>\r
124   </MsaFiles>\r
125   <PackageHeaders>\r
126     <IncludePkgHeader ModuleType="SEC">Include/UnixPeim.h</IncludePkgHeader>\r
127     <IncludePkgHeader ModuleType="PEIM">Include/UnixPeim.h</IncludePkgHeader>\r
128     <IncludePkgHeader ModuleType="DXE_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
129     <IncludePkgHeader ModuleType="DXE_RUNTIME_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
130     <IncludePkgHeader ModuleType="DXE_SMM_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
131     <IncludePkgHeader ModuleType="DXE_SAL_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
132     <IncludePkgHeader ModuleType="UEFI_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
133     <IncludePkgHeader ModuleType="USER_DEFINED">Include/UnixPeim.h</IncludePkgHeader>\r
134   </PackageHeaders>\r
135   <GuidDeclarations>\r
136     <Entry Name="EdkUnixPkgTokenSpace">\r
137       <C_Name>gEfiEdkUnixPkgTokenSpaceGuid</C_Name>\r
138       <GuidValue>f2b6838c-8985-11db-9d1c-0040d02b1835</GuidValue>\r
139       <HelpText>All PCD define in EdkUnixPkg is in this token space scope</HelpText>\r
140     </Entry>  \r
141     <Entry Name="UnixVirtualDisks">\r
142       <C_Name>gEfiUnixVirtualDisksGuid</C_Name>\r
143       <GuidValue>f2ba331a-8985-11db-a406-0040d02b1835</GuidValue>\r
144       <HelpText/>\r
145     </Entry>\r
146     <Entry Name="UnixPhysicalDisks">\r
147       <C_Name>gEfiUnixPhysicalDisksGuid</C_Name>\r
148       <GuidValue>f2bdcc96-8985-11db-8719-0040d02b1835</GuidValue>\r
149       <HelpText/>\r
150     </Entry>\r
151     <Entry Name="UnixFileSystem">\r
152       <C_Name>gEfiUnixFileSystemGuid</C_Name>\r
153       <GuidValue>f2c16b9e-8985-11db-92c8-0040d02b1835</GuidValue>\r
154       <HelpText/>\r
155     </Entry>\r
156     <Entry Name="UnixUga">\r
157       <C_Name>gEfiUnixUgaGuid</C_Name>\r
158       <GuidValue>f2c8b80e-8985-11db-93f1-0040d02b1835</GuidValue>\r
159       <HelpText/>\r
160     </Entry>\r
161     <Entry Name="UnixConsole">\r
162       <C_Name>gEfiUnixConsoleGuid</C_Name>\r
163       <GuidValue>f2cc5d06-8985-11db-bb19-0040d02b1835</GuidValue>\r
164       <HelpText/>\r
165     </Entry>\r
166     <Entry Name="UnixMemory">\r
167       <C_Name>gEfiUnixMemoryGuid</C_Name>\r
168       <GuidValue>f2d006cc-8985-11db-a472-0040d02b1835</GuidValue>\r
169       <HelpText/>\r
170     </Entry>\r
171     <Entry Name="UnixCPUModel">\r
172       <C_Name>gEfiUnixCPUModelGuid</C_Name>\r
173       <GuidValue>f2d3b330-8985-11db-8aa3-0040d02b1835</GuidValue>\r
174       <HelpText/>\r
175     </Entry>\r
176     <Entry Name="UnixCPUSpeed">\r
177       <C_Name>gEfiUnixCPUSpeedGuid</C_Name>\r
178       <GuidValue>f2d74e5a-8985-11db-9705-0040d02b1835</GuidValue>\r
179       <HelpText/>\r
180     </Entry>\r
181     <Entry Name="PcdHob">\r
182       <C_Name>gPcdHobGuid</C_Name>\r
183       <GuidValue>f2de8f12-8985-11db-aabc-0040d02b1835</GuidValue>\r
184       <HelpText/>\r
185     </Entry>\r
186   </GuidDeclarations>\r
187   <ProtocolDeclarations>\r
188     <Entry Name="UnixIo">\r
189       <C_Name>gEfiUnixIoProtocolGuid</C_Name>\r
190       <GuidValue>f2e23f54-8985-11db-ac79-0040d02b1835</GuidValue>\r
191       <HelpText/>\r
192     </Entry>\r
193     <Entry Name="UnixUgaIo">\r
194       <C_Name>gEfiUnixUgaIoProtocolGuid</C_Name>\r
195       <GuidValue>f2e5e2c6-8985-11db-a191-0040d02b1835</GuidValue>\r
196       <HelpText/>\r
197     </Entry>\r
198     <Entry Name="UnixThunk">\r
199       <C_Name>gEfiUnixThunkProtocolGuid</C_Name>\r
200       <GuidValue>f2e98868-8985-11db-9a59-0040d02b1835</GuidValue>\r
201       <HelpText/>\r
202     </Entry>\r
203   </ProtocolDeclarations>\r
204   <PpiDeclarations>\r
205     <Entry Name="UnixAutoScan">\r
206       <C_Name>gPeiUnixAutoScanPpiGuid</C_Name>\r
207       <GuidValue>f2ed3d14-8985-11db-b057-0040d02b1835</GuidValue>\r
208       <HelpText/>\r
209     </Entry>\r
210     <Entry Name="UnixFwh">\r
211       <C_Name>gUnixFwhPpiGuid</C_Name>\r
212       <GuidValue>f2f0dc30-8985-11db-a15b-0040d02b1835</GuidValue>\r
213       <HelpText/>\r
214     </Entry>\r
215     <Entry Name="UnixPeiLoadFile">\r
216       <C_Name>gUnixPeiLoadFilePpiGuid</C_Name>\r
217       <GuidValue>f2f48768-8985-11db-b8da-0040d02b1835</GuidValue>\r
218       <HelpText/>\r
219     </Entry>\r
220     <Entry Name="UnixThunk">\r
221       <C_Name>gPeiUnixThunkPpiGuid</C_Name>\r
222       <GuidValue>f2f830f2-8985-11db-806b-0040d02b1835</GuidValue>\r
223       <HelpText/>\r
224     </Entry>\r
225   </PpiDeclarations>\r
226   <PcdDeclarations>\r
227     <PcdEntry>\r
228       <C_Name>PcdUnixPhysicalDisk</C_Name>\r
229       <Token>0x00001000</Token>\r
230       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
231       <DatumType>VOID*</DatumType>\r
232       <ValidUsage>DYNAMIC</ValidUsage>\r
233       <DefaultValue>L"E:RW;245760;512"</DefaultValue>\r
234       <HelpText>This PCD defines physical disk which will be simualted as a \r
235         harddisk in simulator. The item type of this PCD can only be "DYNAMIC".</HelpText>\r
236     </PcdEntry>\r
237     <PcdEntry>\r
238       <C_Name>PcdUnixVirtualDisk</C_Name>\r
239       <Token>0x00001001</Token>\r
240       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
241       <DatumType>VOID*</DatumType>\r
242       <ValidUsage>DYNAMIC</ValidUsage>\r
243       <DefaultValue>L"FW;40960;512"</DefaultValue>\r
244       <HelpText>This PCD defines the devices which use a file to emulate a hard disk or \r
245         removable media device.The item type of this PCD can only be "DYNAMIC".</HelpText>\r
246     </PcdEntry>\r
247     <PcdEntry>\r
248       <C_Name>PcdUnixUga</C_Name>\r
249       <Token>0x00001003</Token>\r
250       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
251       <DatumType>VOID*</DatumType>\r
252       <ValidUsage>DYNAMIC</ValidUsage>\r
253       <DefaultValue>L"UGA Window"</DefaultValue>\r
254       <HelpText>This PCD declares the resolutions for the UGA windows.\r
255         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
256     </PcdEntry>\r
257     <PcdEntry>\r
258       <C_Name>PcdUnixFileSystem</C_Name>\r
259       <Token>0x00001004</Token>\r
260       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
261       <DatumType>VOID*</DatumType>\r
262       <ValidUsage>DYNAMIC</ValidUsage>\r
263       <DefaultValue>L".!..\\..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps"</DefaultValue>\r
264       <HelpText>This PCD defines the host directory who will be mounted as \r
265         harddisk in simulator.\r
266         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
267     </PcdEntry>\r
268     <PcdEntry>\r
269       <C_Name>PcdUnixMemorySize</C_Name>\r
270       <Token>0x00001005</Token>\r
271       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
272       <DatumType>VOID*</DatumType>\r
273       <ValidUsage>DYNAMIC</ValidUsage>\r
274       <DefaultValue>L"64!64"</DefaultValue>\r
275       <HelpText>This PCD defines the memory size of simulated machine. Simulator will allocate\r
276         the size of PcdUnixMemorySize in host platform.\r
277         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
278     </PcdEntry>\r
279     <PcdEntry>\r
280       <C_Name>PcdUnixBootMode</C_Name>\r
281       <Token>0x00001006</Token>\r
282       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
283       <DatumType>UINT32</DatumType>\r
284       <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
285       <DefaultValue>1</DefaultValue>\r
286       <HelpText>This PCD defines the boot mode for simualtor. \r
287         The boot mode can be set as following value:\r
288           0x0:  Boot with full configuration.\r
289           0x1:  Boot with minimal configuration.\r
290           0x2:  Boot assume no configuration changes.\r
291           0x3:  Boot with full configuration plus diagnostics.\r
292           0x4:  Boot with default settings.\r
293           0x5:  Boot on S4 resume.\r
294           0x6:  Boot on S5 resume.\r
295           0x10: Boot on S2 resume. \r
296           0x11: Boot on S3 resume.\r
297           0x12: Boot on flash update.\r
298           0x20: Boot in reovery mode.</HelpText>\r
299     </PcdEntry>\r
300     <PcdEntry>\r
301       <C_Name>PcdUnixCpuModel</C_Name>\r
302       <Token>0x00001007</Token>\r
303       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
304       <DatumType>VOID*</DatumType>\r
305       <ValidUsage>DYNAMIC</ValidUsage>\r
306       <DefaultValue>L"Intel(R) Processor Model"</DefaultValue>\r
307       <HelpText>This PCD defines simulated CPU model string.\r
308         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
309     </PcdEntry>\r
310     <PcdEntry>\r
311       <C_Name>PcdUnixCpuSpeed</C_Name>\r
312       <Token>0x00001008</Token>\r
313       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
314       <DatumType>VOID*</DatumType>\r
315       <ValidUsage>DYNAMIC</ValidUsage>\r
316       <DefaultValue>L"3000"</DefaultValue>\r
317       <HelpText>This PCD defines simulated CPU speed string.\r
318         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
319     </PcdEntry>\r
320     <PcdEntry>\r
321       <C_Name>PcdUnixFirmwareVolume</C_Name>\r
322       <Token>0x00001009</Token>\r
323       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
324       <DatumType>VOID*</DatumType>\r
325       <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
326       <DefaultValue>L"..\\Fv\\Fv_Recovery.fd"</DefaultValue>\r
327       <HelpText>This PCD defines the FD file path string. Simulator will load the FD file and execute.</HelpText>\r
328     </PcdEntry>\r
329     <PcdEntry>\r
330       <C_Name>PcdUnixConsole</C_Name>\r
331       <Token>0x0000100a</Token>\r
332       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
333       <DatumType>VOID*</DatumType>\r
334       <ValidUsage>DYNAMIC</ValidUsage>\r
335       <DefaultValue>L"Bus Driver Console Window"</DefaultValue>\r
336       <HelpText>This PCD declares the title string of the text console window. \r
337         such as "My EFI Console".\r
338         The item type of this PCD can only be "DYNAMIC".</HelpText>\r
339     </PcdEntry>\r
340     <PcdEntry>\r
341       <C_Name>PcdUnixStatusCodeLibUseForPei</C_Name>\r
342       <Token>0x0000100b</Token>\r
343       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
344       <DatumType>BOOLEAN</DatumType>\r
345       <ValidUsage>FEATURE_FLAG</ValidUsage>\r
346       <DefaultValue>FALSE</DefaultValue>\r
347       <HelpText>Select which type of driver the library links against.</HelpText>\r
348     </PcdEntry>\r
349     <PcdEntry>\r
350       <C_Name>PcdUnixMemorySizeForSecMain</C_Name>\r
351       <Token>0x0000100c</Token>\r
352       <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
353       <DatumType>VOID*</DatumType>\r
354       <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
355       <DefaultValue>L"64!64"</DefaultValue>\r
356       <HelpText>This PCD defines the memory size of simulated machine. Simulator will allocate\r
357         the size of PcdUnixMemorySizeForSecMain in host platform.</HelpText>\r
358     </PcdEntry>\r
359   </PcdDeclarations>\r
360 </PackageSurfaceArea>