[U-Boot] [PATCH 16/27] arm: qemu: Enumerate virtio bus during early boot
Simon Glass
sjg at chromium.org
Thu Sep 27 13:42:38 UTC 2018
On 23 September 2018 at 06:42, Bin Meng <bmeng.cn at gmail.com> 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 at gmail.com>
> ---
>
> board/emulation/qemu-arm/Kconfig | 3 +++
> board/emulation/qemu-arm/qemu-arm.c | 7 +++++++
> 2 files changed, 10 insertions(+)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
But I wonder if we should have a flag in the uclass or perhaps device
tree, to indicate that all devices in it should be probed at start-up?
Could be useful for PCI too.
> 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
>
> endif
> diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
> index 812c906..428498e 100644
> --- 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;
> }
>
> --
> 2.7.4
>
More information about the U-Boot
mailing list