diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-05-24 01:53:46 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-06-17 04:41:50 (GMT) |
commit | c419fe260b549c543119ea7e2db4916b9aac26f3 (patch) | |
tree | 7ff70e332a4104d44ffc5b5a01cf026c96cd3819 /arch | |
parent | 47a5aabc34247d75c7bfa87f4e3f884f055dded6 (diff) | |
download | linux-c419fe260b549c543119ea7e2db4916b9aac26f3.tar.xz |
powerpc/powernv: Properly set "host-ipi" on IPIs
[ Upstream commit f83e6862047e1e371bdc5d512dd6cabe8a3965b8 ]
Otherwise KVM will fail to pass them through to the host
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/sysdev/xics/icp-opal.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/xics/icp-opal.c b/arch/powerpc/sysdev/xics/icp-opal.c index 32c46b4..b53f80f 100644 --- a/arch/powerpc/sysdev/xics/icp-opal.c +++ b/arch/powerpc/sysdev/xics/icp-opal.c @@ -130,14 +130,16 @@ static void icp_opal_cause_ipi(int cpu, unsigned long data) { int hw_cpu = get_hard_smp_processor_id(cpu); + kvmppc_set_host_ipi(cpu, 1); opal_int_set_mfrr(hw_cpu, IPI_PRIORITY); } static irqreturn_t icp_opal_ipi_action(int irq, void *dev_id) { - int hw_cpu = hard_smp_processor_id(); + int cpu = smp_processor_id(); - opal_int_set_mfrr(hw_cpu, 0xff); + kvmppc_set_host_ipi(cpu, 0); + opal_int_set_mfrr(get_hard_smp_processor_id(cpu), 0xff); return smp_ipi_demux(); } |