diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-02-06 19:35:36 -0500 |
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-02-08 23:51:21 -0500 |
| commit | f83e6862047e1e371bdc5d512dd6cabe8a3965b8 (patch) | |
| tree | bccad1dfc0b25d5dc810a00e950468a80b2643f3 | |
| parent | 9b256714979fad61ae11d90b53cf67dd5e6484eb (diff) | |
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>
| -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 c96c0cb95d87..f9670eabfcfa 100644 --- a/arch/powerpc/sysdev/xics/icp-opal.c +++ b/arch/powerpc/sysdev/xics/icp-opal.c | |||
| @@ -120,14 +120,16 @@ static void icp_opal_cause_ipi(int cpu, unsigned long data) | |||
| 120 | { | 120 | { |
| 121 | int hw_cpu = get_hard_smp_processor_id(cpu); | 121 | int hw_cpu = get_hard_smp_processor_id(cpu); |
| 122 | 122 | ||
| 123 | kvmppc_set_host_ipi(cpu, 1); | ||
| 123 | opal_int_set_mfrr(hw_cpu, IPI_PRIORITY); | 124 | opal_int_set_mfrr(hw_cpu, IPI_PRIORITY); |
| 124 | } | 125 | } |
| 125 | 126 | ||
| 126 | static irqreturn_t icp_opal_ipi_action(int irq, void *dev_id) | 127 | static irqreturn_t icp_opal_ipi_action(int irq, void *dev_id) |
| 127 | { | 128 | { |
| 128 | int hw_cpu = hard_smp_processor_id(); | 129 | int cpu = smp_processor_id(); |
| 129 | 130 | ||
| 130 | opal_int_set_mfrr(hw_cpu, 0xff); | 131 | kvmppc_set_host_ipi(cpu, 0); |
| 132 | opal_int_set_mfrr(get_hard_smp_processor_id(cpu), 0xff); | ||
| 131 | 133 | ||
| 132 | return smp_ipi_demux(); | 134 | return smp_ipi_demux(); |
| 133 | } | 135 | } |
