13 #include <linux/stddef.h>
14 #include <linux/kernel.h>
20 #include <asm/pgtable.h>
21 #include <asm/pci-bridge.h>
23 #include <asm/cacheflush.h>
31 #define MCM_PORT_CONFIG_OFFSET 0x10
34 #define MPC86xx_MCM_OFFSET (0x1000)
35 #define MPC86xx_MCM_SIZE (0x1000)
38 smp_86xx_release_core(
int nr)
52 pcr |= 1 << (nr + 24);
60 smp_86xx_kick_cpu(
int nr)
62 unsigned int save_vector;
70 pr_debug(
"smp_86xx_kick_cpu: kick CPU #%d\n", nr);
82 smp_86xx_release_core(nr);
85 while ((__secondary_hold_acknowledge != nr) && (n++, n < 1000))
89 *vector = save_vector;
94 pr_debug(
"wait CPU #%d for %d msecs.\n", nr, n);
101 smp_86xx_setup_cpu(
int cpu_nr)
108 .message_pass = smp_mpic_message_pass,
109 .probe = smp_mpic_probe,
110 .kick_cpu = smp_86xx_kick_cpu,
111 .setup_cpu = smp_86xx_setup_cpu,