Browse Source

Call parent verify_permissions() for float_csr_t (#832)

We were not properly checking for Machine-level or Supervisor-level
CSR accessibility.

No functional change, but only because all float_csr_t have User-level
permissions today.
pull/838/head
Scott Johnson 5 years ago
committed by GitHub
parent
commit
877686f4e0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      riscv/csrs.cc

1
riscv/csrs.cc

@ -1145,6 +1145,7 @@ float_csr_t::float_csr_t(processor_t* const proc, const reg_t addr, const reg_t
} }
void float_csr_t::verify_permissions(insn_t insn, bool write) const { void float_csr_t::verify_permissions(insn_t insn, bool write) const {
masked_csr_t::verify_permissions(insn, write);
require_fp; require_fp;
if (!proc->extension_enabled('F')) if (!proc->extension_enabled('F'))
throw trap_illegal_instruction(insn.bits()); throw trap_illegal_instruction(insn.bits());

Loading…
Cancel
Save