summaryrefslogtreecommitdiff
path: root/BaseTools/Conf
diff options
context:
space:
mode:
authorLiming Gao <liming.gao@intel.com>2013-08-23 02:18:16 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2013-08-23 02:18:16 +0000
commit4afd3d042215afe68d00b9ab8c32f063a3a1c03f (patch)
treeb5190bd11547ac22fe35eeceee85ef42bfe6eea5 /BaseTools/Conf
parenta365eed476687881ce0ed49af7d483fd3cb0c491 (diff)
downloadedk2-platforms-4afd3d042215afe68d00b9ab8c32f063a3a1c03f.tar.xz
Sync BaseTool trunk (version r2599) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Heshen Chen <chen.heshen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14591 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Conf')
-rw-r--r--BaseTools/Conf/XMLSchema/DistributionPackage.xsd2736
-rw-r--r--BaseTools/Conf/build_rule.template4
-rw-r--r--BaseTools/Conf/target.template3
-rw-r--r--BaseTools/Conf/tools_def.template925
4 files changed, 2162 insertions, 1506 deletions
diff --git a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
index 8f136ae04e..5ae85f2bc3 100644
--- a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
+++ b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
@@ -2,7 +2,7 @@
<!--
Filename: DistributionPackage.xsd
-Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which may be found at
@@ -13,108 +13,96 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
- targetNamespace="http://www.uefi.org/2011/1.1" xmlns="http://www.uefi.org/2011/1.1">
+ targetNamespace="http://www.uefi.org/2012/1.0" xmlns="http://www.uefi.org/2012/1.0">
<xs:element name="DistributionPackage">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package
- description (PKG) file. It describes the content of:</xs:documentation>
- <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and
- headers.</xs:documentation>
- <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note
- that Binary format is for FFS leaf section file types only, complete FFS files
- cannot be distributed using this distribution format.) </xs:documentation>
- <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify
- the binary images to create UEFI/PI compliant images. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other
- miscellaneous content that is not specific to UEFI/PI images. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of
- packages, while the Module Surface Area provides information relevant to source
- and/or binary distributions. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This schema defines the UEFI/PI Distribution Package description (PKG)
+ file. It describes the content of:</xs:documentation>
+ <xs:documentation xml:lang="en-us"> 1) Package descriptions with definitions and headers.</xs:documentation>
+ <xs:documentation xml:lang="en-us"> 2) Modules in either source or binary format. (Note that Binary format
+ is for FFS leaf section file types only, complete FFS files cannot be distributed using this
+ distribution format.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 3) The distribution of custom tools used to modify the binary images to
+ create UEFI/PI compliant images. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 4) Finally, it can be used to distribute other miscellaneous content
+ that is not specific to UEFI/PI images. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The Package Surface Area describes the content of packages, while the
+ Module Surface Area provides information relevant to source and/or binary distributions.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="DistributionHeader" minOccurs="1" maxOccurs="1">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This header contains (legal) information
- usually required for distributing both binary and/or source code.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This header contains (legal) information usually required
+ for distributing both binary and/or source code. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PackageSurfaceArea" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The list of packages in this
- distribution. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Packages are groups of files and/or
- modules that are similar in nature.</xs:documentation>
- <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a
- package GUID and a package version. </xs:documentation>
- <xs:documentation xml:lang="en-us"> A package can declare public mappings of
- C names to GUID values. </xs:documentation>
- <xs:documentation xml:lang="en-us"> A package can provide header files for
- library classes and/or other industry standard definitions. </xs:documentation>
- <xs:documentation xml:lang="en-us"> A package can also declare public
- mappings of platform configuration database (PCD) &quot;knobs&quot; to
- control features and operation of modules within a platform. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Finally, a package lists the library
- instances and/or modules that are provided in a distribution package.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The list of packages in this distribution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Packages are groups of files and/or modules that are similar
+ in nature.</xs:documentation>
+ <xs:documentation xml:lang="en-us"> Packages are uniquely identified by a package GUID and a
+ package version. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A package can declare public mappings of C names to GUID
+ values. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A package can provide header files for library classes
+ and/or other industry standard definitions. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A package can also declare public mappings of platform
+ configuration database (PCD) &quot;knobs&quot; to control features and operation of modules
+ within a platform. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Finally, a package lists the library instances and/or
+ modules that are provided in a distribution package. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ModuleSurfaceArea" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules
- in this distribution that are NOT part of a Package. Every module that
- is provided as part of a package needs to be described in a
- PackageSurfaceArea.Modules section. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes
- how each module in a distribution is coded, or, in the case of a binary
- module distribution, how it was built. </xs:documentation>
- <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules
- are uniquely identified by the Module's GUID and version number. </xs:documentation>
- <xs:documentation xml:lang="en-us"> This section will typically be used for
- modules that don't require any additional files that would be included
- in a package. For example, the Enhanced FAT driver binary does not need
- to have a package description, as no additional files are provided.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The listing of UEFI/PI compliant modules in this
+ distribution that are NOT part of a Package. Every module that is provided as part of a
+ package needs to be described in a PackageSurfaceArea.Modules section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The ModuleSurfaceArea section describes how each module in a
+ distribution is coded, or, in the case of a binary module distribution, how it was built. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> UEFI/PI compliant libraries and modules are uniquely
+ identified by the Module's GUID and version number. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section will typically be used for modules that don't
+ require any additional files that would be included in a package. For example, the Enhanced
+ FAT driver binary does not need to have a package description, as no additional files are
+ provided. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is for distributing vendor
- specific executable tools, tool source code and/or configuration files.
- These tools are primarily for manipulating code and/or binary images. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Tools in this section
- can:</xs:documentation>
- <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create
- source code files and build scripts. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to
- UEFI/PI specifications. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain
- types of text/unicode files. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware
- Device images. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 5) Implement external
- encoding/decoding/signature/GUIDed tools. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 6) Distribution Package
- create/install/remove tools. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is for distributing vendor specific executable
+ tools, tool source code and/or configuration files. These tools are primarily for
+ manipulating code and/or binary images. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Tools in this section can:</xs:documentation>
+ <xs:documentation xml:lang="en-us"> 1) Parse build meta-data files to create source code files
+ and build scripts. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 2) Modify image files to conform to UEFI/PI specifications. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 3) Generate binary files from certain types of text/unicode
+ files. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 4) Generate PCI Option Roms or Firmware Device images. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 5) Implement external encoding/decoding/signature/GUIDed
+ tools. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 6) Distribution Package create/install/remove tools.
+ </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MiscellaneousFiles" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this
- distribution. Any files that are not listed in either the Package,
- Module or Tools sections can be listed here. This section can be used to
- distribute specifications for packages and modules that are not
- &quot;industry standards&quot; such as a specification for a chipset or
- a video device. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The list of miscellaneous files in this distribution. Any
+ files that are not listed in either the Package, Module or Tools sections can be listed
+ here. This section can be used to distribute specifications for packages and modules that
+ are not &quot;industry standards&quot; such as a specification for a chipset or a video
+ device. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="UserExtensions" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The UserExtensions section is used to
- disseminate processing instructions that may be custom to the content
- provided by the distribution. This section contains information that is
- common to all aspects of this disribution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The UserExtensions section is used to disseminate processing
+ instructions that may be custom to the content provided by the distribution. This section
+ contains information that is common to all aspects of this disribution. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@@ -125,31 +113,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element name="DistributionHeader">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI
- compliant Distribution Package Header. This is the only required element of a
- UEFI/PI compliant distribution package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section defines the content of the UEIF/PI compliant Distribution
+ Package Header. This is the only required element of a UEFI/PI compliant distribution package.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Name">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the User Interface Name for this
- Distribution Package. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely
- identified by it's GUID and Version number. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Distribution
+ Package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Each Distribution Package is uniquely identified by it's
+ GUID and Version number. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:normalizedString">
<xs:attribute name="BaseName" type="xs:NMTOKEN" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The reference name of
- the Distribution Package file. This single word name can
- be used by tools as a keyword or for directory and/or
- file creation. </xs:documentation>
- <xs:documentation xml:lang="en-us"> White space and special
- characters (dash and underscore characters may be used)
- are not permitted in this name. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The reference name of the Distribution
+ Package file. This single word name can be used by tools as a keyword or for
+ directory and/or file creation. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> White space and special characters (dash and
+ underscore characters may be used) are not permitted in this name.
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -158,22 +145,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version
- attribute uniquely identify this Distribution Package. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Backward compatible releases of a
- distribution package need only change the version number, while
- non-backward compatible changes require the GUID to change (resetting
- the version number to 1.0 is optional.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This 128-bit GUID and the Version attribute uniquely
+ identify this Distribution Package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Backward compatible releases of a distribution package need
+ only change the version number, while non-backward compatible changes require the GUID to
+ change (resetting the version number to 1.0 is optional.) </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="RegistryFormatGuid">
<xs:attribute name="Version" type="xs:decimal" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This value, along with
- the GUID, is used to uniquely identify this object. The
- higher the number, the more recent the content.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This value, along with the GUID, is used to
+ uniquely identify this object. The higher the number, the more recent the
+ content. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -182,97 +167,116 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Vendor" type="xs:normalizedString">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A string identifying who created this
- distribution package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A string identifying who created this distribution package.
+ </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The date and time this distribution was
- created. The format is: YYYY-MM-DDThh:mm:ss, for example:
- 2001-01-31T13:30:00 (note the T character separator between the calendar
- date and the time. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The date and time this distribution was created. The format
+ is: YYYY-MM-DDThh:mm:ss, for example: 2001-01-31T13:30:00 (note the T character separator
+ between the calendar date and the time. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="Copyright" type="xs:string">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Copyright">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The copyright for this file that is
- generated by the creator of the distribution. If a derivative work is
- generated from an existing distribution, then the existing copyright
- must be maintained, and additional copyrights may be appended to the end
- of this element. It may also be the primary copyright for all code
- provided in the Distribution Package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The copyright for this file that is generated by the creator
+ of the distribution. If a derivative work is generated from an existing distribution, then
+ the existing copyright must be maintained, and additional copyrights may be appended to the
+ end of this element. It may also be the primary copyright for all code provided in the
+ Distribution Package. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="License" type="xs:string">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="License">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A license that describes any
- restrictions on the use of this distribution. If a derivative work is
- allowed by the original license and a derivative work is generated from
- an existing distribution, then the existing license must be maintained,
- and additional licenses may be appended to the end of this element. It
- may also be the primary license for all code provided in the
- distribution file. Alternatively, this may point to a filename that
- contains the License. The file (included in the content zip file) will
- be stored in the same location as the distribution package's .pkg file.
+ <xs:documentation xml:lang="en-us"> A license that describes any restrictions on the use of this
+ distribution. If a derivative work is allowed by the original license and a derivative work
+ is generated from an existing distribution, then the existing license must be maintained,
+ and additional licenses may be appended to the end of this element. It may also be the
+ primary license for all code provided in the distribution file. Alternatively, this may
+ point to a filename that contains the License. The file (included in the content zip file)
+ will be stored in the same location as the distribution package's .pkg file.
</xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="Abstract" type="xs:normalizedString">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Abstract">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A one line description of the
- Distribution Package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A one line description of the Distribution Package.
+ </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:normalizedString">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A complete description of the
- Distribution Package. This description may include the release name of
- the file, the version of the file, and a complete description of the
- file contents and/or features including a description of the updates
- since the previous file release. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A complete description of the Distribution Package. This
+ description may include the release name of the file, the version of the file, and a
+ complete description of the file contents and/or features including a description of the
+ updates since the previous file release. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Signature" type="Md5Sum">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The packaging utilities will use this
- MD5 sum value of the included ZIP file containing files and/or code. If
- this element is not present, then installation tools should assume that
- the content is correct, or that other methods may be needed to verify
- content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The packaging utilities will use this MD5 sum value of the
+ included ZIP file containing files and/or code. If this element is not present, then
+ installation tools should assume that the content is correct, or that other methods may be
+ needed to verify content. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal"
- default="1.1">
+ <xs:element minOccurs="1" maxOccurs="1" name="XmlSpecification" type="xs:decimal" default="1.1">
<xs:annotation>
<xs:documentation xml:lang="en-us"> This version of this XML Schema is 1.1 </xs:documentation>
<xs:documentation xml:lang="en-us"> Changes to 1.1 from 1.0 </xs:documentation>
- <xs:documentation xml:lang="en-us"> #1 Updated to present date and new
- version which is important to reflect the present state of the
- matter</xs:documentation>
- <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of
- UNDEFIND type 2 is important since there is a large body of legacy code
- for which the GUID’s and other code/data objects were not decorated with
- their usage. This document will allow for importing today’s source
- artifacts and producing decorations using the ‘Undefined’ versus having
- an error</xs:documentation>
- <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future
- architecture types</xs:documentation>
+ <xs:documentation xml:lang="en-us"> #1 Updated to present date and new version which is
+ important to reflect the present state of the matter</xs:documentation>
+ <xs:documentation xml:lang="en-us"> #2 Added definition/enumeration of UNDEFIND type 2 is
+ important since there is a large body of legacy code for which the GUID’s and other
+ code/data objects were not decorated with their usage. This document will allow for
+ importing today’s source artifacts and producing decorations using the ‘Undefined’ versus
+ having an error</xs:documentation>
+ <xs:documentation xml:lang="en-us">#3 Allow for inclusion of ARM and future architecture
+ types</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ReadOnly" type="xs:boolean" default="false" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If set to true, all content within this
- Distribution Package should NOT be modified. The default permits
- modification of all content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If set to true, all content within this Distribution Package
+ should NOT be modified. The default permits modification of all content. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RePackage" type="xs:boolean" default="false" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If set to true, then the content can be
- repackaged into another distribution package. The default prohibits
- repackaging the Distribution content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If set to true, then the content can be repackaged into another
+ distribution package. The default prohibits repackaging the Distribution content.
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
@@ -281,12 +285,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element name="PackageSurfaceArea">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A package is a collection of related objects -
- Includes, Libraries and Modules. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and
- Version number. Backward compatible releases of a package need only change the
- version number, while non-backward compatible changes require the GUID to change
- (resetting the version number to 1.0 is optional.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A package is a collection of related objects - Includes, Libraries and
+ Modules. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Each package is uniquely identified by it's GUID and Version number.
+ Backward compatible releases of a package need only change the version number, while non-backward
+ compatible changes require the GUID to change (resetting the version number to 1.0 is optional.)
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -296,19 +300,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Name">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the User Interface
- Name for this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the User Interface Name for this
+ package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:normalizedString">
- <xs:attribute name="BaseName" type="xs:NMTOKEN"
- use="required">
+ <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a
- single word BaseName of the package. This BaseName
- can be used by tools as a keyword and for
- directory/file creation. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a single word BaseName
+ of the package. This BaseName can be used by tools as a keyword
+ and for directory/file creation. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -317,72 +319,93 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and the Version
- attribute uniquely identify a given package.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
+ identify a given package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="required">
+ <xs:attribute name="Version" type="xs:decimal" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Backward
- compatible changes must make sure this number is
- incremented from the most recent version.
- Non-backward compatible changes require a new
- GUID, and the version can be reset.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This value, along with the GUID,
+ is used to uniquely identify this object. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Backward compatible changes must
+ make sure this number is incremented from the most recent
+ version. Non-backward compatible changes require a new GUID, and
+ the version can be reset. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If the package requires a
- different copyright than the distribution package, this
- element can list one or more copyright lines.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If the package requires a different copyright
+ than the distribution package, this element can list one or more copyright
+ lines. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If the package requires
- licenses that are different from the distribution package
- license, this element can contain one or more license text
- paragraphs (or license filenames.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If the package requires licenses that are
+ different from the distribution package license, this element can contain one or
+ more license text paragraphs (or license filenames.) </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
- type="xs:normalizedString">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A one line description of
- this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A one line description of this package.
+ </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:normalizedString">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Description"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A complete description of a
- package. This description may include the release name of
- the package, the version of the package, and a complete
- description of the package contents and/or features
- including a description of the updates since the previous
- package’s release. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A complete description of a package. This
+ description may include the release name of the package, the version of the
+ package, and a complete description of the package contents and/or features
+ including a description of the updates since the previous package’s release.
+ </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="PackagePath"
- type="xs:anyURI">
+ <xs:element minOccurs="1" maxOccurs="1" name="PackagePath" type="xs:anyURI">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This element is the location
- (in the ZIP file) for the root directory of a package.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This element is the location (in the ZIP file)
+ for the root directory of a package. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@@ -392,29 +415,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate
- that this package as been copied and modified to a completely different
- package. An example might be for a new generation of chipsets that have
- few or no elements in common with the original. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The term cloned is used here to indicate that this package
+ as been copied and modified to a completely different package. An example might be for a new
+ generation of chipsets that have few or no elements in common with the original.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and the Version
- attribute uniquely identify the Package that this Package
- was copied from. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
+ identify the Package that this Package was copied from. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="required">
+ <xs:attribute name="Version" type="xs:decimal" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- the package that this package was cloned from.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This value, along with the GUID,
+ is used to uniquely identify the package that this package was
+ cloned from. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -428,11 +448,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDeclarations">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Library Classes are public interfaces
- that can be used by modules. One or more library instances can implement
- a library class, however only one library instance can be linked to an
- individual module. This provides the platform integrator with the
- flexibility of choosing one library instance's implementation over a
+ <xs:documentation xml:lang="en-us"> Library Classes are public interfaces that can be used by
+ modules. One or more library instances can implement a library class, however only one
+ library instance can be linked to an individual module. This provides the platform
+ integrator with the flexibility of choosing one library instance's implementation over a
different library instance. </xs:documentation>
</xs:annotation>
<xs:complexType>
@@ -440,59 +459,51 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
- type="xs:anyURI">
+ <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The header file
- provides definitions and function prototypes for a
- library class. Modules can be coded against these
- functions, using the definitions in this header,
- without concerning themselves about the libraries'
- implementation details. This is a PackagePath
- relative path and filename for the include file.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The header file provides definitions
+ and function prototypes for a library class. Modules can be coded
+ against these functions, using the definitions in this header,
+ without concerning themselves about the libraries' implementation
+ details. This is a PackagePath relative path and filename for the
+ include file. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1"
- name="RecommendedInstance">
+ <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="GUID">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and
- the Version attribute uniquely identify the
- Recommended Library Instance. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="optional">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. If this value is not specified, then
- any version of the library instance is
- recommended. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This GUID and the
+ Version attribute uniquely identify the Recommended Library
+ Instance. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="RegistryFormatGuid">
+ <xs:attribute name="Version" type="xs:decimal"
+ use="optional">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This value, along with
+ the GUID, is used to uniquely identify this object. If this
+ value is not specified, then any version of the library
+ instance is recommended. </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Keyword" type="xs:NCName" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The single word name
- of the Library Class that module developers will use
- to identify a library class dependency.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The single word name of the Library
+ Class that module developers will use to identify a library class
+ dependency. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="SupportedArchMod"/>
@@ -505,28 +516,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="IndustryStandardIncludes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used to list header
- files for industry standards not under the auspices of UEFI.org. For
- example, headers that contain definitions and data structures for the
- USB specifications. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used to list header files for industry
+ standards not under the auspices of UEFI.org. For example, headers that contain definitions
+ and data structures for the USB specifications. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded"
- name="IndustryStandardHeader">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="IndustryStandardHeader">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile"
- type="xs:anyURI">
+ <xs:element minOccurs="1" maxOccurs="1" name="HeaderFile" type="xs:anyURI">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The package
- relative path and filename (in the content zip
- file) of the industry standard include file.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The package relative path and
+ filename (in the content zip file) of the industry standard include
+ file. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -537,13 +543,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PackageIncludes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> All top level header files that are
- included by a package that are not listed above. They cannot
- be:</xs:documentation>
+ <xs:documentation xml:lang="en-us"> All top level header files that are included by a package
+ that are not listed above. They cannot be:</xs:documentation>
<xs:documentation xml:lang="en-us"> 1) Local to a module (module specific.) </xs:documentation>
<xs:documentation xml:lang="en-us"> 2) An industry standard header. </xs:documentation>
- <xs:documentation xml:lang="en-us"> 3) A library class header.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> 3) A library class header. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -552,20 +556,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="HeaderFile">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the
- Package relative path and filename location within
- the content ZIP file. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the Package relative path
+ and filename location within the content ZIP file.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="SupportedArchMod"/>
- </xs:extension>
+ <xs:extension base="xs:anyURI">
+ <xs:attributeGroup ref="SupportedArchMod"/>
+ </xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -579,9 +582,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:sequence>
<xs:element ref="ModuleSurfaceArea" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section lists the
- Module Surface Area for all modules provided with this
- package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section lists the Module Surface Area for
+ all modules provided with this package. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@@ -591,31 +593,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="GuidDeclarations">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID
- C names to GUID values as a Registry Format GUID. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must
- specify their dependency on this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section defines the mapping of GUID C names to GUID
+ values as a Registry Format GUID. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Modules that use these GUIDs must specify their dependency
+ on this package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Individual GUID Declarations
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Individual GUID Declarations </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
type="RegistryFormatGuid"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="UiName" type="xs:normalizedString"
- use="optional"/>
- <xs:attribute name="GuidTypes" type="GuidListType"
- use="optional"/>
+ <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
+ <xs:attribute name="GuidTypes" type="GuidListType" use="optional"/>
<xs:attributeGroup ref="SupportedArchMod"/>
</xs:complexType>
</xs:element>
@@ -626,29 +623,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="ProtocolDeclarations">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section defines the mapping of
- Protocol C names to GUID values as a Registry Format GUID. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Modules that use these Protocols must
- specify their dependency on this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section defines the mapping of Protocol C names to GUID
+ values as a Registry Format GUID. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Modules that use these Protocols must specify their
+ dependency on this package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Individual Protocol
- Declarations </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Individual Protocol Declarations
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
type="RegistryFormatGuid"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="UiName" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
<xs:attributeGroup ref="SupportedArchMod"/>
</xs:complexType>
</xs:element>
@@ -659,29 +653,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PpiDeclarations">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi
- C names to GUID values as a Registry Format GUID. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify
- their dependency on this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section defines the mapping of Ppi C names to GUID
+ values as a Registry Format GUID. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Modules that use these Ppis must specify their dependency on
+ this package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Individual PPI Declarations
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Individual PPI Declarations </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
<xs:element minOccurs="1" maxOccurs="1" name="GuidValue"
type="RegistryFormatGuid"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="UiName" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="UiName" type="xs:normalizedString" use="optional"/>
<xs:attributeGroup ref="SupportedArchMod"/>
</xs:complexType>
</xs:element>
@@ -692,63 +682,54 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PcdDeclarations">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used to declare platform
- configuration knobs that are defined by this package. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Modules that use these PCD values must
- specify their dependency on this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used to declare platform configuration knobs
+ that are defined by this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Modules that use these PCD values must specify their
+ dependency on this package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="TokenSpaceGuidCname" type="xs:NCName">
+ <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCname"
+ type="xs:NCName">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Specifies the C
- name of the Token Space GUID of which this PCD
- Entry is a member. This C name should also be
- listed in the GUIDs section, (specified above,)
- where the C name is assigned to a GUID value.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Specifies the C name of the Token
+ Space GUID of which this PCD Entry is a member. This C name should
+ also be listed in the GUIDs section, (specified above,) where the C
+ name is assigned to a GUID value. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Token">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Specifies the
- 32-bit token value for this PCD Entry. The Token
- number must be unique to the Token Space that
- declares the PCD. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The minLength of
- 3 is required to handle the "0x" prefix to the hex
- number. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Specifies the 32-bit token value for
+ this PCD Entry. The Token number must be unique to the Token Space
+ that declares the PCD. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is required to
+ handle the "0x" prefix to the hex number. </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- <xs:maxLength value="10"/>
+ <xs:minLength value="3"/>
+ <xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
- <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
- type="PcdDatumTypes">
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDatumTypes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A string that
- contains the data type of this PCD Entry. PCD data
- types are restricted to the following set:UINT8,
- UINT16, UINT32, UINT64, VOID*, BOOLEAN.
+ <xs:documentation xml:lang="en-us"> A string that contains the data type
+ of this PCD Entry. PCD data types are restricted to the following
+ set:UINT8, UINT16, UINT32, UINT64, VOID*, BOOLEAN.
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage"
- type="PcdItemListType">
+ <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdItemListType">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A string that
- contains one or more PCD Item types separated by
- spaces. The PCD Item types are restricted to
- FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
+ <xs:documentation xml:lang="en-us"> A string that contains one or more
+ PCD Item types separated by spaces. The PCD Item types are
+ restricted to FeaturePcd, FixedPcd, PatchPcd, Pcd and/or PcdEx.
</xs:documentation>
</xs:annotation>
</xs:element>
@@ -756,118 +737,118 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
type="xs:normalizedString"/>
<xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a
- recommended maximum data size for VOID* data
- types, the actual value should be defined by the
- Platform Integrator. It is not required for the
- other data types. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The minLength of
- 3 is required to handle the "0x" prefix to the hex
- number. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a recommended maximum data
+ size for VOID* data types, the actual value should be defined by the
+ Platform Integrator. It is not required for the other data types. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is required to
+ handle the "0x" prefix to the hex number. </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
+ <xs:minLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Prompt">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-US"> This entry contains prompt
+ information, that may used by tools to assist platform integrators
+ with choosing the correct values </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us"
+ use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="PcdError">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdError">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Valid Error
- messages that may be implemented in a module for
- the PCD Entry. Only One Error Number per PcdError,
- (multiple ErrorMessage entries are permitted) and
- multiple PcdError elements are permitted.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Valid Error messages that may be
+ implemented in a module for the PCD Entry. Only One Error Number per
+ PcdError, (multiple ErrorMessage entries are permitted) and multiple
+ PcdError elements are permitted. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:choice minOccurs="1" maxOccurs="1">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> One of the
- following types of comparisons, which must be able
- to evaluate to either true or false.
- </xs:documentation>
- </xs:annotation>
- <xs:element minOccurs="0" maxOccurs="1"
- name="ValidValueList">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The PCD Value
- must be space separated list of values. Values are
- restricted to the data type of this PCD.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:normalizedString">
- <xs:attribute name="Lang" type="xs:language"
- use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="1"
- name="ValidValueRange" type="xs:normalizedString">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The PCD must
- be within a specifed range of numeric values.
- Restricted to C style Relational, Equality and
- Logicial Operators and parenthesis are valid. Only
- the CName for this PCD is permitted in the
- ValidValueRange expression. All other values must
- be numeric.</xs:documentation>
- <xs:documentation xml:lang="en-us"> LValue (op
- RValue)+ </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="1"
- name="Expression" type="xs:normalizedString">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> A in-fix
- logical expression using C style logical
- operators. </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:element minOccurs="1" maxOccurs="1"
- name="ErrorNumber">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> A hexadecimal
- value for the error message as defined by
- specifications. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
-
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="1" maxOccurs="unbounded"
- name="ErrorMessage">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This string
- should be defined by specifications. There are
- pre-defined error number ranges in the UEFI/PI
- specificaiton. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
+ <xs:choice minOccurs="1" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> One of the following
+ types of comparisons, which must be able to evaluate to
+ either true or false. </xs:documentation>
+ </xs:annotation>
+ <xs:element minOccurs="0" maxOccurs="1" name="ValidValueList">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The PCD Value must be
+ space separated list of values. Values are restricted to the
+ data type of this PCD. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:normalizedString">
+ <xs:attribute name="Lang" type="xs:language" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" maxOccurs="1" name="ValidValueRange"
+ type="xs:normalizedString">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The PCD must be within a
+ specifed range of numeric values. Restricted to C style
+ Relational, Equality and Logicial Operators and parenthesis
+ are valid. Only the CName for this PCD is permitted in the
+ ValidValueRange expression. All other values must be
+ numeric.</xs:documentation>
+ <xs:documentation xml:lang="en-us"> LValue (op RValue)+
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" maxOccurs="1" name="Expression"
+ type="xs:normalizedString">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> A in-fix logical
+ expression using C style logical operators.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> A hexadecimal value for
+ the error message as defined by specifications. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number. </xs:documentation>
+
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="ErrorMessage">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This string should be
+ defined by specifications. There are pre-defined error
+ number ranges in the UEFI/PI specificaiton.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us"
+ use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -882,22 +863,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PcdRelationshipChecks">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used to describe any PCD
- interdependencies or relationships. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used to describe any PCD interdependencies
+ or relationships. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck"
- type="xs:normalizedString">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdCheck" type="xs:normalizedString">
<xs:annotation>
<xs:documentation xml:lang="en-us"> This entry must used
- TokenSpaceGuidCName.PcdCname for every named PCD. Restricted
- to Relational, Equality and Logical Operators (NOT, AND, OR,
- GT, GE, EQ, LE, LT and XOR) and parenthesis are valid. Only
- the TokenSpaceGuidCName.PcdCname us permitted to name PCDs
- in the expression. All other values must be numeric. </xs:documentation>
- <xs:documentation xml:lang="en-us"> LValue (op RValue)+
- </xs:documentation>
+ TokenSpaceGuidCName.PcdCname for every named PCD. Restricted to Relational,
+ Equality and Logical Operators (NOT, AND, OR, GT, GE, EQ, LE, LT and XOR) and
+ parenthesis are valid. Only the TokenSpaceGuidCName.PcdCname us permitted to
+ name PCDs in the expression. All other values must be numeric. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> LValue (op RValue)+ </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@@ -906,53 +884,49 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="MiscellaneousFiles">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section contains files that are not
- part of the code distributed with this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section contains files that are not part of the code
+ distributed with this package. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Only required if different
- from the Package Copyright. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Only required if different from the Package
+ Copyright. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Only required if different
- from the Package License. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Only required if different from the Package
+ License. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A one line description of
- this section's content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A one line description of this section's
+ content. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Description"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A complete description of
- the files in this section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A complete description of the files in this
+ section. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the PackagePath
- relative path and filename location within the ZIP file.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the PackagePath relative path and
+ filename location within the ZIP file. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
- <xs:attribute name="Executable" type="xs:boolean"
- default="false" use="optional">
+ <xs:attribute name="Executable" type="xs:boolean" default="false"
+ use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If true, used
- by installation tools to ensure that a file that
- must be executable has the correct properties to
- permit execution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If true, used by installation
+ tools to ensure that a file that must be executable has the
+ correct properties to permit execution. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -967,9 +941,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used for any processing
- instructions that may be custom to the content provided by this package
- that are common to this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that
+ may be custom to the content provided by this package that are common to this package.
+ </xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
@@ -977,22 +951,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:sequence>
<xs:attribute name="UserId" type="xs:NCName" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a single word identifier
- for grouping similar content that does not fit into previously
- defined sections or other sections of the Distribution.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping
+ similar content that does not fit into previously defined sections or other sections
+ of the Distribution. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Identifier" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This can be used to
- differentiate multiple sections with a grouping. </xs:documentation>
- <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
- Identifier might indicate specific steps and tools required
- before processing module content, while a different
- UserExtensions section with a POST_PROCESS Identifier might
- describe steps that need to be executed after operations on the
- modules in this package. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This can be used to differentiate multiple sections
+ with a grouping. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate
+ specific steps and tools required before processing module content, while a
+ different UserExtensions section with a POST_PROCESS Identifier might describe steps
+ that need to be executed after operations on the modules in this package.
+ </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute processContents="lax"/>
@@ -1007,10 +979,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element name="ModuleSurfaceArea">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and
- Version number. Backward compatible releases of a module need only change the
- version number, while non-backward compatible changes require the GUID to change
- (resetting the version number to 1.0 is optional.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Each module is uniquely identified by it's GUID and Version number.
+ Backward compatible releases of a module need only change the version number, while non-backward
+ compatible changes require the GUID to change (resetting the version number to 1.0 is optional.)
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -1020,21 +992,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Name">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the User Interface
- Name for this Module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the User Interface Name for this Module.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:normalizedString">
- <xs:attribute name="BaseName" type="xs:NMTOKEN"
- use="required">
+ <xs:attribute name="BaseName" type="xs:NMTOKEN" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a
- single word BaseName that will be used to create a
- module meta-data file. </xs:documentation>
- <xs:documentation xml:lang="en-us"> This name
- should also be used to create output file names
- and directories. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a single word BaseName
+ that will be used to create a module meta-data file. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This name should also be used to
+ create output file names and directories. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -1043,63 +1012,84 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and the Version
- attribute uniquely identify a given Module.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
+ identify a given Module. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="required">
+ <xs:attribute name="Version" type="xs:decimal" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Backward
- compatible changes must make sure this number is
- incremented from the most recent version.
- Non-backward compatible changes require a new
- GUID, and the version can be reset.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This value, along with the GUID,
+ is used to uniquely identify this object. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Backward compatible changes must
+ make sure this number is incremented from the most recent
+ version. Non-backward compatible changes require a new GUID, and
+ the version can be reset. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- Copyright is different from either the Package or
- Distribution copyright. Multiple copyright lines are
- permitted within this section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
+ different from either the Package or Distribution copyright. Multiple copyright
+ lines are permitted within this section. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="License">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- license is different from either the Package or Distribution
- license. Multiple licenses are permitted within this
- section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the license is
+ different from either the Package or Distribution license. Multiple licenses are
+ permitted within this section. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
- type="xs:normalizedString">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A brief text description of
- the module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A brief text description of the module.
+ </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:normalizedString">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Description"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A complete description of
- the module contents and/or features including a description
- of the updates since the previous module release.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A complete description of the module contents
+ and/or features including a description of the updates since the previous module
+ release. </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
@@ -1108,35 +1098,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="ModuleProperties">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> List general information about a module,
- including the Supported Architectures, this module's type,
- specifications the module is coded against, and other informational
- content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> List general information about a module, including the
+ Supported Architectures, this module's type, specifications the module is coded against, and
+ other informational content. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="ModuleType"
- type="ModuleTypes">
+ <xs:element minOccurs="1" maxOccurs="1" name="ModuleType" type="ModuleTypes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> One of the Enumerated module
- types that limit the use of a module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> One of the Enumerated module types that limit
+ the use of a module. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="Path" type="xs:anyURI">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> For stand-alone modules that
- are NOT part of any package, this is the path to the root of
- the module as listed in the ZIP file. For modules included
- in a package, this is the location, relative to the root of
- the package (PackagePath) this module belongs to.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For stand-alone modules that are NOT part of any
+ package, this is the path to the root of the module as listed in the ZIP file.
+ For modules included in a package, this is the location, relative to the root of
+ the package (PackagePath) this module belongs to. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This element is only
- required for the PEIM that produces the PCD PPI or the DXE
- Driver that produces the PCD Protocol. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This element is only required for the PEIM that
+ produces the PCD PPI or the DXE Driver that produces the PCD Protocol.
+ </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NCName">
@@ -1146,25 +1132,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:simpleType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion"
- type="xs:decimal"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="UefiSpecificationVersion" type="xs:decimal"/>
- <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion"
- type="xs:decimal"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="PiSpecificationVersion" type="xs:decimal"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Specification">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a list of other
- specifications that this module is written against. These
- entries can be used in #define statements (depending on the
- build system implementation, they may be autogenerated.)
+ <xs:documentation xml:lang="en-us"> This is a list of other specifications that this
+ module is written against. These entries can be used in #define statements
+ (depending on the build system implementation, they may be autogenerated.)
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:NCName">
- <xs:attribute name="Version" type="xs:decimal"
- use="required"/>
+ <xs:attribute name="Version" type="xs:decimal" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -1172,156 +1154,139 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="BootMode">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Different firmware execution
- paths may be taken based on a given state of the hardware,
- firmware, or through feature settings. A BootMode may be
- declared (PRODUCES) or discovered (CONSUMES) based on these
- states and feature settings. If the usage is UNDEFINE, it
- implies that a Boot Mode is used, but the package creator
- does not know how it is used. The supported boot modes map
- to the PI specification Boot Modes. The boot modes listed
- with Recovery are to indicate that the BootMode is valid
- during a recovery boot. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Different firmware execution paths may be taken
+ based on a given state of the hardware, firmware, or through feature settings. A
+ BootMode may be declared (PRODUCES) or discovered (CONSUMES) based on these
+ states and feature settings. If the usage is UNDEFINE, it implies that a Boot
+ Mode is used, but the package creator does not know how it is used. The
+ supported boot modes map to the PI specification Boot Modes. The boot modes
+ listed with Recovery are to indicate that the BootMode is valid during a
+ recovery boot. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0">
- <xs:element minOccurs="1" maxOccurs="1"
- name="SupportedBootModes">
+ <xs:element minOccurs="1" maxOccurs="1" name="SupportedBootModes">
<xs:simpleType>
<xs:list>
- <xs:simpleType>
- <xs:restriction base="xs:NCName">
- <xs:enumeration value="FULL"/>
- <xs:enumeration value="MINIMAL"/>
- <xs:enumeration value="NO_CHANGE"/>
- <xs:enumeration value="DIAGNOSTICS"/>
- <xs:enumeration value="DEFAULT"/>
- <xs:enumeration value="S2_RESUME"/>
- <xs:enumeration value="S3_RESUME"/>
- <xs:enumeration value="S4_RESUME"/>
- <xs:enumeration value="S5_RESUME"/>
- <xs:enumeration value="FLASH_UPDATE"/>
- <xs:enumeration value="RECOVERY_FULL"/>
- <xs:enumeration value="RECOVERY_MINIMAL"/>
- <xs:enumeration value="RECOVERY_NO_CHANGE"/>
- <xs:enumeration value="RECOVERY_DIAGNOSTICS"/>
- <xs:enumeration value="RECOVERY_DEFAULT"/>
- <xs:enumeration value="RECOVERY_S2_RESUME"/>
- <xs:enumeration value="RECOVERY_S3_RESUME"/>
- <xs:enumeration value="RECOVERY_S4_RESUME"/>
- <xs:enumeration value="RECOVERY_S5_RESUME"/>
- <xs:enumeration value="RECOVERY_FLASH_UPDATE"/>
- <xs:enumeration value="UNDEFINED"/>
- </xs:restriction>
- </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="FULL"/>
+ <xs:enumeration value="MINIMAL"/>
+ <xs:enumeration value="NO_CHANGE"/>
+ <xs:enumeration value="DIAGNOSTICS"/>
+ <xs:enumeration value="DEFAULT"/>
+ <xs:enumeration value="S2_RESUME"/>
+ <xs:enumeration value="S3_RESUME"/>
+ <xs:enumeration value="S4_RESUME"/>
+ <xs:enumeration value="S5_RESUME"/>
+ <xs:enumeration value="FLASH_UPDATE"/>
+ <xs:enumeration value="RECOVERY_FULL"/>
+ <xs:enumeration value="RECOVERY_MINIMAL"/>
+ <xs:enumeration value="RECOVERY_NO_CHANGE"/>
+ <xs:enumeration value="RECOVERY_DIAGNOSTICS"/>
+ <xs:enumeration value="RECOVERY_DEFAULT"/>
+ <xs:enumeration value="RECOVERY_S2_RESUME"/>
+ <xs:enumeration value="RECOVERY_S3_RESUME"/>
+ <xs:enumeration value="RECOVERY_S4_RESUME"/>
+ <xs:enumeration value="RECOVERY_S5_RESUME"/>
+ <xs:enumeration value="RECOVERY_FLASH_UPDATE"/>
+ <xs:enumeration value="UNDEFINED"/>
+ </xs:restriction>
+ </xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- always supports the given boot modes.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module always supports
+ the given boot modes. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module may
- support a given mode on some execution paths.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module may support a
+ given mode on some execution paths. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will change the boot mode. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will change the
+ boot mode. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIME_PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will change the boot mode on some exection paths.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will change the
+ boot mode on some exection paths. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNDEFINED">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The package
- creator does not know how the boot mode is used.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The package creator does not
+ know how the boot mode is used. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Event"
- nillable="true">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The functions that make up
- the Event, Timer, and Task Priority Services are used during
- preboot to create, close, signal, and wait for events; to
- set timers; and to raise and restore task priority levels as
- defined in the UEFI specification. GUIDed events should be
- listed in the Guids section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The functions that make up the Event, Timer, and
+ Task Priority Services are used during preboot to create, close, signal, and
+ wait for events; to set timers; and to raise and restore task priority levels as
+ defined in the UEFI specification. GUIDed events should be listed in the Guids
+ section. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will register a notification function and calls
- the function when it is signaled.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will register a
+ notification function and calls the function when it is
+ signaled. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will register a notification function and calls
- the function when it is signaled on some execution
- paths. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will register a
+ notification function and calls the function when it is
+ signaled on some execution paths. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will signal all events in an event group.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will signal all
+ events in an event group. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- will signal all events in an event group under
- some execution paths. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module will signal all
+ events in an event group under some execution paths.
+ </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNDEFINED">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The package
- creator does not know how an event is used.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The package creator does not
+ know how an event is used. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
@@ -1337,24 +1302,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:attribute>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB"
- nillable="false">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="HOB" nillable="false">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed
- Hand Off Blocks (HOBs) produced or consumed by this module.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a list of non-GUIDed Hand Off Blocks
+ (HOBs) produced or consumed by this module. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="HobType" use="required">
<xs:simpleType>
@@ -1372,44 +1332,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> A HOB must be
- present in the system. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> A HOB must be present in the
+ system. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> If present,
- the HOB will be used. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> If present, the HOB will be
+ used. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The HOB is
- always produced by the module. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The HOB is always produced
+ by the module. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The HOB may be
- produced by the module under some execution paths.
- </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The HOB may be produced by
+ the module under some execution paths. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNDEFINED">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The package
- creator knows that a HOB is used, but does not
- know how it is used. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The package creator knows
+ that a HOB is used, but does not know how it is used.
+ </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
@@ -1421,26 +1378,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section may be included for Modules
- that are copied from a different module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section may be included for Modules that are copied
+ from a different module. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and the Version
- attribute uniquely identify the Module that this Module was
- copied from. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This GUID and the Version attribute uniquely
+ identify the Module that this Module was copied from. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="required">
+ <xs:attribute name="Version" type="xs:decimal" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This value, along with the GUID,
+ is used to uniquely identify this object. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -1454,68 +1408,59 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="LibraryClassDefinitions">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A list of the different Library Classes
- consumed by a driver, core and/or application module, or produced by a
- Library module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A list of the different Library Classes consumed by a
+ driver, core and/or application module, or produced by a Library module. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="Keyword"
- type="xs:NCName">
+ <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="xs:NCName">
<xs:annotation>
- <xs:documentation xml:lang="en-us "> Used by tools
- to identify different instances of libraries that
- provide the library class. This keyword identifies
- the library class this module needs to be linked
- against. </xs:documentation>
+ <xs:documentation xml:lang="en-us "> Used by tools to identify different
+ instances of libraries that provide the library class. This keyword
+ identifies the library class this module needs to be linked against.
+ </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1"
- name="RecommendedInstance">
+ <xs:element minOccurs="0" maxOccurs="1" name="RecommendedInstance">
<xs:complexType>
<xs:all>
- <xs:element minOccurs="1" maxOccurs="1"
- name="GUID">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and
- the Version attribute uniquely identify the
- recommended Library Instance for this module .
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="optional">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="GUID">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This GUID and the
+ Version attribute uniquely identify the recommended Library
+ Instance for this module . </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="RegistryFormatGuid">
+ <xs:attribute name="Version" type="xs:decimal"
+ use="optional">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This value, along with
+ the GUID, is used to uniquely identify this object.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
</xs:all>
</xs:complexType>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Library
- instances can provide code for a library class, or
- may require other library instances themselves.
- Since different execution paths in a library (or
- module) may need different library classes based
- on some setting, library classes may not alway be
- required. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Library instances can provide code
+ for a library class, or may require other library instances
+ themselves. Since different execution paths in a library (or module)
+ may need different library classes based on some setting, library
+ classes may not alway be required. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NCName">
<xs:enumeration value="PRODUCES"/>
@@ -1527,13 +1472,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:attribute>
<xs:attributeGroup ref="SupportedArchMod"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional">
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A FeatureFlag
- attribute must evaluate to either true or false - it
- may be a fixed value of true or false, a C name or
- an in-fix expression. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A FeatureFlag attribute must evaluate to
+ either true or false - it may be a fixed value of true or false, a C
+ name or an in-fix expression. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
@@ -1549,29 +1492,24 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
<xs:annotation>
<xs:documentation xml:lang="en-us"> This is the module relative
- (ModuleProperties.Path) path and filename location within
- the ZIP file. </xs:documentation>
+ (ModuleProperties.Path) path and filename location within the ZIP file.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
- <xs:attribute name="Family" type="FamilyTypes"
- use="optional">
+ <xs:attribute name="Family" type="FamilyTypes" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The Family
- attribute is used to restrict usage to a given
- family of compilers, such as GCC or MSFT. Since
- not all code processing tools use the same syntax,
- especially for assembly, this field can be used to
- identify different syntax. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The Family attribute is used to
+ restrict usage to a given family of compilers, such as GCC or
+ MSFT. Since not all code processing tools use the same syntax,
+ especially for assembly, this field can be used to identify
+ different syntax. </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag"
- type="xs:normalizedString" use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -1588,316 +1526,293 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="1" maxOccurs="unbounded" name="BinaryFile">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded"
- name="Filename">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the
- module relative (ModuleProperties.Path) path and
- filename location within the ZIP file.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the module relative
+ (ModuleProperties.Path) path and filename location within the ZIP
+ file. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attribute name="FileType" use="optional">
- <xs:simpleType>
- <xs:restriction base="xs:NCName">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> Binary file
- distribution is limited to UEFI/PI FFS leaf
- section file types. </xs:documentation>
- </xs:annotation>
- <xs:enumeration value="GUID"/>
- <xs:enumeration value="FREEFORM"/>
- <xs:enumeration value="UEFI_IMAGE"/>
- <xs:enumeration value="PE32">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> A UEFI/PI FFS
- Leaf section file type, not a raw PE32 file.
- </xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="PIC"/>
- <xs:enumeration value="PEI_DEPEX"/>
- <xs:enumeration value="DXE_DEPEX"/>
- <xs:enumeration value="SMM_DEPEX"/>
- <xs:enumeration value="COMPAT16"/>
- <xs:enumeration value="DISPOSABLE"/>
- <xs:enumeration value="TE"/>
- <xs:enumeration value="VER"/>
- <xs:enumeration value="UI"/>
- <xs:enumeration value="BIN"/>
- <xs:enumeration value="FV"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="SupArchList"
- type="ArchListType" use="optional"/>
- <xs:attribute name="SupModList"
- type="ModuleListType" use="optional"/>
- <xs:attribute name="FeatureFlag"
- type="xs:normalizedString" use="optional"/>
- </xs:extension>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="FileType" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> Binary file distribution
+ is limited to UEFI/PI FFS leaf section file types.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:enumeration value="GUID"/>
+ <xs:enumeration value="FREEFORM"/>
+ <xs:enumeration value="UEFI_IMAGE"/>
+ <xs:enumeration value="PE32">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> A UEFI/PI FFS Leaf
+ section file type, not a raw PE32 file. </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="PIC"/>
+ <xs:enumeration value="PEI_DEPEX"/>
+ <xs:enumeration value="DXE_DEPEX"/>
+ <xs:enumeration value="SMM_DEPEX"/>
+ <xs:enumeration value="COMPAT16"/>
+ <xs:enumeration value="DISPOSABLE"/>
+ <xs:enumeration value="TE"/>
+ <xs:enumeration value="VER"/>
+ <xs:enumeration value="UI"/>
+ <xs:enumeration value="BIN"/>
+ <xs:enumeration value="FV"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="GUID" use="optional"
+ type="RegistryFormatGuid"/>
+ <xs:attribute name="SupArchList" type="ArchListType"
+ use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType"
+ use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString"
+ use="optional"/>
+ </xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="AsBuilt">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="AsBuilt">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section
- contains information about how the module was
- coded, such as Compiler Tools, Flags, PCDs (only
- PatchPcd and/or PcdEx) and Library Class Instances
- used to build the binary. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section contains information
+ about how the module was coded, such as Compiler Tools, Flags, PCDs
+ (only PatchPcd and/or PcdEx) and Library Class Instances used to
+ build the binary. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="PatchPcdValue">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The element is
- the Patchable PCD Value that was used during the
- build. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="TokenSpaceGuidValue"
- type="RegistryFormatGuid"/>
- <xs:element minOccurs="1" maxOccurs="1"
- name="PcdCName" type="xs:NCName"/>
- <xs:element minOccurs="1" maxOccurs="1"
- name="Token">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- <xs:maxLength value="10"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="1" maxOccurs="1"
- name="DatumType" type="PcdDatumTypes"/>
- <xs:element minOccurs="0" maxOccurs="1"
- name="MaxDatumSize">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This field is
- required if the Pcd Datum Type is VOID* </xs:documentation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="1" maxOccurs="1"
- name="Value" type="xs:normalizedString"/>
- <xs:element minOccurs="1" maxOccurs="1"
- name="Offset">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="PcdError">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> Error
- information implemented by the module.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="ErrorNumber">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="ErrorMessage">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="PcdExValue">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The element is
- the DynamicEx PCD Value that was used during the
- build. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="TokenSpaceGuidValue"
- type="RegistryFormatGuid"/>
- <xs:element minOccurs="1" maxOccurs="1"
- name="Token">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- <xs:maxLength value="10"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="1" maxOccurs="1"
- name="DatumType" type="PcdDatumTypes"/>
- <xs:element minOccurs="0" maxOccurs="1"
- name="MaxDatumSize">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This field is
- required if the Pcd Datum Type is VOID*
- </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="1" maxOccurs="1"
- name="Value" type="xs:normalizedString"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="PcdError">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> Error
- information implemented by the module.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1"
- name="ErrorNumber">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The minLength
- of 3 is required to handle the "0x" prefix to the
- hex number. </xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="HexNumber">
- <xs:minLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="ErrorMessage">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element minOccurs="0" maxOccurs="1"
- name="LibraryInstances">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the
- actual library instance that was used to link
- against the module. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded"
- name="GUID">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and
- the Version attribute uniquely identify the actual
- Library Instance linked in this module.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="required">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="BuildFlags">
- <xs:complexType mixed="true">
- <xs:simpleContent>
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> Any
- description of OS, Tool, and flags for the
- individual tool can go in this section.
- </xs:documentation>
- </xs:annotation>
- <xs:extension base="xs:string">
- <xs:anyAttribute processContents="lax"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="PatchPcdValue">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The element is the
+ Patchable PCD Value that was used during the build.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1"
+ name="TokenSpaceGuidValue" type="RegistryFormatGuid"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="PcdCName"
+ type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="Token">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ <xs:maxLength value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
+ type="PcdDatumTypes"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This field is required
+ if the Pcd Datum Type is VOID* </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="Value"
+ type="xs:normalizedString"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="Offset">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element ref="HelpText" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded"
+ name="PcdError">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> Error information
+ implemented by the module. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="0" maxOccurs="unbounded"
+ name="ErrorMessage">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us"
+ use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="PcdExValue">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The element is the
+ DynamicEx PCD Value that was used during the build.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1"
+ name="TokenSpaceGuidValue" type="RegistryFormatGuid"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="Token">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ <xs:maxLength value="10"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="DatumType"
+ type="PcdDatumTypes"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This field is required
+ if the Pcd Datum Type is VOID* </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="Value"
+ type="xs:normalizedString"/>
+ <xs:element ref="HelpText" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded"
+ name="PcdError">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> Error information
+ implemented by the module. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="ErrorNumber">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The minLength of 3 is
+ required to handle the "0x" prefix to the hex number.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="HexNumber">
+ <xs:minLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="0" maxOccurs="unbounded"
+ name="ErrorMessage">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us"
+ use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element minOccurs="0" maxOccurs="1" name="LibraryInstances">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This is the actual
+ library instance that was used to link against the module.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="GUID">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This GUID and the
+ Version attribute uniquely identify the actual Library
+ Instance linked in this module. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="RegistryFormatGuid">
+ <xs:attribute name="Version" type="xs:decimal"
+ use="required">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This value, along with
+ the GUID, is used to uniquely identify this object.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildFlags">
+ <xs:complexType mixed="true">
+ <xs:simpleContent>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> Any description of OS,
+ Tool, and flags for the individual tool can go in this
+ section. </xs:documentation>
+ </xs:annotation>
+ <xs:extension base="xs:string">
+ <xs:anyAttribute processContents="lax"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- End of AsBuilt -->
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -1913,47 +1828,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="1" maxOccurs="unbounded" name="Package">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- name="Description">
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:complexType>
<xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
- </xs:extension>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Lang" type="xs:language" default="en-us"
+ use="optional"/>
+ </xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="GUID">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This GUID and
- the Version attribute uniquely identify Package
- that this Module depends on. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This GUID and the Version attribute
+ uniquely identify Package that this Module depends on.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
- <xs:extension base="RegistryFormatGuid">
- <xs:attribute name="Version" type="xs:decimal"
- use="optional">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> This value,
- along with the GUID, is used to uniquely identify
- this object. If the version attribute is not
- specified, the most recent version of the package
- can be used. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
+ <xs:extension base="RegistryFormatGuid">
+ <xs:attribute name="Version" type="xs:decimal" use="optional">
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> This value, along with
+ the GUID, is used to uniquely identify this object. If the
+ version attribute is not specified, the most recent version
+ of the package can be used. </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -1967,68 +1876,60 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCName">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
<xs:element minOccurs="0" maxOccurs="1" name="VariableName"
type="xs:normalizedString">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Only valid for
- Variable GUID types. </xs:documentation>
- <xs:documentation> This can be either a Hex Array or
- C string in unicode format: L"string" Data.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Only valid for Variable GUID types. </xs:documentation>
+ <xs:documentation> This can be either a Hex Array or C string in unicode
+ format: L"string" Data. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us">The module does
- not install the GUID, and the GUID must be present
- for the module to execute. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us">The module does not install
+ the GUID, and the GUID must be present for the module to
+ execute. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_CONSUMES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- does not install the GUID, however, the GUID will
- be used if it is present. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module does not install
+ the GUID, however, the GUID will be used if it is present.
+ </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The module
- always installs the GUID. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The module always installs
+ the GUID. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="SOMETIMES_PRODUCES">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The Module
- will install the GUID under certain execution
- paths. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The Module will install the
+ GUID under certain execution paths. </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNDEFINED">
- <xs:annotation>
- <xs:documentation xml:lang="en-us"> The package
- creator knows that a GUID is used, but does not
- know how it is used. </xs:documentation>
- </xs:annotation>
+ <xs:annotation>
+ <xs:documentation xml:lang="en-us"> The package creator knows
+ that a GUID is used, but does not know how it is used.
+ </xs:documentation>
+ </xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="GuidType" type="GuidListType" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -2038,19 +1939,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="Protocols">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A listing of protocols required or
- produced by this module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A listing of protocols required or produced by this module.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol"
- nillable="true">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Protocol" nillable="true">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
@@ -2066,12 +1964,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Notify" type="xs:boolean" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -2081,19 +1976,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PPIs">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced
- by this module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A listing of PPIs required or produced by this module.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi"
- nillable="true">
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Ppi" nillable="true">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
- type="xs:NCName"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Usage" use="required">
<xs:simpleType>
@@ -2107,12 +1999,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Notify" type="xs:boolean" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -2122,9 +2011,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="Externs">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> These elements specify additional
- information about the module. This area may be used by tools to generate
- code. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> These elements specify additional information about the
+ module. This area may be used by tools to generate code. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -2133,26 +2021,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:sequence>
<xs:choice minOccurs="1">
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1"
- name="EntryPoint" type="xs:NCName"/>
- <xs:element minOccurs="0" maxOccurs="1"
- name="UnloadImage" type="xs:NCName"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="EntryPoint"
+ type="xs:NCName"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="UnloadImage"
+ type="xs:NCName"/>
</xs:sequence>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1"
- name="Constructor" type="xs:NCName"/>
- <xs:element minOccurs="0" maxOccurs="1"
- name="Destructor" type="xs:NCName"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="Constructor"
+ type="xs:NCName"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="Destructor"
+ type="xs:NCName"/>
</xs:sequence>
</xs:choice>
<xs:element ref="HelpText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -2162,26 +2047,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="PcdCoded">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section describes how a platform is
- coded with respect to the platform configuration knobs.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section describes how a platform is coded with respect
+ to the platform configuration knobs. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="CName"
+ <xs:element minOccurs="1" maxOccurs="1" name="CName" type="xs:NCName"/>
+ <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName"
type="xs:NCName"/>
- <xs:element minOccurs="1" maxOccurs="1"
- name="TokenSpaceGuidCName" type="xs:NCName"/>
<xs:element minOccurs="0" maxOccurs="1" name="DefaultValue"
type="xs:normalizedString"/>
- <xs:element ref="HelpText" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="HelpText" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="PcdItemType" type="PcdItemTypes"
- use="required"/>
+ <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>
<xs:attribute name="PcdUsage" use="required">
<xs:simpleType>
<xs:restriction base="xs:NCName">
@@ -2195,12 +2076,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:attribute>
- <xs:attribute name="SupArchList" type="ArchListType"
- use="optional"/>
- <xs:attribute name="SupModList" type="ModuleListType"
- use="optional"/>
- <xs:attribute name="FeatureFlag" type="xs:normalizedString"
- use="optional"/>
+ <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
+ <xs:attribute name="SupModList" type="ModuleListType" use="optional"/>
+ <xs:attribute name="FeatureFlag" type="xs:normalizedString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -2210,18 +2088,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="PeiDepex">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the PEI dependency expression
- for a Dependency Section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the PEI dependency expression for a Dependency
+ Section. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="Expression" type="xs:string" minOccurs="1"
- maxOccurs="1">
+ <xs:element name="Expression" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> An in-fix expression, of C
- identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
- as well as parenthesis () in the in-fix notation. The
- operators are restricted to grammar defined in the PI
+ <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+ FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+ notation. The operators are restricted to grammar defined in the PI
specification. </xs:documentation>
</xs:annotation>
</xs:element>
@@ -2236,18 +2112,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="DxeDepex">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the DXE dependency expression
- for a Dependency Section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the DXE dependency expression for a Dependency
+ Section. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="Expression" type=" xs:string " minOccurs="1"
- maxOccurs="1">
+ <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> An in-fix expression, of C
- identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
- as well as parenthesis () in the in-fix notation. The
- operators are restricted to grammar defined in the PI
+ <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+ FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+ notation. The operators are restricted to grammar defined in the PI
specification. </xs:documentation>
</xs:annotation>
</xs:element>
@@ -2262,18 +2136,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="SmmDepex">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the SMM dependency expression
- for a Dependency Section. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the SMM dependency expression for a Dependency
+ Section. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="Expression" type=" xs:string " minOccurs="1"
- maxOccurs="1">
+ <xs:element name="Expression" type=" xs:string " minOccurs="1" maxOccurs="1">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> An in-fix expression, of C
- identifiers and TRUE, FALSE, AND, OR, NOT, BEFORE, and AFTER
- as well as parenthesis () in the in-fix notation. The
- operators are restricted to grammar defined in the PI
+ <xs:documentation xml:lang="en-us"> An in-fix expression, of C identifiers and TRUE,
+ FALSE, AND, OR, NOT, BEFORE, and AFTER as well as parenthesis () in the in-fix
+ notation. The operators are restricted to grammar defined in the PI
specification. </xs:documentation>
</xs:annotation>
</xs:element>
@@ -2289,9 +2161,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="MiscellaneousFiles">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used to provide comments
- and/or list auxiliary files, such as pdb or map files.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used to provide comments and/or list
+ auxiliary files, such as pdb or map files. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -2299,27 +2170,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the path and
- filename location within the ZIP file. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the path and filename location within
+ the ZIP file. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
- <xs:attribute name="Executable" type="xs:boolean"
- default="false" use="optional">
+ <xs:attribute name="Executable" type="xs:boolean" default="false"
+ use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If true, used
- by installation tools to ensure that a file that
- must be executable has the correct properties to
- permit execution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If true, used by installation
+ tools to ensure that a file that must be executable has the
+ correct properties to permit execution. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -2333,35 +2203,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="unbounded" name="UserExtensions">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section is used for any processing
- instructions that may be custom to the content provided by the
- distribution that are common to module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section is used for any processing instructions that
+ may be custom to the content provided by the distribution that are common to module. </xs:documentation>
<xs:documentation xml:lang="en-us"> The content is vendor specific. </xs:documentation>
- <xs:documentation xml:lang="en-us"> The content can be plain text as well as
- any user-defined, properly formatted XML structure. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The content can be plain text as well as any user-defined,
+ properly formatted XML structure. </xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="UserId" type="xs:NCName" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a single word identifier
- for grouping similar content. For example, ReferenceBuild might
- be used to identify non-PI compliant build steps, with two
- different UserExtensions sections, one with an Identifier of
- Prebuild, and another of PostBuild. Both UserExtensions sections
- would use the same UserId. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping
+ similar content. For example, ReferenceBuild might be used to identify non-PI
+ compliant build steps, with two different UserExtensions sections, one with an
+ Identifier of Prebuild, and another of PostBuild. Both UserExtensions sections would
+ use the same UserId. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Identifier" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This can be any string used to
- differentiate or identify this section from other UserExtensions
- sections. </xs:documentation>
- <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS
- Identifier might indicate specific steps and tools required
- before processing module content, while a different
- UserExtensions section with a POST_PROCESS Identifier might
- describe steps that need to be executed after operations on this
- module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or
+ identify this section from other UserExtensions sections. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate
+ specific steps and tools required before processing module content, while a
+ different UserExtensions section with a POST_PROCESS Identifier might describe steps
+ that need to be executed after operations on this module. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute processContents="lax"/>
@@ -2372,11 +2237,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:sequence>
<xs:attribute name="BinaryModule" type="xs:boolean" default="false" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are
- distributed for this module and no code generation from source files is
- required. If set, then the BinaryFiles section should be used, and any files
- listed in the SourceFiles section do not have to be built. Additionally, the
- AsBuilt section for each binary file must be included. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This attribute is used when the binaries are distributed for
+ this module and no code generation from source files is required. If set, then the BinaryFiles
+ section should be used, and any files listed in the SourceFiles section do not have to be built.
+ Additionally, the AsBuilt section for each binary file must be included. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
@@ -2390,42 +2254,34 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element minOccurs="0" maxOccurs="1" name="Header">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="Name"
- type="xs:normalizedString">
+ <xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:normalizedString">
<xs:annotation>
- <xs:documentation xml:lang="en-us">This is the User Interface
- Name for this Tools Distribution.</xs:documentation>
+ <xs:documentation xml:lang="en-us">This is the User Interface Name for this Tools
+ Distribution.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- Copyright is different from the Distribution Package
- copyright. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
+ different from the Distribution Package copyright. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- License is different from the Distribution Package license.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the License is
+ different from the Distribution Package license. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
- type="xs:normalizedString">
+ <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- Abstract is different from the Distribution Package
- Abstract. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the Abstract is
+ different from the Distribution Package Abstract. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Description"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- Description is different from the Distribution Package
- Description. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the Description is
+ different from the Distribution Package Description. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@@ -2433,26 +2289,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the path and filename location
- within the ZIP file. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="OS" type="SupportedOs" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is required for
- tools that execute; it should not be used for
- configuration files. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is required for tools that execute; it
+ should not be used for configuration files. </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="Executable" type="xs:boolean" default="false"
- use="optional">
+ <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If true, used by
- installation tools to ensure that a file that must be
- executable has the correct properties to permit
- execution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If true, used by installation tools to
+ ensure that a file that must be executable has the correct properties to
+ permit execution. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -2466,44 +2319,39 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:element name="MiscellaneousFiles">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This section contains a list of files that are not
- part of the code distributed with modules, packages or tools. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This section contains a list of files that are not part of the code
+ distributed with modules, packages or tools. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Header">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="Name"
- type="xs:normalizedString">
+ <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:normalizedString">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The User interface name for
- this content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The User interface name for this content.
+ </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Copyright"
- type="xs:string">
+ <xs:element minOccurs="0" maxOccurs="1" name="Copyright" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- Copyright is different from the Distribution Package
- Copyright. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the Copyright is
+ different from the Distribution Package Copyright. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="License" type="xs:string">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is only required if the
- License is different from the Distribution Package License.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is only required if the License is
+ different from the Distribution Package License. </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="Abstract"
- type="xs:normalizedString"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="Abstract" type="xs:normalizedString"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="Lang" type="xs:language"
- default="en-us" use="optional"/>
+ <xs:attribute name="Lang" type="xs:language" default="en-us" use="optional"
+ />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -2513,19 +2361,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Filename">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is the path and filename location
- within the ZIP file. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is the path and filename location within the ZIP file.
+ </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
- <xs:attribute name="Executable" type="xs:boolean" default="false"
- use="optional">
+ <xs:attribute name="Executable" type="xs:boolean" default="false" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> If true, used by
- installation tools to ensure that a file that must be
- executable has the correct properties to permit
- execution. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> If true, used by installation tools to
+ ensure that a file that must be executable has the correct properties to
+ permit execution. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -2544,22 +2390,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:sequence>
<xs:attribute name="UserId" type="xs:NCName" use="required">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This is a single word identifier for
- grouping similar content. For example, ReferenceBuild might be used to
- identify non-PI compliant build steps, with two different UserExtensions
- sections, one with an Identifier of Prebuild, and another of PostBuild. Both
- UserExtensions sections would use the same UserId. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This is a single word identifier for grouping similar content.
+ For example, ReferenceBuild might be used to identify non-PI compliant build steps, with two
+ different UserExtensions sections, one with an Identifier of Prebuild, and another of PostBuild.
+ Both UserExtensions sections would use the same UserId. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Identifier" type="xs:string" use="optional">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This can be any string used to differentiate
- or identify this section from other UserExtensions sections. </xs:documentation>
- <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might
- indicate specific steps and tools required before processing distribution
- package content, while a different UserExtensions section with a
- POST_PROCESS Identifier might describe steps that need to be executed after
- operations on this content. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This can be any string used to differentiate or identify this
+ section from other UserExtensions sections. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For example, a PRE_PROCESS Identifier might indicate specific
+ steps and tools required before processing distribution package content, while a different
+ UserExtensions section with a POST_PROCESS Identifier might describe steps that need to be
+ executed after operations on this content. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute processContents="lax"/>
@@ -2596,11 +2440,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:enumeration value="X64"/>
<xs:enumeration value="IPF"/>
<xs:enumeration value="EBC"/>
+ <xs:enumeration value="ARM"/>
<xs:pattern value="([A-Z])([a-zA-Z0-9])*">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Any processor architecture not listed above.
- The Architecture must be a target architecture of one or more compiler tool
- chains. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Any processor architecture not listed above. The Architecture
+ must be a target architecture of one or more compiler tool chains. </xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
@@ -2613,8 +2457,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:enumeration value="GCC"/>
<xs:pattern value="[A-Z][a-zA-Z0-9]*">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Any other family of build utilities for
- which compiler tools exist. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Any other family of build utilities for which compiler tools
+ exist. </xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
@@ -2657,70 +2501,66 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:simpleType name="ModuleTypes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The following module types are defined by
- specifications. </xs:documentation>
- <xs:documentation xml:lang="en-us"> Module types for components and libraries defined
- for this distribution mechanism. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The following module types are defined by specifications. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Module types for components and libraries defined for this distribution
+ mechanism. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NCName">
<xs:enumeration value="BASE ">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Use of this module is not restricted.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Use of this module is not restricted. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DXE_CORE">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE
- core. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to the DXE core.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DXE_DRIVER">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
- driver. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE driver.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DXE_RUNTIME_DRIVER">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE
- runtime driver. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE runtime driver.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DXE_SAL_DRIVER">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE
- runtime driver. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to an IPF DXE runtime driver.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DXE_SMM_DRIVER">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM
- driver. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to a DXE SMM driver.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="PEI_CORE">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI
- core. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to the PEI core.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="PEIM">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only valid for PEI modules. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SEC">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only applicable to Security
- phase. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only applicable to Security phase.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UEFI_DRIVER">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only valid for UEFI drivers. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UEFI_RUNTIME_DRIVER">
@@ -2731,8 +2571,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:enumeration>
<xs:enumeration value="UEFI_APPLICATION">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This module is only valid for UEFI
- applications. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This module is only valid for UEFI applications.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SMM_CORE">
@@ -2743,21 +2583,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</xs:enumeration>
<xs:enumeration value="USER_DEFINED">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This content is restricted to a specific
- implementation. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This content is restricted to a specific implementation.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="UNDEFINED">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that
- where the package creator does not know the what module types are supported
- by a module. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This enumeration is for use in a list that where the package
+ creator does not know the what module types are supported by a module. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:pattern value="([A-Z])([a-zA-Z0-9])*">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This pattern has been added for use in a
- module lists - for future expansion. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This pattern has been added for use in a module lists - for
+ future expansion. </xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
@@ -2765,8 +2604,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:simpleType name="PcdDatumTypes">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD
- specification (or PCD section of the UEFI/PI specifications.) </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The following data types are defined by the PCD specification (or PCD
+ section of the UEFI/PI specifications.) </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="UINT8"/>
@@ -2786,82 +2625,73 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:restriction base="xs:NCName">
<xs:enumeration value="FeaturePcd">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to
- either true or false. This is used during build to include/exclude content.
- It can also be used during execution to force execution paths within
- drivers, or to enable/disable features within a driver for a given platform.
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The Feature PCD is a binary, evaluating to either true or false.
+ This is used during build to include/exclude content. It can also be used during execution to
+ force execution paths within drivers, or to enable/disable features within a driver for a given
+ platform. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPcd">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set
- at build time. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The Fixed PCD is a #define value that is set at build time.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="PatchPcd">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at
- build time, and that can be modified within a binary file. Additional
- information, such as the offset location of the value, along with it's
- length may need to be provided.</xs:documentation>
+ <xs:documentation xml:lang="en-us"> The Patch PCD is a #define that is set at build time, and that
+ can be modified within a binary file. Additional information, such as the offset location of the
+ value, along with it's length may need to be provided.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Pcd">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition.
- Prior to build, the platform integrator may choose to implement a PCD as
- Fixed, Patchable or a Dynamic PCD. If the platform integrator choose to use
- the PCD as dynamic, then a PCD driver is required in the platform
- (PEI/DXE/both) to track the PCD in some sort of 'database' of these items.
- For Dynamic PCDs, the PcdGet* must pass in the token space guid and the
- token number to retrieve data (PcdSet* also needs these values.)
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> This PCD type has an overloaded definition. Prior to build, the
+ platform integrator may choose to implement a PCD as Fixed, Patchable or a Dynamic PCD. If the
+ platform integrator choose to use the PCD as dynamic, then a PCD driver is required in the
+ platform (PEI/DXE/both) to track the PCD in some sort of 'database' of these items. For Dynamic
+ PCDs, the PcdGet* must pass in the token space guid and the token number to retrieve data
+ (PcdSet* also needs these values.) </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="PcdEx">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the
- platform firmware must contain a driver to maintain a 'database' of these
- items. For Dynamic PCDs, the PcdGet* must pass in the token space guid and
- the token number to retrieve data (PcdSet* also needs these values.)
- </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The PCD can only be used as Dynamic, and the platform firmware
+ must contain a driver to maintain a 'database' of these items. For Dynamic PCDs, the PcdGet*
+ must pass in the token space guid and the token number to retrieve data (PcdSet* also needs
+ these values.) </xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
-
-
<xs:simpleType name="RegistryFormatGuid">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal
- character sets that are separated by a dash (-) character. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> A GUID must contain five different Hexadecimal character sets that are
+ separated by a dash (-) character. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
- <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*"
- />
+ <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*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SupportedOs">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations
- running one of the following supported operating systems. This is the OS for the
- developer's workstation, not the target platform. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> The EDK II build system supports workstations running one of the
+ following supported operating systems. This is the OS for the developer's workstation, not the target
+ platform. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
- Vista. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Win64">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows
- Vista. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> For Windows 2003, Windows XP and Windows Vista.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Linux32"/>
@@ -2870,14 +2700,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<xs:enumeration value="OS/X64"/>
<xs:enumeration value="GenericWin">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch
- files. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Typically, this is used for Windows Batch files.
+ </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="GenericNix">
<xs:annotation>
- <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for
- any Linux and Mac OS/X. </xs:documentation>
+ <xs:documentation xml:lang="en-us"> Typically use for shell scripts - valid for any Linux and Mac
+ OS/X. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:pattern value="[a-zA-Z]([a-zA-Z0-9])*"/>
diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 107e783d2e..4a21aba854 100644
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -301,8 +301,8 @@
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
<Command.GCC>
- $(OBJCOPY) --only-keep-debug ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
- $(OBJCOPY) --strip-unneeded ${src}
+ $(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
+ $(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
#
#The below 2 lines are only needed for UNIXGCC tool chain, which genereates PE image directly
diff --git a/BaseTools/Conf/target.template b/BaseTools/Conf/target.template
index 67443200eb..787fc64fb1 100644
--- a/BaseTools/Conf/target.template
+++ b/BaseTools/Conf/target.template
@@ -34,7 +34,8 @@ ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
TARGET = DEBUG
# TARGET_ARCH List Optional What kind of architecture is the binary being target for.
-# One, or more, of the following, IA32, IPF, X64, EBC or ARM.
+# One, or more, of the following, IA32, IPF, X64, EBC, ARM
+# or AArch64.
# Multiple values can be specified on a single line, using
# space charaters to separate the values. These are used
# during the parsing of a platform description file,
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index a82404a144..06e7d6596a 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1,6 +1,7 @@
#
-# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -47,6 +48,14 @@ DEFINE VS2010x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Co
DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64
DEFINE VS2010x86_BIN64 = DEF(VS2010x86_BIN)\x86_ia64
+DEFINE VS2012_BIN = C:\Program Files\Microsoft Visual Studio 11.0\Vc\bin
+DEFINE VS2012_DLL = C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012_BIN)
+DEFINE VS2012_BINX64 = DEF(VS2012_BIN)\x86_amd64
+
+DEFINE VS2012x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Vc\bin
+DEFINE VS2012x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012x86_BIN)
+DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64
+
DEFINE WINSDK_VERSION = v6.0A
DEFINE WINSDK_BIN = c:\Program Files\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin
DEFINE WINSDKx86_BIN = c:\Program Files (x86)\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin
@@ -147,6 +156,9 @@ DEFINE GCC45_X64_PREFIX = /usr/bin/
DEFINE GCC46_IA32_PREFIX = /usr/bin/
DEFINE GCC46_X64_PREFIX = /usr/bin/
+DEFINE GCC47_IA32_PREFIX = /usr/bin/
+DEFINE GCC47_X64_PREFIX = /usr/bin/
+
DEFINE UNIX_IASL_BIN = /usr/bin/iasl
#DEFINE UNIX_IASL_BIN = $(HOME)/programs/iasl
DEFINE WIN_ASL_BIN_DIR = C:\ASL
@@ -244,6 +256,15 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) v20101013 from
# http://www.acpica.org/downloads/previous_releases.php
+# VS2012 -win32- Requires:
+# Microsoft Visual Studio 2012 Professional Edition
+# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
+# Optional:
+# Required to build EBC drivers:
+# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler (iasl.exe) v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
# DDK3790 -win32- Requires:
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
# Optional:
@@ -277,6 +298,12 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler v20101013 from
# http://www.acpica.org/downloads/previous_releases.php
+# GCC47 -Linux- Requires:
+# GCC 4.7 (Native)
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
# ELFGCC -Linux- Requires:
# GCC(this tool chain uses whatever version of gcc and binutils that is installed in /usr/bin)
# Optional:
@@ -361,6 +388,15 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
+# VS2012xASL -win32- Requires:
+# Microsoft Visual Studio 2012 Professional Edition
+# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
+# Optional:
+# Required to build EBC drivers:
+# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
+# Required to build platforms or ACPI tables:
+# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
+# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
# DDK3790xASL -win32- Requires:
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
# Optional:
@@ -425,6 +461,13 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) v20101013 from
# http://www.acpica.org/downloads/previous_releases.php
+# VS2012x86 -win64- Requires:
+# Microsoft Visual Studio 2012 (x86) Professional Edition
+# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler (iasl.exe) v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
# ICCx86 -win64- Requires:
# Intel C Compiler V9.1(x86)
# Dependencies:
@@ -472,6 +515,13 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
+# VS2012x86xASL -win64- Requires:
+# Microsoft Visual Studio 2012 (x86) Professional Edition
+# Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
+# Optional:
+# Required to build platforms or ACPI tables:
+# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
+# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
# ICCx86xASL -win64- Requires:
# Intel C Compiler V9.1 (x86)
# Dependencies:
@@ -514,6 +564,32 @@ DEFINE CLANG_BIN = /usr/bin/
# Required to build platforms or ACPI tables:
# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
+# ARMGCC -unix- Requires:
+# ARM None EABI GCC 4.6.0
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
+# ARMLINUXGCC -unix- Requires:
+# ARM Linux GNU EABI GCC 4.6.0
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
+# RVCT -win- Requires:
+# ARM C/C++ Compiler, 5.00
+# Optional:
+# Required to build EBC drivers:
+# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
+# Required to build platforms or ACPI tables:
+# Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
+# http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
+# RVCTLINUX -unix- Requires:
+# ARM C/C++ Compiler, 5.00
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler v20101013 from
+# http://www.acpica.org/downloads/previous_releases.php
# * Commented out - All versions of VS2005 use the same standard install directory
#
####################################################################################
@@ -713,7 +789,6 @@ NOOPT_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP
*_VS2003xASL_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
####################################################################################
-#
# Microsoft Visual Studio 2005
#
# VS2005 - Microsoft Visual Studio 2005 All Edition, including Standard, Professional, Express, TeamSuite
@@ -789,7 +864,6 @@ NOOPT_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
*_VS2005_X64_ASLPP_PATH = DEF(VS2005_BINX64)\cl.exe
*_VS2005_X64_ASLDLINK_PATH = DEF(VS2005_BINX64)\link.exe
-
DEBUG_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -926,7 +1000,6 @@ NOOPT_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
*_VS2005xASL_X64_ASLPP_PATH = DEF(VS2005_BINX64)\cl.exe
*_VS2005xASL_X64_ASLDLINK_PATH = DEF(VS2005_BINX64)\link.exe
-
DEBUG_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1063,7 +1136,6 @@ NOOPT_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
*_VS2005x86_X64_ASLPP_PATH = DEF(VS2005x86_BINX64)\cl.exe
*_VS2005x86_X64_ASLDLINK_PATH = DEF(VS2005x86_BINX64)\link.exe
-
DEBUG_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1200,7 +1272,6 @@ NOOPT_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT
*_VS2005x86xASL_X64_ASLPP_PATH = DEF(VS2005x86_BINX64)\cl.exe
*_VS2005x86xASL_X64_ASLDLINK_PATH = DEF(VS2005x86_BINX64)\link.exe
-
DEBUG_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1261,7 +1332,6 @@ NOOPT_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R
*_VS2005x86xASL_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
####################################################################################
#
# Microsoft Visual Studio 2008
@@ -1339,7 +1409,6 @@ NOOPT_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
*_VS2008_X64_ASLPP_PATH = DEF(VS2008_BINX64)\cl.exe
*_VS2008_X64_ASLDLINK_PATH = DEF(VS2008_BINX64)\link.exe
-
DEBUG_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1384,13 +1453,14 @@ NOOPT_VS2008_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
# EBC definitions
##################
*_VS2008_EBC_*_FAMILY = INTEL
+*_VS2008_EBC_*_DLL = DEF(VS2008_DLL)
*_VS2008_EBC_MAKE_PATH = DEF(VS2008_BIN)\nmake.exe
*_VS2008_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2008_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2008_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2008_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe
-*_VS2008_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe
+*_VS2008_EBC_SLINK_PATH = DEF(VS2008_BIN)\link.exe
+*_VS2008_EBC_DLINK_PATH = DEF(VS2008_BIN)\link.exe
*_VS2008_EBC_MAKE_FLAGS = /nologo
*_VS2008_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
@@ -1399,6 +1469,7 @@ NOOPT_VS2008_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
*_VS2008_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
*_VS2008_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
#
# Microsoft Visual Studio 2008
@@ -1476,7 +1547,6 @@ NOOPT_VS2008xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
*_VS2008xASL_X64_ASLPP_PATH = DEF(VS2008_BINX64)\cl.exe
*_VS2008xASL_X64_ASLDLINK_PATH = DEF(VS2008_BINX64)\link.exe
-
DEBUG_VS2008xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2008xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2008xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1521,13 +1591,14 @@ NOOPT_VS2008xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,
# EBC definitions
##################
*_VS2008xASL_EBC_*_FAMILY = INTEL
+*_VS2008xASL_EBC_*_DLL = DEF(VS2008_DLL)
*_VS2008xASL_EBC_MAKE_PATH = DEF(VS2008_BIN)\nmake.exe
*_VS2008xASL_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2008xASL_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2008xASL_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2008xASL_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe
-*_VS2008xASL_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe
+*_VS2008xASL_EBC_SLINK_PATH = DEF(VS2008_BIN)\link.exe
+*_VS2008xASL_EBC_DLINK_PATH = DEF(VS2008_BIN)\link.exe
*_VS2008xASL_EBC_MAKE_FLAGS = /nologo
*_VS2008xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
@@ -1652,6 +1723,26 @@ NOOPT_VS2008x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d deb
RELEASE_VS2008x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
NOOPT_VS2008x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
+##################
+# EBC definitions
+##################
+*_VS2008x86_EBC_*_FAMILY = INTEL
+*_VS2008x86_EBC_*_DLL = DEF(VS2008x86_DLL)
+
+*_VS2008x86_EBC_MAKE_PATH = DEF(VS2008x86_BIN)\nmake.exe
+*_VS2008x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86_EBC_SLINK_PATH = DEF(VS2008x86_BIN)\link.exe
+*_VS2008x86_EBC_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
+
+*_VS2008x86_EBC_MAKE_FLAGS = /nologo
+*_VS2008x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2008x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2008x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2008x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2008x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
# VS2008x86xASL - Microsoft Visual Studio 2008 with Microsoft ASL
@@ -1767,12 +1858,32 @@ NOOPT_VS2008x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d
RELEASE_VS2008x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
NOOPT_VS2008x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
+##################
+# EBC definitions
+##################
+*_VS2008x86xASL_EBC_*_FAMILY = INTEL
+*_VS2008x86xASL_EBC_*_DLL = DEF(VS2008x86_DLL)
+
+*_VS2008x86xASL_EBC_MAKE_PATH = DEF(VS2008x86_BIN)\nmake.exe
+*_VS2008x86xASL_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86xASL_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86xASL_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2008x86xASL_EBC_SLINK_PATH = DEF(VS2008x86_BIN)\link.exe
+*_VS2008x86xASL_EBC_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
+
+*_VS2008x86xASL_EBC_MAKE_FLAGS = /nologo
+*_VS2008x86xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2008x86xASL_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2008x86xASL_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2008x86xASL_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2008x86xASL_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
#
# Microsoft Visual Studio 2010
#
-# VS2010 - Microsoft Visual Studio 2010 Premium Edition
+# VS2010 - Microsoft Visual Studio 2010 Premium Edition with Intel ASL
# ASL - Intel ACPI Source Language Compiler
####################################################################################
# VS2010 - Microsoft Visual Studio 2010 Premium Edition
@@ -1845,7 +1956,6 @@ NOOPT_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
*_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe
*_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
-
DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -1890,13 +2000,14 @@ NOOPT_VS2010_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
# EBC definitions
##################
*_VS2010_EBC_*_FAMILY = INTEL
+*_VS2010_EBC_*_DLL = DEF(VS2010_DLL)
*_VS2010_EBC_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe
*_VS2010_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2010_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2010_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2010_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe
-*_VS2010_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe
+*_VS2010_EBC_SLINK_PATH = DEF(VS2010_BIN)\link.exe
+*_VS2010_EBC_DLINK_PATH = DEF(VS2010_BIN)\link.exe
*_VS2010_EBC_MAKE_FLAGS = /nologo
*_VS2010_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
@@ -1905,11 +2016,12 @@ NOOPT_VS2010_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
*_VS2010_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
*_VS2010_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
#
# Microsoft Visual Studio 2010
#
-# VS2010 - Microsoft Visual Studio 2010 Premium Edition
+# VS2010xASL - Microsoft Visual Studio 2010 Premium Edition with Microsoft ASL
# ASL - Microsoft ACPI Source Language Compiler (asl.exe)
####################################################################################
# VS2010xASL - Microsoft Visual Studio 2010 Premium Edition
@@ -1982,7 +2094,6 @@ NOOPT_VS2010xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
*_VS2010xASL_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe
*_VS2010xASL_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
-
DEBUG_VS2010xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2010xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
NOOPT_VS2010xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
@@ -2027,13 +2138,14 @@ NOOPT_VS2010xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,
# EBC definitions
##################
*_VS2010xASL_EBC_*_FAMILY = INTEL
+*_VS2010xASL_EBC_*_DLL = DEF(VS2010_DLL)
*_VS2010xASL_EBC_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe
*_VS2010xASL_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2010xASL_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
*_VS2010xASL_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2010xASL_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe
-*_VS2010xASL_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe
+*_VS2010xASL_EBC_SLINK_PATH = DEF(VS2010_BIN)\link.exe
+*_VS2010xASL_EBC_DLINK_PATH = DEF(VS2010_BIN)\link.exe
*_VS2010xASL_EBC_MAKE_FLAGS = /nologo
*_VS2010xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
@@ -2130,7 +2242,6 @@ NOOPT_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
NOOPT_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
##################
# IPF definitions
##################
@@ -2159,6 +2270,26 @@ NOOPT_VS2010x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d deb
RELEASE_VS2010x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
NOOPT_VS2010x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
+##################
+# EBC definitions
+##################
+*_VS2010x86_EBC_*_FAMILY = INTEL
+*_VS2010x86_EBC_*_DLL = DEF(VS2010x86_DLL)
+
+*_VS2010x86_EBC_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe
+*_VS2010x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86_EBC_SLINK_PATH = DEF(VS2010x86_BIN)\link.exe
+*_VS2010x86_EBC_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
+
+*_VS2010x86_EBC_MAKE_FLAGS = /nologo
+*_VS2010x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2010x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2010x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2010x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2010x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
# VS2010x86xASL - Microsoft Visual Studio 2010 with Microsoft ASL
@@ -2274,6 +2405,461 @@ NOOPT_VS2010x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d
RELEASE_VS2010x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
NOOPT_VS2010x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
+##################
+# EBC definitions
+##################
+*_VS2010x86xASL_EBC_*_FAMILY = INTEL
+*_VS2010x86xASL_EBC_*_DLL = DEF(VS2010x86_DLL)
+
+*_VS2010x86xASL_EBC_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe
+*_VS2010x86xASL_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86xASL_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86xASL_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2010x86xASL_EBC_SLINK_PATH = DEF(VS2010x86_BIN)\link.exe
+*_VS2010x86xASL_EBC_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
+
+*_VS2010x86xASL_EBC_MAKE_FLAGS = /nologo
+*_VS2010x86xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2010x86xASL_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2010x86xASL_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2010x86xASL_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2010x86xASL_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
+
+####################################################################################
+#
+# Microsoft Visual Studio 2012
+#
+# VS2012 - Microsoft Visual Studio 2012 Professional Edition with Intel ASL
+# ASL - Intel ACPI Source Language Compiler
+####################################################################################
+# VS2012 - Microsoft Visual Studio 2012 Premium Edition
+*_VS2012_*_*_FAMILY = MSFT
+
+*_VS2012_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012_*_MAKE_FLAGS = /nologo
+*_VS2012_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
+
+*_VS2012_*_SLINK_FLAGS = /NOLOGO /LTCG
+*_VS2012_*_APP_FLAGS = /nologo /E /TC
+*_VS2012_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+
+*_VS2012_*_ASM16_PATH = DEF(VS2012_BIN)\ml.exe
+
+##################
+# ASL definitions
+##################
+*_VS2012_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
+*_VS2012_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
+*_VS2012_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
+*_VS2012_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
+*_VS2012_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
+*_VS2012_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
+
+##################
+# IA32 definitions
+##################
+*_VS2012_IA32_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012_IA32_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012_IA32_CC_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_VFRPP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_SLINK_PATH = DEF(VS2012_BIN)\lib.exe
+*_VS2012_IA32_DLINK_PATH = DEF(VS2012_BIN)\link.exe
+*_VS2012_IA32_APP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_PP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_ASM_PATH = DEF(VS2012_BIN)\ml.exe
+*_VS2012_IA32_ASLCC_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_ASLPP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012_IA32_ASLDLINK_PATH = DEF(VS2012_BIN)\link.exe
+
+ *_VS2012_IA32_MAKE_FLAGS = /nologo
+ DEBUG_VS2012_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
+RELEASE_VS2012_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
+ DEBUG_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+RELEASE_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
+ DEBUG_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# X64 definitions
+##################
+*_VS2012_X64_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012_X64_CC_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_PP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_APP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_VFRPP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_ASM_PATH = DEF(VS2012_BINX64)\ml64.exe
+*_VS2012_X64_SLINK_PATH = DEF(VS2012_BINX64)\lib.exe
+*_VS2012_X64_DLINK_PATH = DEF(VS2012_BINX64)\link.exe
+*_VS2012_X64_ASLCC_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_ASLPP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012_X64_ASLDLINK_PATH = DEF(VS2012_BINX64)\link.exe
+
+ DEBUG_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
+RELEASE_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
+ DEBUG_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+RELEASE_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
+ DEBUG_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# EBC definitions
+##################
+*_VS2012_EBC_*_FAMILY = INTEL
+*_VS2012_EBC_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012_EBC_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012_EBC_SLINK_PATH = DEF(VS2012_BIN)\link.exe
+*_VS2012_EBC_DLINK_PATH = DEF(VS2012_BIN)\link.exe
+
+*_VS2012_EBC_MAKE_FLAGS = /nologo
+*_VS2012_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2012_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2012_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2012_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
+
+####################################################################################
+#
+# Microsoft Visual Studio 2012
+#
+# VS2012 - Microsoft Visual Studio 2012 Professional Edition with Microsoft ASL
+# ASL - Microsoft ACPI Source Language Compiler (asl.exe)
+####################################################################################
+# VS2012xASL - Microsoft Visual Studio 2012 Premium Edition
+*_VS2012xASL_*_*_FAMILY = MSFT
+
+*_VS2012xASL_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012xASL_*_MAKE_FLAG = /nologo
+*_VS2012xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
+
+*_VS2012xASL_*_SLINK_FLAGS = /NOLOGO /LTCG
+*_VS2012xASL_*_APP_FLAGS = /nologo /E /TC
+*_VS2012xASL_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012xASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+
+*_VS2012xASL_*_ASM16_PATH = DEF(VS2012_BIN)\ml.exe
+
+##################
+# ASL definitions
+##################
+*_VS2012xASL_*_ASL_PATH = DEF(WIN_ASL_BIN)
+*_VS2012xASL_*_ASL_FLAGS =
+*_VS2012xASL_*_ASL_OUTFLAGS = DEF(MS_ASL_OUTFLAGS)
+*_VS2012xASL_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
+*_VS2012xASL_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
+*_VS2012xASL_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
+
+##################
+# IA32 definitions
+##################
+*_VS2012xASL_IA32_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012xASL_IA32_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012xASL_IA32_CC_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_VFRPP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_SLINK_PATH = DEF(VS2012_BIN)\lib.exe
+*_VS2012xASL_IA32_DLINK_PATH = DEF(VS2012_BIN)\link.exe
+*_VS2012xASL_IA32_APP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_PP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_ASM_PATH = DEF(VS2012_BIN)\ml.exe
+*_VS2012xASL_IA32_ASLCC_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_ASLPP_PATH = DEF(VS2012_BIN)\cl.exe
+*_VS2012xASL_IA32_ASLDLINK_PATH = DEF(VS2012_BIN)\link.exe
+
+ *_VS2012xASL_IA32_MAKE_FLAGS = /nologo
+ DEBUG_VS2012xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
+RELEASE_VS2012xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
+ DEBUG_VS2012xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+RELEASE_VS2012xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2012xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
+ DEBUG_VS2012xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# X64 definitions
+##################
+*_VS2012xASL_X64_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012xASL_X64_CC_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_PP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_APP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_VFRPP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_ASM_PATH = DEF(VS2012_BINX64)\ml64.exe
+*_VS2012xASL_X64_SLINK_PATH = DEF(VS2012_BINX64)\lib.exe
+*_VS2012xASL_X64_DLINK_PATH = DEF(VS2012_BINX64)\link.exe
+*_VS2012xASL_X64_ASLCC_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_ASLPP_PATH = DEF(VS2012_BINX64)\cl.exe
+*_VS2012xASL_X64_ASLDLINK_PATH = DEF(VS2012_BINX64)\link.exe
+
+ DEBUG_VS2012xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
+RELEASE_VS2012xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
+ DEBUG_VS2012xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+RELEASE_VS2012xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2012xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
+ DEBUG_VS2012xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# EBC definitions
+##################
+*_VS2012xASL_EBC_*_FAMILY = INTEL
+*_VS2012xASL_EBC_*_DLL = DEF(VS2012_DLL)
+
+*_VS2012xASL_EBC_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
+*_VS2012xASL_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012xASL_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012xASL_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
+*_VS2012xASL_EBC_SLINK_PATH = DEF(VS2012_BIN)\link.exe
+*_VS2012xASL_EBC_DLINK_PATH = DEF(VS2012_BIN)\link.exe
+
+*_VS2012xASL_EBC_MAKE_FLAGS = /nologo
+*_VS2012xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012xASL_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2012xASL_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2012xASL_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2012xASL_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
+
+####################################################################################
+# VS2012x86 - Microsoft Visual Studio 2012 (x86) professional with Intel ASL
+# ASL - Intel ACPI Source Language Compiler (iasl.exe)
+####################################################################################
+# VS2012x86 - Microsoft Visual Studio 2012 (x86) professional Edition with Intel ASL
+*_VS2012x86_*_*_FAMILY = MSFT
+
+*_VS2012x86_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86_*_MAKE_FLAG = /nologo
+*_VS2012x86_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
+
+*_VS2012x86_*_MAKE_FLAGS = /nologo
+*_VS2012x86_*_SLINK_FLAGS = /NOLOGO /LTCG
+*_VS2012x86_*_APP_FLAGS = /nologo /E /TC
+*_VS2012x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+
+*_VS2012x86_*_ASM16_PATH = DEF(VS2012x86_BIN)\ml.exe
+
+##################
+# ASL definitions
+##################
+*_VS2012x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
+*_VS2012x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
+*_VS2012x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
+*_VS2012x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
+*_VS2012x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
+*_VS2012x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
+
+##################
+# IA32 definitions
+##################
+*_VS2012x86_IA32_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86_IA32_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86_IA32_CC_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_VFRPP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_ASLCC_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_ASLPP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_SLINK_PATH = DEF(VS2012x86_BIN)\lib.exe
+*_VS2012x86_IA32_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86_IA32_ASLDLINK_PATH= DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86_IA32_APP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_PP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86_IA32_ASM_PATH = DEF(VS2012x86_BIN)\ml.exe
+
+ *_VS2012x86_IA32_MAKE_FLAGS = /nologo
+ DEBUG_VS2012x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
+RELEASE_VS2012x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
+ DEBUG_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+RELEASE_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
+ DEBUG_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# X64 definitions
+##################
+*_VS2012x86_X64_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86_X64_CC_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_PP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_APP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_VFRPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_ASLCC_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_ASLPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86_X64_ASM_PATH = DEF(VS2012x86_BINX64)\ml64.exe
+*_VS2012x86_X64_SLINK_PATH = DEF(VS2012x86_BINX64)\lib.exe
+*_VS2012x86_X64_DLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
+*_VS2012x86_X64_ASLDLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
+
+ DEBUG_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
+RELEASE_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
+ DEBUG_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+RELEASE_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
+ DEBUG_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# EBC definitions
+##################
+*_VS2012x86_EBC_*_FAMILY = INTEL
+*_VS2012x86_EBC_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86_EBC_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86_EBC_SLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86_EBC_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+
+*_VS2012x86_EBC_MAKE_FLAGS = /nologo
+*_VS2012x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2012x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2012x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2012x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
+
+####################################################################################
+# VS2012x86xASL - Microsoft Visual Studio 2012 (x86) professional with Microsoft ASL
+# ASL - Microsoft ACPI Source Language Compiler (asl.exe)
+####################################################################################
+*_VS2012x86xASL_*_*_FAMILY = MSFT
+
+*_VS2012x86xASL_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86xASL_*_MAKE_FLAG = /nologo
+*_VS2012x86xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
+
+*_VS2012x86xASL_*_MAKE_FLAGS = /nologo
+*_VS2012x86xASL_*_SLINK_FLAGS = /NOLOGO /LTCG
+*_VS2012x86xASL_*_APP_FLAGS = /nologo /E /TC
+*_VS2012x86xASL_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012x86xASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+
+*_VS2012x86xASL_*_ASM16_PATH = DEF(VS2012x86_BIN)\ml.exe
+
+##################
+# ASL definitions
+##################
+*_VS2012x86xASL_*_ASL_PATH = DEF(WIN_ASL_BIN)
+*_VS2012x86xASL_*_ASL_FLAGS = DEF(MS_ASL_FLAGS)
+*_VS2012x86xASL_*_ASL_OUTFLAGS = DEF(MS_ASL_OUTFLAGS)
+*_VS2012x86xASL_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
+*_VS2012x86xASL_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
+*_VS2012x86xASL_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
+
+##################
+# IA32 definitions
+##################
+*_VS2012x86xASL_IA32_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86xASL_IA32_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86xASL_IA32_CC_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_VFRPP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_ASLCC_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_ASLPP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_SLINK_PATH = DEF(VS2012x86_BIN)\lib.exe
+*_VS2012x86xASL_IA32_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86xASL_IA32_ASLDLINK_PATH= DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86xASL_IA32_APP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_PP_PATH = DEF(VS2012x86_BIN)\cl.exe
+*_VS2012x86xASL_IA32_ASM_PATH = DEF(VS2012x86_BIN)\ml.exe
+
+ *_VS2012x86xASL_IA32_MAKE_FLAGS = /nologo
+ DEBUG_VS2012x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
+RELEASE_VS2012x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
+ DEBUG_VS2012x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+RELEASE_VS2012x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2012x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
+ DEBUG_VS2012x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# X64 definitions
+##################
+*_VS2012x86xASL_X64_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86xASL_X64_CC_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_PP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_APP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_VFRPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_ASLCC_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_ASLPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
+*_VS2012x86xASL_X64_ASM_PATH = DEF(VS2012x86_BINX64)\ml64.exe
+*_VS2012x86xASL_X64_SLINK_PATH = DEF(VS2012x86_BINX64)\lib.exe
+*_VS2012x86xASL_X64_DLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
+*_VS2012x86xASL_X64_ASLDLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
+
+ DEBUG_VS2012x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
+RELEASE_VS2012x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2012x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
+ DEBUG_VS2012x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+RELEASE_VS2012x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2012x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
+ DEBUG_VS2012x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+RELEASE_VS2012x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2012x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
+
+##################
+# EBC definitions
+##################
+*_VS2012x86xASL_EBC_*_FAMILY = INTEL
+*_VS2012x86xASL_EBC_*_DLL = DEF(VS2012x86_DLL)
+
+*_VS2012x86xASL_EBC_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
+*_VS2012x86xASL_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86xASL_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86xASL_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
+*_VS2012x86xASL_EBC_SLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+*_VS2012x86xASL_EBC_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
+
+*_VS2012x86xASL_EBC_MAKE_FLAGS = /nologo
+*_VS2012x86xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
+*_VS2012x86xASL_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
+*_VS2012x86xASL_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
+*_VS2012x86xASL_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
+*_VS2012x86xASL_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
+
####################################################################################
#
@@ -2541,9 +3127,11 @@ DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
-DEFINE GCC_ARMGCC_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer
+DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address
+DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address
DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie
DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
+DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Ttext=0x0 --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
DEFINE GCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
@@ -2555,9 +3143,11 @@ DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DI
DEFINE GCC_ASLPP_FLAGS = -x c -E -P
DEFINE GCC_ASLCC_FLAGS = -x c
DEFINE GCC_WINDRES_FLAGS = -J rc -O coff
-DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii
-DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii
-DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64 --rename-section .data=.hii
+DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii
+DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii
+DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64 --rename-section .data=.hii
+DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
+DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -D EFI32
@@ -2583,6 +3173,23 @@ DEFINE GCC46_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
DEFINE GCC46_IA32_X64_DLINK_FLAGS = DEF(GCC45_IA32_X64_DLINK_FLAGS)
DEFINE GCC46_X64_DLINK_FLAGS = DEF(GCC45_X64_DLINK_FLAGS)
DEFINE GCC46_ASM_FLAGS = DEF(GCC45_ASM_FLAGS)
+DEFINE GCC46_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC46_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -mno-unaligned-access -Wno-address -fomit-frame-pointer
+DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm
+
+DEFINE GCC47_IA32_CC_FLAGS = DEF(GCC46_IA32_CC_FLAGS)
+DEFINE GCC47_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS)
+DEFINE GCC47_IA32_X64_DLINK_COMMON = DEF(GCC46_IA32_X64_DLINK_COMMON)
+DEFINE GCC47_IA32_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC47_IA32_X64_DLINK_FLAGS = DEF(GCC46_IA32_X64_DLINK_FLAGS)
+DEFINE GCC47_X64_DLINK_FLAGS = DEF(GCC46_X64_DLINK_FLAGS)
+DEFINE GCC47_ASM_FLAGS = DEF(GCC46_ASM_FLAGS)
+DEFINE GCC47_ARM_ASM_FLAGS = DEF(GCC46_ARM_ASM_FLAGS)
+DEFINE GCC47_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC47_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS)
+DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) -mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address
+DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS)
+DEFINE GCC47_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON)
####################################################################################
#
@@ -2865,6 +3472,150 @@ DEFINE GCC46_ASM_FLAGS = DEF(GCC45_ASM_FLAGS)
*_GCC46_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
*_GCC46_X64_OBJCOPY_FLAGS =
+##################
+# GCC46 ARM definitions
+##################
+*_GCC46_ARM_OBJCOPY_PATH = echo
+*_GCC46_ARM_CC_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_SLINK_PATH = ENV(GCC46_ARM_PREFIX)ar
+*_GCC46_ARM_DLINK_PATH = ENV(GCC46_ARM_PREFIX)ld
+*_GCC46_ARM_ASLDLINK_PATH = ENV(GCC46_ARM_PREFIX)ld
+*_GCC46_ARM_ASM_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_PP_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_VFRPP_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_ASLCC_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_ASLPP_PATH = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_RC_PATH = ENV(GCC46_ARM_PREFIX)objcopy
+
+*_GCC46_ARM_ARCHCC_FLAGS = -mthumb
+*_GCC46_ARM_PLATFORM_FLAGS = -march=armv7-a
+
+*_GCC46_ARM_ASM_FLAGS = DEF(GCC46_ARM_ASM_FLAGS)
+*_GCC46_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS)
+*_GCC46_ARM_PLATFORM_FLAGS = -march=armv7-a
+*_GCC46_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCC46_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
+*_GCC46_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+
+ DEBUG_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -O0
+RELEASE_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-variable
+
+####################################################################################
+#
+# GCC 4.7 - This configuration is used to compile under Linux to produce
+# PE/COFF binaries using GCC 4.7.
+#
+####################################################################################
+*_GCC47_*_*_FAMILY = GCC
+
+*_GCC47_*_MAKE_PATH = make
+*_GCC47_*_ASL_PATH = DEF(UNIX_IASL_BIN)
+
+*_GCC47_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_GCC47_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
+*_GCC47_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_GCC47_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
+*_GCC47_*_APP_FLAGS =
+*_GCC47_*_ASL_FLAGS = DEF(IASL_FLAGS)
+*_GCC47_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+
+##################
+# GCC47 IA32 definitions
+##################
+*_GCC47_IA32_OBJCOPY_PATH = DEF(GCC47_IA32_PREFIX)objcopy
+*_GCC47_IA32_CC_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_SLINK_PATH = DEF(GCC47_IA32_PREFIX)ar
+*_GCC47_IA32_DLINK_PATH = DEF(GCC47_IA32_PREFIX)ld
+*_GCC47_IA32_ASLDLINK_PATH = DEF(GCC47_IA32_PREFIX)ld
+*_GCC47_IA32_ASM_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_PP_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_VFRPP_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_ASLCC_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_ASLPP_PATH = DEF(GCC47_IA32_PREFIX)gcc
+*_GCC47_IA32_RC_PATH = DEF(GCC47_IA32_PREFIX)objcopy
+
+*_GCC47_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32
+*_GCC47_IA32_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -m elf_i386
+*_GCC47_IA32_ASM_FLAGS = DEF(GCC47_ASM_FLAGS) -m32 -march=i386
+*_GCC47_IA32_CC_FLAGS = DEF(GCC47_IA32_CC_FLAGS) -Os
+*_GCC47_IA32_DLINK_FLAGS = DEF(GCC47_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386
+*_GCC47_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_GCC47_IA32_OBJCOPY_FLAGS =
+
+##################
+# GCC47 X64 definitions
+##################
+*_GCC47_X64_OBJCOPY_PATH = DEF(GCC47_X64_PREFIX)objcopy
+*_GCC47_X64_CC_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_SLINK_PATH = DEF(GCC47_X64_PREFIX)ar
+*_GCC47_X64_DLINK_PATH = DEF(GCC47_X64_PREFIX)ld
+*_GCC47_X64_ASLDLINK_PATH = DEF(GCC47_X64_PREFIX)ld
+*_GCC47_X64_ASM_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_PP_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_VFRPP_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_ASLCC_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_ASLPP_PATH = DEF(GCC47_X64_PREFIX)gcc
+*_GCC47_X64_RC_PATH = DEF(GCC47_X64_PREFIX)objcopy
+
+*_GCC47_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64
+*_GCC47_X64_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64
+*_GCC47_X64_ASM_FLAGS = DEF(GCC47_ASM_FLAGS) -m64
+*_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS)
+*_GCC47_X64_DLINK_FLAGS = DEF(GCC47_X64_DLINK_FLAGS)
+*_GCC47_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_GCC47_X64_OBJCOPY_FLAGS =
+
+##################
+# GCC47 ARM definitions
+##################
+*_GCC47_ARM_CC_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_SLINK_PATH = ENV(GCC47_ARM_PREFIX)ar
+*_GCC47_ARM_DLINK_PATH = ENV(GCC47_ARM_PREFIX)ld
+*_GCC47_ARM_ASLDLINK_PATH = ENV(GCC47_ARM_PREFIX)ld
+*_GCC47_ARM_ASM_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_PP_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_VFRPP_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_ASLCC_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_ASLPP_PATH = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_RC_PATH = ENV(GCC47_ARM_PREFIX)objcopy
+
+*_GCC46_ARM_ARCHCC_FLAGS = -mthumb
+*_GCC46_ARM_PLATFORM_FLAGS = -march=armv7-a
+
+*_GCC47_ARM_ASM_FLAGS = DEF(GCC47_ARM_ASM_FLAGS)
+*_GCC47_ARM_DLINK_FLAGS = DEF(GCC47_ARM_DLINK_FLAGS)
+*_GCC47_ARM_PLATFORM_FLAGS = -march=armv7-a
+*_GCC47_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCC47_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
+*_GCC47_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+
+ DEBUG_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -O0
+RELEASE_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-variable
+
+##################
+# GCC47 AARCH64 definitions
+##################
+*_GCC47_AARCH64_CC_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_SLINK_PATH = ENV(GCC47_AARCH64_PREFIX)ar
+*_GCC47_AARCH64_DLINK_PATH = ENV(GCC47_AARCH64_PREFIX)ld
+*_GCC47_AARCH64_ASLDLINK_PATH = ENV(GCC47_AARCH64_PREFIX)ld
+*_GCC47_AARCH64_ASM_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_PP_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_VFRPP_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_ASLCC_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_ASLPP_PATH = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_RC_PATH = ENV(GCC47_AARCH64_PREFIX)objcopy
+
+*_GCC47_AARCH64_ASM_FLAGS = DEF(GCC47_AARCH64_ASM_FLAGS)
+*_GCC47_AARCH64_DLINK_FLAGS = DEF(GCC47_AARCH64_DLINK_FLAGS)
+*_GCC47_AARCH64_PLATFORM_FLAGS =
+*_GCC47_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCC47_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
+*_GCC47_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+
+ DEBUG_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -O0
+RELEASE_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable
+
####################################################################################
#
# Cygwin GCC And Intel ACPI Compiler
@@ -3106,9 +3857,9 @@ DEFINE GCC46_ASM_FLAGS = DEF(GCC45_ASM_FLAGS)
*_ELFGCC_IA32_ASM_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IA32_PP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IA32_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
-*_ELFGCC32_IA32_ASLCC_PATH = DEF(ELFGCC_BIN)/gcc
-*_ELFGCC32_IA32_ASLPP_PATH = DEF(ELFGCC_BIN)/gcc
-*_ELFGCC32_IA32_ASLDLINK_PATH = DEF(ELFGCC_BIN)/ld
+*_ELFGCC_IA32_ASLCC_PATH = DEF(ELFGCC_BIN)/gcc
+*_ELFGCC_IA32_ASLPP_PATH = DEF(ELFGCC_BIN)/gcc
+*_ELFGCC_IA32_ASLDLINK_PATH = DEF(ELFGCC_BIN)/ld
*_ELFGCC_IA32_RC_PATH = DEF(ELFGCC_BIN)/objcopy
*_ELFGCC_IA32_CC_FLAGS = -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
@@ -4628,7 +5379,8 @@ RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -Os
#
####################################################################################
-DEFINE RVCT_ALL_CC_FLAGS = --c90 -c --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_warning 167 --diag_style=ide
+DEFINE RVCT_ALL_ASM_FLAGS = --diag_suppress=1786 --diag_error=warning --apcs /interwork
+DEFINE RVCT_ALL_CC_FLAGS = --c90 -c --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_suppress=186 --diag_warning 167 --diag_error=warning --diag_style=ide
DEFINE RVCT_ALL_DLINK_FLAGS = --ro-base 0 --no_scanlib --reloc --no_exceptions --datacompressor off --strict --symbols --diag_style=ide
####################################################################################
@@ -4652,13 +5404,13 @@ DEFINE RVCT_ALL_DLINK_FLAGS = --ro-base 0 --no_scanlib --reloc --no_exceptions
RELEASE_RVCT_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-*_RVCT_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCT_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
*_RVCT_ARM_MAKE_PATH = nmake /NOLOGO
*_RVCT_ARM_SLINK_FLAGS = --partial -o
DEBUG_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
@@ -4680,6 +5432,8 @@ RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_F
*_RVCTLINUX_*_*_FAMILY = RVCT
*_RVCTLINUX_*_*_BUILDRULEFAMILY = RVCTLINUX
+*_RVCTLINUX_*_MAKE_PATH = make
+
#
# Use default values, or override in DSC file
#
@@ -4691,13 +5445,12 @@ RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_F
DEBUG_RVCTLINUX_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
RELEASE_RVCTLINUX_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-*_RVCTLINUX_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCTLINUX_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCTLINUX_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCTLINUX_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
-*_RVCTLINUX_ARM_MAKE_PATH = make
*_RVCTLINUX_ARM_SLINK_FLAGS = --partial -o
DEBUG_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
@@ -4739,13 +5492,13 @@ RELEASE_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL
DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-*_RVCTCYGWIN_ARM_ASM_FLAGS = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCTCYGWIN_ARM_ASM_FLAGS = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCTCYGWIN_ARM_PP_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCTCYGWIN_ARM_VFRPP_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude `cygpath -m $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h`
*_RVCTCYGWIN_ARM_MAKE_PATH = make
*_RVCTCYGWIN_ARM_SLINK_FLAGS = "$(SLINKPATH_FLAG)" --partial -o
DEBUG_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
@@ -4785,16 +5538,16 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
# ARM definitions
##################
-*_ARMGCC_ARM_ASLCC_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-gcc
-*_ARMGCC_ARM_ASLDLINK_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-ld
-*_ARMGCC_ARM_ASLPP_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-gcc
+*_ARMGCC_ARM_ASLCC_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_ARM_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld
+*_ARMGCC_ARM_ASLPP_PATH = ENV(CROSS_COMPILE)gcc
-*_ARMGCC_ARM_CC_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-gcc
-*_ARMGCC_ARM_SLINK_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-ar
-*_ARMGCC_ARM_DLINK_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-ld
-*_ARMGCC_ARM_ASM_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-as
-*_ARMGCC_ARM_PP_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-gcc
-*_ARMGCC_ARM_VFRPP_PATH = ENV(ARMGCC_TOOLS_PATH)arm-none-eabi-gcc
+*_ARMGCC_ARM_CC_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_ARM_SLINK_PATH = ENV(CROSS_COMPILE)ar
+*_ARMGCC_ARM_DLINK_PATH = ENV(CROSS_COMPILE)ld
+*_ARMGCC_ARM_ASM_PATH = ENV(CROSS_COMPILE)as
+*_ARMGCC_ARM_PP_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_ARM_VFRPP_PATH = ENV(CROSS_COMPILE)gcc
#
# Use default values, or override in DSC file
@@ -4813,8 +5566,44 @@ RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-end
*_ARMGCC_ARM_SLINK_FLAGS = -rc
*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
- DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -O0
-RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -Wno-unused
+ DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -O0
+RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -Wno-unused
+
+######################
+# AArch64 definitions
+######################
+# AARCH64 64bit ARM Bare-metal GCC (ARM Architecture 64)
+
+*_ARMGCC_AARCH64_ASLCC_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_AARCH64_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld
+*_ARMGCC_AARCH64_ASLPP_PATH = ENV(CROSS_COMPILE)gcc
+
+*_ARMGCC_AARCH64_CC_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_AARCH64_SLINK_PATH = ENV(CROSS_COMPILE)ar
+*_ARMGCC_AARCH64_DLINK_PATH = ENV(CROSS_COMPILE)ld
+*_ARMGCC_AARCH64_ASM_PATH = ENV(CROSS_COMPILE)as
+*_ARMGCC_AARCH64_PP_PATH = ENV(CROSS_COMPILE)gcc
+*_ARMGCC_AARCH64_VFRPP_PATH = ENV(CROSS_COMPILE)gcc
+
+#
+# Use default values, or override in DSC file
+#
+*_ARMGCC_AARCH64_ARCHCC_FLAGS =
+*_ARMGCC_AARCH64_ARCHASM_FLAGS =
+*_ARMGCC_AARCH64_ARCHDLINK_FLAGS =
+*_ARMGCC_AARCH64_PLATFORM_FLAGS =
+
+ DEBUG_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g
+RELEASE_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS)
+
+*_ARMGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
+*_ARMGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
+
+*_ARMGCC_AARCH64_SLINK_FLAGS = -rc
+*_ARMGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
+ DEBUG_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0
+RELEASE_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable
####################################################################################
#
@@ -4871,8 +5660,44 @@ RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittl
*_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc
*_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
- DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -O0
-RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable
+ DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fno-stack-protector -mno-unaligned-access -O0
+RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fno-stack-protector -mno-unaligned-access -Wno-unused-but-set-variable
+
+######################
+# AArch64 definitions
+######################
+# AARCH64 64bit ARM GNU/Linux GCC (ARM Architecture 64)
+
+*_ARMLINUXGCC_AARCH64_ASLCC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc
+*_ARMLINUXGCC_AARCH64_ASLDLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld
+*_ARMLINUXGCC_AARCH64_ASLPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc
+
+*_ARMLINUXGCC_AARCH64_CC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc
+*_ARMLINUXGCC_AARCH64_SLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ar
+*_ARMLINUXGCC_AARCH64_DLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld
+*_ARMLINUXGCC_AARCH64_ASM_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-as
+*_ARMLINUXGCC_AARCH64_PP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc
+*_ARMLINUXGCC_AARCH64_VFRPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc
+
+#
+# Use default values, or override in DSC file
+#
+*_ARMLINUXGCC_AARCH64_ARCHCC_FLAGS =
+*_ARMLINUXGCC_AARCH64_ARCHASM_FLAGS =
+*_ARMLINUXGCC_AARCH64_ARCHDLINK_FLAGS =
+*_ARMLINUXGCC_AARCH64_PLATFORM_FLAGS =
+
+ DEBUG_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g
+RELEASE_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS)
+
+*_ARMLINUXGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
+*_ARMLINUXGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
+
+*_ARMLINUXGCC_AARCH64_SLINK_FLAGS = -rc
+*_ARMLINUXGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
+ DEBUG_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0
+RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable
#################
# ASM 16 linker defintions