aboutsummaryrefslogtreecommitdiff
path: root/gdb/nds32-tdep.h
diff options
context:
space:
mode:
authorYan-Ting Lin <currygt52@gmail.com>2016-06-17 15:25:08 +0800
committerpatrick <patrick@andestech.com>2016-06-17 16:58:05 +0800
commita28d8e5037333291991f7b0036b273e8ca1ffc34 (patch)
tree73724d3d633b6b0bfb733ebb1aa5bee0f35231eb /gdb/nds32-tdep.h
parent96074adc6a780c7984645e3e42434be368974737 (diff)
downloadgdb-a28d8e5037333291991f7b0036b273e8ca1ffc34.zip
gdb-a28d8e5037333291991f7b0036b273e8ca1ffc34.tar.gz
gdb-a28d8e5037333291991f7b0036b273e8ca1ffc34.tar.bz2
gdb: new AndesTech NDS32 port
gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add nds32-tdep.o. (HFILES_NO_SRCDIR): Add nds32-tdep.h. (ALLDEPFILES): Add nds32-tdep.c. * NEWS: Mention new NDS32 port. * configure.tgt: Add NDS32. * nds32-tdep.c: New file. * nds32-tdep.h: New file. * features/Makefile (XMLTOC): Add nds32.xml. * features/nds32-core.xml: New file. * features/nds32-fpu.xml: New file. * features/nds32-system.xml: New file. * features/nds32.c: New file (generated). * features/nds32.xml: New file. gdb/doc/ChangeLog: * gdb.texinfo (Standard Target Features): Document NDS32 features. (NDS32 Features): New Section. gdb/testsuite/ChangeLog: * gdb.base/float.exp: Add target check for nds32*-*-*. * gdb.xml/tdesc-regs.exp: Set core-regs for nds32*-*-*.
Diffstat (limited to 'gdb/nds32-tdep.h')
-rw-r--r--gdb/nds32-tdep.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/gdb/nds32-tdep.h b/gdb/nds32-tdep.h
new file mode 100644
index 0000000..78ad7b2
--- /dev/null
+++ b/gdb/nds32-tdep.h
@@ -0,0 +1,54 @@
+/* Target-dependent code for the NDS32 architecture, for GDB.
+
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef NDS32_TDEP_H
+#define NDS32_TDEP_H
+
+enum nds32_regnum
+{
+ /* General purpose registers. */
+ NDS32_R0_REGNUM = 0,
+ NDS32_R5_REGNUM = 5,
+ NDS32_TA_REGNUM = 15, /* Temporary register. */
+ NDS32_FP_REGNUM = 28, /* Frame pointer. */
+ NDS32_GP_REGNUM = 29, /* Global pointer. */
+ NDS32_LP_REGNUM = 30, /* Link pointer. */
+ NDS32_SP_REGNUM = 31, /* Stack pointer. */
+
+ NDS32_PC_REGNUM = 32, /* Program counter. */
+
+ NDS32_NUM_REGS,
+
+ /* The first double precision floating-point register. */
+ NDS32_FD0_REGNUM = NDS32_NUM_REGS,
+};
+
+struct gdbarch_tdep
+{
+ /* The guessed FPU configuration. */
+ int fpu_freg;
+ /* FSRs are defined as pseudo registers. */
+ int use_pseudo_fsrs;
+ /* Cached regnum of the first FSR (FS0). */
+ int fs0_regnum;
+ /* ELF ABI info. */
+ int elf_abi;
+};
+#endif /* NDS32_TDEP_H */