All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Gang <gang.chen@asianux.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	linux-omap@vger.kernel.org,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS
Date: Fri, 23 Aug 2013 15:02:24 +0800	[thread overview]
Message-ID: <52170900.5070909@asianux.com> (raw)
In-Reply-To: <20130823055152.GY7656@atomide.com>

On 08/23/2013 01:51 PM, Tony Lindgren wrote:
> * Chen Gang <gang.chen@asianux.com> [130822 20:20]:
>> The related error:
>>
>>   /tmp/ccOMIprI.s: Assembler messages:
>>   /tmp/ccOMIprI.s:507: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:513: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:514: Error: selected processor does not support ARM mode `dsb '
>>   /tmp/ccOMIprI.s:584: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:590: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:591: Error: selected processor does not support ARM mode `dsb '
>>   make[1]: *** [arch/arm/mach-vexpress/dcscb.o] Error 1
>>   make: *** [arch/arm/mach-vexpress] Error 2
>>
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> ---
>>  arch/arm/mach-vexpress/Kconfig |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
>> index 3657954..9b176ce 100644
>> --- a/arch/arm/mach-vexpress/Kconfig
>> +++ b/arch/arm/mach-vexpress/Kconfig
>> @@ -1,5 +1,5 @@
>>  config ARCH_VEXPRESS
>> -	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
>> +	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 && !CPU_V6 && !CPU_V6K
>>  	select ARCH_REQUIRE_GPIOLIB
>>  	select ARM_AMBA
>>  	select ARM_GIC
> 
> We do support v6 and v7 in the same kernel. So instead of limiting
> what to select in Kconfig, just specify the v7 flags in the Makefile
> for the vexpress .c file with the inline assembly. Look for the
> find command I posted earlier in this thread for examples of specifying 
> flags for a single object in a makefile.
>

I guess what your meaning is like the diff below:

--------------------------------diff begin------------------------------

diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile
index 36ea824..4ebfda4 100644
--- a/arch/arm/mach-vexpress/Makefile
+++ b/arch/arm/mach-vexpress/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the linux kernel.
 #
 ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
-	-I$(srctree)/arch/arm/plat-versatile/include
+	-I$(srctree)/arch/arm/plat-versatile/include -march=armv7-a
 
 obj-y                                  := v2m.o
 obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)      += ct-ca9x4.o

--------------------------------diff end--------------------------------

If my above guess is correct, it can pass compiling without related
warnings, but it will be like below (CONFIG_CPU_32v6 is enabled in
allmodconfig):

  "... -D__LINUX_ARM_ARCH__=6 -march=armv6k -mtune=arm1136j ...  -march=armv7-a ..."

Is '-march=armv7-a' conflict with '-D__LINUX_ARM_ARCH__=6' ?


The related command is :

  arm-linux-gnueabi-gcc -Wp,-MD,arch/arm/mach-vexpress/.dcscb.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.7/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 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Werror=implicit-int -Werror=strict-prototypes -Os -Wno-maybe-uninitialized -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fstack-protector -mabi=aapcs-linux -mno-thumb-interwork -funwind-
 tables -marm -D__LINUX_ARM_ARCH__=6 -march=armv6k -mtune=arm1136j-s -msoft-float -Uarm -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining -Wframe-larger-than=1024 -Wno-unused-but-se
 t-variabl
e -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -femit-struct-debug-baseonly -fno-var-tracking -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -I/root/linux-next/arch/arm/mach-vexpress/include -I/root/linux-next/arch/arm/plat-versatile/include -march=armv7-a -W     -D"KBUILD_STR(s)=#s" -D"KBUILD_BA

 

Thanks.
-- 
Chen Gang

WARNING: multiple messages have this Message-ID (diff)
From: gang.chen@asianux.com (Chen Gang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS
Date: Fri, 23 Aug 2013 15:02:24 +0800	[thread overview]
Message-ID: <52170900.5070909@asianux.com> (raw)
In-Reply-To: <20130823055152.GY7656@atomide.com>

On 08/23/2013 01:51 PM, Tony Lindgren wrote:
> * Chen Gang <gang.chen@asianux.com> [130822 20:20]:
>> The related error:
>>
>>   /tmp/ccOMIprI.s: Assembler messages:
>>   /tmp/ccOMIprI.s:507: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:513: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:514: Error: selected processor does not support ARM mode `dsb '
>>   /tmp/ccOMIprI.s:584: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:590: Error: selected processor does not support ARM mode `isb '
>>   /tmp/ccOMIprI.s:591: Error: selected processor does not support ARM mode `dsb '
>>   make[1]: *** [arch/arm/mach-vexpress/dcscb.o] Error 1
>>   make: *** [arch/arm/mach-vexpress] Error 2
>>
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> ---
>>  arch/arm/mach-vexpress/Kconfig |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
>> index 3657954..9b176ce 100644
>> --- a/arch/arm/mach-vexpress/Kconfig
>> +++ b/arch/arm/mach-vexpress/Kconfig
>> @@ -1,5 +1,5 @@
>>  config ARCH_VEXPRESS
>> -	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
>> +	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 && !CPU_V6 && !CPU_V6K
>>  	select ARCH_REQUIRE_GPIOLIB
>>  	select ARM_AMBA
>>  	select ARM_GIC
> 
> We do support v6 and v7 in the same kernel. So instead of limiting
> what to select in Kconfig, just specify the v7 flags in the Makefile
> for the vexpress .c file with the inline assembly. Look for the
> find command I posted earlier in this thread for examples of specifying 
> flags for a single object in a makefile.
>

I guess what your meaning is like the diff below:

--------------------------------diff begin------------------------------

diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile
index 36ea824..4ebfda4 100644
--- a/arch/arm/mach-vexpress/Makefile
+++ b/arch/arm/mach-vexpress/Makefile
@@ -2,7 +2,7 @@
 # Makefile for the linux kernel.
 #
 ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
-	-I$(srctree)/arch/arm/plat-versatile/include
+	-I$(srctree)/arch/arm/plat-versatile/include -march=armv7-a
 
 obj-y                                  := v2m.o
 obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)      += ct-ca9x4.o

--------------------------------diff end--------------------------------

If my above guess is correct, it can pass compiling without related
warnings, but it will be like below (CONFIG_CPU_32v6 is enabled in
allmodconfig):

  "... -D__LINUX_ARM_ARCH__=6 -march=armv6k -mtune=arm1136j ...  -march=armv7-a ..."

Is '-march=armv7-a' conflict with '-D__LINUX_ARM_ARCH__=6' ?


The related command is :

  arm-linux-gnueabi-gcc -Wp,-MD,arch/arm/mach-vexpress/.dcscb.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.7/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 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Werror=implicit-int -Werror=strict-prototypes -Os -Wno-maybe-uninitialized -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fstack-protector -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=6 -march=armv6k -mtune=arm1136j-s -msoft-float -Uarm -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining -Wframe-larger-than=1024 -Wno-unused-but-se
 t-variabl
e -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -femit-struct-debug-baseonly -fno-var-tracking -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -I/root/linux-next/arch/arm/mach-vexpress/include -I/root/linux-next/arch/arm/plat-versatile/include -march=armv7-a -W     -D"KBUILD_STR(s)=#s" -D"KBUILD_BA

 

Thanks.
-- 
Chen Gang

  reply	other threads:[~2013-08-23  7:03 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21  8:26 [PATCH] ARM: OMAP2: add type cast from 'unsigned' to 'signed' Chen Gang
2013-08-21  8:26 ` Chen Gang
2013-08-21  8:31 ` [PATCH] ARM: OMAP2: remove useless variable 'ret' Chen Gang
2013-08-21  8:31   ` Chen Gang
2013-08-22  7:17   ` Tony Lindgren
2013-08-22  7:17     ` Tony Lindgren
2013-08-22  7:24     ` Chen Gang
2013-08-22  7:24       ` Chen Gang
     [not found]   ` <52147E12.4060401@asianux.com>
2013-08-22  7:45     ` [Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu Tony Lindgren
2013-08-22  7:45       ` Tony Lindgren
2013-08-22  9:19       ` Chen Gang
2013-08-22  9:19         ` Chen Gang
2013-08-22 10:15         ` Chen Gang
2013-08-22 10:15           ` Chen Gang
2013-08-22 10:22       ` Russell King - ARM Linux
2013-08-22 10:22         ` Russell King - ARM Linux
2013-08-23  1:47         ` Chen Gang
2013-08-23  1:47           ` Chen Gang
2013-08-23  2:06           ` Chen Gang
2013-08-23  2:06             ` Chen Gang
2013-08-23  3:04             ` [PATCH] ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS Chen Gang
2013-08-23  3:04               ` Chen Gang
2013-08-23  3:12               ` Chen Gang
2013-08-23  3:12                 ` Chen Gang
2013-08-23  5:51                 ` Tony Lindgren
2013-08-23  5:51                   ` Tony Lindgren
2013-08-23  7:02                   ` Chen Gang [this message]
2013-08-23  7:02                     ` Chen Gang
2013-08-23  7:15                     ` Chen Gang
2013-08-23  7:15                       ` Chen Gang
2013-08-23  8:02                       ` [PATCH v2] ARM: VExpress: Makefile: add armv7 flags for inline assmembly code compiling Chen Gang
2013-08-23  8:02                         ` Chen Gang
2013-08-23  8:12                         ` Chen Gang
2013-08-23  8:12                           ` Chen Gang
2013-09-23  1:50                           ` [PATCH v3] " Chen Gang
2013-09-23  1:50                             ` Chen Gang
2013-08-22  7:14 ` [PATCH] ARM: OMAP2: add type cast from 'unsigned' to 'signed' Tony Lindgren
2013-08-22  7:14   ` Tony Lindgren
2013-08-22  7:43   ` Chen Gang
2013-08-22  7:43     ` Chen Gang
2013-08-22  7:47     ` [PATCH v2] ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start' Chen Gang
2013-08-22  7:47       ` Chen Gang
2013-08-22  7:57       ` Tony Lindgren
2013-08-22  7:57         ` Tony Lindgren
2013-08-22  8:01         ` Chen Gang
2013-08-22  8:01           ` Chen Gang
2013-08-22  8:32           ` Tony Lindgren
2013-08-22  8:32             ` Tony Lindgren
2013-08-22  8:59             ` Chen Gang F T
2013-08-22  8:59               ` Chen Gang F T
2013-08-23  5:48               ` Tony Lindgren
2013-08-23  5:48                 ` Tony Lindgren
2013-08-23  6:14                 ` Chen Gang
2013-08-23  6:14                   ` 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=52170900.5070909@asianux.com \
    --to=gang.chen@asianux.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tony@atomide.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.