diff options
Diffstat (limited to 'arch/sparc/include/asm/mmu_64.h')
| -rw-r--r-- | arch/sparc/include/asm/mmu_64.h | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/arch/sparc/include/asm/mmu_64.h b/arch/sparc/include/asm/mmu_64.h index 9067dc500535..76092c4dd277 100644 --- a/arch/sparc/include/asm/mmu_64.h +++ b/arch/sparc/include/asm/mmu_64.h | |||
| @@ -30,22 +30,8 @@ | |||
| 30 | #define CTX_PGSZ_MASK ((CTX_PGSZ_BITS << CTX_PGSZ0_SHIFT) | \ | 30 | #define CTX_PGSZ_MASK ((CTX_PGSZ_BITS << CTX_PGSZ0_SHIFT) | \ |
| 31 | (CTX_PGSZ_BITS << CTX_PGSZ1_SHIFT)) | 31 | (CTX_PGSZ_BITS << CTX_PGSZ1_SHIFT)) |
| 32 | 32 | ||
| 33 | #if defined(CONFIG_SPARC64_PAGE_SIZE_8KB) | ||
| 34 | #define CTX_PGSZ_BASE CTX_PGSZ_8KB | 33 | #define CTX_PGSZ_BASE CTX_PGSZ_8KB |
| 35 | #elif defined(CONFIG_SPARC64_PAGE_SIZE_64KB) | 34 | #define CTX_PGSZ_HUGE CTX_PGSZ_4MB |
| 36 | #define CTX_PGSZ_BASE CTX_PGSZ_64KB | ||
| 37 | #else | ||
| 38 | #error No page size specified in kernel configuration | ||
| 39 | #endif | ||
| 40 | |||
| 41 | #if defined(CONFIG_HUGETLB_PAGE_SIZE_4MB) | ||
| 42 | #define CTX_PGSZ_HUGE CTX_PGSZ_4MB | ||
| 43 | #elif defined(CONFIG_HUGETLB_PAGE_SIZE_512K) | ||
| 44 | #define CTX_PGSZ_HUGE CTX_PGSZ_512KB | ||
| 45 | #elif defined(CONFIG_HUGETLB_PAGE_SIZE_64K) | ||
| 46 | #define CTX_PGSZ_HUGE CTX_PGSZ_64KB | ||
| 47 | #endif | ||
| 48 | |||
| 49 | #define CTX_PGSZ_KERN CTX_PGSZ_4MB | 35 | #define CTX_PGSZ_KERN CTX_PGSZ_4MB |
| 50 | 36 | ||
| 51 | /* Thus, when running on UltraSPARC-III+ and later, we use the following | 37 | /* Thus, when running on UltraSPARC-III+ and later, we use the following |
| @@ -96,7 +82,7 @@ struct tsb_config { | |||
| 96 | 82 | ||
| 97 | #define MM_TSB_BASE 0 | 83 | #define MM_TSB_BASE 0 |
| 98 | 84 | ||
| 99 | #ifdef CONFIG_HUGETLB_PAGE | 85 | #if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE) |
| 100 | #define MM_TSB_HUGE 1 | 86 | #define MM_TSB_HUGE 1 |
| 101 | #define MM_NUM_TSBS 2 | 87 | #define MM_NUM_TSBS 2 |
| 102 | #else | 88 | #else |
| @@ -107,6 +93,7 @@ typedef struct { | |||
| 107 | spinlock_t lock; | 93 | spinlock_t lock; |
| 108 | unsigned long sparc64_ctx_val; | 94 | unsigned long sparc64_ctx_val; |
| 109 | unsigned long huge_pte_count; | 95 | unsigned long huge_pte_count; |
| 96 | struct page *pgtable_page; | ||
| 110 | struct tsb_config tsb_block[MM_NUM_TSBS]; | 97 | struct tsb_config tsb_block[MM_NUM_TSBS]; |
| 111 | struct hv_tsb_descr tsb_descr[MM_NUM_TSBS]; | 98 | struct hv_tsb_descr tsb_descr[MM_NUM_TSBS]; |
| 112 | } mm_context_t; | 99 | } mm_context_t; |
