This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA 6/8] New port: TI C6x: gdbserver


On 07/27/2011 01:17 PM, Eli Zaretskii wrote:
>> Date: Wed, 27 Jul 2011 11:45:24 +0800
>> From: Yao Qi <yao@codesourcery.com>
>> CC: gdb-patches@sourceware.org
>>
>> I've sorted this into alpha-beta order in new patch.  Eli, could you
>> have a review on new document part in this patch?
> 
> Here goes:
> 
>>         gdb/doc/
>>         * gdb.texinfo: Document C6x features.
> 
> You need to state the name of the node here, see the other log
> entries.
> 

OK, fixed.

>> +@node C6x Features
>> +@subsection C6x Features
> 
> How about using a more full/explicit name of the target in the
> subsection name?  After all, C6x is just an abbreviation/acronym.  I
> would assume that users of these targets will at least expect to see
> something like TMS320C6x, if not "Texas Instruments".
> 

Agreed.  Full name "TMS320C6x" is used.

>> +@cindex target descriptions, C6x features
> 
> Same here: I would suggest an additional @cindex entry with the full
> name.
> 

Added.

>> +The @samp{org.gnu.gdb.tic6x.core} feature is required for C6x
>> +targets.
> 
> Same here: mention the full name in the text once.
> 

Fixed.

> What about NEWS? do we want this addition mentioned there?
> 

Yes, I've sent an updated NEWS and copied you.

  New port: TI C6x: NEWS
  http://sourceware.org/ml/gdb-patches/2011-07/msg00750.html

Beside NEWS, we also have a documentation patch on a new packet in
remote protocol.  Please review.

  New port: TI C6x: Document on qXfer:fdpic:read packet
  http://sourceware.org/ml/gdb-patches/2011-07/msg00568.html

>>         gdb/
>>         * features/Makefile (WHICH): Add tic6x-c64xp-linux tic6x-c64x-linux
>>         and tic6x-c62x-linux.
>>         * features/tic6x-c6xp.xml: New.
>>         * features/tic6x-core.xml: New.
>>         * features/tic6x-gp.xml: New.
>>         * features/tic6x-c62x-linux.xml: New.
>>         * features/tic6x-c64x-linux.xml: New.
>>         * features/tic6x-c64xp-linux.xml: New.
>> 	* features/tic6x-c64xp-linux.c: Generated.
>> 	* features/tic6x-c64x-linux.c: Generated.
>>         * features/tic6x-c62x-linux.c: Generated.
>>         * regformats/tic6x-c62x-linux.dat: Generated.
>>         * regformats/tic6x-c64x-linux.dat: Generated.
>>         * regformats/tic6x-c64xp-linux.dat: Generated.
> 
> Quite a few of these files will trigger ARI alerts about file-name
> collisions on 8+3 filesystems.  Please consider updating fnchange.lst.

Added these new file names in fnchange.lst.

-- 
Yao (éå)
        gdb/doc/
        * gdb.texinfo (Standard Target Features): Document C6x features.

        gdb/
        * features/Makefile (WHICH): Add tic6x-c64xp-linux tic6x-c64x-linux
        and tic6x-c62x-linux.
        * features/tic6x-c6xp.xml: New.
        * features/tic6x-core.xml: New.
        * features/tic6x-gp.xml: New.
        * features/tic6x-c62x-linux.xml: New.
        * features/tic6x-c64x-linux.xml: New.
        * features/tic6x-c64xp-linux.xml: New.
	* features/tic6x-c64xp-linux.c: Generated.
	* features/tic6x-c64x-linux.c: Generated.
        * features/tic6x-c62x-linux.c: Generated.
        * regformats/tic6x-c62x-linux.dat: Generated.
        * regformats/tic6x-c64x-linux.dat: Generated.
        * regformats/tic6x-c64xp-linux.dat: Generated.

	* config/djgpp/fnchange.lst: Add features/tic6x-*.xml and
	features/tic6x-*.c files.
	Add regformats/tic6x-*-linux.dat files.
	Add tic6x-tdep.c, tic6x-tdep.h and tic6x-linux-tdep.c.
---
 gdb/config/djgpp/fnchange.lst        |    9 +++
 gdb/doc/gdb.texinfo                  |   16 ++++++
 gdb/features/Makefile                |    7 ++-
 gdb/features/tic6x-c62x-linux.c      |   56 ++++++++++++++++++++
 gdb/features/tic6x-c62x-linux.xml    |   13 +++++
 gdb/features/tic6x-c64x-linux.c      |   90 ++++++++++++++++++++++++++++++++
 gdb/features/tic6x-c64x-linux.xml    |   14 +++++
 gdb/features/tic6x-c64xp-linux.c     |   95 ++++++++++++++++++++++++++++++++++
 gdb/features/tic6x-c64xp-linux.xml   |   15 +++++
 gdb/features/tic6x-c6xp.xml          |   13 +++++
 gdb/features/tic6x-core.xml          |   44 ++++++++++++++++
 gdb/features/tic6x-gp.xml            |   42 +++++++++++++++
 gdb/regformats/tic6x-c62x-linux.dat  |   38 +++++++++++++
 gdb/regformats/tic6x-c64x-linux.dat  |   70 +++++++++++++++++++++++++
 gdb/regformats/tic6x-c64xp-linux.dat |   73 ++++++++++++++++++++++++++
 15 files changed, 593 insertions(+), 2 deletions(-)
 create mode 100644 gdb/features/tic6x-c62x-linux.c
 create mode 100644 gdb/features/tic6x-c62x-linux.xml
 create mode 100644 gdb/features/tic6x-c64x-linux.c
 create mode 100644 gdb/features/tic6x-c64x-linux.xml
 create mode 100644 gdb/features/tic6x-c64xp-linux.c
 create mode 100644 gdb/features/tic6x-c64xp-linux.xml
 create mode 100644 gdb/features/tic6x-c6xp.xml
 create mode 100644 gdb/features/tic6x-core.xml
 create mode 100644 gdb/features/tic6x-gp.xml
 create mode 100644 gdb/regformats/tic6x-c62x-linux.dat
 create mode 100644 gdb/regformats/tic6x-c64x-linux.dat
 create mode 100644 gdb/regformats/tic6x-c64xp-linux.dat

diff --git a/gdb/config/djgpp/fnchange.lst b/gdb/config/djgpp/fnchange.lst
index 4b86c31..71b79b3 100644
--- a/gdb/config/djgpp/fnchange.lst
+++ b/gdb/config/djgpp/fnchange.lst
@@ -240,6 +240,11 @@
 @V@/gdb/features/i386/i386-mmx.c @V@/gdb/features/i386/i32-m.c
 @V@/gdb/features/i386/i386-mmx-linux.xml @V@/gdb/features/i386/i32-ml.xml
 @V@/gdb/features/i386/i386-mmx.xml @V@/gdb/features/i386/i32-m.xml
+@V@/gdb/features/tic6x-core.xml @V@/gdb/features/tic6x-gp.xml
+@V@/gdb/features/tic6x-c6xp.xml @V@/gdb/features/tic6x-c62x-linux.xml
+@V@/gdb/features/tic6x-c64x-linux.xml @V@/gdb/features/tic6x-c64xp-linux.xml
+@V@/gdb/features/tic6x-c64xp-linux.c @V@/gdb/features/tic6x-c64x-linux.c
+@V@/gdb/features/tic6x-c62x-linux.c
 @V@/gdb/f-exp.tab.c @V@/gdb/f-exp_tab.c
 @V@/gdb/gdbserver/linux-cris-low.c @V@/gdb/gdbserver/lx-cris.c
 @V@/gdb/gdbserver/linux-crisv32-low.c @V@/gdb/gdbserver/lx-cris32.c
@@ -341,6 +346,8 @@
 @V@/gdb/regformats/rs6000/powerpc-vsx64l.dat @V@/gdb/regformats/rs6000/ppc-v64l.dat
 @V@/gdb/regformats/rs6000/powerpc-cell32l.dat @V@/gdb/regformats/rs6000/ppc-c32l.dat
 @V@/gdb/regformats/rs6000/powerpc-cell64l.dat @V@/gdb/regformats/rs6000/ppc-c64l.dat
+@V@/gdb/regformats/tic6x-c62x-linux.dat @V@/gdb/regformats/tic6x-c64x-linux.dat
+@V@/gdb/regformats/tic6x-c64xp-linux.dat
 @V@/gdb/remote-e7000.c @V@/gdb/rmt-e7000.c
 @V@/gdb/remote-est.c @V@/gdb/rmt-est.c
 @V@/gdb/remote-mips.c @V@/gdb/rmt-mips.c
@@ -368,6 +375,8 @@
 @V@/gdb/sparc-linux-tdep.c @V@/gdb/splx-tdep.c
 @V@/gdb/sparc-sol2-nat.c @V@/gdb/spsol2-nat.c
 @V@/gdb/sparc-sol2-tdep.c @V@/gdb/spsol2-tdep.c
+@V@/gdb/tic6x-tdep.c @V@/gdb/tic6x-tdep.h
+@V@/gdb/tic6x-linux-tdep.c
 @V@/gdb/testsuite/.gdbinit @V@/gdb/testsuite/gdb.ini
 @V@/gdb/testsuite/gdb.arch/altivec-abi.c @V@/gdb/testsuite/gdb.arch/av-abi.c
 @V@/gdb/testsuite/gdb.arch/altivec-abi.exp @V@/gdb/testsuite/gdb.arch/av-abi.exp
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 37c81b8..b5b6c74 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -36854,6 +36854,7 @@ registers using the capitalization used in the description.
 * MIPS Features::
 * M68K Features::
 * PowerPC Features::
+* TIC6x Features::
 @end menu
 
 
@@ -37015,6 +37016,21 @@ contain registers @samp{ev0h} through @samp{ev31h}, @samp{acc}, and
 these to present registers @samp{ev0} through @samp{ev31} to the
 user.
 
+@node TIC6x Features
+@subsection TMS320C6x Features
+@cindex target descriptions, TIC6x features
+@cindex target descriptions, TMS320C6x features
+The @samp{org.gnu.gdb.tic6x.core} feature is required for TMS320C6x
+targets.  It should contain registers @samp{A0} through @samp{A15},
+registers @samp{B0} through @samp{B15}, @samp{CSR} and @samp{PC}.
+
+The @samp{org.gnu.gdb.tic6x.gp} feature is optional.  It should
+contain registers @samp{A16} through @samp{A31} and @samp{B16}
+through @samp{B31}.
+
+The @samp{org.gnu.gdb.tic6x.c6xp} feature is optional.  It should
+contain registers @samp{TSR}, @samp{ILC} and @samp{RILC}.
+
 @node Operating System Information
 @appendix Operating System Information
 @cindex operating system information
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index 4e8e7ee..e7e72d1 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -41,7 +41,8 @@ WHICH = arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
 	rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \
 	rs6000/powerpc-64l rs6000/powerpc-altivec64l rs6000/powerpc-vsx32l \
 	rs6000/powerpc-vsx64l rs6000/powerpc-cell32l rs6000/powerpc-cell64l \
-	s390-linux32 s390-linux64 s390x-linux64
+	s390-linux32 s390-linux64 s390x-linux64 \
+	tic6x-c64xp-linux tic6x-c64x-linux tic6x-c62x-linux
 
 # Record which registers should be sent to GDB by default after stop.
 arm-expedite = r11,sp,pc
@@ -63,7 +64,9 @@ rs6000/powerpc-cell64l-expedite = r1,pc,r0,orig_r3,r4
 s390-linux32-expedite = r14,r15,pswa
 s390-linux64-expedite = r14l,r15l,pswa
 s390x-linux64-expedite = r14,r15,pswa
-
+tic6x-c64xp-linux-expedite = A15,PC
+tic6x-c64x-linux-expedite = A15,PC
+tic6x-c62x-linux-expedite = A15,PC
 
 XSLTPROC = xsltproc
 outdir = ../regformats
diff --git a/gdb/features/tic6x-c62x-linux.c b/gdb/features/tic6x-c62x-linux.c
new file mode 100644
index 0000000..df82fc2
--- /dev/null
+++ b/gdb/features/tic6x-c62x-linux.c
@@ -0,0 +1,56 @@
+/* THIS FILE IS GENERATED.  Original: tic6x-c62x-linux.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_tic6x_c62x_linux;
+static void
+initialize_tdesc_tic6x_c62x_linux (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+  struct tdesc_type *field_type, *type;
+
+  set_tdesc_architecture (result, bfd_scan_arch ("tic6x"));
+
+  set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux"));
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core");
+  tdesc_create_reg (feature, "A0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A13", 13, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A14", 14, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A15", 15, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B0", 16, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B1", 17, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B2", 18, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B3", 19, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B4", 20, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B5", 21, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B6", 22, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B7", 23, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B8", 24, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B9", 25, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B10", 26, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B11", 27, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B12", 28, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B13", 29, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B14", 30, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B15", 31, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "CSR", 32, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "PC", 33, 1, NULL, 32, "code_ptr");
+
+  tdesc_tic6x_c62x_linux = result;
+}
diff --git a/gdb/features/tic6x-c62x-linux.xml b/gdb/features/tic6x-c62x-linux.xml
new file mode 100644
index 0000000..0319438
--- /dev/null
+++ b/gdb/features/tic6x-c62x-linux.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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 target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>tic6x</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="tic6x-core.xml"/>
+</target>
diff --git a/gdb/features/tic6x-c64x-linux.c b/gdb/features/tic6x-c64x-linux.c
new file mode 100644
index 0000000..39f9e95
--- /dev/null
+++ b/gdb/features/tic6x-c64x-linux.c
@@ -0,0 +1,90 @@
+/* THIS FILE IS GENERATED.  Original: tic6x-c64x-linux.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_tic6x_c64x_linux;
+static void
+initialize_tdesc_tic6x_c64x_linux (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+  struct tdesc_type *field_type, *type;
+
+  set_tdesc_architecture (result, bfd_scan_arch ("tic6x"));
+
+  set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux"));
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core");
+  tdesc_create_reg (feature, "A0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A13", 13, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A14", 14, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A15", 15, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B0", 16, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B1", 17, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B2", 18, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B3", 19, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B4", 20, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B5", 21, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B6", 22, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B7", 23, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B8", 24, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B9", 25, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B10", 26, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B11", 27, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B12", 28, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B13", 29, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B14", 30, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B15", 31, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "CSR", 32, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "PC", 33, 1, NULL, 32, "code_ptr");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp");
+  tdesc_create_reg (feature, "A16", 34, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A17", 35, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A18", 36, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A19", 37, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A20", 38, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A21", 39, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A22", 40, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A23", 41, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A24", 42, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A25", 43, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A26", 44, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A27", 45, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A28", 46, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A29", 47, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A30", 48, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A31", 49, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B16", 50, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B17", 51, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B18", 52, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B19", 53, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B20", 54, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B21", 55, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B22", 56, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B23", 57, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B24", 58, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B25", 59, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B26", 60, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B27", 61, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B28", 62, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B29", 63, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B30", 64, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B31", 65, 1, NULL, 32, "uint32");
+
+  tdesc_tic6x_c64x_linux = result;
+}
diff --git a/gdb/features/tic6x-c64x-linux.xml b/gdb/features/tic6x-c64x-linux.xml
new file mode 100644
index 0000000..2d11bd0
--- /dev/null
+++ b/gdb/features/tic6x-c64x-linux.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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 target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>tic6x</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="tic6x-core.xml"/>
+  <xi:include href="tic6x-gp.xml"/>
+</target>
diff --git a/gdb/features/tic6x-c64xp-linux.c b/gdb/features/tic6x-c64xp-linux.c
new file mode 100644
index 0000000..a959ec6
--- /dev/null
+++ b/gdb/features/tic6x-c64xp-linux.c
@@ -0,0 +1,95 @@
+/* THIS FILE IS GENERATED.  Original: tic6x-c64xp-linux.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_tic6x_c64xp_linux;
+static void
+initialize_tdesc_tic6x_c64xp_linux (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+  struct tdesc_type *field_type, *type;
+
+  set_tdesc_architecture (result, bfd_scan_arch ("tic6x"));
+
+  set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux"));
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core");
+  tdesc_create_reg (feature, "A0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A13", 13, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A14", 14, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A15", 15, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B0", 16, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B1", 17, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B2", 18, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B3", 19, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B4", 20, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B5", 21, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B6", 22, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B7", 23, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B8", 24, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B9", 25, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B10", 26, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B11", 27, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B12", 28, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B13", 29, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B14", 30, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B15", 31, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "CSR", 32, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "PC", 33, 1, NULL, 32, "code_ptr");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp");
+  tdesc_create_reg (feature, "A16", 34, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A17", 35, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A18", 36, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A19", 37, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A20", 38, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A21", 39, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A22", 40, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A23", 41, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A24", 42, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A25", 43, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A26", 44, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A27", 45, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A28", 46, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A29", 47, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A30", 48, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "A31", 49, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B16", 50, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B17", 51, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B18", 52, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B19", 53, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B20", 54, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B21", 55, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B22", 56, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B23", 57, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B24", 58, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B25", 59, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B26", 60, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B27", 61, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B28", 62, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B29", 63, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B30", 64, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "B31", 65, 1, NULL, 32, "uint32");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.c6xp");
+  tdesc_create_reg (feature, "TSR", 66, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "ILC", 67, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "RILC", 68, 1, NULL, 32, "uint32");
+
+  tdesc_tic6x_c64xp_linux = result;
+}
diff --git a/gdb/features/tic6x-c64xp-linux.xml b/gdb/features/tic6x-c64xp-linux.xml
new file mode 100644
index 0000000..6ff8407
--- /dev/null
+++ b/gdb/features/tic6x-c64xp-linux.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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 target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>tic6x</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="tic6x-core.xml"/>
+  <xi:include href="tic6x-gp.xml"/>
+  <xi:include href="tic6x-c6xp.xml"/>
+</target>
diff --git a/gdb/features/tic6x-c6xp.xml b/gdb/features/tic6x-c6xp.xml
new file mode 100644
index 0000000..0923b1b
--- /dev/null
+++ b/gdb/features/tic6x-c6xp.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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.tic6x.c6xp">
+  <reg name="TSR" bitsize="32" type="uint32"/>
+  <reg name="ILC" bitsize="32" type="uint32"/>
+  <reg name="RILC" bitsize="32" type="uint32"/>
+</feature>
diff --git a/gdb/features/tic6x-core.xml b/gdb/features/tic6x-core.xml
new file mode 100644
index 0000000..63074eb
--- /dev/null
+++ b/gdb/features/tic6x-core.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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.tic6x.core">
+  <reg name="A0" bitsize="32" type="uint32"/>
+  <reg name="A1" bitsize="32" type="uint32"/>
+  <reg name="A2" bitsize="32" type="uint32"/>
+  <reg name="A3" bitsize="32" type="uint32"/>
+  <reg name="A4" bitsize="32" type="uint32"/>
+  <reg name="A5" bitsize="32" type="uint32"/>
+  <reg name="A6" bitsize="32" type="uint32"/>
+  <reg name="A7" bitsize="32" type="uint32"/>
+  <reg name="A8" bitsize="32" type="uint32"/>
+  <reg name="A9" bitsize="32" type="uint32"/>
+  <reg name="A10" bitsize="32" type="uint32"/>
+  <reg name="A11" bitsize="32" type="uint32"/>
+  <reg name="A12" bitsize="32" type="uint32"/>
+  <reg name="A13" bitsize="32" type="uint32"/>
+  <reg name="A14" bitsize="32" type="uint32"/>
+  <reg name="A15" bitsize="32" type="uint32"/>
+  <reg name="B0" bitsize="32" type="uint32"/>
+  <reg name="B1" bitsize="32" type="uint32"/>
+  <reg name="B2" bitsize="32" type="uint32"/>
+  <reg name="B3" bitsize="32" type="uint32"/>
+  <reg name="B4" bitsize="32" type="uint32"/>
+  <reg name="B5" bitsize="32" type="uint32"/>
+  <reg name="B6" bitsize="32" type="uint32"/>
+  <reg name="B7" bitsize="32" type="uint32"/>
+  <reg name="B8" bitsize="32" type="uint32"/>
+  <reg name="B9" bitsize="32" type="uint32"/>
+  <reg name="B10" bitsize="32" type="uint32"/>
+  <reg name="B11" bitsize="32" type="uint32"/>
+  <reg name="B12" bitsize="32" type="uint32"/>
+  <reg name="B13" bitsize="32" type="uint32"/>
+  <reg name="B14" bitsize="32" type="uint32"/>
+  <reg name="B15" bitsize="32" type="uint32"/>
+  <reg name="CSR" bitsize="32" type="uint32"/>
+  <reg name="PC" bitsize="32" type="code_ptr"/>
+</feature>
diff --git a/gdb/features/tic6x-gp.xml b/gdb/features/tic6x-gp.xml
new file mode 100644
index 0000000..d1249f3
--- /dev/null
+++ b/gdb/features/tic6x-gp.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010, 2011 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.tic6x.gp">
+  <reg name="A16" bitsize="32" type="uint32"/>
+  <reg name="A17" bitsize="32" type="uint32"/>
+  <reg name="A18" bitsize="32" type="uint32"/>
+  <reg name="A19" bitsize="32" type="uint32"/>
+  <reg name="A20" bitsize="32" type="uint32"/>
+  <reg name="A21" bitsize="32" type="uint32"/>
+  <reg name="A22" bitsize="32" type="uint32"/>
+  <reg name="A23" bitsize="32" type="uint32"/>
+  <reg name="A24" bitsize="32" type="uint32"/>
+  <reg name="A25" bitsize="32" type="uint32"/>
+  <reg name="A26" bitsize="32" type="uint32"/>
+  <reg name="A27" bitsize="32" type="uint32"/>
+  <reg name="A28" bitsize="32" type="uint32"/>
+  <reg name="A29" bitsize="32" type="uint32"/>
+  <reg name="A30" bitsize="32" type="uint32"/>
+  <reg name="A31" bitsize="32" type="uint32"/>
+  <reg name="B16" bitsize="32" type="uint32"/>
+  <reg name="B17" bitsize="32" type="uint32"/>
+  <reg name="B18" bitsize="32" type="uint32"/>
+  <reg name="B19" bitsize="32" type="uint32"/>
+  <reg name="B20" bitsize="32" type="uint32"/>
+  <reg name="B21" bitsize="32" type="uint32"/>
+  <reg name="B22" bitsize="32" type="uint32"/>
+  <reg name="B23" bitsize="32" type="uint32"/>
+  <reg name="B24" bitsize="32" type="uint32"/>
+  <reg name="B25" bitsize="32" type="uint32"/>
+  <reg name="B26" bitsize="32" type="uint32"/>
+  <reg name="B27" bitsize="32" type="uint32"/>
+  <reg name="B28" bitsize="32" type="uint32"/>
+  <reg name="B29" bitsize="32" type="uint32"/>
+  <reg name="B30" bitsize="32" type="uint32"/>
+  <reg name="B31" bitsize="32" type="uint32"/>
+</feature>
diff --git a/gdb/regformats/tic6x-c62x-linux.dat b/gdb/regformats/tic6x-c62x-linux.dat
new file mode 100644
index 0000000..3758d84
--- /dev/null
+++ b/gdb/regformats/tic6x-c62x-linux.dat
@@ -0,0 +1,38 @@
+# DO NOT EDIT: generated from tic6x-c62x-linux.xml
+name:tic6x_c62x_linux
+xmltarget:tic6x-c62x-linux.xml
+expedite:A15,PC
+32:A0
+32:A1
+32:A2
+32:A3
+32:A4
+32:A5
+32:A6
+32:A7
+32:A8
+32:A9
+32:A10
+32:A11
+32:A12
+32:A13
+32:A14
+32:A15
+32:B0
+32:B1
+32:B2
+32:B3
+32:B4
+32:B5
+32:B6
+32:B7
+32:B8
+32:B9
+32:B10
+32:B11
+32:B12
+32:B13
+32:B14
+32:B15
+32:CSR
+32:PC
diff --git a/gdb/regformats/tic6x-c64x-linux.dat b/gdb/regformats/tic6x-c64x-linux.dat
new file mode 100644
index 0000000..8b1724c
--- /dev/null
+++ b/gdb/regformats/tic6x-c64x-linux.dat
@@ -0,0 +1,70 @@
+# DO NOT EDIT: generated from tic6x-c64x-linux.xml
+name:tic6x_c64x_linux
+xmltarget:tic6x-c64x-linux.xml
+expedite:A15,PC
+32:A0
+32:A1
+32:A2
+32:A3
+32:A4
+32:A5
+32:A6
+32:A7
+32:A8
+32:A9
+32:A10
+32:A11
+32:A12
+32:A13
+32:A14
+32:A15
+32:B0
+32:B1
+32:B2
+32:B3
+32:B4
+32:B5
+32:B6
+32:B7
+32:B8
+32:B9
+32:B10
+32:B11
+32:B12
+32:B13
+32:B14
+32:B15
+32:CSR
+32:PC
+32:A16
+32:A17
+32:A18
+32:A19
+32:A20
+32:A21
+32:A22
+32:A23
+32:A24
+32:A25
+32:A26
+32:A27
+32:A28
+32:A29
+32:A30
+32:A31
+32:B16
+32:B17
+32:B18
+32:B19
+32:B20
+32:B21
+32:B22
+32:B23
+32:B24
+32:B25
+32:B26
+32:B27
+32:B28
+32:B29
+32:B30
+32:B31
diff --git a/gdb/regformats/tic6x-c64xp-linux.dat b/gdb/regformats/tic6x-c64xp-linux.dat
new file mode 100644
index 0000000..4d12148
--- /dev/null
+++ b/gdb/regformats/tic6x-c64xp-linux.dat
@@ -0,0 +1,73 @@
+# DO NOT EDIT: generated from tic6x-c64xp-linux.xml
+name:tic6x_c64xp_linux
+xmltarget:tic6x-c64xp-linux.xml
+expedite:A15,PC
+32:A0
+32:A1
+32:A2
+32:A3
+32:A4
+32:A5
+32:A6
+32:A7
+32:A8
+32:A9
+32:A10
+32:A11
+32:A12
+32:A13
+32:A14
+32:A15
+32:B0
+32:B1
+32:B2
+32:B3
+32:B4
+32:B5
+32:B6
+32:B7
+32:B8
+32:B9
+32:B10
+32:B11
+32:B12
+32:B13
+32:B14
+32:B15
+32:CSR
+32:PC
+32:A16
+32:A17
+32:A18
+32:A19
+32:A20
+32:A21
+32:A22
+32:A23
+32:A24
+32:A25
+32:A26
+32:A27
+32:A28
+32:A29
+32:A30
+32:A31
+32:B16
+32:B17
+32:B18
+32:B19
+32:B20
+32:B21
+32:B22
+32:B23
+32:B24
+32:B25
+32:B26
+32:B27
+32:B28
+32:B29
+32:B30
+32:B31
+32:TSR
+32:ILC
+32:RILC
-- 
1.7.0.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]