diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-05 16:21:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-05 16:21:19 -0500 |
commit | 3331f99a6f2957d14c2e4d542c287b2c5af9f22b (patch) | |
tree | 0896f06da2f2a9d8ee2e4af8261cf354e7c28cce | |
parent | 168309855a7d1e16db751e9c647119fe2d2dc878 (diff) | |
parent | c1b27ab5d69099718f519127eea017120c180e71 (diff) |
Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull tile bugfix from Chris Metcalf:
"This fixes a bug that Sudip's buildbot found for tilepro allmodconfig.
I've tagged it for stable only back to 3.19, which was when most of
the other affected architectures added their support for working
around this issue"
* 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: provide CONFIG_PAGE_SIZE_64KB etc for tilepro
-rw-r--r-- | arch/tile/Kconfig | 11 | ||||
-rw-r--r-- | arch/tile/include/asm/page.h | 8 |
2 files changed, 10 insertions, 9 deletions
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 106c21bd7f44..8ec7a4599c08 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -176,8 +176,6 @@ config NR_CPUS | |||
176 | smaller kernel memory footprint results from using a smaller | 176 | smaller kernel memory footprint results from using a smaller |
177 | value on chips with fewer tiles. | 177 | value on chips with fewer tiles. |
178 | 178 | ||
179 | if TILEGX | ||
180 | |||
181 | choice | 179 | choice |
182 | prompt "Kernel page size" | 180 | prompt "Kernel page size" |
183 | default PAGE_SIZE_64KB | 181 | default PAGE_SIZE_64KB |
@@ -188,8 +186,11 @@ choice | |||
188 | connections, etc., it may be better to select 16KB, which uses | 186 | connections, etc., it may be better to select 16KB, which uses |
189 | memory more efficiently at some cost in TLB performance. | 187 | memory more efficiently at some cost in TLB performance. |
190 | 188 | ||
191 | Note that this option is TILE-Gx specific; currently | 189 | Note that for TILEPro, you must also rebuild the hypervisor |
192 | TILEPro page size is set by rebuilding the hypervisor. | 190 | with a matching page size. |
191 | |||
192 | config PAGE_SIZE_4KB | ||
193 | bool "4KB" if TILEPRO | ||
193 | 194 | ||
194 | config PAGE_SIZE_16KB | 195 | config PAGE_SIZE_16KB |
195 | bool "16KB" | 196 | bool "16KB" |
@@ -199,8 +200,6 @@ config PAGE_SIZE_64KB | |||
199 | 200 | ||
200 | endchoice | 201 | endchoice |
201 | 202 | ||
202 | endif | ||
203 | |||
204 | source "kernel/Kconfig.hz" | 203 | source "kernel/Kconfig.hz" |
205 | 204 | ||
206 | config KEXEC | 205 | config KEXEC |
diff --git a/arch/tile/include/asm/page.h b/arch/tile/include/asm/page.h index a213a8d84a95..8eca6a0e1762 100644 --- a/arch/tile/include/asm/page.h +++ b/arch/tile/include/asm/page.h | |||
@@ -20,15 +20,17 @@ | |||
20 | #include <arch/chip.h> | 20 | #include <arch/chip.h> |
21 | 21 | ||
22 | /* PAGE_SHIFT and HPAGE_SHIFT determine the page sizes. */ | 22 | /* PAGE_SHIFT and HPAGE_SHIFT determine the page sizes. */ |
23 | #if defined(CONFIG_PAGE_SIZE_16KB) | 23 | #if defined(CONFIG_PAGE_SIZE_4KB) /* tilepro only */ |
24 | #define PAGE_SHIFT 12 | ||
25 | #define CTX_PAGE_FLAG HV_CTX_PG_SM_4K | ||
26 | #elif defined(CONFIG_PAGE_SIZE_16KB) | ||
24 | #define PAGE_SHIFT 14 | 27 | #define PAGE_SHIFT 14 |
25 | #define CTX_PAGE_FLAG HV_CTX_PG_SM_16K | 28 | #define CTX_PAGE_FLAG HV_CTX_PG_SM_16K |
26 | #elif defined(CONFIG_PAGE_SIZE_64KB) | 29 | #elif defined(CONFIG_PAGE_SIZE_64KB) |
27 | #define PAGE_SHIFT 16 | 30 | #define PAGE_SHIFT 16 |
28 | #define CTX_PAGE_FLAG HV_CTX_PG_SM_64K | 31 | #define CTX_PAGE_FLAG HV_CTX_PG_SM_64K |
29 | #else | 32 | #else |
30 | #define PAGE_SHIFT HV_LOG2_DEFAULT_PAGE_SIZE_SMALL | 33 | #error Page size not specified in Kconfig |
31 | #define CTX_PAGE_FLAG 0 | ||
32 | #endif | 34 | #endif |
33 | #define HPAGE_SHIFT HV_LOG2_DEFAULT_PAGE_SIZE_LARGE | 35 | #define HPAGE_SHIFT HV_LOG2_DEFAULT_PAGE_SIZE_LARGE |
34 | 36 | ||