On Tue, 31 Dec 2019 at 20:38, Heinrich Schuchardt <xypron.g...@gmx.de> wrote:
> On 12/31/19 2:31 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.g...@linaro.org> > > --- > > board/emulation/qemu-arm/qemu-arm.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/board/emulation/qemu-arm/qemu-arm.c > b/board/emulation/qemu-arm/qemu-arm.c > > index 4e18733..6c5335c 100644 > > --- a/board/emulation/qemu-arm/qemu-arm.c > > +++ b/board/emulation/qemu-arm/qemu-arm.c > > @@ -63,6 +63,13 @@ 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. > > The last sentence is easy to misunderstand. You surely do not mean that > pci_init() would enumerate all virtio devices including mmio virtio > devices. > > I would suggest to rephrase it to "This enumerates all pci devices > including virtio devices on the pci bus." > Ok. > > With the patch I no longer need to run `virtio scan` on > qemu_arm64_defonfig before using the rng command supplied in patch > > [PATCH 1/1] cmd: add rng command > https://lists.denx.de/pipermail/u-boot/2019-December/394539.html > > Unfortunately you only considered the ARM architecture. We need a > solution that works on all QEMU architectures (MIPS, RISC-V, X86, ARM). > That is fine with me, but currently, only risc-v and arm architectures are calling virtio_init. > > How about eliminating board_init() for ARM and RISC-V and moving > virtio_init() to common/board_r.c after initr_pci? > That can be done, but currently, for some reason, initr_pci function calls pci_init only when CONFIG_DM_PCI is not defined. Not sure why that is the case, although initr_pci gets called after initr_dm. -sughosh