qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] barebox on Canon A1100


From: Antony Pavlov
Subject: Re: [Qemu-arm] barebox on Canon A1100
Date: Fri, 4 Jan 2019 13:54:44 +0300

On Fri, 4 Jan 2019 09:17:41 +0100
Sascha Hauer <address@hidden> wrote:

> On Fri, Jan 04, 2019 at 01:56:41AM +0300, Antony Pavlov wrote:
> > Hi Sascha!
> > 
> > I have some good news and some bad news.
> > 
> > First the good news.
> > 
> > Barebox was used for Day 18 of QEMU 2018 advent 
> > (https://www.qemu-advent-calendar.org/2018/).
> > 
> > Here is a quote:
> > 
> >   > This is an image for QEMU's emulated Canon A1100 Arm machine:
> >   > Play 2048 in the Barebox firmware environment.
> 
> Hey nice :)
> 
> > 
> > The bad news.
> > 
> > Current master branch barebox for Canon A1100 does not work under qemu,
> > barebox v2017.02.0 was used for qemu advent.
> > 
> > Thomas Huth reported the problem in the qemu-devel mailing
> > list two months ago. Please see 
> > https://www.mail-archive.com/address@hidden/msg571887.html
> > for details.
> > 
> > The commit a43e2bbc468a71 breaks barebox for Canon A1100:
> > 
> >   > commit a43e2bbc468a71fb8825e8acafb7fac7ad7c6dad
> >   > Author: Sascha Hauer <address@hidden>
> >   > Date:   Wed Mar 7 10:04:07 2018 +0100
> >   >
> >   >    ARM: return positive offset in get_runtime_offset()
> > 
> > Any suggestion?
> 
> Yes, try again with a recent barebox. There was a bug in this commit that
> should be fixed with the following:
>
> | commit 0230365df6601cd561c9e3e368c96222076ec9f5
> | Author: Sascha Hauer <address@hidden>
> | Date:   Wed Dec 12 08:55:31 2018 +0100
> | 
> |     ARM: fix setup_c when runtime offset is != 0
> |     
> |     The runtime offset has to be added to the memcpy source address and
> |     substracted from the return address. This should have been changed in
> |     a43e2bbc46 which changed from returning the negative runtime offset
> |     into changing the positive runtime offset. Instead a43e2bbc46 only
> |     changed a zero substraction ("subs r4, r0, #0") into a zero addition
> |     ("adds r4, r0, #0") which was used as a equal to zero test and changed
> |     nothing. This part is reverted here.
> |     
> |     Fixes wrong copy / return locations when setup_c is called with
> |     different runtime and link addresses.
> |     
> |     fixes: a43e2bbc46 ("ARM: return positive offset in 
> get_runtime_offset()")
> |     
> |     Signed-off-by: Sascha Hauer <address@hidden>

Thanks for noting!

I have just tested recent master branch barebox with qemu-3.1.0 from Debian 
unstable.
It works!

Here is the log:

$ qemu-system-arm --version
QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-2)
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers
$ qemu-system-arm -M canon-a1100 -display none -serial stdio -bios 
barebox.canon-a1100.bin
Switch to console [cs0]


barebox 2018.12.0-00140-g64fc4ac1b5 #1 Fri Jan 4 13:36:42 MSK 2019


Board: Canon PowerShot A1100 IS
digic-gpio c0220000.gpio.of: probed gpiochip-1 with base 0
cfi_flash address@hidden: found cfi flash at 0xf8000000, size 4 MiB
malloc space: 0x00100000 -> 0x002fffff (size 2 MiB)
running /env/bin/init...
/env/bin/init not found
canon-a1100 > /


-- 
Best regards,
  Antony Pavlov



reply via email to

[Prev in Thread] Current Thread [Next in Thread]