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)
committerAlex Shi <alex.shi@linaro.org>
Wed, 11 May 2016 07:57:00 +0000 (15:57 +0800)
commitea288f7a80b63d6956d23f50dd04fa70f8e7368f
tree15dabb0002d790e98954a0239152ae71a727f749
parent2f478c1abcc07611671c5fee4bd10974dde476ab
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>
(cherry picked from commit 8e23dacd12a48e58125b84c817da50850b73280a)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
arch/arm64/include/asm/irq.h
arch/arm64/kernel/entry.S
arch/arm64/kernel/irq.c