Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

virtio/s390: deprecate old transport

There only ever have been two host implementations of the old
s390-virtio (pre-ccw) transport: the experimental kuli userspace,
and qemu. As qemu switched its default to ccw with 2.4 (with most
users having used ccw well before that) and removed the old transport
entirely in 2.6, s390-virtio probably hasn't been in active use for
quite some time and is therefore likely to bitrot.

Let's start the slow march towards removing the code by deprecating
it.

Note that this also deprecates the early virtio console code, which
has been causing trouble in the guest without being wired up in any
relevant hypervisor code.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Reviewed-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

authored by

Cornelia Huck and committed by
Michael S. Tsirkin
3b2fbb3f 2ab0d56a

+20 -1
+13
arch/s390/Kconfig
··· 871 871 Select this option if you want to run the kernel as a guest under 872 872 the KVM hypervisor. 873 873 874 + config S390_GUEST_OLD_TRANSPORT 875 + def_bool y 876 + prompt "Guest support for old s390 virtio transport (DEPRECATED)" 877 + depends on S390_GUEST 878 + help 879 + Enable this option to add support for the old s390-virtio 880 + transport (i.e. virtio devices NOT based on virtio-ccw). This 881 + type of virtio devices is only available on the experimental 882 + kuli userspace or with old (< 2.6) qemu. If you are running 883 + with a modern version of qemu (which supports virtio-ccw since 884 + 1.4 and uses it by default since version 2.4), you probably won't 885 + need this. 886 + 874 887 endmenu
+5 -1
drivers/s390/virtio/Makefile
··· 6 6 # it under the terms of the GNU General Public License (version 2 only) 7 7 # as published by the Free Software Foundation. 8 8 9 - obj-$(CONFIG_S390_GUEST) += kvm_virtio.o virtio_ccw.o 9 + s390-virtio-objs := virtio_ccw.o 10 + ifdef CONFIG_S390_GUEST_OLD_TRANSPORT 11 + s390-virtio-objs += kvm_virtio.o 12 + endif 13 + obj-$(CONFIG_S390_GUEST) += $(s390-virtio-objs)
+2
drivers/s390/virtio/kvm_virtio.c
··· 458 458 if (test_devices_support(total_memory_size) < 0) 459 459 return -ENODEV; 460 460 461 + pr_warn("The s390-virtio transport is deprecated. Please switch to a modern host providing virtio-ccw.\n"); 462 + 461 463 rc = vmem_add_mapping(total_memory_size, PAGE_SIZE); 462 464 if (rc) 463 465 return rc;