diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-10-26 18:22:37 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-10-26 18:22:37 -0400 |
commit | ffb4a73d8906f71910e6c83ec2b499e70025ee8e (patch) | |
tree | d63a6a36f73536f710cc8e8ce7294ce79f07d53e | |
parent | a5c461bb3f74646d99464652cd5363e88434c3e1 (diff) |
sh: Fix hugetlbfs dependencies for SH-3 && MMU configurations.
The hugetlb dependencies presently depend on SUPERH && MMU while the
hugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This
unfortunately allows SH-3 + MMU configurations to enable hugetlbfs
without a corresponding HPAGE_SHIFT definition, resulting in the build
blowing up.
As SH-3 doesn't support variable page sizes, we tighten up the
dependenies a bit to prevent hugetlbfs from being enabled. These days
we also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using
that rather than adding to the list of corner cases in fs/Kconfig.
Reported-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/Kconfig | 5 | ||||
-rw-r--r-- | arch/sh/mm/Kconfig | 2 | ||||
-rw-r--r-- | fs/Kconfig | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 0dc7e3cbeffa..88cdeb9f72d9 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -121,6 +121,9 @@ config SYS_SUPPORTS_APM_EMULATION | |||
121 | bool | 121 | bool |
122 | select ARCH_SUSPEND_POSSIBLE | 122 | select ARCH_SUSPEND_POSSIBLE |
123 | 123 | ||
124 | config SYS_SUPPORTS_HUGETLBFS | ||
125 | bool | ||
126 | |||
124 | config SYS_SUPPORTS_SMP | 127 | config SYS_SUPPORTS_SMP |
125 | bool | 128 | bool |
126 | 129 | ||
@@ -195,6 +198,7 @@ config CPU_SH4 | |||
195 | select CPU_HAS_SR_RB | 198 | select CPU_HAS_SR_RB |
196 | select CPU_HAS_FPU if !CPU_SH4AL_DSP | 199 | select CPU_HAS_FPU if !CPU_SH4AL_DSP |
197 | select SYS_SUPPORTS_TMU | 200 | select SYS_SUPPORTS_TMU |
201 | select SYS_SUPPORTS_HUGETLBFS if MMU | ||
198 | 202 | ||
199 | config CPU_SH4A | 203 | config CPU_SH4A |
200 | bool | 204 | bool |
@@ -209,6 +213,7 @@ config CPU_SH5 | |||
209 | bool | 213 | bool |
210 | select CPU_HAS_FPU | 214 | select CPU_HAS_FPU |
211 | select SYS_SUPPORTS_TMU | 215 | select SYS_SUPPORTS_TMU |
216 | select SYS_SUPPORTS_HUGETLBFS if MMU | ||
212 | 217 | ||
213 | config CPU_SHX2 | 218 | config CPU_SHX2 |
214 | bool | 219 | bool |
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 64dc1ad59801..7f7b52f9beba 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -227,7 +227,7 @@ endchoice | |||
227 | 227 | ||
228 | choice | 228 | choice |
229 | prompt "HugeTLB page size" | 229 | prompt "HugeTLB page size" |
230 | depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU | 230 | depends on HUGETLB_PAGE |
231 | default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB | 231 | default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB |
232 | default HUGETLB_PAGE_SIZE_64K | 232 | default HUGETLB_PAGE_SIZE_64K |
233 | 233 | ||
diff --git a/fs/Kconfig b/fs/Kconfig index d4bf8caad8d0..48b81f92a50e 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -135,8 +135,8 @@ config TMPFS_POSIX_ACL | |||
135 | 135 | ||
136 | config HUGETLBFS | 136 | config HUGETLBFS |
137 | bool "HugeTLB file system support" | 137 | bool "HugeTLB file system support" |
138 | depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \ | 138 | depends on X86 || IA64 || PPC64 || SPARC64 || (S390 && 64BIT) || \ |
139 | (S390 && 64BIT) || SYS_SUPPORTS_HUGETLBFS || BROKEN | 139 | SYS_SUPPORTS_HUGETLBFS || BROKEN |
140 | help | 140 | help |
141 | hugetlbfs is a filesystem backing for HugeTLB pages, based on | 141 | hugetlbfs is a filesystem backing for HugeTLB pages, based on |
142 | ramfs. For architectures that support it, say Y here and read | 142 | ramfs. For architectures that support it, say Y here and read |