]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/platforms/powermac/smp.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[linux-2.6-omap-h63xx.git] / arch / powerpc / platforms / powermac / smp.c
index 686ed82bde79a6608abcf5915848a47a6ff8ffc8..4ae3d00e0bdd9bc98dde1368cd2abc226e6cf1d9 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <asm/ptrace.h>
 #include <asm/atomic.h>
+#include <asm/code-patching.h>
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/pgtable.h>
@@ -317,7 +318,6 @@ static int __init smp_psurge_probe(void)
                ncpus = NR_CPUS;
        for (i = 1; i < ncpus ; ++i) {
                cpu_set(i, cpu_present_map);
-               cpu_set(i, cpu_possible_map);
                set_hard_smp_processor_id(i, i);
        }
 
@@ -787,8 +787,7 @@ static void __devinit smp_core99_kick_cpu(int nr)
 {
        unsigned int save_vector;
        unsigned long target, flags;
-       volatile unsigned int *vector
-                = ((volatile unsigned int *)(KERNELBASE+0x100));
+       unsigned int *vector = (unsigned int *)(KERNELBASE+0x100);
 
        if (nr < 0 || nr > 3)
                return;
@@ -805,7 +804,7 @@ static void __devinit smp_core99_kick_cpu(int nr)
         *   b __secondary_start_pmac_0 + nr*8 - KERNELBASE
         */
        target = (unsigned long) __secondary_start_pmac_0 + nr * 8;
-       create_branch((unsigned long)vector, target, BRANCH_SET_LINK);
+       patch_branch(vector, target, BRANCH_SET_LINK);
 
        /* Put some life in our friend */
        pmac_call_feature(PMAC_FTR_RESET_CPU, NULL, nr, 0);