*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / score-tdep.h
index 417676d61bc4429f9cb1474480e0f30c908244ca..9e97110fec67069d377bf87746ad34e1be8c3a5e 100644 (file)
@@ -1,7 +1,7 @@
 /* Target-dependent code for the S+core architecture, for GDB,
    the GNU Debugger.
 
-   Copyright (C) 2006, 2007, 2008, 2009 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)
@@ -38,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.025652 seconds and 4 git commands to generate.