qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/7] Raspberry Pi 2 support


From: Piotr Król
Subject: Re: [Qemu-devel] [PATCH v2 0/7] Raspberry Pi 2 support
Date: Thu, 31 Dec 2015 02:13:38 +0100
User-agent: Mutt/1.5.23.1 (2014-03-12)

On Wed, Dec 23, 2015 at 04:25:24PM -0800, Andrew Baumann wrote:
> This patch series adds initial support for Raspberry Pi 2
> (bcm2836). It is heavily based on the original (out of tree) work of
> Gregory Estrade, Stefan Weil and others to support Raspberry Pi 1.
> 
> At the end of this series, it is possible to boot a recent raspbian
> kernel to a serial console using an invocation such as:
> 
>   qemu-system-arm -M raspi2 -kernel raspbian-boot/kernel7.img -sd
>   2015-09-24-raspbian-jessie.vhd -append "rw earlyprintk loglevel=8
>   console=ttyAMA0 root=/dev/mmcblk0p2" -serial stdio
> 
> (where raspbian-boot is the boot partition from the matching image,
> and after commenting-out or removing /etc/ld.so.preload to avoid an
> unimplemented setend instruction).
> 
> I plan to add DMA, USB, framebuffer, timers, and other system devices
> (vchiq, power, mphi, aux/uart1) in future patches. In the meantime,
> the complete code is available at: https://github.com/0xabu/qemu

Hi Andrew,
many thanks for this patch series. I'm very interested in this effort from
Linux perspective. And would like to help with testing and maybe some
development.

First, I tried your code from raspi branch (ar7-raspi doesn't compile [1]).
Using recent Raspbian 2015-11-21-raspbian-jessie (same results I saw for
2015-09-24). I'm getting kernel panic:

[    6.892677] random: systemd urandom read with 7 bits of entropy available
[    6.908292] Kernel panic - not syncing: Attempted to kill init! 
exitcode=0x00000004
[    6.908292] 
[    6.909692] CPU: 0 PID: 1 Comm: systemd Not tainted 4.1.13-v7+ #826
[    6.910106] Hardware name: BCM2709
[    6.911818] [<80018444>] (unwind_backtrace) from [<80013e08>] 
(show_stack+0x20/0x24)
[    6.912539] [<80013e08>] (show_stack) from [<8055a188>] 
(dump_stack+0x98/0xe0)
[    6.913074] [<8055a188>] (dump_stack) from [<80556340>] (panic+0xa4/0x204)
[    6.913721] [<80556340>] (panic) from [<800293c8>] (do_exit+0xa0c/0xa64)
[    6.914181] [<800293c8>] (do_exit) from [<800294b8>] 
(do_group_exit+0x4c/0xcc)
[    6.914770] [<800294b8>] (do_group_exit) from [<80033f1c>] 
(get_signal+0x2b0/0x6e0)
[    6.915311] [<80033f1c>] (get_signal) from [<80013190>] 
(do_signal+0x98/0x3ac)
[    6.915825] [<80013190>] (do_signal) from [<8001368c>] 
(do_work_pending+0xb8/0xc8)
[    6.916352] [<8001368c>] (do_work_pending) from [<8000f9e4>] 
(work_pending+0xc/0x20)
[    6.917774] ---[ end Kernel panic - not syncing: Attempted to kill init! 
exitcode=0x00000004
[    6.917774] 

Full log [3].

Third test I tried is to apply patches from this series on top of master
(38a762fec63f), what cause hang on:

[   15.094558 ] mmc0: Timeout waiting for hardware interrupt

Full log [2].

I do not follow this mailing list, so maybe I missing some pieces.
If I need some other patches to test this series please let me know.

My questions:

Does 2015-09-24-raspbian-jessie.vhd extracted Linux partition from raspbian
image or simply img converted to vhd format ? Is there any problem with using 
img ?

Would you mind to issue tracking on GitHub and pull requests or you want whole
communication and possible fixes go through QEMU mailing list ? I think that it
maybe useful for code that is not ready for upstreaming. I saw you have issue
tracking disabled.

Any other pointers how to fix those issues are appreciated.

[1] https://gist.github.com/pietrushnic/d2b7714524f0a2db3530
[2] https://gist.github.com/pietrushnic/cfe3d8d70d883a683250
[3] https://gist.github.com/pietrushnic/7daff0f1227de79d1af3

> 
> Although this series includes many of the peripherals common to Pi1
> (aka bcm2835 aka Pi0), it's not yet possible to boot a Pi1, because it
> requires additional peripherals, so I'll also add that SoC and machine
> in a later patch.
> 
> v2 changes:
>  * cleanup based on reviews of mbox and ic devices by Peter Crosthwaite
>    (see specific notes on each patch)
>  * removed custom SD controller in favour of sdhci
> 
> Cheers,
> Andrew
> 
> Andrew Baumann (7):
>   bcm2835_mbox: add BCM2835 mailboxes
>   bcm2835_property: add bcm2835 property channel
>   bcm2835_ic: add bcm2835 interrupt controller
>   bcm2835_peripherals: add rollup device for bcm2835 peripherals
>   bcm2836_control: add bcm2836 ARM control logic
>   bcm2836: add bcm2836 soc device
>   raspi: add raspberry pi 2 machine
> 
>  default-configs/arm-softmmu.mak      |   1 +
>  hw/arm/Makefile.objs                 |   1 +
>  hw/arm/bcm2835_peripherals.c         | 198 ++++++++++++++++++++
>  hw/arm/bcm2836.c                     | 135 ++++++++++++++
>  hw/arm/raspi.c                       | 179 +++++++++++++++++++
>  hw/intc/Makefile.objs                |   1 +
>  hw/intc/bcm2835_ic.c                 | 233 ++++++++++++++++++++++++
>  hw/intc/bcm2836_control.c            | 338 
> +++++++++++++++++++++++++++++++++++
>  hw/misc/Makefile.objs                |   2 +
>  hw/misc/bcm2835_mbox.c               | 323 +++++++++++++++++++++++++++++++++
>  hw/misc/bcm2835_property.c           | 277 ++++++++++++++++++++++++++++
>  include/hw/arm/bcm2835_peripherals.h |  42 +++++
>  include/hw/arm/bcm2836.h             |  33 ++++
>  include/hw/arm/raspi_platform.h      | 161 +++++++++++++++++
>  include/hw/intc/bcm2835_ic.h         |  33 ++++
>  include/hw/intc/bcm2836_control.h    |  51 ++++++
>  include/hw/misc/bcm2835_mbox.h       |  37 ++++
>  include/hw/misc/bcm2835_mbox_defs.h  |  26 +++
>  include/hw/misc/bcm2835_property.h   |  29 +++
>  19 files changed, 2100 insertions(+)
>  create mode 100644 hw/arm/bcm2835_peripherals.c
>  create mode 100644 hw/arm/bcm2836.c
>  create mode 100644 hw/arm/raspi.c
>  create mode 100644 hw/intc/bcm2835_ic.c
>  create mode 100644 hw/intc/bcm2836_control.c
>  create mode 100644 hw/misc/bcm2835_mbox.c
>  create mode 100644 hw/misc/bcm2835_property.c
>  create mode 100644 include/hw/arm/bcm2835_peripherals.h
>  create mode 100644 include/hw/arm/bcm2836.h
>  create mode 100644 include/hw/arm/raspi_platform.h
>  create mode 100644 include/hw/intc/bcm2835_ic.h
>  create mode 100644 include/hw/intc/bcm2836_control.h
>  create mode 100644 include/hw/misc/bcm2835_mbox.h
>  create mode 100644 include/hw/misc/bcm2835_mbox_defs.h
>  create mode 100644 include/hw/misc/bcm2835_property.h
> 
> -- 
> 2.5.3
> 
> 

Best Regards,
-- 
Piotr Król
Embedded Systems Consultant
http://3mdeb.com | @3mdeb_com



reply via email to

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