Commit 9f640bf5 authored by Scott Wood's avatar Scott Wood

powerpc/fsl-corenet: Disable coreint if kexec is enabled

Problems have been observed in coreint (EPR) mode if interrupts are
left pending (due to the lack of device quiescence with kdump) after
having tried to deliver to a CPU but unable to deliver due to MSR[EE]
-- interrupts no longer get reliably delivered in the new kernel.  I
tried various ways of fixing it up inside the crash kernel itself, and
none worked (including resetting the entire mpic).  Masking all
interrupts and issuing EOIs in the crashing kernel did help a lot of
the time, but the behavior was not consistent.

Thus, stick to standard IACK mode when kdump is a possibility.
Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
parent 01c593d7
...@@ -216,10 +216,12 @@ define_machine(corenet_generic) { ...@@ -216,10 +216,12 @@ define_machine(corenet_generic) {
.pcibios_fixup_phb = fsl_pcibios_fixup_phb, .pcibios_fixup_phb = fsl_pcibios_fixup_phb,
#endif #endif
/* /*
* Core reset may cause issue if using the proxy mode of MPIC. * Core reset may cause issues if using the proxy mode of MPIC.
* So, use the mixed mode of MPIC if enabling CPU hotplug. * So, use the mixed mode of MPIC if enabling CPU hotplug.
*
* Likewise, problems have been seen with kexec when coreint is enabled.
*/ */
#ifdef CONFIG_HOTPLUG_CPU #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
.get_irq = mpic_get_irq, .get_irq = mpic_get_irq,
#else #else
.get_irq = mpic_get_coreint_irq, .get_irq = mpic_get_coreint_irq,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment