diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2015-05-03 05:36:19 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-08-30 07:16:40 -0400 |
commit | 1cfa8de2880e5512f9037c7804ea47a79cc8232c (patch) | |
tree | f9d1b694f2757ed2d3496d7ac1ed644707135dcb | |
parent | 90996511187d6282db6d02d3f97006b4dbb5c457 (diff) |
MIPS: pgtable-bits.h: Correct _PAGE_GLOBAL_SHIFT build failure
Correct a build failure introduced by be0c37c9 [MIPS: Rearrange PTE bits
into fixed positions.]:
In file included from ./arch/mips/include/asm/io.h:27:0,
from ./arch/mips/include/asm/page.h:176,
from include/linux/mm_types.h:15,
from include/linux/sched.h:27,
from include/linux/ptrace.h:5,
from arch/mips/kernel/cpu-probe.c:16:
./arch/mips/include/asm/pgtable-bits.h:164:0: error: "_PAGE_GLOBAL_SHIFT" redefined [-Werror]
#define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1)
^
./arch/mips/include/asm/pgtable-bits.h:141:0: note: this is the location of the previous definition
#define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1)
^
cc1: all warnings being treated as errors
make[2]: *** [arch/mips/kernel/cpu-probe.o] Error 1
for 64BIT/CPU_MIPSR1/MIPS_HUGE_TLB_SUPPORT configurations. Remove the
scattered double `_PAGE_NO_EXEC_SHIFT' and `_PAGE_GLOBAL_SHIFT' macro
definitions and rearrange them so that the respective macros these
definitions are based on are also those used for guarding conditionals.
[ralf@linux-mips.org: resolved conflicts and updated commments.]
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9960/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/include/asm/pgtable-bits.h | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h index c28a8499aec7..46017419bb6e 100644 --- a/arch/mips/include/asm/pgtable-bits.h +++ b/arch/mips/include/asm/pgtable-bits.h | |||
@@ -133,20 +133,13 @@ | |||
133 | #define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT) | 133 | #define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT) |
134 | #define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT + 1) | 134 | #define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT + 1) |
135 | #define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT) | 135 | #define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT) |
136 | |||
137 | /* Only R2 or newer cores have the XI bit */ | ||
138 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) | ||
139 | #define _PAGE_NO_EXEC_SHIFT (_PAGE_SPLITTING_SHIFT + 1) | ||
140 | #else | ||
141 | #define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1) | ||
142 | #define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) | ||
143 | #endif /* CONFIG_CPU_MIPSR2 || CONFIG_CPU_MIPSR6 */ | ||
144 | |||
145 | #endif /* CONFIG_64BIT && CONFIG_MIPS_HUGE_TLB_SUPPORT */ | 136 | #endif /* CONFIG_64BIT && CONFIG_MIPS_HUGE_TLB_SUPPORT */ |
146 | 137 | ||
147 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) | 138 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) |
148 | /* XI - page cannot be executed */ | 139 | /* XI - page cannot be executed */ |
149 | #ifndef _PAGE_NO_EXEC_SHIFT | 140 | #ifdef _PAGE_SPLITTING_SHIFT |
141 | #define _PAGE_NO_EXEC_SHIFT (_PAGE_SPLITTING_SHIFT + 1) | ||
142 | #else | ||
150 | #define _PAGE_NO_EXEC_SHIFT (_PAGE_MODIFIED_SHIFT + 1) | 143 | #define _PAGE_NO_EXEC_SHIFT (_PAGE_MODIFIED_SHIFT + 1) |
151 | #endif | 144 | #endif |
152 | #define _PAGE_NO_EXEC (cpu_has_rixi ? (1 << _PAGE_NO_EXEC_SHIFT) : 0) | 145 | #define _PAGE_NO_EXEC (cpu_has_rixi ? (1 << _PAGE_NO_EXEC_SHIFT) : 0) |
@@ -156,14 +149,16 @@ | |||
156 | #define _PAGE_READ (cpu_has_rixi ? 0 : (1 << _PAGE_READ_SHIFT)) | 149 | #define _PAGE_READ (cpu_has_rixi ? 0 : (1 << _PAGE_READ_SHIFT)) |
157 | #define _PAGE_NO_READ_SHIFT _PAGE_READ_SHIFT | 150 | #define _PAGE_NO_READ_SHIFT _PAGE_READ_SHIFT |
158 | #define _PAGE_NO_READ (cpu_has_rixi ? (1 << _PAGE_READ_SHIFT) : 0) | 151 | #define _PAGE_NO_READ (cpu_has_rixi ? (1 << _PAGE_READ_SHIFT) : 0) |
152 | #endif /* defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) */ | ||
159 | 153 | ||
154 | #if defined(_PAGE_NO_READ_SHIFT) | ||
160 | #define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1) | 155 | #define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1) |
161 | #define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) | 156 | #elif defined(_PAGE_SPLITTING_SHIFT) |
162 | 157 | #define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1) | |
163 | #else /* !CONFIG_CPU_MIPSR2 && !CONFIG_CPU_MIPSR6 */ | 158 | #else |
164 | #define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1) | 159 | #define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1) |
160 | #endif | ||
165 | #define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) | 161 | #define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT) |
166 | #endif /* CONFIG_CPU_MIPSR2 || CONFIG_CPU_MIPSR6 */ | ||
167 | 162 | ||
168 | #define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1) | 163 | #define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1) |
169 | #define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) | 164 | #define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) |