On Mon, Sep 09, 2013 at 10:24:42AM -0400, Nicolas Pitre wrote: > On Mon, 9 Sep 2013, Guenter Roeck wrote: > > > On 09/09/2013 03:51 AM, Russell King - ARM Linux wrote: > > > On Sun, Sep 08, 2013 at 10:16:14AM -0700, Guenter Roeck wrote: > > > > Since we are at it: > > > > > > > > Build reference: v3.11-7887-gb409624 > > > > > > > > Building arm:defconfig ... passed > > > > Building arm:allmodconfig ... failed > > > > -------------- > > > > Error log: > > > > arch/arm/mach-cns3xxx/pcie.c: In function 'cns3xxx_pcie_hw_init': > > > > arch/arm/mach-cns3xxx/pcie.c:350:1: warning: the frame size of 1064 > > > > bytes > > > > is larger than 1024 bytes [-Wframe-larger-than=] > > > > arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO: > > > > return_address should use unwind tables" [-Wcpp] > > > > arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO: > > > > return_address should use unwind tables" [-Wcpp] > > > > /tmp/cce439dZ.s: Assembler messages: > > > > /tmp/cce439dZ.s:506: Error: selected processor does not support ARM mode > > > > `isb ' > > > > /tmp/cce439dZ.s:512: Error: selected processor does not support ARM mode > > > > `isb ' > > > > /tmp/cce439dZ.s:513: Error: selected processor does not support ARM mode > > > > `dsb ' > > > > /tmp/cce439dZ.s:583: Error: selected processor does not support ARM mode > > > > `isb ' > > > > /tmp/cce439dZ.s:589: Error: selected processor does not support ARM mode > > > > `isb ' > > > > /tmp/cce439dZ.s:590: 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 > > > > make: *** Waiting for unfinished jobs.... > > > > -------------- > > > > > > > > Any solution for this one ? omap2plus passes for me. > > > > > > > > gcc version used is "arm-poky-linux-gnueabi-gcc (GCC) 4.7.2" from poky > > > > 1.3. > > > > > > That's due to: > > > > > > commit e8f9bb1bd6bb93fff773345cc54c42585e0e3ece > > > Author: Nicolas Pitre <nicolas.pi...@linaro.org> > > > Date: Tue Jul 16 20:59:53 2013 -0400 > > > > > > ARM: vexpress/dcscb: fix cache disabling sequences > > > > > > Unlike real A15/A7's, the RTSM simulation doesn't appear to hit the > > > cache when the CTRL.C bit is cleared. Let's ensure there is no > > > memory > > > access within the disable and flush cache sequence, including to the > > > stack. > > > > > > Signed-off-by: Nicolas Pitre <n...@linaro.org> > > > > > > which introduces some 'isb' and 'dsb' instructions which are not > > > available on ARMv6 CPUs - however, their 'mcr' equivalents are. > > > > > > Either dcscb needs to be built with an -march=armv7 override, or > > > they need to use the mcr equivalent instructions. > > > > > > > Well, I hope it will get fixed one way or another. > > I don't know enough about arm to fix it myself. > > Would you try this patch please: > > diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile > index 36ea824712..505e64ab3e 100644 > --- a/arch/arm/mach-vexpress/Makefile > +++ b/arch/arm/mach-vexpress/Makefile > @@ -7,6 +7,8 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := > -I$(srctree)/$(src)/include \ > obj-y := v2m.o > obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o > obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o > obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o > +CFLAGS_dcscb.o += -march=armv7-a > obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM) += tc2_pm.o spc.o > +CFLAGS_tc2_pm.o += -march=armv7-a > obj-$(CONFIG_SMP) += platsmp.o > obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o > That fixes this problem. I'll leave it up to you and Russell to decide if it is the proper fix.
Unfortunately, there are more problems. arch/arm/kernel/built-in.o: In function `ret_fast_syscall': /home/groeck/src/linux-stable/arch/arm/kernel/entry-common.S:42: undefined reference to `user_enter' arch/arm/kernel/built-in.o: In function `no_work_pending': /home/groeck/src/linux-stable/arch/arm/kernel/entry-common.S:77: undefined reference to `user_enter' arch/arm/kernel/built-in.o: In function `vector_swi': /home/groeck/src/linux-stable/arch/arm/kernel/entry-common.S:376: undefined reference to `user_exit' arch/arm/kernel/built-in.o: In function `__dabt_usr': /home/groeck/src/linux-stable/arch/arm/kernel/entry-armv.S:365: undefined reference to `user_exit' arch/arm/kernel/built-in.o: In function `__irq_usr': /home/groeck/src/linux-stable/arch/arm/kernel/entry-armv.S:375: undefined reference to `user_exit' arch/arm/kernel/built-in.o: In function `__und_usr': /home/groeck/src/linux-stable/arch/arm/kernel/entry-armv.S:388: undefined reference to `user_exit' arch/arm/kernel/built-in.o: In function `__pabt_usr': /home/groeck/src/linux-stable/arch/arm/kernel/entry-armv.S:662: undefined reference to `user_exit' arch/arm/mach-omap2/built-in.o: In function `omap3_evm_init': /home/groeck/src/linux-stable/arch/arm/mach-omap2/board-omap3evm.c:703: undefined reference to `usb_nop_xceiv_register' The undefined reference to usb_nop_xceiv_register is because CONFIG_NOP_USB_XCEIV is built as module but obviously called from code built into the kernel. Not sure what the correct fix is - build CONFIG_NOP_USB_XCEIV into the kernel, make usb_nop_xceiv_register a dummy function if CONFIG_NOP_USB_XCEIV is built as module but called from built-in code, or don't call usb_nop_xceiv_register from code built into the kernel. No idea where the undefined user_enter and user_exit comes from. Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html