* Clean config for hp6xx and Hugetlbpage build errors
@ 2009-10-26 19:11 Kristoffer Ericson
2009-10-26 21:59 ` Paul Mundt
2009-10-27 12:11 ` Kristoffer Ericson
0 siblings, 2 replies; 3+ messages in thread
From: Kristoffer Ericson @ 2009-10-26 19:11 UTC (permalink / raw)
To: linux-sh
Greetings,
Starting with a fresh ARCH=sh menuconfig and selecting my various bits and pieces
for hp6xx, I end up with this:
In file included from include/linux/hugetlb.h:275,
from arch/sh/mm/hugetlbpage.c:14:
/home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h: In function `prepare_hugepage_range':
/home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: `HPAGE_SHIFT' undeclared (first use in this function)
/home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: (Each undeclared identifier is reported only once
/home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: for each function it appears in.)
make[1]: *** [arch/sh/mm/hugetlbpage.o] Fel 1
make: *** [arch/sh/mm] Fel 2
Turning off MMU makes it compile nicely. And to make it abit more funny, then reactivating mmu
works fine ;)
So in order to build from scratch I need to :
1. Build with mmu (fails with hugetlb missing HPAGE_SHIFT).
2. build without mmu (works) and stop after awhile.
3. Build with mmu.
So, why is hugetlb defaulting to y?
/Kristoffer
--
Kristoffer Ericson <kristoffer.ericson@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Clean config for hp6xx and Hugetlbpage build errors
2009-10-26 19:11 Clean config for hp6xx and Hugetlbpage build errors Kristoffer Ericson
@ 2009-10-26 21:59 ` Paul Mundt
2009-10-27 12:11 ` Kristoffer Ericson
1 sibling, 0 replies; 3+ messages in thread
From: Paul Mundt @ 2009-10-26 21:59 UTC (permalink / raw)
To: linux-sh
On Mon, Oct 26, 2009 at 08:11:43PM +0100, Kristoffer Ericson wrote:
> Greetings,
>
> Starting with a fresh ARCH=sh menuconfig and selecting my various bits and pieces
> for hp6xx, I end up with this:
>
> In file included from include/linux/hugetlb.h:275,
> from arch/sh/mm/hugetlbpage.c:14:
> /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h: In function `prepare_hugepage_range':
> /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: `HPAGE_SHIFT' undeclared (first use in this function)
> /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: (Each undeclared identifier is reported only once
> /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: for each function it appears in.)
> make[1]: *** [arch/sh/mm/hugetlbpage.o] Fel 1
> make: *** [arch/sh/mm] Fel 2
>
Ah, kconfig strikes again. The problem here is that HUGETLB_PAGE depends
on SUPERH && MMU while the hugetlb page size definitions depend on SH-4
or SH-5 due to the fact SH-3 doesn't support huge pages.
Fortunately these days we have a shiny new SYS_SUPPORTS_HUGETLBFS so
there's no need to further abuse fs/Kconfig.
This ought to do it for you, and is what I'll fold in to the 2.6.32
queue.
---
arch/sh/Kconfig | 5 +++++
arch/sh/mm/Kconfig | 2 +-
fs/Kconfig | 4 ++--
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 2d3a699..5ac3c0a 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -123,6 +123,9 @@ config SYS_SUPPORTS_APM_EMULATION
bool
select ARCH_SUSPEND_POSSIBLE
+config SYS_SUPPORTS_HUGETLBFS
+ bool
+
config SYS_SUPPORTS_SMP
bool
@@ -197,6 +200,7 @@ config CPU_SH4
select CPU_HAS_SR_RB
select CPU_HAS_FPU if !CPU_SH4AL_DSP
select SYS_SUPPORTS_TMU
+ select SYS_SUPPORTS_HUGETLBFS if MMU
config CPU_SH4A
bool
@@ -211,6 +215,7 @@ config CPU_SH5
bool
select CPU_HAS_FPU
select SYS_SUPPORTS_TMU
+ select SYS_SUPPORTS_HUGETLBFS if MMU
config CPU_SHX2
bool
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index ca02b72..a5e0867 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -225,7 +225,7 @@ endchoice
choice
prompt "HugeTLB page size"
- depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU
+ depends on HUGETLB_PAGE
default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB
default HUGETLB_PAGE_SIZE_64K
diff --git a/fs/Kconfig b/fs/Kconfig
index d4bf8ca..48b81f9 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -135,8 +135,8 @@ config TMPFS_POSIX_ACL
config HUGETLBFS
bool "HugeTLB file system support"
- depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
- (S390 && 64BIT) || SYS_SUPPORTS_HUGETLBFS || BROKEN
+ depends on X86 || IA64 || PPC64 || SPARC64 || (S390 && 64BIT) || \
+ SYS_SUPPORTS_HUGETLBFS || BROKEN
help
hugetlbfs is a filesystem backing for HugeTLB pages, based on
ramfs. For architectures that support it, say Y here and read
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: Clean config for hp6xx and Hugetlbpage build errors
2009-10-26 19:11 Clean config for hp6xx and Hugetlbpage build errors Kristoffer Ericson
2009-10-26 21:59 ` Paul Mundt
@ 2009-10-27 12:11 ` Kristoffer Ericson
1 sibling, 0 replies; 3+ messages in thread
From: Kristoffer Ericson @ 2009-10-27 12:11 UTC (permalink / raw)
To: linux-sh
On Tue, 27 Oct 2009 06:59:28 +0900
Paul Mundt <lethal@linux-sh.org> wrote:
> On Mon, Oct 26, 2009 at 08:11:43PM +0100, Kristoffer Ericson wrote:
> > Greetings,
> >
> > Starting with a fresh ARCH=sh menuconfig and selecting my various bits and pieces
> > for hp6xx, I end up with this:
> >
> > In file included from include/linux/hugetlb.h:275,
> > from arch/sh/mm/hugetlbpage.c:14:
> > /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h: In function `prepare_hugepage_range':
> > /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: `HPAGE_SHIFT' undeclared (first use in this function)
> > /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: (Each undeclared identifier is reported only once
> > /home/kristoffer/work/kernel/linux-hpc.git/arch/sh/include/asm/hugetlb.h:20: error: for each function it appears in.)
> > make[1]: *** [arch/sh/mm/hugetlbpage.o] Fel 1
> > make: *** [arch/sh/mm] Fel 2
> >
> Ah, kconfig strikes again. The problem here is that HUGETLB_PAGE depends
> on SUPERH && MMU while the hugetlb page size definitions depend on SH-4
> or SH-5 due to the fact SH-3 doesn't support huge pages.
>
> Fortunately these days we have a shiny new SYS_SUPPORTS_HUGETLBFS so
> there's no need to further abuse fs/Kconfig.
>
> This ought to do it for you, and is what I'll fold in to the 2.6.32
> queue.
Sweet, thx.
>
> ---
>
> arch/sh/Kconfig | 5 +++++
> arch/sh/mm/Kconfig | 2 +-
> fs/Kconfig | 4 ++--
> 3 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 2d3a699..5ac3c0a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -123,6 +123,9 @@ config SYS_SUPPORTS_APM_EMULATION
> bool
> select ARCH_SUSPEND_POSSIBLE
>
> +config SYS_SUPPORTS_HUGETLBFS
> + bool
> +
> config SYS_SUPPORTS_SMP
> bool
>
> @@ -197,6 +200,7 @@ config CPU_SH4
> select CPU_HAS_SR_RB
> select CPU_HAS_FPU if !CPU_SH4AL_DSP
> select SYS_SUPPORTS_TMU
> + select SYS_SUPPORTS_HUGETLBFS if MMU
>
> config CPU_SH4A
> bool
> @@ -211,6 +215,7 @@ config CPU_SH5
> bool
> select CPU_HAS_FPU
> select SYS_SUPPORTS_TMU
> + select SYS_SUPPORTS_HUGETLBFS if MMU
>
> config CPU_SHX2
> bool
> diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
> index ca02b72..a5e0867 100644
> --- a/arch/sh/mm/Kconfig
> +++ b/arch/sh/mm/Kconfig
> @@ -225,7 +225,7 @@ endchoice
>
> choice
> prompt "HugeTLB page size"
> - depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU
> + depends on HUGETLB_PAGE
> default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB
> default HUGETLB_PAGE_SIZE_64K
>
> diff --git a/fs/Kconfig b/fs/Kconfig
> index d4bf8ca..48b81f9 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -135,8 +135,8 @@ config TMPFS_POSIX_ACL
>
> config HUGETLBFS
> bool "HugeTLB file system support"
> - depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
> - (S390 && 64BIT) || SYS_SUPPORTS_HUGETLBFS || BROKEN
> + depends on X86 || IA64 || PPC64 || SPARC64 || (S390 && 64BIT) || \
> + SYS_SUPPORTS_HUGETLBFS || BROKEN
> help
> hugetlbfs is a filesystem backing for HugeTLB pages, based on
> ramfs. For architectures that support it, say Y here and read
--
Kristoffer Ericson <kristoffer.ericson@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-10-27 12:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-26 19:11 Clean config for hp6xx and Hugetlbpage build errors Kristoffer Ericson
2009-10-26 21:59 ` Paul Mundt
2009-10-27 12:11 ` Kristoffer Ericson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox