28#include <sys/procfs.h>
49#define M32R_LINUX_NUM_REGS (M32R_NUM_REGS - 1)
54 4, 5, 6, 7, 0, 1, 2, 8,
55 9, 10, 11, 12, 13, 24, 25, 23,
56 19, 19, 26, 23, 22, 20, 16, 15
60#define BBPSW_REGMAP 21
65#define GETREGS_SUPPLIES(regno) (0 <= (regno) \
66 && (regno) <= M32R_LINUX_NUM_REGS)
79 const elf_greg_t *regp = (
const elf_greg_t *) gregsetp;
81 unsigned long psw, bbpsw;
93 regval = ((0x00c1 & bbpsw) << 8) | ((0xc100 & psw) >> 8);
96 regval = ((psw >> 8) & 1);
99 regval = *(regp +
regmap[i]);
105 else if (psw & 0x8000)
121 perror_with_name (_(
"Couldn't get registers"));
132 elf_gregset_t * gregsetp,
int regno)
134 elf_greg_t *regp = (elf_greg_t *) gregsetp;
136 unsigned long psw, bbpsw, tmp;
143 if (regno != -1 && regno != i)
154 else if (psw & 0x8000)
170 perror_with_name (_(
"Couldn't get registers"));
175 perror_with_name (_(
"Couldn't write registers"));
216 internal_error (_(
"Got request for bad register number %d."), regno);
235 internal_error (_(
"Got request to store bad register number %d."), regno);
void store_registers(struct regcache *, int) override
void fetch_registers(struct regcache *, int) override
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
#define ptrace(request, pid, addr, data)
GDB_FPREGSET_T gdb_fpregset_t
void add_inf_child_target(inf_child_target *target)
pid_t get_ptrace_pid(ptid_t ptid)
struct linux_nat_target * linux_target
#define M32R_LINUX_NUM_REGS
void _initialize_m32r_linux_nat()
void fill_gregset(const struct regcache *regcache, elf_gregset_t *gregsetp, int regno)
static void fetch_regs(struct regcache *regcache, int tid)
void supply_fpregset(struct regcache *regcache, const gdb_fpregset_t *fpregs)
static void store_regs(const struct regcache *regcache, int tid, int regno)
void supply_gregset(struct regcache *regcache, const elf_gregset_t *gregsetp)
static m32r_linux_nat_target the_m32r_linux_nat_target
void fill_fpregset(const struct regcache *regcache, gdb_fpregset_t *fpregs, int regno)
#define GETREGS_SUPPLIES(regno)