OSDN Git Service

target/riscv: Respect MPRV and SPRV for floating point ops
authorAlistair Francis <alistair.francis@wdc.com>
Sat, 1 Feb 2020 01:02:49 +0000 (17:02 -0800)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Thu, 27 Feb 2020 21:46:27 +0000 (13:46 -0800)
commitae84dd0ab7eaf7e98cd6ee05b2063cce8ff9bc02
treeafa66d26dc0f35eebba44d0a2e4eab458df0c6df
parent45b4dc8b403aa5473ec015336adf7d14d88e85c5
target/riscv: Respect MPRV and SPRV for floating point ops

mark_fs_dirty() is the only place in translate.c that uses the
virt_enabled bool. Let's respect the contents of MSTATUS.MPRV and
HSTATUS.SPRV when setting the bool as this is used for performing
floating point operations when V=0.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
target/riscv/translate.c