lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 2 Apr 2008 17:04:48 +0900 From: Paul Mundt <lethal@...ux-sh.org> To: Nish Aravamudan <nish.aravamudan@...il.com> Cc: Adrian Bunk <bunk@...nel.org>, wli@...omorphy.com, linux-sh@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: HugeTLB vs. SH3 cpu On Tue, Apr 01, 2008 at 04:26:14PM -0700, Nish Aravamudan wrote: > On 4/1/08, Adrian Bunk <bunk@...nel.org> wrote: > > fs/Kconfig says: > > > > config HUGETLBFS > > bool "HugeTLB file system support" > > depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN > > > > > > arch/sh/mm/Kconfig says: > > > > choice > > prompt "HugeTLB page size" > > depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU > > So the problem is that SH3 is allowed to enable > HUGETLB_PAGE/HUGETLBFS, but only SH4/5 define the HPAGE_SHIFT macro, > due to some #ifdeffery on the hugepage size. So either the choice > needs to be extended to include CPU_SH3 (which builds here, when > changed) or the HUGETLBFS conditional needs to depend more > specifically on SH4/5 and not just SUPERH. I think the arch maintainer > has to make that call, as I don't know the hardware to say if SH3 > actually supports multiple hugepage sizes. > The problem is that the hugetlb Kconfig stuff is a complete mess. There's a semi-decoupling between HUGETLBFS and HUGETLB_PAGE, though they both depend on each other. Sorting out the mess noted by Adrian is pretty trivial with a HAVE_HUGETLB_PAGE. How about this? Signed-off-by: Paul Mundt <lethal@...ux-sh.org> --- arch/ia64/Kconfig | 1 + arch/powerpc/platforms/Kconfig.cputype | 1 + arch/sh/Kconfig | 2 ++ arch/sparc64/Kconfig | 1 + arch/x86/Kconfig | 1 + fs/Kconfig | 3 ++- mm/Kconfig | 3 +++ 7 files changed, 11 insertions(+), 1 deletion(-) diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 8fa3faf..bb1e02b 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -19,6 +19,7 @@ config IA64 select HAVE_OPROFILE select HAVE_KPROBES select HAVE_KRETPROBES + select HAVE_HUGETLB_PAGE default y help The Itanium Processor Family is Intel's 64-bit successor to diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 0c3face..7c937ad 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -1,5 +1,6 @@ config PPC64 bool "64-bit kernel" + select HAVE_HUGETLB_PAGE default n help This option selects whether a 32-bit or a 64-bit kernel diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index df2e2f9..c48f629 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -114,6 +114,7 @@ config CPU_SH3 config CPU_SH4 bool + select HAVE_HUGETLB_PAGE select CPU_HAS_INTEVT select CPU_HAS_SR_RB select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2 @@ -130,6 +131,7 @@ config CPU_SH4AL_DSP config CPU_SH5 bool + select HAVE_HUGETLB_PAGE select CPU_HAS_FPU config CPU_SHX2 diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 463d1be..3045673 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig @@ -16,6 +16,7 @@ config SPARC64 bool default y select HAVE_IDE + select HAVE_HUGETLB_PAGE help SPARC is a family of RISC microprocessors designed and marketed by Sun Microsystems, incorporated. This port covers the newer 64-bit diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 6c70fed..d91e7b7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -22,6 +22,7 @@ config X86 select HAVE_OPROFILE select HAVE_KPROBES select HAVE_KRETPROBES + select HAVE_HUGETLB_PAGE select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) diff --git a/fs/Kconfig b/fs/Kconfig index d731282..f886ae2 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -978,7 +978,7 @@ config TMPFS_POSIX_ACL config HUGETLBFS bool "HugeTLB file system support" - depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || BROKEN + depends on HAVE_HUGETLB_PAGE || BROKEN help hugetlbfs is a filesystem backing for HugeTLB pages, based on ramfs. For architectures that support it, say Y here and read @@ -987,6 +987,7 @@ config HUGETLBFS If unsure, say N. config HUGETLB_PAGE + depends on MMU def_bool HUGETLBFS config CONFIGFS_FS diff --git a/mm/Kconfig b/mm/Kconfig index 0016ebd..3113374 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -90,6 +90,9 @@ config HAVE_MEMORY_PRESENT def_bool y depends on ARCH_HAVE_MEMORY_PRESENT || SPARSEMEM +config HAVE_HUGETLB_PAGE + def_bool n + # # SPARSEMEM_EXTREME (which is the default) does some bootmem # allocations when memory_present() is called. If this cannot -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists