diff options
-rw-r--r-- | sys/powerpc/aim/machdep.c | 5 | ||||
-rw-r--r-- | sys/powerpc/powerpc/machdep.c | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/powerpc/aim/machdep.c b/sys/powerpc/aim/machdep.c index 1588796..a96df41 100644 --- a/sys/powerpc/aim/machdep.c +++ b/sys/powerpc/aim/machdep.c @@ -127,7 +127,7 @@ extern vm_offset_t ksym_start, ksym_end; int cold = 1; -char pcpu0[PAGE_SIZE]; +struct pcpu __pcpu[MAXCPU]; struct trapframe frame0; vm_offset_t kstack0; @@ -290,12 +290,11 @@ powerpc_init(u_int startkernel, u_int endkernel, u_int basekernel, void *mdp) /* * Set up per-cpu data. */ - pc = (struct pcpu *)(pcpu0 + PAGE_SIZE) - 1; + pc = &__pcpu[0]; pcpu_init(pc, 0, sizeof(struct pcpu)); pc->pc_curthread = &thread0; pc->pc_curpcb = thread0.td_pcb; pc->pc_cpuid = 0; - /* pc->pc_mid = mid; */ __asm __volatile("mtsprg 0, %0" :: "r"(pc)); diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 1588796..a96df41 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -127,7 +127,7 @@ extern vm_offset_t ksym_start, ksym_end; int cold = 1; -char pcpu0[PAGE_SIZE]; +struct pcpu __pcpu[MAXCPU]; struct trapframe frame0; vm_offset_t kstack0; @@ -290,12 +290,11 @@ powerpc_init(u_int startkernel, u_int endkernel, u_int basekernel, void *mdp) /* * Set up per-cpu data. */ - pc = (struct pcpu *)(pcpu0 + PAGE_SIZE) - 1; + pc = &__pcpu[0]; pcpu_init(pc, 0, sizeof(struct pcpu)); pc->pc_curthread = &thread0; pc->pc_curpcb = thread0.td_pcb; pc->pc_cpuid = 0; - /* pc->pc_mid = mid; */ __asm __volatile("mtsprg 0, %0" :: "r"(pc)); |