Home | History | Annotate | Line # | Download | only in include
param.h revision 1.23.48.1
      1  1.23.48.1  christos /*	$NetBSD: param.h,v 1.23.48.1 2019/06/10 22:06:45 christos Exp $	*/
      2        1.1    itojun 
      3        1.1    itojun /*-
      4       1.13       wiz  * Copyright (c) 2002 The NetBSD Foundation, Inc. All rights reserved.
      5        1.1    itojun  * Copyright (c) 1990 The Regents of the University of California.
      6        1.1    itojun  * All rights reserved.
      7       1.12       agc  *
      8       1.12       agc  * This code is derived from software contributed to Berkeley by
      9       1.12       agc  * William Jolitz.
     10       1.12       agc  *
     11       1.12       agc  * Redistribution and use in source and binary forms, with or without
     12       1.12       agc  * modification, are permitted provided that the following conditions
     13       1.12       agc  * are met:
     14       1.12       agc  * 1. Redistributions of source code must retain the above copyright
     15       1.12       agc  *    notice, this list of conditions and the following disclaimer.
     16       1.12       agc  * 2. Redistributions in binary form must reproduce the above copyright
     17       1.12       agc  *    notice, this list of conditions and the following disclaimer in the
     18       1.12       agc  *    documentation and/or other materials provided with the distribution.
     19       1.12       agc  * 3. Neither the name of the University nor the names of its contributors
     20       1.12       agc  *    may be used to endorse or promote products derived from this software
     21       1.12       agc  *    without specific prior written permission.
     22       1.12       agc  *
     23       1.12       agc  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     24       1.12       agc  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     25       1.12       agc  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     26       1.12       agc  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     27       1.12       agc  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     28       1.12       agc  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     29       1.12       agc  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     30       1.12       agc  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     31       1.12       agc  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     32       1.12       agc  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     33       1.12       agc  * SUCH DAMAGE.
     34       1.12       agc  *
     35       1.12       agc  *	@(#)param.h	5.8 (Berkeley) 6/28/91
     36       1.12       agc  */
     37       1.12       agc 
     38        1.1    itojun /*
     39        1.8       uch  * SuperH dependent constants.
     40        1.1    itojun  */
     41        1.1    itojun 
     42       1.11       uch #ifndef _SH3_PARAM_H_
     43       1.11       uch #define	_SH3_PARAM_H_
     44       1.11       uch 
     45        1.8       uch #if defined(_KERNEL) && !defined(_LOCORE)
     46       1.17     pooka #include <machine/cpu.h>
     47        1.1    itojun #endif
     48        1.1    itojun 
     49       1.11       uch /* NetBSD/sh3 is 4KB page */
     50       1.11       uch #define	PGSHIFT			12
     51       1.11       uch #define	NBPG			(1 << PGSHIFT)
     52       1.11       uch #define	PGOFSET			(NBPG - 1)
     53       1.11       uch 
     54        1.8       uch /*
     55        1.8       uch  * u-space.
     56        1.8       uch  */
     57        1.9       uch #define	UPAGES		3		/* pages of u-area */
     58        1.1    itojun #define	USPACE		(UPAGES * NBPG)	/* total size of u-area */
     59        1.9       uch #if UPAGES == 1
     60        1.9       uch #error "too small u-area"
     61        1.9       uch #elif UPAGES == 2
     62        1.9       uch #define	P1_STACK	/* kernel stack is P1-area */
     63        1.9       uch #else
     64        1.9       uch #undef	P1_STACK	/* kernel stack is P3-area */
     65        1.9       uch #endif
     66        1.1    itojun 
     67        1.1    itojun #ifndef MSGBUFSIZE
     68       1.10       uch #define	MSGBUFSIZE	NBPG		/* default message buffer size */
     69        1.1    itojun #endif
     70        1.1    itojun 
     71        1.1    itojun /*
     72        1.1    itojun  * Constants related to network buffer management.
     73        1.2     ragge  * MCLBYTES must be no larger than NBPG (the software page size), and,
     74        1.1    itojun  * on machines that exchange pages of input or output buffers with mbuf
     75        1.1    itojun  * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
     76        1.1    itojun  * of the hardware page size.
     77        1.1    itojun  */
     78        1.4    itojun #define	MSIZE		256		/* size of an mbuf */
     79        1.1    itojun 
     80        1.1    itojun #ifndef MCLSHIFT
     81        1.6    simonb #define	MCLSHIFT	11		/* convert bytes to m_buf clusters */
     82        1.6    simonb 					/* 2K cluster can hold Ether frame */
     83        1.1    itojun #endif	/* MCLSHIFT */
     84        1.1    itojun 
     85        1.1    itojun #define	MCLBYTES	(1 << MCLSHIFT)	/* size of a m_buf cluster */
     86        1.1    itojun 
     87        1.1    itojun /*
     88        1.3   thorpej  * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
     89        1.3   thorpej  * logical pages.
     90        1.1    itojun  */
     91       1.23      para #define	NKMEMPAGES_MIN_DEFAULT	((16 * 1024 * 1024) >> PAGE_SHIFT)
     92       1.23      para #define	NKMEMPAGES_MAX_DEFAULT	((128 * 1024 * 1024) >> PAGE_SHIFT)
     93        1.1    itojun 
     94       1.11       uch #endif /* !_SH3_PARAM_H_ */
     95