+ <xs:attribute name="Name" type="UCNameType" use="required"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Flash">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="FlashDefinitionFile"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="FvImages"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="MicrocodeFile" type="PathAndFilename" use="optional"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <!-- Valid Flash Definition Files that can be used for a platform The UiName and Perferred tags are optional, for use with Wizards.-->\r
+ <xs:element name="FlashDefinitionFile">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="PathAndFilename">\r
+ <!-- Id will be required eventually. -->\r
+ <xs:attribute name="Id" type="KeywordType" use="optional"/>\r
+ <xs:attribute name="UiName" type="UiNameType" use="optional"/>\r
+ <xs:attribute name="Preferred" type="xs:boolean" use="optional" default="false"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <!-- For Future Use! -->\r
+ <!-- This describes the physical layout of the hardware device, used by tools to verify different regions fit within a given number of blocks. -->\r
+ <!-- An EFI Region MUST start on a block boundary. A region may span multiple blocks. -->\r
+ <xs:element name="FlashDevice">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="PartNumber" type="xs:NCName"/>\r
+ <xs:choice>\r
+ <xs:sequence minOccurs="0">\r
+ <!-- Use this sequence for a part with fixed block sizes -->\r
+ <xs:element minOccurs="1" maxOccurs="1" name="NumBlocks" type="xs:positiveInteger"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" name="BlockSize" type="HexAddressType"/>\r
+ </xs:sequence>\r
+ <xs:sequence minOccurs="0">\r
+ <!-- Use this sequence for a part with variable block sizes -->\r
+ <xs:element maxOccurs="unbounded" name="VariableBlockSize">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="HexAddressType">\r
+ <xs:attribute name="BlockNum" type="xs:nonNegativeInteger" use="required"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:choice>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FlashDeviceDefinitions">\r
+ <xs:complexType>\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">We allow specifying the FlashMap filename</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="FlashDefinitionFile"/>\r
+ <xs:element minOccurs="1" maxOccurs="1" ref="FvImages"/>\r
+ <!-- DataRegions is for Future Use! -->\r
+ <xs:element minOccurs="0" maxOccurs="1" ref="DataRegions"/>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="FvImageBindingSequence"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FrameworkModules">\r
+ <xs:annotation>\r
+ <xs:documentation xml:lang="en">This is used in a Framework Platform Description (FPD) file</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="ModuleSA"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FvAttribute">\r
+ <xs:complexType>\r
+ <xs:attribute name="Name" type="xs:NCName" use="required"/>\r
+ <xs:attribute name="Value" type="xs:normalizedString" use="required"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FwImage">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="1" ref="FvRegionName"/>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvOption"/>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvAttribute"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="FvImageBindingSequence">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="ValidRegionNameListType">\r
+ <xs:attribute name="PartId" type="KeywordType" use="required"/>\r
+ <xs:attribute name="OutputFile" type="PathAndFilename" use="required"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\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:choice>\r
+ <xs:sequence minOccurs="0">\r
+ <!-- This is the current style -->\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="NameValue">\r
+ <xs:complexType>\r
+ <xs:attribute name="Name" type="xs:string" use="required"/>\r
+ <xs:attribute name="Value" type="xs:string" use="required"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice>\r
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FvImage">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="FvImageNames" type="xs:NCName"/>\r
+ <xs:element minOccurs="0" maxOccurs="1" name="FvImageOptions">\r