Annotation of sys/arch/hppa64/include/param.h, Revision 1.1.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