From mboxrd@z Thu Jan 1 00:00:00 1970 From: Georges Savoundararadj Date: Tue, 06 Jan 2015 23:35:16 +0100 Subject: [U-Boot] Nokia RX-51 (N900) board broken In-Reply-To: <201501062319.22459@pali> References: <201501031147.33523@pali> <54A9BE8C.40604@gmail.com> <54AC5BAB.8040703@gmail.com> <201501062319.22459@pali> Message-ID: <54AC6324.8030407@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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