diff options
Diffstat (limited to 'arch/mips/include/asm/pgtable-bits.h')
-rw-r--r-- | arch/mips/include/asm/pgtable-bits.h | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h index e747bfa0be7e..ca11f14f40a3 100644 --- a/arch/mips/include/asm/pgtable-bits.h +++ b/arch/mips/include/asm/pgtable-bits.h | |||
@@ -32,39 +32,41 @@ | |||
32 | * unpredictable things. The code (when it is written) to deal with | 32 | * unpredictable things. The code (when it is written) to deal with |
33 | * this problem will be in the update_mmu_cache() code for the r4k. | 33 | * this problem will be in the update_mmu_cache() code for the r4k. |
34 | */ | 34 | */ |
35 | #if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32) | 35 | #if defined(CONFIG_PHYS_ADDR_T_64BIT) && defined(CONFIG_CPU_MIPS32) |
36 | 36 | ||
37 | /* | 37 | /* |
38 | * The following bits are directly used by the TLB hardware | 38 | * The following bits are directly used by the TLB hardware |
39 | */ | 39 | */ |
40 | #define _PAGE_R4KBUG (1 << 0) /* workaround for r4k bug */ | 40 | #define _PAGE_GLOBAL_SHIFT 0 |
41 | #define _PAGE_GLOBAL (1 << 0) | 41 | #define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) |
42 | #define _PAGE_VALID_SHIFT 1 | 42 | #define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1) |
43 | #define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) | 43 | #define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) |
44 | #define _PAGE_SILENT_READ (1 << 1) /* synonym */ | 44 | #define _PAGE_DIRTY_SHIFT (_PAGE_VALID_SHIFT + 1) |
45 | #define _PAGE_DIRTY_SHIFT 2 | 45 | #define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) |
46 | #define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) /* The MIPS dirty bit */ | 46 | #define _CACHE_SHIFT (_PAGE_DIRTY_SHIFT + 1) |
47 | #define _PAGE_SILENT_WRITE (1 << 2) | 47 | #define _CACHE_MASK (7 << _CACHE_SHIFT) |
48 | #define _CACHE_SHIFT 3 | ||
49 | #define _CACHE_MASK (7 << 3) | ||
50 | 48 | ||
51 | /* | 49 | /* |
52 | * The following bits are implemented in software | 50 | * The following bits are implemented in software |
53 | * | 51 | * |
54 | * _PAGE_FILE semantics: set:pagecache unset:swap | 52 | * _PAGE_FILE semantics: set:pagecache unset:swap |
55 | */ | 53 | */ |
56 | #define _PAGE_PRESENT_SHIFT 6 | 54 | #define _PAGE_PRESENT_SHIFT (_CACHE_SHIFT + 3) |
57 | #define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT) | 55 | #define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT) |
58 | #define _PAGE_READ_SHIFT 7 | 56 | #define _PAGE_READ_SHIFT (_PAGE_PRESENT_SHIFT + 1) |
59 | #define _PAGE_READ (1 << _PAGE_READ_SHIFT) | 57 | #define _PAGE_READ (1 << _PAGE_READ_SHIFT) |
60 | #define _PAGE_WRITE_SHIFT 8 | 58 | #define _PAGE_WRITE_SHIFT (_PAGE_READ_SHIFT + 1) |
61 | #define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT) | 59 | #define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT) |
62 | #define _PAGE_ACCESSED_SHIFT 9 | 60 | #define _PAGE_ACCESSED_SHIFT (_PAGE_WRITE_SHIFT + 1) |
63 | #define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT) | 61 | #define _PAGE_ACCESSED (1 << _PAGE_ACCESSED_SHIFT) |
64 | #define _PAGE_MODIFIED_SHIFT 10 | 62 | #define _PAGE_MODIFIED_SHIFT (_PAGE_ACCESSED_SHIFT + 1) |
65 | #define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT) | 63 | #define _PAGE_MODIFIED (1 << _PAGE_MODIFIED_SHIFT) |
66 | 64 | ||
67 | #define _PAGE_FILE (1 << 10) | 65 | #define _PAGE_SILENT_READ _PAGE_VALID |
66 | #define _PAGE_SILENT_WRITE _PAGE_DIRTY | ||
67 | #define _PAGE_FILE _PAGE_MODIFIED | ||
68 | |||
69 | #define _PFN_SHIFT (PAGE_SHIFT - 12 + _CACHE_SHIFT + 3) | ||
68 | 70 | ||
69 | #elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) | 71 | #elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) |
70 | 72 | ||
@@ -172,7 +174,7 @@ | |||
172 | 174 | ||
173 | #define _PFN_SHIFT (PAGE_SHIFT - 12 + _CACHE_SHIFT + 3) | 175 | #define _PFN_SHIFT (PAGE_SHIFT - 12 + _CACHE_SHIFT + 3) |
174 | 176 | ||
175 | #endif /* defined(CONFIG_64BIT_PHYS_ADDR && defined(CONFIG_CPU_MIPS32) */ | 177 | #endif /* defined(CONFIG_PHYS_ADDR_T_64BIT && defined(CONFIG_CPU_MIPS32) */ |
176 | 178 | ||
177 | #ifndef _PFN_SHIFT | 179 | #ifndef _PFN_SHIFT |
178 | #define _PFN_SHIFT PAGE_SHIFT | 180 | #define _PFN_SHIFT PAGE_SHIFT |