Message ID | 20210304132715.1587211-1-cohuck@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | virtio-ccw: allow to disable legacy virtio | expand |
On Thu, 4 Mar 2021 14:27:13 +0100 Cornelia Huck <cohuck@redhat.com> wrote: Just found this old series sitting there... does anyone have an opinion on the general approach? > Unlike virtio-pci, virtio-ccw is currently always a transitional > driver (i.e. it always includes support for legacy devices.) The > differences between legacy and virtio-1+ virtio-ccw devices are not > that big (the most interesting things are in common virtio code > anyway.) > > It might be beneficial to make support for legacy virtio generally > configurable, in case we want to remove it completely in a future > where we all have flying cars. As a prereq, we need to make it > configurable for virtio-ccw. > > Patch 1 introduces a parameter; now that I look at it, it's probably > not that useful (not even for testing), so I'm inclined to drop it > again. > > Patch 2 adds a new config symbol for generic legacy virtio support, > which currently does not do anything but being selected by the > legacy options for virtio-pci and virtio-ccw. A virtio-ccw driver > without legacy support will require a revision of 1 or higher to > be supported by the device. > > A virtio-ccw driver with legacy turned off works well for me with > transitional devices and fails onlining gracefully for legacy devices > (max_revision=0 in QEMU). > > (I also have some code that allows to make devices non-transitional > in QEMU, but I haven't yet found time to polish the patches.) > > Cornelia Huck (2): > virtio/s390: add parameter for minimum revision > virtio/s390: make legacy support configurable > > arch/s390/Kconfig | 11 ++ > drivers/s390/virtio/Makefile | 1 + > drivers/s390/virtio/virtio_ccw.c | 179 ++++++++---------------- > drivers/s390/virtio/virtio_ccw_common.h | 113 +++++++++++++++ > drivers/s390/virtio/virtio_ccw_legacy.c | 138 ++++++++++++++++++ > drivers/virtio/Kconfig | 8 ++ > 6 files changed, 330 insertions(+), 120 deletions(-) > create mode 100644 drivers/s390/virtio/virtio_ccw_common.h > create mode 100644 drivers/s390/virtio/virtio_ccw_legacy.c > > > base-commit: cf6acb8bdb1d829b85a4daa2944bf9e71c93f4b9