X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FXMLSchema%2FFrameworkDataElements.xsd;h=783e11375d4fd72502106dc06c5f0ed96c9f1e22;hp=8136662969b7bee886dbed1fe29387648f9292ea;hb=9ede7fad7669ae5142d61989dcbf9978995cc745;hpb=0850ca3b8c56d87cd2a248101343889a7f073182 diff --git a/Tools/XMLSchema/FrameworkDataElements.xsd b/Tools/XMLSchema/FrameworkDataElements.xsd index 8136662969..783e11375d 100644 --- a/Tools/XMLSchema/FrameworkDataElements.xsd +++ b/Tools/XMLSchema/FrameworkDataElements.xsd @@ -1,6 +1,6 @@ - + + This schema defines EFI and Framework Data Elements + + + + + + - This schema defines EFI and Framework Data Elements + Abstract is valid for all Description Files + This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section. - - - - - - Abstract is valid for all Description Files - This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section. - - - - - - - - - - - - This is a sub-element of AntTask - This is an ant command that will be inserted into a biuld sequence. Since ant commands are valid XML statements, special care must be taken to use the correct tokens for reserved words and escape quote characters. - - - - - - - - - - - - - - - - This is a sub-element of UserDefinedAntTasks - Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files. - - - - - - - - - - - - BaseName is valid for all Description Files - We need to be able to permit different attributes for every basename - - + + + + This is a sub-element of UserDefinedAntTasks + Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files. + + + + + + + + + + + + BootModes is valid for all Description Files + This is a list of BootModes Supported by the Module + + + + + + + + + + + + + + + + + BuildOptions is valid for FPD files. + + + + + + + + + - - - + + + + + + + + + + - - - - - BootModes is valid for all Description Files - This is a list of BootModes Supported by the Module - - - - - - - - - - - - - - BuildOptions is valid for MBD and FPD files. - Specific Build Options, by Tool Chain, than should be applied, overriding any global options - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C_Name is valid for all Description Files - - - - - ComponentName is valid for all Description Files - - - - - Describe the valid Framework Component Type - - - - - - A conditional expression that must be evaluated to determine whether a feature is implemented or not. The expression must be either numeric, string or boolean. - - - - - - - - - - - - - - - - This is a list of DataHubRecord elements. - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - The Name of the Database, "FrameworkDatabase" - - - - - - - - - - - - The default setting of a PCD entry. - - - - - - - - - - This section is required for new modules and libraries and must contain more information than the Abstract. - - - - - - - - - - This is a list of Events - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Module has an event that is waiting to be signaled. Event is named by GUID. - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a child of MSA files, both Library and Module. - This is a list of Extern statements, right now, only Driver Binding information is provided. - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - Driver Module - - - - - - - Library Module - - - - - - - Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. - Permit User Defined Extern Tags - - - - - - - - - Module Call Backs - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - Driver Module - - - - - - - Library Module - - - - - - - Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. - Permit User Defined Extern Tags - - - - - - - - - Module Call Backs - - - - - - - - - - - - - - - - - - - Define the FFS File attributes within a sections and containing sections information - - + + + + + + + + + + + + + + + + + + + + + + + + + This is a list of DataHubRecord elements. + + + + + - - - - - - - - - - - - - - - Describe the valid content of a filename - - - - - - - - - - - - This is a list of Filenames - - - - - - - - - - - - - - - - - - - Describe the list of a Formset elements - - - - - - Describe the valid content of a Formset - - - - - - - - - - - - - - - - Describe the valid content of a Formset - - - - - - - - - - - - - - - - - - - Describe the valid content of a GUID - - - - - - - - - - - + + + + + + + + + + + + The default setting of a PCD entry. + + + + + + + + + + This section is required for new modules and libraries and must contain more information than the Abstract. + + + + + Child of Framework Platform Description (FPD) + FPD uses this PCD information for Dynamic PCDs Only + + + + + - - - - - - - - - - - - - - - - - - - - - - Describe the valid content of a PCD GUID element - - - - - - - - - - - - - - - - - - - - - Describe the valid content of a PCD GUID element - - - - - - - - - - - - - - - - - - - - - - - - - This section is used to describe how a GUID, PPI or PROTOCOL is to be used within the context of PCDs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or More Package Names or Arch sections is required. Includes are not files, but paths to where header files are located. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a list of MSA Events + + + + + - - - - - - - - Different (Module) Instances of Libraries used ONLY in FPD Files. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module. - - - - - - - - - - - - This element defines a class of library, along with the path to the Include Header for this library - - - - - - Used in MSA and SPD files. This defines what class of library is being supported = produced (library module) or consumed by a module. - - - - - - - - - - - - - - - - - This section defines what Classes of Libraries that this library belongs to. A Library may belong to multiple different library classes. - - - - - - - - - - This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. - - - - - - - - - - - - - - - - - - - - - This is record format for a Module entry in the Framework Database file. - - - - This describes the fields in an Module record in the Framework Database. The Path field is relative to the workspace to Module Surface Area (MSA) files. - + + + + + + + + + + + + + + + Module has an event that is waiting to be signaled. Event is named by GUID. + + - - - - - - - - - - - - - - This tag is used in the Framework Package Database File to track package installation - - - - - - - - - - This is the valid content of a Module Name - - - - - - - - - - - - Describe the valid EFI Phase that the Module is designed to execute under. - - - - - - - - - Surface Area Package Description (SPD) list of Module Surface Area files - - - - - - - - - - - - - - - - Describe the valid content of a Surface Area Package Description (SPD) file - - - - - - - - - - - - - - - - - - - Surface Area Package Description (SPD) list of Module Surface Area files - - + + + + + + + + + + + + + + + + + + This is a child of MSA files. + + + + + + + + + + + Driver Module + + + + + + + Library Module + + + + + + + Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. + Permit User Defined Extern Tags + + + + + + + + + Module Call Backs + + + + + + + + + + + + + + Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here! + + + + + + + + + + + + This is a list of Filenames + + + + + + + + + + This is a child of PackageSurfaceArea (SPD) + + + + + - - - - - - - - - - - - - - - Child of Module Surface Area Description (MSA) - - - - - - This is the valid content of the PCD table of a Module. The contents may not be wired at build time, and these only refer to Platform Build values, not modules. - This element is valid for PcdInfo.xml and FPD files. - - - - - - - - - - - - - - - - - Define where we want our output to go. The Attribute, IntermediateDirectories, default MODULE, says that intermediate files will be local to the module, versus a unified directory structure. - - - - - - - - - - - - - - - - - - - - Child of Module Surface Area documents, MSA and MBD files, Library Modules and Other Modules - One or more PcdData or PcdBuildData Elements Only one type is permitted - - - - - - This is a child of PCDs and can occur in the MSA and MBD files. - This is date element is used in the Module Surface Area (MSA) file and contains references to be used by a Platform Build - There is ONE required Attribute, ItemType - - - - - - - - - - - - - - - - - Max Number of Bytes of the data. - - - - - - - - - - - - - - - - - - - - - - - - - This tag is used in the Package Surface Area Description File to track package dependencies for a module - - - - - - - - - - - This defines the minimum header file needed to support a given ModuleType. - - + + + + + + + + + + + + + + + + Describe the valid content of a GUID element in and MSA file. + + - - - - - - - This tag is used in the Framework Package Database File to track all packages installed in a workspace. (Database) - - - - - - This tag is used in the Framework Package Database File to track individual package information. The Path is a relative path to the SPD File. - - - - - - - - - - - - - - - - - - - - - - - - - - - - This tag is used in the Package Surface Area Description File to track package dependencies for a module (SPD) - - - - - - - - - - - - - Describe the valid content of a filename - - + + + + + + + + + + + + Describe the list of a HiiPackage elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Different (Module) Instances of Libraries used ONLY in FPD Files. + + + + + + + + + + + + + + Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module. + + + + + + + + + + + + + + + + + + + + + + + + + + + + This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describe the valid EFI Phase that the Module is designed to execute under. + + + + + + MsaFiles is a child of Surface Area Package Description (SPD) files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module. + Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag + + + + + + + + + + + + + + PackageHeaders is a child of PackageSurfaceArea (SPD) + + + + + - - - + + + - - - - - NEW: Will become a child of ModuleSA in the FPD - - - - - - - Child of PcdBuildDeclarations - This is date element is used in the platform build description file and contains valid data for a Platform Build - There is ONE required Attribute, ItemType - - - - - - - This as a unique identifier defined for either this name space. - The Target Attribute may be used to define a Target name space, such as PCI. - - - - - - - - - - - - - This specifies the size of the Pcd Datum. It is either 8, 16, 32 or 64 bits for values, 1 bit for BOOLEAN and variable length for elements defined as VOID* - - - - - This Bit means that the Variable data is associated with HII - - - - - This bit enables the Vital Product Data area within flash for maintaining PCD information - - - - - This is only applicable to ItemType DYNAMIC_EX - - - - - - - - This element is a list of two entries per line, the first should be an integer, while the second entry should be a string value - - - - - - - - This section is for a list of SkuData Elements, ID and Value - - - - - - - - - - - - This value comes from a production line database, and has nothing to do with the number of SkuData IDs that have been defined. - - - - - This is the specific Sku ID for this build. - - - - - Max Number of Bytes of the data. - - - - - - - - - - - This is the Variable's GUID if and only if HII is enabled. - - - - - This is the C Name for the Variable, and is valid if and only HII is enabled. - - - - - - If HII is enabled, This is the offset into the variable data entry, If Vpd is enabled, then it's the Offset into the VPD area of the image defined by platform manufacturer, if neither HII nor Vpd are enabled, it's the offset into the PCD Data Area. HII and VPD can never be enabled at the same time (as of the date of this document.) - - - - - FIELD IS NOT USED! REMOVE in FINAL! - - - - - - - - - This is an enumerated data type that will be used for DYNAMIC_EX, PEIM or DXE only - - - - - - - - - - - - - - - - Child of Framework Platform Description (FPD) - We permit the FPD to use an external XML file for PCD information or else the information must be contained within the XML data element, PcdBuildData. - - + + + + + + + + + This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database) + + + + + + + + + + + Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! + + + + + - - - Child of PcdBuildDeclarations - This is date element is used in the platform build description file and contains valid data for a Platform Build - There is ONE required Attribute, ItemType - - - - - - - - This as a unique identifier defined for either this name space. - The Target Attribute may be used to define a Target name space, such as PCI. - - - - - - - - - - - - - This specifies the size of the Pcd Datum. It is either 8, 16, 32 or 64 bits for values, 1 bit for BOOLEAN and variable length for elements defined as VOID* - - - - - This Bit means that the Variable data is associated with HII - - - - - This bit enables the Vital Product Data area within flash for maintaining PCD information - - - - - This is only applicable to ItemType DYNAMIC_EX - - - - - - - - This element is a list of two entries per line, the first should be an integer, while the second entry should be a string value - - - - - - - - This section is for a list of SkuData Elements, ID and Value - - - - - - - - - - - - This value comes from a production line database, and has nothing to do with the number of SkuData IDs that have been defined. - - - - - This is the specific Sku ID for this build. - - - - - Max Number of Bytes of the data. - - - - - - - - - - - This is the Variable's GUID if and only if HII is enabled. - - - - - This is the C Name for the Variable, and is valid if and only HII is enabled. - - - - - - If HII is enabled, This is the offset into the variable data entry, If Vpd is enabled, then it's the Offset into the VPD area of the image defined by platform manufacturer, if neither HII nor Vpd are enabled, it's the offset into the PCD Data Area. HII and VPD can never be enabled at the same time (as of the date of this document.) - - - - - FIELD IS NOT USED! REMOVE in FINAL! - - - - - - - - - This is an enumerated data type that will be used for DYNAMIC_EX, PEIM or DXE only - - - - - - - - - - - - - - - Child of Package Surface Area Description (SPD) - This permits entering information about a package's PCD information - - - - - - This is the valid content of the PCD table of a Module. The contents may not be wired at build time, and these only refer to Platform Build values, not modules. - This element is valid for PcdInfo.xml and FPD files. - There is ONE required Attribute, ItemType - - - - - - - - - - - - - - - - - - - - - Child of Package Surface Area Description (SPD) - This permits entering information about a package's PCD information - - - - - - This is the valid content of the PCD table of a Module. The contents may not be wired at build time, and these only refer to Platform Build values, not modules. - This element is valid for PcdInfo.xml and FPD files. - There is ONE required Attribute, ItemType - - - - - - - - - - - - - - - - - Max Number of Bytes of the data. - - - - - - - - - - - - - - - - - - - - - - - Database Entry to locate the Platform Build Tips - path to FPD file. - - + + + + + + + + + + + + + + + + + + + + + + If HiiEnable group is specified, then HiiEnable is default true + + + + + + + + + + + If VpdEnable group is specified, then VpdEnable is default true + + + + + + + + Child of Module Surface Area Description (MSA) + + + + + - - - Define the Name of a Platform - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + PcdDeclaratins is a child of Package Surface Area Description (SPD) + + + + + - - - - - - - - - - - - - - - - - - - Provide for one or more Ppi or PpiNotify sections. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database) + + + + + + + + + + + + + - - - - - - - - - - - - - - - - If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sections refers to the Firmware Filesystem sections, PE32, UI, VER, DXS, etc. and how they are made - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. - - - - - - - - - - - - - - - - - - - This string is used to provide the name and version of the Specification that the component conforms to. - - + + + + + + + + + + + PpiDeclarations is a child of PackageSurfaceArea (SPD) + + + + + + + + + + + + + + + + + + + Provide for one or more Ppi or PpiNotify sections. + + + + + + + + + + + + + + + + + + + + + + + + + + + ProtocolDeclarations is a child of PackageSurfaceArea (SPD) + + + + + + + + + + + + + + + + + + + If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. + + + + + + + + + + + + - - - + + + - - - - - This is list of System Table elements. - - - - - - - - - - - - - - - - - - - - - This is a sub-element of BuildOptions - Permit Users to define their own custom ANT tasks. - - - - - - - - - - A list of EFI Variables described by GUID string pair. - - - - - - This is an EFI Variable Entry - - - - - - - - - - - This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts. - - - - - This entry represents the Location of the Starting Bit {0,8} of the start of Data. A value of zero or 1 indicates that there is no BitOffset into the byte. - - - - - - - - - - - This number represents the number of bits to use {0, 7} starting at the BitOffset. A value of 0 indicates that the entire Byte should be used. - - - - - - - - - - - - - - - - - - - This is an EFI Variable Entry - - - - - - - - This entry represents the Hex Byte Offset {0x0, 0xn} to where the data starts. - - - - - This entry represents the Location of the Starting Bit {0,8} of the start of Data. A value of zero or 1 indicates that there is no BitOffset into the byte. - - - - - - - - - - - This number represents the number of bits to use {0, 7} starting at the BitOffset. A value of 0 indicates that the entire Byte should be used. - - - - - - - - - - - - - - - - - - - - + + + + + + + + This is list of System Table elements. + + + + + + + + + + + + + + + + + + This is a sub-element of BuildOptions + Permit Users to define their own custom ANT tasks. + + + + + + + + + + + + + + + + + + + An MSA FILE list of EFI Variables described by string pair. + + + + + + This is an EFI Variable Entry + + + + + + + + + + + + + +