? aqueue.c ? aqueue.h ? hints.diff ? linkerset3.diff ? linkerset5.diff ? linkerset7.diff ? linkerset8.diff ? pmap_c.patch ? i386/conf/COMPAQ ? i386/conf/COMPUP ? i386/conf/LINT ? i386/conf/MILK ? i386/conf/NOPCI ? i386/conf/SMP ? i386/conf/TINY ? i386/conf/hints ? nfs/nameihash ? nfs/nameihash.c ? nfs/nfshashstat ? nfs/nfshashstat.c Index: conf/options.i386 =================================================================== RCS file: /home/ncvs/src/sys/conf/options.i386,v retrieving revision 1.152 diff -u -4 -r1.152 options.i386 --- conf/options.i386 2001/08/02 23:54:23 1.152 +++ conf/options.i386 2001/08/25 01:47:25 @@ -20,8 +20,9 @@ WLCACHE opt_wavelan.h WLDEBUG opt_wavelan.h COMPAT_OLDISA BROKEN_KEYBOARD_RESET opt_reset.h +UPAGES # Options for emulators. These should only be used at config time, so # they are handled like options for static file systems # (see src/sys/conf/options), except for broken debugging options. Index: conf/options.pc98 =================================================================== RCS file: /home/ncvs/src/sys/conf/options.pc98,v retrieving revision 1.125 diff -u -4 -r1.125 options.pc98 --- conf/options.pc98 2001/08/02 23:54:23 1.125 +++ conf/options.pc98 2001/08/25 01:47:25 @@ -20,8 +20,9 @@ WLCACHE opt_wavelan.h WLDEBUG opt_wavelan.h COMPAT_OLDISA BROKEN_KEYBOARD_RESET opt_reset.h +UPAGES # Options for emulators. These should only be used at config time, so # they are handled like options for static file systems # (see src/sys/conf/options), except for broken debugging options. Index: i386/conf/NOTES =================================================================== RCS file: /home/ncvs/src/sys/i386/conf/NOTES,v retrieving revision 1.945 diff -u -4 -r1.945 NOTES --- i386/conf/NOTES 2001/08/23 20:32:20 1.945 +++ i386/conf/NOTES 2001/08/25 01:47:25 @@ -83,8 +83,9 @@ options BLKDEV_IOSIZE=8192 # Options for the VM subsystem options PQ_CACHESIZE=512 # color for 512k/16k cache +options UPAGES=3 # number of 4k stack pages per process # Deprecated options supported for backwards compatibility #options PQ_NOOPT # No coloring #options PQ_LARGECACHE # color for 512k/16k cache #options PQ_HUGECACHE # color for 1024k/16k cache Index: i386/i386/genassym.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/genassym.c,v retrieving revision 1.112 diff -u -4 -r1.112 genassym.c --- i386/i386/genassym.c 2001/07/12 06:32:50 1.112 +++ i386/i386/genassym.c 2001/08/25 01:47:25 @@ -36,8 +36,10 @@ * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 * $FreeBSD: src/sys/i386/i386/genassym.c,v 1.112 2001/07/12 06:32:50 peter Exp $ */ +#include "opt_upages.h" + #include #include #include #include Index: i386/i386/machdep.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/machdep.c,v retrieving revision 1.475 diff -u -4 -r1.475 machdep.c --- i386/i386/machdep.c 2001/08/23 01:49:12 1.475 +++ i386/i386/machdep.c 2001/08/25 01:47:25 @@ -48,8 +48,9 @@ #include "opt_maxmem.h" #include "opt_msgbuf.h" #include "opt_npx.h" #include "opt_perfmon.h" +#include "opt_upages.h" /* #include "opt_userconfig.h" */ #include #include @@ -104,8 +105,11 @@ #include /* pcb.h included via sys/user.h */ #include #ifdef PERFMON #include +#endif +#ifdef SMP +#include #endif #include #include Index: i386/i386/mp_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/mp_machdep.c,v retrieving revision 1.161 diff -u -4 -r1.161 mp_machdep.c --- i386/i386/mp_machdep.c 2001/07/26 18:46:57 1.161 +++ i386/i386/mp_machdep.c 2001/08/25 01:47:25 @@ -25,8 +25,9 @@ * $FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.161 2001/07/26 18:46:57 bmilekic Exp $ */ #include "opt_cpu.h" +#include "opt_upages.h" #ifdef SMP #include #else @@ -69,8 +70,9 @@ #include /** TEST_DEFAULT_CONFIG, TEST_TEST1 */ #include #include #include +#include #if defined(APIC_IO) #include /* setidt() */ #include /* IPIs */ Index: i386/i386/pmap.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/pmap.c,v retrieving revision 1.286 diff -u -4 -r1.286 pmap.c --- i386/i386/pmap.c 2001/08/22 04:07:26 1.286 +++ i386/i386/pmap.c 2001/08/25 01:47:25 @@ -70,8 +70,9 @@ #include "opt_disable_pse.h" #include "opt_pmap.h" #include "opt_msgbuf.h" +#include "opt_upages.h" #include #include #include Index: i386/i386/sys_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/sys_machdep.c,v retrieving revision 1.60 diff -u -4 -r1.60 sys_machdep.c --- i386/i386/sys_machdep.c 2001/08/10 22:53:26 1.60 +++ i386/i386/sys_machdep.c 2001/08/25 01:47:25 @@ -34,8 +34,10 @@ * $FreeBSD: src/sys/i386/i386/sys_machdep.c,v 1.60 2001/08/10 22:53:26 jhb Exp $ * */ +#include "opt_upages.h" + #include #include #include #include Index: i386/i386/vm_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/vm_machdep.c,v retrieving revision 1.167 diff -u -4 -r1.167 vm_machdep.c --- i386/i386/vm_machdep.c 2001/07/12 06:32:50 1.167 +++ i386/i386/vm_machdep.c 2001/08/25 01:47:25 @@ -46,8 +46,9 @@ #include "opt_pc98.h" #endif #include "opt_reset.h" #include "opt_isa.h" +#include "opt_upages.h" #include #include #include Index: i386/include/globaldata.h =================================================================== RCS file: /home/ncvs/src/sys/i386/include/globaldata.h,v retrieving revision 1.28 diff -u -4 -r1.28 globaldata.h --- i386/include/globaldata.h 2001/08/16 09:29:35 1.28 +++ i386/include/globaldata.h 2001/08/25 01:47:25 @@ -73,27 +73,7 @@ char gd_ktr_buf_data[KTR_SIZE]; #endif }; -#ifdef SMP -/* - * This is the upper (0xff800000) address space layout that is per-cpu. - * It is setup in locore.s and pmap.c for the BSP and in mp_machdep.c for - * each AP. genassym helps export this to the assembler code. - */ -struct privatespace { - /* page 0 - data page */ - struct globaldata globaldata; - char __filler0[PAGE_SIZE - sizeof(struct globaldata)]; - - /* page 1 - idle stack (UPAGES pages) */ - char idlestack[UPAGES * PAGE_SIZE]; - /* page 1+UPAGES... */ -}; - -extern struct privatespace SMP_prvspace[]; - -#endif - #endif /* _KERNEL */ #endif /* ! _MACHINE_GLOBALDATA_H_ */ Index: i386/include/param.h =================================================================== RCS file: /home/ncvs/src/sys/i386/include/param.h,v retrieving revision 1.60 diff -u -4 -r1.60 param.h --- i386/include/param.h 2001/08/20 00:41:11 1.60 +++ i386/include/param.h 2001/08/25 01:47:26 @@ -109,9 +109,12 @@ #define MAXPHYS (128 * 1024) /* max raw I/O transfer size */ #define MAXDUMPPGS (DFLTPHYS/PAGE_SIZE) #define IOPAGES 2 /* pages of i/o permission bitmap */ + +#ifndef UPAGES #define UPAGES 2 /* pages of u-area */ +#endif /* * Ceiling on amount of swblock kva space. */ Index: i386/include/privatespace.h =================================================================== RCS file: privatespace.h diff -N privatespace.h --- /dev/null Fri Aug 24 18:39:48 2001 +++ privatespace.h Fri Aug 24 18:47:26 2001 @@ -0,0 +1,49 @@ +/*- + * Copyright (c) Peter Wemm + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_PRIVATESPACE_H_ +#define _MACHINE_PRIVATESPACE_H_ + +/* + * This is the upper (0xff800000) address space layout that is per-cpu. + * It is setup in locore.s and pmap.c for the BSP and in mp_machdep.c for + * each AP. This is only applicable to the x86 SMP kernel. + */ +struct privatespace { + /* page 0 - data page */ + struct globaldata globaldata; + char __filler0[PAGE_SIZE - sizeof(struct globaldata)]; + + /* page 1 - idle stack (UPAGES pages) */ + char idlestack[UPAGES * PAGE_SIZE]; + /* page 1+UPAGES... */ +}; + +extern struct privatespace SMP_prvspace[]; + +#endif /* ! _MACHINE_PRIVATESPACE_H_ */ Index: kern/imgact_aout.c =================================================================== RCS file: /home/ncvs/src/sys/kern/imgact_aout.c,v retrieving revision 1.69 diff -u -4 -r1.69 imgact_aout.c --- kern/imgact_aout.c 2001/07/04 16:20:11 1.69 +++ kern/imgact_aout.c 2001/08/25 01:47:26 @@ -25,8 +25,10 @@ * * $FreeBSD: src/sys/kern/imgact_aout.c,v 1.69 2001/07/04 16:20:11 dillon Exp $ */ +#include "opt_upages.h" + #include #include #include #include Index: pc98/i386/machdep.c =================================================================== RCS file: /home/ncvs/src/sys/pc98/i386/machdep.c,v retrieving revision 1.239 diff -u -4 -r1.239 machdep.c --- pc98/i386/machdep.c 2001/08/23 01:50:31 1.239 +++ pc98/i386/machdep.c 2001/08/25 01:47:26 @@ -48,8 +48,9 @@ #include "opt_maxmem.h" #include "opt_msgbuf.h" #include "opt_npx.h" #include "opt_perfmon.h" +#include "opt_upages.h" /* #include "opt_userconfig.h" */ #include #include @@ -104,8 +105,11 @@ #include /* pcb.h included via sys/user.h */ #include #ifdef PERFMON #include +#endif +#ifdef SMP +#include #endif #include #include