summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/head.S
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2012-02-03 14:48:01 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-03-24 09:38:54 +0000
commit9141a003a491c7230d17b9c29677ce2be437b95c (patch)
tree464a67fa3954cac8463748a649361fde82eaf3a0 /arch/arm/kernel/head.S
parentba81f502e73cee92964af6c39eb8c8d7e44e38c1 (diff)
ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path
The kexec machine crash code can be called in interrupt context via a sysrq trigger made using the magic key combination. If the irq chip dealing with the serial interrupt is using the fasteoi flow handler, then we will never EOI the interrupt because the interrupt handler will be fatal. In the case of a GIC, this results in the crash kernel not receiving interrupts on that CPU interface. This patch adds code (based on the PowerPC implementation) to EOI any pending interrupts on the crash CPU before masking and disabling all interrupts. Secondary cores are not a problem since they are placed into a cpu_relax() loop via an IPI. Reported-by: Lei Wen <leiwen@marvell.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/head.S')
0 files changed, 0 insertions, 0 deletions