From 1401e77eb049338d5f9ca343db1a9388f09779e7 Mon Sep 17 00:00:00 2001 From: tsutsui Date: Fri, 11 Dec 2009 18:28:35 +0000 Subject: [PATCH] Move uvm_setpagesize() calls from locore.s to pmap_bootstrap_finalize(). Also explicitly set uvmexp.pagesize to prepare 8KB/page settings. XXX: There is #ifdef !defined(amiga) && !defined(atari) workaround XXX: because they have different pmap initialization functions. --- sys/arch/cesfic/cesfic/locore.s | 6 ++---- sys/arch/hp300/hp300/locore.s | 6 ++---- sys/arch/luna68k/luna68k/locore.s | 6 ++---- sys/arch/m68k/m68k/pmap_motorola.c | 14 ++++++++++++-- sys/arch/mac68k/mac68k/locore.s | 6 ++---- sys/arch/mvme68k/mvme68k/locore.s | 6 ++---- sys/arch/news68k/news68k/locore.s | 6 ++---- sys/arch/next68k/next68k/locore.s | 6 ++---- sys/arch/x68k/x68k/locore.s | 6 ++---- 9 files changed, 28 insertions(+), 34 deletions(-) diff --git a/sys/arch/cesfic/cesfic/locore.s b/sys/arch/cesfic/cesfic/locore.s index b82859767e8e..09363e922be2 100644 --- a/sys/arch/cesfic/cesfic/locore.s +++ b/sys/arch/cesfic/cesfic/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.19 2009/12/04 18:06:28 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.20 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -331,10 +331,8 @@ Lenab1: .long 0x4e7b0006 | movc d0,dtt0 .long 0x4e7b0007 | movc d0,dtt1 -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/hp300/hp300/locore.s b/sys/arch/hp300/hp300/locore.s index 1f022051aa3d..39480b5b69dd 100644 --- a/sys/arch/hp300/hp300/locore.s +++ b/sys/arch/hp300/hp300/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.148 2009/12/02 15:51:12 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.149 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -549,10 +549,8 @@ Lehighcode: * Should be running mapped from this point on */ Lenab1: -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | diff --git a/sys/arch/luna68k/luna68k/locore.s b/sys/arch/luna68k/luna68k/locore.s index 6c6a633f9813..a14cace310a5 100644 --- a/sys/arch/luna68k/luna68k/locore.s +++ b/sys/arch/luna68k/luna68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.31 2009/12/04 18:06:28 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.32 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -309,10 +309,8 @@ Lmotommu1: * Should be running mapped from this point on */ Lenab1: -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/m68k/m68k/pmap_motorola.c b/sys/arch/m68k/m68k/pmap_motorola.c index 2a8c215cb333..908603314beb 100644 --- a/sys/arch/m68k/m68k/pmap_motorola.c +++ b/sys/arch/m68k/m68k/pmap_motorola.c @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_motorola.c,v 1.54 2009/12/06 06:41:30 tsutsui Exp $ */ +/* $NetBSD: pmap_motorola.c,v 1.55 2009/12/11 18:28:35 tsutsui Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -117,7 +117,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.54 2009/12/06 06:41:30 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.55 2009/12/11 18:28:35 tsutsui Exp $"); #include #include @@ -326,6 +326,16 @@ void pmap_bootstrap_finalize(void) { +#if !defined(amiga) && !defined(atari) + /* + * XXX + * amiga and atari have different pmap initialization functions + * and they require this earlier. + */ + uvmexp.pagesize = NBPG; + uvm_setpagesize(); +#endif + /* * Initialize protection array. * XXX: Could this have port specific values? Can't this be static? diff --git a/sys/arch/mac68k/mac68k/locore.s b/sys/arch/mac68k/mac68k/locore.s index 89004affd9b3..4efdd41e5be0 100644 --- a/sys/arch/mac68k/mac68k/locore.s +++ b/sys/arch/mac68k/mac68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.157 2009/12/04 16:57:18 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.158 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990 The Regents of the University of California. @@ -333,10 +333,8 @@ Lloaddone: /* * Should be running mapped from this point on */ -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP, lwp0, and initial pcb */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/mvme68k/mvme68k/locore.s b/sys/arch/mvme68k/mvme68k/locore.s index 884bbefc1538..19c259f8d60f 100644 --- a/sys/arch/mvme68k/mvme68k/locore.s +++ b/sys/arch/mvme68k/mvme68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.102 2009/12/04 18:06:28 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.103 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -664,10 +664,8 @@ Lenab1: movl %d0,_ASM_LABEL(bug_vbr) movl #_C_LABEL(vectab),%d0 | get our VBR address movc %d0,%vbr -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/news68k/news68k/locore.s b/sys/arch/news68k/news68k/locore.s index 89841a64996d..c039b0256230 100644 --- a/sys/arch/news68k/news68k/locore.s +++ b/sys/arch/news68k/news68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.49 2009/12/02 15:54:19 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.50 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -442,10 +442,8 @@ Lmotommu2: * Should be running mapped from this point on */ Lenab1: -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/next68k/next68k/locore.s b/sys/arch/next68k/next68k/locore.s index 4fa48ece9b6c..a1f80803fa5e 100644 --- a/sys/arch/next68k/next68k/locore.s +++ b/sys/arch/next68k/next68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.52 2009/12/04 18:06:28 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.53 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1998 Darrin B. Jewell @@ -452,13 +452,11 @@ Lehighcode: * Should be running mapped from this point on */ Lenab1: -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size bsr Lpushpc | Push the PC on the stack. Lpushpc: -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | get lwp0 uarea diff --git a/sys/arch/x68k/x68k/locore.s b/sys/arch/x68k/x68k/locore.s index 2e5eb4e1ea34..35629e03d6ae 100644 --- a/sys/arch/x68k/x68k/locore.s +++ b/sys/arch/x68k/x68k/locore.s @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.94 2009/12/04 18:06:28 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.95 2009/12/11 18:28:35 tsutsui Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -935,13 +935,11 @@ Lenab1: /* set vector base in virtual address */ movl #_C_LABEL(vectab),%d0 | set Vector Base Register movc %d0,%vbr -/* select the software page size now */ lea _ASM_LABEL(tmpstk),%sp | temporary stack - jbsr _C_LABEL(uvm_setpagesize) | select software page size /* detect FPU type */ jbsr _C_LABEL(fpu_probe) movl %d0,_C_LABEL(fputype) -/* call final pmap setup which initialize lwp0, curlwp, and curpcb */ +/* call final pmap setup */ jbsr _C_LABEL(pmap_bootstrap_finalize) /* set kernel stack, user SP */ movl _C_LABEL(lwp0uarea),%a1 | grab lwp0 uarea