Re: [PATCH v11 0/2] target/riscv: Fix riscv64 KVM migration
Alistair <[email protected]>
| Newsgroups | org.nongnu.qemu-riscv,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 2026-08-08 at 20:51 +0800, Xie Bo wrote: > This series revives v9, which was applied to riscv-to-apply.next but > did > not reach QEMU master. > > RISC-V KVM migration currently loses two pieces of vCPU state: the > privilege mode core register and KVM MP state. The latter leaves > secondary > vCPUs in their reset STOPPED state on the destination. > > Synchronize the privilege mode through the existing generic CPU > VMState, > and carry MP state in a capability-gated KVM-only subsection. The > subsection > keeps KVM state out of TCG migration streams. Bump the generic RISC-V > CPU > VMState version and minimum version to 12 as required by the new > pre_load > hook and subsection. > > Changes from v10: > - Bump the RISC-V CPU VMState version_id and minimum_version_id to > 12. > - Add Daniel's Reviewed-by tags. > > Testing on a native riscv64 host with Linux 6.6.20 and GCC 13.3.0: > - KVM build: riscv64-softmmu, --enable-kvm. > - Non-KVM build: riscv64-softmmu, --disable-kvm. > - Four-vCPU KVM migration on unmodified master: all vCPUs failed to > run > after migration and the guest reported RCU stalls. > - The same migration with this series: CPU0 through CPU3 all ran > after > migration. > - Four user-mode busy workers, one pinned to each vCPU, all made > forward > progress across migration to exercise privilege-mode restoration. Thanks! Applied to riscv-to-apply.next Alistair > > Xie Bo (2): > target/riscv/kvm: Synchronize privilege mode > target/riscv/kvm: Preserve MP state across migration > > target/riscv/cpu.h | 4 +++ > target/riscv/kvm/kvm-cpu.c | 62 ++++++++++++++++++++++++++-------- > -- > target/riscv/kvm/kvm_riscv.h | 2 +- > target/riscv/machine.c | 49 ++++++++++++++++++++++++++-- > 4 files changed, 98 insertions(+), 19 deletions(-)