[PATCH 03/14] qemu: arm: Scan the pci bus in board_init
Heinrich Schuchardt
xypron.glpk at gmx.de
Sat Dec 5 10:45:42 CET 2020
On 11/26/20 7:40 PM, Sughosh Ganu wrote:
> Scan the pci bus in board_init routine before scanning the virtio
> devices. This enumerates all the virtio devices, including devices
> found on the pci bus.
>
> Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> ---
> board/emulation/qemu-arm/qemu-arm.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
> index e146d1cc50..b3d5b3d5c2 100644
> --- a/board/emulation/qemu-arm/qemu-arm.c
> +++ b/board/emulation/qemu-arm/qemu-arm.c
> @@ -65,6 +65,14 @@ struct mm_region *mem_map = qemu_arm64_mem_map;
>
> int board_init(void)
> {
> +
> + /*
> + * Scan the pci bus before calling virtio_init. This
> + * enumerates all virtio devices, including devices
> + * on the pci bus.
> + */
> + pci_init();
This does not compile if CONFIG_PCI=n.
aarch64-linux-gnu-ld.bfd:
board/emulation/qemu-arm/built-in.o:
in function `board_init':
board/emulation/qemu-arm/qemu-arm.c:74:
undefined reference to `pci_init'
Cf.
arch/arm/mach-mvebu/arm64-common.c-106-#ifdef CONFIG_DM_PCI
board/socrates/socrates.c-134-#if defined(CONFIG_DM_PCI)
I found these lines in common/board_r.c:250
#ifdef CONFIG_PCI
static int initr_pci(void)
{
if (IS_ENABLED(CONFIG_PCI_INIT_R))
pci_init();
return 0;
}
#endif
Would selecting CONFIG_PCI_INIT_R be enough to solve your problem?
Best regards
Heinrich
> +
> /*
> * Make sure virtio bus is enumerated so that peripherals
> * on the virtio bus can be discovered by their drivers
>
More information about the U-Boot
mailing list