All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Piotr Król" <piotr.krol@3mdeb.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 0/7] Raspberry Pi 2 support
Date: Thu, 31 Dec 2015 02:13:38 +0100	[thread overview]
Message-ID: <20151231011338.GA1289@haysend> (raw)
In-Reply-To: <1450916731-5968-1-git-send-email-Andrew.Baumann@microsoft.com>

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

  parent reply	other threads:[~2015-12-31  1:13 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-24  0:25 [Qemu-arm] [PATCH v2 0/7] Raspberry Pi 2 support Andrew Baumann
2015-12-24  0:25 ` [Qemu-devel] " Andrew Baumann
2015-12-24  0:25 ` [Qemu-arm] [PATCH v2 1/7] bcm2835_mbox: add BCM2835 mailboxes Andrew Baumann
2015-12-24  0:25   ` [Qemu-devel] " Andrew Baumann
2015-12-31  0:12   ` Peter Crosthwaite
2015-12-31 18:06     ` [Qemu-arm] " Andrew Baumann
2015-12-31 18:06       ` [Qemu-devel] " Andrew Baumann
2015-12-24  0:25 ` [Qemu-devel] [PATCH v2 2/7] bcm2835_property: add bcm2835 property channel Andrew Baumann
2015-12-24  0:25   ` Andrew Baumann
2015-12-24  0:25 ` [Qemu-devel] [PATCH v2 3/7] bcm2835_ic: add bcm2835 interrupt controller Andrew Baumann
2015-12-24  0:25   ` Andrew Baumann
2015-12-31  0:33   ` [Qemu-arm] " Peter Crosthwaite
2015-12-31  0:33     ` [Qemu-devel] " Peter Crosthwaite
2015-12-24  0:25 ` [Qemu-devel] [PATCH v2 4/7] bcm2835_peripherals: add rollup device for bcm2835 peripherals Andrew Baumann
2015-12-24  0:25   ` Andrew Baumann
2015-12-31  2:53   ` [Qemu-arm] " Peter Crosthwaite
2015-12-31  2:53     ` [Qemu-devel] " Peter Crosthwaite
2015-12-31 18:23     ` [Qemu-arm] " Andrew Baumann
2015-12-31 18:23       ` [Qemu-devel] " Andrew Baumann
2015-12-24  0:25 ` [Qemu-arm] [PATCH v2 5/7] bcm2836_control: add bcm2836 ARM control logic Andrew Baumann
2015-12-24  0:25   ` [Qemu-devel] " Andrew Baumann
2015-12-31  3:20   ` [Qemu-arm] " Peter Crosthwaite
2015-12-31  3:20     ` [Qemu-devel] " Peter Crosthwaite
2015-12-31 18:43     ` [Qemu-arm] " Andrew Baumann
2015-12-31 18:43       ` [Qemu-devel] " Andrew Baumann
2015-12-24  0:25 ` [Qemu-arm] [PATCH v2 6/7] bcm2836: add bcm2836 soc device Andrew Baumann
2015-12-24  0:25   ` [Qemu-devel] " Andrew Baumann
2015-12-24  0:25 ` [Qemu-devel] [PATCH v2 7/7] raspi: add raspberry pi 2 machine Andrew Baumann
2015-12-24  0:25   ` Andrew Baumann
2015-12-31  1:13 ` Piotr Król [this message]
2016-01-06 18:27   ` [Qemu-devel] [PATCH v2 0/7] Raspberry Pi 2 support Andrew Baumann
2016-01-07  0:09     ` Piotr Król
2016-01-07  0:14       ` Andrew Baumann
2016-01-07  2:46       ` Peter Crosthwaite
2016-01-07  4:47         ` Andrew Baumann
2016-01-07 10:16           ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151231011338.GA1289@haysend \
    --to=piotr.krol@3mdeb.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.