linux/arch/powerpc/kvm
Sam Bobroff 2fb1e94645 KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive()
In KVM's XICS-on-XIVE emulation, kvmppc_xive_get_xive() returns the
value of state->guest_server as "server". However, this value is not
set by it's counterpart kvmppc_xive_set_xive(). When the guest uses
this interface to migrate interrupts away from a CPU that is going
offline, it sees all interrupts as belonging to CPU 0, so they are
left assigned to (now) offline CPUs.

This patch removes the guest_server field from the state, and returns
act_server in it's place (that is, the CPU actually handling the
interrupt, which may differ from the one requested).

Fixes: 5af5099385 ("KVM: PPC: Book3S HV: Native usage of the XIVE interrupt controller")
Cc: stable@vger.kernel.org
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2017-10-03 17:58:16 +02:00
..
book3s_32_mmu_host.c
book3s_32_mmu.c
book3s_32_sr.S
book3s_64_mmu_host.c
book3s_64_mmu_hv.c powerpc updates for 4.14 2017-09-07 10:15:40 -07:00
book3s_64_mmu_radix.c Merge branch 'topic/ppc-kvm' into next 2017-08-17 23:14:17 +10:00
book3s_64_mmu.c
book3s_64_slb.S
book3s_64_vio_hv.c powerpc/mm: Rename find_linux_pte_or_hugepte() 2017-08-17 23:13:46 +10:00
book3s_64_vio.c KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list 2017-08-30 14:59:31 +10:00
book3s_emulate.c
book3s_exports.c
book3s_hv_builtin.c
book3s_hv_hmi.c
book3s_hv_interrupts.S
book3s_hv_ras.c
book3s_hv_rm_mmu.c Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next 2017-08-31 12:37:03 +10:00
book3s_hv_rm_xics.c
book3s_hv_rm_xive.c KVM: PPC: Book3S HV: Don't access XIVE PIPR register using byte accesses 2017-09-12 16:02:07 +10:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Check for updated HDSISR on P9 HDSI exception 2017-09-22 10:45:46 +02:00
book3s_hv.c kvm,powerpc: Serialize wq active checks in ops->vcpu_kick 2017-09-15 16:57:13 +02:00
book3s_interrupts.S
book3s_mmu_hpte.c
book3s_paired_singles.c
book3s_pr_papr.c
book3s_pr.c
book3s_rmhandlers.S
book3s_rtas.c
book3s_segment.S
book3s_xics.c
book3s_xics.h
book3s_xive_template.c KVM: PPC: Book3S HV: Don't access XIVE PIPR register using byte accesses 2017-09-12 16:02:07 +10:00
book3s_xive.c KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive() 2017-10-03 17:58:16 +02:00
book3s_xive.h KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive() 2017-10-03 17:58:16 +02:00
book3s.c
book3s.h
booke_emulate.c
booke_interrupts.S
booke.c
booke.h
bookehv_interrupts.S
e500_emulate.c
e500_mmu_host.c powerpc/mm: Rename find_linux_pte_or_hugepte() 2017-08-17 23:13:46 +10:00
e500_mmu_host.h
e500_mmu.c
e500.c KVM: PPC: e500: Fix some NULL dereferences on error 2017-08-31 12:36:44 +10:00
e500.h
e500mc.c KVM: PPC: e500mc: Fix a NULL dereference 2017-08-31 12:36:44 +10:00
emulate_loadstore.c
emulate.c
fpu.S
irq.h
Kconfig
Makefile
mpic.c
powerpc.c KVM: add spinlock optimization framework 2017-08-08 10:57:43 +02:00
timing.c
timing.h
trace_book3s.h
trace_booke.h
trace_hv.h
trace_pr.h
trace.h