Skip to content

Commit 3b2fbb3

Browse files
cohuckmstsirkin
authored andcommitted
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>
1 parent 2ab0d56 commit 3b2fbb3

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

arch/s390/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,4 +871,17 @@ config S390_GUEST
871871
Select this option if you want to run the kernel as a guest under
872872
the KVM hypervisor.
873873

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+
874887
endmenu

drivers/s390/virtio/Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,8 @@
66
# it under the terms of the GNU General Public License (version 2 only)
77
# as published by the Free Software Foundation.
88

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)

drivers/s390/virtio/kvm_virtio.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,8 @@ static int __init kvm_devices_init(void)
458458
if (test_devices_support(total_memory_size) < 0)
459459
return -ENODEV;
460460

461+
pr_warn("The s390-virtio transport is deprecated. Please switch to a modern host providing virtio-ccw.\n");
462+
461463
rc = vmem_add_mapping(total_memory_size, PAGE_SIZE);
462464
if (rc)
463465
return rc;

0 commit comments

Comments
 (0)