On Fri, Jan 25, 2019 at 10:46:53AM +0100, Christoffer Dall wrote: > From: Marc Zyngier <marc.zyngier@xxxxxxx> > > The current kvm_psci_vcpu_on implementation will directly try to > manipulate the state of the VCPU to reset it. However, since this is > not done on the thread that runs the VCPU, we can end up in a strangely > corrupted state when the source and target VCPUs are running at the same > time. > > Fix this by factoring out all reset logic from the PSCI implementation > and forwarding the required information along with a request to the > target VCPU. > > Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> > Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxx> > --- > arch/arm/include/asm/kvm_host.h | 10 +++++++++ > arch/arm/kvm/reset.c | 24 +++++++++++++++++++++ > arch/arm64/include/asm/kvm_host.h | 11 ++++++++++ > arch/arm64/kvm/reset.c | 24 +++++++++++++++++++++ > virt/kvm/arm/arm.c | 10 +++++++++ > virt/kvm/arm/psci.c | 36 ++++++++++++++----------------- > 6 files changed, 95 insertions(+), 20 deletions(-) > Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx>