diff options
Diffstat (limited to 'include/asm-powerpc/mmu.h')
| -rw-r--r-- | include/asm-powerpc/mmu.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/asm-powerpc/mmu.h b/include/asm-powerpc/mmu.h index 31f721994bd8..3a5ebe229af5 100644 --- a/include/asm-powerpc/mmu.h +++ b/include/asm-powerpc/mmu.h | |||
| @@ -96,6 +96,8 @@ extern char initial_stab[]; | |||
| 96 | #define HPTE_R_FLAGS ASM_CONST(0x00000000000003ff) | 96 | #define HPTE_R_FLAGS ASM_CONST(0x00000000000003ff) |
| 97 | #define HPTE_R_PP ASM_CONST(0x0000000000000003) | 97 | #define HPTE_R_PP ASM_CONST(0x0000000000000003) |
| 98 | #define HPTE_R_N ASM_CONST(0x0000000000000004) | 98 | #define HPTE_R_N ASM_CONST(0x0000000000000004) |
| 99 | #define HPTE_R_C ASM_CONST(0x0000000000000080) | ||
| 100 | #define HPTE_R_R ASM_CONST(0x0000000000000100) | ||
| 99 | 101 | ||
| 100 | /* Values for PP (assumes Ks=0, Kp=1) */ | 102 | /* Values for PP (assumes Ks=0, Kp=1) */ |
| 101 | /* pp0 will always be 0 for linux */ | 103 | /* pp0 will always be 0 for linux */ |
| @@ -163,6 +165,16 @@ struct mmu_psize_def | |||
| 163 | extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT]; | 165 | extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT]; |
| 164 | extern int mmu_linear_psize; | 166 | extern int mmu_linear_psize; |
| 165 | extern int mmu_virtual_psize; | 167 | extern int mmu_virtual_psize; |
| 168 | extern int mmu_vmalloc_psize; | ||
| 169 | extern int mmu_io_psize; | ||
| 170 | |||
| 171 | /* | ||
| 172 | * If the processor supports 64k normal pages but not 64k cache | ||
| 173 | * inhibited pages, we have to be prepared to switch processes | ||
| 174 | * to use 4k pages when they create cache-inhibited mappings. | ||
| 175 | * If this is the case, mmu_ci_restrictions will be set to 1. | ||
| 176 | */ | ||
| 177 | extern int mmu_ci_restrictions; | ||
| 166 | 178 | ||
| 167 | #ifdef CONFIG_HUGETLB_PAGE | 179 | #ifdef CONFIG_HUGETLB_PAGE |
| 168 | /* | 180 | /* |
| @@ -254,6 +266,7 @@ extern long iSeries_hpte_insert(unsigned long hpte_group, | |||
| 254 | 266 | ||
| 255 | extern void stabs_alloc(void); | 267 | extern void stabs_alloc(void); |
| 256 | extern void slb_initialize(void); | 268 | extern void slb_initialize(void); |
| 269 | extern void slb_flush_and_rebolt(void); | ||
| 257 | extern void stab_initialize(unsigned long stab); | 270 | extern void stab_initialize(unsigned long stab); |
| 258 | 271 | ||
| 259 | #endif /* __ASSEMBLY__ */ | 272 | #endif /* __ASSEMBLY__ */ |
| @@ -357,9 +370,12 @@ typedef unsigned long mm_context_id_t; | |||
| 357 | 370 | ||
| 358 | typedef struct { | 371 | typedef struct { |
| 359 | mm_context_id_t id; | 372 | mm_context_id_t id; |
| 373 | u16 user_psize; /* page size index */ | ||
| 374 | u16 sllp; /* SLB entry page size encoding */ | ||
| 360 | #ifdef CONFIG_HUGETLB_PAGE | 375 | #ifdef CONFIG_HUGETLB_PAGE |
| 361 | u16 low_htlb_areas, high_htlb_areas; | 376 | u16 low_htlb_areas, high_htlb_areas; |
| 362 | #endif | 377 | #endif |
| 378 | unsigned long vdso_base; | ||
| 363 | } mm_context_t; | 379 | } mm_context_t; |
| 364 | 380 | ||
| 365 | 381 | ||
