1 /* Target-dependent code for the S+core architecture, for GDB,
4 Copyright (C) 2006-2012 Free Software Foundation, Inc.
6 Contributed by Qinwei (qinwei@sunnorth.com.cn)
7 Contributed by Ching-Peng Lin (cplin@sunplus.com)
9 This file is part of GDB.
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 3 of the License, or
14 (at your option) any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with this program. If not, see <http://www.gnu.org/licenses/>. */
38 #define SCORE_A0_REGNUM 4
39 #define SCORE_A1_REGNUM 5
40 #define SCORE_REGSIZE 4
41 #define SCORE7_NUM_REGS 56
42 #define SCORE3_NUM_REGS 50
43 #define SCORE_BEGIN_ARG_REGNUM 4
44 #define SCORE_LAST_ARG_REGNUM 7
46 #define SCORE_INSTLEN 4
47 #define SCORE16_INSTLEN 2
49 /* Forward declarations. */
52 /* Target-dependent structure in gdbarch */
55 /* Cached core file helpers. */
56 struct regset *gregset;
59 /* Linux Core file support (dirty hack)
61 S+core Linux register set definition, copy from S+core Linux. */
63 /* Pad bytes for argument save space on the stack. */
64 unsigned long pad0[6]; /* may be 4, MIPS accept 6var, SCore
65 accepts 4 Var--yuchen */
67 /* Saved main processor registers. */
68 unsigned long orig_r4;
69 unsigned long regs[32];
71 /* Other saved registers. */
75 unsigned long sr0; /*cnt*/
76 unsigned long sr1; /*lcr*/
77 unsigned long sr2; /*scr*/
79 /* saved cp0 registers */
80 unsigned long cp0_epc;
81 unsigned long cp0_ema;
82 unsigned long cp0_psr;
83 unsigned long cp0_ecr;
84 unsigned long cp0_condition;
87 typedef struct pt_regs elf_gregset_t;
89 #endif /* SCORE_TDEP_H */