diff options
-rw-r--r-- | sys/arch/macppc/macppc/cpu.c | 20 | ||||
-rw-r--r-- | sys/arch/macppc/macppc/genassym.cf | 3 | ||||
-rw-r--r-- | sys/arch/macppc/macppc/locore.S | 4 | ||||
-rw-r--r-- | sys/arch/powerpc/include/cpu.h | 3 |
4 files changed, 8 insertions, 22 deletions
diff --git a/sys/arch/macppc/macppc/cpu.c b/sys/arch/macppc/macppc/cpu.c index c3ca93afd75..9b2aa5676cc 100644 --- a/sys/arch/macppc/macppc/cpu.c +++ b/sys/arch/macppc/macppc/cpu.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.c,v 1.44 2007/10/10 15:53:52 art Exp $ */ +/* $OpenBSD: cpu.c,v 1.45 2007/12/04 22:36:39 kettenis Exp $ */ /* * Copyright (c) 1997 Per Fogelstrom @@ -554,14 +554,13 @@ struct cpu_hatch_data { }; volatile struct cpu_hatch_data *cpu_hatch_data; -volatile int cpu_hatch_stack; +volatile void *cpu_hatch_stack; int cpu_spinup(struct device *self, struct cpu_info *ci) { volatile struct cpu_hatch_data hatch_data, *h = &hatch_data; int i; - struct pcb *pcb; struct pglist mlist; struct vm_page *m; int error; @@ -570,10 +569,9 @@ cpu_spinup(struct device *self, struct cpu_info *ci) u_char *reset_cpu; /* - * Allocate some contiguous pages for the idle PCB and stack + * Allocate some contiguous pages for the interrupt stack * from the lowest 256MB (because bat0 always maps it va == pa). */ - size += USPACE; size += INTSTK; size += 4096; /* SPILLSTK */ @@ -588,16 +586,8 @@ cpu_spinup(struct device *self, struct cpu_info *ci) cp = (char *)VM_PAGE_TO_PHYS(m); bzero(cp, size); - pcb = (struct pcb *)cp; - ci->ci_idle_pcb = pcb; - ci->ci_intstk = cp + USPACE + INTSTK; - - /* - * Initialize the idle stack pointer, reserving space for an - * (empty) trapframe (XXX is the trapframe really necessary?) - */ - pcb->pcb_sp = (paddr_t)pcb + USPACE - sizeof(struct trapframe); - cpu_hatch_stack = ci->ci_idle_pcb->pcb_sp; + ci->ci_intstk = cp + INTSTK; + cpu_hatch_stack = ci->ci_intstk - sizeof(struct trapframe); h->ci = ci; h->running = 0; diff --git a/sys/arch/macppc/macppc/genassym.cf b/sys/arch/macppc/macppc/genassym.cf index 2efd74a41b6..9e1f850e0e5 100644 --- a/sys/arch/macppc/macppc/genassym.cf +++ b/sys/arch/macppc/macppc/genassym.cf @@ -1,4 +1,4 @@ -# $OpenBSD: genassym.cf,v 1.15 2007/10/10 15:53:52 art Exp $ +# $OpenBSD: genassym.cf,v 1.16 2007/12/04 22:36:39 kettenis Exp $ # # Copyright (c) 1982, 1990 The Regents of the University of California. # All rights reserved. @@ -84,7 +84,6 @@ struct cpu_info member ci_curproc member ci_curpcb member ci_curpm -member ci_idle_pcb member ci_astpending member ci_want_resched member ci_cpl diff --git a/sys/arch/macppc/macppc/locore.S b/sys/arch/macppc/macppc/locore.S index e4e471d5354..eeb12cc195d 100644 --- a/sys/arch/macppc/macppc/locore.S +++ b/sys/arch/macppc/macppc/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.34 2007/10/10 15:56:20 deraadt Exp $ */ +/* $OpenBSD: locore.S,v 1.35 2007/12/04 22:36:39 kettenis Exp $ */ /* $NetBSD: locore.S,v 1.2 1996/10/16 19:33:09 ws Exp $ */ /* @@ -110,8 +110,6 @@ start: mtsprg 0,%r9 addi %r8,%r8,INTSTK stw %r8,CI_INTSTK(%r9) - stw %r8,CI_IDLE_PCB(%r9) - addi %r8,%r8,USPACE /* space for idle_u */ li %r0,-1 stw %r0,CI_INTRDEPTH(%r9) lis %r9,_C_LABEL(proc0paddr)@ha diff --git a/sys/arch/powerpc/include/cpu.h b/sys/arch/powerpc/include/cpu.h index 5e0a49f112b..de9c477b74a 100644 --- a/sys/arch/powerpc/include/cpu.h +++ b/sys/arch/powerpc/include/cpu.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.h,v 1.31 2007/03/23 21:06:05 miod Exp $ */ +/* $OpenBSD: cpu.h,v 1.32 2007/12/04 22:36:39 kettenis Exp $ */ /* $NetBSD: cpu.h,v 1.1 1996/09/30 16:34:21 ws Exp $ */ /* @@ -50,7 +50,6 @@ struct cpu_info { struct pmap *ci_curpm; struct proc *ci_fpuproc; struct proc *ci_vecproc; - struct pcb *ci_idle_pcb; /* PA of our idle pcb */ int ci_cpuid; volatile int ci_astpending; |