Skip to contentSkip to conversation

ARM: OMAP2: add type cast from 'unsigned' to 'signed'

PATCH New Chen Gang 4 participants 27 messages Aug 21, 2013 – Sep 23, 2013 1 message not in the archive

Subsystems (6)
lore
Share & tools
lore

Chen Gang

author
#0 lore raw

PATCH 1/1 ARM: OMAP2: add type cast from 'unsigned' to 'signed'

Need add type cast, or can not notice the failure. The related warning (allmodconfig, "EXTRA_CFLAGS=-W"):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +1 -1
index f3fdd6a..62377b5 100644
@@ -725,7 +725,7 @@ static int gpmc_setup_irq(void)
 		return -EINVAL;
 
 	gpmc_irq_start = irq_alloc_descs(-1, 0, GPMC_NR_IRQ, 0);
-	if (gpmc_irq_start < 0) {
+	if ((signed)gpmc_irq_start < 0) {
 		pr_err("irq_alloc_descs failed\n");
 		return gpmc_irq_start;
 	}
Signature · 1 line
1.7.7.6
author
#1 lore raw

PATCH 1/1 ARM: OMAP2: remove useless variable 'ret'

Remove useless variable 'ret', the related warning:

arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable ?ret? [-Wunused-variable]

---
 arch/arm/mach-omap2/board-am3517crane.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-am3517crane.c +0 -2
index fc53911..0d499a1 100644
@@ -110,8 +110,6 @@ static void __init am3517_crane_i2c_init(void)
 
 static void __init am3517_crane_init(void)
 {
-	int ret;
-
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
 	omap_sdrc_init(NULL, NULL);
Signature · 1 line
1.7.7.6
maintainer
#2 lore raw

PATCH 1/1 ARM: OMAP2: remove useless variable 'ret'

Quoted 3 lines · Chen Gang

Remove useless variable 'ret', the related warning:

arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable ?ret? [-Wunused-variable]

Thanks applying into omap-for-v3.12/fixes-non-critical.

Regards,

Tony

Quoted 20 lines
---
 arch/arm/mach-omap2/board-am3517crane.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-am3517crane.c +0 -2
index fc53911..0d499a1 100644
@@ -110,8 +110,6 @@ static void __init am3517_crane_i2c_init(void)
 
 static void __init am3517_crane_init(void)
 {
-	int ret;
-
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
 	omap_sdrc_init(NULL, NULL);
Signature · 1 line
1.7.7.6
author
#3 lore raw

PATCH 1/1 ARM: OMAP2: remove useless variable 'ret'

Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Chen Gang

Remove useless variable 'ret', the related warning:

arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable ?ret? [-Wunused-variable]

Thanks applying into omap-for-v3.12/fixes-non-critical.

Thank you too.

Quoted 26 lines

Regards,

Tony

Quoted 20 lines
---
 arch/arm/mach-omap2/board-am3517crane.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/board-am3517crane.c +0 -2
index fc53911..0d499a1 100644
@@ -110,8 +110,6 @@ static void __init am3517_crane_i2c_init(void)
 
 static void __init am3517_crane_init(void)
 {
-	int ret;
-
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
 	omap_sdrc_init(NULL, NULL);
Signature · 1 line
1.7.7.6
Signature · 1 line
Chen Gang

A message that is not in the archive (sent off-list or not yet received): [email protected]

maintainer
#5 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

$ find arch/arm -name Makefile | xargs grep -i flags

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

Regards,

Tony

author
#6 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

Quoted 11 lines · Tony Lindgren
Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

Quoted 9 lines
$ find arch/arm -name Makefile | xargs grep -i flags

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

Thank you for your valuable reply, I followed what you said above, and now it seems really related the compiler's flags.

I have passed compiling for the VEXPRESS with dcscb, I will compare the difference between the 2 building flags.

It seems we need add the related dependency for ARCH_VEXPRESS (I am just analyzing, may get final result today).

Thanks.

Quoted 5 lines

Regards,

Tony

Signature · 1 line
Chen Gang
author
#7 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

Quoted 14 lines · Chen Gang
Quoted 13 lines · Tony Lindgren
Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

$ find arch/arm -name Makefile | xargs grep -i flags
Quoted 7 lines
Quoted 7 lines

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

Maybe your case is different with my case (but may be the same solving ways).

After compare the 'flags', for my case, the root cause is:

"for allmodconfig, it will enable CPU_V6 which VEXPRESS doesn't support".

after disable CPU_V6 after allmodconfig, it can pass compiling:

    ("System type" -> "Multiple platform selection" -> "ARMv6 based platforms").

Welcome any additional suggestions or completions, if no additional reply, I will try to send the related patch tomorrow. :-)

Thanks.

Quoted 21 lines

Thank you for your valuable reply, I followed what you said above, and now it seems really related the compiler's flags.

I have passed compiling for the VEXPRESS with dcscb, I will compare the difference between the 2 building flags.

It seems we need add the related dependency for ARCH_VEXPRESS (I am just analyzing, may get final result today).

Thanks.

Quoted 5 lines

Regards,

Tony

Signature · 4 lines
Chen Gang

-- 
Chen Gang
#8 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

In reply to Tony Lindgren
Quoted 11 lines · Tony Lindgren
Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

Quoted 8 lines
$ find arch/arm -name Makefile | xargs grep -i flags

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

The use of -mcpu with -march is not a good idea anyway - you either use -mcpu= or you use -march and -mtune.

-mcpu= sets the CPU type, which specifies the instruction architecture (iow, which instructions can be used) and instruction scheduling behaviour.

-march= sets the architecture only. -mtune= sets the instruction scheduling behaviour only.

So, that -mcpu= should probably be -mtune=, but if that fails due to unrecognised instructions, the -march= parameter is wrong.

Even so, if gcc 4.3.5 doesn't support cortex-a9 as a CPU type, and we want to support that gcc version, the setting of -mtune needs to be conditionalised. As it is only a scheduling hint, it's probably fine for it to end up being omitted.

author
#9 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

Quoted 27 lines · Russell King - ARM Linux
Quoted 11 lines · Tony Lindgren
Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

Quoted 8 lines
$ find arch/arm -name Makefile | xargs grep -i flags

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

The use of -mcpu with -march is not a good idea anyway - you either use

(quoted diff) +0 -2
-mcpu= or you use -march and -mtune.
 
-mcpu= sets the CPU type, which specifies the instruction architecture

(iow, which instructions can be used) and instruction scheduling behaviour.

Quoted 6 lines

-march= sets the architecture only. -mtune= sets the instruction scheduling behaviour only.

So, that -mcpu= should probably be -mtune=, but if that fails due to unrecognised instructions, the -march= parameter is wrong.

Hmm... firstly, the root cause is really "the -march= parameter is wrong": the correct value is "armv7-a", not "armv6k".

But in my case:

the correct command is "the use of -mcpu with -march ...", and not need "-mcpu= should probably be -mtune=, ..." the incorrect command is "or you use -march and -mtune.", and also "-march= sets the architecture only. -mtun= ..."

Please reference the related command below:

Correct command (for vexpress_defconfig, can succeed compiling):

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 -O2 -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -I/root/
linux-nex
t/arch/arm/mach-vexpress/include -I/root/linux-next/arch/arm/plat-versatile/include -mcpu=cortex-a8 -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/dcscb.o arch/arm/mach-vexpress/dcscb.c

Incorrect command (for allmodconfig which I originally sent with failure):

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

Quoted 6 lines

Even so, if gcc 4.3.5 doesn't support cortex-a9 as a CPU type, and we want to support that gcc version, the setting of -mtune needs to be conditionalised. As it is only a scheduling hint, it's probably fine for it to end up being omitted.

It sounds a good idea.

Hello Tony:

What about your idea for it ?

Thanks.

Signature · 1 line
Chen Gang
author
#10 lore raw

[Suggestion] ARM: allmodconfig: about cross compiling failure under i386 ubuntu.

Quoted 38 lines · Chen Gang
Quoted 27 lines · Russell King - ARM Linux
Quoted 11 lines · Tony Lindgren
Quoted 6 lines · Chen Gang

Hello Maintainers:

When build arm with allmodconfig under ubuntu i386 with arm-linux- gnueabi-gcc 4.7, as 2.22, it report the errors.

Please help check, thanks (the related config file in attachment).

It seems that some make flags may need to be specified separately in some makefiles. See the following for some examples:

Quoted 8 lines
$ find arch/arm -name Makefile | xargs grep -i flags

I'm getting different errors though, I'm getting:

arch/arm/mach-zynq/hotplug.c:1: error: bad value (cortex-a9) for -mcpu= switch

As probably my compiler does not support the cortex-a9 switch, I have gcc version 4.3.5 (Debian 4.3.5-4), tried with v3.11-rc5.

The use of -mcpu with -march is not a good idea anyway - you either use

(quoted diff) +0 -2
-mcpu= or you use -march and -mtune.
 
-mcpu= sets the CPU type, which specifies the instruction architecture

(iow, which instructions can be used) and instruction scheduling behaviour.

Quoted 6 lines

-march= sets the architecture only. -mtune= sets the instruction scheduling behaviour only.

So, that -mcpu= should probably be -mtune=, but if that fails due to unrecognised instructions, the -march= parameter is wrong.

Hmm... firstly, the root cause is really "the -march= parameter is wrong": the correct value is "armv7-a", not "armv6k".

Quoted 3 lines

But in my case:

the correct command is "the use of -mcpu with -march ...", and not need "-mcpu= should probably be -mtune=, ..."

Oh, sorry, "-mcpu=cortex-a8" is added by myself manually during analyzing, it will pass compiling whether have it or not (but suggest not set it just like you have said).

Quoted 8 lines

the incorrect command is "or you use -march and -mtune.", and also "-march= sets the architecture only. -mtun= ..."

Please reference the related command below:

Correct command (for vexpress_defconfig, can succeed compiling):

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 -O2 -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -I/roo

t/linux-n
ex

Quoted 6 lines

t/arch/arm/mach-vexpress/include -I/root/linux-next/arch/arm/plat-versatile/include -mcpu=cortex-a8 -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/dcscb.o arch/arm/mach-vexpress/dcscb.c

Incorrect command (for allmodconfig which I originally sent with failure):

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-

set-varia
bl

Quoted 21 lines

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

Quoted 6 lines

Even so, if gcc 4.3.5 doesn't support cortex-a9 as a CPU type, and we want to support that gcc version, the setting of -mtune needs to be conditionalised. As it is only a scheduling hint, it's probably fine for it to end up being omitted.

It sounds a good idea.

Hello Tony:

What about your idea for it ?

Thanks.

Signature · 1 line
Chen Gang
author
#11 lore raw

PATCH 1/1 ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS

ARCH_VEXPRESS isn't compatible with arm6 (not support "-march=armv6k"), so add dependency for it, or allmodconfig can not pass compiling.

The related command:

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

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

---
 arch/arm/mach-vexpress/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-vexpress/Kconfig +1 -1
index 3657954..945e2f9 100644
@@ -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 && !ARCH_MULTI_V6 && !CPU_V6 && !CPU_V6K
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
 	select ARM_GIC
Signature · 1 line
1.7.7.6
author
#12 lore raw

PATCH 1/1 ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS

Quoted 6 lines · Chen Gang

ARCH_VEXPRESS isn't compatible with arm6 (not support "-march=armv6k"), so add dependency for it, or allmodconfig can not pass compiling.

The related command:

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-

set-varia
bl

Quoted 27 lines

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

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

---
 arch/arm/mach-vexpress/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-vexpress/Kconfig +0 -0
index 3657954..945e2f9 100644

arch/arm/mach-vexpress/Kconfig line 5

Quoted 6 lines
arch/arm/mach-vexpress/Kconfig +1 -1
@@ -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 && !ARCH_MULTI_V6 && !CPU_V6 && !CPU_V6K
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
 	select ARM_GIC

Oh, sorry, we do not need check ARCH_MULTI_V6, the new patch is in attachment.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fixing.patch
Type: text/x-patch
Size: 2927 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130823/54cba7c7/attachment.bin>

maintainer
#13 lore raw

PATCH 1/1 ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS

Quoted 23 lines · Chen Gang

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

---
 arch/arm/mach-vexpress/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-vexpress/Kconfig +0 -0
index 3657954..9b176ce 100644

arch/arm/mach-vexpress/Kconfig line 5

Quoted 6 lines
arch/arm/mach-vexpress/Kconfig +1 -1
@@ -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.

Regards,

Tony

author
#14 lore raw

PATCH 1/1 ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS

Quoted 28 lines · Tony Lindgren
Quoted 27 lines · Chen Gang

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

---
 arch/arm/mach-vexpress/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-vexpress/Kconfig +1 -1
index 3657954..9b176ce 100644
@@ -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
Quoted 9 lines

arch/arm/mach-vexpress/Kconfig line 5

Quoted 2 lines
arch/arm/mach-vexpress/Kconfig +0 -0
 	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------------------------------

arch/arm/mach-vexpress/Makefile +1 -1
index 36ea824..4ebfda4 100644
@@ -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.

Signature · 1 line
Chen Gang
author
#15 lore raw

PATCH 1/1 ARM: VExpress: Kconfig: avoid arm6 compatible for ARCH_VEXPRESS

Quoted 59 lines · Chen Gang
Quoted 28 lines · Tony Lindgren
Quoted 27 lines · Chen Gang

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

---
 arch/arm/mach-vexpress/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-vexpress/Kconfig +1 -1
index 3657954..9b176ce 100644
@@ -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
Quoted 9 lines

arch/arm/mach-vexpress/Kconfig line 5

Quoted 2 lines
arch/arm/mach-vexpress/Kconfig +0 -0
 	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------------------------------

arch/arm/mach-vexpress/Makefile +1 -2
index 36ea824..4ebfda4 100644
@@ -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--------------------------------
Quoted 8 lines

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' ?

Oh, sorry.

'-D__LINUX_ARM_ARCH__' is for C file, '-march' is for assembly file. for assembly file (or a C file has inline assemble code), need '-march=armv7-a' (just like you have already mentioned).

I will send patch v2 for it.

Thanks.

Quoted 4 lines

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-

set-varia
bl

Quoted 6 lines

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.

Signature · 1 line
Chen Gang
author
#16 lore raw

PATCH v2 1/1 ARM: VExpress: Makefile: add armv7 flags for inline assmembly code compiling

When vexpress kernel is compiled for v6, it still can support armv7 instructions (hardware still support), so need let compiler know about it for related inline assembly code, or compiling will fail.

The related failure command:

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

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

---
 arch/arm/mach-vexpress/Makefile |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-vexpress/Makefile +3 -0
index 36ea824..f224577 100644
@@ -10,3 +10,6 @@ obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)	+= dcscb.o	dcscb_setup.o
 obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM)	+= tc2_pm.o spc.o
 obj-$(CONFIG_SMP)			+= platsmp.o
 obj-$(CONFIG_HOTPLUG_CPU)		+= hotplug.o
+
+CFLAGS_dcscb.o				+=-march=armv7-a
+CFLAGS_tc2_pm.o				+=-march=armv7-a
Signature · 1 line
1.7.7.6
author
#17 lore raw

PATCH v2 1/1 ARM: VExpress: Makefile: add armv7 flags for inline assmembly code compiling

Quoted 4 lines · Chen Gang

When vexpress kernel is compiled for v6, it still can support armv7 instructions (hardware still support), so need let compiler know about it for related inline assembly code, or compiling will fail.

Hmm... need change "compiled for v6, it still can" to "compiled for both v6 and v7, it of cause can".

Thanks.

Quoted 3 lines

The related failure command:

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-

set-varia
bl

Quoted 32 lines

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

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

---
 arch/arm/mach-vexpress/Makefile |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-vexpress/Makefile +3 -0
index 36ea824..f224577 100644
@@ -10,3 +10,6 @@ obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)	+= dcscb.o	dcscb_setup.o
 obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM)	+= tc2_pm.o spc.o
 obj-$(CONFIG_SMP)			+= platsmp.o
 obj-$(CONFIG_HOTPLUG_CPU)		+= hotplug.o
+
+CFLAGS_dcscb.o				+=-march=armv7-a
+CFLAGS_tc2_pm.o				+=-march=armv7-a
Signature · 1 line
Chen Gang
author
#18 lore raw

PATCH v3 1/1 ARM: VExpress: Makefile: add armv7 flags for inline assmembly code compiling

When 'vexpress' kernel is compiled for both v6 and v7, it can support armv7 instructions in lower level modules, so need let compiler know about it for related inline assembly code, or can not pass compiling.

The related failure command:

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 -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c

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

---
 arch/arm/mach-vexpress/Makefile |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-vexpress/Makefile +3 -0
index 36ea824..f224577 100644
@@ -10,3 +10,6 @@ obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)	+= dcscb.o	dcscb_setup.o
 obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM)	+= tc2_pm.o spc.o
 obj-$(CONFIG_SMP)			+= platsmp.o
 obj-$(CONFIG_HOTPLUG_CPU)		+= hotplug.o
+
+CFLAGS_dcscb.o				+=-march=armv7-a
+CFLAGS_tc2_pm.o				+=-march=armv7-a
Signature · 1 line
1.7.7.6
maintainer
#19 lore raw

PATCH 1/1 ARM: OMAP2: add type cast from 'unsigned' to 'signed'

In reply to Chen Gang
Quoted 16 lines · Chen Gang

Need add type cast, or can not notice the failure. The related warning (allmodconfig, "EXTRA_CFLAGS=-W"):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +0 -0
index f3fdd6a..62377b5 100644

arch/arm/mach-omap2/gpmc.c static int gpmc_setup_irq(void) · line 731

Quoted 8 lines
arch/arm/mach-omap2/gpmc.c +1 -1
@@ -725,7 +725,7 @@ static int gpmc_setup_irq(void)
 		return -EINVAL;
 
 	gpmc_irq_start = irq_alloc_descs(-1, 0, GPMC_NR_IRQ, 0);
-	if (gpmc_irq_start < 0) {
+	if ((signed)gpmc_irq_start < 0) {
 		pr_err("irq_alloc_descs failed\n");
 		return gpmc_irq_start;
 	}

Hmm shouldn't we just have int gpmc_irq_start instead of unsigned gpmc_irq_start?

Regards,

Tony

author
#20 lore raw

PATCH 1/1 ARM: OMAP2: add type cast from 'unsigned' to 'signed'

Quoted 19 lines · Tony Lindgren
Quoted 18 lines · Chen Gang

Need add type cast, or can not notice the failure. The related warning (allmodconfig, "EXTRA_CFLAGS=-W"):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +0 -0
index f3fdd6a..62377b5 100644
@@ -725,7 +725,7 @@ static int gpmc_setup_irq(void)
 		return -EINVAL;
 
Quoted 10 lines

arch/arm/mach-omap2/gpmc.c static int gpmc_setup_irq(void) · line 731

Quoted 6 lines
arch/arm/mach-omap2/gpmc.c +1 -1
 	gpmc_irq_start = irq_alloc_descs(-1, 0, GPMC_NR_IRQ, 0);
-	if (gpmc_irq_start < 0) {
+	if ((signed)gpmc_irq_start < 0) {
 		pr_err("irq_alloc_descs failed\n");
 		return gpmc_irq_start;
 	}

Hmm shouldn't we just have int gpmc_irq_start instead of unsigned gpmc_irq_start?

Oh, thanks, that sounds reasonable to me, I will send patch v2.

Quoted 5 lines

Regards,

Tony

Thanks.

Signature · 1 line
Chen Gang
author
#21 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'.

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +1 -1
index f3fdd6a..9f4795a 100644
@@ -149,7 +149,7 @@ struct omap3_gpmc_regs {
 
 static struct gpmc_client_irq gpmc_client_irq[GPMC_NR_IRQ];
 static struct irq_chip gpmc_irq_chip;
-static unsigned gpmc_irq_start;
+static int gpmc_irq_start;
 
 static struct resource	gpmc_mem_root;
 static struct resource	gpmc_cs_mem[GPMC_CS_NUM];
Signature · 1 line
1.7.7.6
maintainer
#22 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 8 lines · Chen Gang

'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'.

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

Thanks applying into omap-for-v3.12/fixes-non-critical.

Tony

Quoted 20 lines
---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +1 -1
index f3fdd6a..9f4795a 100644
@@ -149,7 +149,7 @@ struct omap3_gpmc_regs {
 
 static struct gpmc_client_irq gpmc_client_irq[GPMC_NR_IRQ];
 static struct irq_chip gpmc_irq_chip;
-static unsigned gpmc_irq_start;
+static int gpmc_irq_start;
 
 static struct resource	gpmc_mem_root;
 static struct resource	gpmc_cs_mem[GPMC_CS_NUM];
Signature · 1 line
1.7.7.6
author
#23 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 5 lines · Tony Lindgren
Quoted 4 lines · Chen Gang

'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'.

Quoted 7 lines
Quoted 4 lines

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

Thanks applying into omap-for-v3.12/fixes-non-critical.

Thank you too.

Hmm... excuse me, I am not quite familiar with the omap version trees, so may have a doubt: "it seems this is a real bug, is it suitable to belong to fixes-none-critical tree ?"

Thanks.

Quoted 24 lines

Tony

Quoted 20 lines
---
 arch/arm/mach-omap2/gpmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap2/gpmc.c +1 -1
index f3fdd6a..9f4795a 100644
@@ -149,7 +149,7 @@ struct omap3_gpmc_regs {
 
 static struct gpmc_client_irq gpmc_client_irq[GPMC_NR_IRQ];
 static struct irq_chip gpmc_irq_chip;
-static unsigned gpmc_irq_start;
+static int gpmc_irq_start;
 
 static struct resource	gpmc_mem_root;
 static struct resource	gpmc_cs_mem[GPMC_CS_NUM];
Signature · 1 line
1.7.7.6
Signature · 1 line
Chen Gang
maintainer
#24 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 11 lines · Chen Gang
Quoted 10 lines · Tony Lindgren
Quoted 8 lines · Chen Gang

'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'.

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

Quoted 8 lines
Quoted 2 lines

Thanks applying into omap-for-v3.12/fixes-non-critical.

Thank you too.

Hmm... excuse me, I am not quite familiar with the omap version trees, so may have a doubt: "it seems this is a real bug, is it suitable to belong to fixes-none-critical tree ?"

For the -rc cycle we try to limit the patches to oopses and regressions, especially this close to v3.11 being tagged.

It seems the bug has been there for quite some time, and that we don't seem to have oopses or other failures reporting this. So it seems there's no reason for urgency to have it merged into the current -rc series.

If you (or somebody else) strongly feels that it should be in applied to the current -rc series as a fix instead of during the merge window, then please let me know the failing cases with logs showing what happens.

Regards,

Tony

#25 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 15 lines · Tony Lindgren
Quoted 14 lines · Chen Gang
Quoted 12 lines · Tony Lindgren
Quoted 8 lines · Chen Gang

'gpmc_irq_start' is mostly used as 'int', and for a variable, do not suggest to only use 'unsigned' as its type, so use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'.

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

Thanks applying into omap-for-v3.12/fixes-non-critical.

Quoted 9 lines
Quoted 5 lines

Thank you too.

Hmm... excuse me, I am not quite familiar with the omap version trees, so may have a doubt: "it seems this is a real bug, is it suitable to belong to fixes-none-critical tree ?"

For the -rc cycle we try to limit the patches to oopses and regressions, especially this close to v3.11 being tagged.

Really necessary.

Quoted 4 lines

It seems the bug has been there for quite some time, and that we don't seem to have oopses or other failures reporting this. So it seems there's no reason for urgency to have it merged into the current -rc series.

I guess so too (I only find it by compiling).

Quoted 5 lines

If you (or somebody else) strongly feels that it should be in applied to the current -rc series as a fix instead of during the merge window, then please let me know the failing cases with logs showing what happens.

Hmm... for urgent bugs, the reporters really need supply the failing cases with logs showing what happens.

Bugs can be sort of by urgent priority (e.g. this bug is not urgent). but for most of bugs may cause critical issue which depends on the using environments, and can be 'imagined' by us.

Hmm... I guess: for our case, what your meaning is "fixes-none-urgent", not "fixes-none-critical", is it correct ? :-)

Thanks.

Quoted 8 lines

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Chen Gang
maintainer
#26 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 2 lines · Chen Gang F T

Hmm... I guess: for our case, what your meaning is "fixes-none-urgent", not "fixes-none-critical", is it correct ? :-)

Right, that naming might be actually better :)

Tony

author
#27 lore raw

PATCH v2 1/1 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'

Quoted 9 lines · Tony Lindgren
Quoted 2 lines · Chen Gang F T

Hmm... I guess: for our case, what your meaning is "fixes-none-urgent", not "fixes-none-critical", is it correct ? :-)

Right, that naming might be actually better :)

Tony

Thanks !

Signature · 1 line
Chen Gang