From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O6k1D-0005tx-GD for qemu-devel@nongnu.org; Tue, 27 Apr 2010 08:36:03 -0400 Received: from [140.186.70.92] (port=51105 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O6k18-0005s0-5I for qemu-devel@nongnu.org; Tue, 27 Apr 2010 08:36:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O6k16-0002el-11 for qemu-devel@nongnu.org; Tue, 27 Apr 2010 08:35:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35669) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O6k15-0002e5-P1 for qemu-devel@nongnu.org; Tue, 27 Apr 2010 08:35:55 -0400 From: Amit Shah Date: Tue, 27 Apr 2010 18:03:54 +0530 Message-Id: <1272371652-23087-1-git-send-email-amit.shah@redhat.com> Subject: [Qemu-devel] [PATCH v6 00/18] PULL: virtio-serial fixes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Amit Shah , qemu list , Juan Quintela Hi Anthony, The following changes since commit 14a6063a91083c9cbe1bc502ee58fc7ca146bc1a: Richard Henderson (1): Implement cpu_get_real_ticks for Alpha. are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/amit/vs-qemu-kvm.git for-anthony This series updates the virtio-serial ABI to announce ports via control messages instead of config space updates. Allows for stable port enumeration with hot-plug/unplug and migrations. There are also several fixes rolled in. Juan and Gerd have acked the previous series. v6: - Handle guest writes to ports that aren't active (don't segfault) - changes patches 16 and 17 - Marcelo's patch to wake up iothread on guest read notification - adds patch 18 Overall: - Users can set the port id they wish to instantiate ports at by using the ,nr= parameter to 'virtserialport' and 'virtconsole' devices - Migration fixes: refuse migration when: - number of active ports is different between the src and destination - max_nr_ports a device can support on the src is more - If a qemu chardev connection to a port is closed on the dest while it was open on the src, inform the guest about this. (Also do the same for port closed on src but open on dest.) - Use control messages for relaying new port information instead of config space (changes abi) - Propagate error message from guest in instantiating a port or a device to the user. - Handle scatter/gather for control output and data output from the guest - Fix abuse of virtio api in the virtqueue_push() function - Add an API for the ports for flow control: ports can signal when they're ready to accept data / stop sending data. - Wake up iothread on read notifications: send out data to guest as soon as we know there are empty buffers to fill data in. Amit Shah (17): virtio-serial: save/load: Ensure target has enough ports virtio-serial: save/load: Ensure nr_ports on src and dest are same. virtio-serial: save/load: Ensure we have hot-plugged ports instantiated virtio-serial: save/load: Send target host connection status if different virtio-serial: Use control messages to notify guest of new ports virtio-serial: whitespace: match surrounding code virtio-serial: Remove redundant check for 0-sized write request virtio-serial: Update copyright year to 2010 virtio-serial: Propagate errors in initialising ports / devices in guest virtio-serial: Send out guest data to ports only if port is opened iov: Introduce a new file for helpers around iovs, add iov_from_buf() iov: Add iov_to_buf and iov_size helpers virtio-serial: Handle scatter-gather buffers for control messages virtio-serial: Handle scatter/gather input from the guest virtio-serial: Apps should consume all data that guest sends out / Fix virtio api abuse virtio-serial: Discard data that guest sends us when ports aren't connected virtio-serial: Implement flow control for individual ports Marcelo Tosatti (1): virtio-serial-bus: wake up iothread upon guest read notification Makefile | 2 + Makefile.objs | 1 + hw/iov.c | 70 ++++++++++ hw/iov.h | 19 +++ hw/virtio-balloon.c | 35 +----- hw/virtio-console.c | 11 +- hw/virtio-net.c | 20 +--- hw/virtio-serial-bus.c | 342 ++++++++++++++++++++++++++++++++++++------------ hw/virtio-serial.h | 34 ++++-- 9 files changed, 386 insertions(+), 148 deletions(-) create mode 100644 hw/iov.c create mode 100644 hw/iov.h