]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkUnixPkg/EdkUnixPkg.spd
Unix version of EFI emulator
[mirror_edk2.git] / EdkUnixPkg / EdkUnixPkg.spd
diff --git a/EdkUnixPkg/EdkUnixPkg.spd b/EdkUnixPkg/EdkUnixPkg.spd
new file mode 100644 (file)
index 0000000..f43a44b
--- /dev/null
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<PackageSurfaceArea  xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+  <SpdHeader>\r
+    <PackageName>EdkUnixPkg</PackageName>\r
+    <GuidValue>f2805c44-8985-11db-9e98-0040d02b1835</GuidValue>\r
+    <Version>0.3</Version>\r
+    <Abstract>This is the Unix Emulation Environment Platform</Abstract>\r
+    <Description>Reference platform implementation using an emulator.</Description>\r
+    <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>\r
+    <License>All rights reserved.
+      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
+      OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
+  </SpdHeader>\r
+  <PackageDefinitions>\r
+    <ReadOnly>true</ReadOnly>\r
+    <RePackage>false</RePackage>\r
+  </PackageDefinitions>\r
+  <LibraryClassDeclarations>\r
+    <LibraryClass Name="EdkGenericBdsLib">\r
+      <IncludeHeader>Include/Library/EdkGenericBdsLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </LibraryClass>\r
+    <LibraryClass Name="UnixLib">\r
+      <IncludeHeader>Include/Library/UnixLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </LibraryClass>\r
+  </LibraryClassDeclarations>\r
+  <IndustryStdIncludes>\r
+    <IndustryStdHeader Name="UnixInclude">\r
+      <IncludeHeader>Include/Common/UnixInclude.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="EdkGenericBdsLib">\r
+      <IncludeHeader>Include/library/EdkGenericBdsLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="UnixLib">\r
+      <IncludeHeader>Include/library/UnixLib.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="UnixIo">\r
+      <IncludeHeader>Include/Protocol/UnixIo.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="UnixThunk">\r
+      <IncludeHeader>Include/Protocol/UnixThunk.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="UnixUgaIo">\r
+      <IncludeHeader>Include/Protocol/UnixUgaIo.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="FlashLayout">\r
+      <IncludeHeader>Include/FlashLayout.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="UnixDxe">\r
+      <IncludeHeader>Include/UnixDxe.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+    <IndustryStdHeader Name="UnixPeim">\r
+      <IncludeHeader>Include/UnixPeim.h</IncludeHeader>\r
+      <HelpText/>\r
+    </IndustryStdHeader>\r
+  </IndustryStdIncludes>\r
+  <MsaFiles>\r
+    <Filename>Dxe/UnixPlatform/MiscSubclass/MiscSubclassDriver.msa</Filename>\r
+    <Filename>Dxe/PlatformBds/PlatformBds.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Bus/BlockIo/UnixBlockIo.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Bus/Console/UnixConsole.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Bus/SimpleFileSystem/UnixSimpleFileSystem.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Bus/Uga/UnixUga.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Bus/UnixBusDriver/UnixBusDriver.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Chipset/Metronome/Metronome.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Chipset/RealTimeClock/RealTimeClock.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Chipset/Reset/Reset.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Chipset/Timer/Timer.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/Cpu/Cpu.msa</Filename>\r
+    <Filename>Dxe/UnixThunk/UnixThunk/UnixThunk.msa</Filename>\r
+    <Filename>Library/DxeUnixLib/DxeUnixLib.msa</Filename>\r
+    <Filename>Library/UnixTimerLibNull/UnixTimerLib.msa</Filename>\r
+    <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>\r
+    <Filename>Library/EdkUnixPeiPeCoffGetEntryPointLib/EdkUnixPeiPeCoffGetEntryPointLib.msa</Filename>\r
+    <Filename>Library/UnixPeCoffLoaderLib/UnixPeCoffLoaderLib.msa</Filename>\r
+    <Filename>Library/UnixOemHookStatusCodeLib/UnixOemHookStatusCodeLib.msa</Filename>\r
+    <Filename>Logo/Logo.msa</Filename>\r
+    <Filename>Pei/AutoScan/UnixAutoScan.msa</Filename>\r
+    <Filename>Pei/BootMode/BootMode.msa</Filename>\r
+    <Filename>Pei/FirmwareVolume/UnixFwh.msa</Filename>\r
+    <Filename>Pei/FlashMap/FlashMap.msa</Filename>\r
+    <Filename>Pei/UnixStuff/UnixStuff.msa</Filename>\r
+    <Filename>RuntimeDxe/FvbServices/UnixFwh.msa</Filename>\r
+    <Filename>Sec/SecMain.msa</Filename>\r
+  </MsaFiles>\r
+  <PackageHeaders>\r
+    <IncludePkgHeader ModuleType="SEC">Include/UnixPeim.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="PEIM">Include/UnixPeim.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="DXE_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="DXE_RUNTIME_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="DXE_SMM_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="DXE_SAL_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="UEFI_DRIVER">Include/UnixDxe.h</IncludePkgHeader>\r
+    <IncludePkgHeader ModuleType="USER_DEFINED">Include/UnixPeim.h</IncludePkgHeader>\r
+  </PackageHeaders>\r
+  <GuidDeclarations>\r
+    <Entry Name="EdkUnixPkgTokenSpace">\r
+      <C_Name>gEfiEdkUnixPkgTokenSpaceGuid</C_Name>\r
+      <GuidValue>f2b6838c-8985-11db-9d1c-0040d02b1835</GuidValue>\r
+      <HelpText>All PCD define in EdkUnixPkg is in this token space scope</HelpText>\r
+    </Entry>  \r
+    <Entry Name="UnixVirtualDisks">\r
+      <C_Name>gEfiUnixVirtualDisksGuid</C_Name>\r
+      <GuidValue>f2ba331a-8985-11db-a406-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixPhysicalDisks">\r
+      <C_Name>gEfiUnixPhysicalDisksGuid</C_Name>\r
+      <GuidValue>f2bdcc96-8985-11db-8719-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixFileSystem">\r
+      <C_Name>gEfiUnixFileSystemGuid</C_Name>\r
+      <GuidValue>f2c16b9e-8985-11db-92c8-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixUga">\r
+      <C_Name>gEfiUnixUgaGuid</C_Name>\r
+      <GuidValue>f2c8b80e-8985-11db-93f1-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixConsole">\r
+      <C_Name>gEfiUnixConsoleGuid</C_Name>\r
+      <GuidValue>f2cc5d06-8985-11db-bb19-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixMemory">\r
+      <C_Name>gEfiUnixMemoryGuid</C_Name>\r
+      <GuidValue>f2d006cc-8985-11db-a472-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixCPUModel">\r
+      <C_Name>gEfiUnixCPUModelGuid</C_Name>\r
+      <GuidValue>f2d3b330-8985-11db-8aa3-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixCPUSpeed">\r
+      <C_Name>gEfiUnixCPUSpeedGuid</C_Name>\r
+      <GuidValue>f2d74e5a-8985-11db-9705-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="PcdHob">\r
+      <C_Name>gPcdHobGuid</C_Name>\r
+      <GuidValue>f2de8f12-8985-11db-aabc-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+  </GuidDeclarations>\r
+  <ProtocolDeclarations>\r
+    <Entry Name="UnixIo">\r
+      <C_Name>gEfiUnixIoProtocolGuid</C_Name>\r
+      <GuidValue>f2e23f54-8985-11db-ac79-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixUgaIo">\r
+      <C_Name>gEfiUnixUgaIoProtocolGuid</C_Name>\r
+      <GuidValue>f2e5e2c6-8985-11db-a191-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixThunk">\r
+      <C_Name>gEfiUnixThunkProtocolGuid</C_Name>\r
+      <GuidValue>f2e98868-8985-11db-9a59-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+  </ProtocolDeclarations>\r
+  <PpiDeclarations>\r
+    <Entry Name="UnixAutoScan">\r
+      <C_Name>gPeiUnixAutoScanPpiGuid</C_Name>\r
+      <GuidValue>f2ed3d14-8985-11db-b057-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixFwh">\r
+      <C_Name>gUnixFwhPpiGuid</C_Name>\r
+      <GuidValue>f2f0dc30-8985-11db-a15b-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixPeiLoadFile">\r
+      <C_Name>gUnixPeiLoadFilePpiGuid</C_Name>\r
+      <GuidValue>f2f48768-8985-11db-b8da-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="UnixThunk">\r
+      <C_Name>gPeiUnixThunkPpiGuid</C_Name>\r
+      <GuidValue>f2f830f2-8985-11db-806b-0040d02b1835</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+  </PpiDeclarations>\r
+  <PcdDeclarations>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixPhysicalDisk</C_Name>\r
+      <Token>0x00001000</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\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>PcdUnixVirtualDisk</C_Name>\r
+      <Token>0x00001001</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>L"FW;40960;512"</DefaultValue>\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>PcdUnixUga</C_Name>\r
+      <Token>0x00001003</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>L"UGA Window"</DefaultValue>\r
+      <HelpText>This PCD declares the resolutions for the UGA windows.\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixFileSystem</C_Name>\r
+      <Token>0x00001004</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\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
+    <PcdEntry>\r
+      <C_Name>PcdUnixMemorySize</C_Name>\r
+      <Token>0x00001005</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\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 PcdUnixMemorySize in windows platform.\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixBootMode</C_Name>\r
+      <Token>0x00001006</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
+      <DefaultValue>1</DefaultValue>\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
+          0x2:  Boot assume no configuration changes.\r
+          0x3:  Boot with full configuration plus diagnostics.\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
+          0x11: Boot on S3 resume.\r
+          0x12: Boot on flash update.\r
+          0x20: Boot in reovery mode.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixCpuModel</C_Name>\r
+      <Token>0x00001007</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\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
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixCpuSpeed</C_Name>\r
+      <Token>0x00001008</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>L"3000"</DefaultValue>\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>PcdUnixFirmwareVolume</C_Name>\r
+      <Token>0x00001009</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\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>PcdUnixConsole</C_Name>\r
+      <Token>0x0000100a</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\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
+        such as "My EFI Console".\r
+        The item type of this PCD can only be "DYNAMIC".</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixStatusCodeLibUseForPei</C_Name>\r
+      <Token>0x0000100b</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Select which type of driver the library links against.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdUnixMemorySizeForSecMain</C_Name>\r
+      <Token>0x0000100c</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkUnixPkgTokenSpaceGuid</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 PcdUnixMemorySizeForSecMain in windows platform.</HelpText>\r
+    </PcdEntry>\r
+  </PcdDeclarations>\r
+</PackageSurfaceArea>