arm64: Add do_softirq_own_stack() and enable irq_stacks
authorJames Morse <james.morse@arm.com>
Fri, 4 Dec 2015 11:02:27 +0000 (11:02 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 8 Dec 2015 11:42:51 +0000 (11:42 +0000)
commit8e23dacd12a48e58125b84c817da50850b73280a
treeb920b408538982d88d9482fc2c28f1b361062648
parent132cd887b5c54758d04bf25c52fa48f45e843a30
arm64: Add do_softirq_own_stack() and enable irq_stacks

entry.S is modified to switch to the per_cpu irq_stack during el{0,1}_irq.
irq_count is used to detect recursive interrupts on the irq_stack, it is
updated late by do_softirq_own_stack(), when called on the irq_stack, before
__do_softirq() re-enables interrupts to process softirqs.

do_softirq_own_stack() is added by this patch, but does not yet switch
stack.

This patch adds the dummy stack frame and data needed by the previous
stack tracing patches.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/irq.h
arch/arm64/kernel/entry.S
arch/arm64/kernel/irq.c