From: Alistair Francis Date: Sat, 1 Feb 2020 01:02:44 +0000 (-0800) Subject: target/riscv: Disable guest FP support based on virtual status X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=29409c1d921d607873268671bf11a088efb5558e;p=qemu.git target/riscv: Disable guest FP support based on virtual status When the Hypervisor extension is in use we only enable floating point support when both status and vsstatus have enabled floating point support. Signed-off-by: Alistair Francis Reviewed-by: Palmer Dabbelt Signed-off-by: Palmer Dabbelt --- diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 895b6ca25d..d9a29d702a 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -99,6 +99,9 @@ bool riscv_cpu_exec_interrupt(CPUState *cs, int interrupt_request) bool riscv_cpu_fp_enabled(CPURISCVState *env) { if (env->mstatus & MSTATUS_FS) { + if (riscv_cpu_virt_enabled(env) && !(env->mstatus_hs & MSTATUS_FS)) { + return false; + } return true; }