On 2/5/21 11:03 AM, Peter Maydell wrote: > On Fri, 5 Feb 2021 at 07:53, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: >> Indeed, you found a design issue IMO: >> >> Versal creates the "mr-ps-switch" to be explicitly different from >> the main sysbus memory. TYPE_VIRTIO_MMIO is a SYSBUS device, thus >> can not be created without being plugged on sysbus. >> We want TYPE_VIRTIO_MMIO to be TYPE_USER_CREATABLE so we can create >> it on the command line (like your usage). TYPE_SYSBUS allows such >> automatic plug it on the main bus, but also maps to main memory. > > That was never the design intent for the virtio mmio transport. > The idea was that the board creates a bunch of transports > (unconditionally). The user then uses command line options > to create virtio backends (blk, net, etc) which get plugged > into the virtio-bus buses that each transport has. > > virtio-mmio is not user-creatable for the same reason that > all devices with MMIO memory regions and IRQ lines are not > user-creatable -- there's no good command line syntax for > the user to wire them up, and we don't want the user to have > to know "on this board address 0x50003000 is a good place to > put a device, and irq 43 is free".
IOW 1/ virtio-mmio must be sysbus-device, 2/ we can not sysbus-map out of main memory so private container is incorrect, and Versal can not use "mr-ps-switch"? > > thanks > -- PMM >