[riscv/regression] Missing tlb flush introduced in refactoring

Bug #1832535 reported by QEMU
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Invalid
Undecided
Alistair Francis

Bug Description

Hello,

In qemu-system-riscv64, following a QEMU update, I get all sort of weird and not easily reproducible crashes in my risc-v guest.

I have bissected this issue to commit c7b951718815694284501ed01fec7acb8654db7b.
Some TLB flushes were removed in the following places:
target/riscv/cpu_helper.c: `csr_write_helper(env, s, CSR_MSTATUS);` -> `env->mstatus = s;` (twice)
target/riscv/op_helper.c: `csr_write_helper(env, s, CSR_MSTATUS);` -> `env->mstatus = s;` (twice)

Adding TLB flushes in all 4 places fixes the issues for me.

Tags: riscv
Revision history for this message
Alistair Francis (alistair2323) wrote :

Hello,

Thanks for reporting a bug.

Can you please include details to reproduce the problems that you are seeing? This includes images and command line arguments.

Do you also mind including the diff of what fixes the problem for you?

Alistair

Changed in qemu:
assignee: nobody → Alistair Francis (alistair2323)
status: New → Incomplete
Revision history for this message
QEMU (qemu-bug) wrote :

It has been solved thanks to the mailing-list members.

Changed in qemu:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.