]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Modified the FlashDeviceInfo and FlashDeviceImage elements (when not using the FDF...
authorlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 11 May 2006 14:36:47 +0000 (14:36 +0000)
committerlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 11 May 2006 14:36:47 +0000 (14:36 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@128 6f19259b-4bc3-4df7-8a09-765794883524

Tools/XMLSchema/FrameworkPlatformDataElements.xsd

index 7702f02e370c812bce1113c537cc5e0be8bec483..9a89ae2d4826611bf65f1e9a33d64b8ea8a6014d 100644 (file)
             <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:all>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="RawData">\r
+                    <xs:complexType>\r
+                        <xs:sequence minOccurs="0" maxOccurs="1">\r
+                            <xs:element name="Data" type="xs:string"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="RawDataAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="File">\r
+                    <xs:complexType>\r
+                        <xs:attributeGroup ref="FlashDeviceImageFileAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+            </xs:all>\r
+            <xs:attributeGroup ref="FlashDeviceImageAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="FlashDeviceInfo">\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:element name="Blocks">\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="255" name="Block">\r
+                                <xs:complexType>\r
+                                    <xs:simpleContent>\r
+                                        <xs:extension base="BlockNameType">\r
+                                            <xs:attributeGroup ref="BlockAttributes"/>\r
+                                        </xs:extension>\r
+                                    </xs:simpleContent>\r
+                                </xs:complexType>\r
+                            </xs:element>\r
+                        </xs:sequence>\r
+                    </xs:complexType>\r
+                </xs:element>\r
+                <xs:element name="Regions">\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Region">\r
+                                <xs:complexType>\r
+                                    <xs:all>\r
+                                        <xs:element name="SubRegions">\r
+                                            <xs:complexType>\r
+                                                <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
+                                                    <xs:element name="SubRegion">\r
+                                                        <xs:complexType>\r
+                                                            <xs:simpleContent>\r
+                                                                <xs:extension base="xs:string">\r
+                                                                    <xs:attributeGroup ref="SubRegionAttributes"/>\r
+                                                                </xs:extension>\r
+                                                            </xs:simpleContent>\r
+                                                        </xs:complexType>\r
+                                                    </xs:element>\r
+                                                </xs:sequence>\r
+                                            </xs:complexType>\r
+                                        </xs:element>\r
+                                    </xs:all>\r
+                                    <xs:attributeGroup ref="RegionAttributes"/>\r
+                                </xs:complexType>\r
+                            </xs:element>\r
+                        </xs:sequence>\r
+                    </xs:complexType>\r
+                </xs:element>\r
             </xs:sequence>\r
+            <xs:attributeGroup ref="BlockAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <xs:element name="FlashDeviceOverrideImage">\r
             <xs:element minOccurs="1" maxOccurs="1" name="NameGuid" type="EfiNameGuidType"/>\r
         </xs:sequence>\r
     </xs:complexType>\r
+    <xs:attributeGroup name="BlockAttributes">\r
+        <xs:attribute name="Name" type="BlockNameType" use="required"/>\r
+        <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
+        <xs:attribute name="Flags" type="HexAddressType" use="optional"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="FlashDeviceImageAttributes">\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="FlashDeviceImageFileAttributes">\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+        <xs:attribute name="Region" type="xs:string" use="required"/>\r
+        <xs:attribute name="SubRegion" type="xs:string" use="optional"/>\r
+        <xs:attribute name="Optional" type="xs:boolean" use="optional"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="FlashDeviceInfoAttributes">\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+        <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
+        <xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>\r
+        <xs:attribute name="ErasePolarity" type="ZeroOrOne" use="required"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="RawDataAttributes">\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+        <xs:attribute name="Region" type="xs:string" use="required"/>\r
+        <xs:attribute name="SubRegion" type="xs:string" use="required"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="RegionAttributes">\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+        <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
+        <xs:attribute name="Flags" type="HexAddressType" use="optional"/>\r
+        <xs:attribute name="Alignment" type="HexAddressType" use="optional"/>\r
+        <xs:attribute name="Attributes" type="xs:string" use="required"/>\r
+        <xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>\r
+    </xs:attributeGroup>\r
+    <xs:attributeGroup name="SubRegionAttributes">\r
+        <xs:attribute name="CreateHob" type="xs:boolean" use="required"/>\r
+        <xs:attribute name="Name" type="xs:string" use="required"/>\r
+        <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
+        <xs:attribute name="Attributes" type="xs:string" use="required"/>\r
+        <xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>\r
+        <xs:attribute name="NameGuid" type="xs:string" use="required"/>\r
+        <xs:attribute name="AreaTypeGuid" type="xs:string" use="optional"/>\r
+        <xs:attribute name="FileSystemGuid" type="xs:string" use="optional"/>\r
+    </xs:attributeGroup>\r
 </xs:schema>\r