Add FR450 support.
This commit is contained in:
parent
34ce532e64
commit
b2d6d697ea
3 changed files with 25 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2004-03-12 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
|
* frv-tdep.c (set_variant_scratch_registers): New function.
|
||||||
|
(frv_gdbarch_init): Add FR450 support.
|
||||||
|
* frv-tdep.h (scr0_regnum, scr1_regnum, scr2_regnum, scr3_regnum):
|
||||||
|
New constants.
|
||||||
|
|
||||||
2004-03-12 Kevin Buettner <kevinb@redhat.com>
|
2004-03-12 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
* frv-tdep.c, frv-tdep.h (first_gpr_regnum, sp_regnum, fp_regnum)
|
* frv-tdep.c, frv-tdep.h (first_gpr_regnum, sp_regnum, fp_regnum)
|
||||||
|
|
|
@ -239,6 +239,15 @@ set_variant_abi_fdpic (struct gdbarch_tdep *var)
|
||||||
var->register_names[fdpic_loadmap_interp_regnum] = xstrdup ("loadmap_interp");
|
var->register_names[fdpic_loadmap_interp_regnum] = xstrdup ("loadmap_interp");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
set_variant_scratch_registers (struct gdbarch_tdep *var)
|
||||||
|
{
|
||||||
|
var->register_names[scr0_regnum] = xstrdup ("scr0");
|
||||||
|
var->register_names[scr1_regnum] = xstrdup ("scr1");
|
||||||
|
var->register_names[scr2_regnum] = xstrdup ("scr2");
|
||||||
|
var->register_names[scr3_regnum] = xstrdup ("scr3");
|
||||||
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
frv_register_name (int reg)
|
frv_register_name (int reg)
|
||||||
{
|
{
|
||||||
|
@ -1362,6 +1371,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case bfd_mach_fr400:
|
case bfd_mach_fr400:
|
||||||
|
case bfd_mach_fr450:
|
||||||
set_variant_num_gprs (var, 32);
|
set_variant_num_gprs (var, 32);
|
||||||
set_variant_num_fprs (var, 32);
|
set_variant_num_fprs (var, 32);
|
||||||
break;
|
break;
|
||||||
|
@ -1378,6 +1388,9 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
if (elf_flags & EF_FRV_FDPIC)
|
if (elf_flags & EF_FRV_FDPIC)
|
||||||
set_variant_abi_fdpic (var);
|
set_variant_abi_fdpic (var);
|
||||||
|
|
||||||
|
if (elf_flags & EF_FRV_CPU_FR450)
|
||||||
|
set_variant_scratch_registers (var);
|
||||||
|
|
||||||
gdbarch = gdbarch_alloc (&info, var);
|
gdbarch = gdbarch_alloc (&info, var);
|
||||||
|
|
||||||
set_gdbarch_short_bit (gdbarch, 16);
|
set_gdbarch_short_bit (gdbarch, 16);
|
||||||
|
@ -1448,6 +1461,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case bfd_mach_fr400:
|
case bfd_mach_fr400:
|
||||||
|
case bfd_mach_fr450:
|
||||||
/* fr400-style hardware debugging support. */
|
/* fr400-style hardware debugging support. */
|
||||||
var->num_hw_watchpoints = 2;
|
var->num_hw_watchpoints = 2;
|
||||||
var->num_hw_breakpoints = 4;
|
var->num_hw_breakpoints = 4;
|
||||||
|
|
|
@ -58,6 +58,10 @@ enum {
|
||||||
dbar1_regnum = 138,
|
dbar1_regnum = 138,
|
||||||
dbar2_regnum = 139,
|
dbar2_regnum = 139,
|
||||||
dbar3_regnum = 140,
|
dbar3_regnum = 140,
|
||||||
|
scr0_regnum = 141,
|
||||||
|
scr1_regnum = 142,
|
||||||
|
scr2_regnum = 143,
|
||||||
|
scr3_regnum = 144,
|
||||||
lr_regnum = 145,
|
lr_regnum = 145,
|
||||||
lcr_regnum = 146,
|
lcr_regnum = 146,
|
||||||
iacc0h_regnum = 147,
|
iacc0h_regnum = 147,
|
||||||
|
|
Loading…
Add table
Reference in a new issue