qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH V4 10/10] target/arm/kvm: Write CPU state back to KVM on rese


From: Salil Mehta
Subject: RE: [PATCH V4 10/10] target/arm/kvm: Write CPU state back to KVM on reset
Date: Mon, 9 Oct 2023 20:54:36 +0000

Hello,
Perhaps I need to drop this patch from this patch-set as it is ARM specific.
I pulled this from RFC V2 of Virtual CPU Hotplug Support on ARMv8 and is
not required by other architectures trying to implement Virtual CPU Hotplug
Support.

https://lore.kernel.org/qemu-devel/20230926103654.34424-2-salil.mehta@huawei.com/

I will retain the Reviewed-by's collected here in the RFC V3 patch-set.

Sorry, for the noise.

Thanks
Salil.

> From: Salil Mehta <salil.mehta@huawei.com>
> Sent: Monday, October 9, 2023 9:36 PM
> To: qemu-devel@nongnu.org; qemu-arm@nongnu.org
> Cc: Salil Mehta <salil.mehta@huawei.com>; maz@kernel.org; jean-
> philippe@linaro.org; Jonathan Cameron <jonathan.cameron@huawei.com>;
> lpieralisi@kernel.org; peter.maydell@linaro.org;
> richard.henderson@linaro.org; imammedo@redhat.com; andrew.jones@linux.dev;
> david@redhat.com; philmd@linaro.org; eric.auger@redhat.com;
> oliver.upton@linux.dev; pbonzini@redhat.com; mst@redhat.com;
> will@kernel.org; gshan@redhat.com; rafael@kernel.org;
> alex.bennee@linaro.org; linux@armlinux.org.uk;
> darren@os.amperecomputing.com; ilkka@os.amperecomputing.com;
> vishnu@os.amperecomputing.com; karl.heubaum@oracle.com;
> miguel.luis@oracle.com; salil.mehta@opnsrc.net; zhukeqian
> <zhukeqian1@huawei.com>; wangxiongfeng (C) <wangxiongfeng2@huawei.com>;
> wangyanan (Y) <wangyanan55@huawei.com>; jiakernel2@gmail.com;
> maobibo@loongson.cn; lixianglai@loongson.cn; Linuxarm <linuxarm@huawei.com>
> Subject: [PATCH V4 10/10] target/arm/kvm: Write CPU state back to KVM on
> reset
> 
> From: Jean-Philippe Brucker <jean-philippe@linaro.org>
> 
> When a KVM vCPU is reset following a PSCI CPU_ON call, its power state
> is not synchronized with KVM at the moment. Because the vCPU is not
> marked dirty, we miss the call to kvm_arch_put_registers() that writes
> to KVM's MP_STATE. Force mp_state synchronization.
> 
> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
> Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> Reviewed-by: Gavin Shan <gshan@redhat.com>
> ---
>  target/arm/kvm.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/target/arm/kvm.c b/target/arm/kvm.c
> index b66b936a95..8cb70b9e7c 100644
> --- a/target/arm/kvm.c
> +++ b/target/arm/kvm.c
> @@ -642,11 +642,12 @@ void kvm_arm_cpu_post_load(ARMCPU *cpu)
>  void kvm_arm_reset_vcpu(ARMCPU *cpu)
>  {
>      int ret;
> +    CPUState *cs = CPU(cpu);
> 
>      /* Re-init VCPU so that all registers are set to
>       * their respective reset values.
>       */
> -    ret = kvm_arm_vcpu_init(CPU(cpu));
> +    ret = kvm_arm_vcpu_init(cs);
>      if (ret < 0) {
>          fprintf(stderr, "kvm_arm_vcpu_init failed: %s\n", strerror(-ret));
>          abort();
> @@ -663,6 +664,11 @@ void kvm_arm_reset_vcpu(ARMCPU *cpu)
>       * for the same reason we do so in kvm_arch_get_registers().
>       */
>      write_list_to_cpustate(cpu);
> +    /*
> +     * Ensure we call kvm_arch_put_registers(). The vCPU isn't marked
> dirty if
> +     * it was parked in KVM and is now booting from a PSCI CPU_ON call.
> +     */
> +    cs->vcpu_dirty = true;
>  }
> 
>  /*
> --
> 2.34.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]