Changeset 58459 in vbox for trunk/src/VBox/Devices/EFI/Firmware/BaseTools/Conf/XMLSchema
- Timestamp:
- Oct 28, 2015 8:17:18 PM (9 years ago)
- Location:
- trunk/src/VBox/Devices/EFI/Firmware
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware
-
Property svn:mergeinfo
set to (toggle deleted branches)
/vendor/edk2/current 103735-103757
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/Firmware/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
r48674 r58459 3 3 Filename: DistributionPackage.xsd 4 4 5 Copyright (c) 2008 - 201 1, Intel Corporation. All rights reserved.5 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved. 6 6 7 7 This program and the accompanying materials are licensed and made available … … 14 14 --> 15 15 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 16 targetNamespace="http://www.uefi.org/201 1/1.1" xmlns="http://www.uefi.org/2011/1.1">16 targetNamespace="http://www.uefi.org/2012/1.0" xmlns="http://www.uefi.org/2012/1.0"> 17 17 <xs:element name="DistributionPackage"> 18 18 <xs:annotation> 19 <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package 20 description (PKG) file. It describes the content of:</xs:documentation> 21 <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and 22 headers.</xs:documentation> 23 <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note 24 that Binary format is for FFS leaf section file types only, complete FFS files 25 cannot be distributed using this distribution format.) </xs:documentation> 26 <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify 27 the binary images to create UEFI/PI compliant images. </xs:documentation> 28 <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other 29 miscellaneous content that is not specific to UEFI/PI images. </xs:documentation> 30 <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of 31 packages, while the Module Surface Area provides information relevant to source 32 and/or binary distributions. </xs:documentation> 19 <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package description (PKG) 20 file. It describes the content of:</xs:documentation> 21 <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and headers.</xs:documentation> 22 <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note that Binary format 23 is for FFS leaf section file types only, complete FFS files cannot be distributed using this 24 distribution format.) </xs:documentation> 25 <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify the binary images to 26 create UEFI/PI compliant images. </xs:documentation> 27 <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other miscellaneous content 28 that is not specific to UEFI/PI images. </xs:documentation> 29 <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of packages, while the 30 Module Surface Area provides information relevant to source and/or binary distributions. 31 </xs:documentation> 33 32 </xs:annotation> 34 33 <xs:complexType> … … 36 35 <xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1"> 37 36 <xs:annotation> 38 <xs:documentation xml:lang="en-us"> This header contains (legal) information 39 usually required for distributing both binary and/or source code. 37 <xs:documentation xml:lang="en-us"> This header contains (legal) information usually required 38 for distributing both binary and/or source code. </xs:documentation> 39 </xs:annotation> 40 </xs:element> 41 <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded"> 42 <xs:annotation> 43 <xs:documentation xml:lang="en-us"> The list of packages in this distribution. </xs:documentation> 44 <xs:documentation xml:lang="en-us"> Packages are groups of files and/or modules that are similar 45 in nature.</xs:documentation> 46 <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a package GUID and a 47 package version. </xs:documentation> 48 <xs:documentation xml:lang="en-us"> A package can declare public mappings of C names to GUID 49 values. </xs:documentation> 50 <xs:documentation xml:lang="en-us"> A package can provide header files for library classes 51 and/or other industry standard definitions. </xs:documentation> 52 <xs:documentation xml:lang="en-us"> A package can also declare public mappings of platform 53 configuration database (PCD) "knobs" to control features and operation of modules 54 within a platform. </xs:documentation> 55 <xs:documentation xml:lang="en-us"> Finally, a package lists the library instances and/or 56 modules that are provided in a distribution package. </xs:documentation> 57 </xs:annotation> 58 </xs:element> 59 <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded"> 60 <xs:annotation> 61 <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules in this 62 distribution that are NOT part of a Package. Every module that is provided as part of a 63 package needs to be described in a PackageSurfaceArea.Modules section. </xs:documentation> 64 <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes how each module in a 65 distribution is coded, or, in the case of a binary module distribution, how it was built. </xs:documentation> 66 <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules are uniquely 67 identified by the Module's GUID and version number. </xs:documentation> 68 <xs:documentation xml:lang="en-us"> This section will typically be used for modules that don't 69 require any additional files that would be included in a package. For example, the Enhanced 70 FAT driver binary does not need to have a package description, as no additional files are 71 provided. </xs:documentation> 72 </xs:annotation> 73 </xs:element> 74 <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded"> 75 <xs:annotation> 76 <xs:documentation xml:lang="en-us"> This section is for distributing vendor specific executable 77 tools, tool source code and/or configuration files. These tools are primarily for 78 manipulating code and/or binary images. </xs:documentation> 79 <xs:documentation xml:lang="en-us"> Tools in this section can:</xs:documentation> 80 <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create source code files 81 and build scripts. </xs:documentation> 82 <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to UEFI/PI specifications. </xs:documentation> 83 <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain types of text/unicode 84 files. </xs:documentation> 85 <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware Device images. </xs:documentation> 86 <xs:documentation xml:lang="en-us"> 5) Implement external encoding/decoding/signature/GUIDed 87 tools. </xs:documentation> 88 <xs:documentation xml:lang="en-us"> 6) Distribution Package create/install/remove tools. 40 89 </xs:documentation> 41 90 </xs:annotation> 42 91 </xs:element> 43 <xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">44 <xs:annotation>45 <xs:documentation xml:lang="en-us"> The list of packages in this46 distribution. </xs:documentation>47 <xs:documentation xml:lang="en-us"> Packages are groups of files and/or48 modules that are similar in nature.</xs:documentation>49 <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a50 package GUID and a package version. </xs:documentation>51 <xs:documentation xml:lang="en-us"> A package can declare public mappings of52 C names to GUID values. </xs:documentation>53 <xs:documentation xml:lang="en-us"> A package can provide header files for54 library classes and/or other industry standard definitions. </xs:documentation>55 <xs:documentation xml:lang="en-us"> A package can also declare public56 mappings of platform configuration database (PCD) "knobs" to57 control features and operation of modules within a platform. </xs:documentation>58 <xs:documentation xml:lang="en-us"> Finally, a package lists the library59 instances and/or modules that are provided in a distribution package.60 </xs:documentation>61 </xs:annotation>62 </xs:element>63 <xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">64 <xs:annotation>65 <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules66 in this distribution that are NOT part of a Package. Every module that67 is provided as part of a package needs to be described in a68 PackageSurfaceArea.Modules section. </xs:documentation>69 <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes70 how each module in a distribution is coded, or, in the case of a binary71 module distribution, how it was built. </xs:documentation>72 <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules73 are uniquely identified by the Module's GUID and version number. </xs:documentation>74 <xs:documentation xml:lang="en-us"> This section will typically be used for75 modules that don't require any additional files that would be included76 in a package. For example, the Enhanced FAT driver binary does not need77 to have a package description, as no additional files are provided.78 </xs:documentation>79 </xs:annotation>80 </xs:element>81 <xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">82 <xs:annotation>83 <xs:documentation xml:lang="en-us"> This section is for distributing vendor84 specific executable tools, tool source code and/or configuration files.85 These tools are primarily for manipulating code and/or binary images. </xs:documentation>86 <xs:documentation xml:lang="en-us"> Tools in this section87 can:</xs:documentation>88 <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create89 source code files and build scripts. </xs:documentation>90 <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to91 UEFI/PI specifications. </xs:documentation>92 <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain93 types of text/unicode files. </xs:documentation>94 <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware95 Device images. </xs:documentation>96 <xs:documentation xml:lang="en-us"> 5) Implement external97 encoding/decoding/signature/GUIDed tools. </xs:documentation>98 <xs:documentation xml:lang="en-us"> 6) Distribution Package99 create/install/remove tools. </xs:documentation>100 </xs:annotation>101 </xs:element>102 92 <xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded"> 103 93 <xs:annotation> 104 <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this 105 distribution. Any files that are not listed in either the Package, 106 Module or Tools sections can be listed here. This section can be used to 107 distribute specifications for packages and modules that are not 108 "industry standards" such as a specification for a chipset or 109 a video device. </xs:documentation> 94 <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this distribution. Any 95 files that are not listed in either the Package, Module or Tools sections can be listed 96 here. This section can be used to distribute specifications for packages and modules that 97 are not "industry standards" such as a specification for a chipset or a video 98 device. </xs:documentation> 110 99 </xs:annotation> 111 100 </xs:element> 112 101 <xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded"> 113 102 <xs:annotation> 114 <xs:documentation xml:lang="en-us"> The UserExtensions section is used to 115 disseminate processing instructions that may be custom to the content 116 provided by the distribution. This section contains information that is 117 common to all aspects of this disribution. </xs:documentation> 103 <xs:documentation xml:lang="en-us"> The UserExtensions section is used to disseminate processing 104 instructions that may be custom to the content provided by the distribution. This section 105 contains information that is common to all aspects of this disribution. </xs:documentation> 118 106 </xs:annotation> 119 107 </xs:element> … … 126 114 <xs:element name="DistributionHeader"> 127 115 <xs:annotation> 128 <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI 129 compliant Distribution Package Header. This is the only required element of a130 UEFI/PI compliant distribution package.</xs:documentation>116 <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI compliant Distribution 117 Package Header. This is the only required element of a UEFI/PI compliant distribution package. 118 </xs:documentation> 131 119 </xs:annotation> 132 120 <xs:complexType> … … 134 122 <xs:element minOccurs="1" maxOccurs="1" name="Name"> 135 123 <xs:annotation> 136 <xs:documentation xml:lang="en-us"> This is the User Interface Name for this 137 DistributionPackage. </xs:documentation>138 <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely 139 identified by it'sGUID and Version number. </xs:documentation>124 <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Distribution 125 Package. </xs:documentation> 126 <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely identified by it's 127 GUID and Version number. </xs:documentation> 140 128 </xs:annotation> 141 129 <xs:complexType> … … 144 132 <xs:attribute name="BaseName" type="xs:NMTOKEN" use="optional"> 145 133 <xs:annotation> 146 <xs:documentation xml:lang="en-us"> The reference name of 147 the Distribution Package file. This single word name can 148 be used by tools as a keyword or for directory and/or 149 file creation. </xs:documentation> 150 <xs:documentation xml:lang="en-us"> White space and special 151 characters (dash and underscore characters may be used) 152 are not permitted in this name. </xs:documentation> 153 </xs:annotation> 154 </xs:attribute> 155 </xs:extension> 156 </xs:simpleContent> 157 </xs:complexType> 158 </xs:element> 159 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 160 <xs:annotation> 161 <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version 162 attribute uniquely identify this Distribution Package. </xs:documentation> 163 <xs:documentation xml:lang="en-us"> Backward compatible releases of a 164 distribution package need only change the version number, while 165 non-backward compatible changes require the GUID to change (resetting 166 the version number to 1.0 is optional.) </xs:documentation> 167 </xs:annotation> 168 <xs:complexType> 169 <xs:simpleContent> 170 <xs:extension base="RegistryFormatGuid"> 171 <xs:attribute name="Version" type="xs:decimal" use="required"> 172 <xs:annotation> 173 <xs:documentation xml:lang="en-us"> This value, along with 174 the GUID, is used to uniquely identify this object. The 175 higher the number, the more recent the content. 134 <xs:documentation xml:lang="en-us"> The reference name of the Distribution 135 Package file. This single word name can be used by tools as a keyword or for 136 directory and/or file creation. </xs:documentation> 137 <xs:documentation xml:lang="en-us"> White space and special characters (dash and 138 underscore characters may be used) are not permitted in this name. 176 139 </xs:documentation> 177 140 </xs:annotation> … … 181 144 </xs:complexType> 182 145 </xs:element> 146 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 147 <xs:annotation> 148 <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version attribute uniquely 149 identify this Distribution Package. </xs:documentation> 150 <xs:documentation xml:lang="en-us"> Backward compatible releases of a distribution package need 151 only change the version number, while non-backward compatible changes require the GUID to 152 change (resetting the version number to 1.0 is optional.) </xs:documentation> 153 </xs:annotation> 154 <xs:complexType> 155 <xs:simpleContent> 156 <xs:extension base="RegistryFormatGuid"> 157 <xs:attribute name="Version" type="xs:decimal" use="required"> 158 <xs:annotation> 159 <xs:documentation xml:lang="en-us"> This value, along with the GUID, is used to 160 uniquely identify this object. The higher the number, the more recent the 161 content. </xs:documentation> 162 </xs:annotation> 163 </xs:attribute> 164 </xs:extension> 165 </xs:simpleContent> 166 </xs:complexType> 167 </xs:element> 183 168 <xs:element minOccurs="1" maxOccurs="1" name="Vendor" type="xs:normalizedString"> 184 169 <xs:annotation> 185 <xs:documentation xml:lang="en-us"> A string identifying who created this 186 distribution package.</xs:documentation>170 <xs:documentation xml:lang="en-us"> A string identifying who created this distribution package. 171 </xs:documentation> 187 172 </xs:annotation> 188 173 </xs:element> 189 174 <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime"> 190 175 <xs:annotation> 191 <xs:documentation xml:lang="en-us"> The date and time this distribution was 192 created. The format is: YYYY-MM-DDThh:mm:ss, for example: 193 2001-01-31T13:30:00 (note the T character separator between the calendar 194 date and the time. </xs:documentation> 195 </xs:annotation> 196 </xs:element> 197 <xs:element minOccurs="1" maxOccurs="1" name="Copyright" type="xs:string"> 198 <xs:annotation> 199 <xs:documentation xml:lang="en-us"> The copyright for this file that is 200 generated by the creator of the distribution. If a derivative work is 201 generated from an existing distribution, then the existing copyright 202 must be maintained, and additional copyrights may be appended to the end 203 of this element. It may also be the primary copyright for all code 204 provided in the Distribution Package. </xs:documentation> 205 </xs:annotation> 206 </xs:element> 207 <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string"> 208 <xs:annotation> 209 <xs:documentation xml:lang="en-us"> A license that describes any 210 restrictions on the use of this distribution. If a derivative work is 211 allowed by the original license and a derivative work is generated from 212 an existing distribution, then the existing license must be maintained, 213 and additional licenses may be appended to the end of this element. It 214 may also be the primary license for all code provided in the 215 distribution file. Alternatively, this may point to a filename that 216 contains the License. The file (included in the content zip file) will 217 be stored in the same location as the distribution package's .pkg file. 176 <xs:documentation xml:lang="en-us"> The date and time this distribution was created. The format 177 is: YYYY-MM-DDThh:mm:ss, for example: 2001-01-31T13:30:00 (note the T character separator 178 between the calendar date and the time. </xs:documentation> 179 </xs:annotation> 180 </xs:element> 181 <xs:element minOccurs="1" maxOccurs="unbounded" name="Copyright"> 182 <xs:annotation> 183 <xs:documentation xml:lang="en-us"> The copyright for this file that is generated by the creator 184 of the distribution. If a derivative work is generated from an existing distribution, then 185 the existing copyright must be maintained, and additional copyrights may be appended to the 186 end of this element. It may also be the primary copyright for all code provided in the 187 Distribution Package. </xs:documentation> 188 </xs:annotation> 189 <xs:complexType> 190 <xs:simpleContent> 191 <xs:extension base="xs:string"> 192 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 193 </xs:extension> 194 </xs:simpleContent> 195 </xs:complexType> 196 197 </xs:element> 198 <xs:element minOccurs="1" maxOccurs="unbounded" name="License"> 199 <xs:annotation> 200 <xs:documentation xml:lang="en-us"> A license that describes any restrictions on the use of this 201 distribution. If a derivative work is allowed by the original license and a derivative work 202 is generated from an existing distribution, then the existing license must be maintained, 203 and additional licenses may be appended to the end of this element. It may also be the 204 primary license for all code provided in the distribution file. Alternatively, this may 205 point to a filename that contains the License. The file (included in the content zip file) 206 will be stored in the same location as the distribution package's .pkg file. 218 207 </xs:documentation> 219 208 </xs:annotation> 220 </xs:element> 221 <xs:element minOccurs="1" maxOccurs="1" name="Abstract" type="xs:normalizedString"> 222 <xs:annotation> 223 <xs:documentation xml:lang="en-us"> A one line description of the 224 Distribution Package. </xs:documentation> 225 </xs:annotation> 226 </xs:element> 227 <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string"> 228 <xs:annotation> 229 <xs:documentation xml:lang="en-us"> A complete description of the 230 Distribution Package. This description may include the release name of 231 the file, the version of the file, and a complete description of the 232 file contents and/or features including a description of the updates 233 since the previous file release. </xs:documentation> 234 </xs:annotation> 209 <xs:complexType> 210 <xs:simpleContent> 211 <xs:extension base="xs:string"> 212 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 213 </xs:extension> 214 </xs:simpleContent> 215 </xs:complexType> 216 </xs:element> 217 <xs:element minOccurs="1" maxOccurs="unbounded" name="Abstract"> 218 <xs:annotation> 219 <xs:documentation xml:lang="en-us"> A one line description of the Distribution Package. 220 </xs:documentation> 221 </xs:annotation> 222 <xs:complexType> 223 <xs:simpleContent> 224 <xs:extension base="xs:normalizedString"> 225 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 226 </xs:extension> 227 </xs:simpleContent> 228 </xs:complexType> 229 </xs:element> 230 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> 231 <xs:annotation> 232 <xs:documentation xml:lang="en-us"> A complete description of the Distribution Package. This 233 description may include the release name of the file, the version of the file, and a 234 complete description of the file contents and/or features including a description of the 235 updates since the previous file release. </xs:documentation> 236 </xs:annotation> 237 <xs:complexType> 238 <xs:simpleContent> 239 <xs:extension base="xs:string"> 240 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 241 </xs:extension> 242 </xs:simpleContent> 243 </xs:complexType> 235 244 </xs:element> 236 245 <xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum"> 237 246 <xs:annotation> 238 <xs:documentation xml:lang="en-us"> The packaging utilities will use this 239 MD5 sum value of the included ZIP file containing files and/or code. If 240 this element is not present, then installation tools should assume that 241 the content is correct, or that other methods may be needed to verify 242 content. </xs:documentation> 243 </xs:annotation> 244 </xs:element> 245 <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" 246 default="1.1"> 247 <xs:documentation xml:lang="en-us"> The packaging utilities will use this MD5 sum value of the 248 included ZIP file containing files and/or code. If this element is not present, then 249 installation tools should assume that the content is correct, or that other methods may be 250 needed to verify content. </xs:documentation> 251 </xs:annotation> 252 </xs:element> 253 <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" default="1.1"> 247 254 <xs:annotation> 248 255 <xs:documentation xml:lang="en-us"> This version of this XML Schema is 1.1 </xs:documentation> 249 256 <xs:documentation xml:lang="en-us"> Changes to 1.1 from 1.0 </xs:documentation> 250 <xs:documentation xml:lang="en-us"> #1 Updated to present date and new 251 version which is important to reflect the present state of the 252 matter</xs:documentation> 253 <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of 254 UNDEFIND type 2 is important since there is a large body of legacy code 255 for which the GUID’s and other code/data objects were not decorated with 256 their usage. This document will allow for importing today’s source 257 artifacts and producing decorations using the ‘Undefined’ versus having 258 an error</xs:documentation> 259 <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future 260 architecture types</xs:documentation> 257 <xs:documentation xml:lang="en-us"> #1 Updated to present date and new version which is 258 important to reflect the present state of the matter</xs:documentation> 259 <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of UNDEFIND type 2 is 260 important since there is a large body of legacy code for which the GUID’s and other 261 code/data objects were not decorated with their usage. This document will allow for 262 importing today’s source artifacts and producing decorations using the ‘Undefined’ versus 263 having an error</xs:documentation> 264 <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future architecture 265 types</xs:documentation> 261 266 </xs:annotation> 262 267 </xs:element> … … 264 269 <xs:attribute name="ReadOnly" type="xs:boolean" default="false" use="optional"> 265 270 <xs:annotation> 266 <xs:documentation xml:lang="en-us"> If set to true, all content within this 267 Distribution Package should NOT be modified. The default permits 268 modification of all content. </xs:documentation> 271 <xs:documentation xml:lang="en-us"> If set to true, all content within this Distribution Package 272 should NOT be modified. The default permits modification of all content. </xs:documentation> 269 273 </xs:annotation> 270 274 </xs:attribute> 271 275 <xs:attribute name="RePackage" type="xs:boolean" default="false" use="optional"> 272 276 <xs:annotation> 273 <xs:documentation xml:lang="en-us"> If set to true, then the content can be 274 repackaged into another distribution package. The default prohibits275 repackaging the Distribution content.</xs:documentation>277 <xs:documentation xml:lang="en-us"> If set to true, then the content can be repackaged into another 278 distribution package. The default prohibits repackaging the Distribution content. 279 </xs:documentation> 276 280 </xs:annotation> 277 281 </xs:attribute> … … 282 286 <xs:element name="PackageSurfaceArea"> 283 287 <xs:annotation> 284 <xs:documentation xml:lang="en-us"> A package is a collection of related objects - 285 Includes, Libraries andModules. </xs:documentation>286 <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and 287 Version number. Backward compatible releases of a package need only change the288 version number, while non-backward compatible changes require the GUID to change289 (resetting the version number to 1.0 is optional.)</xs:documentation>288 <xs:documentation xml:lang="en-us"> A package is a collection of related objects - Includes, Libraries and 289 Modules. </xs:documentation> 290 <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and Version number. 291 Backward compatible releases of a package need only change the version number, while non-backward 292 compatible changes require the GUID to change (resetting the version number to 1.0 is optional.) 293 </xs:documentation> 290 294 </xs:annotation> 291 295 <xs:complexType> … … 297 301 <xs:element minOccurs="1" maxOccurs="1" name="Name"> 298 302 <xs:annotation> 299 <xs:documentation xml:lang="en-us"> This is the User Interface 300 Name for thispackage. </xs:documentation>303 <xs:documentation xml:lang="en-us"> This is the User Interface Name for this 304 package. </xs:documentation> 301 305 </xs:annotation> 302 306 <xs:complexType> 303 307 <xs:simpleContent> 304 308 <xs:extension base="xs:normalizedString"> 305 <xs:attribute name="BaseName" type="xs:NMTOKEN" 306 use="required"> 309 <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required"> 307 310 <xs:annotation> 308 <xs:documentation xml:lang="en-us"> This is a 309 single word BaseName of the package. This BaseName 310 can be used by tools as a keyword and for 311 directory/file creation. </xs:documentation> 311 <xs:documentation xml:lang="en-us"> This is a single word BaseName 312 of the package. This BaseName can be used by tools as a keyword 313 and for directory/file creation. </xs:documentation> 312 314 </xs:annotation> 313 315 </xs:attribute> … … 318 320 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 319 321 <xs:annotation> 320 <xs:documentation xml:lang="en-us"> This GUID and the Version 321 attribute uniquely identify a given package. 322 </xs:documentation> 322 <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely 323 identify a given package. </xs:documentation> 323 324 </xs:annotation> 324 325 <xs:complexType> 325 326 <xs:simpleContent> 326 327 <xs:extension base="RegistryFormatGuid"> 327 <xs:attribute name="Version" type="xs:decimal" 328 use="required"> 328 <xs:attribute name="Version" type="xs:decimal" use="required"> 329 329 <xs:annotation> 330 <xs:documentation xml:lang="en-us"> This value, 331 along with the GUID, is used to uniquely identify 332 this object. </xs:documentation> 333 <xs:documentation xml:lang="en-us"> Backward 334 compatible changes must make sure this number is 335 incremented from the most recent version. 336 Non-backward compatible changes require a new 337 GUID, and the version can be reset. 338 </xs:documentation> 330 <xs:documentation xml:lang="en-us"> This value, along with the GUID, 331 is used to uniquely identify this object. </xs:documentation> 332 <xs:documentation xml:lang="en-us"> Backward compatible changes must 333 make sure this number is incremented from the most recent 334 version. Non-backward compatible changes require a new GUID, and 335 the version can be reset. </xs:documentation> 339 336 </xs:annotation> 340 337 </xs:attribute> … … 343 340 </xs:complexType> 344 341 </xs:element> 345 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" 346 type="xs:string"> 347 <xs:annotation> 348 <xs:documentation xml:lang="en-us"> If the package requires a 349 different copyright than the distribution package, this 350 element can list one or more copyright lines. 342 <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright"> 343 <xs:annotation> 344 <xs:documentation xml:lang="en-us"> If the package requires a different copyright 345 than the distribution package, this element can list one or more copyright 346 lines. </xs:documentation> 347 </xs:annotation> 348 <xs:complexType> 349 <xs:simpleContent> 350 <xs:extension base="xs:string"> 351 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 352 /> 353 </xs:extension> 354 </xs:simpleContent> 355 </xs:complexType> 356 357 </xs:element> 358 <xs:element minOccurs="0" maxOccurs="unbounded" name="License"> 359 <xs:annotation> 360 <xs:documentation xml:lang="en-us"> If the package requires licenses that are 361 different from the distribution package license, this element can contain one or 362 more license text paragraphs (or license filenames.) </xs:documentation> 363 </xs:annotation> 364 <xs:complexType> 365 <xs:simpleContent> 366 <xs:extension base="xs:string"> 367 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 368 /> 369 </xs:extension> 370 </xs:simpleContent> 371 </xs:complexType> 372 373 </xs:element> 374 <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract"> 375 <xs:annotation> 376 <xs:documentation xml:lang="en-us"> A one line description of this package. 351 377 </xs:documentation> 352 378 </xs:annotation> 353 </xs:element> 354 <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> 355 <xs:annotation> 356 <xs:documentation xml:lang="en-us"> If the package requires 357 licenses that are different from the distribution package 358 license, this element can contain one or more license text 359 paragraphs (or license filenames.) </xs:documentation> 360 </xs:annotation> 361 </xs:element> 362 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" 363 type="xs:normalizedString"> 364 <xs:annotation> 365 <xs:documentation xml:lang="en-us"> A one line description of 366 this package. </xs:documentation> 367 </xs:annotation> 368 </xs:element> 369 <xs:element minOccurs="0" maxOccurs="1" name="Description" 370 type="xs:string"> 371 <xs:annotation> 372 <xs:documentation xml:lang="en-us"> A complete description of a 373 package. This description may include the release name of 374 the package, the version of the package, and a complete 375 description of the package contents and/or features 376 including a description of the updates since the previous 377 package’s release. </xs:documentation> 378 </xs:annotation> 379 </xs:element> 380 <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" 381 type="xs:anyURI"> 382 <xs:annotation> 383 <xs:documentation xml:lang="en-us"> This element is the location 384 (in the ZIP file) for the root directory of a package. 379 <xs:complexType> 380 <xs:simpleContent> 381 <xs:extension base="xs:normalizedString"> 382 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 383 /> 384 </xs:extension> 385 </xs:simpleContent> 386 </xs:complexType> 387 </xs:element> 388 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> 389 <xs:annotation> 390 <xs:documentation xml:lang="en-us"> A complete description of a package. This 391 description may include the release name of the package, the version of the 392 package, and a complete description of the package contents and/or features 393 including a description of the updates since the previous package’s release. 385 394 </xs:documentation> 386 395 </xs:annotation> 396 <xs:complexType> 397 <xs:simpleContent> 398 <xs:extension base="xs:string"> 399 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 400 /> 401 </xs:extension> 402 </xs:simpleContent> 403 </xs:complexType> 404 </xs:element> 405 <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" type="xs:anyURI"> 406 <xs:annotation> 407 <xs:documentation xml:lang="en-us"> This element is the location (in the ZIP file) 408 for the root directory of a package. </xs:documentation> 409 </xs:annotation> 387 410 </xs:element> 388 411 </xs:sequence> … … 393 416 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom"> 394 417 <xs:annotation> 395 <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate 396 that this package as been copied and modified to a completely different397 package. An example might be for a new generation of chipsets that have398 few or no elements in common with the original.</xs:documentation>418 <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate that this package 419 as been copied and modified to a completely different package. An example might be for a new 420 generation of chipsets that have few or no elements in common with the original. 421 </xs:documentation> 399 422 </xs:annotation> 400 423 <xs:complexType> … … 402 425 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 403 426 <xs:annotation> 404 <xs:documentation xml:lang="en-us"> This GUID and the Version 405 attribute uniquely identify the Package that this Package 406 was copied from. </xs:documentation> 427 <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely 428 identify the Package that this Package was copied from. </xs:documentation> 407 429 </xs:annotation> 408 430 <xs:complexType> 409 431 <xs:simpleContent> 410 432 <xs:extension base="RegistryFormatGuid"> 411 <xs:attribute name="Version" type="xs:decimal" 412 use="required"> 433 <xs:attribute name="Version" type="xs:decimal" use="required"> 413 434 <xs:annotation> 414 <xs:documentation xml:lang="en-us"> This value, 415 along with the GUID, is used to uniquely identify 416 the package that this package was cloned from. 417 </xs:documentation> 435 <xs:documentation xml:lang="en-us"> This value, along with the GUID, 436 is used to uniquely identify the package that this package was 437 cloned from. </xs:documentation> 418 438 </xs:annotation> 419 439 </xs:attribute> … … 429 449 <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations"> 430 450 <xs:annotation> 431 <xs:documentation xml:lang="en-us"> Library Classes are public interfaces 432 that can be used by modules. One or more library instances can implement 433 a library class, however only one library instance can be linked to an 434 individual module. This provides the platform integrator with the 435 flexibility of choosing one library instance's implementation over a 451 <xs:documentation xml:lang="en-us"> Library Classes are public interfaces that can be used by 452 modules. One or more library instances can implement a library class, however only one 453 library instance can be linked to an individual module. This provides the platform 454 integrator with the flexibility of choosing one library instance's implementation over a 436 455 different library instance. </xs:documentation> 437 456 </xs:annotation> … … 441 460 <xs:complexType> 442 461 <xs:sequence> 443 <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" 444 type="xs:anyURI"> 462 <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI"> 445 463 <xs:annotation> 446 <xs:documentation xml:lang="en-us"> The header file 447 provides definitions and function prototypes for a 448 library class. Modules can be coded against these 449 functions, using the definitions in this header, 450 without concerning themselves about the libraries' 451 implementation details. This is a PackagePath 452 relative path and filename for the include file. 453 </xs:documentation> 464 <xs:documentation xml:lang="en-us"> The header file provides definitions 465 and function prototypes for a library class. Modules can be coded 466 against these functions, using the definitions in this header, 467 without concerning themselves about the libraries' implementation 468 details. This is a PackagePath relative path and filename for the 469 include file. </xs:documentation> 454 470 </xs:annotation> 455 471 </xs:element> 456 <xs:element minOccurs="0" maxOccurs="1" 457 name="RecommendedInstance"> 472 <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance"> 458 473 <xs:complexType> 459 474 <xs:sequence> 460 <xs:element minOccurs="1" maxOccurs="1" 461 name="GUID"> 462 <xs:annotation> 463 <xs:documentation xml:lang="en-us"> This GUID and 464 the Version attribute uniquely identify the 465 Recommended Library Instance. </xs:documentation> 466 </xs:annotation> 467 <xs:complexType> 468 <xs:simpleContent> 469 <xs:extension base="RegistryFormatGuid"> 470 <xs:attribute name="Version" type="xs:decimal" 471 use="optional"> 472 <xs:annotation> 473 <xs:documentation xml:lang="en-us"> This value, 474 along with the GUID, is used to uniquely identify 475 this object. If this value is not specified, then 476 any version of the library instance is 477 recommended. </xs:documentation> 478 </xs:annotation> 479 </xs:attribute> 480 </xs:extension> 481 </xs:simpleContent> 482 </xs:complexType> 483 </xs:element> 475 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 476 <xs:annotation> 477 <xs:documentation xml:lang="en-us"> This GUID and the 478 Version attribute uniquely identify the Recommended Library 479 Instance. </xs:documentation> 480 </xs:annotation> 481 <xs:complexType> 482 <xs:simpleContent> 483 <xs:extension base="RegistryFormatGuid"> 484 <xs:attribute name="Version" type="xs:decimal" 485 use="optional"> 486 <xs:annotation> 487 <xs:documentation xml:lang="en-us"> This value, along with 488 the GUID, is used to uniquely identify this object. If this 489 value is not specified, then any version of the library 490 instance is recommended. </xs:documentation> 491 </xs:annotation> 492 </xs:attribute> 493 </xs:extension> 494 </xs:simpleContent> 495 </xs:complexType> 496 </xs:element> 484 497 </xs:sequence> 485 498 </xs:complexType> 486 499 </xs:element> 487 <xs:element ref="HelpText" minOccurs="0" 488 maxOccurs="unbounded"/> 500 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 489 501 </xs:sequence> 490 502 <xs:attribute name="Keyword" type="xs:NCName" use="required"> 491 503 <xs:annotation> 492 <xs:documentation xml:lang="en-us"> The single word name 493 of the Library Class that module developers will use 494 to identify a library class dependency. 495 </xs:documentation> 504 <xs:documentation xml:lang="en-us"> The single word name of the Library 505 Class that module developers will use to identify a library class 506 dependency. </xs:documentation> 496 507 </xs:annotation> 497 508 </xs:attribute> … … 506 517 <xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes"> 507 518 <xs:annotation> 508 <xs:documentation xml:lang="en-us"> This section is used to list header 509 files for industry standards not under the auspices of UEFI.org. For 510 example, headers that contain definitions and data structures for the 511 USB specifications. </xs:documentation> 512 </xs:annotation> 513 <xs:complexType> 514 <xs:sequence> 515 <xs:element minOccurs="1" maxOccurs="unbounded" 516 name="IndustryStandardHeader"> 519 <xs:documentation xml:lang="en-us"> This section is used to list header files for industry 520 standards not under the auspices of UEFI.org. For example, headers that contain definitions 521 and data structures for the USB specifications. </xs:documentation> 522 </xs:annotation> 523 <xs:complexType> 524 <xs:sequence> 525 <xs:element minOccurs="1" maxOccurs="unbounded" name="IndustryStandardHeader"> 517 526 <xs:complexType> 518 527 <xs:sequence> 519 <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" 520 type="xs:anyURI"> 528 <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI"> 521 529 <xs:annotation> 522 <xs:documentation xml:lang="en-us"> The package 523 relative path and filename (in the content zip 524 file) of the industry standard include file. 525 </xs:documentation> 530 <xs:documentation xml:lang="en-us"> The package relative path and 531 filename (in the content zip file) of the industry standard include 532 file. </xs:documentation> 526 533 </xs:annotation> 527 534 </xs:element> 528 <xs:element ref="HelpText" minOccurs="0" 529 maxOccurs="unbounded"/> 535 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 530 536 </xs:sequence> 531 537 </xs:complexType> … … 538 544 <xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes"> 539 545 <xs:annotation> 540 <xs:documentation xml:lang="en-us"> All top level header files that are 541 included by a package that are not listed above. They cannot 542 be:</xs:documentation> 546 <xs:documentation xml:lang="en-us"> All top level header files that are included by a package 547 that are not listed above. They cannot be:</xs:documentation> 543 548 <xs:documentation xml:lang="en-us"> 1) Local to a module (module specific.) </xs:documentation> 544 549 <xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation> 545 <xs:documentation xml:lang="en-us"> 3) A library class header. 546 </xs:documentation> 550 <xs:documentation xml:lang="en-us"> 3) A library class header. </xs:documentation> 547 551 </xs:annotation> 548 552 <xs:complexType> … … 553 557 <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"> 554 558 <xs:annotation> 555 <xs:documentation xml:lang="en-us"> This is the 556 Package relative path and filename location within557 the content ZIP file.</xs:documentation>559 <xs:documentation xml:lang="en-us"> This is the Package relative path 560 and filename location within the content ZIP file. 561 </xs:documentation> 558 562 </xs:annotation> 559 563 <xs:complexType> 560 564 <xs:simpleContent> 561 <xs:extension base="xs:anyURI">562 <xs:attributeGroup ref="SupportedArchMod"/>563 </xs:extension>565 <xs:extension base="xs:anyURI"> 566 <xs:attributeGroup ref="SupportedArchMod"/> 567 </xs:extension> 564 568 </xs:simpleContent> 565 569 </xs:complexType> 566 570 </xs:element> 567 <xs:element ref="HelpText" minOccurs="0" 568 maxOccurs="unbounded"/> 571 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 569 572 </xs:sequence> 570 573 </xs:complexType> … … 580 583 <xs:element ref="ModuleSurfaceArea" minOccurs="1" maxOccurs="unbounded"> 581 584 <xs:annotation> 582 <xs:documentation xml:lang="en-us"> This section lists the 583 Module Surface Area for all modules provided with this 584 package. </xs:documentation> 585 <xs:documentation xml:lang="en-us"> This section lists the Module Surface Area for 586 all modules provided with this package. </xs:documentation> 585 587 </xs:annotation> 586 588 </xs:element> … … 592 594 <xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations"> 593 595 <xs:annotation> 594 <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID 595 C names to GUIDvalues as a Registry Format GUID. </xs:documentation>596 <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must 597 specify their dependencyon this package. </xs:documentation>596 <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID C names to GUID 597 values as a Registry Format GUID. </xs:documentation> 598 <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must specify their dependency 599 on this package. </xs:documentation> 598 600 </xs:annotation> 599 601 <xs:complexType> … … 601 603 <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> 602 604 <xs:annotation> 603 <xs:documentation xml:lang="en-us"> Individual GUID Declarations 604 </xs:documentation> 605 <xs:documentation xml:lang="en-us"> Individual GUID Declarations </xs:documentation> 605 606 </xs:annotation> 606 607 <xs:complexType> 607 608 <xs:sequence> 608 <xs:element minOccurs="1" maxOccurs="1" name="CName" 609 type="xs:NCName"/> 609 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 610 610 <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" 611 611 type="RegistryFormatGuid"/> 612 <xs:element ref="HelpText" minOccurs="0" 613 maxOccurs="unbounded"/> 612 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 614 613 </xs:sequence> 615 <xs:attribute name="UiName" type="xs:normalizedString" 616 use="optional"/> 617 <xs:attribute name="GuidTypes" type="GuidListType" 618 use="optional"/> 614 <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> 615 <xs:attribute name="GuidTypes" type="GuidListType" use="optional"/> 619 616 <xs:attributeGroup ref="SupportedArchMod"/> 620 617 </xs:complexType> … … 627 624 <xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations"> 628 625 <xs:annotation> 629 <xs:documentation xml:lang="en-us"> This section defines the mapping of 630 Protocol C names to GUIDvalues as a Registry Format GUID. </xs:documentation>631 <xs:documentation xml:lang="en-us"> Modules that use these Protocols must 632 specify theirdependency on this package. </xs:documentation>626 <xs:documentation xml:lang="en-us"> This section defines the mapping of Protocol C names to GUID 627 values as a Registry Format GUID. </xs:documentation> 628 <xs:documentation xml:lang="en-us"> Modules that use these Protocols must specify their 629 dependency on this package. </xs:documentation> 633 630 </xs:annotation> 634 631 <xs:complexType> … … 636 633 <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> 637 634 <xs:annotation> 638 <xs:documentation xml:lang="en-us"> Individual Protocol 639 Declarations</xs:documentation>635 <xs:documentation xml:lang="en-us"> Individual Protocol Declarations 636 </xs:documentation> 640 637 </xs:annotation> 641 638 <xs:complexType> 642 639 <xs:sequence> 643 <xs:element minOccurs="1" maxOccurs="1" name="CName" 644 type="xs:NCName"/> 640 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 645 641 <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" 646 642 type="RegistryFormatGuid"/> 647 <xs:element ref="HelpText" minOccurs="0" 648 maxOccurs="unbounded"/> 643 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 649 644 </xs:sequence> 650 <xs:attribute name="UiName" type="xs:normalizedString" 651 use="optional"/> 645 <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> 652 646 <xs:attributeGroup ref="SupportedArchMod"/> 653 647 </xs:complexType> … … 660 654 <xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations"> 661 655 <xs:annotation> 662 <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi 663 C names to GUIDvalues as a Registry Format GUID. </xs:documentation>664 <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify 665 th eir dependency on this package. </xs:documentation>656 <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi C names to GUID 657 values as a Registry Format GUID. </xs:documentation> 658 <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify their dependency on 659 this package. </xs:documentation> 666 660 </xs:annotation> 667 661 <xs:complexType> … … 669 663 <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry"> 670 664 <xs:annotation> 671 <xs:documentation xml:lang="en-us"> Individual PPI Declarations 672 </xs:documentation> 665 <xs:documentation xml:lang="en-us"> Individual PPI Declarations </xs:documentation> 673 666 </xs:annotation> 674 667 <xs:complexType> 675 668 <xs:sequence> 676 <xs:element minOccurs="1" maxOccurs="1" name="CName" 677 type="xs:NCName"/> 669 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 678 670 <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" 679 671 type="RegistryFormatGuid"/> 680 <xs:element ref="HelpText" minOccurs="0" 681 maxOccurs="unbounded"/> 672 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 682 673 </xs:sequence> 683 <xs:attribute name="UiName" type="xs:normalizedString" 684 use="optional"/> 674 <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/> 685 675 <xs:attributeGroup ref="SupportedArchMod"/> 686 676 </xs:complexType> … … 693 683 <xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations"> 694 684 <xs:annotation> 695 <xs:documentation xml:lang="en-us"> This section is used to declare platform 696 configuration knobsthat are defined by this package. </xs:documentation>697 <xs:documentation xml:lang="en-us"> Modules that use these PCD values must 698 specify theirdependency on this package. </xs:documentation>685 <xs:documentation xml:lang="en-us"> This section is used to declare platform configuration knobs 686 that are defined by this package. </xs:documentation> 687 <xs:documentation xml:lang="en-us"> Modules that use these PCD values must specify their 688 dependency on this package. </xs:documentation> 699 689 </xs:annotation> 700 690 <xs:complexType> … … 703 693 <xs:complexType> 704 694 <xs:sequence> 705 <xs:element minOccurs="1" maxOccurs="1" 706 name="TokenSpaceGuidCname"type="xs:NCName">695 <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCname" 696 type="xs:NCName"> 707 697 <xs:annotation> 708 <xs:documentation xml:lang="en-us"> Specifies the C 709 name of the Token Space GUID of which this PCD 710 Entry is a member. This C name should also be 711 listed in the GUIDs section, (specified above,) 712 where the C name is assigned to a GUID value. 713 </xs:documentation> 698 <xs:documentation xml:lang="en-us"> Specifies the C name of the Token 699 Space GUID of which this PCD Entry is a member. This C name should 700 also be listed in the GUIDs section, (specified above,) where the C 701 name is assigned to a GUID value. </xs:documentation> 714 702 </xs:annotation> 715 703 </xs:element> 716 704 <xs:element minOccurs="1" maxOccurs="1" name="Token"> 717 705 <xs:annotation> 718 <xs:documentation xml:lang="en-us"> Specifies the 719 32-bit token value for this PCD Entry. The Token 720 number must be unique to the Token Space that 721 declares the PCD. </xs:documentation> 722 <xs:documentation xml:lang="en-us"> The minLength of 723 3 is required to handle the "0x" prefix to the hex 724 number. </xs:documentation> 706 <xs:documentation xml:lang="en-us"> Specifies the 32-bit token value for 707 this PCD Entry. The Token number must be unique to the Token Space 708 that declares the PCD. </xs:documentation> 709 <xs:documentation xml:lang="en-us"> The minLength of 3 is required to 710 handle the "0x" prefix to the hex number. </xs:documentation> 725 711 </xs:annotation> 726 712 <xs:simpleType> 727 713 <xs:restriction base="HexNumber"> 728 <xs:minLength value="3"/>729 <xs:maxLength value="10"/>714 <xs:minLength value="3"/> 715 <xs:maxLength value="10"/> 730 716 </xs:restriction> 731 717 </xs:simpleType> 732 718 </xs:element> 733 <xs:element minOccurs="1" maxOccurs="1" name="CName" 734 type="xs:NCName"/> 735 <xs:element minOccurs="1" maxOccurs="1" name="DatumType" 736 type="PcdDatumTypes"> 719 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 720 <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDatumTypes"> 737 721 <xs:annotation> 738 <xs:documentation xml:lang="en-us"> A string that 739 contains the data type of this PCD Entry. PCD data 740 types are restricted to the following set:UINT8, 741 UINT16, UINT32, UINT64, VOID*, BOOLEAN. 722 <xs:documentation xml:lang="en-us"> A string that contains the data type 723 of this PCD Entry. PCD data types are restricted to the following 724 set:UINT8, UINT16, UINT32, UINT64, VOID*, BOOLEAN. 742 725 </xs:documentation> 743 726 </xs:annotation> 744 727 </xs:element> 745 <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" 746 type="PcdItemListType"> 728 <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdItemListType"> 747 729 <xs:annotation> 748 <xs:documentation xml:lang="en-us"> A string that 749 contains one or more PCD Item types separated by 750 spaces. The PCD Item types are restricted to 751 FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx. 730 <xs:documentation xml:lang="en-us"> A string that contains one or more 731 PCD Item types separated by spaces. The PCD Item types are 732 restricted to FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx. 752 733 </xs:documentation> 753 734 </xs:annotation> … … 757 738 <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> 758 739 <xs:annotation> 759 <xs:documentation xml:lang="en-us"> This is a 760 recommended maximum data size for VOID* data 761 types, the actual value should be defined by the 762 Platform Integrator. It is not required for the 763 other data types. </xs:documentation> 764 <xs:documentation xml:lang="en-us"> The minLength of 765 3 is required to handle the "0x" prefix to the hex 766 number. </xs:documentation> 740 <xs:documentation xml:lang="en-us"> This is a recommended maximum data 741 size for VOID* data types, the actual value should be defined by the 742 Platform Integrator. It is not required for the other data types. </xs:documentation> 743 <xs:documentation xml:lang="en-us"> The minLength of 3 is required to 744 handle the "0x" prefix to the hex number. </xs:documentation> 767 745 768 746 </xs:annotation> 769 747 <xs:simpleType> 770 748 <xs:restriction base="HexNumber"> 771 <xs:minLength value="3"/>749 <xs:minLength value="3"/> 772 750 </xs:restriction> 773 751 </xs:simpleType> 774 752 </xs:element> 775 <xs:element ref="HelpText" minOccurs="0" 776 maxOccurs="unbounded"/> 777 778 <xs:element minOccurs="0" maxOccurs="unbounded" 779 name="PcdError"> 753 <xs:element minOccurs="0" maxOccurs="unbounded" name="Prompt"> 780 754 <xs:annotation> 781 <xs:documentation xml:lang="en-us"> Valid Error 782 messages that may be implemented in a module for 783 the PCD Entry. Only One Error Number per PcdError, 784 (multiple ErrorMessage entries are permitted) and 785 multiple PcdError elements are permitted. 786 </xs:documentation> 755 <xs:documentation xml:lang="en-US"> This entry contains prompt 756 information, that may used by tools to assist platform integrators 757 with choosing the correct values </xs:documentation> 758 </xs:annotation> 759 <xs:complexType> 760 <xs:simpleContent> 761 <xs:extension base="xs:string"> 762 <xs:attribute name="Lang" type="xs:language" default="en-us" 763 use="optional"/> 764 </xs:extension> 765 </xs:simpleContent> 766 </xs:complexType> 767 </xs:element> 768 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 769 770 <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdError"> 771 <xs:annotation> 772 <xs:documentation xml:lang="en-us"> Valid Error messages that may be 773 implemented in a module for the PCD Entry. Only One Error Number per 774 PcdError, (multiple ErrorMessage entries are permitted) and multiple 775 PcdError elements are permitted. </xs:documentation> 787 776 </xs:annotation> 788 777 <xs:complexType> 789 778 <xs:sequence> 790 <xs:choice minOccurs="1" maxOccurs="1"> 791 <xs:annotation> 792 <xs:documentation xml:lang="en-us"> One of the 793 following types of comparisons, which must be able 794 to evaluate to either true or false. 795 </xs:documentation> 796 </xs:annotation> 797 <xs:element minOccurs="0" maxOccurs="1" 798 name="ValidValueList"> 799 <xs:annotation> 800 <xs:documentation xml:lang="en-us"> The PCD Value 801 must be space separated list of values. Values are 802 restricted to the data type of this PCD. 803 </xs:documentation> 804 </xs:annotation> 805 <xs:complexType> 806 <xs:simpleContent> 807 <xs:extension base="xs:normalizedString"> 808 <xs:attribute name="Lang" type="xs:language" 809 use="optional"/> 810 </xs:extension> 811 </xs:simpleContent> 812 </xs:complexType> 813 </xs:element> 814 <xs:element minOccurs="0" maxOccurs="1" 815 name="ValidValueRange" type="xs:normalizedString"> 816 <xs:annotation> 817 <xs:documentation xml:lang="en-us"> The PCD must 818 be within a specifed range of numeric values. 819 Restricted to C style Relational, Equality and 820 Logicial Operators and parenthesis are valid. Only 821 the CName for this PCD is permitted in the 822 ValidValueRange expression. All other values must 823 be numeric.</xs:documentation> 824 <xs:documentation xml:lang="en-us"> LValue (op 825 RValue)+ </xs:documentation> 826 </xs:annotation> 827 </xs:element> 828 <xs:element minOccurs="0" maxOccurs="1" 829 name="Expression" type="xs:normalizedString"> 830 <xs:annotation> 831 <xs:documentation xml:lang="en-us"> A in-fix 832 logical expression using C style logical 833 operators. </xs:documentation> 834 </xs:annotation> 835 </xs:element> 836 </xs:choice> 837 <xs:element minOccurs="1" maxOccurs="1" 838 name="ErrorNumber"> 839 <xs:annotation> 840 <xs:documentation xml:lang="en-us"> A hexadecimal 841 value for the error message as defined by 842 specifications. </xs:documentation> 843 <xs:documentation xml:lang="en-us"> The minLength 844 of 3 is required to handle the "0x" prefix to the 845 hex number. </xs:documentation> 846 847 </xs:annotation> 848 <xs:simpleType> 849 <xs:restriction base="HexNumber"> 850 <xs:minLength value="3"/> 851 </xs:restriction> 852 </xs:simpleType> 853 </xs:element> 854 <xs:element minOccurs="1" maxOccurs="unbounded" 855 name="ErrorMessage"> 856 <xs:annotation> 857 <xs:documentation xml:lang="en-us"> This string 858 should be defined by specifications. There are 859 pre-defined error number ranges in the UEFI/PI 860 specificaiton. </xs:documentation> 861 </xs:annotation> 862 <xs:complexType> 863 <xs:simpleContent> 864 <xs:extension base="xs:string"> 865 <xs:attribute name="Lang" type="xs:language" 866 default="en-us" use="optional"/> 867 </xs:extension> 868 </xs:simpleContent> 869 </xs:complexType> 870 </xs:element> 779 <xs:choice minOccurs="1" maxOccurs="1"> 780 <xs:annotation> 781 <xs:documentation xml:lang="en-us"> One of the following 782 types of comparisons, which must be able to evaluate to 783 either true or false. </xs:documentation> 784 </xs:annotation> 785 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList"> 786 <xs:annotation> 787 <xs:documentation xml:lang="en-us"> The PCD Value must be 788 space separated list of values. Values are restricted to the 789 data type of this PCD. </xs:documentation> 790 </xs:annotation> 791 <xs:complexType> 792 <xs:simpleContent> 793 <xs:extension base="xs:normalizedString"> 794 <xs:attribute name="Lang" type="xs:language" use="optional" 795 /> 796 </xs:extension> 797 </xs:simpleContent> 798 </xs:complexType> 799 </xs:element> 800 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" 801 type="xs:normalizedString"> 802 <xs:annotation> 803 <xs:documentation xml:lang="en-us"> The PCD must be within a 804 specifed range of numeric values. Restricted to C style 805 Relational, Equality and Logicial Operators and parenthesis 806 are valid. Only the CName for this PCD is permitted in the 807 ValidValueRange expression. All other values must be 808 numeric.</xs:documentation> 809 <xs:documentation xml:lang="en-us"> LValue (op RValue)+ 810 </xs:documentation> 811 </xs:annotation> 812 </xs:element> 813 <xs:element minOccurs="0" maxOccurs="1" name="Expression" 814 type="xs:normalizedString"> 815 <xs:annotation> 816 <xs:documentation xml:lang="en-us"> A in-fix logical 817 expression using C style logical operators. 818 </xs:documentation> 819 </xs:annotation> 820 </xs:element> 821 </xs:choice> 822 <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> 823 <xs:annotation> 824 <xs:documentation xml:lang="en-us"> A hexadecimal value for 825 the error message as defined by specifications. </xs:documentation> 826 <xs:documentation xml:lang="en-us"> The minLength of 3 is 827 required to handle the "0x" prefix to the hex number. </xs:documentation> 828 829 </xs:annotation> 830 <xs:simpleType> 831 <xs:restriction base="HexNumber"> 832 <xs:minLength value="3"/> 833 </xs:restriction> 834 </xs:simpleType> 835 </xs:element> 836 <xs:element minOccurs="1" maxOccurs="unbounded" name="ErrorMessage"> 837 <xs:annotation> 838 <xs:documentation xml:lang="en-us"> This string should be 839 defined by specifications. There are pre-defined error 840 number ranges in the UEFI/PI specificaiton. 841 </xs:documentation> 842 </xs:annotation> 843 <xs:complexType> 844 <xs:simpleContent> 845 <xs:extension base="xs:string"> 846 <xs:attribute name="Lang" type="xs:language" default="en-us" 847 use="optional"/> 848 </xs:extension> 849 </xs:simpleContent> 850 </xs:complexType> 851 </xs:element> 871 852 </xs:sequence> 872 853 </xs:complexType> … … 883 864 <xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks"> 884 865 <xs:annotation> 885 <xs:documentation xml:lang="en-us"> This section is used to describe any PCD 886 interdependencies or relationships. </xs:documentation> 887 </xs:annotation> 888 <xs:complexType> 889 <xs:sequence> 890 <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" 891 type="xs:normalizedString"> 866 <xs:documentation xml:lang="en-us"> This section is used to describe any PCD interdependencies 867 or relationships. </xs:documentation> 868 </xs:annotation> 869 <xs:complexType> 870 <xs:sequence> 871 <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" type="xs:normalizedString"> 892 872 <xs:annotation> 893 873 <xs:documentation xml:lang="en-us"> This entry must used 894 TokenSpaceGuidCName.PcdCname for every named PCD. Restricted 895 to Relational, Equality and Logical Operators (NOT, AND, OR, 896 GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only 897 the TokenSpaceGuidCName.PcdCname us permitted to name PCDs 898 in the expression. All other values must be numeric. </xs:documentation> 899 <xs:documentation xml:lang="en-us"> LValue (op RValue)+ 900 </xs:documentation> 874 TokenSpaceGuidCName.PcdCname for every named PCD. Restricted to Relational, 875 Equality and Logical Operators (NOT, AND, OR, GT, GE, EQ, LE, LT and XOR) and 876 parenthesis are valid. Only the TokenSpaceGuidCName.PcdCname us permitted to 877 name PCDs in the expression. All other values must be numeric. </xs:documentation> 878 <xs:documentation xml:lang="en-us"> LValue (op RValue)+ </xs:documentation> 901 879 </xs:annotation> 902 880 </xs:element> … … 907 885 <xs:element minOccurs="0" maxOccurs="unbounded" name="MiscellaneousFiles"> 908 886 <xs:annotation> 909 <xs:documentation xml:lang="en-us"> This section contains files that are not 910 part of the code distributed with this package. </xs:documentation> 911 </xs:annotation> 912 <xs:complexType> 913 <xs:sequence> 914 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" 915 type="xs:string"> 916 <xs:annotation> 917 <xs:documentation xml:lang="en-us"> Only required if different 918 from the Package Copyright. </xs:documentation> 887 <xs:documentation xml:lang="en-us"> This section contains files that are not part of the code 888 distributed with this package. </xs:documentation> 889 </xs:annotation> 890 <xs:complexType> 891 <xs:sequence> 892 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> 893 <xs:annotation> 894 <xs:documentation xml:lang="en-us"> Only required if different from the Package 895 Copyright. </xs:documentation> 919 896 </xs:annotation> 920 897 </xs:element> 921 898 <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> 922 899 <xs:annotation> 923 <xs:documentation xml:lang="en-us"> Only required if different 924 from the PackageLicense. </xs:documentation>900 <xs:documentation xml:lang="en-us"> Only required if different from the Package 901 License. </xs:documentation> 925 902 </xs:annotation> 926 903 </xs:element> 927 904 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:string"> 928 905 <xs:annotation> 929 <xs:documentation xml:lang="en-us"> A one line description of 930 this section's content. </xs:documentation> 931 </xs:annotation> 932 </xs:element> 933 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" 934 type="xs:string"> 935 <xs:annotation> 936 <xs:documentation xml:lang="en-us"> A complete description of 937 the files in this section. </xs:documentation> 906 <xs:documentation xml:lang="en-us"> A one line description of this section's 907 content. </xs:documentation> 908 </xs:annotation> 909 </xs:element> 910 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string"> 911 <xs:annotation> 912 <xs:documentation xml:lang="en-us"> A complete description of the files in this 913 section. </xs:documentation> 938 914 </xs:annotation> 939 915 </xs:element> 940 916 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> 941 917 <xs:annotation> 942 <xs:documentation xml:lang="en-us"> This is the PackagePath 943 relative path and filename location within the ZIP file. 944 </xs:documentation> 918 <xs:documentation xml:lang="en-us"> This is the PackagePath relative path and 919 filename location within the ZIP file. </xs:documentation> 945 920 </xs:annotation> 946 921 <xs:complexType> 947 922 <xs:simpleContent> 948 923 <xs:extension base="xs:anyURI"> 949 <xs:attribute name="Executable" type="xs:boolean" 950 default="false"use="optional">924 <xs:attribute name="Executable" type="xs:boolean" default="false" 925 use="optional"> 951 926 <xs:annotation> 952 <xs:documentation xml:lang="en-us"> If true, used 953 by installation tools to ensure that a file that 954 must be executable has the correct properties to 955 permit execution. </xs:documentation> 927 <xs:documentation xml:lang="en-us"> If true, used by installation 928 tools to ensure that a file that must be executable has the 929 correct properties to permit execution. </xs:documentation> 956 930 </xs:annotation> 957 931 </xs:attribute> … … 968 942 <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions"> 969 943 <xs:annotation> 970 <xs:documentation xml:lang="en-us"> This section is used for any processing 971 instructions that may be custom to the content provided by this package972 that are common to this package.</xs:documentation>944 <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that 945 may be custom to the content provided by this package that are common to this package. 946 </xs:documentation> 973 947 </xs:annotation> 974 948 <xs:complexType mixed="true"> … … 978 952 <xs:attribute name="UserId" type="xs:NCName" use="required"> 979 953 <xs:annotation> 980 <xs:documentation xml:lang="en-us"> This is a single word identifier 981 for grouping similar content that does not fit into previously 982 defined sections or other sections of the Distribution. 983 </xs:documentation> 954 <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping 955 similar content that does not fit into previously defined sections or other sections 956 of the Distribution. </xs:documentation> 984 957 </xs:annotation> 985 958 </xs:attribute> 986 959 <xs:attribute name="Identifier" type="xs:string" use="required"> 987 960 <xs:annotation> 988 <xs:documentation xml:lang="en-us"> This can be used to 989 differentiate multiple sections with a grouping. </xs:documentation> 990 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS 991 Identifier might indicate specific steps and tools required 992 before processing module content, while a different 993 UserExtensions section with a POST_PROCESS Identifier might 994 describe steps that need to be executed after operations on the 995 modules in this package. </xs:documentation> 961 <xs:documentation xml:lang="en-us"> This can be used to differentiate multiple sections 962 with a grouping. </xs:documentation> 963 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate 964 specific steps and tools required before processing module content, while a 965 different UserExtensions section with a POST_PROCESS Identifier might describe steps 966 that need to be executed after operations on the modules in this package. 967 </xs:documentation> 996 968 </xs:annotation> 997 969 </xs:attribute> … … 1008 980 <xs:element name="ModuleSurfaceArea"> 1009 981 <xs:annotation> 1010 <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and 1011 Version number. Backward compatible releases of a module need only change the1012 version number, while non-backward compatible changes require the GUID to change1013 (resetting the version number to 1.0 is optional.)</xs:documentation>982 <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and Version number. 983 Backward compatible releases of a module need only change the version number, while non-backward 984 compatible changes require the GUID to change (resetting the version number to 1.0 is optional.) 985 </xs:documentation> 1014 986 </xs:annotation> 1015 987 <xs:complexType> … … 1021 993 <xs:element minOccurs="1" maxOccurs="1" name="Name"> 1022 994 <xs:annotation> 1023 <xs:documentation xml:lang="en-us"> This is the User Interface 1024 Name for this Module.</xs:documentation>995 <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Module. 996 </xs:documentation> 1025 997 </xs:annotation> 1026 998 <xs:complexType> 1027 999 <xs:simpleContent> 1028 1000 <xs:extension base="xs:normalizedString"> 1029 <xs:attribute name="BaseName" type="xs:NMTOKEN" 1030 use="required"> 1001 <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required"> 1031 1002 <xs:annotation> 1032 <xs:documentation xml:lang="en-us"> This is a 1033 single word BaseName that will be used to create a 1034 module meta-data file. </xs:documentation> 1035 <xs:documentation xml:lang="en-us"> This name 1036 should also be used to create output file names 1037 and directories. </xs:documentation> 1003 <xs:documentation xml:lang="en-us"> This is a single word BaseName 1004 that will be used to create a module meta-data file. </xs:documentation> 1005 <xs:documentation xml:lang="en-us"> This name should also be used to 1006 create output file names and directories. </xs:documentation> 1038 1007 </xs:annotation> 1039 1008 </xs:attribute> … … 1044 1013 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 1045 1014 <xs:annotation> 1046 <xs:documentation xml:lang="en-us"> This GUID and the Version 1047 attribute uniquely identify a given Module. 1048 </xs:documentation> 1015 <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely 1016 identify a given Module. </xs:documentation> 1049 1017 </xs:annotation> 1050 1018 <xs:complexType> 1051 1019 <xs:simpleContent> 1052 1020 <xs:extension base="RegistryFormatGuid"> 1053 <xs:attribute name="Version" type="xs:decimal" 1054 use="required"> 1021 <xs:attribute name="Version" type="xs:decimal" use="required"> 1055 1022 <xs:annotation> 1056 <xs:documentation xml:lang="en-us"> This value, 1057 along with the GUID, is used to uniquely identify 1058 this object. </xs:documentation> 1059 <xs:documentation xml:lang="en-us"> Backward 1060 compatible changes must make sure this number is 1061 incremented from the most recent version. 1062 Non-backward compatible changes require a new 1063 GUID, and the version can be reset. 1064 </xs:documentation> 1023 <xs:documentation xml:lang="en-us"> This value, along with the GUID, 1024 is used to uniquely identify this object. </xs:documentation> 1025 <xs:documentation xml:lang="en-us"> Backward compatible changes must 1026 make sure this number is incremented from the most recent 1027 version. Non-backward compatible changes require a new GUID, and 1028 the version can be reset. </xs:documentation> 1065 1029 </xs:annotation> 1066 1030 </xs:attribute> … … 1069 1033 </xs:complexType> 1070 1034 </xs:element> 1071 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" 1072 type="xs:string"> 1073 <xs:annotation> 1074 <xs:documentation xml:lang="en-us"> This is only required if the 1075 Copyright is different from either the Package or 1076 Distribution copyright. Multiple copyright lines are 1035 <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright"> 1036 <xs:annotation> 1037 <xs:documentation xml:lang="en-us"> This is only required if the Copyright is 1038 different from either the Package or Distribution copyright. Multiple copyright 1039 lines are permitted within this section. </xs:documentation> 1040 </xs:annotation> 1041 <xs:complexType> 1042 <xs:simpleContent> 1043 <xs:extension base="xs:string"> 1044 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 1045 /> 1046 </xs:extension> 1047 </xs:simpleContent> 1048 </xs:complexType> 1049 </xs:element> 1050 <xs:element minOccurs="0" maxOccurs="unbounded" name="License"> 1051 <xs:annotation> 1052 <xs:documentation xml:lang="en-us"> This is only required if the license is 1053 different from either the Package or Distribution license. Multiple licenses are 1077 1054 permitted within this section. </xs:documentation> 1078 1055 </xs:annotation> 1079 </xs:element> 1080 <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> 1081 <xs:annotation> 1082 <xs:documentation xml:lang="en-us"> This is only required if the 1083 license is different from either the Package or Distribution 1084 license. Multiple licenses are permitted within this 1085 section. </xs:documentation> 1086 </xs:annotation> 1087 </xs:element> 1088 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" 1089 type="xs:normalizedString"> 1090 <xs:annotation> 1091 <xs:documentation xml:lang="en-us"> A brief text description of 1092 the module. </xs:documentation> 1093 </xs:annotation> 1094 </xs:element> 1095 <xs:element minOccurs="0" maxOccurs="1" name="Description" 1096 type="xs:string"> 1097 <xs:annotation> 1098 <xs:documentation xml:lang="en-us"> A complete description of 1099 the module contents and/or features including a description 1100 of the updates since the previous module release. 1056 <xs:complexType> 1057 <xs:simpleContent> 1058 <xs:extension base="xs:string"> 1059 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 1060 /> 1061 </xs:extension> 1062 </xs:simpleContent> 1063 </xs:complexType> 1064 </xs:element> 1065 <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract"> 1066 <xs:annotation> 1067 <xs:documentation xml:lang="en-us"> A brief text description of the module. 1101 1068 </xs:documentation> 1102 1069 </xs:annotation> 1070 <xs:complexType> 1071 <xs:simpleContent> 1072 <xs:extension base="xs:normalizedString"> 1073 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 1074 /> 1075 </xs:extension> 1076 </xs:simpleContent> 1077 </xs:complexType> 1078 </xs:element> 1079 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> 1080 <xs:annotation> 1081 <xs:documentation xml:lang="en-us"> A complete description of the module contents 1082 and/or features including a description of the updates since the previous module 1083 release. </xs:documentation> 1084 </xs:annotation> 1085 <xs:complexType> 1086 <xs:simpleContent> 1087 <xs:extension base="xs:string"> 1088 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 1089 /> 1090 </xs:extension> 1091 </xs:simpleContent> 1092 </xs:complexType> 1103 1093 </xs:element> 1104 1094 </xs:sequence> … … 1109 1099 <xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties"> 1110 1100 <xs:annotation> 1111 <xs:documentation xml:lang="en-us"> List general information about a module, 1112 including the Supported Architectures, this module's type, 1113 specifications the module is coded against, and other informational 1114 content. </xs:documentation> 1115 </xs:annotation> 1116 <xs:complexType> 1117 <xs:sequence> 1118 <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" 1119 type="ModuleTypes"> 1120 <xs:annotation> 1121 <xs:documentation xml:lang="en-us"> One of the Enumerated module 1122 types that limit the use of a module. </xs:documentation> 1101 <xs:documentation xml:lang="en-us"> List general information about a module, including the 1102 Supported Architectures, this module's type, specifications the module is coded against, and 1103 other informational content. </xs:documentation> 1104 </xs:annotation> 1105 <xs:complexType> 1106 <xs:sequence> 1107 <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" type="ModuleTypes"> 1108 <xs:annotation> 1109 <xs:documentation xml:lang="en-us"> One of the Enumerated module types that limit 1110 the use of a module. </xs:documentation> 1123 1111 </xs:annotation> 1124 1112 </xs:element> 1125 1113 <xs:element minOccurs="1" maxOccurs="1" name="Path" type="xs:anyURI"> 1126 1114 <xs:annotation> 1127 <xs:documentation xml:lang="en-us"> For stand-alone modules that 1128 are NOT part of any package, this is the path to the root of 1129 the module as listed in the ZIP file. For modules included 1130 in a package, this is the location, relative to the root of 1131 the package (PackagePath) this module belongs to. 1115 <xs:documentation xml:lang="en-us"> For stand-alone modules that are NOT part of any 1116 package, this is the path to the root of the module as listed in the ZIP file. 1117 For modules included in a package, this is the location, relative to the root of 1118 the package (PackagePath) this module belongs to. </xs:documentation> 1119 </xs:annotation> 1120 </xs:element> 1121 <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver"> 1122 <xs:annotation> 1123 <xs:documentation xml:lang="en-us"> This element is only required for the PEIM that 1124 produces the PCD PPI or the DXE Driver that produces the PCD Protocol. 1132 1125 </xs:documentation> 1133 </xs:annotation>1134 </xs:element>1135 <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">1136 <xs:annotation>1137 <xs:documentation xml:lang="en-us"> This element is only1138 required for the PEIM that produces the PCD PPI or the DXE1139 Driver that produces the PCD Protocol. </xs:documentation>1140 1126 </xs:annotation> 1141 1127 <xs:simpleType> … … 1147 1133 </xs:element> 1148 1134 1149 <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" 1150 type="xs:decimal"/> 1151 1152 <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" 1153 type="xs:decimal"/> 1135 <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" type="xs:decimal"/> 1136 1137 <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" type="xs:decimal"/> 1154 1138 1155 1139 <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification"> 1156 1140 <xs:annotation> 1157 <xs:documentation xml:lang="en-us"> This is a list of other 1158 specifications that this module is written against. These 1159 entries can be used in #define statements (depending on the 1160 build system implementation, they may be autogenerated.) 1141 <xs:documentation xml:lang="en-us"> This is a list of other specifications that this 1142 module is written against. These entries can be used in #define statements 1143 (depending on the build system implementation, they may be autogenerated.) 1161 1144 </xs:documentation> 1162 1145 </xs:annotation> … … 1164 1147 <xs:simpleContent> 1165 1148 <xs:extension base="xs:NCName"> 1166 <xs:attribute name="Version" type="xs:decimal" 1167 use="required"/> 1149 <xs:attribute name="Version" type="xs:decimal" use="required"/> 1168 1150 </xs:extension> 1169 1151 </xs:simpleContent> … … 1173 1155 <xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode"> 1174 1156 <xs:annotation> 1175 <xs:documentation xml:lang="en-us"> Different firmware execution 1176 paths may be taken based on a given state of the hardware, 1177 firmware, or through feature settings. A BootMode may be 1178 declared (PRODUCES) or discovered (CONSUMES) based on these 1179 states and feature settings. If the usage is UNDEFINE, it 1180 implies that a Boot Mode is used, but the package creator 1181 does not know how it is used. The supported boot modes map 1182 to the PI specification Boot Modes. The boot modes listed 1183 with Recovery are to indicate that the BootMode is valid 1184 during a recovery boot. </xs:documentation> 1157 <xs:documentation xml:lang="en-us"> Different firmware execution paths may be taken 1158 based on a given state of the hardware, firmware, or through feature settings. A 1159 BootMode may be declared (PRODUCES) or discovered (CONSUMES) based on these 1160 states and feature settings. If the usage is UNDEFINE, it implies that a Boot 1161 Mode is used, but the package creator does not know how it is used. The 1162 supported boot modes map to the PI specification Boot Modes. The boot modes 1163 listed with Recovery are to indicate that the BootMode is valid during a 1164 recovery boot. </xs:documentation> 1185 1165 </xs:annotation> 1186 1166 <xs:complexType> 1187 1167 <xs:sequence minOccurs="0"> 1188 <xs:element minOccurs="1" maxOccurs="1" 1189 name="SupportedBootModes"> 1168 <xs:element minOccurs="1" maxOccurs="1" name="SupportedBootModes"> 1190 1169 <xs:simpleType> 1191 1170 <xs:list> 1192 <xs:simpleType>1193 <xs:restriction base="xs:NCName">1194 <xs:enumeration value="FULL"/>1195 <xs:enumeration value="MINIMAL"/>1196 <xs:enumeration value="NO_CHANGE"/>1197 <xs:enumeration value="DIAGNOSTICS"/>1198 <xs:enumeration value="DEFAULT"/>1199 <xs:enumeration value="S2_RESUME"/>1200 <xs:enumeration value="S3_RESUME"/>1201 <xs:enumeration value="S4_RESUME"/>1202 <xs:enumeration value="S5_RESUME"/>1203 <xs:enumeration value="FLASH_UPDATE"/>1204 <xs:enumeration value="RECOVERY_FULL"/>1205 <xs:enumeration value="RECOVERY_MINIMAL"/>1206 <xs:enumeration value="RECOVERY_NO_CHANGE"/>1207 <xs:enumeration value="RECOVERY_DIAGNOSTICS"/>1208 <xs:enumeration value="RECOVERY_DEFAULT"/>1209 <xs:enumeration value="RECOVERY_S2_RESUME"/>1210 <xs:enumeration value="RECOVERY_S3_RESUME"/>1211 <xs:enumeration value="RECOVERY_S4_RESUME"/>1212 <xs:enumeration value="RECOVERY_S5_RESUME"/>1213 <xs:enumeration value="RECOVERY_FLASH_UPDATE"/>1214 <xs:enumeration value="UNDEFINED"/>1215 </xs:restriction>1216 </xs:simpleType>1171 <xs:simpleType> 1172 <xs:restriction base="xs:NCName"> 1173 <xs:enumeration value="FULL"/> 1174 <xs:enumeration value="MINIMAL"/> 1175 <xs:enumeration value="NO_CHANGE"/> 1176 <xs:enumeration value="DIAGNOSTICS"/> 1177 <xs:enumeration value="DEFAULT"/> 1178 <xs:enumeration value="S2_RESUME"/> 1179 <xs:enumeration value="S3_RESUME"/> 1180 <xs:enumeration value="S4_RESUME"/> 1181 <xs:enumeration value="S5_RESUME"/> 1182 <xs:enumeration value="FLASH_UPDATE"/> 1183 <xs:enumeration value="RECOVERY_FULL"/> 1184 <xs:enumeration value="RECOVERY_MINIMAL"/> 1185 <xs:enumeration value="RECOVERY_NO_CHANGE"/> 1186 <xs:enumeration value="RECOVERY_DIAGNOSTICS"/> 1187 <xs:enumeration value="RECOVERY_DEFAULT"/> 1188 <xs:enumeration value="RECOVERY_S2_RESUME"/> 1189 <xs:enumeration value="RECOVERY_S3_RESUME"/> 1190 <xs:enumeration value="RECOVERY_S4_RESUME"/> 1191 <xs:enumeration value="RECOVERY_S5_RESUME"/> 1192 <xs:enumeration value="RECOVERY_FLASH_UPDATE"/> 1193 <xs:enumeration value="UNDEFINED"/> 1194 </xs:restriction> 1195 </xs:simpleType> 1217 1196 </xs:list> 1218 1197 </xs:simpleType> 1219 1198 </xs:element> 1220 1199 1221 <xs:element ref="HelpText" minOccurs="0" 1222 maxOccurs="unbounded"/> 1200 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1223 1201 </xs:sequence> 1224 1202 <xs:attribute name="Usage" use="required"> … … 1226 1204 <xs:restriction base="xs:NCName"> 1227 1205 <xs:enumeration value="CONSUMES"> 1228 <xs:annotation> 1229 <xs:documentation xml:lang="en-us"> The module 1230 always supports the given boot modes. 1231 </xs:documentation> 1232 </xs:annotation> 1206 <xs:annotation> 1207 <xs:documentation xml:lang="en-us"> The module always supports 1208 the given boot modes. </xs:documentation> 1209 </xs:annotation> 1233 1210 </xs:enumeration> 1234 1211 <xs:enumeration value="SOMETIMES_CONSUMES"> 1235 <xs:annotation> 1236 <xs:documentation xml:lang="en-us"> The module may 1237 support a given mode on some execution paths. 1238 </xs:documentation> 1239 </xs:annotation> 1212 <xs:annotation> 1213 <xs:documentation xml:lang="en-us"> The module may support a 1214 given mode on some execution paths. </xs:documentation> 1215 </xs:annotation> 1240 1216 </xs:enumeration> 1241 1217 <xs:enumeration value="PRODUCES"> 1242 <xs:annotation>1243 <xs:documentation xml:lang="en-us"> The module1244 will change theboot mode. </xs:documentation>1245 </xs:annotation>1218 <xs:annotation> 1219 <xs:documentation xml:lang="en-us"> The module will change the 1220 boot mode. </xs:documentation> 1221 </xs:annotation> 1246 1222 </xs:enumeration> 1247 1223 <xs:enumeration value="SOMETIME_PRODUCES"> 1248 <xs:annotation> 1249 <xs:documentation xml:lang="en-us"> The module 1250 will change the boot mode on some exection paths. 1251 </xs:documentation> 1252 </xs:annotation> 1224 <xs:annotation> 1225 <xs:documentation xml:lang="en-us"> The module will change the 1226 boot mode on some exection paths. </xs:documentation> 1227 </xs:annotation> 1253 1228 </xs:enumeration> 1254 1229 <xs:enumeration value="UNDEFINED"> 1255 <xs:annotation> 1256 <xs:documentation xml:lang="en-us"> The package 1257 creator does not know how the boot mode is used. 1258 </xs:documentation> 1259 </xs:annotation> 1230 <xs:annotation> 1231 <xs:documentation xml:lang="en-us"> The package creator does not 1232 know how the boot mode is used. </xs:documentation> 1233 </xs:annotation> 1260 1234 </xs:enumeration> 1261 1235 </xs:restriction> 1262 1236 </xs:simpleType> 1263 1237 </xs:attribute> 1264 <xs:attribute name="SupArchList" type="ArchListType" 1265 use="optional"/> 1266 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1267 use="optional"/> 1268 </xs:complexType> 1269 </xs:element> 1270 1271 <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" 1272 nillable="true"> 1273 <xs:annotation> 1274 <xs:documentation xml:lang="en-us"> The functions that make up 1275 the Event, Timer, and Task Priority Services are used during 1276 preboot to create, close, signal, and wait for events; to 1277 set timers; and to raise and restore task priority levels as 1278 defined in the UEFI specification. GUIDed events should be 1279 listed in the Guids section. </xs:documentation> 1238 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1239 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 1240 </xs:complexType> 1241 </xs:element> 1242 1243 <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true"> 1244 <xs:annotation> 1245 <xs:documentation xml:lang="en-us"> The functions that make up the Event, Timer, and 1246 Task Priority Services are used during preboot to create, close, signal, and 1247 wait for events; to set timers; and to raise and restore task priority levels as 1248 defined in the UEFI specification. GUIDed events should be listed in the Guids 1249 section. </xs:documentation> 1280 1250 </xs:annotation> 1281 1251 <xs:complexType> 1282 1252 <xs:sequence> 1283 <xs:element ref="HelpText" minOccurs="0" 1284 maxOccurs="unbounded"/> 1253 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1285 1254 </xs:sequence> 1286 1255 <xs:attribute name="Usage" use="required"> … … 1288 1257 <xs:restriction base="xs:NCName"> 1289 1258 <xs:enumeration value="CONSUMES"> 1290 <xs:annotation> 1291 <xs:documentation xml:lang="en-us"> The module 1292 will register a notification function and calls 1293 the function when it is signaled. 1294 </xs:documentation> 1295 </xs:annotation> 1259 <xs:annotation> 1260 <xs:documentation xml:lang="en-us"> The module will register a 1261 notification function and calls the function when it is 1262 signaled. </xs:documentation> 1263 </xs:annotation> 1296 1264 </xs:enumeration> 1297 1265 <xs:enumeration value="SOMETIMES_CONSUMES"> 1298 <xs:annotation> 1299 <xs:documentation xml:lang="en-us"> The module 1300 will register a notification function and calls 1301 the function when it is signaled on some execution 1302 paths. </xs:documentation> 1303 </xs:annotation> 1266 <xs:annotation> 1267 <xs:documentation xml:lang="en-us"> The module will register a 1268 notification function and calls the function when it is 1269 signaled on some execution paths. </xs:documentation> 1270 </xs:annotation> 1304 1271 </xs:enumeration> 1305 1272 <xs:enumeration value="PRODUCES"> 1306 <xs:annotation> 1307 <xs:documentation xml:lang="en-us"> The module 1308 will signal all events in an event group. 1309 </xs:documentation> 1310 </xs:annotation> 1273 <xs:annotation> 1274 <xs:documentation xml:lang="en-us"> The module will signal all 1275 events in an event group. </xs:documentation> 1276 </xs:annotation> 1311 1277 </xs:enumeration> 1312 1278 <xs:enumeration value="SOMETIMES_PRODUCES"> 1313 <xs:annotation>1314 <xs:documentation xml:lang="en-us"> The module1315 will signal all events in an event group under1316 some execution paths.</xs:documentation>1317 </xs:annotation>1279 <xs:annotation> 1280 <xs:documentation xml:lang="en-us"> The module will signal all 1281 events in an event group under some execution paths. 1282 </xs:documentation> 1283 </xs:annotation> 1318 1284 </xs:enumeration> 1319 1285 <xs:enumeration value="UNDEFINED"> 1320 <xs:annotation> 1321 <xs:documentation xml:lang="en-us"> The package 1322 creator does not know how an event is used. 1323 </xs:documentation> 1324 </xs:annotation> 1286 <xs:annotation> 1287 <xs:documentation xml:lang="en-us"> The package creator does not 1288 know how an event is used. </xs:documentation> 1289 </xs:annotation> 1325 1290 </xs:enumeration> 1326 1291 </xs:restriction> … … 1338 1303 1339 1304 </xs:attribute> 1340 <xs:attribute name="SupArchList" type="ArchListType" 1341 use="optional"/> 1342 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1343 use="optional"/> 1344 </xs:complexType> 1345 </xs:element> 1346 1347 <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" 1348 nillable="false"> 1349 <xs:annotation> 1350 <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed 1351 Hand Off Blocks (HOBs) produced or consumed by this module. 1352 </xs:documentation> 1305 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1306 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 1307 </xs:complexType> 1308 </xs:element> 1309 1310 <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" nillable="false"> 1311 <xs:annotation> 1312 <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed Hand Off Blocks 1313 (HOBs) produced or consumed by this module. </xs:documentation> 1353 1314 </xs:annotation> 1354 1315 <xs:complexType> 1355 1316 <xs:sequence> 1356 <xs:element ref="HelpText" minOccurs="0" 1357 maxOccurs="unbounded"/> 1317 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1358 1318 </xs:sequence> 1359 1319 <xs:attribute name="HobType" use="required"> … … 1373 1333 <xs:restriction base="xs:NCName"> 1374 1334 <xs:enumeration value="CONSUMES"> 1375 <xs:annotation>1376 <xs:documentation xml:lang="en-us"> A HOB must be1377 present in thesystem. </xs:documentation>1378 </xs:annotation>1335 <xs:annotation> 1336 <xs:documentation xml:lang="en-us"> A HOB must be present in the 1337 system. </xs:documentation> 1338 </xs:annotation> 1379 1339 </xs:enumeration> 1380 1340 <xs:enumeration value="SOMETIMES_CONSUMES"> 1381 <xs:annotation>1382 <xs:documentation xml:lang="en-us"> If present,1383 the HOB will beused. </xs:documentation>1384 </xs:annotation>1341 <xs:annotation> 1342 <xs:documentation xml:lang="en-us"> If present, the HOB will be 1343 used. </xs:documentation> 1344 </xs:annotation> 1385 1345 </xs:enumeration> 1386 1346 <xs:enumeration value="PRODUCES"> 1387 <xs:annotation>1388 <xs:documentation xml:lang="en-us"> The HOB is1389 always producedby the module. </xs:documentation>1390 </xs:annotation>1347 <xs:annotation> 1348 <xs:documentation xml:lang="en-us"> The HOB is always produced 1349 by the module. </xs:documentation> 1350 </xs:annotation> 1391 1351 </xs:enumeration> 1392 1352 <xs:enumeration value="SOMETIMES_PRODUCES"> 1393 <xs:annotation> 1394 <xs:documentation xml:lang="en-us"> The HOB may be 1395 produced by the module under some execution paths. 1396 </xs:documentation> 1397 </xs:annotation> 1353 <xs:annotation> 1354 <xs:documentation xml:lang="en-us"> The HOB may be produced by 1355 the module under some execution paths. </xs:documentation> 1356 </xs:annotation> 1398 1357 </xs:enumeration> 1399 1358 <xs:enumeration value="UNDEFINED"> 1400 <xs:annotation>1401 <xs:documentation xml:lang="en-us"> The package1402 creator knows that a HOB is used, but does not1403 know how it is used.</xs:documentation>1404 </xs:annotation>1359 <xs:annotation> 1360 <xs:documentation xml:lang="en-us"> The package creator knows 1361 that a HOB is used, but does not know how it is used. 1362 </xs:documentation> 1363 </xs:annotation> 1405 1364 </xs:enumeration> 1406 1365 </xs:restriction> 1407 1366 </xs:simpleType> 1408 1367 </xs:attribute> 1409 <xs:attribute name="SupArchList" type="ArchListType" 1410 use="optional"/> 1411 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1412 use="optional"/> 1368 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1369 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 1413 1370 </xs:complexType> 1414 1371 </xs:element> … … 1422 1379 <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom"> 1423 1380 <xs:annotation> 1424 <xs:documentation xml:lang="en-us"> This section may be included for Modules 1425 that are copiedfrom a different module. </xs:documentation>1381 <xs:documentation xml:lang="en-us"> This section may be included for Modules that are copied 1382 from a different module. </xs:documentation> 1426 1383 </xs:annotation> 1427 1384 <xs:complexType> … … 1429 1386 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 1430 1387 <xs:annotation> 1431 <xs:documentation xml:lang="en-us"> This GUID and the Version 1432 attribute uniquely identify the Module that this Module was 1433 copied from. </xs:documentation> 1388 <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely 1389 identify the Module that this Module was copied from. </xs:documentation> 1434 1390 </xs:annotation> 1435 1391 <xs:complexType> 1436 1392 <xs:simpleContent> 1437 1393 <xs:extension base="RegistryFormatGuid"> 1438 <xs:attribute name="Version" type="xs:decimal" 1439 use="required"> 1394 <xs:attribute name="Version" type="xs:decimal" use="required"> 1440 1395 <xs:annotation> 1441 <xs:documentation xml:lang="en-us"> This value, 1442 along with the GUID, is used to uniquely identify 1443 this object. </xs:documentation> 1396 <xs:documentation xml:lang="en-us"> This value, along with the GUID, 1397 is used to uniquely identify this object. </xs:documentation> 1444 1398 </xs:annotation> 1445 1399 </xs:attribute> … … 1455 1409 <xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions"> 1456 1410 <xs:annotation> 1457 <xs:documentation xml:lang="en-us"> A list of the different Library Classes 1458 consumed by a driver, core and/or application module, or produced by a 1459 Library module. </xs:documentation> 1411 <xs:documentation xml:lang="en-us"> A list of the different Library Classes consumed by a 1412 driver, core and/or application module, or produced by a Library module. </xs:documentation> 1460 1413 </xs:annotation> 1461 1414 <xs:complexType> … … 1464 1417 <xs:complexType> 1465 1418 <xs:sequence> 1466 <xs:element minOccurs="1" maxOccurs="1" name="Keyword" 1467 type="xs:NCName"> 1419 <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="xs:NCName"> 1468 1420 <xs:annotation> 1469 <xs:documentation xml:lang="en-us "> Used by tools 1470 to identify different instances of libraries that 1471 provide the library class. This keyword identifies 1472 the library class this module needs to be linked 1473 against. </xs:documentation> 1421 <xs:documentation xml:lang="en-us "> Used by tools to identify different 1422 instances of libraries that provide the library class. This keyword 1423 identifies the library class this module needs to be linked against. 1424 </xs:documentation> 1474 1425 </xs:annotation> 1475 1426 </xs:element> 1476 <xs:element minOccurs="0" maxOccurs="1" 1477 name="RecommendedInstance"> 1427 <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance"> 1478 1428 <xs:complexType> 1479 1429 <xs:all> 1480 <xs:element minOccurs="1" maxOccurs="1" 1481 name="GUID"> 1482 <xs:annotation> 1483 <xs:documentation xml:lang="en-us"> This GUID and 1484 the Version attribute uniquely identify the 1485 recommended Library Instance for this module . 1486 </xs:documentation> 1487 </xs:annotation> 1488 <xs:complexType> 1489 <xs:simpleContent> 1490 <xs:extension base="RegistryFormatGuid"> 1491 <xs:attribute name="Version" type="xs:decimal" 1492 use="optional"> 1493 <xs:annotation> 1494 <xs:documentation xml:lang="en-us"> This value, 1495 along with the GUID, is used to uniquely identify 1496 this object. </xs:documentation> 1497 </xs:annotation> 1498 </xs:attribute> 1499 </xs:extension> 1500 </xs:simpleContent> 1501 </xs:complexType> 1502 </xs:element> 1430 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 1431 <xs:annotation> 1432 <xs:documentation xml:lang="en-us"> This GUID and the 1433 Version attribute uniquely identify the recommended Library 1434 Instance for this module . </xs:documentation> 1435 </xs:annotation> 1436 <xs:complexType> 1437 <xs:simpleContent> 1438 <xs:extension base="RegistryFormatGuid"> 1439 <xs:attribute name="Version" type="xs:decimal" 1440 use="optional"> 1441 <xs:annotation> 1442 <xs:documentation xml:lang="en-us"> This value, along with 1443 the GUID, is used to uniquely identify this object. 1444 </xs:documentation> 1445 </xs:annotation> 1446 </xs:attribute> 1447 </xs:extension> 1448 </xs:simpleContent> 1449 </xs:complexType> 1450 </xs:element> 1503 1451 </xs:all> 1504 1452 </xs:complexType> 1505 1453 </xs:element> 1506 <xs:element ref="HelpText" minOccurs="0" 1507 maxOccurs="unbounded"/> 1454 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1508 1455 </xs:sequence> 1509 1456 <xs:attribute name="Usage" use="required"> 1510 1457 <xs:simpleType> 1511 1458 <xs:annotation> 1512 <xs:documentation xml:lang="en-us"> Library 1513 instances can provide code for a library class, or 1514 may require other library instances themselves. 1515 Since different execution paths in a library (or 1516 module) may need different library classes based 1517 on some setting, library classes may not alway be 1518 required. </xs:documentation> 1459 <xs:documentation xml:lang="en-us"> Library instances can provide code 1460 for a library class, or may require other library instances 1461 themselves. Since different execution paths in a library (or module) 1462 may need different library classes based on some setting, library 1463 classes may not alway be required. </xs:documentation> 1519 1464 </xs:annotation> 1520 1465 <xs:restriction base="xs:NCName"> … … 1528 1473 1529 1474 <xs:attributeGroup ref="SupportedArchMod"/> 1530 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1531 use="optional"> 1475 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"> 1532 1476 <xs:annotation> 1533 <xs:documentation xml:lang="en-us"> A FeatureFlag 1534 attribute must evaluate to either true or false - it 1535 may be a fixed value of true or false, a C name or 1536 an in-fix expression. </xs:documentation> 1477 <xs:documentation xml:lang="en-us"> A FeatureFlag attribute must evaluate to 1478 either true or false - it may be a fixed value of true or false, a C 1479 name or an in-fix expression. </xs:documentation> 1537 1480 </xs:annotation> 1538 1481 </xs:attribute> … … 1550 1493 <xs:annotation> 1551 1494 <xs:documentation xml:lang="en-us"> This is the module relative 1552 (ModuleProperties.Path) path and filename location within 1553 the ZIP file.</xs:documentation>1495 (ModuleProperties.Path) path and filename location within the ZIP file. 1496 </xs:documentation> 1554 1497 </xs:annotation> 1555 1498 <xs:complexType> 1556 1499 <xs:simpleContent> 1557 1500 <xs:extension base="xs:anyURI"> 1558 <xs:attribute name="Family" type="FamilyTypes" 1559 use="optional"> 1501 <xs:attribute name="Family" type="FamilyTypes" use="optional"> 1560 1502 <xs:annotation> 1561 <xs:documentation xml:lang="en-us"> The Family 1562 attribute is used to restrict usage to a given 1563 family of compilers, such as GCC or MSFT. Since 1564 not all code processing tools use the same syntax, 1565 especially for assembly, this field can be used to 1566 identify different syntax. </xs:documentation> 1503 <xs:documentation xml:lang="en-us"> The Family attribute is used to 1504 restrict usage to a given family of compilers, such as GCC or 1505 MSFT. Since not all code processing tools use the same syntax, 1506 especially for assembly, this field can be used to identify 1507 different syntax. </xs:documentation> 1567 1508 </xs:annotation> 1568 1509 </xs:attribute> 1569 <xs:attribute name="SupArchList" type="ArchListType" 1570 use="optional"/> 1571 <xs:attribute name="SupModList" type="ModuleListType" 1572 use="optional"/> 1573 <xs:attribute name="FeatureFlag" 1574 type="xs:normalizedString" use="optional"/> 1510 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1511 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 1512 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 1575 1513 </xs:extension> 1576 1514 </xs:simpleContent> … … 1589 1527 <xs:complexType> 1590 1528 <xs:sequence> 1591 <xs:element minOccurs="1" maxOccurs="unbounded" 1592 name="Filename"> 1529 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> 1593 1530 <xs:annotation> 1594 <xs:documentation xml:lang="en-us"> This is the 1595 module relative (ModuleProperties.Path) path and 1596 filename location within the ZIP file. 1597 </xs:documentation> 1531 <xs:documentation xml:lang="en-us"> This is the module relative 1532 (ModuleProperties.Path) path and filename location within the ZIP 1533 file. </xs:documentation> 1598 1534 </xs:annotation> 1599 1535 <xs:complexType> 1600 1536 <xs:simpleContent> 1601 <xs:extension base="xs:anyURI"> 1602 <xs:attribute name="FileType" use="optional"> 1603 <xs:simpleType> 1604 <xs:restriction base="xs:NCName"> 1605 <xs:annotation> 1606 <xs:documentation xml:lang="en-us"> Binary file 1607 distribution is limited to UEFI/PI FFS leaf 1608 section file types. </xs:documentation> 1609 </xs:annotation> 1610 <xs:enumeration value="GUID"/> 1611 <xs:enumeration value="FREEFORM"/> 1612 <xs:enumeration value="UEFI_IMAGE"/> 1613 <xs:enumeration value="PE32"> 1614 <xs:annotation> 1615 <xs:documentation xml:lang="en-us"> A UEFI/PI FFS 1616 Leaf section file type, not a raw PE32 file. 1617 </xs:documentation> 1618 </xs:annotation> 1619 </xs:enumeration> 1620 <xs:enumeration value="PIC"/> 1621 <xs:enumeration value="PEI_DEPEX"/> 1622 <xs:enumeration value="DXE_DEPEX"/> 1623 <xs:enumeration value="SMM_DEPEX"/> 1624 <xs:enumeration value="COMPAT16"/> 1625 <xs:enumeration value="DISPOSABLE"/> 1626 <xs:enumeration value="TE"/> 1627 <xs:enumeration value="VER"/> 1628 <xs:enumeration value="UI"/> 1629 <xs:enumeration value="BIN"/> 1630 <xs:enumeration value="FV"/> 1631 </xs:restriction> 1632 </xs:simpleType> 1633 </xs:attribute> 1634 <xs:attribute name="SupArchList" 1635 type="ArchListType" use="optional"/> 1636 <xs:attribute name="SupModList" 1637 type="ModuleListType" use="optional"/> 1638 <xs:attribute name="FeatureFlag" 1639 type="xs:normalizedString" use="optional"/> 1640 </xs:extension> 1537 <xs:extension base="xs:anyURI"> 1538 <xs:attribute name="FileType" use="optional"> 1539 <xs:simpleType> 1540 <xs:restriction base="xs:NCName"> 1541 <xs:annotation> 1542 <xs:documentation xml:lang="en-us"> Binary file distribution 1543 is limited to UEFI/PI FFS leaf section file types. 1544 </xs:documentation> 1545 </xs:annotation> 1546 <xs:enumeration value="GUID"/> 1547 <xs:enumeration value="FREEFORM"/> 1548 <xs:enumeration value="UEFI_IMAGE"/> 1549 <xs:enumeration value="PE32"> 1550 <xs:annotation> 1551 <xs:documentation xml:lang="en-us"> A UEFI/PI FFS Leaf 1552 section file type, not a raw PE32 file. </xs:documentation> 1553 </xs:annotation> 1554 </xs:enumeration> 1555 <xs:enumeration value="PIC"/> 1556 <xs:enumeration value="PEI_DEPEX"/> 1557 <xs:enumeration value="DXE_DEPEX"/> 1558 <xs:enumeration value="SMM_DEPEX"/> 1559 <xs:enumeration value="COMPAT16"/> 1560 <xs:enumeration value="DISPOSABLE"/> 1561 <xs:enumeration value="TE"/> 1562 <xs:enumeration value="VER"/> 1563 <xs:enumeration value="UI"/> 1564 <xs:enumeration value="BIN"/> 1565 <xs:enumeration value="FV"/> 1566 </xs:restriction> 1567 </xs:simpleType> 1568 </xs:attribute> 1569 <xs:attribute name="GUID" use="optional" 1570 type="RegistryFormatGuid"/> 1571 <xs:attribute name="SupArchList" type="ArchListType" 1572 use="optional"/> 1573 <xs:attribute name="SupModList" type="ModuleListType" 1574 use="optional"/> 1575 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1576 use="optional"/> 1577 </xs:extension> 1641 1578 </xs:simpleContent> 1642 1579 </xs:complexType> 1643 1580 </xs:element> 1644 <xs:element minOccurs="0" maxOccurs="unbounded" 1645 name="AsBuilt"> 1581 <xs:element minOccurs="0" maxOccurs="unbounded" name="AsBuilt"> 1646 1582 <xs:annotation> 1647 <xs:documentation xml:lang="en-us"> This section 1648 contains information about how the module was 1649 coded, such as Compiler Tools, Flags, PCDs (only 1650 PatchPcd and/or PcdEx) and Library Class Instances 1651 used to build the binary. </xs:documentation> 1583 <xs:documentation xml:lang="en-us"> This section contains information 1584 about how the module was coded, such as Compiler Tools, Flags, PCDs 1585 (only PatchPcd and/or PcdEx) and Library Class Instances used to 1586 build the binary. </xs:documentation> 1652 1587 </xs:annotation> 1653 1588 <xs:complexType> 1654 1589 <xs:sequence> 1655 1590 1656 <xs:element minOccurs="0" maxOccurs="unbounded" 1657 name="PatchPcdValue"> 1658 <xs:annotation> 1659 <xs:documentation xml:lang="en-us"> The element is 1660 the Patchable PCD Value that was used during the 1661 build. </xs:documentation> 1662 </xs:annotation> 1663 <xs:complexType> 1664 <xs:sequence> 1665 <xs:element minOccurs="1" maxOccurs="1" 1666 name="TokenSpaceGuidValue" 1667 type="RegistryFormatGuid"/> 1668 <xs:element minOccurs="1" maxOccurs="1" 1669 name="PcdCName" type="xs:NCName"/> 1670 <xs:element minOccurs="1" maxOccurs="1" 1671 name="Token"> 1672 <xs:annotation> 1673 <xs:documentation xml:lang="en-us"> The minLength 1674 of 3 is required to handle the "0x" prefix to the 1675 hex number. </xs:documentation> 1676 </xs:annotation> 1677 <xs:simpleType> 1678 <xs:restriction base="HexNumber"> 1679 <xs:minLength value="3"/> 1680 <xs:maxLength value="10"/> 1681 </xs:restriction> 1682 </xs:simpleType> 1683 </xs:element> 1684 <xs:element minOccurs="1" maxOccurs="1" 1685 name="DatumType" type="PcdDatumTypes"/> 1686 <xs:element minOccurs="0" maxOccurs="1" 1687 name="MaxDatumSize"> 1688 <xs:annotation> 1689 <xs:documentation xml:lang="en-us"> This field is 1690 required if the Pcd Datum Type is VOID* </xs:documentation> 1691 <xs:documentation xml:lang="en-us"> The minLength 1692 of 3 is required to handle the "0x" prefix to the 1693 hex number. </xs:documentation> 1694 </xs:annotation> 1695 <xs:simpleType> 1696 <xs:restriction base="HexNumber"> 1697 <xs:minLength value="3"/> 1698 </xs:restriction> 1699 </xs:simpleType> 1700 </xs:element> 1701 <xs:element minOccurs="1" maxOccurs="1" 1702 name="Value" type="xs:normalizedString"/> 1703 <xs:element minOccurs="1" maxOccurs="1" 1704 name="Offset"> 1705 <xs:annotation> 1706 <xs:documentation xml:lang="en-us"> The minLength 1707 of 3 is required to handle the "0x" prefix to the 1708 hex number. </xs:documentation> 1709 </xs:annotation> 1710 <xs:simpleType> 1711 <xs:restriction base="HexNumber"> 1712 <xs:minLength value="3"/> 1713 </xs:restriction> 1714 </xs:simpleType> 1715 </xs:element> 1716 <xs:element ref="HelpText" minOccurs="0" 1717 maxOccurs="unbounded"/> 1718 <xs:element minOccurs="0" maxOccurs="unbounded" 1719 name="PcdError"> 1720 <xs:annotation> 1721 <xs:documentation xml:lang="en-us"> Error 1722 information implemented by the module. 1723 </xs:documentation> 1724 </xs:annotation> 1725 <xs:complexType> 1726 <xs:sequence> 1727 <xs:element minOccurs="1" maxOccurs="1" 1728 name="ErrorNumber"> 1729 <xs:annotation> 1730 <xs:documentation xml:lang="en-us"> The minLength 1731 of 3 is required to handle the "0x" prefix to the 1732 hex number. </xs:documentation> 1733 </xs:annotation> 1734 <xs:simpleType> 1735 <xs:restriction base="HexNumber"> 1736 <xs:minLength value="3"/> 1737 </xs:restriction> 1738 </xs:simpleType> 1739 </xs:element> 1740 <xs:element minOccurs="0" maxOccurs="unbounded" 1741 name="ErrorMessage"> 1742 <xs:complexType> 1743 <xs:simpleContent> 1744 <xs:extension base="xs:string"> 1745 <xs:attribute name="Lang" type="xs:language" 1746 default="en-us" use="optional"/> 1747 </xs:extension> 1748 </xs:simpleContent> 1749 </xs:complexType> 1750 </xs:element> 1751 </xs:sequence> 1752 </xs:complexType> 1753 </xs:element> 1754 </xs:sequence> 1755 </xs:complexType> 1756 </xs:element> 1757 1758 <xs:element minOccurs="0" maxOccurs="unbounded" 1759 name="PcdExValue"> 1760 <xs:annotation> 1761 <xs:documentation xml:lang="en-us"> The element is 1762 the DynamicEx PCD Value that was used during the 1763 build. </xs:documentation> 1764 </xs:annotation> 1765 <xs:complexType> 1766 <xs:sequence> 1767 <xs:element minOccurs="1" maxOccurs="1" 1768 name="TokenSpaceGuidValue" 1769 type="RegistryFormatGuid"/> 1770 <xs:element minOccurs="1" maxOccurs="1" 1771 name="Token"> 1772 <xs:annotation> 1773 <xs:documentation xml:lang="en-us"> The minLength 1774 of 3 is required to handle the "0x" prefix to the 1775 hex number. </xs:documentation> 1776 </xs:annotation> 1777 <xs:simpleType> 1778 <xs:restriction base="HexNumber"> 1779 <xs:minLength value="3"/> 1780 <xs:maxLength value="10"/> 1781 </xs:restriction> 1782 </xs:simpleType> 1783 </xs:element> 1784 <xs:element minOccurs="1" maxOccurs="1" 1785 name="DatumType" type="PcdDatumTypes"/> 1786 <xs:element minOccurs="0" maxOccurs="1" 1787 name="MaxDatumSize"> 1788 <xs:annotation> 1789 <xs:documentation xml:lang="en-us"> This field is 1790 required if the Pcd Datum Type is VOID* 1791 </xs:documentation> 1792 </xs:annotation> 1793 <xs:simpleType> 1794 <xs:restriction base="HexNumber"> 1795 <xs:minLength value="3"/> 1796 </xs:restriction> 1797 </xs:simpleType> 1798 </xs:element> 1799 <xs:element minOccurs="1" maxOccurs="1" 1800 name="Value" type="xs:normalizedString"/> 1801 <xs:element ref="HelpText" minOccurs="0" 1802 maxOccurs="unbounded"/> 1803 <xs:element minOccurs="0" maxOccurs="unbounded" 1804 name="PcdError"> 1805 <xs:annotation> 1806 <xs:documentation xml:lang="en-us"> Error 1807 information implemented by the module. 1808 </xs:documentation> 1809 </xs:annotation> 1810 <xs:complexType> 1811 <xs:sequence> 1812 <xs:element minOccurs="1" maxOccurs="1" 1813 name="ErrorNumber"> 1814 <xs:annotation> 1815 <xs:documentation xml:lang="en-us"> The minLength 1816 of 3 is required to handle the "0x" prefix to the 1817 hex number. </xs:documentation> 1818 </xs:annotation> 1819 <xs:simpleType> 1820 <xs:restriction base="HexNumber"> 1821 <xs:minLength value="3"/> 1822 </xs:restriction> 1823 </xs:simpleType> 1824 </xs:element> 1825 <xs:element minOccurs="0" maxOccurs="unbounded" 1826 name="ErrorMessage"> 1827 <xs:complexType> 1828 <xs:simpleContent> 1829 <xs:extension base="xs:string"> 1830 <xs:attribute name="Lang" type="xs:language" 1831 default="en-us" use="optional"/> 1832 </xs:extension> 1833 </xs:simpleContent> 1834 </xs:complexType> 1835 </xs:element> 1836 </xs:sequence> 1837 </xs:complexType> 1838 </xs:element> 1839 </xs:sequence> 1840 </xs:complexType> 1841 </xs:element> 1842 1843 <xs:element minOccurs="0" maxOccurs="1" 1844 name="LibraryInstances"> 1845 <xs:annotation> 1846 <xs:documentation xml:lang="en-us"> This is the 1847 actual library instance that was used to link 1848 against the module. </xs:documentation> 1849 </xs:annotation> 1850 <xs:complexType> 1851 <xs:sequence> 1852 <xs:element minOccurs="1" maxOccurs="unbounded" 1853 name="GUID"> 1854 <xs:annotation> 1855 <xs:documentation xml:lang="en-us"> This GUID and 1856 the Version attribute uniquely identify the actual 1857 Library Instance linked in this module. 1858 </xs:documentation> 1859 </xs:annotation> 1860 <xs:complexType> 1861 <xs:simpleContent> 1862 <xs:extension base="RegistryFormatGuid"> 1863 <xs:attribute name="Version" type="xs:decimal" 1864 use="required"> 1865 <xs:annotation> 1866 <xs:documentation xml:lang="en-us"> This value, 1867 along with the GUID, is used to uniquely identify 1868 this object. </xs:documentation> 1869 </xs:annotation> 1870 </xs:attribute> 1871 </xs:extension> 1872 </xs:simpleContent> 1873 </xs:complexType> 1874 </xs:element> 1875 </xs:sequence> 1876 </xs:complexType> 1877 </xs:element> 1878 1879 <xs:element minOccurs="0" maxOccurs="unbounded" 1880 name="BuildFlags"> 1881 <xs:complexType mixed="true"> 1882 <xs:simpleContent> 1883 <xs:annotation> 1884 <xs:documentation xml:lang="en-us"> Any 1885 description of OS, Tool, and flags for the 1886 individual tool can go in this section. 1887 </xs:documentation> 1888 </xs:annotation> 1889 <xs:extension base="xs:string"> 1890 <xs:anyAttribute processContents="lax"/> 1891 </xs:extension> 1892 </xs:simpleContent> 1893 </xs:complexType> 1894 </xs:element> 1591 <xs:element minOccurs="0" maxOccurs="unbounded" name="PatchPcdValue"> 1592 <xs:annotation> 1593 <xs:documentation xml:lang="en-us"> The element is the 1594 Patchable PCD Value that was used during the build. 1595 </xs:documentation> 1596 </xs:annotation> 1597 <xs:complexType> 1598 <xs:sequence> 1599 <xs:element minOccurs="1" maxOccurs="1" 1600 name="TokenSpaceGuidValue" type="RegistryFormatGuid"/> 1601 <xs:element minOccurs="1" maxOccurs="1" name="PcdCName" 1602 type="xs:NCName"/> 1603 <xs:element minOccurs="1" maxOccurs="1" name="Token"> 1604 <xs:annotation> 1605 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1606 required to handle the "0x" prefix to the hex number. 1607 </xs:documentation> 1608 </xs:annotation> 1609 <xs:simpleType> 1610 <xs:restriction base="HexNumber"> 1611 <xs:minLength value="3"/> 1612 <xs:maxLength value="10"/> 1613 </xs:restriction> 1614 </xs:simpleType> 1615 </xs:element> 1616 <xs:element minOccurs="1" maxOccurs="1" name="DatumType" 1617 type="PcdDatumTypes"/> 1618 <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> 1619 <xs:annotation> 1620 <xs:documentation xml:lang="en-us"> This field is required 1621 if the Pcd Datum Type is VOID* </xs:documentation> 1622 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1623 required to handle the "0x" prefix to the hex number. 1624 </xs:documentation> 1625 </xs:annotation> 1626 <xs:simpleType> 1627 <xs:restriction base="HexNumber"> 1628 <xs:minLength value="3"/> 1629 </xs:restriction> 1630 </xs:simpleType> 1631 </xs:element> 1632 <xs:element minOccurs="1" maxOccurs="1" name="Value" 1633 type="xs:normalizedString"/> 1634 <xs:element minOccurs="1" maxOccurs="1" name="Offset"> 1635 <xs:annotation> 1636 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1637 required to handle the "0x" prefix to the hex number. 1638 </xs:documentation> 1639 </xs:annotation> 1640 <xs:simpleType> 1641 <xs:restriction base="HexNumber"> 1642 <xs:minLength value="3"/> 1643 </xs:restriction> 1644 </xs:simpleType> 1645 </xs:element> 1646 <xs:element ref="HelpText" minOccurs="0" 1647 maxOccurs="unbounded"/> 1648 <xs:element minOccurs="0" maxOccurs="unbounded" 1649 name="PcdError"> 1650 <xs:annotation> 1651 <xs:documentation xml:lang="en-us"> Error information 1652 implemented by the module. </xs:documentation> 1653 </xs:annotation> 1654 <xs:complexType> 1655 <xs:sequence> 1656 <xs:choice> 1657 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList"> 1658 <xs:complexType> 1659 <xs:simpleContent> 1660 <xs:extension base="xs:normalizedString"> 1661 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 1662 </xs:extension> 1663 </xs:simpleContent> 1664 </xs:complexType> 1665 </xs:element> 1666 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" type="xs:normalizedString"/> 1667 <xs:element minOccurs="0" maxOccurs="1" name="Expression" type="xs:normalizedString"/> 1668 </xs:choice> 1669 <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> 1670 <xs:annotation> 1671 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1672 required to handle the "0x" prefix to the hex number. 1673 </xs:documentation> 1674 </xs:annotation> 1675 <xs:simpleType> 1676 <xs:restriction base="HexNumber"> 1677 <xs:minLength value="3"/> 1678 </xs:restriction> 1679 </xs:simpleType> 1680 </xs:element> 1681 <xs:element minOccurs="0" maxOccurs="unbounded" 1682 name="ErrorMessage"> 1683 <xs:complexType> 1684 <xs:simpleContent> 1685 <xs:extension base="xs:string"> 1686 <xs:attribute name="Lang" type="xs:language" default="en-us" 1687 use="optional"/> 1688 </xs:extension> 1689 </xs:simpleContent> 1690 </xs:complexType> 1691 </xs:element> 1692 </xs:sequence> 1693 </xs:complexType> 1694 </xs:element> 1695 </xs:sequence> 1696 </xs:complexType> 1697 </xs:element> 1698 1699 <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdExValue"> 1700 <xs:annotation> 1701 <xs:documentation xml:lang="en-us"> The element is the 1702 DynamicEx PCD Value that was used during the build. 1703 </xs:documentation> 1704 </xs:annotation> 1705 <xs:complexType> 1706 <xs:sequence> 1707 <xs:element minOccurs="1" maxOccurs="1" 1708 name="TokenSpaceGuidValue" type="RegistryFormatGuid"/> 1709 <xs:element minOccurs="1" maxOccurs="1" name="Token"> 1710 <xs:annotation> 1711 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1712 required to handle the "0x" prefix to the hex number. 1713 </xs:documentation> 1714 </xs:annotation> 1715 <xs:simpleType> 1716 <xs:restriction base="HexNumber"> 1717 <xs:minLength value="3"/> 1718 <xs:maxLength value="10"/> 1719 </xs:restriction> 1720 </xs:simpleType> 1721 </xs:element> 1722 <xs:element minOccurs="1" maxOccurs="1" name="DatumType" 1723 type="PcdDatumTypes"/> 1724 <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize"> 1725 <xs:annotation> 1726 <xs:documentation xml:lang="en-us"> This field is required 1727 if the Pcd Datum Type is VOID* </xs:documentation> 1728 </xs:annotation> 1729 <xs:simpleType> 1730 <xs:restriction base="HexNumber"> 1731 <xs:minLength value="3"/> 1732 </xs:restriction> 1733 </xs:simpleType> 1734 </xs:element> 1735 <xs:element minOccurs="1" maxOccurs="1" name="Value" 1736 type="xs:normalizedString"/> 1737 <xs:element ref="HelpText" minOccurs="0" 1738 maxOccurs="unbounded"/> 1739 <xs:element minOccurs="0" maxOccurs="unbounded" 1740 name="PcdError"> 1741 <xs:annotation> 1742 <xs:documentation xml:lang="en-us"> Error information 1743 implemented by the module. </xs:documentation> 1744 </xs:annotation> 1745 <xs:complexType> 1746 <xs:sequence> 1747 <xs:choice> 1748 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList"> 1749 <xs:complexType> 1750 <xs:simpleContent> 1751 <xs:extension base="xs:normalizedString"> 1752 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 1753 </xs:extension> 1754 </xs:simpleContent> 1755 </xs:complexType> 1756 </xs:element> 1757 <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange" type="xs:normalizedString"/> 1758 <xs:element minOccurs="0" maxOccurs="1" name="Expression" type="xs:normalizedString"/> 1759 </xs:choice> 1760 <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber"> 1761 <xs:annotation> 1762 <xs:documentation xml:lang="en-us"> The minLength of 3 is 1763 required to handle the "0x" prefix to the hex number. 1764 </xs:documentation> 1765 </xs:annotation> 1766 <xs:simpleType> 1767 <xs:restriction base="HexNumber"> 1768 <xs:minLength value="3"/> 1769 </xs:restriction> 1770 </xs:simpleType> 1771 </xs:element> 1772 <xs:element minOccurs="0" maxOccurs="unbounded" 1773 name="ErrorMessage"> 1774 <xs:complexType> 1775 <xs:simpleContent> 1776 <xs:extension base="xs:string"> 1777 <xs:attribute name="Lang" type="xs:language" default="en-us" 1778 use="optional"/> 1779 </xs:extension> 1780 </xs:simpleContent> 1781 </xs:complexType> 1782 </xs:element> 1783 </xs:sequence> 1784 </xs:complexType> 1785 </xs:element> 1786 </xs:sequence> 1787 </xs:complexType> 1788 </xs:element> 1789 1790 <xs:element minOccurs="0" maxOccurs="1" name="LibraryInstances"> 1791 <xs:annotation> 1792 <xs:documentation xml:lang="en-us"> This is the actual 1793 library instance that was used to link against the module. 1794 </xs:documentation> 1795 </xs:annotation> 1796 <xs:complexType> 1797 <xs:sequence> 1798 <xs:element minOccurs="1" maxOccurs="unbounded" name="GUID"> 1799 <xs:annotation> 1800 <xs:documentation xml:lang="en-us"> This GUID and the 1801 Version attribute uniquely identify the actual Library 1802 Instance linked in this module. </xs:documentation> 1803 </xs:annotation> 1804 <xs:complexType> 1805 <xs:simpleContent> 1806 <xs:extension base="RegistryFormatGuid"> 1807 <xs:attribute name="Version" type="xs:decimal" 1808 use="required"> 1809 <xs:annotation> 1810 <xs:documentation xml:lang="en-us"> This value, along with 1811 the GUID, is used to uniquely identify this object. 1812 </xs:documentation> 1813 </xs:annotation> 1814 </xs:attribute> 1815 </xs:extension> 1816 </xs:simpleContent> 1817 </xs:complexType> 1818 </xs:element> 1819 </xs:sequence> 1820 </xs:complexType> 1821 </xs:element> 1822 1823 <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildFlags"> 1824 <xs:complexType mixed="true"> 1825 <xs:simpleContent> 1826 <xs:annotation> 1827 <xs:documentation xml:lang="en-us"> Any description of OS, 1828 Tool, and flags for the individual tool can go in this 1829 section. </xs:documentation> 1830 </xs:annotation> 1831 <xs:extension base="xs:string"> 1832 <xs:anyAttribute processContents="lax"/> 1833 </xs:extension> 1834 </xs:simpleContent> 1835 </xs:complexType> 1836 </xs:element> 1895 1837 </xs:sequence> 1896 1838 </xs:complexType> 1897 1839 </xs:element> 1898 1840 <!-- End of AsBuilt --> 1899 <xs:element ref="HelpText" minOccurs="0" 1900 maxOccurs="unbounded"/> 1841 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1901 1842 </xs:sequence> 1902 1843 </xs:complexType> … … 1914 1855 <xs:complexType> 1915 1856 <xs:sequence> 1916 <xs:element minOccurs="0" maxOccurs="unbounded" 1917 name="Description"> 1857 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> 1918 1858 <xs:complexType> 1919 1859 <xs:simpleContent> 1920 <xs:extension base="xs:string">1921 <xs:attribute name="Lang" type="xs:language"1922 default="en-us"use="optional"/>1923 </xs:extension>1860 <xs:extension base="xs:string"> 1861 <xs:attribute name="Lang" type="xs:language" default="en-us" 1862 use="optional"/> 1863 </xs:extension> 1924 1864 </xs:simpleContent> 1925 1865 </xs:complexType> … … 1927 1867 <xs:element minOccurs="1" maxOccurs="1" name="GUID"> 1928 1868 <xs:annotation> 1929 <xs:documentation xml:lang="en-us"> This GUID and 1930 the Version attribute uniquely identify Package1931 that this Module depends on.</xs:documentation>1869 <xs:documentation xml:lang="en-us"> This GUID and the Version attribute 1870 uniquely identify Package that this Module depends on. 1871 </xs:documentation> 1932 1872 </xs:annotation> 1933 1873 <xs:complexType> 1934 1874 <xs:simpleContent> 1935 <xs:extension base="RegistryFormatGuid"> 1936 <xs:attribute name="Version" type="xs:decimal" 1937 use="optional"> 1938 <xs:annotation> 1939 <xs:documentation xml:lang="en-us"> This value, 1940 along with the GUID, is used to uniquely identify 1941 this object. If the version attribute is not 1942 specified, the most recent version of the package 1943 can be used. </xs:documentation> 1944 </xs:annotation> 1945 </xs:attribute> 1946 </xs:extension> 1875 <xs:extension base="RegistryFormatGuid"> 1876 <xs:attribute name="Version" type="xs:decimal" use="optional"> 1877 <xs:annotation> 1878 <xs:documentation xml:lang="en-us"> This value, along with 1879 the GUID, is used to uniquely identify this object. If the 1880 version attribute is not specified, the most recent version 1881 of the package can be used. </xs:documentation> 1882 </xs:annotation> 1883 </xs:attribute> 1884 </xs:extension> 1947 1885 </xs:simpleContent> 1948 1886 </xs:complexType> 1949 1887 </xs:element> 1950 1888 </xs:sequence> 1951 <xs:attribute name="SupArchList" type="ArchListType" 1952 use="optional"/> 1953 <xs:attribute name="SupModList" type="ModuleListType" 1954 use="optional"/> 1955 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 1956 use="optional"/> 1889 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1890 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 1891 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 1957 1892 </xs:complexType> 1958 1893 </xs:element> … … 1968 1903 <xs:complexType> 1969 1904 <xs:sequence> 1970 <xs:element minOccurs="1" maxOccurs="1" name="CName" 1971 type="xs:NCName"/>1905 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 1906 <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/> 1972 1907 <xs:element minOccurs="0" maxOccurs="1" name="VariableName" 1973 1908 type="xs:normalizedString"> 1974 1909 <xs:annotation> 1975 <xs:documentation xml:lang="en-us"> Only valid for 1976 Variable GUID types. </xs:documentation> 1977 <xs:documentation> This can be either a Hex Array or 1978 C string in unicode format: L"string" Data. 1979 </xs:documentation> 1910 <xs:documentation xml:lang="en-us"> Only valid for Variable GUID types. </xs:documentation> 1911 <xs:documentation> This can be either a Hex Array or C string in unicode 1912 format: L"string" Data. </xs:documentation> 1980 1913 </xs:annotation> 1981 1914 </xs:element> 1982 <xs:element ref="HelpText" minOccurs="0" 1983 maxOccurs="unbounded"/> 1915 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 1984 1916 </xs:sequence> 1985 1917 <xs:attribute name="Usage" use="required"> … … 1987 1919 <xs:restriction base="xs:NCName"> 1988 1920 <xs:enumeration value="CONSUMES"> 1989 <xs:annotation>1990 <xs:documentation xml:lang="en-us">The module does1991 not install the GUID, and the GUID must be present1992 for the module toexecute. </xs:documentation>1993 </xs:annotation>1921 <xs:annotation> 1922 <xs:documentation xml:lang="en-us">The module does not install 1923 the GUID, and the GUID must be present for the module to 1924 execute. </xs:documentation> 1925 </xs:annotation> 1994 1926 </xs:enumeration> 1995 1927 <xs:enumeration value="SOMETIMES_CONSUMES"> 1996 <xs:annotation>1997 <xs:documentation xml:lang="en-us"> The module1998 does not install the GUID, however, the GUID will1999 be used if it is present.</xs:documentation>2000 </xs:annotation>1928 <xs:annotation> 1929 <xs:documentation xml:lang="en-us"> The module does not install 1930 the GUID, however, the GUID will be used if it is present. 1931 </xs:documentation> 1932 </xs:annotation> 2001 1933 </xs:enumeration> 2002 1934 <xs:enumeration value="PRODUCES"> 2003 <xs:annotation>2004 <xs:documentation xml:lang="en-us"> The module2005 always installsthe GUID. </xs:documentation>2006 </xs:annotation>1935 <xs:annotation> 1936 <xs:documentation xml:lang="en-us"> The module always installs 1937 the GUID. </xs:documentation> 1938 </xs:annotation> 2007 1939 </xs:enumeration> 2008 1940 <xs:enumeration value="SOMETIMES_PRODUCES"> 2009 <xs:annotation> 2010 <xs:documentation xml:lang="en-us"> The Module 2011 will install the GUID under certain execution 2012 paths. </xs:documentation> 2013 </xs:annotation> 1941 <xs:annotation> 1942 <xs:documentation xml:lang="en-us"> The Module will install the 1943 GUID under certain execution paths. </xs:documentation> 1944 </xs:annotation> 2014 1945 </xs:enumeration> 2015 1946 <xs:enumeration value="UNDEFINED"> 2016 <xs:annotation>2017 <xs:documentation xml:lang="en-us"> The package2018 creator knows that a GUID is used, but does not2019 know how it is used.</xs:documentation>2020 </xs:annotation>1947 <xs:annotation> 1948 <xs:documentation xml:lang="en-us"> The package creator knows 1949 that a GUID is used, but does not know how it is used. 1950 </xs:documentation> 1951 </xs:annotation> 2021 1952 </xs:enumeration> 2022 1953 </xs:restriction> … … 2024 1955 </xs:attribute> 2025 1956 <xs:attribute name="GuidType" type="GuidListType" use="required"/> 2026 <xs:attribute name="SupArchList" type="ArchListType" 2027 use="optional"/> 2028 <xs:attribute name="SupModList" type="ModuleListType" 2029 use="optional"/> 2030 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 2031 use="optional"/> 1957 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1958 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 1959 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 2032 1960 </xs:complexType> 2033 1961 </xs:element> … … 2039 1967 <xs:element minOccurs="0" maxOccurs="1" name="Protocols"> 2040 1968 <xs:annotation> 2041 <xs:documentation xml:lang="en-us"> A listing of protocols required or 2042 produced by this module. </xs:documentation> 2043 </xs:annotation> 2044 <xs:complexType> 2045 <xs:sequence> 2046 <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" 2047 nillable="true"> 1969 <xs:documentation xml:lang="en-us"> A listing of protocols required or produced by this module. 1970 </xs:documentation> 1971 </xs:annotation> 1972 <xs:complexType> 1973 <xs:sequence> 1974 <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" nillable="true"> 2048 1975 <xs:complexType> 2049 1976 <xs:sequence> 2050 <xs:element minOccurs="1" maxOccurs="1" name="CName" 2051 type="xs:NCName"/> 2052 <xs:element ref="HelpText" minOccurs="0" 2053 maxOccurs="unbounded"/> 1977 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 1978 <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/> 1979 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 2054 1980 </xs:sequence> 2055 1981 <xs:attribute name="Usage" use="required"> … … 2067 1993 </xs:attribute> 2068 1994 <xs:attribute name="Notify" type="xs:boolean" use="optional"/> 2069 <xs:attribute name="SupArchList" type="ArchListType" 2070 use="optional"/> 2071 <xs:attribute name="SupModList" type="ModuleListType" 2072 use="optional"/> 2073 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 2074 use="optional"/> 1995 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 1996 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 1997 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 2075 1998 </xs:complexType> 2076 1999 </xs:element> … … 2082 2005 <xs:element minOccurs="0" maxOccurs="1" name="PPIs"> 2083 2006 <xs:annotation> 2084 <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced 2085 by this module. </xs:documentation> 2086 </xs:annotation> 2087 <xs:complexType> 2088 <xs:sequence> 2089 <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" 2090 nillable="true"> 2007 <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced by this module. 2008 </xs:documentation> 2009 </xs:annotation> 2010 <xs:complexType> 2011 <xs:sequence> 2012 <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" nillable="true"> 2091 2013 <xs:complexType> 2092 2014 <xs:sequence> 2093 <xs:element minOccurs="1" maxOccurs="1" name="CName" 2094 type="xs:NCName"/> 2095 <xs:element ref="HelpText" minOccurs="0" 2096 maxOccurs="unbounded"/> 2015 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 2016 <xs:element minOccurs="0" maxOccurs="1" name="GUID" type="RegistryFormatGuid"/> 2017 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 2097 2018 </xs:sequence> 2098 2019 <xs:attribute name="Usage" use="required"> … … 2108 2029 </xs:attribute> 2109 2030 <xs:attribute name="Notify" type="xs:boolean" use="optional"/> 2110 <xs:attribute name="SupArchList" type="ArchListType" 2111 use="optional"/> 2112 <xs:attribute name="SupModList" type="ModuleListType" 2113 use="optional"/> 2114 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 2115 use="optional"/> 2031 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 2032 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 2033 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 2116 2034 </xs:complexType> 2117 2035 </xs:element> … … 2123 2041 <xs:element minOccurs="0" maxOccurs="1" name="Externs"> 2124 2042 <xs:annotation> 2125 <xs:documentation xml:lang="en-us"> These elements specify additional 2126 information about the module. This area may be used by tools to generate 2127 code. </xs:documentation> 2043 <xs:documentation xml:lang="en-us"> These elements specify additional information about the 2044 module. This area may be used by tools to generate code. </xs:documentation> 2128 2045 </xs:annotation> 2129 2046 <xs:complexType> … … 2134 2051 <xs:choice minOccurs="1"> 2135 2052 <xs:sequence> 2136 <xs:element minOccurs="0" maxOccurs="1" 2137 name="EntryPoint"type="xs:NCName"/>2138 <xs:element minOccurs="0" maxOccurs="1" 2139 name="UnloadImage"type="xs:NCName"/>2053 <xs:element minOccurs="0" maxOccurs="1" name="EntryPoint" 2054 type="xs:NCName"/> 2055 <xs:element minOccurs="0" maxOccurs="1" name="UnloadImage" 2056 type="xs:NCName"/> 2140 2057 </xs:sequence> 2141 2058 <xs:sequence> 2142 <xs:element minOccurs="0" maxOccurs="1" 2143 name="Constructor"type="xs:NCName"/>2144 <xs:element minOccurs="0" maxOccurs="1" 2145 name="Destructor"type="xs:NCName"/>2059 <xs:element minOccurs="0" maxOccurs="1" name="Constructor" 2060 type="xs:NCName"/> 2061 <xs:element minOccurs="0" maxOccurs="1" name="Destructor" 2062 type="xs:NCName"/> 2146 2063 </xs:sequence> 2147 2064 </xs:choice> 2148 2065 <xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/> 2149 2066 </xs:sequence> 2150 <xs:attribute name="SupArchList" type="ArchListType" 2151 use="optional"/> 2152 <xs:attribute name="SupModList" type="ModuleListType" 2153 use="optional"/> 2154 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 2155 use="optional"/> 2067 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 2068 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 2069 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 2156 2070 </xs:complexType> 2157 2071 </xs:element> … … 2163 2077 <xs:element minOccurs="0" maxOccurs="1" name="PcdCoded"> 2164 2078 <xs:annotation> 2165 <xs:documentation xml:lang="en-us"> This section describes how a platform is 2166 coded with respect to the platform configuration knobs. 2167 </xs:documentation> 2079 <xs:documentation xml:lang="en-us"> This section describes how a platform is coded with respect 2080 to the platform configuration knobs. </xs:documentation> 2168 2081 </xs:annotation> 2169 2082 <xs:complexType> … … 2172 2085 <xs:complexType> 2173 2086 <xs:sequence> 2174 <xs:element minOccurs="1" maxOccurs="1" name="CName" 2087 <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/> 2088 <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" 2175 2089 type="xs:NCName"/> 2176 <xs:element minOccurs="1" maxOccurs="1"2177 name="TokenSpaceGuidCName" type="xs:NCName"/>2178 2090 <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" 2179 2091 type="xs:normalizedString"/> 2180 <xs:element ref="HelpText" minOccurs="0" 2181 maxOccurs="unbounded"/> 2092 <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/> 2182 2093 </xs:sequence> 2183 <xs:attribute name="PcdItemType" type="PcdItemTypes" 2184 use="required"/> 2094 <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/> 2185 2095 <xs:attribute name="PcdUsage" use="required"> 2186 2096 <xs:simpleType> … … 2196 2106 2197 2107 </xs:attribute> 2198 <xs:attribute name="SupArchList" type="ArchListType" 2199 use="optional"/> 2200 <xs:attribute name="SupModList" type="ModuleListType" 2201 use="optional"/> 2202 <xs:attribute name="FeatureFlag" type="xs:normalizedString" 2203 use="optional"/> 2108 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/> 2109 <xs:attribute name="SupModList" type="ModuleListType" use="optional"/> 2110 <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/> 2204 2111 </xs:complexType> 2205 2112 </xs:element> … … 2211 2118 <xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex"> 2212 2119 <xs:annotation> 2213 <xs:documentation xml:lang="en-us"> This is the PEI dependency expression 2214 for a Dependency Section. </xs:documentation> 2215 </xs:annotation> 2216 <xs:complexType> 2217 <xs:sequence> 2218 <xs:element name="Expression" type="xs:string" minOccurs="1" 2219 maxOccurs="1"> 2220 <xs:annotation> 2221 <xs:documentation xml:lang="en-us"> An in-fix expression, of C 2222 identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER 2223 as well as parenthesis () in the in-fix notation. The 2224 operators are restricted to grammar defined in the PI 2120 <xs:documentation xml:lang="en-us"> This is the PEI dependency expression for a Dependency 2121 Section. </xs:documentation> 2122 </xs:annotation> 2123 <xs:complexType> 2124 <xs:sequence> 2125 <xs:element name="Expression" type="xs:string" minOccurs="1" maxOccurs="1"> 2126 <xs:annotation> 2127 <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, 2128 FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix 2129 notation. The operators are restricted to grammar defined in the PI 2225 2130 specification. </xs:documentation> 2226 2131 </xs:annotation> … … 2237 2142 <xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex"> 2238 2143 <xs:annotation> 2239 <xs:documentation xml:lang="en-us"> This is the DXE dependency expression 2240 for a Dependency Section. </xs:documentation> 2241 </xs:annotation> 2242 <xs:complexType> 2243 <xs:sequence> 2244 <xs:element name="Expression" type=" xs:string " minOccurs="1" 2245 maxOccurs="1"> 2246 <xs:annotation> 2247 <xs:documentation xml:lang="en-us"> An in-fix expression, of C 2248 identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER 2249 as well as parenthesis () in the in-fix notation. The 2250 operators are restricted to grammar defined in the PI 2144 <xs:documentation xml:lang="en-us"> This is the DXE dependency expression for a Dependency 2145 Section. </xs:documentation> 2146 </xs:annotation> 2147 <xs:complexType> 2148 <xs:sequence> 2149 <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1"> 2150 <xs:annotation> 2151 <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, 2152 FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix 2153 notation. The operators are restricted to grammar defined in the PI 2251 2154 specification. </xs:documentation> 2252 2155 </xs:annotation> … … 2263 2166 <xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex"> 2264 2167 <xs:annotation> 2265 <xs:documentation xml:lang="en-us"> This is the SMM dependency expression 2266 for a Dependency Section. </xs:documentation> 2267 </xs:annotation> 2268 <xs:complexType> 2269 <xs:sequence> 2270 <xs:element name="Expression" type=" xs:string " minOccurs="1" 2271 maxOccurs="1"> 2272 <xs:annotation> 2273 <xs:documentation xml:lang="en-us"> An in-fix expression, of C 2274 identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER 2275 as well as parenthesis () in the in-fix notation. The 2276 operators are restricted to grammar defined in the PI 2168 <xs:documentation xml:lang="en-us"> This is the SMM dependency expression for a Dependency 2169 Section. </xs:documentation> 2170 </xs:annotation> 2171 <xs:complexType> 2172 <xs:sequence> 2173 <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1"> 2174 <xs:annotation> 2175 <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE, 2176 FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix 2177 notation. The operators are restricted to grammar defined in the PI 2277 2178 specification. </xs:documentation> 2278 2179 </xs:annotation> … … 2290 2191 <xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles"> 2291 2192 <xs:annotation> 2292 <xs:documentation xml:lang="en-us"> This section is used to provide comments 2293 and/or list auxiliary files, such as pdb or map files. 2294 </xs:documentation> 2193 <xs:documentation xml:lang="en-us"> This section is used to provide comments and/or list 2194 auxiliary files, such as pdb or map files. </xs:documentation> 2295 2195 </xs:annotation> 2296 2196 <xs:complexType> … … 2300 2200 <xs:simpleContent> 2301 2201 <xs:extension base="xs:string"> 2302 <xs:attribute name="Lang" type="xs:language" 2303 default="en-us" use="optional"/>2202 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 2203 /> 2304 2204 </xs:extension> 2305 2205 </xs:simpleContent> … … 2308 2208 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> 2309 2209 <xs:annotation> 2310 <xs:documentation xml:lang="en-us"> This is the path and 2311 filename location withinthe ZIP file. </xs:documentation>2210 <xs:documentation xml:lang="en-us"> This is the path and filename location within 2211 the ZIP file. </xs:documentation> 2312 2212 </xs:annotation> 2313 2213 <xs:complexType> 2314 2214 <xs:simpleContent> 2315 2215 <xs:extension base="xs:anyURI"> 2316 <xs:attribute name="Executable" type="xs:boolean" 2317 default="false"use="optional">2216 <xs:attribute name="Executable" type="xs:boolean" default="false" 2217 use="optional"> 2318 2218 <xs:annotation> 2319 <xs:documentation xml:lang="en-us"> If true, used 2320 by installation tools to ensure that a file that 2321 must be executable has the correct properties to 2322 permit execution. </xs:documentation> 2219 <xs:documentation xml:lang="en-us"> If true, used by installation 2220 tools to ensure that a file that must be executable has the 2221 correct properties to permit execution. </xs:documentation> 2323 2222 </xs:annotation> 2324 2223 </xs:attribute> … … 2334 2233 <xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions"> 2335 2234 <xs:annotation> 2336 <xs:documentation xml:lang="en-us"> This section is used for any processing 2337 instructions that may be custom to the content provided by the 2338 distribution that are common to module. </xs:documentation> 2235 <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that 2236 may be custom to the content provided by the distribution that are common to module. </xs:documentation> 2339 2237 <xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation> 2340 <xs:documentation xml:lang="en-us"> The content can be plain text as well as 2341 any user-defined,properly formatted XML structure. </xs:documentation>2238 <xs:documentation xml:lang="en-us"> The content can be plain text as well as any user-defined, 2239 properly formatted XML structure. </xs:documentation> 2342 2240 </xs:annotation> 2343 2241 <xs:complexType mixed="true"> 2344 2242 <xs:attribute name="UserId" type="xs:NCName" use="required"> 2345 2243 <xs:annotation> 2346 <xs:documentation xml:lang="en-us"> This is a single word identifier 2347 for grouping similar content. For example, ReferenceBuild might 2348 be used to identify non-PI compliant build steps, with two 2349 different UserExtensions sections, one with an Identifier of 2350 Prebuild, and another of PostBuild. Both UserExtensions sections 2351 would use the same UserId. </xs:documentation> 2244 <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping 2245 similar content. For example, ReferenceBuild might be used to identify non-PI 2246 compliant build steps, with two different UserExtensions sections, one with an 2247 Identifier of Prebuild, and another of PostBuild. Both UserExtensions sections would 2248 use the same UserId. </xs:documentation> 2352 2249 </xs:annotation> 2353 2250 </xs:attribute> 2354 2251 <xs:attribute name="Identifier" type="xs:string" use="required"> 2355 2252 <xs:annotation> 2356 <xs:documentation xml:lang="en-us"> This can be any string used to 2357 differentiate or identify this section from other UserExtensions 2358 sections. </xs:documentation> 2359 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS 2360 Identifier might indicate specific steps and tools required 2361 before processing module content, while a different 2362 UserExtensions section with a POST_PROCESS Identifier might 2363 describe steps that need to be executed after operations on this 2364 module. </xs:documentation> 2253 <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or 2254 identify this section from other UserExtensions sections. </xs:documentation> 2255 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate 2256 specific steps and tools required before processing module content, while a 2257 different UserExtensions section with a POST_PROCESS Identifier might describe steps 2258 that need to be executed after operations on this module. </xs:documentation> 2365 2259 </xs:annotation> 2366 2260 </xs:attribute> … … 2373 2267 <xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional"> 2374 2268 <xs:annotation> 2375 <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are 2376 distributed for this module and no code generation from source files is 2377 required. If set, then the BinaryFiles section should be used, and any files 2378 listed in the SourceFiles section do not have to be built. Additionally, the 2379 AsBuilt section for each binary file must be included. </xs:documentation> 2269 <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are distributed for 2270 this module and no code generation from source files is required. If set, then the BinaryFiles 2271 section should be used, and any files listed in the SourceFiles section do not have to be built. 2272 Additionally, the AsBuilt section for each binary file must be included. </xs:documentation> 2380 2273 </xs:annotation> 2381 2274 </xs:attribute> … … 2391 2284 <xs:complexType> 2392 2285 <xs:sequence> 2393 <xs:element minOccurs="1" maxOccurs="1" name="Name" 2394 type="xs:normalizedString"> 2395 <xs:annotation> 2396 <xs:documentation xml:lang="en-us">This is the User Interface 2397 Name for this Tools Distribution.</xs:documentation> 2398 </xs:annotation> 2399 </xs:element> 2400 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" 2401 type="xs:string"> 2402 <xs:annotation> 2403 <xs:documentation xml:lang="en-us"> This is only required if the 2404 Copyright is different from the Distribution Package 2405 copyright. </xs:documentation> 2286 <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:normalizedString"> 2287 <xs:annotation> 2288 <xs:documentation xml:lang="en-us">This is the User Interface Name for this Tools 2289 Distribution.</xs:documentation> 2290 </xs:annotation> 2291 </xs:element> 2292 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> 2293 <xs:annotation> 2294 <xs:documentation xml:lang="en-us"> This is only required if the Copyright is 2295 different from the Distribution Package copyright. </xs:documentation> 2406 2296 </xs:annotation> 2407 2297 </xs:element> 2408 2298 <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> 2409 2299 <xs:annotation> 2410 <xs:documentation xml:lang="en-us"> This is only required if the 2411 License is different from the Distribution Package license. 2412 </xs:documentation> 2413 </xs:annotation> 2414 </xs:element> 2415 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" 2416 type="xs:normalizedString"> 2417 <xs:annotation> 2418 <xs:documentation xml:lang="en-us"> This is only required if the 2419 Abstract is different from the Distribution Package 2420 Abstract. </xs:documentation> 2421 </xs:annotation> 2422 </xs:element> 2423 <xs:element minOccurs="0" maxOccurs="1" name="Description" 2424 type="xs:string"> 2425 <xs:annotation> 2426 <xs:documentation xml:lang="en-us"> This is only required if the 2427 Description is different from the Distribution Package 2428 Description. </xs:documentation> 2429 </xs:annotation> 2300 <xs:documentation xml:lang="en-us"> This is only required if the License is 2301 different from the Distribution Package license. </xs:documentation> 2302 </xs:annotation> 2303 </xs:element> 2304 <xs:element minOccurs="0" maxOccurs="1" name="Abstract"> 2305 <xs:annotation> 2306 <xs:documentation xml:lang="en-us"> This is only required if the Abstract is 2307 different from the Distribution Package Abstract. </xs:documentation> 2308 </xs:annotation> 2309 <xs:complexType> 2310 <xs:simpleContent> 2311 <xs:extension base="xs:normalizedString"> 2312 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 2313 </xs:extension> 2314 </xs:simpleContent> 2315 </xs:complexType> 2316 </xs:element> 2317 <xs:element minOccurs="0" maxOccurs="1" name="Description"> 2318 <xs:annotation> 2319 <xs:documentation xml:lang="en-us"> This is only required if the Description is 2320 different from the Distribution Package Description. </xs:documentation> 2321 </xs:annotation> 2322 <xs:complexType> 2323 <xs:simpleContent> 2324 <xs:extension base="xs:string"> 2325 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/> 2326 </xs:extension> 2327 </xs:simpleContent> 2328 </xs:complexType> 2329 2430 2330 </xs:element> 2431 2331 </xs:sequence> … … 2434 2334 <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename"> 2435 2335 <xs:annotation> 2436 <xs:documentation xml:lang="en-us"> This is the path and filename location 2437 within the ZIP file.</xs:documentation>2336 <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file. 2337 </xs:documentation> 2438 2338 </xs:annotation> 2439 2339 <xs:complexType> … … 2442 2342 <xs:attribute name="OS" type="SupportedOs" use="optional"> 2443 2343 <xs:annotation> 2444 <xs:documentation xml:lang="en-us"> This is required for 2445 tools that execute; it should not be used for 2446 configuration files. </xs:documentation> 2344 <xs:documentation xml:lang="en-us"> This is required for tools that execute; it 2345 should not be used for configuration files. </xs:documentation> 2447 2346 </xs:annotation> 2448 2347 </xs:attribute> 2449 <xs:attribute name="Executable" type="xs:boolean" default="false" 2450 use="optional"> 2348 <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional"> 2451 2349 <xs:annotation> 2452 <xs:documentation xml:lang="en-us"> If true, used by 2453 installation tools to ensure that a file that must be 2454 executable has the correct properties to permit 2455 execution. </xs:documentation> 2350 <xs:documentation xml:lang="en-us"> If true, used by installation tools to 2351 ensure that a file that must be executable has the correct properties to 2352 permit execution. </xs:documentation> 2456 2353 </xs:annotation> 2457 2354 </xs:attribute> … … 2467 2364 <xs:element name="MiscellaneousFiles"> 2468 2365 <xs:annotation> 2469 <xs:documentation xml:lang="en-us"> This section contains a list of files that are not 2470 part of the codedistributed with modules, packages or tools. </xs:documentation>2366 <xs:documentation xml:lang="en-us"> This section contains a list of files that are not part of the code 2367 distributed with modules, packages or tools. </xs:documentation> 2471 2368 </xs:annotation> 2472 2369 <xs:complexType> … … 2475 2372 <xs:complexType> 2476 2373 <xs:sequence> 2477 <xs:element minOccurs="0" maxOccurs="1" name="Name" 2478 type="xs:normalizedString"> 2479 <xs:annotation> 2480 <xs:documentation xml:lang="en-us"> The User interface name for 2481 this content. </xs:documentation> 2482 </xs:annotation> 2483 </xs:element> 2484 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" 2485 type="xs:string"> 2486 <xs:annotation> 2487 <xs:documentation xml:lang="en-us"> This is only required if the 2488 Copyright is different from the Distribution Package 2489 Copyright. </xs:documentation> 2374 <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString"> 2375 <xs:annotation> 2376 <xs:documentation xml:lang="en-us"> The User interface name for this content. 2377 </xs:documentation> 2378 </xs:annotation> 2379 </xs:element> 2380 <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string"> 2381 <xs:annotation> 2382 <xs:documentation xml:lang="en-us"> This is only required if the Copyright is 2383 different from the Distribution Package Copyright. </xs:documentation> 2490 2384 </xs:annotation> 2491 2385 </xs:element> 2492 2386 <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string"> 2493 2387 <xs:annotation> 2494 <xs:documentation xml:lang="en-us"> This is only required if the 2495 License is different from the Distribution Package License. 2496 </xs:documentation> 2497 </xs:annotation> 2498 </xs:element> 2499 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" 2500 type="xs:normalizedString"/> 2388 <xs:documentation xml:lang="en-us"> This is only required if the License is 2389 different from the Distribution Package License. </xs:documentation> 2390 </xs:annotation> 2391 </xs:element> 2392 <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"/> 2501 2393 <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"> 2502 2394 <xs:complexType> 2503 2395 <xs:simpleContent> 2504 2396 <xs:extension base="xs:string"> 2505 <xs:attribute name="Lang" type="xs:language" 2506 default="en-us" use="optional"/>2397 <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional" 2398 /> 2507 2399 </xs:extension> 2508 2400 </xs:simpleContent> … … 2514 2406 <xs:element minOccurs="0" maxOccurs="unbounded" name="Filename"> 2515 2407 <xs:annotation> 2516 <xs:documentation xml:lang="en-us"> This is the path and filename location 2517 within the ZIP file.</xs:documentation>2408 <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file. 2409 </xs:documentation> 2518 2410 </xs:annotation> 2519 2411 <xs:complexType> 2520 2412 <xs:simpleContent> 2521 2413 <xs:extension base="xs:anyURI"> 2522 <xs:attribute name="Executable" type="xs:boolean" default="false" 2523 use="optional"> 2414 <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional"> 2524 2415 <xs:annotation> 2525 <xs:documentation xml:lang="en-us"> If true, used by 2526 installation tools to ensure that a file that must be 2527 executable has the correct properties to permit 2528 execution. </xs:documentation> 2416 <xs:documentation xml:lang="en-us"> If true, used by installation tools to 2417 ensure that a file that must be executable has the correct properties to 2418 permit execution. </xs:documentation> 2529 2419 </xs:annotation> 2530 2420 </xs:attribute> … … 2545 2435 <xs:attribute name="UserId" type="xs:NCName" use="required"> 2546 2436 <xs:annotation> 2547 <xs:documentation xml:lang="en-us"> This is a single word identifier for 2548 grouping similar content. For example, ReferenceBuild might be used to 2549 identify non-PI compliant build steps, with two different UserExtensions 2550 sections, one with an Identifier of Prebuild, and another of PostBuild. Both 2551 UserExtensions sections would use the same UserId. </xs:documentation> 2437 <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping similar content. 2438 For example, ReferenceBuild might be used to identify non-PI compliant build steps, with two 2439 different UserExtensions sections, one with an Identifier of Prebuild, and another of PostBuild. 2440 Both UserExtensions sections would use the same UserId. </xs:documentation> 2552 2441 </xs:annotation> 2553 2442 </xs:attribute> 2554 2443 <xs:attribute name="Identifier" type="xs:string" use="optional"> 2555 2444 <xs:annotation> 2556 <xs:documentation xml:lang="en-us"> This can be any string used to differentiate 2557 or identify this section from other UserExtensions sections. </xs:documentation> 2558 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might 2559 indicate specific steps and tools required before processing distribution 2560 package content, while a different UserExtensions section with a 2561 POST_PROCESS Identifier might describe steps that need to be executed after 2562 operations on this content. </xs:documentation> 2445 <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or identify this 2446 section from other UserExtensions sections. </xs:documentation> 2447 <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate specific 2448 steps and tools required before processing distribution package content, while a different 2449 UserExtensions section with a POST_PROCESS Identifier might describe steps that need to be 2450 executed after operations on this content. </xs:documentation> 2563 2451 </xs:annotation> 2564 2452 </xs:attribute> … … 2597 2485 <xs:enumeration value="IPF"/> 2598 2486 <xs:enumeration value="EBC"/> 2487 <xs:enumeration value="ARM"/> 2599 2488 <xs:pattern value="([A-Z])([a-zA-Z0-9])*"> 2600 2489 <xs:annotation> 2601 <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. 2602 The Architecture must be a target architecture of one or more compiler tool 2603 chains. </xs:documentation> 2490 <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. The Architecture 2491 must be a target architecture of one or more compiler tool chains. </xs:documentation> 2604 2492 </xs:annotation> 2605 2493 </xs:pattern> … … 2614 2502 <xs:pattern value="[A-Z][a-zA-Z0-9]*"> 2615 2503 <xs:annotation> 2616 <xs:documentation xml:lang="en-us"> Any other family of build utilities for 2617 which compiler toolsexist. </xs:documentation>2504 <xs:documentation xml:lang="en-us"> Any other family of build utilities for which compiler tools 2505 exist. </xs:documentation> 2618 2506 </xs:annotation> 2619 2507 </xs:pattern> … … 2631 2519 <xs:enumeration value="FV"/> 2632 2520 <xs:enumeration value="GUID"/> 2521 <xs:enumeration value="HII"/> 2633 2522 <xs:enumeration value="Hii"/> 2634 2523 <xs:enumeration value="HOB"/> … … 2658 2547 <xs:simpleType name="ModuleTypes"> 2659 2548 <xs:annotation> 2660 <xs:documentation xml:lang="en-us"> The following module types are defined by 2661 specifications. </xs:documentation> 2662 <xs:documentation xml:lang="en-us"> Module types for components and libraries defined 2663 for this distribution mechanism. </xs:documentation> 2549 <xs:documentation xml:lang="en-us"> The following module types are defined by specifications. </xs:documentation> 2550 <xs:documentation xml:lang="en-us"> Module types for components and libraries defined for this distribution 2551 mechanism. </xs:documentation> 2664 2552 </xs:annotation> 2665 2553 <xs:restriction base="xs:NCName"> 2666 2554 <xs:enumeration value="BASE "> 2667 2555 <xs:annotation> 2668 <xs:documentation xml:lang="en-us"> Use of this module is not restricted. 2669 </xs:documentation> 2556 <xs:documentation xml:lang="en-us"> Use of this module is not restricted. </xs:documentation> 2670 2557 </xs:annotation> 2671 2558 </xs:enumeration> 2672 2559 <xs:enumeration value="DXE_CORE"> 2673 2560 <xs:annotation> 2674 <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE 2675 core.</xs:documentation>2561 <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE core. 2562 </xs:documentation> 2676 2563 </xs:annotation> 2677 2564 </xs:enumeration> 2678 2565 <xs:enumeration value="DXE_DRIVER"> 2679 2566 <xs:annotation> 2680 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE 2681 driver.</xs:documentation>2567 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE driver. 2568 </xs:documentation> 2682 2569 </xs:annotation> 2683 2570 </xs:enumeration> 2684 2571 <xs:enumeration value="DXE_RUNTIME_DRIVER"> 2685 2572 <xs:annotation> 2686 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE 2687 runtime driver.</xs:documentation>2573 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE runtime driver. 2574 </xs:documentation> 2688 2575 </xs:annotation> 2689 2576 </xs:enumeration> 2690 2577 <xs:enumeration value="DXE_SAL_DRIVER"> 2691 2578 <xs:annotation> 2692 <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE 2693 runtime driver.</xs:documentation>2579 <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE runtime driver. 2580 </xs:documentation> 2694 2581 </xs:annotation> 2695 2582 </xs:enumeration> 2696 2583 <xs:enumeration value="DXE_SMM_DRIVER"> 2697 2584 <xs:annotation> 2698 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM 2699 driver.</xs:documentation>2585 <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM driver. 2586 </xs:documentation> 2700 2587 </xs:annotation> 2701 2588 </xs:enumeration> 2702 2589 <xs:enumeration value="PEI_CORE"> 2703 2590 <xs:annotation> 2704 <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI 2705 core.</xs:documentation>2591 <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI core. 2592 </xs:documentation> 2706 2593 </xs:annotation> 2707 2594 </xs:enumeration> 2708 2595 <xs:enumeration value="PEIM"> 2709 2596 <xs:annotation> 2710 <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. 2711 </xs:documentation> 2597 <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. </xs:documentation> 2712 2598 </xs:annotation> 2713 2599 </xs:enumeration> 2714 2600 <xs:enumeration value="SEC"> 2715 2601 <xs:annotation> 2716 <xs:documentation xml:lang="en-us"> This module is only applicable to Security 2717 phase.</xs:documentation>2602 <xs:documentation xml:lang="en-us"> This module is only applicable to Security phase. 2603 </xs:documentation> 2718 2604 </xs:annotation> 2719 2605 </xs:enumeration> 2720 2606 <xs:enumeration value="UEFI_DRIVER"> 2721 2607 <xs:annotation> 2722 <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. 2723 </xs:documentation> 2608 <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. </xs:documentation> 2724 2609 </xs:annotation> 2725 2610 </xs:enumeration> … … 2732 2617 <xs:enumeration value="UEFI_APPLICATION"> 2733 2618 <xs:annotation> 2734 <xs:documentation xml:lang="en-us"> This module is only valid for UEFI 2735 applications.</xs:documentation>2619 <xs:documentation xml:lang="en-us"> This module is only valid for UEFI applications. 2620 </xs:documentation> 2736 2621 </xs:annotation> 2737 2622 </xs:enumeration> … … 2744 2629 <xs:enumeration value="USER_DEFINED"> 2745 2630 <xs:annotation> 2746 <xs:documentation xml:lang="en-us"> This content is restricted to a specific 2747 implementation.</xs:documentation>2631 <xs:documentation xml:lang="en-us"> This content is restricted to a specific implementation. 2632 </xs:documentation> 2748 2633 </xs:annotation> 2749 2634 </xs:enumeration> 2750 2635 <xs:enumeration value="UNDEFINED"> 2751 2636 <xs:annotation> 2752 <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that 2753 where the package creator does not know the what module types are supported 2754 by a module. </xs:documentation> 2637 <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that where the package 2638 creator does not know the what module types are supported by a module. </xs:documentation> 2755 2639 </xs:annotation> 2756 2640 </xs:enumeration> 2757 2641 <xs:pattern value="([A-Z])([a-zA-Z0-9])*"> 2758 2642 <xs:annotation> 2759 <xs:documentation xml:lang="en-us"> This pattern has been added for use in a 2760 module lists - forfuture expansion. </xs:documentation>2643 <xs:documentation xml:lang="en-us"> This pattern has been added for use in a module lists - for 2644 future expansion. </xs:documentation> 2761 2645 </xs:annotation> 2762 2646 </xs:pattern> … … 2766 2650 <xs:simpleType name="PcdDatumTypes"> 2767 2651 <xs:annotation> 2768 <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD 2769 s pecification (or PCD section of the UEFI/PI specifications.) </xs:documentation>2652 <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD specification (or PCD 2653 section of the UEFI/PI specifications.) </xs:documentation> 2770 2654 </xs:annotation> 2771 2655 <xs:restriction base="xs:normalizedString"> … … 2787 2671 <xs:enumeration value="FeaturePcd"> 2788 2672 <xs:annotation> 2789 <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to 2790 either true or false. This is used during build to include/exclude content. 2791 It can also be used during execution to force execution paths within 2792 drivers, or to enable/disable features within a driver for a given platform. 2793 </xs:documentation> 2673 <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to either true or false. 2674 This is used during build to include/exclude content. It can also be used during execution to 2675 force execution paths within drivers, or to enable/disable features within a driver for a given 2676 platform. </xs:documentation> 2794 2677 </xs:annotation> 2795 2678 </xs:enumeration> 2796 2679 <xs:enumeration value="FixedPcd"> 2797 2680 <xs:annotation> 2798 <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set 2799 at build time.</xs:documentation>2681 <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set at build time. 2682 </xs:documentation> 2800 2683 </xs:annotation> 2801 2684 </xs:enumeration> 2802 2685 <xs:enumeration value="PatchPcd"> 2803 2686 <xs:annotation> 2804 <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at 2805 build time, and that can be modified within a binary file. Additional 2806 information, such as the offset location of the value, along with it's 2807 length may need to be provided.</xs:documentation> 2687 <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at build time, and that 2688 can be modified within a binary file. Additional information, such as the offset location of the 2689 value, along with it's length may need to be provided.</xs:documentation> 2808 2690 </xs:annotation> 2809 2691 </xs:enumeration> 2810 2692 <xs:enumeration value="Pcd"> 2811 2693 <xs:annotation> 2812 <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. 2813 Prior to build, the platform integrator may choose to implement a PCD as 2814 Fixed, Patchable or a Dynamic PCD. If the platform integrator choose to use 2815 the PCD as dynamic, then a PCD driver is required in the platform 2816 (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. 2817 For Dynamic PCDs, the PcdGet* must pass in the token space guid and the 2818 token number to retrieve data (PcdSet* also needs these values.) 2819 </xs:documentation> 2694 <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. Prior to build, the 2695 platform integrator may choose to implement a PCD as Fixed, Patchable or a Dynamic PCD. If the 2696 platform integrator choose to use the PCD as dynamic, then a PCD driver is required in the 2697 platform (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. For Dynamic 2698 PCDs, the PcdGet* must pass in the token space guid and the token number to retrieve data 2699 (PcdSet* also needs these values.) </xs:documentation> 2820 2700 </xs:annotation> 2821 2701 </xs:enumeration> 2822 2702 <xs:enumeration value="PcdEx"> 2823 2703 <xs:annotation> 2824 <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the 2825 platform firmware must contain a driver to maintain a 'database' of these 2826 items. For Dynamic PCDs, the PcdGet* must pass in the token space guid and 2827 the token number to retrieve data (PcdSet* also needs these values.) 2828 </xs:documentation> 2704 <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the platform firmware 2705 must contain a driver to maintain a 'database' of these items. For Dynamic PCDs, the PcdGet* 2706 must pass in the token space guid and the token number to retrieve data (PcdSet* also needs 2707 these values.) </xs:documentation> 2829 2708 </xs:annotation> 2830 2709 </xs:enumeration> … … 2832 2711 </xs:simpleType> 2833 2712 2834 2835 2836 2713 <xs:simpleType name="RegistryFormatGuid"> 2837 2714 <xs:annotation> 2838 <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal 2839 character sets that areseparated by a dash (-) character. </xs:documentation>2715 <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal character sets that are 2716 separated by a dash (-) character. </xs:documentation> 2840 2717 </xs:annotation> 2841 2718 <xs:restriction base="xs:string"> 2842 <xs:pattern 2843 value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*" 2844 /> 2719 <xs:pattern value="\s*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\s*"/> 2845 2720 </xs:restriction> 2846 2721 </xs:simpleType> … … 2848 2723 <xs:simpleType name="SupportedOs"> 2849 2724 <xs:annotation> 2850 <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations 2851 running one of the following supported operating systems. This is the OS for the2852 developer's workstation, not the targetplatform. </xs:documentation>2725 <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations running one of the 2726 following supported operating systems. This is the OS for the developer's workstation, not the target 2727 platform. </xs:documentation> 2853 2728 </xs:annotation> 2854 2729 <xs:restriction base="xs:string"> 2855 2730 <xs:enumeration value="Win32"> 2856 2731 <xs:annotation> 2857 <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows 2858 Vista.</xs:documentation>2732 <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista. 2733 </xs:documentation> 2859 2734 </xs:annotation> 2860 2735 </xs:enumeration> 2861 2736 <xs:enumeration value="Win64"> 2862 2737 <xs:annotation> 2863 <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows 2864 Vista.</xs:documentation>2738 <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista. 2739 </xs:documentation> 2865 2740 </xs:annotation> 2866 2741 </xs:enumeration> 2742 <xs:enumeration value="RedHat32"/> 2743 <xs:enumeration value="RedHat64"/> 2744 <xs:enumeration value="SuSE32"/> 2745 <xs:enumeration value="SuSE64"/> 2867 2746 <xs:enumeration value="Linux32"/> 2868 2747 <xs:enumeration value="Linux64"/> 2869 2748 <xs:enumeration value="OS/X32"/> 2870 2749 <xs:enumeration value="OS/X64"/> 2750 <xs:enumeration value="Generic"/> 2871 2751 <xs:enumeration value="GenericWin"> 2872 2752 <xs:annotation> 2873 <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch 2874 files.</xs:documentation>2753 <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch files. 2754 </xs:documentation> 2875 2755 </xs:annotation> 2876 2756 </xs:enumeration> 2877 2757 <xs:enumeration value="GenericNix"> 2878 2758 <xs:annotation> 2879 <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for 2880 any Linux and MacOS/X. </xs:documentation>2759 <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for any Linux and Mac 2760 OS/X. </xs:documentation> 2881 2761 </xs:annotation> 2882 2762 </xs:enumeration>
Note:
See TracChangeset
for help on using the changeset viewer.