Browse Source

powerpc/powernv: Properly set "host-ipi" on IPIs

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>
Benjamin Herrenschmidt 8 years ago
parent
commit
f83e686204
1 changed files with 4 additions and 2 deletions
  1. 4 2
      arch/powerpc/sysdev/xics/icp-opal.c

+ 4 - 2
arch/powerpc/sysdev/xics/icp-opal.c

@@ -120,14 +120,16 @@ static void icp_opal_cause_ipi(int cpu, unsigned long data)
 {
 {
 	int hw_cpu = get_hard_smp_processor_id(cpu);
 	int hw_cpu = get_hard_smp_processor_id(cpu);
 
 
+	kvmppc_set_host_ipi(cpu, 1);
 	opal_int_set_mfrr(hw_cpu, IPI_PRIORITY);
 	opal_int_set_mfrr(hw_cpu, IPI_PRIORITY);
 }
 }
 
 
 static irqreturn_t icp_opal_ipi_action(int irq, void *dev_id)
 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();
 	return smp_ipi_demux();
 }
 }