param.h revision 1.41.8.2 1 1.41.8.2 scw /* $NetBSD: param.h,v 1.41.8.2 2001/11/18 18:09:34 scw Exp $ */
2 1.41.8.2 scw
3 1.41.8.2 scw /*
4 1.41.8.2 scw * Copyright (c) 1988 University of Utah.
5 1.41.8.2 scw * Copyright (c) 1982, 1986, 1990, 1993
6 1.41.8.2 scw * The Regents of the University of California. All rights reserved.
7 1.41.8.2 scw *
8 1.41.8.2 scw * This code is derived from software contributed to Berkeley by
9 1.41.8.2 scw * the Systems Programming Group of the University of Utah Computer
10 1.41.8.2 scw * Science Department.
11 1.41.8.2 scw *
12 1.41.8.2 scw * Redistribution and use in source and binary forms, with or without
13 1.41.8.2 scw * modification, are permitted provided that the following conditions
14 1.41.8.2 scw * are met:
15 1.41.8.2 scw * 1. Redistributions of source code must retain the above copyright
16 1.41.8.2 scw * notice, this list of conditions and the following disclaimer.
17 1.41.8.2 scw * 2. Redistributions in binary form must reproduce the above copyright
18 1.41.8.2 scw * notice, this list of conditions and the following disclaimer in the
19 1.41.8.2 scw * documentation and/or other materials provided with the distribution.
20 1.41.8.2 scw * 3. All advertising materials mentioning features or use of this software
21 1.41.8.2 scw * must display the following acknowledgement:
22 1.41.8.2 scw * This product includes software developed by the University of
23 1.41.8.2 scw * California, Berkeley and its contributors.
24 1.41.8.2 scw * 4. Neither the name of the University nor the names of its contributors
25 1.41.8.2 scw * may be used to endorse or promote products derived from this software
26 1.41.8.2 scw * without specific prior written permission.
27 1.41.8.2 scw *
28 1.41.8.2 scw * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29 1.41.8.2 scw * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 1.41.8.2 scw * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 1.41.8.2 scw * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32 1.41.8.2 scw * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 1.41.8.2 scw * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 1.41.8.2 scw * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 1.41.8.2 scw * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 1.41.8.2 scw * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 1.41.8.2 scw * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 1.41.8.2 scw * SUCH DAMAGE.
39 1.41.8.2 scw *
40 1.41.8.2 scw * from: Utah $Hdr: machparam.h 1.16 92/12/20$
41 1.41.8.2 scw *
42 1.41.8.2 scw * @(#)param.h 8.1 (Berkeley) 6/10/93
43 1.41.8.2 scw */
44 1.41.8.2 scw
45 1.41.8.2 scw #ifndef _MACHINE_PARAM_H_
46 1.41.8.2 scw #define _MACHINE_PARAM_H_
47 1.41.8.2 scw
48 1.41.8.2 scw /*
49 1.41.8.2 scw * Machine dependent constants for HP9000 series 300.
50 1.41.8.2 scw */
51 1.41.8.2 scw #define _MACHINE hp300
52 1.41.8.2 scw #define MACHINE "hp300"
53 1.41.8.2 scw
54 1.41.8.2 scw /*
55 1.41.8.2 scw * Interrupt glue.
56 1.41.8.2 scw */
57 1.41.8.2 scw #include <machine/intr.h>
58 1.41.8.2 scw
59 1.41.8.2 scw #define PGSHIFT 12 /* LOG2(NBPG) */
60 1.41.8.2 scw #define KERNBASE 0x00000000 /* start of kernel virtual */
61 1.41.8.2 scw
62 1.41.8.2 scw #define SEGSHIFT 22 /* LOG2(NBSEG) */
63 1.41.8.2 scw #define NBSEG (1 << SEGSHIFT) /* bytes/segment */
64 1.41.8.2 scw #define SEGOFSET (NBSEG-1) /* byte offset into segment */
65 1.41.8.2 scw
66 1.41.8.2 scw #define UPAGES 2 /* pages of u-area */
67 1.41.8.2 scw
68 1.41.8.2 scw #include <m68k/param.h>
69 1.41.8.2 scw
70 1.41.8.2 scw #define NPTEPG (NBPG/(sizeof (pt_entry_t)))
71 1.41.8.2 scw
72 1.41.8.2 scw /*
73 1.41.8.2 scw * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
74 1.41.8.2 scw * logical pages.
75 1.41.8.2 scw */
76 1.41.8.2 scw #define NKMEMPAGES_MIN_DEFAULT ((6 * 1024 * 1024) >> PAGE_SHIFT)
77 1.41.8.2 scw #define NKMEMPAGES_MAX_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
78 1.41.8.2 scw
79 1.41.8.2 scw #if defined(_KERNEL) && !defined(_LOCORE)
80 1.41.8.2 scw #define delay(us) _delay((us) << 8)
81 1.41.8.2 scw #define DELAY(us) delay(us)
82 1.41.8.2 scw
83 1.41.8.2 scw void _delay __P((u_int));
84 1.41.8.2 scw #endif /* _KERNEL && !_LOCORE */
85 1.41.8.2 scw
86 1.41.8.2 scw #if defined(_KERNEL_OPT)
87 1.41.8.2 scw #include "opt_compat_hpux.h"
88 1.41.8.2 scw #endif
89 1.41.8.2 scw
90 1.41.8.2 scw #ifdef COMPAT_HPUX
91 1.41.8.2 scw /*
92 1.41.8.2 scw * Constants/macros for HPUX multiple mapping of user address space.
93 1.41.8.2 scw * Pages in the first 256Mb are mapped in at every 256Mb segment.
94 1.41.8.2 scw */
95 1.41.8.2 scw #define HPMMMASK 0xF0000000
96 1.41.8.2 scw #define ISHPMMADDR(v) \
97 1.41.8.2 scw ((curproc->l_proc->p_md.mdp_flags & MDP_HPUXMMAP) && \
98 1.41.8.2 scw ((unsigned)(v) & HPMMMASK) && \
99 1.41.8.2 scw ((unsigned)(v) & HPMMMASK) != HPMMMASK)
100 1.41.8.2 scw #define HPMMBASEADDR(v) \
101 1.41.8.2 scw ((unsigned)(v) & ~HPMMMASK)
102 1.41.8.2 scw #endif
103 1.41.8.2 scw
104 1.41.8.2 scw #endif /* !_MACHINE_PARAM_H_ */
105