aboutsummaryrefslogtreecommitdiff
path: root/gdb/features
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/features')
-rw-r--r--gdb/features/arm-core.xml31
-rw-r--r--gdb/features/arm-fpa.xml23
-rw-r--r--gdb/features/gdb-target.dtd31
3 files changed, 84 insertions, 1 deletions
diff --git a/gdb/features/arm-core.xml b/gdb/features/arm-core.xml
new file mode 100644
index 0000000..c2718f5
--- /dev/null
+++ b/gdb/features/arm-core.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.core">
+ <reg name="r0" bitsize="32"/>
+ <reg name="r1" bitsize="32"/>
+ <reg name="r2" bitsize="32"/>
+ <reg name="r3" bitsize="32"/>
+ <reg name="r4" bitsize="32"/>
+ <reg name="r5" bitsize="32"/>
+ <reg name="r6" bitsize="32"/>
+ <reg name="r7" bitsize="32"/>
+ <reg name="r8" bitsize="32"/>
+ <reg name="r9" bitsize="32"/>
+ <reg name="r10" bitsize="32"/>
+ <reg name="r11" bitsize="32"/>
+ <reg name="r12" bitsize="32"/>
+ <reg name="sp" bitsize="32"/>
+ <reg name="lr" bitsize="32"/>
+ <reg name="pc" bitsize="32"/>
+
+ <!-- The CPSR is register 25, rather than register 16, because
+ the FPA registers historically were placed between the PC
+ and the CPSR in the "g" packet. -->
+ <reg name="cpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm-fpa.xml
new file mode 100644
index 0000000..87a5b89
--- /dev/null
+++ b/gdb/features/arm-fpa.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.fpa">
+ <!-- f0's regnum is set explicitly, because the FPA registers
+ historically were placed between the PC and the CPSR in the "g"
+ packet - in the middle of org.gnu.gdb.arm.core. -->
+ <reg name="f0" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+ <reg name="f1" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f2" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f3" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f4" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f5" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f6" bitsize="96" type="arm_fpa_ext"/>
+ <reg name="f7" bitsize="96" type="arm_fpa_ext"/>
+
+ <reg name="fps" bitsize="32"/>
+</feature>
diff --git a/gdb/features/gdb-target.dtd b/gdb/features/gdb-target.dtd
index 8bcb049..b05e063 100644
--- a/gdb/features/gdb-target.dtd
+++ b/gdb/features/gdb-target.dtd
@@ -6,9 +6,38 @@
<!-- The root element of a GDB target description is <target>. -->
-<!ELEMENT target (architecture?)>
+<!ELEMENT target (architecture?, feature*)>
<!ELEMENT architecture (#PCDATA)>
+<!ELEMENT feature ((vector | union)*, reg*)>
+<!ATTLIST feature
+ name ID #REQUIRED>
+
+<!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 vector EMPTY>
+<!ATTLIST vector
+ id CDATA #REQUIRED
+ type CDATA #REQUIRED
+ count CDATA #REQUIRED>
+
+<!ELEMENT union (field+)>
+<!ATTLIST union
+ id CDATA #REQUIRED>
+
+<!ELEMENT field EMPTY>
+<!ATTLIST field
+ name CDATA #REQUIRED
+ type CDATA #REQUIRED>
+
<!ENTITY % xinclude SYSTEM "xinclude.dtd">
%xinclude;