public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Nokia RX-51 (N900) board broken
@ 2015-01-03 10:47 Pali Rohár
  2015-01-03 18:13 ` Benoît Thébaudeau
  2015-01-04 21:46 ` Georges Savoundararadj
  0 siblings, 2 replies; 12+ messages in thread
From: Pali Rohár @ 2015-01-03 10:47 UTC (permalink / raw)
  To: u-boot

Hello,

Nokia N900 board does not work anymore from master branch in
qemu. I bisected first commit which broke it. It is:

41623c91b09a0c865fab41acdaff30f060f29ad6
arm: move exception handling out of start.S files

Before this commit uboot on n900 in qemu working fine. Since this
commit qemu crash with fatal error (see below). I bisected other
two commits which changed error behaviour, but still uboot is not
working...

============================================

Range: 41623c91b09a0c865fab41acdaff30f060f29ad6 .. 5bfdcebf73f843b4a0968e87cff9ad6546358c8d

Commit: 41623c91b09a0c865fab41acdaff30f060f29ad6
Author: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-04-15 16:13:51
Committer: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-05-15 16:24:53
Message: arm: move exception handling out of start.S files

Error: qemu crashed with error message:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x00014080
R00=00000000 R01=000007a3 R02=80000100 R03=80500508
R04=805003c8 R05=800003e8 R06=80531db0 R07=804ffb98
R08=00000000 R09=00000800 R10=80000140 R11=00000000
R12=80000414 R13=402064b0 R14=80100004 R15=00014080
PSR=600001db -ZC- A und32

============================================

Range: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807 .. 2e07c249a67e055db294818ff063d502d15db0f8

Commit: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807
Author: Benoit Thebaudeau <benoit.thebaudeau.dev@gmail.com>  2014-09-03 23:32:33
Committer: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-09-11 18:04:34

Error: uboot freezed without any error message in serial console and with broken screen output

============================================

Range: c57a642384df0dfaacc8e9c6c06d76b5aecb965d .. b7b3b8c6a0bfc87047cb18a7abfa06fb6e9d0331

Commit: c57a642384df0dfaacc8e9c6c06d76b5aecb965d
Author: Georges Savoundararadj <savoundg@gmail.com>  2014-10-28 23:16:10
Committer: Tom Rini <trini@ti.com>  2014-10-29 14:02:17
Message: arm: make .vectors section allocatable

Error: uboot printed error to serial console and rebooted machine:

prefetch abort
pc : [<00000000>]          lr : [<8fdd3684>]
sp : 8fcefe78  ip : 0000002a     fp : 8fdfd96c
r10: 8fdfda3c  r9 : 8fceff24     r8 : 8fdfd968
r7 : 80000140  r6 : 000000ff     r5 : 80000420  r4 : 80000420
r3 : 40208000  r2 : 00000004     r1 : 00000000  r0 : 0000002a
Flags: nzcv  IRQs on  FIQs on  Mode USER_26
Resetting CPU ...

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150103/eaf83af5/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-03 10:47 [U-Boot] Nokia RX-51 (N900) board broken Pali Rohár
@ 2015-01-03 18:13 ` Benoît Thébaudeau
  2015-01-04 22:18   ` Pali Rohár
  2015-01-04 21:46 ` Georges Savoundararadj
  1 sibling, 1 reply; 12+ messages in thread
From: Benoît Thébaudeau @ 2015-01-03 18:13 UTC (permalink / raw)
  To: u-boot

Dear Pali Roh?r,

On Sat, Jan 3, 2015 at 11:47 AM, Pali Roh?r <pali.rohar@gmail.com> wrote:
> Hello,
>
> Nokia N900 board does not work anymore from master branch in
> qemu. I bisected first commit which broke it. It is:
>
> 41623c91b09a0c865fab41acdaff30f060f29ad6
> arm: move exception handling out of start.S files
>
> Before this commit uboot on n900 in qemu working fine. Since this
> commit qemu crash with fatal error (see below). I bisected other
> two commits which changed error behaviour, but still uboot is not
> working...
>
> ============================================
>
> Range: 41623c91b09a0c865fab41acdaff30f060f29ad6 .. 5bfdcebf73f843b4a0968e87cff9ad6546358c8d
>
> Commit: 41623c91b09a0c865fab41acdaff30f060f29ad6
> Author: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-04-15 16:13:51
> Committer: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-05-15 16:24:53
> Message: arm: move exception handling out of start.S files
>
> Error: qemu crashed with error message:
>
> qemu: fatal: Trying to execute code outside RAM or ROM at 0x00014080
> R00=00000000 R01=000007a3 R02=80000100 R03=80500508
> R04=805003c8 R05=800003e8 R06=80531db0 R07=804ffb98
> R08=00000000 R09=00000800 R10=80000140 R11=00000000
> R12=80000414 R13=402064b0 R14=80100004 R15=00014080
> PSR=600001db -ZC- A und32
>
> ============================================
>
> Range: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807 .. 2e07c249a67e055db294818ff063d502d15db0f8
>
> Commit: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807
> Author: Benoit Thebaudeau <benoit.thebaudeau.dev@gmail.com>  2014-09-03 23:32:33
> Committer: Albert ARIBAUD <albert.u.boot@aribaud.net>  2014-09-11 18:04:34
>
> Error: uboot freezed without any error message in serial console and with broken screen output
>
> ============================================
>
> Range: c57a642384df0dfaacc8e9c6c06d76b5aecb965d .. b7b3b8c6a0bfc87047cb18a7abfa06fb6e9d0331
>
> Commit: c57a642384df0dfaacc8e9c6c06d76b5aecb965d
> Author: Georges Savoundararadj <savoundg@gmail.com>  2014-10-28 23:16:10
> Committer: Tom Rini <trini@ti.com>  2014-10-29 14:02:17
> Message: arm: make .vectors section allocatable
>
> Error: uboot printed error to serial console and rebooted machine:
>
> prefetch abort
> pc : [<00000000>]          lr : [<8fdd3684>]

Can you tell from the .map or .lst files what this 0x8fdd3684 address
corresponds to in the source code?

> sp : 8fcefe78  ip : 0000002a     fp : 8fdfd96c
> r10: 8fdfda3c  r9 : 8fceff24     r8 : 8fdfd968
> r7 : 80000140  r6 : 000000ff     r5 : 80000420  r4 : 80000420
> r3 : 40208000  r2 : 00000004     r1 : 00000000  r0 : 0000002a
> Flags: nzcv  IRQs on  FIQs on  Mode USER_26
> Resetting CPU ...

Best regards,
Beno?t

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-03 10:47 [U-Boot] Nokia RX-51 (N900) board broken Pali Rohár
  2015-01-03 18:13 ` Benoît Thébaudeau
@ 2015-01-04 21:46 ` Georges Savoundararadj
  2015-01-04 22:14   ` Pali Rohár
  1 sibling, 1 reply; 12+ messages in thread
From: Georges Savoundararadj @ 2015-01-04 21:46 UTC (permalink / raw)
  To: u-boot

Hi Pali Roh?r,

I am trying to reproduce the bug but I think I need the qflasher program 
for converting the u-boot.bin image into a qemu-compatible image. [1] [2]

Where can I get qflasher?
Could you explain how to run Nokia RX-51 u-boot's image on qemu?

Thanks a lot,

Best regards,

Georges

[1] http://www.babyaries.org/source/libmeegotouch/save/nand
[2] 
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/174805.html

Le 03/01/2015 11:47, Pali Roh?r a ?crit :
> Hello,
>
> Nokia N900 board does not work anymore from master branch in
> qemu. I bisected first commit which broke it. It is:
>
> 41623c91b09a0c865fab41acdaff30f060f29ad6
> arm: move exception handling out of start.S files
>
> Before this commit uboot on n900 in qemu working fine. Since this
> commit qemu crash with fatal error (see below). I bisected other
> two commits which changed error behaviour, but still uboot is not
> working...
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-04 21:46 ` Georges Savoundararadj
@ 2015-01-04 22:14   ` Pali Rohár
  2015-01-04 22:28     ` Georges Savoundararadj
  0 siblings, 1 reply; 12+ messages in thread
From: Pali Rohár @ 2015-01-04 22:14 UTC (permalink / raw)
  To: u-boot

Hello,

here are commands how to compile u-boot for nokia n900, convert 
uboot image into n900 nand MTD file and run it under linaro arm 
version of qemu (upstream version of qemu have not merged n900 
support yet):

$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make nokia_rx51_config
$ make
$ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
  -k u-boot.bin -m rx51 -o u-boot.mtd
$ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial /dev/tty

You need:
* qflasher - Nokia generator of nand MTD image with CAL data
* xloader-qemu.bin - Nokia first stage bootloader (X-Loader)
* secondary-qemu.bin - Nokia second stage bootloader (NOLO)
* qemu-system-arm - Linaro arm version of qemu

Linaro arm version of qemu can be downloaded e.g. from ubuntu: 
http://packages.ubuntu.com/source/precise/qemu-linaro
(I'm using this version)

Nokia qflasher and bootloaders are proprietary and closed source 
but could be found on internet. License allows to redistribute 
binaries for non commercial purposes. If you are unable to find 
it on internet anymore (originally they were hosted on website 
repo.meego.com before intel turned it off) and you are OK with 
that license, I can send you needed files.

====
Copyright (c) Nokia Corporation 2010
All Rights Reserved.

This material, including documentation and any related computer 
programs, is protected by copyright controlled by Nokia 
Corporation. All rights are reserved. Modifying, adapting and/or 
translating, any or all of this material requires the prior 
written consent of Nokia. Distribution for commercial purposes 
not allowed without prior written approval from Nokia.
====

On Sunday 04 January 2015 22:46:41 Georges Savoundararadj wrote:
> Hi Pali Roh?r,
> 
> I am trying to reproduce the bug but I think I need the
> qflasher program for converting the u-boot.bin image into a
> qemu-compatible image. [1] [2]
> 
> Where can I get qflasher?
> Could you explain how to run Nokia RX-51 u-boot's image on
> qemu?
> 
> Thanks a lot,
> 
> Best regards,
> 
> Georges
> 
> [1] http://www.babyaries.org/source/libmeegotouch/save/nand
> [2]
> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-Jun
> e/174805.html
> 
> Le 03/01/2015 11:47, Pali Roh?r a ?crit :
> > Hello,
> > 
> > Nokia N900 board does not work anymore from master branch in
> > qemu. I bisected first commit which broke it. It is:
> > 
> > 41623c91b09a0c865fab41acdaff30f060f29ad6
> > arm: move exception handling out of start.S files
> > 
> > Before this commit uboot on n900 in qemu working fine. Since
> > this commit qemu crash with fatal error (see below). I
> > bisected other two commits which changed error behaviour,
> > but still uboot is not working...

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150104/fedb107f/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-03 18:13 ` Benoît Thébaudeau
@ 2015-01-04 22:18   ` Pali Rohár
  0 siblings, 0 replies; 12+ messages in thread
From: Pali Rohár @ 2015-01-04 22:18 UTC (permalink / raw)
  To: u-boot

On Saturday 03 January 2015 19:13:32 Beno?t Th?baudeau wrote:
> Dear Pali Roh?r,
> 
> On Sat, Jan 3, 2015 at 11:47 AM, Pali Roh?r 
<pali.rohar@gmail.com> wrote:
> > Hello,
> > 
> > Nokia N900 board does not work anymore from master branch in
> > qemu. I bisected first commit which broke it. It is:
> > 
> > 41623c91b09a0c865fab41acdaff30f060f29ad6
> > arm: move exception handling out of start.S files
> > 
> > Before this commit uboot on n900 in qemu working fine. Since
> > this commit qemu crash with fatal error (see below). I
> > bisected other two commits which changed error behaviour,
> > but still uboot is not working...
> > 
> > ============================================
> > 
> > Range: 41623c91b09a0c865fab41acdaff30f060f29ad6 ..
> > 5bfdcebf73f843b4a0968e87cff9ad6546358c8d
> > 
> > Commit: 41623c91b09a0c865fab41acdaff30f060f29ad6
> > Author: Albert ARIBAUD <albert.u.boot@aribaud.net> 
> > 2014-04-15 16:13:51 Committer: Albert ARIBAUD
> > <albert.u.boot@aribaud.net>  2014-05-15 16:24:53 Message:
> > arm: move exception handling out of start.S files
> > 
> > Error: qemu crashed with error message:
> > 
> > qemu: fatal: Trying to execute code outside RAM or ROM at
> > 0x00014080 R00=00000000 R01=000007a3 R02=80000100
> > R03=80500508 R04=805003c8 R05=800003e8 R06=80531db0
> > R07=804ffb98 R08=00000000 R09=00000800 R10=80000140
> > R11=00000000 R12=80000414 R13=402064b0 R14=80100004
> > R15=00014080 PSR=600001db -ZC- A und32
> > 
> > ============================================
> > 
> > Range: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807 ..
> > 2e07c249a67e055db294818ff063d502d15db0f8
> > 
> > Commit: 58f9e1ae6391a1fbb7ca024ae45e288aabb88807
> > Author: Benoit Thebaudeau <benoit.thebaudeau.dev@gmail.com> 
> > 2014-09-03 23:32:33 Committer: Albert ARIBAUD
> > <albert.u.boot@aribaud.net>  2014-09-11 18:04:34
> > 
> > Error: uboot freezed without any error message in serial
> > console and with broken screen output
> > 
> > ============================================
> > 
> > Range: c57a642384df0dfaacc8e9c6c06d76b5aecb965d ..
> > b7b3b8c6a0bfc87047cb18a7abfa06fb6e9d0331
> > 
> > Commit: c57a642384df0dfaacc8e9c6c06d76b5aecb965d
> > Author: Georges Savoundararadj <savoundg@gmail.com> 
> > 2014-10-28 23:16:10 Committer: Tom Rini <trini@ti.com> 
> > 2014-10-29 14:02:17 Message: arm: make .vectors section
> > allocatable
> > 
> > Error: uboot printed error to serial console and rebooted
> > machine:
> > 
> > prefetch abort
> > pc : [<00000000>]          lr : [<8fdd3684>]
> 
> Can you tell from the .map or .lst files what this 0x8fdd3684
> address corresponds to in the source code?
> 

Hello, it will take some time. I need to find out again how to 
tell gdb different relocation offset as rx51 board has special 
asm code for relocation. I forgot that and without configuring 
correct offset it is not easy to tell you that...

> > sp : 8fcefe78  ip : 0000002a     fp : 8fdfd96c
> > r10: 8fdfda3c  r9 : 8fceff24     r8 : 8fdfd968
> > r7 : 80000140  r6 : 000000ff     r5 : 80000420  r4 :
> > 80000420 r3 : 40208000  r2 : 00000004     r1 : 00000000  r0
> > : 0000002a Flags: nzcv  IRQs on  FIQs on  Mode USER_26
> > Resetting CPU ...
> 
> Best regards,
> Beno?t

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150104/5032ae35/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-04 22:14   ` Pali Rohár
@ 2015-01-04 22:28     ` Georges Savoundararadj
  2015-01-06 22:03       ` Georges Savoundararadj
  0 siblings, 1 reply; 12+ messages in thread
From: Georges Savoundararadj @ 2015-01-04 22:28 UTC (permalink / raw)
  To: u-boot

Hi Pali Roh?r,

Le 04/01/2015 23:14, Pali Roh?r a ?crit :
> Hello,
>
> here are commands how to compile u-boot for nokia n900, convert
> uboot image into n900 nand MTD file and run it under linaro arm
> version of qemu (upstream version of qemu have not merged n900
> support yet):
>
> $ export ARCH=arm
> $ export CROSS_COMPILE=arm-linux-gnueabi-
> $ make nokia_rx51_config
> $ make
> $ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
>    -k u-boot.bin -m rx51 -o u-boot.mtd
> $ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial /dev/tty
>
> You need:
> * qflasher - Nokia generator of nand MTD image with CAL data
> * xloader-qemu.bin - Nokia first stage bootloader (X-Loader)
> * secondary-qemu.bin - Nokia second stage bootloader (NOLO)
> * qemu-system-arm - Linaro arm version of qemu
>
> Linaro arm version of qemu can be downloaded e.g. from ubuntu:
> http://packages.ubuntu.com/source/precise/qemu-linaro
> (I'm using this version)
>
> Nokia qflasher and bootloaders are proprietary and closed source
> but could be found on internet. License allows to redistribute
> binaries for non commercial purposes. If you are unable to find
> it on internet anymore (originally they were hosted on website
> repo.meego.com before intel turned it off) and you are OK with
> that license, I can send you needed files.
>
> ====
> Copyright (c) Nokia Corporation 2010
> All Rights Reserved.
>
> This material, including documentation and any related computer
> programs, is protected by copyright controlled by Nokia
> Corporation. All rights are reserved. Modifying, adapting and/or
> translating, any or all of this material requires the prior
> written consent of Nokia. Distribution for commercial purposes
> not allowed without prior written approval from Nokia.
> ====
I am OK with that. Please send me the needed files.

Thanks,

Best regards,

Georges

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-04 22:28     ` Georges Savoundararadj
@ 2015-01-06 22:03       ` Georges Savoundararadj
  2015-01-06 22:19         ` Pali Rohár
  0 siblings, 1 reply; 12+ messages in thread
From: Georges Savoundararadj @ 2015-01-06 22:03 UTC (permalink / raw)
  To: u-boot

Hi Pali Roh?r,

The "prefetch abort exception" occurs in the function 
do_omap3_emu_romcode_call (in arch/arm/cpu/armv7/omap3/lowlevel_init.S) 
when executing the instruction "SMC #1".

I can't figure out what makes the difference between the working and the 
not-working versions.
Maybe we should monitor the Secure Configuration Register but gdb does 
not allow to watch the coprocessor registers.

I hope it helps.

Regards,

Georges

Le 04/01/2015 23:28, Georges Savoundararadj a ?crit :
> Hi Pali Roh?r,
>
> Le 04/01/2015 23:14, Pali Roh?r a ?crit :
>> Hello,
>>
>> here are commands how to compile u-boot for nokia n900, convert
>> uboot image into n900 nand MTD file and run it under linaro arm
>> version of qemu (upstream version of qemu have not merged n900
>> support yet):
>>
>> $ export ARCH=arm
>> $ export CROSS_COMPILE=arm-linux-gnueabi-
>> $ make nokia_rx51_config
>> $ make
>> $ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
>>    -k u-boot.bin -m rx51 -o u-boot.mtd
>> $ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial /dev/tty
>>
>> You need:
>> * qflasher - Nokia generator of nand MTD image with CAL data
>> * xloader-qemu.bin - Nokia first stage bootloader (X-Loader)
>> * secondary-qemu.bin - Nokia second stage bootloader (NOLO)
>> * qemu-system-arm - Linaro arm version of qemu
>>
>> Linaro arm version of qemu can be downloaded e.g. from ubuntu:
>> http://packages.ubuntu.com/source/precise/qemu-linaro
>> (I'm using this version)
>>
>> Nokia qflasher and bootloaders are proprietary and closed source
>> but could be found on internet. License allows to redistribute
>> binaries for non commercial purposes. If you are unable to find
>> it on internet anymore (originally they were hosted on website
>> repo.meego.com before intel turned it off) and you are OK with
>> that license, I can send you needed files.
>>
>> ====
>> Copyright (c) Nokia Corporation 2010
>> All Rights Reserved.
>>
>> This material, including documentation and any related computer
>> programs, is protected by copyright controlled by Nokia
>> Corporation. All rights are reserved. Modifying, adapting and/or
>> translating, any or all of this material requires the prior
>> written consent of Nokia. Distribution for commercial purposes
>> not allowed without prior written approval from Nokia.
>> ====
> I am OK with that. Please send me the needed files.
>
> Thanks,
>
> Best regards,
>
> Georges
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-06 22:03       ` Georges Savoundararadj
@ 2015-01-06 22:19         ` Pali Rohár
  2015-01-06 22:35           ` Georges Savoundararadj
  0 siblings, 1 reply; 12+ messages in thread
From: Pali Rohár @ 2015-01-06 22:19 UTC (permalink / raw)
  To: u-boot

ooo, thanks very much for help!

On non omap HS devices that SMC instruction must not be called. 
Qemu emulate omap GP device (not HS), so here is must not be 
called too. I remember that linux kernel crashed when called 
similar function in qemu.

I temporary commented do_omap3_emu_romcode_call asm code and qemu 
does not crash anymore.

Can somebody look into uboot code how to disable calling any code 
which is using smc instructions on non HS devices?

It looks like do_omap3_emu_romcode_call() is called for nokia 
n900 only from board code. So check for HS device can be added 
here...

Commenting do_omap3_emu_romcode_call() in board/nokia/rx51/rx51.c 
also fixed problem in qemu.

On Tuesday 06 January 2015 23:03:23 Georges Savoundararadj wrote:
> Hi Pali Roh?r,
> 
> The "prefetch abort exception" occurs in the function
> do_omap3_emu_romcode_call (in
> arch/arm/cpu/armv7/omap3/lowlevel_init.S) when executing the
> instruction "SMC #1".
> 
> I can't figure out what makes the difference between the
> working and the not-working versions.
> Maybe we should monitor the Secure Configuration Register but
> gdb does not allow to watch the coprocessor registers.
> 
> I hope it helps.
> 
> Regards,
> 
> Georges
> 
> Le 04/01/2015 23:28, Georges Savoundararadj a ?crit :
> > Hi Pali Roh?r,
> > 
> > Le 04/01/2015 23:14, Pali Roh?r a ?crit :
> >> Hello,
> >> 
> >> here are commands how to compile u-boot for nokia n900,
> >> convert uboot image into n900 nand MTD file and run it
> >> under linaro arm version of qemu (upstream version of qemu
> >> have not merged n900 support yet):
> >> 
> >> $ export ARCH=arm
> >> $ export CROSS_COMPILE=arm-linux-gnueabi-
> >> $ make nokia_rx51_config
> >> $ make
> >> $ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
> >> 
> >>    -k u-boot.bin -m rx51 -o u-boot.mtd
> >> 
> >> $ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial
> >> /dev/tty
> >> 
> >> You need:
> >> * qflasher - Nokia generator of nand MTD image with CAL
> >> data * xloader-qemu.bin - Nokia first stage bootloader
> >> (X-Loader) * secondary-qemu.bin - Nokia second stage
> >> bootloader (NOLO) * qemu-system-arm - Linaro arm version
> >> of qemu
> >> 
> >> Linaro arm version of qemu can be downloaded e.g. from
> >> ubuntu:
> >> http://packages.ubuntu.com/source/precise/qemu-linaro (I'm
> >> using this version)
> >> 
> >> Nokia qflasher and bootloaders are proprietary and closed
> >> source but could be found on internet. License allows to
> >> redistribute binaries for non commercial purposes. If you
> >> are unable to find it on internet anymore (originally they
> >> were hosted on website repo.meego.com before intel turned
> >> it off) and you are OK with that license, I can send you
> >> needed files.
> >> 
> >> ====
> >> Copyright (c) Nokia Corporation 2010
> >> All Rights Reserved.
> >> 
> >> This material, including documentation and any related
> >> computer programs, is protected by copyright controlled by
> >> Nokia Corporation. All rights are reserved. Modifying,
> >> adapting and/or translating, any or all of this material
> >> requires the prior written consent of Nokia. Distribution
> >> for commercial purposes not allowed without prior written
> >> approval from Nokia. ====
> > 
> > I am OK with that. Please send me the needed files.
> > 
> > Thanks,
> > 
> > Best regards,
> > 
> > Georges

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150106/e410c0e0/attachment-0001.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-06 22:19         ` Pali Rohár
@ 2015-01-06 22:35           ` Georges Savoundararadj
  2015-01-07  9:12             ` Pali Rohár
  0 siblings, 1 reply; 12+ messages in thread
From: Georges Savoundararadj @ 2015-01-06 22:35 UTC (permalink / raw)
  To: u-boot

Hi Pali Roh?r,

Le 06/01/2015 23:19, Pali Roh?r a ?crit :
> ooo, thanks very much for help!
>
> On non omap HS devices that SMC instruction must not be called.
> Qemu emulate omap GP device (not HS), so here is must not be
> called too. I remember that linux kernel crashed when called
> similar function in qemu.
Are you sure?
In the working version (before commit 41623c) SMC instruction is used 
(in the do_omap3_emu_romcode_call) and it works well.


> I temporary commented do_omap3_emu_romcode_call asm code and qemu
> does not crash anymore.
>
> Can somebody look into uboot code how to disable calling any code
> which is using smc instructions on non HS devices?
>
> It looks like do_omap3_emu_romcode_call() is called for nokia
> n900 only from board code. So check for HS device can be added
> here...
>
> Commenting do_omap3_emu_romcode_call() in board/nokia/rx51/rx51.c
> also fixed problem in qemu.
>
> On Tuesday 06 January 2015 23:03:23 Georges Savoundararadj wrote:
>> Hi Pali Roh?r,
>>
>> The "prefetch abort exception" occurs in the function
>> do_omap3_emu_romcode_call (in
>> arch/arm/cpu/armv7/omap3/lowlevel_init.S) when executing the
>> instruction "SMC #1".
>>
>> I can't figure out what makes the difference between the
>> working and the not-working versions.
>> Maybe we should monitor the Secure Configuration Register but
>> gdb does not allow to watch the coprocessor registers.
>>
>> I hope it helps.
>>
>> Regards,
>>
>> Georges
>>
>> Le 04/01/2015 23:28, Georges Savoundararadj a ?crit :
>>> Hi Pali Roh?r,
>>>
>>> Le 04/01/2015 23:14, Pali Roh?r a ?crit :
>>>> Hello,
>>>>
>>>> here are commands how to compile u-boot for nokia n900,
>>>> convert uboot image into n900 nand MTD file and run it
>>>> under linaro arm version of qemu (upstream version of qemu
>>>> have not merged n900 support yet):
>>>>
>>>> $ export ARCH=arm
>>>> $ export CROSS_COMPILE=arm-linux-gnueabi-
>>>> $ make nokia_rx51_config
>>>> $ make
>>>> $ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
>>>>
>>>>     -k u-boot.bin -m rx51 -o u-boot.mtd
>>>>
>>>> $ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial
>>>> /dev/tty
>>>>
>>>> You need:
>>>> * qflasher - Nokia generator of nand MTD image with CAL
>>>> data * xloader-qemu.bin - Nokia first stage bootloader
>>>> (X-Loader) * secondary-qemu.bin - Nokia second stage
>>>> bootloader (NOLO) * qemu-system-arm - Linaro arm version
>>>> of qemu
>>>>
>>>> Linaro arm version of qemu can be downloaded e.g. from
>>>> ubuntu:
>>>> http://packages.ubuntu.com/source/precise/qemu-linaro (I'm
>>>> using this version)
>>>>
>>>> Nokia qflasher and bootloaders are proprietary and closed
>>>> source but could be found on internet. License allows to
>>>> redistribute binaries for non commercial purposes. If you
>>>> are unable to find it on internet anymore (originally they
>>>> were hosted on website repo.meego.com before intel turned
>>>> it off) and you are OK with that license, I can send you
>>>> needed files.
>>>>
>>>> ====
>>>> Copyright (c) Nokia Corporation 2010
>>>> All Rights Reserved.
>>>>
>>>> This material, including documentation and any related
>>>> computer programs, is protected by copyright controlled by
>>>> Nokia Corporation. All rights are reserved. Modifying,
>>>> adapting and/or translating, any or all of this material
>>>> requires the prior written consent of Nokia. Distribution
>>>> for commercial purposes not allowed without prior written
>>>> approval from Nokia. ====
>>> I am OK with that. Please send me the needed files.
>>>
>>> Thanks,
>>>
>>> Best regards,
>>>
>>> Georges

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-06 22:35           ` Georges Savoundararadj
@ 2015-01-07  9:12             ` Pali Rohár
  2015-01-08  0:16               ` Nishanth Menon
  0 siblings, 1 reply; 12+ messages in thread
From: Pali Rohár @ 2015-01-07  9:12 UTC (permalink / raw)
  To: u-boot

On Tuesday 06 January 2015 23:35:16 Georges Savoundararadj wrote:
> Hi Pali Roh?r,
> 
> Le 06/01/2015 23:19, Pali Roh?r a ?crit :
> > ooo, thanks very much for help!
> > 
> > On non omap HS devices that SMC instruction must not be
> > called. Qemu emulate omap GP device (not HS), so here is
> > must not be called too. I remember that linux kernel
> > crashed when called similar function in qemu.
> 
> Are you sure?

Yes

> In the working version (before commit 41623c) SMC instruction
> is used (in the do_omap3_emu_romcode_call) and it works well.
> 

Anyway, calling that smc instruction is needed to prevent HW bug 
on real n900 device. Qemu does not have that HW bug and also do 
not implement code for that smc instruction.

So really, we should not call do_omap3_emu_romcode_call() 
function from board/nokia/rx51/rx51.c when uboot is running in 
qemu.

@Tom, Nishanth, or anybody from TI: how to check if omap device 
type is HS in uboot? In linux kernel it is possible by:

if (omap_type() == OMAP2_DEVICE_TYPE_SEC) { ... }

> > I temporary commented do_omap3_emu_romcode_call asm code and
> > qemu does not crash anymore.
> > 
> > Can somebody look into uboot code how to disable calling any
> > code which is using smc instructions on non HS devices?
> > 
> > It looks like do_omap3_emu_romcode_call() is called for
> > nokia n900 only from board code. So check for HS device can
> > be added here...
> > 
> > Commenting do_omap3_emu_romcode_call() in
> > board/nokia/rx51/rx51.c also fixed problem in qemu.
> > 
> > On Tuesday 06 January 2015 23:03:23 Georges Savoundararadj 
wrote:
> >> Hi Pali Roh?r,
> >> 
> >> The "prefetch abort exception" occurs in the function
> >> do_omap3_emu_romcode_call (in
> >> arch/arm/cpu/armv7/omap3/lowlevel_init.S) when executing
> >> the instruction "SMC #1".
> >> 
> >> I can't figure out what makes the difference between the
> >> working and the not-working versions.
> >> Maybe we should monitor the Secure Configuration Register
> >> but gdb does not allow to watch the coprocessor registers.
> >> 
> >> I hope it helps.
> >> 
> >> Regards,
> >> 
> >> Georges
> >> 
> >> Le 04/01/2015 23:28, Georges Savoundararadj a ?crit :
> >>> Hi Pali Roh?r,
> >>> 
> >>> Le 04/01/2015 23:14, Pali Roh?r a ?crit :
> >>>> Hello,
> >>>> 
> >>>> here are commands how to compile u-boot for nokia n900,
> >>>> convert uboot image into n900 nand MTD file and run it
> >>>> under linaro arm version of qemu (upstream version of
> >>>> qemu have not merged n900 support yet):
> >>>> 
> >>>> $ export ARCH=arm
> >>>> $ export CROSS_COMPILE=arm-linux-gnueabi-
> >>>> $ make nokia_rx51_config
> >>>> $ make
> >>>> $ qflasher -x xloader-qemu.bin -s secondary-qemu.bin \
> >>>> 
> >>>>     -k u-boot.bin -m rx51 -o u-boot.mtd
> >>>> 
> >>>> $ qemu-system-arm -M n900 -mtdblock u-boot.mtd -serial
> >>>> /dev/tty
> >>>> 
> >>>> You need:
> >>>> * qflasher - Nokia generator of nand MTD image with CAL
> >>>> data * xloader-qemu.bin - Nokia first stage bootloader
> >>>> (X-Loader) * secondary-qemu.bin - Nokia second stage
> >>>> bootloader (NOLO) * qemu-system-arm - Linaro arm version
> >>>> of qemu
> >>>> 
> >>>> Linaro arm version of qemu can be downloaded e.g. from
> >>>> ubuntu:
> >>>> http://packages.ubuntu.com/source/precise/qemu-linaro
> >>>> (I'm using this version)
> >>>> 
> >>>> Nokia qflasher and bootloaders are proprietary and closed
> >>>> source but could be found on internet. License allows to
> >>>> redistribute binaries for non commercial purposes. If you
> >>>> are unable to find it on internet anymore (originally
> >>>> they were hosted on website repo.meego.com before intel
> >>>> turned it off) and you are OK with that license, I can
> >>>> send you needed files.
> >>>> 
> >>>> ====
> >>>> Copyright (c) Nokia Corporation 2010
> >>>> All Rights Reserved.
> >>>> 
> >>>> This material, including documentation and any related
> >>>> computer programs, is protected by copyright controlled
> >>>> by Nokia Corporation. All rights are reserved.
> >>>> Modifying, adapting and/or translating, any or all of
> >>>> this material requires the prior written consent of
> >>>> Nokia. Distribution for commercial purposes not allowed
> >>>> without prior written approval from Nokia. ====
> >>> 
> >>> I am OK with that. Please send me the needed files.
> >>> 
> >>> Thanks,
> >>> 
> >>> Best regards,
> >>> 
> >>> Georges

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150107/a21ab28c/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-07  9:12             ` Pali Rohár
@ 2015-01-08  0:16               ` Nishanth Menon
  2015-01-08  8:45                 ` Pali Rohár
  0 siblings, 1 reply; 12+ messages in thread
From: Nishanth Menon @ 2015-01-08  0:16 UTC (permalink / raw)
  To: u-boot

On 01/07/2015 03:12 AM, Pali Roh?r wrote:
>
> @Tom, Nishanth, or anybody from TI: how to check if omap device
> type is HS in uboot? In linux kernel it is possible by:
>
> if (omap_type() == OMAP2_DEVICE_TYPE_SEC) { ... }
it should be.
CONTROL_STATUS register exists in almost all omap2+ devices.
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/id.c#n53

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/soc.h#n120

omap3 u-boot implements get_device_type

http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv7/omap3/sys_info.c;h=bbb65bbe7263674c2b47b97ee05a9f588ed1c58f;hb=HEAD#l265

Macro HS_DEVICE could be used?

--
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] Nokia RX-51 (N900) board broken
  2015-01-08  0:16               ` Nishanth Menon
@ 2015-01-08  8:45                 ` Pali Rohár
  0 siblings, 0 replies; 12+ messages in thread
From: Pali Rohár @ 2015-01-08  8:45 UTC (permalink / raw)
  To: u-boot

On Thursday 08 January 2015 01:16:22 Nishanth Menon wrote:
> On 01/07/2015 03:12 AM, Pali Roh?r wrote:
> > @Tom, Nishanth, or anybody from TI: how to check if omap
> > device type is HS in uboot? In linux kernel it is possible
> > by:
> > 
> > if (omap_type() == OMAP2_DEVICE_TYPE_SEC) { ... }
> 
> it should be.
> CONTROL_STATUS register exists in almost all omap2+ devices.
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
> /tree/arch/arm/mach-omap2/id.c#n53
> 
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
> /tree/arch/arm/mach-omap2/soc.h#n120
> 
> omap3 u-boot implements get_device_type
> 
> http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv7/o
> map3/sys_info.c;h=bbb65bbe7263674c2b47b97ee05a9f588ed1c58f;hb=
> HEAD#l265
> 
> Macro HS_DEVICE could be used?
> 
> --
> Regards,
> Nishanth Menon

Thanks, condition if (get_device_type() == HS_DEVICE) fixed 
problem with qemu. I will send patch to ML.

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150108/4baf3523/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-01-08  8:45 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-03 10:47 [U-Boot] Nokia RX-51 (N900) board broken Pali Rohár
2015-01-03 18:13 ` Benoît Thébaudeau
2015-01-04 22:18   ` Pali Rohár
2015-01-04 21:46 ` Georges Savoundararadj
2015-01-04 22:14   ` Pali Rohár
2015-01-04 22:28     ` Georges Savoundararadj
2015-01-06 22:03       ` Georges Savoundararadj
2015-01-06 22:19         ` Pali Rohár
2015-01-06 22:35           ` Georges Savoundararadj
2015-01-07  9:12             ` Pali Rohár
2015-01-08  0:16               ` Nishanth Menon
2015-01-08  8:45                 ` Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox