Re: linux 4.2-rc1 broken Nokia N900

Pali Rohár
2015-07-13T22:02:50Z

[-- Attachment #1: Type: Text/Plain, Size: 4456 bytes --]

On Monday 13 July 2015 23:52:32 Michael Welling wrote:
> On Mon, Jul 13, 2015 at 10:34:21PM +0200, Pali Rohár wrote:
> > On Monday 13 July 2015 22:28:35 Michael Welling wrote:
> > > On Mon, Jul 13, 2015 at 07:09:06PM +0200, Pali Rohár wrote:
> > > > Hello, here is my objdump of 4.2-rc2 version:
> > > >
> > > > 00000064 <omap2_mcspi_set_cs>:
> > > > 64: e3003182 movw r3, #386 ; 0x182
> > > > 68: e19030b3 ldrh r3, [r0, r3]
> > > > 6c: e3130004 tst r3, #4
> > > > 70: 0a000001 beq 7c
> > > > <omap2_mcspi_set_cs+0x18> 74: e2711001 rsbs
> > > > r1, r1, #1
> > > > 78: 33a01000 movcc r1, #0
> > > > 7c: e5902188 ldr r2, [r0, #392] ; 0x188
> > > > 80: e3520000 cmp r2, #0
> > > > 84: 012fff1e bxeq lr
> > > > 88: e5923018 ldr r3, [r2, #24]
> > > > 8c: e3510000 cmp r1, #0
> > > > 90: 13c33601 bicne r3, r3, #1048576
> > > > ; 0x100000 94: 03833601 orreq r3, r3,
> > > > #1048576
> > > >
> > > > ; 0x100000 98: e5823018 str r3,
> > > > [r2,
> > > >
> > > > #24]
> > > > 9c: e5902188 ldr r2, [r0, #392] ; 0x188
> > > > a0: e5922000 ldr r2, [r2]
> > > > a4: e582302c str r3, [r2, #44] ; 0x2c
> > > > a8: e592302c ldr r3, [r2, #44] ; 0x2c
> > > > ac: e12fff1e bx lr
> > >
> > > I have not been able to duplicate the failure on the hardware
> > > that I have. I dug out my old Beagleboard and added an SPI
> > > registration to the dts. This was the closest hardware that I
> > > had to the N900's processor.
> > >
> > > What is the version of the gcc compiler you are using and where
> > > did you get it from?
> >
> > I'm using gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) from
> > package gcc-4.6-arm-linux-gnueabi which is available on Ubuntu
> > 12.04 LTS (version 4.6.3-1ubuntu5cross1.62).
>
> I downloaded and compiled with this compiler and it still does not
> effect the functionality of the targets that I have.
>
> What flags (if any) are you passing to the compiler?
>

I think nothing special. I just call:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make rx51_defconfig
rm -f arch/arm/boot/zImage
make -j12 zImage modules omap3-n900.dtb CONFIG_DEBUG_SECTION_MISMATCH=y
cat arch/arm/boot/zImage arch/arm/boot/dts/omap3-n900.dtb > arch/arm/boot/zImage.new
mv arch/arm/boot/zImage.new arch/arm/boot/zImage

> Here is my objdump with gcc version 4.6.3 (Ubuntu/Linaro
> 4.6.3-1ubuntu5): 00000074 <omap2_mcspi_set_cs>:
> 74: e59f304c ldr r3, [pc, #76] ; c8
> <omap2_mcspi_set_cs+0x54> 78: e19030b3 ldrh r3, [r0,
> r3]
> 7c: e3130004 tst r3, #4
> 80: 0a000001 beq 8c <omap2_mcspi_set_cs+0x18>
> 84: e2711001 rsbs r1, r1, #1
> 88: 33a01000 movcc r1, #0
> 8c: e5903258 ldr r3, [r0, #600] ; 0x258
> 90: e3530000 cmp r3, #0
> 94: 012fff1e bxeq lr
> 98: e5932018 ldr r2, [r3, #24]
> 9c: e3510000 cmp r1, #0
> a0: 13c22601 bicne r2, r2, #1048576 ;
> 0x100000 a4: 03822601 orreq r2, r2, #1048576 ;
> 0x100000 a8: e5832018 str r2, [r3, #24]
> ac: e5903258 ldr r3, [r0, #600] ; 0x258
> b0: e5933000 ldr r3, [r3]
> b4: e583202c str r2, [r3, #44] ; 0x2c
> b8: e5903258 ldr r3, [r0, #600] ; 0x258
> bc: e5933000 ldr r3, [r3]
> c0: e593202c ldr r2, [r3, #44] ; 0x2c
> c4: e12fff1e bx lr
> c8: 00000252 .word 0x00000252
>
> > > For instance, I am using a 4.9.1 compiler that I built using
> > > Yocto.
> > >
> > > Also are you using devicetree or the old board file board-rx51.c?
> >
> > I'm using devicetree.

--
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]