[PATCH 0/5] KVM: arm64: Reorganise vcpu first run
Andrew Jones
drjones at redhat.com
Fri Oct 15 03:05:48 PDT 2021
On Fri, Oct 15, 2021 at 11:49:00AM +0200, Andrew Jones wrote:
> On Fri, Oct 15, 2021 at 10:08:17AM +0100, Marc Zyngier wrote:
> > KVM/arm64 relies heavily on a bunch of things to be done on the first
> > run of the vcpu. We also do a bunch of things on PID change. It turns
> > out that these two things are pretty similar (the first PID change is
> > also the first run).
> >
> > This small series aims at simplifying all that, and to get rid of the
> > vcpu->arch.has_run_once state.
> >
> > Marc Zyngier (5):
> > KVM: arm64: Move SVE state mapping at HYP to finalize-time
> > KVM: arm64: Move kvm_arch_vcpu_run_pid_change() out of line
> > KVM: arm64: Merge kvm_arch_vcpu_run_pid_change() and
> > kvm_vcpu_first_run_init()
> > KVM: arm64: Restructure the point where has_run_once is advertised
>
> Maybe do the restructuring before the merging in order to avoid the
> potential for bizarre states?
Also, before we do the merge I think we need to duplicate the
if (unlikely(!kvm_vcpu_initialized(vcpu)))
return -ENOEXEC;
that we currently have above the call of kvm_vcpu_first_run_init()
into kvm_arch_vcpu_run_pid_change() because
kvm_arch_vcpu_run_pid_change() is called before kvm_arch_vcpu_ioctl_run()
in KVM_RUN.
Thanks,
drew
>
> > KVM: arm64: Drop vcpu->arch.has_run_once for vcpu->pid
> >
> > arch/arm64/include/asm/kvm_host.h | 12 +++------
> > arch/arm64/kvm/arm.c | 43 ++++++++++++++++++-------------
> > arch/arm64/kvm/fpsimd.c | 11 --------
> > arch/arm64/kvm/reset.c | 11 +++++++-
> > arch/arm64/kvm/vgic/vgic-init.c | 2 +-
> > 5 files changed, 39 insertions(+), 40 deletions(-)
> >
> > --
> > 2.30.2
> >
> > _______________________________________________
> > kvmarm mailing list
> > kvmarm at lists.cs.columbia.edu
> > https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
> >
>
> For the series
>
> Reviewed-by: Andrew Jones <drjones at redhat.com>
>
> Thanks,
> drew
More information about the linux-arm-kernel
mailing list