powerpc: Get merged kernel to compile and run on 32-bit SMP powermac.

This updates the powermac SMP code to use the mpic driver instead of
the openpic driver and fixes the SMP-dependent context switch code.
We had a subtle bug where we were using interrupt numbers 256-259 for
IPIs, but ppc32 had NR_IRQS = 256.  Moved the IPIs down to use interrupt
numbers 252-255 instead.

Signed-off-by: Paul Mackerras <paulus@samba.org>
diff --git a/arch/powerpc/platforms/powermac/pmac_smp.c b/arch/powerpc/platforms/powermac/pmac_smp.c
index 995e909..fb99633 100644
--- a/arch/powerpc/platforms/powermac/pmac_smp.c
+++ b/arch/powerpc/platforms/powermac/pmac_smp.c
@@ -48,7 +48,7 @@
 #include <asm/machdep.h>
 #include <asm/pmac_feature.h>
 #include <asm/time.h>
-#include <asm/open_pic.h>
+#include <asm/mpic.h>
 #include <asm/cacheflush.h>
 #include <asm/keylargo.h>
 
@@ -638,14 +638,14 @@
 	}
 	switch (target) {
 	case MSG_ALL:
-		mpic_send_ipi(msg, mask);
+		mpic_send_ipi(msg, cpus_addr(mask)[0]);
 		break;
 	case MSG_ALL_BUT_SELF:
 		cpu_clear(smp_processor_id(), mask);
-		mpic_send_ipi(msg, mask);
+		mpic_send_ipi(msg, cpus_addr(mask)[0]);
 		break;
 	default:
-		mpic_send_ipi(msg, cpumask_of_cpu(target));
+		mpic_send_ipi(msg, 1 << target);
 		break;
 	}
 }
@@ -678,7 +678,7 @@
 	cpu_clear(smp_processor_id(), cpu_online_map);
 
 	/* XXX reset cpu affinity here */
-	openpic_set_priority(0xf);
+	mpic_cpu_set_priority(0xf);
 	asm volatile("mtdec %0" : : "r" (0x7fffffff));
 	mb();
 	udelay(20);