From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: [RFC PATCH 0/5] qemu: s390: virtual css and virtio-ccw Date: Tue, 7 Aug 2012 16:52:48 +0200 Message-ID: <1344351173-2716-1-git-send-email-cornelia.huck@de.ibm.com> Return-path: Sender: kvm-owner@vger.kernel.org List-Archive: List-Post: To: KVM , linux-s390 , qemu-devel Cc: Avi Kivity , Marcelo Tosatti , Anthony Liguori , Rusty Russell , Christian Borntraeger , Carsten Otte , Alexander Graf , Heiko Carstens , Martin Schwidefsky , Sebastian Ott List-ID: Hi, following are the qemu parts for supporting virtual channel I/O and the new virtio-ccw transport. Patch 1 pulls in the new interface definitions. Patch 2 contains the ground work for supporting virtual subchannels (kvm only). Patch 3 implements the new virtio-ccw transport. Patch 4 makes virtual subchannels available for !kvm as well. Note that this patch is completely untested; it basically contains my initial channel subsystem code before I moved most of it into the kernel. Patch 5 is a hack needed to make virtio-ccw work with the alias stuff for now. The correct solution is to rework the virtio layering as has been proposed for virtio-mmio (see http://comments.gmane.org/gmane.comp.emulators.qemu/148224). The patches still have some TODOs in them (but nothing major), and likely some things need to be done differently. I hope, however, that the architectural part is fine. Cornelia Huck (5): Update headers for upcoming s390 changes. s390: Virtual channel subsystem support. s390: Add new channel I/O based virtio transport. s390: Virtual channel subsystem support for !KVM. [HACK] Handle multiple virtio aliases. blockdev.c | 6 +- hw/qdev-monitor.c | 90 +-- hw/s390-virtio.c | 268 ++++++--- hw/s390x/Makefile.objs | 2 + hw/s390x/css.c | 1202 +++++++++++++++++++++++++++++++++++++ hw/s390x/css.h | 89 +++ hw/s390x/virtio-ccw.c | 962 +++++++++++++++++++++++++++++ hw/s390x/virtio-ccw.h | 77 +++ linux-headers/asm-s390/kvm.h | 2 +- linux-headers/asm-s390/kvm_para.h | 2 +- linux-headers/linux/kvm.h | 63 ++ target-s390x/Makefile.objs | 2 +- target-s390x/cpu.h | 261 ++++++++ target-s390x/helper.c | 140 +++++ target-s390x/ioinst.c | 734 ++++++++++++++++++++++ target-s390x/ioinst.h | 206 +++++++ target-s390x/kvm.c | 265 +++++++- target-s390x/op_helper.c | 22 +- vl.c | 7 +- 19 files changed, 4260 insertions(+), 140 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 target-s390x/ioinst.c create mode 100644 target-s390x/ioinst.h -- 1.7.11.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SylA8-0004wb-TE for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:53:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SylA6-0000LA-Gc for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:53:36 -0400 Received: from e06smtp13.uk.ibm.com ([195.75.94.109]:43581) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SylA6-0000Ki-8I for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:53:34 -0400 Received: from /spool/local by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 7 Aug 2012 15:53:33 +0100 Received: from d06av12.portsmouth.uk.ibm.com (d06av12.portsmouth.uk.ibm.com [9.149.37.247]) by b06cxnps3074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q77EqmWE38076564 for ; Tue, 7 Aug 2012 14:52:48 GMT Received: from d06av12.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av12.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q77Eqr6w018360 for ; Tue, 7 Aug 2012 08:52:54 -0600 From: Cornelia Huck Date: Tue, 7 Aug 2012 16:52:48 +0200 Message-Id: <1344351173-2716-1-git-send-email-cornelia.huck@de.ibm.com> Subject: [Qemu-devel] [RFC PATCH 0/5] qemu: s390: virtual css and virtio-ccw List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: KVM , linux-s390 , qemu-devel Cc: Carsten Otte , Anthony Liguori , Rusty Russell , Sebastian Ott , Marcelo Tosatti , Heiko Carstens , Alexander Graf , Christian Borntraeger , Avi Kivity , Martin Schwidefsky Hi, following are the qemu parts for supporting virtual channel I/O and the new virtio-ccw transport. Patch 1 pulls in the new interface definitions. Patch 2 contains the ground work for supporting virtual subchannels (kvm only). Patch 3 implements the new virtio-ccw transport. Patch 4 makes virtual subchannels available for !kvm as well. Note that this patch is completely untested; it basically contains my initial channel subsystem code before I moved most of it into the kernel. Patch 5 is a hack needed to make virtio-ccw work with the alias stuff for now. The correct solution is to rework the virtio layering as has been proposed for virtio-mmio (see http://comments.gmane.org/gmane.comp.emulators.qemu/148224). The patches still have some TODOs in them (but nothing major), and likely some things need to be done differently. I hope, however, that the architectural part is fine. Cornelia Huck (5): Update headers for upcoming s390 changes. s390: Virtual channel subsystem support. s390: Add new channel I/O based virtio transport. s390: Virtual channel subsystem support for !KVM. [HACK] Handle multiple virtio aliases. blockdev.c | 6 +- hw/qdev-monitor.c | 90 +-- hw/s390-virtio.c | 268 ++++++--- hw/s390x/Makefile.objs | 2 + hw/s390x/css.c | 1202 +++++++++++++++++++++++++++++++++++++ hw/s390x/css.h | 89 +++ hw/s390x/virtio-ccw.c | 962 +++++++++++++++++++++++++++++ hw/s390x/virtio-ccw.h | 77 +++ linux-headers/asm-s390/kvm.h | 2 +- linux-headers/asm-s390/kvm_para.h | 2 +- linux-headers/linux/kvm.h | 63 ++ target-s390x/Makefile.objs | 2 +- target-s390x/cpu.h | 261 ++++++++ target-s390x/helper.c | 140 +++++ target-s390x/ioinst.c | 734 ++++++++++++++++++++++ target-s390x/ioinst.h | 206 +++++++ target-s390x/kvm.c | 265 +++++++- target-s390x/op_helper.c | 22 +- vl.c | 7 +- 19 files changed, 4260 insertions(+), 140 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 target-s390x/ioinst.c create mode 100644 target-s390x/ioinst.h -- 1.7.11.4