Hello, This series is now separated from the chardev flow control series. The virtio-serial code now does not copy over data from the guest to the host. It instead keeps track of how far we are in consuming the data and maintains this state.
For flow control, when a user of the virtio-serial port signals it has consumed less data than given, port throttling is enabled. The consumer can then later disable throttling and we can re-start sending the data from where we left off. Finally, new fields introduced are added to the save/restore section to preserve state across live migrations. Please apply. Amit Shah (7): virtio-console: Factor out common init between console and generic ports virtio-console: Remove unnecessary braces virtio-serial-bus: separate out discard logic in a separate function virtio-serial: Don't copy over guest buffer to host virtio-serial: Let virtio-serial-bus know if all data was consumed virtio-serial: Add support for flow control virtio-serial: save/restore new fields in port struct hw/virtio-console.c | 38 +++++++-------- hw/virtio-serial-bus.c | 123 +++++++++++++++++++++++++++++++++++++++--------- hw/virtio-serial.h | 24 ++++++++- 3 files changed, 139 insertions(+), 46 deletions(-) -- 1.7.3.4