All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Will Deacon <will.deacon@arm.com>
Cc: "kgene.kim@samsung.com" <kgene.kim@samsung.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Chen Gang <gang.chen@asianux.com>,
	"dhowells@redhat.com" <dhowells@redhat.com>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	"plagnioj@jcrosoft.com" <plagnioj@jcrosoft.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [Suggestion] ARM:S5pv210: compiling issue for s5pv210 by using randconfig
Date: Wed, 17 Apr 2013 12:53:20 +0200	[thread overview]
Message-ID: <201304171253.20284.arnd@arndb.de> (raw)
In-Reply-To: <20130417100136.GB19492@mudshark.cambridge.arm.com>

On Wednesday 17 April 2013, Will Deacon wrote:
> > arm-linux-gnu-gcc -Wp,-MD,arch/arm/vfp/.vfphw.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.7.1/include -I/root/linux-next/arch/arm/include -Iarch/arm/include/generated  -Iinclude -I/root/linux-next/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/root/linux-next/include/uapi -Iinclude/generated/uapi -include /root/linux-next/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-s5pv210/include -Iarch/arm/plat-samsung/include  -D__ASSEMBLY__ -mabi=apcs-gnu -mno-thumb-interwork -marm -D__LINUX_ARM_ARCH__=4 -march=armv4t -mtune=arm9tdmi -include asm/unified.h -Wa,-mfpu=softvfp+vfp -mfloat-abi=soft        -c -o arch/arm/vfp/vfphw.o arch/arm/vfp/vfphw.S
> > 
> > 
> >   compiling err:
> > 
> > arch/arm/vfp/vfphw.S: Assembler messages:
> > arch/arm/vfp/vfphw.S:295: Error: selected processor does not support ARM mode `mrrc p11,3,r0,r1,c0'
> > arch/arm/vfp/vfphw.S:295: Error: selected processor does not support ARM mode `mrrc p11,3,r0,r1,c1'
> 
> The problem here is that you've ended up targetting a platform (s5pv210)
> that selects CPU_V7. VFP is then subsequently selected, but CONFIG_MMU=n, so
> 7TDMI and 9TDMI (v4 CPUs, no VFP) are selectable. Selecting either of those,
> causes these warnings.
> 
> Unfortunately, I'm not sure how best to fix this. Most of the !MMU CPUs are
> tied to a particular board (lots of `if ARCH_INTEGRATOR' predicates), but we
> don't want to do that for 7tdmi.
> 
> If we could enforce the strict exclusion of {<= ARMv5} and {ARMv6+} in the
> Kconfig, that would solve your problem.

I have not tried to get no-MMU kernels to build in general. I think the way
it should be done is to not offer any user-selectable CPU types at all but
always select the CPU from the board.

For randconfig tests, I would recommend turning on CONFIG_MMU unconditionally
using an appropriate KCONFIG_ALLCONFIG= file.

The alternative is to use the patch below, but it may be incomplete: I could
not find anything other than AT91x40 in the kernel that actually has an
ARM7TDMI or ARM9TDMI.

	Arnd

diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 6c24985..dc972e1 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -47,6 +47,7 @@ config ARCH_AT91X40
 	select ARCH_USES_GETTIMEOFFSET
 	select MULTI_IRQ_HANDLER
 	select SPARSE_IRQ
+	select CPU_ARM7TDMI
 
 endchoice
 
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 84af266..c5e4ef0 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -6,7 +6,6 @@ comment "Processor Type"
 
 # ARM7TDMI
 config CPU_ARM7TDMI
-	bool "Support ARM7TDMI processor"
 	depends on !MMU
 	select CPU_32v4T
 	select CPU_ABRT_LV4T
@@ -56,7 +55,6 @@ config CPU_ARM740T
 
 # ARM9TDMI
 config CPU_ARM9TDMI
-	bool "Support ARM9TDMI processor"
 	depends on !MMU
 	select CPU_32v4T
 	select CPU_ABRT_NOMMU

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [Suggestion] ARM:S5pv210: compiling issue for s5pv210 by using randconfig
Date: Wed, 17 Apr 2013 12:53:20 +0200	[thread overview]
Message-ID: <201304171253.20284.arnd@arndb.de> (raw)
In-Reply-To: <20130417100136.GB19492@mudshark.cambridge.arm.com>

On Wednesday 17 April 2013, Will Deacon wrote:
> > arm-linux-gnu-gcc -Wp,-MD,arch/arm/vfp/.vfphw.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.7.1/include -I/root/linux-next/arch/arm/include -Iarch/arm/include/generated  -Iinclude -I/root/linux-next/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/root/linux-next/include/uapi -Iinclude/generated/uapi -include /root/linux-next/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-s5pv210/include -Iarch/arm/plat-samsung/include  -D__ASSEMBLY__ -mabi=apcs-gnu -mno-thumb-interwork -marm -D__LINUX_ARM_ARCH__=4 -march=armv4t -mtune=arm9tdmi -include asm/unified.h -Wa,-mfpu=softvfp+vfp -mfloat-abi=soft        -c -o arch/arm/vfp/vfphw.o arch/arm/vfp/vfphw.S
> > 
> > 
> >   compiling err:
> > 
> > arch/arm/vfp/vfphw.S: Assembler messages:
> > arch/arm/vfp/vfphw.S:295: Error: selected processor does not support ARM mode `mrrc p11,3,r0,r1,c0'
> > arch/arm/vfp/vfphw.S:295: Error: selected processor does not support ARM mode `mrrc p11,3,r0,r1,c1'
> 
> The problem here is that you've ended up targetting a platform (s5pv210)
> that selects CPU_V7. VFP is then subsequently selected, but CONFIG_MMU=n, so
> 7TDMI and 9TDMI (v4 CPUs, no VFP) are selectable. Selecting either of those,
> causes these warnings.
> 
> Unfortunately, I'm not sure how best to fix this. Most of the !MMU CPUs are
> tied to a particular board (lots of `if ARCH_INTEGRATOR' predicates), but we
> don't want to do that for 7tdmi.
> 
> If we could enforce the strict exclusion of {<= ARMv5} and {ARMv6+} in the
> Kconfig, that would solve your problem.

I have not tried to get no-MMU kernels to build in general. I think the way
it should be done is to not offer any user-selectable CPU types at all but
always select the CPU from the board.

For randconfig tests, I would recommend turning on CONFIG_MMU unconditionally
using an appropriate KCONFIG_ALLCONFIG= file.

The alternative is to use the patch below, but it may be incomplete: I could
not find anything other than AT91x40 in the kernel that actually has an
ARM7TDMI or ARM9TDMI.

	Arnd

diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 6c24985..dc972e1 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -47,6 +47,7 @@ config ARCH_AT91X40
 	select ARCH_USES_GETTIMEOFFSET
 	select MULTI_IRQ_HANDLER
 	select SPARSE_IRQ
+	select CPU_ARM7TDMI
 
 endchoice
 
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 84af266..c5e4ef0 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -6,7 +6,6 @@ comment "Processor Type"
 
 # ARM7TDMI
 config CPU_ARM7TDMI
-	bool "Support ARM7TDMI processor"
 	depends on !MMU
 	select CPU_32v4T
 	select CPU_ABRT_LV4T
@@ -56,7 +55,6 @@ config CPU_ARM740T
 
 # ARM9TDMI
 config CPU_ARM9TDMI
-	bool "Support ARM9TDMI processor"
 	depends on !MMU
 	select CPU_32v4T
 	select CPU_ABRT_NOMMU

  parent reply	other threads:[~2013-04-17 10:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-25  2:10 [Suggestion] ARM:S5pv210: compiling issue for s5pv210 by using randconfig Chen Gang
2013-03-25  2:10 ` Chen Gang
2013-04-03  9:46 ` Chen Gang
2013-04-03  9:46   ` Chen Gang
2013-04-03 10:10   ` Will Deacon
2013-04-03 10:10     ` Will Deacon
2013-04-03 10:29     ` Chen Gang
2013-04-03 10:29       ` Chen Gang
2013-04-17  9:25       ` Chen Gang
2013-04-17  9:25         ` Chen Gang
2013-04-17 10:01         ` Will Deacon
2013-04-17 10:01           ` Will Deacon
2013-04-17 10:11           ` Chen Gang
2013-04-17 10:11             ` Chen Gang
2013-04-17 10:53           ` Arnd Bergmann [this message]
2013-04-17 10:53             ` Arnd Bergmann
2013-04-17 11:02             ` Jean-Christophe PLAGNIOL-VILLARD
2013-04-17 11:02               ` Jean-Christophe PLAGNIOL-VILLARD
2013-04-19 11:56               ` Chen Gang
2013-04-19 11:56                 ` Chen Gang
2013-04-17 11:07             ` Chen Gang
2013-04-17 11:07               ` Chen Gang
2013-04-17 10:02         ` Russell King - ARM Linux
2013-04-17 10:02           ` Russell King - ARM Linux
2013-04-17 10:17           ` Chen Gang
2013-04-17 10:17             ` Chen Gang
2013-04-22  6:13           ` Chen Gang
2013-04-22  6:13             ` Chen Gang
2013-04-24  4:12             ` [PATCH] ARM: Kconfig: let ARM9TDMI and ARM7TDMI invisible Chen Gang
2013-04-24  4:12               ` Chen Gang
2013-04-24  4:16               ` Chen Gang
2013-04-24  4:16                 ` Chen Gang
2013-04-24  4:20               ` [PATCH v2] " Chen Gang
2013-04-24  4:20                 ` Chen Gang
2013-04-24 17:46                 ` Russell King - ARM Linux
2013-04-24 17:46                   ` Russell King - ARM Linux
2013-04-24 17:59                   ` Jean-Christophe PLAGNIOL-VILLARD
2013-04-24 17:59                     ` Jean-Christophe PLAGNIOL-VILLARD
2013-04-25  1:16                     ` Chen Gang
2013-04-25  1:16                       ` Chen Gang
2013-04-25  1:16                   ` Chen Gang
2013-04-25  1:16                     ` Chen Gang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201304171253.20284.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=dhowells@redhat.com \
    --cc=gang.chen@asianux.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=plagnioj@jcrosoft.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.