summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/macppc/macppc/cpu.c20
-rw-r--r--sys/arch/macppc/macppc/genassym.cf3
-rw-r--r--sys/arch/macppc/macppc/locore.S4
-rw-r--r--sys/arch/powerpc/include/cpu.h3
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;