When the KVM_REG_LOONGARCH_VCPU_RESET command word is sent to the kernel through the kvm_set_one_reg interface, the parameter source needs to be a legal address, otherwise the kernel will return an error and the command word will fail to be sent.
Signed-off-by: Xianglai Li <lixiang...@loongson.cn> --- Cc: Bibo Mao <maob...@loongson.cn> Cc: Song Gao <gaos...@loongson.cn> target/loongarch/kvm/kvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c index a3f55155b0..01cddb7012 100644 --- a/target/loongarch/kvm/kvm.c +++ b/target/loongarch/kvm/kvm.c @@ -581,9 +581,10 @@ static int kvm_loongarch_get_lbt(CPUState *cs) void kvm_arch_reset_vcpu(CPUState *cs) { CPULoongArchState *env = cpu_env(cs); + uint64_t val; env->mp_state = KVM_MP_STATE_RUNNABLE; - kvm_set_one_reg(cs, KVM_REG_LOONGARCH_VCPU_RESET, 0); + kvm_set_one_reg(cs, KVM_REG_LOONGARCH_VCPU_RESET, &val); } static int kvm_loongarch_get_mpstate(CPUState *cs) -- 2.39.1