1
2
3
4
5#ifndef _PARISC_MMU_H_
6#define _PARISC_MMU_H_
7
8#ifndef __ASSEMBLY__
9
10
11typedef unsigned long mm_context_t;
12
13
14typedef struct _PTE {
15 unsigned long v:1;
16 unsigned long tag:31;
17
18 unsigned long r:1;
19 unsigned long os_1:1;
20 unsigned long t:1;
21 unsigned long d:1;
22 unsigned long b:1;
23 unsigned long type:3;
24 unsigned long pl1:2;
25 unsigned long pl2:2;
26 unsigned long u:1;
27 unsigned long id:1;
28 unsigned long os_2:1;
29
30 unsigned long os_3:3;
31 unsigned long res_1:4;
32 unsigned long phys:20;
33 unsigned long os_4:2;
34 unsigned long res_2:3;
35
36 unsigned long next;
37} PTE;
38
39
40
41
42
43
44
45
46
47
48typedef struct _pte {
49 unsigned long page_num:20;
50 unsigned long flags:12;
51} pte;
52
53#define PD_SHIFT (10+12)
54#define PD_MASK 0x02FF
55#define PT_SHIFT (12)
56#define PT_MASK 0x02FF
57#define PG_SHIFT (12)
58
59
60
61typedef struct _MMU_context {
62 long pid[4];
63 pte **pmap;
64} MMU_context;
65
66#endif
67
68#endif
69