]> git.proxmox.com Git - mirror_qemu.git/commitdiff
target/riscv: Set VS bits in mideleg for Hyp extension
authorAlistair Francis <alistair.francis@wdc.com>
Sat, 1 Feb 2020 01:02:15 +0000 (17:02 -0800)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Thu, 27 Feb 2020 21:45:36 +0000 (13:45 -0800)
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/csr.c

index f7333286bd5418b0b0a3c97e200966674e26336d..c0e942684dbe9b27fed6d7be9fa4eef8d9a1e18e 100644 (file)
@@ -448,6 +448,9 @@ static int read_mideleg(CPURISCVState *env, int csrno, target_ulong *val)
 static int write_mideleg(CPURISCVState *env, int csrno, target_ulong val)
 {
     env->mideleg = (env->mideleg & ~delegable_ints) | (val & delegable_ints);
+    if (riscv_has_ext(env, RVH)) {
+        env->mideleg |= VS_MODE_INTERRUPTS;
+    }
     return 0;
 }