From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8038 invoked by alias); 27 Jul 2011 07:01:08 -0000 Received: (qmail 8006 invoked by uid 22791); 27 Jul 2011 07:01:04 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,TW_FP,TW_IW,TW_MX,TW_VF X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 27 Jul 2011 07:00:44 +0000 Received: (qmail 14714 invoked from network); 27 Jul 2011 07:00:42 -0000 Received: from unknown (HELO ?192.168.0.101?) (yao@127.0.0.2) by mail.codesourcery.com with ESMTPA; 27 Jul 2011 07:00:42 -0000 Message-ID: <4E2FB795.3050207@codesourcery.com> Date: Wed, 27 Jul 2011 08:08:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.18) Gecko/20110617 Lightning/1.0b2 Thunderbird/3.1.11 MIME-Version: 1.0 To: Eli Zaretskii CC: pedro@codesourcery.com, gdb-patches@sourceware.org Subject: Re: [RFA 6/8] New port: TI C6x: gdbserver References: <4E2638CE.7050205@codesourcery.com> <201107211213.41018.pedro@codesourcery.com> <4E2D18F3.6080006@codesourcery.com> <201107261844.13460.pedro@codesourcery.com> <4E2F89D4.7050401@codesourcery.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------000208000800020006070202" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-07/txt/msg00753.txt.bz2 This is a multi-part message in MIME format. --------------000208000800020006070202 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-length: 2468 On 07/27/2011 01:17 PM, Eli Zaretskii wrote: >> Date: Wed, 27 Jul 2011 11:45:24 +0800 >> From: Yao Qi >> 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 (齐尧) --------------000208000800020006070202 Content-Type: text/x-patch; name="0005-target-description.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0005-target-description.patch" Content-length: 29607 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 @@ + + + + + + tic6x + GNU/Linux + + 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 @@ + + + + + + tic6x + GNU/Linux + + + 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 @@ + + + + + + tic6x + GNU/Linux + + + + 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 @@ + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 --------------000208000800020006070202--