All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bin Meng <bmeng.cn@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 16/27] arm: qemu: Enumerate virtio bus during early boot
Date: Thu, 11 Oct 2018 21:28:46 +0800	[thread overview]
Message-ID: <CAEUhbmVwHj8bf6u_eV8Vn5HD7gMRYKyeqH12nvVEoCdamQe9DQ@mail.gmail.com> (raw)
In-Reply-To: <46513c79-1270-35c1-d2dc-d9a5588ee8d4@iki.fi>

Hi Tuomas,

On Fri, Sep 28, 2018 at 6:13 AM Tuomas Tynkkynen
<tuomas.tynkkynen@iki.fi> wrote:
>
> Hi Bin,
>
> On 09/23/2018 04:42 PM, Bin Meng wrote:
> > Currently devices on the virtio bus is not automatically enumerated,
> > which means peripherals on the virtio bus are not discovered by their
> > drivers. This uses board_init() to do the virtio enumeration.
> >
> > Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> > ---
> >
> >   board/emulation/qemu-arm/Kconfig    | 3 +++
> >   board/emulation/qemu-arm/qemu-arm.c | 7 +++++++
> >   2 files changed, 10 insertions(+)
> >
> ...
> >diff --git a/board/emulation/qemu-arm/Kconfig b/board/emulation/qemu-arm/Kconfig
> >index d1c08c2..16b80fe 100644
> >--- a/board/emulation/qemu-arm/Kconfig
> >+++ b/board/emulation/qemu-arm/Kconfig
> >@@ -5,5 +5,8 @@ config SYS_TEXT_BASE
> >
> > config BOARD_SPECIFIC_OPTIONS # dummy
> >       def_bool y
> >+      imply VIRTIO_MMIO
> >+      imply VIRTIO_NET
> >+      imply VIRTIO_BLK
>
> I think we should have VIRTIO_PCI here as well, so that QEMU command lines
> that work on x86 will work on ARM just as well.
>

Will do in v2.

> ...
> > --- a/board/emulation/qemu-arm/qemu-arm.c
> > +++ b/board/emulation/qemu-arm/qemu-arm.c
> > @@ -4,6 +4,7 @@
> >    */
> >   #include <common.h>
> >   #include <fdtdec.h>
> > +#include <virtio.h>
> >
> >   #ifdef CONFIG_ARM64
> >   #include <asm/armv8/mmu.h>
> > @@ -58,6 +59,12 @@ struct mm_region *mem_map = qemu_arm64_mem_map;
> >
> >   int board_init(void)
> >   {
> > +     /*
> > +      * Make sure virtio bus is enumerated so that peripherals
> > +      * on the virtio bus can be discovered by their drivers
> > +      */
> > +     virtio_init();
> > +
> >       return 0;
> >   }
> >
> >
>
> Note that in include/configs/qemu-arm.h, the boards auto-enumerate
> PCI devices with a different mechanism, like this:
>
> #define CONFIG_PREBOOT "pci enum"
>
> I am not sure which one is better but at least we should be consistent.

Ah yes, but I felt the same as you about which one is better :). I
think using PREBOOT is a little bit late, for example if we call
"virtio scan" here, we still see "Net:   No ethernet found." which may
confuse people. Probably what Simon suggested (have a flag to indicate
that all devices in it should be probed at start-up) is an ideal
solution ...

Regards,
Bin

  reply	other threads:[~2018-10-11 13:28 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-23 13:41 [U-Boot] [PATCH 00/27] virtio: Introduce VirtIO driver support Bin Meng
2018-09-23 13:41 ` [U-Boot] [PATCH 01/27] dm: core: Allow uclass to set up a device's child after it is probed Bin Meng
2018-09-27 13:41   ` Simon Glass
2018-10-11  5:14     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 02/27] dm: Add a new uclass driver for VirtIO transport devices Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11  9:08     ` Bin Meng
2018-09-27 22:10   ` Tuomas Tynkkynen
2018-10-11  9:09     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 03/27] virtio: Add codes for virtual queue/ring management Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11  9:50     ` Bin Meng
2018-10-12  0:00       ` Simon Glass
2018-09-27 22:11   ` Tuomas Tynkkynen
2018-10-02 15:46     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 04/27] virtio: Add virtio over mmio transport driver Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 05/27] virtio: Add net driver support Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-27 22:12   ` Tuomas Tynkkynen
2018-10-02 16:10     ` Bin Meng
2018-10-22 23:09   ` Joe Hershberger
2018-09-23 13:42 ` [U-Boot] [PATCH 06/27] test: dm: blk: Correct blk_base test case Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 07/27] sandbox: blk: Switch to use platdata_auto_alloc_size for the driver data Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 08/27] efi_driver: " Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 09/27] blk: Call part_init() in the post_probe() method Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 10/27] blk: Drop blk_prepare_device() Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 11/27] blk: Make blk_next_free_devnum() public Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 12/27] blk: Introduce IF_TYPE_VIRTIO Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 13/27] virtio: Add block driver support Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-27 22:12     ` Tuomas Tynkkynen
2018-09-23 13:42 ` [U-Boot] [PATCH 14/27] virtio: cmd: Add virtio command for virtio block devices Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 15/27] arm: qemu: Add a Kconfig in the board directory Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 16/27] arm: qemu: Enumerate virtio bus during early boot Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11 13:21     ` Bin Meng
2018-09-27 22:13   ` Tuomas Tynkkynen
2018-10-11 13:28     ` Bin Meng [this message]
2018-09-23 13:42 ` [U-Boot] [PATCH 17/27] riscv: " Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 18/27] riscv: qemu: Include some useful commands Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-27 22:14   ` Tuomas Tynkkynen
2018-10-02 16:03     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 19/27] kconfig: Introduce HAVE_ARCH_IOMAP Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 20/27] x86: Implement arch-specific io accessor routines Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11 13:33     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 21/27] virtio: Add virtio over pci transport driver Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11 13:39     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 22/27] x86: qemu: Imply virtio PCI transport and device drivers Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 23/27] dm: pci: Add APIs to find next capability and extended capability Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 24/27] test: dm: pci: Add cases for finding next PCI capability APIs Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-09-23 13:42 ` [U-Boot] [PATCH 25/27] virtio: pci: Support non-legacy PCI transport device Bin Meng
2018-09-27 13:42   ` Simon Glass
2018-10-11 13:41     ` Bin Meng
2018-09-23 13:42 ` [U-Boot] [PATCH 26/27] virtio: net: Support non-legacy device Bin Meng
2018-09-27 13:43   ` Simon Glass
2018-10-15 21:59   ` Joe Hershberger
2018-09-23 13:42 ` [U-Boot] [PATCH 27/27] doc: Document virtio support Bin Meng
2018-09-27 13:43   ` Simon Glass
2018-09-27 13:43 ` [U-Boot] [PATCH 00/27] virtio: Introduce VirtIO driver support Simon Glass
2018-09-27 22:19   ` Tuomas Tynkkynen
2018-10-02 11:21     ` Simon Glass
2018-10-04  7:00       ` Bin Meng
2018-10-09 16:20         ` Simon Glass
2018-10-10 15:35           ` Bin Meng

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=CAEUhbmVwHj8bf6u_eV8Vn5HD7gMRYKyeqH12nvVEoCdamQe9DQ@mail.gmail.com \
    --to=bmeng.cn@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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.