+static void
+vax_supply_gregset (const struct regset *regset, struct regcache *regcache,
+ int regnum, const void *gregs, size_t len)
+{
+ const gdb_byte *regs = (const gdb_byte *) gregs;
+ int i;
+
+ for (i = 0; i < VAX_NUM_REGS; i++)
+ {
+ if (regnum == i || regnum == -1)
+ regcache->raw_supply (i, regs + i * 4);
+ }
+}
+
+/* VAX register set. */
+
+static const struct regset vax_gregset =
+{
+ NULL,
+ vax_supply_gregset
+};
+
+/* Iterate over core file register note sections. */
+
+static void
+vax_iterate_over_regset_sections (struct gdbarch *gdbarch,
+ iterate_over_regset_sections_cb *cb,
+ void *cb_data,
+ const struct regcache *regcache)
+{
+ cb (".reg", VAX_NUM_REGS * 4, VAX_NUM_REGS * 4, &vax_gregset, NULL, cb_data);
+}
+\f
+/* The VAX UNIX calling convention uses R1 to pass a structure return