[PATCH 3/4] powerpc/4xx: Index interrupt stacks by physical cpu

Josh Boyer jwboyer at linux.vnet.ibm.com
Thu Aug 19 22:34:45 EST 2010


On Wed, Aug 18, 2010 at 11:44:25AM -0500, Dave Kleikamp wrote:
>The interrupt stacks need to be indexed by the physical cpu since the
>critical, debug and machine check handlers use the contents of SPRN_PIR to
>index the critirq_ctx, dbgirq_ctx, and mcheckirq_ctx arrays.
>
>Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
>---
> arch/powerpc/kernel/irq.c      |   15 ++++++++-------
> arch/powerpc/kernel/setup_32.c |    9 +++++----
> 2 files changed, 13 insertions(+), 11 deletions(-)
>
>diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
>index d3ce67c..52e9c95 100644
>--- a/arch/powerpc/kernel/irq.c
>+++ b/arch/powerpc/kernel/irq.c
>@@ -446,22 +446,23 @@ struct thread_info *mcheckirq_ctx[NR_CPUS] __read_mostly;
> void exc_lvl_ctx_init(void)
> {
> 	struct thread_info *tp;
>-	int i;
>+	int i, hw_cpu;
>
> 	for_each_possible_cpu(i) {
>-		memset((void *)critirq_ctx[i], 0, THREAD_SIZE);
>-		tp = critirq_ctx[i];
>+		hw_cpu = get_hard_smp_processor_id(i);

This one throws this compile error when trying to build
ppc44x_defconfig:

CC      arch/powerpc/kernel/irq.o
arch/powerpc/kernel/irq.c: In function 'exc_lvl_ctx_init':
arch/powerpc/kernel/irq.c:452: error: implicit declaration of function
'get_hard_smp_processor_id'
make[1]: *** [arch/powerpc/kernel/irq.o] Error 1
make: *** [arch/powerpc/kernel] Error 2

I'm guessing it needs a #include <asm/smp.h> added to it.

josh


More information about the Linuxppc-dev mailing list