SCORE: Fill 'collect_regset' in regset structure.

Also rewrite the 'supply_regset' method, making it platform
independent.  To avoid code duplication, move the logic for both to a
register map in regcache_map_entry format.
This commit is contained in:
Andreas Arnez
2014-07-21 15:33:45 +00:00
committed by Ulrich Weigand
parent 81580573ba
commit c5741217d3
3 changed files with 55 additions and 78 deletions

View File

@ -32,6 +32,7 @@ enum gdb_regnum
SCORE_RA_REGNUM = 3,
SCORE_A0_REGNUM = 4,
SCORE_AL_REGNUM = 7,
SCORE_EPC_REGNUM = 37,
SCORE_PC_REGNUM = 49,
};
@ -46,37 +47,4 @@ enum gdb_regnum
#define SCORE_INSTLEN 4
#define SCORE16_INSTLEN 2
/* Forward declarations. */
struct regset;
/* 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 */