[virtio-dev] RE: [virtio-comment] [PATCH 00/11] Introduce transitional mmr pci device

Parav Pandit
2023-04-03T19:50:28Z

> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Monday, April 3, 2023 1:49 PM

> > Yes, but hypervisor is not involved in any configuration parsing or
> > anything of that nature.
> > It is only a passthrough fowarder from emulated IOBAR to memory mapped
> > legacy registers.
> > In other words, hypervisor do not care for the registers content at all.
>
> This part I do not see as important. legacy is frozen in time. Implement it once
> and you are done. Datapath differences are more important.
>

> > > In other words, the guest doesn't know about Transitional MMR and
> > > does not need any code changes.
> > >
> > > > 3. A hypervisor system prefers to have single stack regardless of
> > > > virtio device type (net/blk) and be future compatible with a
> > > > single vfio stack using SR-IOV or other scalable device
> > > > virtualization technology to map PCI devices to the guest VM.
> > > > (as transitional or otherwise)
> > >
> > > What does this paragraph mean?
> > >
> > It means regardless of a VF being transitional MMR VF or 1.x VF
> > without any MMR extensions, there is single vfio virtio driver
> > handling both type of devices to map to the guest VM.
>
> I don't think this can be vfio. You need a host layer translating things such as
> device ID etc.
>
vfio layer does it.

> > >
> > > Modern devices were added to Linux in 2014 and support SR-IOV.
> >
> > > Why is it
> > > important to support Transitional (which really means Legacy
> > > devices, otherwise Modern devices would be sufficient)?
> > >
> > To support guest VMs which only understand legacy devices and
> > unfortunately they are still in much wider use by the users.
>
> OK but supporting them with a passthrough driver such as vfio does not seem
> that important.
Not sure on what basis you assert it.
I clarified in the cover letter that these are the user level requirements to support transitional and non-transitional devices both via single vfio subsystem.