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

Georges Savoundararadj savoundg at gmail.com
Tue Jan 6 23:35:16 CET 2015


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



More information about the U-Boot mailing list