Annotation of sys/arch/hppa64/include/param.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: param.h,v 1.9 2007/05/28 21:02:49 thib Exp $ */
! 2:
! 3: /*
! 4: * Copyright (c) 1988-1994, The University of Utah and
! 5: * the Computer Systems Laboratory at the University of Utah (CSL).
! 6: * All rights reserved.
! 7: *
! 8: * Permission to use, copy, modify and distribute this software is hereby
! 9: * granted provided that (1) source code retains these copyright, permission,
! 10: * and disclaimer notices, and (2) redistributions including binaries
! 11: * reproduce the notices in supporting documentation, and (3) all advertising
! 12: * materials mentioning features or use of this software display the following
! 13: * acknowledgement: ``This product includes software developed by the
! 14: * Computer Systems Laboratory at the University of Utah.''
! 15: *
! 16: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
! 17: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
! 18: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
! 19: *
! 20: * CSL requests users of this software to return to csl-dist@cs.utah.edu any
! 21: * improvements that they make and grant CSL redistribution rights.
! 22: *
! 23: * Utah $Hdr: param.h 1.18 94/12/16$
! 24: */
! 25:
! 26: #include <machine/cpu.h>
! 27:
! 28: /*
! 29: * Machine dependent constants for PA-RISC.
! 30: */
! 31:
! 32: #define _MACHINE hppa64
! 33: #define MACHINE "hppa64"
! 34: #define _MACHINE_ARCH hppa64
! 35: #define MACHINE_ARCH "hppa64"
! 36: #define MID_MACHINE MID_HPPA20
! 37:
! 38: /*
! 39: * Round p (pointer or byte index) up to a correctly-aligned value for all
! 40: * data types (int, long, ...). The result is u_int and must be cast to
! 41: * any desired pointer type.
! 42: */
! 43: #define ALIGNBYTES 7
! 44: #define ALIGN(p) (((u_long)(p) + ALIGNBYTES) &~ ALIGNBYTES)
! 45: #define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t) - 1)) == 0)
! 46:
! 47: #define PAGE_SIZE 4096
! 48: #define PAGE_MASK (PAGE_SIZE-1)
! 49: #define PAGE_SHIFT 12
! 50:
! 51: #define NBPG 4096 /* bytes/page */
! 52: #define PGOFSET (NBPG-1) /* byte offset into page */
! 53: #define PGSHIFT 12 /* LOG2(NBPG) */
! 54:
! 55: #define KERNBASE 0x00000000 /* start of kernel virtual */
! 56:
! 57: #define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
! 58: #define DEV_BSIZE (1 << DEV_BSHIFT)
! 59: #define BLKDEV_IOSIZE 2048
! 60: #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
! 61:
! 62: #define MACHINE_STACK_GROWS_UP 1 /* stack grows to higher addresses */
! 63:
! 64: #define USPACE (4 * NBPG) /* pages for user struct and kstack */
! 65: #define USPACE_ALIGN (0) /* u-area alignment 0-none */
! 66:
! 67: #ifndef MSGBUFSIZE
! 68: #define MSGBUFSIZE 2*NBPG /* default message buffer size */
! 69: #endif
! 70:
! 71: /*
! 72: * Constants related to network buffer management.
! 73: */
! 74: #define NMBCLUSTERS 4096 /* map size, max cluster allocation */
! 75:
! 76: /*
! 77: * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
! 78: * logical pages.
! 79: */
! 80: #define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
! 81: #define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
! 82:
! 83: /* pages ("clicks") (4096 bytes) to disk blocks */
! 84: #define ctod(x) ((x) << (PAGE_SHIFT - DEV_BSHIFT))
! 85: #define dtoc(x) ((x) >> (PAGE_SHIFT - DEV_BSHIFT))
! 86:
! 87: /* pages to bytes */
! 88: #define ctob(x) ((x) << PAGE_SHIFT)
! 89: #define btoc(x) (((x) + PAGE_MASK) >> PAGE_SHIFT)
! 90:
! 91: #define btodb(x) ((x) >> DEV_BSHIFT)
! 92: #define dbtob(x) ((x) << DEV_BSHIFT)
! 93:
! 94: #ifndef _LOCORE
! 95: #define CONADDR conaddr
! 96: #define CONUNIT conunit
! 97: #define COM_FREQ 7372800
! 98: extern hppa_hpa_t conaddr;
! 99: extern int conunit;
! 100: #endif
! 101:
! 102: #define __SWAP_BROKEN
CVSweb