diff options
Diffstat (limited to 'gdb/features')
-rw-r--r-- | gdb/features/arm-core.xml | 31 | ||||
-rw-r--r-- | gdb/features/arm-fpa.xml | 23 | ||||
-rw-r--r-- | gdb/features/gdb-target.dtd | 31 |
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; |