[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
- Re: [Qemu-devel] [PATCH v2 1/7] bcm2835_mbox: add BCM2835 mailboxes, (continued)
- [Qemu-devel] [PATCH v2 3/7] bcm2835_ic: add bcm2835 interrupt controller, Andrew Baumann, 2015/12/23
- [Qemu-devel] [PATCH v2 2/7] bcm2835_property: add bcm2835 property channel, Andrew Baumann, 2015/12/23
- [Qemu-devel] [PATCH v2 4/7] bcm2835_peripherals: add rollup device for bcm2835 peripherals, Andrew Baumann, 2015/12/23
- [Qemu-devel] [PATCH v2 5/7] bcm2836_control: add bcm2836 ARM control logic, Andrew Baumann, 2015/12/23
- [Qemu-devel] [PATCH v2 6/7] bcm2836: add bcm2836 soc device, Andrew Baumann, 2015/12/23
- [Qemu-devel] [PATCH v2 7/7] raspi: add raspberry pi 2 machine, Andrew Baumann, 2015/12/23
- Re: [Qemu-devel] [PATCH v2 0/7] Raspberry Pi 2 support,
Piotr Król <=