[GCCE] We need a way for the HAL config extension to parameterise the HAL config file (.hcf) that will be used, depending upon
the toolchain we are building with. E.g. if we are building BeagleBoard with RVCT we can configure hardware floating point
because we have ARM's vfp math libraries; if we are building it with GCC, we lack this library support.
<!ELEMENT imageContent (version?, romchecksum?, time?,
options?, romgeometry, romtarget, romscope?)+>
<!ELEMENT version (#PCDATA)>
<!ELEMENT romchecksum (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT romgeometry (image+)>
<!ELEMENT romtarget (target+)>
<!ELEMENT romscope ((obyFile|cdf)+)>
<!ELEMENT options ((binaryselectionorder | trace | bootbinary |
dataaddress | debugport |
defaultstackreserve | device |
wrapper | kernel | primary+ |
secondary+ | romalign | romlinearbase |
variant | autosize | extension | coreimage)+)>
<!ELEMENT binaryselectionorder (#PCDATA)>
<!ELEMENT trace (#PCDATA)>
<!ELEMENT bootbinary (#PCDATA)>
<!ELEMENT wrapper (#PCDATA)>
<!ATTLIST wrapper type (none|epoc|coff) #REQUIRED>
<!ELEMENT kernel (dataaddress, heapmax, heapmin, name, trace?)>
<!ATTLIST kernel number (single|multi) #IMPLIED>
<!ELEMENT heapmax (#PCDATA)>
<!ELEMENT heapmin (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT dataaddress (#PCDATA)>
<!ELEMENT debugport (#PCDATA)>
<!ELEMENT defaultstackreserve (#PCDATA)>
<!ELEMENT device (file+)>
<!ELEMENT primary (file+)>
<!ELEMENT secondary (file+)>
<!ELEMENT variant (file+)>
<!ELEMENT extension (file+)>
<!ELEMENT romalign (#PCDATA)>
<!ELEMENT romlinearbase (#PCDATA)>
<!ELEMENT autosize (#PCDATA)>
<!ELEMENT coreimage (#PCDATA)>
<!ELEMENT file (source,destination,fixed?)>
<!ATTLIST file
id CDATA #REQUIRED>
<!ELEMENT source (#PCDATA)>
<!ELEMENT destination (#PCDATA)>
<!ELEMENT fixed (#PCDATA)>
<!ELEMENT image (partition?)>
<!ATTLIST image
id CDATA #REQUIRED
name CDATA #REQUIRED
type (xip|nonxip) #REQUIRED
compression (compress|nocompress) #IMPLIED
extension (yes|no) "no"
size CDATA #REQUIRED>
<!ELEMENT target (include,exclude?)>
<!ATTLIST target imageid CDATA #REQUIRED>
<!--- target imageid of any allowed where it there is no constraints on
which image the files should be placed. -->
<!ELEMENT include ((feature|obyFile|cdf)+)>
<!ELEMENT exclude (feature+)>
<!ELEMENT partition (#PCDATA)>
<!ELEMENT feature EMPTY>
<!ATTLIST feature name CDATA #IMPLIED
uid CDATA #IMPLIED>
<!ELEMENT obyFile (#PCDATA)>
<!ELEMENT cdf (#PCDATA)>
<!ATTLIST cdf type (file|dir) "file">