- <xs:annotation>\r
- <xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Elements that are specific to platform creation.</xs:documentation>\r
- </xs:annotation>\r
- <xs:include schemaLocation="NamingConvention.xsd"/>\r
- <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
- <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
- <xs:element name="Capsule">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="1" maxOccurs="1" name="CapsuleId" type="xs:string"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="CapsuleOptions"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="CapsuleAttributes"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="CapsuleAttributes">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="CapsuleOptions">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Capsules">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">Permit multiple Capsule Sections</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
- <xs:element ref="Capsule"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Disable" type="xs:string"/>\r
- <xs:element name="Enable" type="xs:string"/>\r
- <xs:element name="Flash">\r
- <xs:complexType>\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">We allow specifying the Flash layout in this directory, or we allow specifying a flashmap filename</xs:documentation>\r
- </xs:annotation>\r
- <xs:sequence>\r
- <xs:choice>\r
- <xs:element name="FlashDefinition" type="FlashData"/>\r
- <xs:element name="FlashDefinitionFile" type="FileNameConvention"/>\r
- </xs:choice>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImages"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Capsules"/>\r
- </xs:sequence>\r
- <xs:attribute name="MicrocodeFile" type="FileNameConvention" use="optional"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FlashDeviceImage">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">Define contents of the regions in flash. The files and data are placed in the output image in the order they are encountered in this definition. Multiple FlashDeviceImage sections may be defined. Which one the tool should use is specified by Name on the command line.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
- <xs:element minOccurs="1" maxOccurs="1" name="Name" type="NameConvention"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="File" type="FvImageFileType"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FlashDeviceInfo">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This is the Flash Devcie definition List</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="1" maxOccurs="1" name="Name" type="UCNameType"/>\r
- <xs:element default="512KB" minOccurs="1" maxOccurs="1" name="FlashSize" type="FlashSize"/>\r
- <xs:element minOccurs="1" maxOccurs="1" name="BaseAddress" type="HexAddressType"/>\r
- <xs:element minOccurs="1" maxOccurs="1" name="OutputDirectory" type="DirectoryNamingConvention"/>\r
- <xs:element minOccurs="0" maxOccurs="1" name="MicrocodeFile" type="FileNameConvention"/>\r
- <xs:element minOccurs="1" maxOccurs="255" name="Block" type="BlockNameType"/>\r
- <xs:element minOccurs="1" maxOccurs="unbounded" name="Region" type="RegionDataType"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FlashDeviceOverrideImage">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">Define OVERRIDE contents of the regions in flash. Only what is different here from what may defined in other areas (or files) is needed </xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="1" name="Name" type="NameConvention"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="File" type="FvImageOverrideFileType"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FlashDeviceOverrideInfo">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This is the Flash Devcie Override Definition list. Only what is different from the previously defined stuff needs to be included.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="1" name="Name" type="UCNameType"/>\r
- <xs:element default="512KB" minOccurs="0" maxOccurs="1" name="FlashSize" type="FlashSize"/>\r
- <xs:element minOccurs="0" maxOccurs="1" name="BaseAddress" type="HexAddressType"/>\r
- <xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="DirectoryNamingConvention"/>\r
- <xs:element minOccurs="0" maxOccurs="1" name="MicrocodeFile" type="FileNameConvention"/>\r
- <xs:element minOccurs="0" maxOccurs="255" name="Block" type="BlockNameType"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Region" type="RegionDataType"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FvImage">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="FvImageNames"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="FvImageOptions"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type" type="xs:string" use="optional"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FvImageName">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="FvImageOptions"/>\r
- </xs:sequence>\r
- <xs:attribute name="Name" type="FvRegionTypes" use="required"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FvImageNames" type="xs:string"/>\r
- <xs:element name="FvImageOptions">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="FvImages">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This section allows the user to define specific information regarding the FvImage</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImage"/>\r
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImageName"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="ModuleSA">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This element is used to specify information in the Platform Description File.</xs:documentation>\r
- <xs:documentation xml:lang="en">This is a mixed element, allowing the user to specify the name of the MSA file, as well as to optionally specify additional override information.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence minOccurs="1">\r
- <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="MsaAttributes"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="NameValue">\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="xs:string">\r
- <xs:attribute name="Name" type="xs:string" use="required"/>\r
- <xs:attribute name="Value" type="xs:string" use="required"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Overrides">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceOverrideInfo"/>\r
- <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceOverrideImage"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PlatformDescriptions">\r
- <xs:complexType>\r
- <xs:sequence maxOccurs="unbounded">\r
- <xs:element ref="Platform"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="TianoImage">\r
- <xs:annotation>\r
- <xs:documentation xml:lang="en">This defines the required sections of a valid EFI/Tiano binary image</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r