public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* 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