NetBSD/sys/arch/hppa/include/param.h

99 lines
3.2 KiB
C

/* $NetBSD: param.h,v 1.29 2021/05/31 14:38:55 simonb Exp $ */
/* $OpenBSD: param.h,v 1.12 2001/07/06 02:07:41 provos Exp $ */
/*
* Copyright (c) 1988-1994, The University of Utah and
* the Computer Systems Laboratory at the University of Utah (CSL).
* All rights reserved.
*
* Permission to use, copy, modify and distribute this software is hereby
* granted provided that (1) source code retains these copyright, permission,
* and disclaimer notices, and (2) redistributions including binaries
* reproduce the notices in supporting documentation, and (3) all advertising
* materials mentioning features or use of this software display the following
* acknowledgement: ``This product includes software developed by the
* Computer Systems Laboratory at the University of Utah.''
*
* THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
* IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
* ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
*
* CSL requests users of this software to return to csl-dist@cs.utah.edu any
* improvements that they make and grant CSL redistribution rights.
*
* Utah $Hdr: param.h 1.18 94/12/16$
*/
#ifdef _KERNEL
#include <machine/cpu.h>
#ifdef _KERNEL_OPT
#include "opt_param.h"
#endif
#endif
/*
* Machine dependent constants for PA-RISC.
*/
#define _MACHINE hppa
#define MACHINE "hppa"
#define _MACHINE_ARCH hppa
#define MACHINE_ARCH "hppa"
#define MID_MACHINE MID_HPPA
#define PGSHIFT 12 /* LOG2(NBPG) */
#define NBPG (1 << PGSHIFT) /* bytes/page */
#define PGOFSET (NBPG - 1) /* byte offset into page */
#define SEGSHIFT (PGSHIFT + (PGSHIFT-PTESHIFT)) /* LOG2(NBSEG) */
#define NBSEG (1 << SEGSHIFT) /* bytes/segment (quadrant) */
#define SEGOFSET (NBSEG - 1) /* byte offset into segment */
#define KERNBASE 0x00000000 /* start of kernel virtual */
#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT)
#define SSIZE (1) /* initial stack size/NBPG */
#define SINCR (1) /* increment of stack/NBPG */
#ifdef DIAGNOSTIC
#define UPAGES 5 /* pages of u-area + redzone */
#else
#define UPAGES 4 /* pages of u-area */
#endif
#define USPACE (UPAGES * NBPG) /* pages for user struct and kstack */
#ifndef MSGBUFSIZE
#define MSGBUFSIZE (2 * NBPG) /* default message buffer size */
#endif
/*
* Constants related to network buffer management.
* MCLBYTES must be no larger than the software page size, and,
* on machines that exchange pages of input or output buffers with mbuf
* clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
* of the hardware page size.
*/
#define MSIZE 256 /* size of an mbuf */
#define MCLSHIFT 11
#define MCLBYTES (1 << MCLSHIFT) /* large enough for ether MTU */
#define MCLOFSET (MCLBYTES - 1)
/*
* Size of kernel malloc arena in logical pages
*/
#define NKMEMPAGES_MIN_DEFAULT ((16 * 1024 * 1024) >> PAGE_SHIFT)
#define NKMEMPAGES_MAX_DEFAULT ((256 * 1024 * 1024) >> PAGE_SHIFT)
/*
* Mach derived conversion macros
*/
#define btop(x) ((unsigned long)(x) >> PGSHIFT)
#define ptob(x) ((unsigned long)(x) << PGSHIFT)
/* Default audio blocksize in msec. See sys/dev/audio/audio.c */
#if defined(_KERNEL)
#define __AUDIO_BLK_MS (40)
#endif