[U-Boot] Nokia RX-51 (N900) board broken

Pali Rohár pali.rohar at gmail.com
Wed Jan 7 10:12:56 CET 2015


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>


More information about the U-Boot mailing list