static void sparc64obsd_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) { sparc64_supply_fpregset (&sparc64_bsd_fpregmap, regcache, regnum, fpregs); }
static void sparc64_linux_supply_core_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len) { sparc64_supply_fpregset (regcache, regnum, fpregs); }
static void sparc64obsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) { const char *regs = gregs; sparc64_supply_gregset (regset->descr, regcache, regnum, regs); sparc64_supply_fpregset (regcache, regnum, regs + 288); }
static void sparc64nbsd_supply_fpregset (struct regcache *regcache, int regnum, const void *fpregs) { int sparc32 = (gdbarch_ptr_bit (get_regcache_arch (regcache)) == 32); if (sparc32) sparc32_supply_fpregset (regcache, regnum, fpregs); else sparc64_supply_fpregset (regcache, regnum, fpregs); }
static void sparc64obsd_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) { const void *fpregs = (char *)gregs + 288; if (len < 832) { sparc64_supply_gregset (&sparc64obsd_gregmap, regcache, regnum, gregs); return; } sparc64_supply_gregset (&sparc64obsd_core_gregmap, regcache, regnum, gregs); sparc64_supply_fpregset (&sparc64_bsd_fpregmap, regcache, regnum, fpregs); }
void supply_fpregset (struct regcache *regcache, const prfpregset_t *fpregs) { sparc64_supply_fpregset (regcache, -1, fpregs); }