1 --- gdb-7.8.2.orig/gdb/microblaze-tdep.h 2015-01-15 11:58:12.000000000 +0100
2 +++ gdb-7.8.2/gdb/microblaze-tdep.h 2016-09-21 10:34:30.029222319 +0200
4 /* Target-dependent code for Xilinx MicroBlaze.
6 - Copyright (C) 2009-2014 Free Software Foundation, Inc.
7 + Copyright (C) 2009-2013 Free Software Foundation, Inc.
9 This file is part of GDB.
14 /* Microblaze architecture-specific information. */
15 +struct microblaze_gregset
17 + unsigned int gregs[32];
18 + unsigned int fpregs[32];
19 + unsigned int pregs[16];
24 + int dummy; // declare something.
26 + /* Register sets. */
27 + struct regset *gregset;
28 + size_t sizeof_gregset;
29 + struct regset *fpregset;
30 + size_t sizeof_fpregset;
33 struct microblaze_frame_cache
34 @@ -42,7 +56,8 @@ struct microblaze_frame_cache
37 /* Offsets to saved registers. */
38 - int register_offsets[57]; /* Must match MICROBLAZE_NUM_REGS. */
39 + int register_offsets[59]; /* Must match MICROBLAZE_NUM_REGS. */
42 /* Table of saved registers. */
43 struct trad_frame_saved_reg *saved_regs;
44 @@ -66,11 +81,11 @@ enum microblaze_regnum
45 MICROBLAZE_R12_REGNUM,
46 MICROBLAZE_R13_REGNUM,
47 MICROBLAZE_R14_REGNUM,
48 - MICROBLAZE_R15_REGNUM,
49 + MICROBLAZE_R15_REGNUM, MICROBLAZE_PREV_PC_REGNUM = MICROBLAZE_R15_REGNUM,
50 MICROBLAZE_R16_REGNUM,
51 MICROBLAZE_R17_REGNUM,
52 MICROBLAZE_R18_REGNUM,
53 - MICROBLAZE_R19_REGNUM,
54 + MICROBLAZE_R19_REGNUM, MICROBLAZE_FP_REGNUM = MICROBLAZE_R19_REGNUM,
55 MICROBLAZE_R20_REGNUM,
56 MICROBLAZE_R21_REGNUM,
57 MICROBLAZE_R22_REGNUM,
58 @@ -107,7 +122,9 @@ enum microblaze_regnum
59 MICROBLAZE_RTLBX_REGNUM,
60 MICROBLAZE_RTLBSX_REGNUM,
61 MICROBLAZE_RTLBLO_REGNUM,
62 - MICROBLAZE_RTLBHI_REGNUM
63 + MICROBLAZE_RTLBHI_REGNUM,
64 + MICROBLAZE_SLR_REGNUM,
65 + MICROBLAZE_SHR_REGNUM
68 /* All registers are 32 bits. */
69 @@ -115,6 +132,21 @@ enum microblaze_regnum
71 /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
72 Only used for native debugging. */
73 -#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
74 +#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
75 +#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
77 +extern void microblaze_supply_gregset (const struct microblaze_gregset *gregset,
78 + struct regcache *regcache,
79 + int regnum, const void *gregs);
80 +extern void microblaze_collect_gregset (const struct microblaze_gregset *gregset,
81 + const struct regcache *regcache,
82 + int regnum, void *gregs);
83 +extern void microblaze_supply_fpregset (struct regcache *regcache,
84 + int regnum, const void *fpregs);
85 +extern void microblaze_collect_fpregset (const struct regcache *regcache,
86 + int regnum, void *fpregs);
88 +extern const struct regset * microblaze_regset_from_core_section (struct gdbarch *gdbarch,
89 + const char *sect_name, size_t sect_size);
91 #endif /* microblaze-tdep.h */