diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2013-03-23 16:12:32 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2013-03-23 16:12:32 +0000 |
commit | 73c9f13809997febbf178be4123a0352ee8b8312 (patch) | |
tree | 4a514d179014528fcaa112abb942d619dc1ae9ca /sys/arch/sparc64/include/param.h | |
parent | 3ea8990ba9276efe1c2bbde129074f8dd9b8c992 (diff) |
refactor sys/param.h and machine/param.h. A lot of #ifdef _KERNEL is added
to keep definitions our of user space. The MD files now follow a consistant
order -- all namespace intrusion is at the tail can be cleaned up
independently. locore, bootblocks, and libkvm still see enough visibility to
build. Checked on 90% of platforms...
Diffstat (limited to 'sys/arch/sparc64/include/param.h')
-rw-r--r-- | sys/arch/sparc64/include/param.h | 103 |
1 files changed, 42 insertions, 61 deletions
diff --git a/sys/arch/sparc64/include/param.h b/sys/arch/sparc64/include/param.h index 3e1b685677c..4e2bd923ed8 100644 --- a/sys/arch/sparc64/include/param.h +++ b/sys/arch/sparc64/include/param.h @@ -1,5 +1,4 @@ -/* $OpenBSD: param.h,v 1.36 2011/09/08 03:40:32 guenther Exp $ */ -/* $NetBSD: param.h,v 1.25 2001/05/30 12:28:51 mrg Exp $ */ +/* $OpenBSD: param.h,v 1.37 2013/03/23 16:12:28 deraadt Exp $ */ /* * Copyright (c) 1992, 1993 @@ -37,8 +36,6 @@ * 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. - * - * @(#)param.h 8.1 (Berkeley) 6/11/93 */ /* @@ -49,7 +46,7 @@ * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. - * + * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -64,8 +61,8 @@ * */ -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ +#ifndef _MACHINE_PARAM_H_ +#define _MACHINE_PARAM_H_ #define _MACHINE sparc64 #define MACHINE "sparc64" @@ -77,20 +74,15 @@ #define ALIGN(p) _ALIGN(p) #define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t) -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define DEV_BSIZE (1 << DEV_BSHIFT) -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (64 * 1024) - -/* We get stack overflows w/8K stacks in 64-bit mode */ -#define UPAGES 2 /* initial stack size in pages */ -#define USPACE (UPAGES*8192) -#define USPACE_ALIGN (0) /* u-area alignment 0-none */ - +#define PAGE_SHIFT 13 +#define PAGE_SIZE (1 << PAGE_SHIFT) +#define PAGE_MASK (PAGE_SIZE - 1) +#define PGSHIFT PAGE_SHIFT /* LOG2(PAGE_SIZE) */ +#define PGOFSET PAGE_MASK /* byte offset into page */ /* * Here are all the magic kernel virtual addresses and how they're allocated. - * + * * First, the PROM is usually a fixed-sized block from 0x00000000f0000000 to * 0x00000000f0100000. It also uses some space around 0x00000000fff00000 to * map in device registers. The rest is pretty much ours to play with. @@ -105,7 +97,7 @@ * 0x0000000000000000: 64K NFO page zero * 0x0000000000010000: Userland or PROM * KERNBASE: 4MB kernel text and read only data - * This is mapped in the ITLB and + * This is mapped in the ITLB and * Read-Only in the DTLB * KERNBASE+0x400000: 4MB kernel data and BSS -- not in ITLB * Contains context table, kernel pmap, @@ -124,9 +116,12 @@ * */ #define KERNBASE 0x001000000 /* start of kernel virtual space */ + +#ifdef _KERNEL + #define KERNEND 0x0e0000000 /* end of kernel virtual space */ -#define _MAXNBPG 8192 /* fixed VAs, independent of actual NBPG */ +#define _MAXNBPG 8192 /* fixed VAs, independent of actual NBPG */ #define AUXREG_VA ( KERNEND + _MAXNBPG) /* 1 page REDZONE */ #define TMPMAP_VA ( AUXREG_VA + _MAXNBPG) @@ -134,33 +129,28 @@ /* * Here's the location of the interrupt stack and CPU structure. */ -#define INTSTACK ( KERNEND + 8*_MAXNBPG)/* 64K after kernel end */ +#define INTSTACK ( KERNEND + 8*_MAXNBPG)/* 64K after kernel end */ #define EINTSTACK ( INTSTACK + 2*USPACE) /* 32KB */ #define CPUINFO_VA ( EINTSTACK) -/* - * Constants related to network buffer management. - */ -#define NMBCLUSTERS 4096 /* map size, max cluster allocation */ +#define NBPG PAGE_SIZE /* bytes/page */ + +#define UPAGES 2 /* pages of u-area */ +#define USPACE (UPAGES * PAGE_SIZE) /* total size of u-area */ +#define USPACE_ALIGN 0 /* u-area alignment 0-none */ -#define MSGBUFSIZE NBPG +#define NMBCLUSTERS 4096 /* map size, max cluster allocation */ + +#ifndef MSGBUFSIZE +#define MSGBUFSIZE (1 * PAGE_SIZE) +#endif /* - * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized + * Maximum size of the kernel malloc arena in PAGE_SIZE-sized * logical pages. */ -#define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT) #define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT) -/* pages ("clicks") to disk blocks */ -#define ctod(x) ((x) << (PGSHIFT - DEV_BSHIFT)) -#define dtoc(x) ((x) >> (PGSHIFT - DEV_BSHIFT)) - -/* bytes to disk blocks */ -#define btodb(x) ((x) >> DEV_BSHIFT) -#define dbtob(x) ((x) << DEV_BSHIFT) - -#ifdef _KERNEL #ifndef _LOCORE extern void delay(unsigned int); @@ -169,44 +159,35 @@ extern void delay(unsigned int); extern int cputyp; #if defined (SUN4US) || defined (SUN4V) -#define CPU_ISSUN4U (cputyp == CPU_SUN4U) -#define CPU_ISSUN4US (cputyp == CPU_SUN4US) -#define CPU_ISSUN4V (cputyp == CPU_SUN4V) +#define CPU_ISSUN4U (cputyp == CPU_SUN4U) +#define CPU_ISSUN4US (cputyp == CPU_SUN4US) +#define CPU_ISSUN4V (cputyp == CPU_SUN4V) #else -#define CPU_ISSUN4U (1) -#define CPU_ISSUN4US (0) -#define CPU_ISSUN4V (0) +#define CPU_ISSUN4U (1) +#define CPU_ISSUN4US (0) +#define CPU_ISSUN4V (0) #endif #endif /* _LOCORE */ -#endif /* _KERNEL */ /* * Values for the cputyp variable. */ -#define CPU_SUN4 0 -#define CPU_SUN4C 1 -#define CPU_SUN4M 2 -#define CPU_SUN4U 3 -#define CPU_SUN4US 4 -#define CPU_SUN4V 5 +#define CPU_SUN4 0 +#define CPU_SUN4C 1 +#define CPU_SUN4M 2 +#define CPU_SUN4U 3 +#define CPU_SUN4US 4 +#define CPU_SUN4V 5 /* * On a sun4u machine, the page size is 8192. */ -#define NBPG 8192 /* bytes/page */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 13 /* log2(NBPG) */ - -#define PAGE_SHIFT 13 -#define PAGE_SIZE (1 << PAGE_SHIFT) -#define PAGE_MASK (PAGE_SIZE - 1) - -#ifdef _KERNEL #ifndef _LOCORE #include <machine/cpu.h> #endif -#endif -#endif /* _MACHINE_PARAM_H_ */ +#endif /* _KERNEL */ + +#endif /* _MACHINE_PARAM_H_ */ |