Skip to contentSkip to conversation

U-Boot: Nokia N900 (RX-51) is broken again

U-Boot New Pali Rohár 3 participants 7 messages Jun 9, 2015 – Jun 12, 2015 Arm/actions semi architecture

lore
Share & tools
lore

Pali Rohár

author Acked-by Siarhei Siamashka Acked-by Hans de Goede
#0 lore raw

Hello,

commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f

Author: Simon Glass <[email protected]>
Date:   Sat Feb 7 10:47:28 2015 -0700

arm: Allow lr to be saved by board code

The link register value can be required on some boards (e.g. FEL mode on sunxi) so use a branch instruction to jump to save_boot_params() instead of a branch link.

This requires a branch back to save_boot_params_ret so adjust the users to deal with this. For exynos just drop the function since it doesn't do anything.

This commit broke Nokia N900 board support. When I tried it to boot in qemu I just get this qemu error message:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x7fb0fdfc

R00=806ffd08 R01=80207800 R02=80207800 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=00000000 R11=00000000 R12=80000414 R13=804ffb90 R14=7fb0fdfc R15=7fb0fdfc PSR=600001df -ZC- A sys32
Aborted

U-Boot compiled before above commit working in qemu fine.

When I revert commits 5519912164698b634893913b4408fee736d01d06 and e11c6c279d823dc0d2f470c5c2e3c0a9854a640f on top of master, then u-boot from master working fine on Nokia N900.

Can you fix broken commit? Because now U-Boot for Nokia N900 board is not working...

Thanks.

Signature · 9 lines
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/20150609/cc305bcf/attachment.sig>
#1 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

---
 board/nokia/rx51/lowlevel_init.S |    4 ----
 1 file changed, 4 deletions(-)
board/nokia/rx51/lowlevel_init.S +0 -4
index 9d4ea1b..420ad13 100644
@@ -105,10 +105,6 @@ fix_start:
 	/* r6 - maximal u-boot size */
 	ldr	r6, imagesize
 
-	/* fix return address */
-	subhi	lr, lr, r5
-	addlo	lr, lr, r5
-
 	/* r1 - start of u-boot after */
 	ldr	r1, startaddr
 
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

Quoted 11 lines · Pali Roh?r

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

---
 board/nokia/rx51/lowlevel_init.S |    4 ----
 1 file changed, 4 deletions(-)
#3 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

Quoted 9 lines · On Tuesday 09 June 2015 20:11:22 Simon Glass wrote:
Quoted 8 lines · Pali Roh?r

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

Quoted 7 lines
Quoted 5 lines

---

 board/nokia/rx51/lowlevel_init.S |    4 ----
 1 file changed, 4 deletions(-)

Tom, can you please apply this patch for 2015.07?

Simon & others: in future, please can you CC me all patches which touch Nokia N900 board code? We can prevent such breakage. Also you can test u-boot for n900 in qemu.

Signature · 9 lines
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/20150609/9d54c170/attachment.sig>
#4 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

Hi Pali,

Quoted 17 lines · Pali Roh?r
Quoted 15 lines · On Tuesday 09 June 2015 20:11:22 Simon Glass wrote:
Quoted 13 lines · Pali Roh?r

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

---

 board/nokia/rx51/lowlevel_init.S |    4 ----
 1 file changed, 4 deletions(-)
Quoted 7 lines
Quoted 1 line

Tom, can you please apply this patch for 2015.07?

Simon & others: in future, please can you CC me all patches which touch Nokia N900 board code? We can prevent such breakage. Also you can test u-boot for n900 in qemu.

Here's the list patman generates for that patch:

      Cc:  Rob Herring <[email protected]>
      Cc:  Simon Glass <[email protected]>
      Cc:  Tom Warren <[email protected]>
      Cc:  Thierry Reding <[email protected]>
      Cc:  Siarhei Siamashka <[email protected]>
      Cc:  Bryan Brinsko <[email protected]>
      Cc:  Ian Campbell <[email protected]>
      Cc:  York Sun <[email protected]>
      Cc:  Nishanth Menon <[email protected]>
      Cc:  Hans de Goede <[email protected]>
      Cc:  u-boot at lists.denx.de
      Cc:  Tom Rini <[email protected]>
      Cc:  Albert Aribaud <[email protected]>
      Cc:  Peng Fan <[email protected]>
      Cc:  Georges Savoundararadj <[email protected]>
      Cc:  Minkyu Kang <[email protected]>
      Cc:  "Pali Roh?r" <[email protected]>

I was probably just unwilling to email so many people, but in future I will be more willing.

Quoted 5 lines

--
Pali Roh?r
pali.rohar at gmail.com

Regards,
Simon

#5 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

In reply to Pali Rohár
Quoted 13 lines · On Tuesday 09 June 2015 20:27:19 Pali Roh?r wrote:
Quoted 12 lines · On Tuesday 09 June 2015 20:11:22 Simon Glass wrote:
Quoted 11 lines · Pali Roh?r

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

---

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
 board/nokia/rx51/lowlevel_init.S |    4 ----
 1 file changed, 4 deletions(-)

Tom, can you please apply this patch for 2015.07?

Hello, can you apply this patch? Without it Nokia N900 code is broken!

Signature · 2 lines
Pali Roh?r
pali.rohar at gmail.com
#6 lore raw

PATCH 1/1 Nokia RX-51: Fix calculating return address in save_boot_params

In reply to Pali Rohár
Quoted 9 lines · Pali Roh?r

Commit e11c6c279d823dc0d2f470c5c2e3c0a9854a640f broke calculating lr register in function save_boot_params() and caused U-Boot to crash at early boot time on Nokia N900 board.

This patch fix calculating return address in lr register and make Nokia N900 board bootable again. Patch was tested in qemu and also on real N900 HW.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150612/3b2ee2cb/attachment.sig>