20 #include <linux/kernel.h>
26 #include <mach/common.h>
33 #define WUPCR IOMEM(0xe6151010)
34 #define SRESCR IOMEM(0xe6151018)
35 #define PSTR IOMEM(0xe6151040)
36 #define SBAR IOMEM(0xe6180020)
37 #define APARMBAREA IOMEM(0xe6f10020)
41 return (
void __iomem *)0xf0000000;
45 static unsigned long tmp;
47 #ifdef CONFIG_HAVE_ARM_TWD
55 static void modify_scu_cpu_psr(
unsigned long set,
unsigned long clr)
63 spin_unlock(&scu_lock);
69 static unsigned int __init sh73a0_get_core_count(
void)
76 static void __cpuinit sh73a0_secondary_init(
unsigned int cpu)
86 modify_scu_cpu_psr(0, 3 << (cpu * 8));
96 static void __init sh73a0_smp_prepare_cpus(
unsigned int max_cpus)
107 modify_scu_cpu_psr(0, 3 << (cpu * 8));
110 static void __init sh73a0_smp_init_cpus(
void)
112 unsigned int ncores = sh73a0_get_core_count();
125 for (k = 0; k < 1000; k++) {
137 .smp_init_cpus = sh73a0_smp_init_cpus,
138 .smp_prepare_cpus = sh73a0_smp_prepare_cpus,
139 .smp_secondary_init = sh73a0_secondary_init,
140 .smp_boot_secondary = sh73a0_boot_secondary,
141 #ifdef CONFIG_HOTPLUG_CPU
142 .cpu_kill = sh73a0_cpu_kill,