From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WvPUw-0007Js-AP for qemu-devel@nongnu.org; Fri, 13 Jun 2014 07:18:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WvPUm-00027w-VU for qemu-devel@nongnu.org; Fri, 13 Jun 2014 07:18:18 -0400 Received: from e06smtp17.uk.ibm.com ([195.75.94.113]:52600) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WvPUm-00026q-Lh for qemu-devel@nongnu.org; Fri, 13 Jun 2014 07:18:08 -0400 Received: from /spool/local by e06smtp17.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 13 Jun 2014 12:18:06 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id D1C372190063 for ; Fri, 13 Jun 2014 12:17:53 +0100 (BST) Received: from d06av01.portsmouth.uk.ibm.com (d06av01.portsmouth.uk.ibm.com [9.149.37.212]) by b06cxnps4075.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s5DBI4Lf35651624 for ; Fri, 13 Jun 2014 11:18:04 GMT Received: from d06av01.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av01.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s5DBI3os001277 for ; Fri, 13 Jun 2014 05:18:04 -0600 From: Greg Kurz Date: Fri, 13 Jun 2014 13:18:00 +0200 Message-ID: <20140613111703.22108.14322.stgit@bahia.local> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH v8 00/20] virtio endian-ambivalent target List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Peter Maydell , Stefan Hajnoczi , Juan Quintela , Rusty Russell , Alexander Graf , "Michael S. Tsirkin" , aneesh.kumar@linux.vnet.ibm.com, Anthony Liguori , Amit Shah , Paolo Bonzini , Andreas =?utf-8?q?F=C3=A4rber?= Hi, This version merges the changes requested during the v7 review, remarks from ppc64 dump support review (yes, we talked about virtio there) and the work on virtio subsections migration. Also two new patches have been added: - patch #1 is a preliminary fix for virtio-serial posted by Alexander Graf - patch #9 prepares the work on the virtio_is_big_endian() helper The most significant changes are: - introduction of a new CPU method for virtio - endianness is taken from CPU that resets the device - fastpath virtio memory accessors for fixed endian targets - VMState based virtio subsections (compatibility friendly) You'll find more detailed changelog in each patch. Please comment and hopefully apply. Thanks ! --- Greg Kurz (14): virtio-serial: don't migrate the config space virtio: introduce device specific migration calls virtio-net: implement per-device migration calls virtio-blk: implement per-device migration calls virtio-serial: implement per-device migration calls virtio-balloon: implement per-device migration calls virtio-rng: implement per-device migration calls virtio: add subsections to the migration stream exec: introduce target_words_bigendian() helper cpu: introduce CPUClass::virtio_is_big_endian() virtio: add endian-ambivalent support to VirtIODevice virtio: memory accessors for endian-ambivalent targets virtio-9p: use virtio wrappers to access headers target-ppc: enable virtio endian ambivalent support Rusty Russell (6): virtio: allow byte swapping for vring virtio-net: use virtio wrappers to access headers virtio-balloon: use virtio wrappers to access page frame numbers virtio-blk: use virtio wrappers to access headers virtio-scsi: use virtio wrappers to access headers virtio-serial-bus: use virtio wrappers to access headers exec.c | 11 -- hw/9pfs/virtio-9p-device.c | 3 - hw/block/virtio-blk.c | 62 ++++++----- hw/char/virtio-serial-bus.c | 94 ++++++++++------ hw/net/virtio-net.c | 56 +++++++--- hw/scsi/virtio-scsi.c | 40 ++++--- hw/virtio/virtio-balloon.c | 33 +++--- hw/virtio/virtio-pci.c | 11 +- hw/virtio/virtio-rng.c | 12 +- hw/virtio/virtio.c | 217 ++++++++++++++++++++++++++++--------- include/exec/cpu-common.h | 1 include/hw/virtio/virtio-access.h | 170 +++++++++++++++++++++++++++++ include/hw/virtio/virtio.h | 17 +++ include/qom/cpu.h | 10 ++ qom/cpu.c | 6 + target-ppc/cpu.h | 2 target-ppc/translate_init.c | 13 ++ 17 files changed, 572 insertions(+), 186 deletions(-) create mode 100644 include/hw/virtio/virtio-access.h -- Greg