aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/irq.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-06-02 22:24:26 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-06-15 15:02:37 +1000
commitf1ba9a5b2ab7d3f5a910d93371c4f22b636b7683 (patch)
tree027523e8302d0851acd8e472acff9c81030abc94 /arch/powerpc/kernel/irq.c
parentb636f1379eefe6eba931deaa386605bc7ac623e7 (diff)
downloadkernel_samsung_smdk4412-f1ba9a5b2ab7d3f5a910d93371c4f22b636b7683.zip
kernel_samsung_smdk4412-f1ba9a5b2ab7d3f5a910d93371c4f22b636b7683.tar.gz
kernel_samsung_smdk4412-f1ba9a5b2ab7d3f5a910d93371c4f22b636b7683.tar.bz2
powerpc: Unconditionally enabled irq stacks
Irq stacks provide an essential protection from stack overflows through external interrupts, at the cost of two additionals stacks per CPU. Enable them unconditionally to simplify the kernel build and prevent people from accidentally disabling them. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
-rw-r--r--arch/powerpc/kernel/irq.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 30817d9..3333bbd 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -317,7 +317,6 @@ void fixup_irqs(const struct cpumask *map)
}
#endif
-#ifdef CONFIG_IRQSTACKS
static inline void handle_one_irq(unsigned int irq)
{
struct thread_info *curtp, *irqtp;
@@ -358,12 +357,6 @@ static inline void handle_one_irq(unsigned int irq)
if (irqtp->flags)
set_bits(irqtp->flags, &curtp->flags);
}
-#else
-static inline void handle_one_irq(unsigned int irq)
-{
- generic_handle_irq(irq);
-}
-#endif
static inline void check_stack_overflow(void)
{
@@ -455,7 +448,6 @@ void exc_lvl_ctx_init(void)
}
#endif
-#ifdef CONFIG_IRQSTACKS
struct thread_info *softirq_ctx[NR_CPUS] __read_mostly;
struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly;
@@ -492,10 +484,6 @@ static inline void do_softirq_onstack(void)
irqtp->task = NULL;
}
-#else
-#define do_softirq_onstack() __do_softirq()
-#endif /* CONFIG_IRQSTACKS */
-
void do_softirq(void)
{
unsigned long flags;