Check In tool source code based on Build tool project revision r1655.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 17 Jul 2009 09:10:31 +0000 (09:10 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 17 Jul 2009 09:10:31 +0000 (09:10 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8964 6f19259b-4bc3-4df7-8a09-765794883524

532 files changed:
BaseTools/BinWrappers/Darwin-i386 [new file with mode: 0644]
BaseTools/BinWrappers/Linux-i686 [new file with mode: 0644]
BaseTools/BinWrappers/Linux-x86_64 [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/BootSectImage [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/BuildEnv [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/Ecc [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/EfiLdrImage [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/EfiRom [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenCrc32 [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenDepex [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenFds [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenFfs [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenFv [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenFw [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenPage [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenSec [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GenVtf [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/GnuGenBootSector [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/LzmaCompress [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/RunBinToolFromBuildDir [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/RunToolFromSource [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/Split [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/TargetTool [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/TianoCompress [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/Trim [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/VfrCompile [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/VolInfo [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/build [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/fpd2dsc [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/msa2inf [new file with mode: 0644]
BaseTools/BinWrappers/PosixLike/spd2dec [new file with mode: 0644]
BaseTools/BuildNotes.txt [new file with mode: 0644]
BaseTools/ChangeLog.txt
BaseTools/Conf/XMLSchema/DistributionPackage.xsd [new file with mode: 0644]
BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig [new file with mode: 0644]
BaseTools/Conf/XMLSchema/WorkspaceContent.xsd [new file with mode: 0644]
BaseTools/GNUmakefile [new file with mode: 0644]
BaseTools/Makefile [new file with mode: 0644]
BaseTools/ReadMe.txt
BaseTools/Source/C/BootSectImage/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/BootSectImage/Makefile [new file with mode: 0644]
BaseTools/Source/C/BootSectImage/bootsectimage.c [new file with mode: 0644]
BaseTools/Source/C/BootSectImage/fat.h [new file with mode: 0644]
BaseTools/Source/C/BootSectImage/mbr.h [new file with mode: 0644]
BaseTools/Source/C/Common/BasePeCoff.c [new file with mode: 0644]
BaseTools/Source/C/Common/BinderFuncs.c [new file with mode: 0644]
BaseTools/Source/C/Common/BinderFuncs.h [new file with mode: 0644]
BaseTools/Source/C/Common/CommonLib.c [new file with mode: 0644]
BaseTools/Source/C/Common/CommonLib.h [new file with mode: 0644]
BaseTools/Source/C/Common/Compress.h [new file with mode: 0644]
BaseTools/Source/C/Common/Crc32.c [new file with mode: 0644]
BaseTools/Source/C/Common/Crc32.h [new file with mode: 0644]
BaseTools/Source/C/Common/Decompress.c [new file with mode: 0644]
BaseTools/Source/C/Common/Decompress.h [new file with mode: 0644]
BaseTools/Source/C/Common/EfiCompress.c [new file with mode: 0644]
BaseTools/Source/C/Common/EfiUtilityMsgs.c [new file with mode: 0644]
BaseTools/Source/C/Common/EfiUtilityMsgs.h [new file with mode: 0644]
BaseTools/Source/C/Common/FirmwareVolumeBuffer.c [new file with mode: 0644]
BaseTools/Source/C/Common/FirmwareVolumeBufferLib.h [new file with mode: 0644]
BaseTools/Source/C/Common/FvLib.c [new file with mode: 0644]
BaseTools/Source/C/Common/FvLib.h [new file with mode: 0644]
BaseTools/Source/C/Common/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/Common/Makefile [new file with mode: 0644]
BaseTools/Source/C/Common/MemoryFile.c [new file with mode: 0644]
BaseTools/Source/C/Common/MemoryFile.h [new file with mode: 0644]
BaseTools/Source/C/Common/MyAlloc.c [new file with mode: 0644]
BaseTools/Source/C/Common/MyAlloc.h [new file with mode: 0644]
BaseTools/Source/C/Common/OsPath.c [new file with mode: 0644]
BaseTools/Source/C/Common/OsPath.h [new file with mode: 0644]
BaseTools/Source/C/Common/ParseGuidedSectionTools.c [new file with mode: 0644]
BaseTools/Source/C/Common/ParseGuidedSectionTools.h [new file with mode: 0644]
BaseTools/Source/C/Common/ParseInf.c [new file with mode: 0644]
BaseTools/Source/C/Common/ParseInf.h [new file with mode: 0644]
BaseTools/Source/C/Common/PeCoffLib.h [new file with mode: 0644]
BaseTools/Source/C/Common/PeCoffLoaderEx.c [new file with mode: 0644]
BaseTools/Source/C/Common/SimpleFileParsing.c [new file with mode: 0644]
BaseTools/Source/C/Common/SimpleFileParsing.h [new file with mode: 0644]
BaseTools/Source/C/Common/StringFuncs.c [new file with mode: 0644]
BaseTools/Source/C/Common/StringFuncs.h [new file with mode: 0644]
BaseTools/Source/C/Common/TianoCompress.c [new file with mode: 0644]
BaseTools/Source/C/Common/WinNtInclude.h [new file with mode: 0644]
BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c [new file with mode: 0644]
BaseTools/Source/C/EfiLdrImage/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/EfiLdrImage/Makefile [new file with mode: 0644]
BaseTools/Source/C/EfiRom/EfiRom.c [new file with mode: 0644]
BaseTools/Source/C/EfiRom/EfiRom.h [new file with mode: 0644]
BaseTools/Source/C/EfiRom/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/EfiRom/Makefile [new file with mode: 0644]
BaseTools/Source/C/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenBootSector/FatFormat.h [new file with mode: 0644]
BaseTools/Source/C/GenBootSector/GenBootSector.c [new file with mode: 0644]
BaseTools/Source/C/GenBootSector/GetDrvNumOffset.c [new file with mode: 0644]
BaseTools/Source/C/GenBootSector/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenCrc32/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenCrc32/GenCrc32.c [new file with mode: 0644]
BaseTools/Source/C/GenCrc32/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenFfs/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenFfs/GenFfs.c [new file with mode: 0644]
BaseTools/Source/C/GenFfs/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenFv/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenFv/GenFv.c [new file with mode: 0644]
BaseTools/Source/C/GenFv/GenFvInternalLib.c [new file with mode: 0644]
BaseTools/Source/C/GenFv/GenFvInternalLib.h [new file with mode: 0644]
BaseTools/Source/C/GenFv/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenFw/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenFw/GenFw.c [new file with mode: 0644]
BaseTools/Source/C/GenFw/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenFw/elf32.h [new file with mode: 0644]
BaseTools/Source/C/GenFw/elf64.h [new file with mode: 0644]
BaseTools/Source/C/GenFw/elf_common.h [new file with mode: 0644]
BaseTools/Source/C/GenFw/elf_generic.h [new file with mode: 0644]
BaseTools/Source/C/GenPage/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenPage/GenPage.c [new file with mode: 0644]
BaseTools/Source/C/GenPage/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenPage/VirtualMemory.h [new file with mode: 0644]
BaseTools/Source/C/GenSec/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenSec/GenSec.c [new file with mode: 0644]
BaseTools/Source/C/GenSec/Makefile [new file with mode: 0644]
BaseTools/Source/C/GenVtf/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GenVtf/GenVtf.c [new file with mode: 0644]
BaseTools/Source/C/GenVtf/GenVtf.h [new file with mode: 0644]
BaseTools/Source/C/GenVtf/Makefile [new file with mode: 0644]
BaseTools/Source/C/GnuGenBootSector/FatFormat.h [new file with mode: 0644]
BaseTools/Source/C/GnuGenBootSector/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c [new file with mode: 0644]
BaseTools/Source/C/Include/Common/BaseTypes.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/MdeModuleHii.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/PiFirmwareFile.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/PiFirmwareVolume.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/UefiBaseTypes.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/UefiCapsule.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/UefiMultiPhase.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/VariableFormat.h [new file with mode: 0644]
BaseTools/Source/C/Include/Common/WorkingBlockHeader.h [new file with mode: 0644]
BaseTools/Source/C/Include/Guid/PcAnsi.h [new file with mode: 0644]
BaseTools/Source/C/Include/Guid/PiFirmwareFileSystem.h [new file with mode: 0644]
BaseTools/Source/C/Include/Ia32/ProcessorBind.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/Acpi.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/EfiPci.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/PeImage.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/pci22.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/pci23.h [new file with mode: 0644]
BaseTools/Source/C/Include/IndustryStandard/pci30.h [new file with mode: 0644]
BaseTools/Source/C/Include/Protocol/DevicePath.h [new file with mode: 0644]
BaseTools/Source/C/Include/Protocol/GraphicsOutput.h [new file with mode: 0644]
BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h [new file with mode: 0644]
BaseTools/Source/C/Include/Protocol/HiiFramework.h [new file with mode: 0644]
BaseTools/Source/C/Include/Protocol/UgaDraw.h [new file with mode: 0644]
BaseTools/Source/C/Include/X64/ProcessorBind.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/LZMA-SDK-README.txt [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/LzmaCompress.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Makefile [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/7zFile.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/7zFile.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/7zStream.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/7zVersion.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/Alloc.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/Alloc.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/CpuArch.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzFind.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzFind.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzFindMt.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzFindMt.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzHash.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaDec.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaDec.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/Threads.c [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/Threads.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/C/Types.h [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/history.txt [new file with mode: 0644]
BaseTools/Source/C/LzmaCompress/Sdk/lzma.txt [new file with mode: 0644]
BaseTools/Source/C/Makefile [new file with mode: 0644]
BaseTools/Source/C/Makefiles/NmakeSubdirs.bat [new file with mode: 0644]
BaseTools/Source/C/Makefiles/app.makefile [new file with mode: 0644]
BaseTools/Source/C/Makefiles/footer.makefile [new file with mode: 0644]
BaseTools/Source/C/Makefiles/header.makefile [new file with mode: 0644]
BaseTools/Source/C/Makefiles/lib.makefile [new file with mode: 0644]
BaseTools/Source/C/Makefiles/ms.app [new file with mode: 0644]
BaseTools/Source/C/Makefiles/ms.common [new file with mode: 0644]
BaseTools/Source/C/Makefiles/ms.lib [new file with mode: 0644]
BaseTools/Source/C/Makefiles/ms.rule [new file with mode: 0644]
BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c [new file with mode: 0644]
BaseTools/Source/C/PyEfiCompressor/Makefile [new file with mode: 0644]
BaseTools/Source/C/PyEfiCompressor/setup.py [new file with mode: 0644]
BaseTools/Source/C/PyUtility/Makefile [new file with mode: 0644]
BaseTools/Source/C/PyUtility/PyUtility.c [new file with mode: 0644]
BaseTools/Source/C/PyUtility/setup.py [new file with mode: 0644]
BaseTools/Source/C/Split/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/Split/Makefile [new file with mode: 0644]
BaseTools/Source/C/Split/Split.c [new file with mode: 0644]
BaseTools/Source/C/TianoCompress/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/TianoCompress/Makefile [new file with mode: 0644]
BaseTools/Source/C/TianoCompress/TianoCompress.c [new file with mode: 0644]
BaseTools/Source/C/TianoCompress/TianoCompress.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/EfiVfr.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_131.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133_BEFORE_MR13.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/CHANGES_SUMMARY.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/MPW_Read_Me [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/Makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/NOTES.bcc [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/NOTES.msvc [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/README [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/RIGHTS [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/AntlrDDK.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/AntlrMS.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/AntlrPPC.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/README [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.1 [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.g [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.r [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr1.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/bits.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/build.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/dumpcycles.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/dumpnode.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/egman.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/err.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/fcache.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/fset.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/fset2.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/gen.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/generic.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/globals.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/hash.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/hash.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/lex.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/main.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile.cygwin [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile1 [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/misc.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/mode.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/mrhoist.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/parser.dlg [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/pred.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/proto.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/scan.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/stdpccts.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/syn.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/antlr/tokens.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/DlgDDK.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/DlgMS.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/DlgPPC.mak [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/automata.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.1 [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg1.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_a.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.g [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/err.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/main.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile.cygwin [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile1 [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/mode.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/output.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/parser.dlg [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/relabel.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/stdpccts.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/support.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/dlg/tokens.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/AParser.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/AParser.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ASTBase.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ASTBase.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/AToken.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ATokenBuffer.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ATokenBuffer.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ATokenStream.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/BufFileInput.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/BufFileInput.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/DLG_stream_input.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/DLexer.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/DLexerBase.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/DLexerBase.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/PBlackBox.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/PCCTSAST.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/PCCTSAST.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/SList.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ast.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/ast.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/charbuf.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/charptr.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/charptr.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/config.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/dlgauto.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/dlgdef.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/err.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/int.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_assert.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_iostream.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_istream.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_setjmp.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_stdarg.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_stdio.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_stdlib.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pccts_string.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pcctscfg.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/pcnames.bat [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/h/slist.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/history.ps [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/history.txt [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/makefile.old [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/genmk/genmk.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/genmk/genmk_old.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/genmk/makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/makefile [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/rexpr.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/rexpr.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/rexpr/test.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/set/set.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/set/set.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/sym/sym.c [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/Pccts/support/sym/template.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrCompiler.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrCompiler.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrError.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrError.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrFormPkg.h [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrSyntax.g [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp [new file with mode: 0644]
BaseTools/Source/C/VfrCompile/VfrUtilityLib.h [new file with mode: 0644]
BaseTools/Source/C/VolInfo/GNUmakefile [new file with mode: 0644]
BaseTools/Source/C/VolInfo/Makefile [new file with mode: 0644]
BaseTools/Source/C/VolInfo/VolInfo.c [new file with mode: 0644]
BaseTools/Source/C/VolInfo/VolInfo.h [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/AutoGen.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/BuildEngine.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/GenC.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/GenDepex.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/GenMake.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/StrGather.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/UniClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/AutoGen/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/Common/BuildToolError.py [new file with mode: 0644]
BaseTools/Source/Python/Common/DataType.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Database.py [new file with mode: 0644]
BaseTools/Source/Python/Common/DecClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/DecClassObjectLight.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Dictionary.py [new file with mode: 0644]
BaseTools/Source/Python/Common/DscClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/EdkIIWorkspace.py [new file with mode: 0644]
BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py [new file with mode: 0644]
BaseTools/Source/Python/Common/EdkLogger.py [new file with mode: 0644]
BaseTools/Source/Python/Common/FdfClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/FdfParserLite.py [new file with mode: 0644]
BaseTools/Source/Python/Common/GlobalData.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Identification.py [new file with mode: 0644]
BaseTools/Source/Python/Common/InfClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/InfClassObjectLight.py [new file with mode: 0644]
BaseTools/Source/Python/Common/MigrationUtilities.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Misc.py [new file with mode: 0644]
BaseTools/Source/Python/Common/Parsing.py [new file with mode: 0644]
BaseTools/Source/Python/Common/PyUtility.pyd [new file with mode: 0644]
BaseTools/Source/Python/Common/String.py [new file with mode: 0644]
BaseTools/Source/Python/Common/TargetTxtClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/ToolDefClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Common/XmlParser.py [new file with mode: 0644]
BaseTools/Source/Python/Common/XmlRoutines.py [new file with mode: 0644]
BaseTools/Source/Python/Common/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/CommonClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/DataClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/DistributionPackageClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/FdfClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/ModuleClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/PackageClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/PlatformClass.py [new file with mode: 0644]
BaseTools/Source/Python/CommonDataClass/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/C.g [new file with mode: 0644]
BaseTools/Source/Python/Ecc/CLexer.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/CParser.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/Check.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/CodeFragment.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/CodeFragmentCollector.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/Configuration.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/Database.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/Ecc.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/EccGlobalData.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/EccToolError.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/Exception.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/FileProfile.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/MetaDataParser.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/ParserWarning.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/c.py [new file with mode: 0644]
BaseTools/Source/Python/Ecc/config.ini [new file with mode: 0644]
BaseTools/Source/Python/Ecc/exception.xml [new file with mode: 0644]
BaseTools/Source/Python/Fdb/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/FixFlash/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/GNUmakefile [new file with mode: 0644]
BaseTools/Source/Python/GenFds/AprioriSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Attribute.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Capsule.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/CapsuleData.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/ComponentStatement.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/CompressSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/DataSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/DepexSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/EfiSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Fd.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/FdfParser.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Ffs.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/FfsFileStatement.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/FfsInfStatement.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Fv.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/FvImageSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/GenFds.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/GuidSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/OptRomFileStatement.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/OptRomInfStatement.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/OptionRom.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Region.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Rule.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/RuleComplexFile.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/RuleSimpleFile.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Section.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/UiSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/VerSection.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/Vtf.py [new file with mode: 0644]
BaseTools/Source/Python/GenFds/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/Makefile [new file with mode: 0644]
BaseTools/Source/Python/MigrationMsa2Inf/AutoGenExterns.py [new file with mode: 0644]
BaseTools/Source/Python/MigrationMsa2Inf/MigrationMsa2Inf.py [new file with mode: 0644]
BaseTools/Source/Python/MigrationMsa2Inf/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/MkBOM/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/DependencyRules.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/InstallPkg.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/IpiDb.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/MkPkg.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/PackageFile.py [new file with mode: 0644]
BaseTools/Source/Python/PackagingTool/RmPkg.py [new file with mode: 0644]
BaseTools/Source/Python/Table/Table.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableDataModel.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableDec.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableDsc.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableEotReport.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableFdf.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableFile.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableFunction.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableIdentifier.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableInf.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TablePcd.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableQuery.py [new file with mode: 0644]
BaseTools/Source/Python/Table/TableReport.py [new file with mode: 0644]
BaseTools/Source/Python/Table/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/TargetTool/TargetTool.py [new file with mode: 0644]
BaseTools/Source/Python/TargetTool/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/Trim/Trim.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/BuildClassObject.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/MetaDataTable.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/MetaFileParser.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/MetaFileTable.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/WorkspaceDatabase.py [new file with mode: 0644]
BaseTools/Source/Python/Workspace/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/build/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/build/build.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/EdkIIWorkspaceGuidsInfo.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/LoadFpd.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/MigrationUtilities.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/StoreDsc.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/fpd2dsc/fpd2dsc.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/ConvertModule.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/EdkIIWorkspaceGuidsInfo.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/LoadMsa.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/Msa2Inf.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/StoreInf.py [new file with mode: 0644]
BaseTools/Source/Python/msa2inf/__init__.py [new file with mode: 0644]
BaseTools/Source/Python/spd2dec/ConvertPackage.py [new file with mode: 0644]
BaseTools/Source/Python/spd2dec/LoadSpd.py [new file with mode: 0644]
BaseTools/Source/Python/spd2dec/Spd2Dec.py [new file with mode: 0644]
BaseTools/Source/Python/spd2dec/StoreDec.py [new file with mode: 0644]
BaseTools/Source/Python/spd2dec/__init__.py [new file with mode: 0644]
BaseTools/Tests/CToolsTests.py [new file with mode: 0644]
BaseTools/Tests/CheckPythonSyntax.py [new file with mode: 0644]
BaseTools/Tests/GNUmakefile [new file with mode: 0644]
BaseTools/Tests/PythonToolsTests.py [new file with mode: 0644]
BaseTools/Tests/RunTests.py [new file with mode: 0644]
BaseTools/Tests/TestTools.py [new file with mode: 0644]
BaseTools/Tests/TianoCompress.py [new file with mode: 0644]
BaseTools/UserManuals/BootSectImage_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/Build_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/EfiLdrImage_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/EfiRom_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/Fpd2Dsc_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenBootSector_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenCrc32_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenDepex_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenFfs_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenFv_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenFw_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenPage_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenSec_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/GenVtf_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/InstallPkg_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/LzmaCompress_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/MkPkg_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/Msa2Inf_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/RmPkg_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/Spd2Dec_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/SplitFile_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/TargetTool_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/TianoCompress_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/Trim_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/UtilityManPage_template.rtf [new file with mode: 0644]
BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/UserManuals/VolInfo_Utility_Man_Page.rtf [new file with mode: 0644]
BaseTools/gcc/README.txt [new file with mode: 0644]
BaseTools/gcc/mingw-gcc-build.py [new file with mode: 0644]
BaseTools/toolsetup.bat

diff --git a/BaseTools/BinWrappers/Darwin-i386 b/BaseTools/BinWrappers/Darwin-i386
new file mode 100644 (file)
index 0000000..e92eef7
--- /dev/null
@@ -0,0 +1 @@
+link PosixLike
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/Linux-i686 b/BaseTools/BinWrappers/Linux-i686
new file mode 100644 (file)
index 0000000..e92eef7
--- /dev/null
@@ -0,0 +1 @@
+link PosixLike
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/Linux-x86_64 b/BaseTools/BinWrappers/Linux-x86_64
new file mode 100644 (file)
index 0000000..e92eef7
--- /dev/null
@@ -0,0 +1 @@
+link PosixLike
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/BootSectImage b/BaseTools/BinWrappers/PosixLike/BootSectImage
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/BuildEnv b/BaseTools/BinWrappers/PosixLike/BuildEnv
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/Ecc b/BaseTools/BinWrappers/PosixLike/Ecc
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/EfiLdrImage b/BaseTools/BinWrappers/PosixLike/EfiLdrImage
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/EfiRom b/BaseTools/BinWrappers/PosixLike/EfiRom
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenCrc32 b/BaseTools/BinWrappers/PosixLike/GenCrc32
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenDepex b/BaseTools/BinWrappers/PosixLike/GenDepex
new file mode 100644 (file)
index 0000000..bd3141a
--- /dev/null
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+PYTHONPATH="`dirname $0`/../../Source/Python" \
+    python "`dirname $0`/../../Source/Python"/AutoGen/`basename $0`.py $*
diff --git a/BaseTools/BinWrappers/PosixLike/GenFds b/BaseTools/BinWrappers/PosixLike/GenFds
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenFfs b/BaseTools/BinWrappers/PosixLike/GenFfs
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenFv b/BaseTools/BinWrappers/PosixLike/GenFv
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenFw b/BaseTools/BinWrappers/PosixLike/GenFw
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenPage b/BaseTools/BinWrappers/PosixLike/GenPage
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenSec b/BaseTools/BinWrappers/PosixLike/GenSec
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GenVtf b/BaseTools/BinWrappers/PosixLike/GenVtf
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/GnuGenBootSector b/BaseTools/BinWrappers/PosixLike/GnuGenBootSector
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/LzmaCompress b/BaseTools/BinWrappers/PosixLike/LzmaCompress
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/RunBinToolFromBuildDir b/BaseTools/BinWrappers/PosixLike/RunBinToolFromBuildDir
new file mode 100644 (file)
index 0000000..4821d24
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+#exec `dirname $0`/../../../../C/bin/`basename $0` $*
+
+TOOL_BASENAME=`basename $0`
+
+if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+then
+  exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
+elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+then
+  if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+  then
+    echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
+    echo You may need to run:
+    echo "  make -C $EDK_TOOLS_PATH/Source/C"
+  else
+    exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+  fi
+elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+then
+  exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+else
+  echo Unable to find the real \'$TOOL_BASENAME\' to run
+  echo This message was printed by
+  echo "  $0"
+  exit -1
+fi
+
diff --git a/BaseTools/BinWrappers/PosixLike/RunToolFromSource b/BaseTools/BinWrappers/PosixLike/RunToolFromSource
new file mode 100644 (file)
index 0000000..2cb8b86
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+PYTHONPATH="`dirname $0`/../../Source/Python" \
+    python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
+
diff --git a/BaseTools/BinWrappers/PosixLike/Split b/BaseTools/BinWrappers/PosixLike/Split
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/TargetTool b/BaseTools/BinWrappers/PosixLike/TargetTool
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/TianoCompress b/BaseTools/BinWrappers/PosixLike/TianoCompress
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/Trim b/BaseTools/BinWrappers/PosixLike/Trim
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/VfrCompile b/BaseTools/BinWrappers/PosixLike/VfrCompile
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/VolInfo b/BaseTools/BinWrappers/PosixLike/VolInfo
new file mode 100644 (file)
index 0000000..90e7b4e
--- /dev/null
@@ -0,0 +1 @@
+link RunBinToolFromBuildDir
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/build b/BaseTools/BinWrappers/PosixLike/build
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/fpd2dsc b/BaseTools/BinWrappers/PosixLike/fpd2dsc
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/msa2inf b/BaseTools/BinWrappers/PosixLike/msa2inf
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BinWrappers/PosixLike/spd2dec b/BaseTools/BinWrappers/PosixLike/spd2dec
new file mode 100644 (file)
index 0000000..bf5c895
--- /dev/null
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
diff --git a/BaseTools/BuildNotes.txt b/BaseTools/BuildNotes.txt
new file mode 100644 (file)
index 0000000..4d96084
--- /dev/null
@@ -0,0 +1,84 @@
+Intel(R) Platform Innovation Framework for EFI\r
+BuildTools Project, BaseTools Sub-Project\r
+Root Package 1.00\r
+2007-08-31\r
+\r
+Intel is a trademark or registered trademark of Intel Corporation or its\r
+subsidiaries in the United States and other countries.\r
+* Other names and brands may be claimed as the property of others.\r
+Copyright (c) 2007, Intel Corporation\r
+\r
+-------------------------------------------------------------------------------\r
+Quick Start\r
+-----------\r
+\r
+Windows:\r
+  a) Set the PYTHON_FREEZER_PATH to the cx_Freeze installation directory\r
+  b) Go to the <buildtools_project>/BaseTools and run "toolsetup" script\r
+\r
+Unix-like:\r
+  a) make -C <buildtools_project>/BaseTools\r
+  b) Look over https://edk2.tianocore.org/step-by-step-instructions.html\r
+     for a helpful step-by-step guide for building 'Hello World' on\r
+     various operating systems with edk2.\r
+\r
+Supported build targets (toolsetup)\r
+-----------------------------------\r
+\r
+build(or none)  - Incremental Build of all C based tools. This is the default target\r
+rebuild         - Clean all generated files and directories during build, and rebuild all tools\r
+\r
+-------------------------------------------------------------------------------\r
+Tools in Python\r
+---------------\r
+* Convert Python source to exe file\r
+\r
+  The tools written in Python can be converted into executable program which can \r
+  be executed without installing a Python interpreter.  (Generally it is easier\r
+  to run the scripts from their source on operating systems other than Windows.)\r
+\r
+  For Windows and Linux, the conversion tool package is called cx_Freeze, its\r
+  home page is:\r
+\r
+               http://sourceforge.net/projects/cx-freeze/\r
+\r
+       If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command\r
+  lines to convert MyBuild.py to MyBuild.exe (note this is an example, there is\r
+  no MyBuild Python project in the BaseTools\Python tree.\r
+\r
+    set PYTHONPATH=<BaseToolsDirPath>\Source\Python\r
+       c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_16_le,encodings.utf_8 --install-dir=.\mybuild MyBuild.py\r
+\r
+       The generated .exe (and .dll) files are put in "mybuild" subdirectory.\r
+\r
+  The following is a real example with the BuildTools/trunk/BaseTools project \r
+  installed in: C:\Work\BaseTools\r
+\r
+  \r
+  C:\Work\BaseTools\Source\Python> set PYTHONPATH=C:\Work\BaseTools\Source\Python\r
+  C:\Work\BaseTools\Source\Python> c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_16_le,encodings.utf_8 --install-dir=C:\Work\BaseTools\Bin\Win32 build\build.py\r
+\r
+---------------\r
+* Execute tools written in Python without conversion\r
+\r
+Unix-like systems:\r
+\r
+The edk2/edksetup.sh script will setup everything which is needed to\r
+run the scripts from their source.\r
+\r
+Windows:\r
+\r
+  The tools written in Python can be executed directly from its source directory\r
+as long as the Python interpreter (Python 2.5) has been installed. Before the execution,\r
+please make sure the environment variable PYTHONPATH is set to \r
+\r
+        <buildtools_project>/BaseTools/Source/Python\r
+\r
+  There're four tools written in Python. The entrance file of each tool is listed\r
+below.\r
+\r
+      build               <buildtools_project>/BaseTools/Source/Python/build/build.py\r
+      GenFds              <buildtools_project>/BaseTools/Source/Python/GenFds/GenFds.py\r
+      Trim                <buildtools_project>/BaseTools/Source/Python/Trim/Trim.py\r
+      MigrationMsa2Inf    <buildtools_project>/BaseTools/Source/Python/MigrationMsa2Inf/MigrationMsa2Inf.py\r
+\r
index e765210d379153db50de6670348af6185dfa85b8..7465051eb5fb6acd6f2ea90db9aa9fd4a001bc2a 100644 (file)
@@ -40,45 +40,47 @@ EDK_0000: Compatible: owner
 ##########################################################################################\r
 \r
 ##########################################################################################\r
-##########                 Revision number of tools source code                 ##########\r
+##########       Revision number of tools source code                           ##########\r
     BaseTools/Bin/Win32/build.exe\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Autogen\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/build\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Autogen\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/build\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
 \r
     BaseTools/Bin/Win32/GenFds.exe\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
 \r
     BaseTools/Bin/Win32/GenDepex.exe\r
-        r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/AutoGen\r
-        r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/AutoGen\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
 \r
     BaseTools/Bin/Win32/Trim.exe\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Trim\r
-        r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Trim\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
 \r
     BaseTools/Bin/Win32/MigrationMsa2Inf.exe\r
-        r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/MigrationMsa2Inf\r
-        r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/MigrationMsa2Inf\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
 \r
     BaseTools/Bin/Win32/TargetTool.exe\r
-        r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/TargetTool\r
-        r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/TargetTool\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
 \r
     BaseTools/Bin/Win32/Spd2Dec.exe\r
-        r777 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/spd2dec\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/spd2dec\r
 \r
     BaseTools/Bin/Win32/Fpd2Dsc.exe\r
-        r767 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/fpd2dsc\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/fpd2dsc\r
 \r
 ==========================================================================================\r
-basetools_7529: Non-Compatible: jwang36\r
+                       Binary Tool checkin log\r
+==========================================================================================\r
+EDK_7529: Non-Compatible: jwang36\r
 \r
       Class_BuildTool:\r
         1) Use FAMILY defined in *_TAGNAME_*_*_FAMILY as the toolchain family\r
@@ -104,7 +106,7 @@ basetools_7529: Non-Compatible: jwang36
         2) The case of file path must be the same as in file system, or the build\r
            will break.\r
 \r
-basetools_7159: Non-Compatible: jwang36\r
+EDK_7159: Non-Compatible: jwang36\r
 \r
       Class_BuildTool:\r
         1) Re-fine and fully test the mechanism of getting over the long command\r
@@ -128,7 +130,7 @@ basetools_7159: Non-Compatible: jwang36
            in the place of ${src} for those commands encountering such kind of\r
            problem.\r
 \r
-basetools_7009: Non-Compatible: jwang36\r
+EDK_7009: Non-Compatible: jwang36\r
 \r
       Class_BuildTool:\r
         1) Search value of Guid/Protocol/PPI in inf file only in the same category in dec file.\r
@@ -726,5 +728,3 @@ EDK_3766: Non-Compatible: lgao4
         Possible Impacts:\r
         1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option\r
         for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file.\r
-\r
-\r
diff --git a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
new file mode 100644 (file)
index 0000000..23cce95
--- /dev/null
@@ -0,0 +1,2818 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Filename: DistributionPackage.xsd
+
+Copyright (c) 2008, Intel Corp.  All rights reserved.
+
+This program and the accompanying materials are licensed and made available 
+under the terms and conditions of the BSD License which 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.
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+       elementFormDefault="qualified" targetNamespace="http://www.uefi.org/2008/1.0"
+       xmlns="http://www.uefi.org/2008/1.0">
+       <xs:element name="DistributionPackage">
+               <xs:annotation>
+                       <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI
+                               Distribution Package description (PKG) file. It describes the content
+                               of:</xs:documentation>
+                       <xs:documentation xml:lang="en-us"> 1) Package descriptions with
+                               definitions and headers.</xs:documentation>
+                       <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary
+                               format. (Note that Binary format is for FFS leaf section file types
+                               only, complete FFS files cannot be distributed using this distribution
+                               format.) </xs:documentation>
+                       <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools
+                               used to modify the binary images to create UEFI/PI compliant images. </xs:documentation>
+                       <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to
+                               distribute other miscellaneous content that is not specific to UEFI/PI
+                               images. </xs:documentation>
+                       <xs:documentation xml:lang="en-us"> The Package Surface Area describes the
+                               content of packages, while the Module Surface Area provides information
+                               relevant to source and/or binary distributions. </xs:documentation>
+               </xs:annotation>
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This header contains (legal)
+                                                       information usually required for distributing both binary and/or
+                                                       source code. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The list of packages in this
+                                                       distribution. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Packages are groups of files
+                                                       and/or modules that are similar in nature.</xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Packages are uniquely identified
+                                                       by a package GUID and a package version. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> A package can declare public
+                                                       mappings of C names to GUID values. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> A package can provide header
+                                                       files for library classes and/or other industry standard
+                                                       definitions. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> A package can also declare
+                                                       public mappings of platform configuration database (PCD)
+                                                       &quot;knobs&quot; to control features and operation of
+                                                       modules within a platform. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Finally, a package lists the
+                                                       library instances and/or modules that are provided in a
+                                                       distribution package. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant
+                                                       modules in this distribution that are NOT part of a Package. Every
+                                                       module that is provided as part of a package needs to be described
+                                                       in a PackageSurfaceArea.Modules section. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section
+                                                       describes how each module in a distribution is coded, or, in the
+                                                       case of a binary module distribution, how it was built. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and
+                                                       modules are uniquely identified by the Module's GUID and version
+                                                       number. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> This section will typically be
+                                                       used for modules that don't require any additional files that
+                                                       would be included in a package. For example, the Enhanced FAT
+                                                       driver binary does not need to have a package description, as no
+                                                       additional files are provided. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section is for distributing
+                                                       vendor specific executable tools, tool source code and/or
+                                                       configuration files. These tools are primarily for manipulating
+                                                       code and/or binary images. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Tools in this section
+                                                       can:</xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files
+                                                       to create source code files and build scripts. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 2) Modify image files to conform
+                                                       to UEFI/PI specifications. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 3) Generate binary files from
+                                                       certain types of text/unicode files. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or
+                                                       Firmware Device images. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 5) Implement external
+                                                       encoding/decoding/signature/GUIDed tools. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 6) Distribution Package
+                                                       create/install/remove tools. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The list of miscellaneous files
+                                                       in this distribution. Any files that are not listed in either the
+                                                       Package, Module or Tools sections can be listed here. This section
+                                                       can be used to distribute specifications for packages and modules
+                                                       that are not &quot;industry standards&quot; such as a
+                                                       specification for a chipset or a video device. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The UserExtensions section is
+                                                       used to disseminate processing instructions that may be custom to
+                                                       the content provided by the distribution. This section contains
+                                                       information that is common to all aspects of this disribution.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                       </xs:sequence>
+
+               </xs:complexType>
+       </xs:element>
+       <!-- End of the DistributionPackage Description  -->
+
+       <xs:element name="DistributionHeader">
+               <xs:annotation>
+                       <xs:documentation xml:lang="en-us"> This section defines the content of
+                               the UEIF/PI compliant Distribution Package Header. This is the only
+                               required element of a UEFI/PI compliant distribution package.
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element minOccurs="1" maxOccurs="1" name="Name">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This is the User Interface Name
+                                                       for this Distribution Package. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Each Distribution Package is
+                                                       uniquely identified by it's GUID and Version number.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:simpleContent>
+                                                       <xs:extension base="xs:normalizedString">
+                                                               <xs:attribute name="BaseName" type="xs:NCName" use="optional">
+                                                                       <xs:annotation>
+                                                                               <xs:documentation xml:lang="en-us"> The reference name of
+                                                                                       the Distribution Package file. This single word name can
+                                                                                       be used by tools as a keyword or for directory and/or file
+                                                                                       creation. </xs:documentation>
+                                                                               <xs:documentation xml:lang="en-us"> White space and special
+                                                                                       characters (dash and underscore characters may be used)
+                                                                                       are not permitted in this name. </xs:documentation>
+                                                                       </xs:annotation>
+                                                               </xs:attribute>
+                                                       </xs:extension>
+                                               </xs:simpleContent>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This 128-bit GUID and the
+                                                       Version attribute uniquely identify this Distribution Package. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Backward compatible releases of
+                                                       a distribution package need only change the version number, while
+                                                       non-backward compatible changes require the GUID to change
+                                                       (resetting the version number to 1.0 is optional.)
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:simpleContent>
+                                                       <xs:extension base="RegistryFormatGuid">
+                                                               <xs:attribute name="Version" type="xs:decimal" use="required">
+                                                                       <xs:annotation>
+                                                                               <xs:documentation xml:lang="en-us"> This value, along with
+                                                                                       the GUID, is used to uniquely identify this object. The
+                                                                                       higher the number, the more recent the content.
+                                                                               </xs:documentation>
+                                                                       </xs:annotation>
+                                                               </xs:attribute>
+                                                       </xs:extension>
+                                               </xs:simpleContent>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="Vendor"
+                                       type="xs:normalizedString">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> A string identifying who created
+                                                       this distribution package. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The date and time this
+                                                       distribution was created. The format is: YYYY-MM-DDThh:mm:ss, for
+                                                       example: 2001-01-31T13:30:00 (note the T character separator
+                                                       between the calendar date and the time. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="Copyright"
+                                       type="xs:string">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The copyright for this file that
+                                                       is generated by the creator of the distribution. If a derivative
+                                                       work is generated from an existing distribution, then the existing
+                                                       copyright must be maintained, and additional copyrights may be
+                                                       appended to the end of this element. It may also be the primary
+                                                       copyright for all code provided in the Distribution Package.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> A license that describes any
+                                                       restrictions on the use of this distribution. If a derivative work
+                                                       is allowed by the original license and a derivative work is
+                                                       generated from an existing distribution, then the existing license
+                                                       must be maintained, and additional licenses may be appended to the
+                                                       end of this element. It may also be the primary license for all
+                                                       code provided in the distribution file. Alternatively, this may
+                                                       point to a filename that contains the License. The file (included
+                                                       in the content zip file) will be stored in the same location as
+                                                       the distribution package’s .pkg file. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="Abstract"
+                                       type="xs:normalizedString">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> A one line description of the
+                                                       Distribution Package. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="0" maxOccurs="1" name="Description"
+                                       type="xs:string">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> A complete description of the
+                                                       Distribution Package. This description may include the release
+                                                       name of the file, the version of the file, and a complete
+                                                       description of the file contents and/or features including a
+                                                       description of the updates since the previous file release.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The packaging utilities will use
+                                                       this MD5 sum value of the included ZIP file containing files
+                                                       and/or code. If this element is not present, then installation
+                                                       tools should assume that the content is correct, or that other
+                                                       methods may be needed to verify content. </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                               <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification"
+                                       type="xs:decimal" default="1.0">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This version of this XML Schema
+                                                       is 1.0 </xs:documentation>
+                                       </xs:annotation>
+                               </xs:element>
+                       </xs:sequence>
+                       <xs:attribute name="ReadOnly" type="xs:boolean" default="false"
+                               use="optional">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="en-us"> If set to true, all content within
+                                               this Distribution Package should NOT be modified. The default
+                                               permits modification of all content. </xs:documentation>
+                               </xs:annotation>
+                       </xs:attribute>
+                       <xs:attribute name="RePackage" type="xs:boolean" default="false"
+                               use="optional">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="en-us"> If set to true, then the content
+                                               can be repackaged into another distribution package. The default
+                                               prohibits repackaging the Distribution content. </xs:documentation>
+                               </xs:annotation>
+                       </xs:attribute>
+               </xs:complexType>
+       </xs:element>
+       <!-- End of the DistributionHeader element. -->
+
+       <xs:element name="PackageSurfaceArea">
+               <xs:annotation>
+                       <xs:documentation xml:lang="en-us"> A package is a collection of related
+                               objects - Includes, Libraries and Modules. </xs:documentation>
+                       <xs:documentation xml:lang="en-us"> Each package is uniquely identified by
+                               it's GUID and Version number. Backward compatible releases of a package
+                               need only change the version number, while non-backward compatible
+                               changes require the GUID to change (resetting the version number to 1.0
+                               is optional.) </xs:documentation>
+               </xs:annotation>
+               <xs:complexType>
+                       <xs:sequence>
+
+                               <xs:element minOccurs="1" maxOccurs="1" name="Header">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is the User Interface
+                                                                               Name for this package. </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="xs:normalizedString">
+                                                                                       <xs:attribute name="BaseName" type="xs:NCName"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This is a single
+                                                                                                               word BaseName of the package. This BaseName can be
+                                                                                                               used by tools as a keyword and for directory/file
+                                                                                                               creation. </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
+                                                                               attribute uniquely identify a given package.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="RegistryFormatGuid">
+                                                                                       <xs:attribute name="Version" type="xs:decimal"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
+                                                                                                               with the GUID, is used to uniquely identify this
+                                                                                                               object. </xs:documentation>
+                                                                                                       <xs:documentation xml:lang="en-us"> Backward
+                                                                                                               compatible changes must make sure this number is
+                                                                                                               incremented from the most recent version.
+                                                                                                               Non-backward compatible changes require a new GUID,
+                                                                                                               and the version can be reset. </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> If the package requires a
+                                                                               different copyright than the distribution package, this
+                                                                               element can list one or more copyright lines.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> If the package requires
+                                                                               licenses that are different from the distribution package
+                                                                               license, this element can contain one or more license text
+                                                                               paragraphs (or license filenames.) </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
+                                                               type="xs:normalizedString">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A one line description of
+                                                                               this package. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Description"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A complete description of
+                                                                               a package. This description may include the release name of
+                                                                               the package, the version of the package, and a complete
+                                                                               description of the package contents and/or features
+                                                                               including a description of the updates since the previous
+                                                                               package’s release. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="PackagePath"
+                                                               type="xs:anyURI">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This element is the
+                                                                               location (in the ZIP file) for the root directory of a
+                                                                               package. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea Header element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> The term cloned is used here to
+                                                       indicate that this package as been copied and modified to a
+                                                       completely different package. An example might be for a new
+                                                       generation of chipsets that have few or no elements in common with
+                                                       the original. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
+                                                                               attribute uniquely identify the Package that this Package
+                                                                               was copied from. </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="RegistryFormatGuid">
+                                                                                       <xs:attribute name="Version" type="xs:decimal"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
+                                                                                                               with the GUID, is used to uniquely identify the
+                                                                                                               package that this package was cloned from.
+                                                                                                       </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea ClonedFrom element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> Library Classes are public
+                                                       interfaces that can be used by modules. One or more library
+                                                       instances can implement a library class, however only one library
+                                                       instance can be linked to an individual module. This provides the
+                                                       platform integrator with the flexibility of choosing one library
+                                                       instance's implementation over a different library instance.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
+                                                               name="LibraryClass">
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
+                                                                                       type="xs:anyURI">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> The header file
+                                                                                                       provides definitions and function prototypes for a
+                                                                                                       library class. Modules can be coded against these
+                                                                                                       functions, using the definitions in this header,
+                                                                                                       without concerning themselves about the libraries'
+                                                                                                       implementation details. This is a PackagePath relative
+                                                                                                       path and filename for the include file.
+                                                                                               </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                               <xs:element minOccurs="0" maxOccurs="1"
+                                                                                       name="RecommendedInstance">
+                                                                                       <xs:complexType>
+                                                                                               <xs:sequence>
+                                                                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+                                                                                                               <xs:annotation>
+                                                                                                                       <xs:documentation xml:lang="en-us"> This GUID and
+                                                                                                                               the Version attribute uniquely identify the
+                                                                                                                               Recommended Library Instance.
+                                                                                                                       </xs:documentation>
+                                                                                                               </xs:annotation>
+                                                                                                               <xs:complexType>
+                                                                                                                       <xs:simpleContent>
+                                                                                                                               <xs:extension base="RegistryFormatGuid">
+                                                                                                                                       <xs:attribute name="Version" type="xs:decimal"
+                                                                                                                                               use="optional">
+                                                                                                                                               <xs:annotation>
+                                                                                                                                                       <xs:documentation xml:lang="en-us"> This
+                                                                                                                                                               value, along with the GUID, is used to
+                                                                                                                                                               uniquely identify this object. If this
+                                                                                                                                                               value is not specified, then any version
+                                                                                                                                                               of the library instance is recommended.
+                                                                                                                                                       </xs:documentation>
+                                                                                                                                               </xs:annotation>
+                                                                                                                                       </xs:attribute>
+                                                                                                                               </xs:extension>
+                                                                                                                       </xs:simpleContent>
+                                                                                                               </xs:complexType>
+                                                                                                       </xs:element>
+                                                                                               </xs:sequence>
+                                                                                       </xs:complexType>
+                                                                               </xs:element>
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                                       <xs:attribute name="Keyword" type="xs:NCName" use="required">
+                                                                               <xs:annotation>
+                                                                                       <xs:documentation xml:lang="en-us"> The single word name
+                                                                                               of the Library Class that module developers will use to
+                                                                                               identify a library class dependency. </xs:documentation>
+                                                                               </xs:annotation>
+                                                                       </xs:attribute>
+                                                                       <xs:attributeGroup ref="SupportedArchMod" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea LibraryClassDeclarations element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section is used to list
+                                                       header files for industry standards not under the auspices of
+                                                       UEFI.org. For example, headers that contain definitions and data
+                                                       structures for the USB specifications. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
+                                                               name="IndustryStandardHeader">
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
+                                                                                       type="xs:anyURI">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> The package relative
+                                                                                                       path and filename (in the content zip file) of the
+                                                                                                       industry standard include file. </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea IndustryStdIncludes element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> All top level header files that
+                                                       are included by a package that are not listed above. They cannot
+                                                       be:</xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 1) Local to a module (module
+                                                       specific.) </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> 3) A library class header.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
+                                                               name="PackageHeader">
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> This is the Package
+                                                                                                       relative path and filename location within the content
+                                                                                                       ZIP file. </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                                       <xs:complexType>
+                                                                                               <xs:simpleContent>
+                                                                                                       <xs:extension base="xs:anyURI">
+                                                                                                               <xs:attributeGroup ref="SupportedArchMod" />
+                                                                                                       </xs:extension>
+                                                                                               </xs:simpleContent>
+                                                                                       </xs:complexType>
+                                                                               </xs:element>
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea PackageIncluces element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="Modules">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element ref="ModuleSurfaceArea" minOccurs="1"
+                                                               maxOccurs="unbounded">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This section lists the
+                                                                               Module Surface Area for all modules provided with this
+                                                                               package. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea Modules element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
+                                                       of GUID C names to GUID values as a Registry Format GUID. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Modules that use these GUIDs
+                                                       must specify their dependency on this package. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Individual GUID
+                                                                               Declarations </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
+                                                                                       type="xs:NCName" />
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
+                                                                                       type="RegistryFormatGuid" />
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
+                                                                       <xs:attribute name="GuidTypes" type="GuidListType"
+                                                                               use="optional" />
+                                                                       <xs:attributeGroup ref="SupportedArchMod" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea GuidDeclarations element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
+                                                       of Protocol C names to GUID values as a Registry Format GUID. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Modules that use these Protocols
+                                                       must specify their dependency on this package. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Individual Protocol
+                                                                               Declarations </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
+                                                                                       type="xs:NCName" />
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
+                                                                                       type="RegistryFormatGuid" />
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
+                                                                       <xs:attributeGroup ref="SupportedArchMod" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea ProtocolDeclarations element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section defines the mapping
+                                                       of Ppi C names to GUID values as a Registry Format GUID. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Modules that use these Ppis must
+                                                       specify their dependency on this package. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Individual PPI
+                                                                               Declarations </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
+                                                                                       type="xs:NCName" />
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
+                                                                                       type="RegistryFormatGuid" />
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                                       <xs:attribute name="UiName" type="xs:normalizedString" use="optional" />
+                                                                       <xs:attributeGroup ref="SupportedArchMod" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea PpiDeclarations element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section is used to declare
+                                                       platform configuration knobs that are defined by this package. </xs:documentation>
+                                               <xs:documentation xml:lang="en-us"> Modules that use these PCD
+                                                       values must specify their dependency on this package.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element minOccurs="1" maxOccurs="1"
+                                                                                       name="TokenSpaceGuidCname" type="xs:NCName">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> Specifies the C name
+                                                                                                       of the Token Space GUID of which this PCD Entry is a
+                                                                                                       member. This C name should also be listed in the GUIDs
+                                                                                                       section, (specified above,) where the C name is
+                                                                                                       assigned to a GUID value. </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="Token">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> Specifies the 32-bit
+                                                                                                       token value for this PCD Entry. The Token number must
+                                                                                                       be unique to the Token Space that declares the PCD. </xs:documentation>
+                                                                                               <xs:documentation xml:lang="en-us"> The minLength of 3
+                                                                                                       is required to handle the "0x" prefix to the hex
+                                                                                                       number. </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                                       <xs:simpleType>
+                                                                                               <xs:restriction base="HexNumber">
+                                                                                                       <xs:minLength value="3" />
+                                                                                                       <xs:maxLength value="10" />
+                                                                                               </xs:restriction>
+                                                                                       </xs:simpleType>
+                                                                               </xs:element>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="CName"
+                                                                                       type="xs:NCName" />
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
+                                                                                       type="PcdDatumTypes">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> A string that
+                                                                                                       contains the data type of this PCD Entry. PCD data
+                                                                                                       types are restricted to the following set:UINT8,
+                                                                                                       UINT16, UINT32, UINT64, VOID*, BOOLEAN.
+                                                                                               </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage"
+                                                                                       type="PcdItemListType">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> A string that
+                                                                                                       contains one or more PCD Item types separated by
+                                                                                                       spaces. The PCD Item types are restricted to
+                                                                                                       FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
+                                                                                               </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                               <xs:element minOccurs="1" maxOccurs="1" name="DefaultValue"
+                                                                                       type="xs:normalizedString" />
+                                                                               <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> This is a
+                                                                                                       recommended maximum data size for VOID* data types,
+                                                                                                       the actual value should be defined by the Platform
+                                                                                                       Integrator. It is not required for the other data
+                                                                                                       types. </xs:documentation>
+                                                                                               <xs:documentation xml:lang="en-us"> The minLength of 3
+                                                                                                       is required to handle the "0x" prefix to the hex
+                                                                                                       number. </xs:documentation>
+
+                                                                                       </xs:annotation>
+                                                                                       <xs:simpleType>
+                                                                                               <xs:restriction base="HexNumber">
+                                                                                                       <xs:minLength value="3" />
+                                                                                               </xs:restriction>
+                                                                                       </xs:simpleType>
+                                                                               </xs:element>
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+
+                                                                               <xs:element minOccurs="0" maxOccurs="unbounded"
+                                                                                       name="PcdError">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation xml:lang="en-us"> Valid Error messages
+                                                                                                       that may be implemented in a module for the PCD Entry.
+                                                                                                       Only One Error Number per PcdError, (multiple
+                                                                                                       ErrorMessage entries are permitted) and multiple
+                                                                                                       PcdError elements are permitted. </xs:documentation>
+                                                                                       </xs:annotation>
+                                                                                       <xs:complexType>
+                                                                                               <xs:sequence>
+                                                                                                       <xs:choice minOccurs="1" maxOccurs="1">
+                                                                                                               <xs:annotation>
+                                                                                                                       <xs:documentation xml:lang="en-us"> One of the
+                                                                                                                               following types of comparisons, which must be
+                                                                                                                               able to evaluate to either true or false.
+                                                                                                                       </xs:documentation>
+                                                                                                               </xs:annotation>
+                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
+                                                                                                                       name="ValidValueList">
+                                                                                                                       <xs:annotation>
+                                                                                                                               <xs:documentation xml:lang="en-us"> The PCD
+                                                                                                                                       Value must be space separated list of values.
+                                                                                                                                       Values are restricted to the data type of this
+                                                                                                                                       PCD. </xs:documentation>
+                                                                                                                       </xs:annotation>
+                                                                                                                       <xs:complexType>
+                                                                                                                               <xs:simpleContent>
+                                                                                                                                       <xs:extension base="xs:normalizedString">
+                                                                                                                                               <xs:attribute name="Lang" type="xs:language"
+                                                                                                                                                       use="optional" />
+                                                                                                                                       </xs:extension>
+                                                                                                                               </xs:simpleContent>
+                                                                                                                       </xs:complexType>
+                                                                                                               </xs:element>
+                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
+                                                                                                                       name="ValidValueRange" type="xs:normalizedString">
+                                                                                                                       <xs:annotation>
+                                                                                                                               <xs:documentation xml:lang="en-us"> The PCD must
+                                                                                                                                       be within a specifed range of numeric values.
+                                                                                                                                       Restricted to C style Relational, Equality and
+                                                                                                                                       Logicial Operators and parenthesis are valid.
+                                                                                                                                       Only the CName for this PCD is permitted in
+                                                                                                                                       the ValidValueRange expression. All other
+                                                                                                                                       values must be numeric.</xs:documentation>
+                                                                                                                               <xs:documentation xml:lang="en-us"> LValue (op
+                                                                                                                                       RValue)+ </xs:documentation>
+                                                                                                                       </xs:annotation>
+                                                                                                               </xs:element>
+                                                                                                               <xs:element minOccurs="0" maxOccurs="1"
+                                                                                                                       name="Expression" type="xs:normalizedString">
+                                                                                                                       <xs:annotation>
+                                                                                                                               <xs:documentation xml:lang="en-us"> A in-fix
+                                                                                                                                       logical expression using C style logical
+                                                                                                                                       operators. </xs:documentation>
+                                                                                                                       </xs:annotation>
+                                                                                                               </xs:element>
+                                                                                                       </xs:choice>
+                                                                                                       <xs:element minOccurs="1" maxOccurs="1"
+                                                                                                               name="ErrorNumber">
+                                                                                                               <xs:annotation>
+                                                                                                                       <xs:documentation xml:lang="en-us"> A hexadecimal
+                                                                                                                               value for the error message as defined by
+                                                                                                                               specifications. </xs:documentation>
+                                                                                                                       <xs:documentation xml:lang="en-us"> The minLength
+                                                                                                                               of 3 is required to handle the "0x" prefix to
+                                                                                                                               the hex number. </xs:documentation>
+
+                                                                                                               </xs:annotation>
+                                                                                                               <xs:simpleType>
+                                                                                                                       <xs:restriction base="HexNumber">
+                                                                                                                               <xs:minLength value="3" />
+                                                                                                                       </xs:restriction>
+                                                                                                               </xs:simpleType>
+                                                                                                       </xs:element>
+                                                                                                       <xs:element minOccurs="1" maxOccurs="unbounded"
+                                                                                                               name="ErrorMessage">
+                                                                                                               <xs:annotation>
+                                                                                                                       <xs:documentation xml:lang="en-us"> This string
+                                                                                                                               should be defined by specifications. There are
+                                                                                                                               pre-defined error number ranges in the UEFI/PI
+                                                                                                                               specificaiton. </xs:documentation>
+                                                                                                               </xs:annotation>
+                                                                                                               <xs:complexType>
+                                                                                                                       <xs:simpleContent>
+                                                                                                                               <xs:extension base="xs:string">
+                                                                                                                                       <xs:attribute name="Lang" type="xs:language"
+                                                                                                                                               default="en-us" use="optional" />
+                                                                                                                               </xs:extension>
+                                                                                                                       </xs:simpleContent>
+                                                                                                               </xs:complexType>
+                                                                                                       </xs:element>
+                                                                                               </xs:sequence>
+                                                                                       </xs:complexType>
+                                                                               </xs:element>
+                                                                       </xs:sequence>
+                                                                       <xs:attributeGroup ref="SupportedArchMod" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea PcdDeclarations element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section is used to describe
+                                                       any PCD interdependencies or relationships. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck"
+                                                               type="xs:normalizedString">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This entry must used
+                                                                               TokenSpaceGuidCName.PcdCname for every named PCD. Restricted
+                                                                               to Relational, Equality and Logical Operators (NOT, AND, OR,
+                                                                               GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only
+                                                                               the TokenSpaceGuidCName.PcdCname us permitted to name PCDs
+                                                                               in the expression. All other values must be numeric. </xs:documentation>
+                                                                       <xs:documentation xml:lang="en-us"> LValue (op RValue)+
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+
+                               <xs:element minOccurs="0" maxOccurs="unbounded"
+                                       name="MiscellaneousFiles">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section contains files that
+                                                       are not part of the code distributed with this package.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Only required if different
+                                                                               from the Package Copyright. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Only required if different
+                                                                               from the Package License. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A one line description of
+                                                                               this section's content. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A complete description of
+                                                                               the files in this section. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is the PackagePath
+                                                                               relative path and filename location within the ZIP file.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="xs:anyURI">
+                                                                                       <xs:attribute name="Executable" type="xs:boolean"
+                                                                                               default="false" use="optional">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> If true, used by
+                                                                                                               installation tools to ensure that a file that must
+                                                                                                               be executable has the correct properties to permit
+                                                                                                               execution. </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea Misc element.  -->
+
+                               <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> This section is used for any
+                                                       processing instructions that may be custom to the content provided
+                                                       by this package that are common to this package.
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType mixed="true">
+                                               <xs:sequence>
+                                                       <xs:any processContents="lax" minOccurs="0" maxOccurs="1" />
+                                               </xs:sequence>
+                                               <xs:attribute name="UserId" type="xs:NCName" use="required">
+                                                       <xs:annotation>
+                                                               <xs:documentation xml:lang="en-us"> This is a single word
+                                                                       identifier for grouping similar content that does not fit into
+                                                                       previously defined sections or other sections of the
+                                                                       Distribution. </xs:documentation>
+                                                       </xs:annotation>
+                                               </xs:attribute>
+                                               <xs:attribute name="Identifier" type="xs:string" use="optional">
+                                                       <xs:annotation>
+                                                               <xs:documentation xml:lang="en-us"> This can be used to
+                                                                       differentiate multiple sections with a grouping. </xs:documentation>
+                                                               <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
+                                                                       Identifier might indicate specific steps and tools required
+                                                                       before processing module content, while a different
+                                                                       UserExtensions section with a POST_PROCESS Identifier might
+                                                                       describe steps that need to be executed after operations on
+                                                                       the modules in this package. </xs:documentation>
+                                                       </xs:annotation>
+                                               </xs:attribute>
+                                               <xs:anyAttribute processContents="lax" />
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of PackageSurfaceArea UserExtensions element. -->
+
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <!-- End of the PackageSurfaceArea element. -->
+
+       <xs:element name="ModuleSurfaceArea">
+               <xs:annotation>
+                       <xs:documentation xml:lang="en-us"> Each module is uniquely identified by
+                               it's GUID and Version number. Backward compatible releases of a module
+                               need only change the version number, while non-backward compatible
+                               changes require the GUID to change (resetting the version number to 1.0
+                               is optional.) </xs:documentation>
+               </xs:annotation>
+               <xs:complexType>
+                       <xs:sequence>
+
+                               <xs:element minOccurs="1" maxOccurs="1" name="Header">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="Name">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is the User Interface
+                                                                               Name for this Module. </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="xs:normalizedString">
+                                                                                       <xs:attribute name="BaseName" type="xs:NCName"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This is a single
+                                                                                                               word BaseName that will be used to create a module
+                                                                                                               meta-data file. </xs:documentation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This name should
+                                                                                                               also be used to create output file names and
+                                                                                                               directories. </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This GUID and the Version
+                                                                               attribute uniquely identify a given Module.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="RegistryFormatGuid">
+                                                                                       <xs:attribute name="Version" type="xs:decimal"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation xml:lang="en-us"> This value, along
+                                                                                                               with the GUID, is used to uniquely identify this
+                                                                                                               object. </xs:documentation>
+                                                                                                       <xs:documentation xml:lang="en-us"> Backward
+                                                                                                               compatible changes must make sure this number is
+                                                                                                               incremented from the most recent version.
+                                                                                                               Non-backward compatible changes require a new GUID,
+                                                                                                               and the version can be reset. </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is only required if
+                                                                               the Copyright is different from either the Package or
+                                                                               Distribution copyright. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="License"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is only required if
+                                                                               the license is different from either the Package or
+                                                                               Distribution license. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
+                                                               type="xs:normalizedString">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A brief text description
+                                                                               of the module. </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="Description"
+                                                               type="xs:string">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> A complete description of
+                                                                               the module contents and/or features including a description
+                                                                               of the updates since the previous module release.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                               <!-- End of Module Surface Area Header Section -->
+
+                               <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties">
+                                       <xs:annotation>
+                                               <xs:documentation xml:lang="en-us"> List general information about a
+                                                       module, including the Supported Architectures, this module's type,
+                                                       specifications the module is coded against, and other
+                                                       informational content. </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="ModuleType"
+                                                               type="ModuleTypes">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> One of the Enumerated
+                                                                               module types that limit the use of a module.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="1" maxOccurs="1" name="Path"
+                                                               type="xs:anyURI">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> For stand-alone modules
+                                                                               that are NOT part of any package, this is the path to the
+                                                                               root of the module as listed in the ZIP file. For modules
+                                                                               included in a package, this is the location, relative to the
+                                                                               root of the package (PackagePath) this module belongs to.
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                       </xs:element>
+                                                       <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This element is only
+                                                                               required for the PEIM that produces the PCD PPI or the DXE
+                                                                               Driver that produces the PCD Protocol. </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:simpleType>
+                                                                       <xs:restriction base="xs:NCName">
+                                                                               <xs:enumeration value="PEI_PCD_DRIVER" />
+                                                                               <xs:enumeration value="DXE_PCD_DRIVER" />
+                                                                       </xs:restriction>
+                                                               </xs:simpleType>
+                                                       </xs:element>
+
+                                                       <xs:element minOccurs="0" maxOccurs="1"
+                                                               name="UefiSpecificationVersion" type="xs:decimal" />
+
+                                                       <xs:element minOccurs="0" maxOccurs="1"
+                                                               name="PiSpecificationVersion" type="xs:decimal" />
+
+                                                       <xs:element minOccurs="0" maxOccurs="unbounded"
+                                                               name="Specification">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> This is a list of other
+                                                                               specifications that this module is written against. These
+                                                                               entries can be used in #define statements (depending on the
+                                                                               build system implementation, they may be autogenerated.)
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:simpleContent>
+                                                                               <xs:extension base="xs:NCName">
+                                                                                       <xs:attribute name="Version" type="xs:decimal"
+                                                                                               use="required" />
+                                                                               </xs:extension>
+                                                                       </xs:simpleContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+
+                                                       <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode">
+                                                               <xs:annotation>
+                                                                       <xs:documentation xml:lang="en-us"> Different firmware
+                                                                               execution paths may be taken based on a given state of the
+                                                                               hardware, firmware, or through feature settings. A BootMode
+                                                                               may be declared (PRODUCES) or discovered (CONSUMES) based on
+                                                                               these states and feature settings. The supported boot modes
+                                                                               map to the PI specification Boot Modes. The boot modes
+                                                                               listed with Recovery are to indicate that the BootMode is
+                                                                               valid during a recovery boot. </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:sequence minOccurs="0">
+                                                                               <xs:element minOccurs="1" maxOccurs="1"
+                                                                                       name="SupportedBootModes">
+                                                                                       <xs:simpleType>
+                                                                                               <xs:list>
+                                                                                                       <xs:simpleType>
+                                                                                                               <xs:restriction base="xs:NCName">
+                                                                                                                       <xs:enumeration value="FULL" />
+                                                                                                                       <xs:enumeration value="MINIMAL" />
+                                                                                                                       <xs:enumeration value="NO_CHANGE" />
+                                                                                                                       <xs:enumeration value="DIAGNOSTICS" />
+                                                                                                                       <xs:enumeration value="DEFAULT" />
+                                                                                                                       <xs:enumeration value="S2_RESUME" />
+                                                                                                                       <xs:enumeration value="S3_RESUME" />
+                                                                                                                       <xs:enumeration value="S4_RESUME" />
+                                                                                                                       <xs:enumeration value="S5_RESUME" />
+                                                                                                                       <xs:enumeration value="FLASH_UPDATE" />
+                                                                                                                       <xs:enumeration value="RECOVERY_FULL" />
+                                                                                                                       <xs:enumeration value="RECOVERY_MINIMAL" />
+                                                                                                                       <xs:enumeration value="RECOVERY_NO_CHANGE" />
+                                                                                                                       <xs:enumeration value="RECOVERY_DIAGNOSTICS" />
+                                                                                                                       <xs:enumeration value="RECOVERY_DEFAULT" />
+                                                                                                                       <xs:enumeration value="RECOVERY_S2_RESUME" />
+                                                                                                                       <xs:enumeration value="RECOVERY_S3_RESUME" />
+                                                                                                                       <xs:enumeration value="RECOVERY_S4_RESUME" />
+                                                                                                                       <xs:enumeration value="RECOVERY_S5_RESUME" />
+                                                                                                                       <xs:enumeration value="RECOVERY_FLASH_UPDATE" />
+                                                                                                               </xs:restriction>
+                                                                                                       </xs:simpleType>
+                                                                                               </xs:list>
+                                                                                       </xs:simpleType>
+                                                                               </xs:element>
+
+                                                                               <xs:element ref="HelpText" minOccurs="0"
+                                                                                       maxOccurs="unbounded" />
+                                                                       </xs:sequence>
+                                                                       <xs:attribute name="Usage" use="required">
+                                                                               <xs:simpleType>
+                                                                                       <xs:restriction base="xs:NCName">
+                                                                                               <xs:enumeration value="CONSUMES">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation xml:lang="en-us"> The module
+                                                                                                                       always supports the given boot modes.
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:enumeration>
+                                                                                               <xs:enumeration value="SOMETIMES_CONSUMES">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation xml:lang="en-us"> The module may
+                                                                                                                       support a given mode on some execution paths.
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:enumeration>
+                                                                                               <xs:enumeration value="PRODUCES">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation xml:lang="en-us"> The module will
+                                                                                                                       change the boot mode. </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:enumeration>
+                                                                                               <xs:enumeration value="SOMETIME_PRODUCES">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation xml:lang="en-us"> The module will
+                                                                                                                       change the boot mode on some exection paths.
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:enumeration>
+                                                                                       </xs:restriction>
+                                                                               </xs:simpleType>
+                                                                       </xs:attribute>
+                                                                       <xs:attribute name="SupArchList" type="ArchListType"
+                                                                               use="optional" />
+                                          &nbs