*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / score-tdep.h
index db6d26f6e02301aafdef822485691d85f7a3202e..9e97110fec67069d377bf87746ad34e1be8c3a5e 100644 (file)
@@ -1,7 +1,7 @@
 /* Target-dependent code for the S+core architecture, for GDB,
    the GNU Debugger.
 
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
    Contributed by Qinwei (qinwei@sunnorth.com.cn)
    Contributed by Ching-Peng Lin (cplin@sunplus.com)
@@ -10,7 +10,7 @@
 
    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 2 of the License, or
+   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,
@@ -19,9 +19,7 @@
    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, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef SCORE_TDEP_H
 #define SCORE_TDEP_H
@@ -40,11 +38,51 @@ enum gdb_regnum
 #define SCORE_A0_REGNUM        4
 #define SCORE_A1_REGNUM        5
 #define SCORE_REGSIZE          4
-#define SCORE_NUM_REGS         56
+#define SCORE7_NUM_REGS         56
+#define SCORE3_NUM_REGS         50
 #define SCORE_BEGIN_ARG_REGNUM 4
 #define SCORE_LAST_ARG_REGNUM  7
 
 #define SCORE_INSTLEN          4
 #define SCORE16_INSTLEN        2
 
+/* Forward declarations. */
+struct regset;
+
+/* Target-dependent structure in gdbarch */
+struct gdbarch_tdep
+{
+    /* Cached core file helpers. */
+    struct regset *gregset;
+};
+
+/* Linux Core file support (dirty hack)
+  
+   S+core Linux register set definition, copy from S+core Linux */
+struct pt_regs {
+    /* Pad bytes for argument save space on the stack. */
+    unsigned long pad0[6]; /* may be 4,MIPS accept 6var,SCore accepts 4 Var--yuchen */
+
+    /* Saved main processor registers. */
+    unsigned long orig_r4;
+    unsigned long regs[32];
+
+    /* Other saved registers. */
+    unsigned long cel;
+    unsigned long ceh;
+
+    unsigned long sr0;  /*cnt*/
+    unsigned long sr1;  /*lcr*/
+    unsigned long sr2;  /*scr*/
+
+    /* saved cp0 registers */
+    unsigned long cp0_epc;
+    unsigned long cp0_ema;
+    unsigned long cp0_psr;
+    unsigned long cp0_ecr;
+    unsigned long cp0_condition;
+};
+
+typedef struct pt_regs elf_gregset_t;
+
 #endif /* SCORE_TDEP_H */
This page took 0.025446 seconds and 4 git commands to generate.