summaryrefslogtreecommitdiff
path: root/gdb/features/gdb-target.dtd
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/features/gdb-target.dtd')
-rw-r--r--gdb/features/gdb-target.dtd54
1 files changed, 54 insertions, 0 deletions
diff --git a/gdb/features/gdb-target.dtd b/gdb/features/gdb-target.dtd
new file mode 100644
index 00000000000..6e01b703fcf
--- /dev/null
+++ b/gdb/features/gdb-target.dtd
@@ -0,0 +1,54 @@
+<!-- The root element of a GDB target description is <target>. It
+ contains a list of feature definitions, followed by a feature-set.
+ This is also the only point at which xi:include is supported;
+ it must be used with xpointer to fetch a feature, from a
+ document whose root element is either target or feature. -->
+
+<!ELEMENT target (feature*, feature-set)>
+<!ATTLIST target
+ xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
+
+<!ELEMENT feature-set (description*, feature-ref+)>
+
+<!-- QUESTION: Is there any reason for feature-ref to have its own
+ descriptions? Or a short name field (descriptive)? -->
+<!ELEMENT feature-ref EMPTY>
+<!ATTLIST feature-ref
+ name IDREF #REQUIRED
+ base-regnum CDATA #IMPLIED>
+
+<!-- TODO: Handle arch_data, maybe as unvalidated fields; do we want
+ to define a namespace for arch-specific fields? Issue for feature
+ and for reg. -->
+
+<!-- QUESTION: Should the feature also have a short description to identify
+ it? The format of its "name" field is restricted and probably not
+ user-appropriate. -->
+<!ELEMENT feature (description*, reg*)>
+<!ATTLIST feature
+ name ID #REQUIRED>
+
+<!-- TODO: GDB does not yet support descriptions. -->
+
+<!-- Registers are not required to have an explicit register number field;
+ they are numbered sequentially starting at zero. If a register does
+ have an explicit number, the next register will be assigned the next
+ sequential number by default. When the feature is referenced, register
+ numbers are adjusted by the reference's base-regnum. -->
+<!-- arch_data; see above -->
+<!-- TODO: Allow save-restore default to be specified by the feature?
+ Computation coprocessors should generally be saved and restored,
+ but system control coprocessors generally shouldn't. -->
+<!ELEMENT reg (description*)>
+<!ATTLIST reg
+ name CDATA #REQUIRED
+ bitsize CDATA #REQUIRED
+ regnum CDATA #IMPLIED
+ save-restore (yes | no) 'yes'
+ type CDATA 'int'
+ group CDATA #IMPLIED
+ >
+
+<!ELEMENT description (#PCDATA)>
+<!ATTLIST description
+ xml:lang CDATA #IMPLIED>