+ {
+ fpbuf.buf += flen * (RISCV_LAST_FP_REGNUM - RISCV_FIRST_FP_REGNUM + 1);
+ regcache->raw_collect (RISCV_CSR_FCSR_REGNUM, fpbuf.buf);
+ }
+}
+
+/* Return a target description for the current target. */
+
+const struct target_desc *
+riscv_linux_nat_target::read_description ()
+{
+ const struct riscv_gdbarch_features features
+ = riscv_linux_read_features (inferior_ptid.lwp ());
+ return riscv_lookup_target_description (features);