aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2016-07-07 11:07:57 -0400
committerMichael S. Tsirkin <mst@redhat.com>2016-08-09 06:42:41 -0400
commit3b2fbb3f06efe5bd2dfdce2a1db703e23c1a78af (patch)
tree5579f52e1c414bc6c2875126e46144399e06a1e0
parent2ab0d56aadbcd120b8fa524b4a1142e8b06e13c8 (diff)
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>
-rw-r--r--arch/s390/Kconfig13
-rw-r--r--drivers/s390/virtio/Makefile6
-rw-r--r--drivers/s390/virtio/kvm_virtio.c2
3 files changed, 20 insertions, 1 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 9e607bf2d640..5a2907ee8c93 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -871,4 +871,17 @@ config S390_GUEST
871 Select this option if you want to run the kernel as a guest under 871 Select this option if you want to run the kernel as a guest under
872 the KVM hypervisor. 872 the KVM hypervisor.
873 873
874config 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
874endmenu 887endmenu
diff --git a/drivers/s390/virtio/Makefile b/drivers/s390/virtio/Makefile
index 241891a57caf..df40692a9011 100644
--- a/drivers/s390/virtio/Makefile
+++ b/drivers/s390/virtio/Makefile
@@ -6,4 +6,8 @@
6# it under the terms of the GNU General Public License (version 2 only) 6# it under the terms of the GNU General Public License (version 2 only)
7# as published by the Free Software Foundation. 7# as published by the Free Software Foundation.
8 8
9obj-$(CONFIG_S390_GUEST) += kvm_virtio.o virtio_ccw.o 9s390-virtio-objs := virtio_ccw.o
10ifdef CONFIG_S390_GUEST_OLD_TRANSPORT
11s390-virtio-objs += kvm_virtio.o
12endif
13obj-$(CONFIG_S390_GUEST) += $(s390-virtio-objs)
diff --git a/drivers/s390/virtio/kvm_virtio.c b/drivers/s390/virtio/kvm_virtio.c
index b0a849f02df3..5e5c11f37b24 100644
--- a/drivers/s390/virtio/kvm_virtio.c
+++ b/drivers/s390/virtio/kvm_virtio.c
@@ -458,6 +458,8 @@ static int __init kvm_devices_init(void)
458 if (test_devices_support(total_memory_size) < 0) 458 if (test_devices_support(total_memory_size) < 0)
459 return -ENODEV; 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 rc = vmem_add_mapping(total_memory_size, PAGE_SIZE); 463 rc = vmem_add_mapping(total_memory_size, PAGE_SIZE);
462 if (rc) 464 if (rc)
463 return rc; 465 return rc;