On Tue, 2019-11-26 at 09:50 +0100, Richard Weinberger wrote: > > This isn't really a driver, this is virtio *device-side* code. Our > > virtio_uml is *guest-side* code, and only speaks vhost-user. > > Sorry, bad wording from my side. I meant with "driver" a kernel component. Yeah, though arguably this isn't a kernel component, this is a hypervisor component... We just link them both into the same binary due to the way UML/LKL work. > > I'm not sure how MMIO devices could possibly work though, does LKL > > intercept MMIO somehow? > > My point is that UML and LKL should try to do use the same concept/code > regarding virtio. At the end of day both use virtual devices which use > facilities from the host. > If this is really not possible it needs a good explanation. I think it isn't possible, unless you use vhost-user over a unix domain socket internally to talk between the kernel (virtio_uml) and hypervisor (device) components. In virtio_uml, the device implementation is assumed to be a separate process with a vhost-user connection. Here in LKL, the virtio device is part of the "hypervisor", i.e. in the same process. johannes