/* Target-dependent code for the NDS32 architecture, for GDB.
- Copyright (C) 2013-2017 Free Software Foundation, Inc.
+ Copyright (C) 2013-2018 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GDB.
static enum register_status
nds32_pseudo_register_read (struct gdbarch *gdbarch,
- struct regcache *regcache, int regnum,
+ readable_regcache *regcache, int regnum,
gdb_byte *buf)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
offset = (regnum & 1) ? 0 : 4;
fdr_regnum = NDS32_FD0_REGNUM + (regnum >> 1);
- status = regcache_raw_read (regcache, fdr_regnum, reg_buf);
+ status = regcache->raw_read (fdr_regnum, reg_buf);
if (status == REG_VALID)
memcpy (buf, reg_buf + offset, 4);
offset = (regnum & 1) ? 0 : 4;
fdr_regnum = NDS32_FD0_REGNUM + (regnum >> 1);
- regcache_raw_read (regcache, fdr_regnum, reg_buf);
+ regcache->raw_read (fdr_regnum, reg_buf);
memcpy (reg_buf + offset, buf, 4);
- regcache_raw_write (regcache, fdr_regnum, reg_buf);
+ regcache->raw_write (fdr_regnum, reg_buf);
return;
}
switch (len)
{
case 4:
- regcache_cooked_write (regcache,
- tdep->fs0_regnum + foff, val);
+ regcache->cooked_write (tdep->fs0_regnum + foff, val);
foff++;
break;
case 8:
- regcache_cooked_write (regcache,
- NDS32_FD0_REGNUM + (foff >> 1), val);
+ regcache->cooked_write (NDS32_FD0_REGNUM + (foff >> 1), val);
foff += 2;
break;
default:
if (abi_use_fpr && calling_use_fpr)
{
if (len == 4)
- regcache_cooked_read (regcache, tdep->fs0_regnum, valbuf);
+ regcache->cooked_read (tdep->fs0_regnum, valbuf);
else if (len == 8)
- regcache_cooked_read (regcache, NDS32_FD0_REGNUM, valbuf);
+ regcache->cooked_read (NDS32_FD0_REGNUM, valbuf);
else
internal_error (__FILE__, __LINE__,
_("Cannot extract return value of %d bytes "
}
else if (len == 4)
{
- regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf);
+ regcache->cooked_read (NDS32_R0_REGNUM, valbuf);
}
else if (len < 8)
{
}
else
{
- regcache_cooked_read (regcache, NDS32_R0_REGNUM, valbuf);
- regcache_cooked_read (regcache, NDS32_R0_REGNUM + 1, valbuf + 4);
+ regcache->cooked_read (NDS32_R0_REGNUM, valbuf);
+ regcache->cooked_read (NDS32_R0_REGNUM + 1, valbuf + 4);
}
}
}
if (abi_use_fpr && calling_use_fpr)
{
if (len == 4)
- regcache_cooked_write (regcache, tdep->fs0_regnum, valbuf);
+ regcache->cooked_write (tdep->fs0_regnum, valbuf);
else if (len == 8)
- regcache_cooked_write (regcache, NDS32_FD0_REGNUM, valbuf);
+ regcache->cooked_write (NDS32_FD0_REGNUM, valbuf);
else
internal_error (__FILE__, __LINE__,
_("Cannot store return value of %d bytes "
}
else if (len == 4)
{
- regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf);
+ regcache->cooked_write (NDS32_R0_REGNUM, valbuf);
}
else if (len < 8)
{
}
else
{
- regcache_cooked_write (regcache, NDS32_R0_REGNUM, valbuf);
- regcache_cooked_write (regcache, NDS32_R0_REGNUM + 1, valbuf + 4);
+ regcache->cooked_write (NDS32_R0_REGNUM, valbuf);
+ regcache->cooked_write (NDS32_R0_REGNUM + 1, valbuf + 4);
}
}
}