From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: [RFC PATCH v3 0/3] s390: channel I/O support in qemu. Date: Wed, 31 Oct 2012 17:24:45 +0100 Message-ID: <1351700688-42353-1-git-send-email-cornelia.huck@de.ibm.com> Cc: Avi Kivity , Marcelo Tosatti , Anthony Liguori , Christian Borntraeger , Carsten Otte , Alexander Graf , Heiko Carstens , Martin Schwidefsky , Sebastian Ott To: KVM , linux-s390 , qemu-devel Return-path: Received: from e06smtp18.uk.ibm.com ([195.75.94.114]:59034 "EHLO e06smtp18.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423269Ab2JaQYy (ORCPT ); Wed, 31 Oct 2012 12:24:54 -0400 Received: from /spool/local by e06smtp18.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 31 Oct 2012 16:24:53 -0000 Sender: kvm-owner@vger.kernel.org List-ID: Hi, here's the latest version of my patchset introducing virtio-ccw. This has been reworked with the changed kernel interface: qemu will now handle all channel I/O requests (except the I/O interrupt related ones that are handled in-kernel in the kvm case). This avoids duplicating code in qemu and in kvm. There are some misc fixes as well (mainly related to virtio-ccw). Use of mutexes has hopefully been exorcised for now. Unfortuately, patch 2 is now rather large - but I couldn't think of a good way to split it up. I still know of various things that need looking into (memory accesses, for one), but I'd like some feedback about the new interface first. Cornelia Huck (3): Update linux headers. s390: Virtual channel subsystem support. s390: Add new channel I/O based virtio transport. hw/s390-virtio.c | 282 ++++++-- hw/s390x/Makefile.objs | 2 + hw/s390x/css.c | 1209 ++++++++++++++++++++++++++++++++++ hw/s390x/css.h | 90 +++ hw/s390x/virtio-ccw.c | 904 +++++++++++++++++++++++++ hw/s390x/virtio-ccw.h | 81 +++ linux-headers/asm-generic/kvm_para.h | 5 + linux-headers/asm-powerpc/kvm.h | 59 ++ linux-headers/asm-powerpc/kvm_para.h | 7 +- linux-headers/asm-x86/kvm.h | 17 + linux-headers/linux/kvm.h | 61 +- target-s390x/Makefile.objs | 2 +- target-s390x/cpu.h | 232 +++++++ target-s390x/helper.c | 146 ++++ target-s390x/ioinst.c | 737 +++++++++++++++++++++ target-s390x/ioinst.h | 213 ++++++ target-s390x/kvm.c | 251 ++++++- target-s390x/misc_helper.c | 6 +- 18 files changed, 4204 insertions(+), 100 deletions(-) create mode 100644 hw/s390x/css.c create mode 100644 hw/s390x/css.h create mode 100644 hw/s390x/virtio-ccw.c create mode 100644 hw/s390x/virtio-ccw.h create mode 100644 linux-headers/asm-generic/kvm_para.h create mode 100644 target-s390x/ioinst.c create mode 100644 target-s390x/ioinst.h -- 1.7.12.4