aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc/mmu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ppc/mmu.h')
-rw-r--r--include/asm-ppc/mmu.h23
1 files changed, 4 insertions, 19 deletions
diff --git a/include/asm-ppc/mmu.h b/include/asm-ppc/mmu.h
index 0a70b05b3afb..14584e505ed5 100644
--- a/include/asm-ppc/mmu.h
+++ b/include/asm-ppc/mmu.h
@@ -23,25 +23,18 @@ extern phys_addr_t fixup_bigphys_addr(phys_addr_t, phys_addr_t);
23#define PHYS_FMT "%16Lx" 23#define PHYS_FMT "%16Lx"
24#endif 24#endif
25 25
26/* Default "unsigned long" context */ 26typedef struct {
27typedef unsigned long mm_context_t; 27 unsigned long id;
28 unsigned long vdso_base;
29} mm_context_t;
28 30
29/* Hardware Page Table Entry */ 31/* Hardware Page Table Entry */
30typedef struct _PTE { 32typedef struct _PTE {
31#ifdef CONFIG_PPC64BRIDGE
32 unsigned long long vsid:52;
33 unsigned long api:5;
34 unsigned long :5;
35 unsigned long h:1;
36 unsigned long v:1;
37 unsigned long long rpn:52;
38#else /* CONFIG_PPC64BRIDGE */
39 unsigned long v:1; /* Entry is valid */ 33 unsigned long v:1; /* Entry is valid */
40 unsigned long vsid:24; /* Virtual segment identifier */ 34 unsigned long vsid:24; /* Virtual segment identifier */
41 unsigned long h:1; /* Hash algorithm indicator */ 35 unsigned long h:1; /* Hash algorithm indicator */
42 unsigned long api:6; /* Abbreviated page index */ 36 unsigned long api:6; /* Abbreviated page index */
43 unsigned long rpn:20; /* Real (physical) page number */ 37 unsigned long rpn:20; /* Real (physical) page number */
44#endif /* CONFIG_PPC64BRIDGE */
45 unsigned long :3; /* Unused */ 38 unsigned long :3; /* Unused */
46 unsigned long r:1; /* Referenced */ 39 unsigned long r:1; /* Referenced */
47 unsigned long c:1; /* Changed */ 40 unsigned long c:1; /* Changed */
@@ -82,11 +75,7 @@ typedef struct _P601_BATU { /* Upper part of BAT for 601 processor */
82} P601_BATU; 75} P601_BATU;
83 76
84typedef struct _BATU { /* Upper part of BAT (all except 601) */ 77typedef struct _BATU { /* Upper part of BAT (all except 601) */
85#ifdef CONFIG_PPC64BRIDGE
86 unsigned long long bepi:47;
87#else /* CONFIG_PPC64BRIDGE */
88 unsigned long bepi:15; /* Effective page index (virtual address) */ 78 unsigned long bepi:15; /* Effective page index (virtual address) */
89#endif /* CONFIG_PPC64BRIDGE */
90 unsigned long :4; /* Unused */ 79 unsigned long :4; /* Unused */
91 unsigned long bl:11; /* Block size mask */ 80 unsigned long bl:11; /* Block size mask */
92 unsigned long vs:1; /* Supervisor valid */ 81 unsigned long vs:1; /* Supervisor valid */
@@ -101,11 +90,7 @@ typedef struct _P601_BATL { /* Lower part of BAT for 601 processor */
101} P601_BATL; 90} P601_BATL;
102 91
103typedef struct _BATL { /* Lower part of BAT (all except 601) */ 92typedef struct _BATL { /* Lower part of BAT (all except 601) */
104#ifdef CONFIG_PPC64BRIDGE
105 unsigned long long brpn:47;
106#else /* CONFIG_PPC64BRIDGE */
107 unsigned long brpn:15; /* Real page index (physical address) */ 93 unsigned long brpn:15; /* Real page index (physical address) */
108#endif /* CONFIG_PPC64BRIDGE */
109 unsigned long :10; /* Unused */ 94 unsigned long :10; /* Unused */
110 unsigned long w:1; /* Write-thru cache */ 95 unsigned long w:1; /* Write-thru cache */
111 unsigned long i:1; /* Cache inhibit */ 96 unsigned long i:1; /* Cache inhibit */