pte.h revision 1.1 1 /* $NetBSD: pte.h,v 1.1 2002/06/05 01:04:23 fredette Exp $ */
2
3 /* $OpenBSD: pte.h,v 1.8 2001/01/12 23:37:49 mickey Exp $ */
4
5 /*
6 * Copyright (c) 1990,1993,1994 The University of Utah and
7 * the Computer Systems Laboratory at the University of Utah (CSL).
8 * All rights reserved.
9 *
10 * Permission to use, copy, modify and distribute this software is hereby
11 * granted provided that (1) source code retains these copyright, permission,
12 * and disclaimer notices, and (2) redistributions including binaries
13 * reproduce the notices in supporting documentation, and (3) all advertising
14 * materials mentioning features or use of this software display the following
15 * acknowledgement: ``This product includes software developed by the
16 * Computer Systems Laboratory at the University of Utah.''
17 *
18 * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
19 * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
20 * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
21 *
22 * CSL requests users of this software to return to csl-dist (at) cs.utah.edu any
23 * improvements that they make and grant CSL redistribution rights.
24 *
25 * Utah $Hdr: pmap.h 1.24 94/12/14$
26 * Author: Mike Hibler, Bob Wheeler, University of Utah CSL, 9/90
27 */
28
29 #ifndef _HPPA_PTE_H_
30 #define _HPPA_PTE_H_
31
32 /* TLB access/protection values */
33 #define TLB_REF 0x80000000 /* software only */
34 #define TLB_ALIGNED 0x40000000 /* software only */
35 #define TLB_TRAP 0x20000000
36 #define TLB_DIRTY 0x10000000
37 #define TLB_BREAK 0x08000000
38 #define TLB_AR_MASK 0x07f00000
39 #define TLB_AR_NA 0x07300000
40 #define TLB_AR_KR 0x00000000
41 #define TLB_AR_KRW 0x01000000
42 #define TLB_AR_KRX 0x02000000
43 #define TLB_AR_KRWX 0x03000000
44 #define TLB_AR_UR 0x00f00000
45 #define TLB_AR_URW 0x01f00000
46 #define TLB_AR_URX 0x02f00000
47 #define TLB_AR_URWX 0x03f00000
48 #define TLB_UNCACHEABLE 0x00080000
49 #define TLB_ICACHE 0x00040000 /* software only */
50 #define TLB_NOTUSED 0x00020000 /* software only */
51 #define TLB_DCACHE 0x00010000 /* software only */
52 #define TLB_PID_MASK 0x0000fffe
53 #define TLB_WIRED 0x00000001 /* software only */
54
55 #define TLB_BITS "\020\024U\031W\032X\033N\034B\035D\036T\037A\040R"
56
57 #define TLB_REF_POS 0
58 #define TLB_ALIGNED_POS 1
59 #define TLB_TRAP_POS 2
60 #define TLB_DIRTY_POS 3
61 #define TLB_BREAK_POS 4
62 #define TLB_ITLB_POS 12
63 #define TLB_ICACHE_POS 13
64 #define TLB_DTLB_POS 14
65 #define TLB_DCACHE_POS 15
66 #define TLB_WIRED_POS 31
67
68 /* protection for a gateway page */
69 #define TLB_GATE_PROT 0x04c00000
70
71 /* protection for break page */
72 #define TLB_BREAK_PROT 0x02c00000
73
74 #endif /* _HPPA_PTE_H_ */
75