[PATCH v3 0/9] virtio-console: notify about the terminal size

Szymon Lukasz posted 9 patches 1 week ago
Failed in applying to current master (apply log)
backends/cryptodev-vhost-user.c   |  1 +
chardev/char-fe.c                 | 13 +++++++
chardev/char-mux.c                | 18 ++++++++-
chardev/char-stdio.c              | 29 ++++++++++++++
chardev/char.c                    | 26 +++++++++++++
hw/block/vhost-user-blk.c         |  1 +
hw/char/terminal3270.c            |  1 +
hw/char/trace-events              |  1 +
hw/char/virtio-console.c          | 63 +++++++++++++++++++++++++++++--
hw/char/virtio-serial-bus.c       | 42 ++++++++++++++++++++-
hw/core/machine.c                 |  1 +
hw/ipmi/ipmi_bmc_extern.c         |  1 +
hw/usb/ccid-card-passthru.c       |  1 +
hw/usb/dev-serial.c               |  1 +
hw/usb/redirect.c                 |  1 +
include/chardev/char-fe.h         | 10 +++++
include/chardev/char.h            |  7 ++++
include/hw/virtio/virtio-serial.h |  5 +++
include/qemu/main-loop.h          |  4 ++
monitor/hmp.c                     |  1 +
monitor/qmp.c                     |  1 +
net/vhost-user.c                  |  1 +
qapi/char.json                    | 25 ++++++++++++
ui/curses.c                       | 11 +++---
util/main-loop.c                  | 21 +++++++++++
25 files changed, 274 insertions(+), 12 deletions(-)

[PATCH v3 0/9] virtio-console: notify about the terminal size

Posted by Szymon Lukasz 1 week ago
The goal of this series is to have a resizable terminal into a guest
without having to set up networking and using, e.g. ssh.

The virtio spec allows a virtio-console device to notify the guest about
terminal resizes in the host. Linux Kernel implements the driver part of
the spec. This series implement the device part in QEMU.

This series adds support for a resizable terminal if a virtio console
device is connected to the stdio backend. 

This series also introduces resize messages that can be sent over QMP to
notify QEMU about the size of the terminal connented to some chardev.
In the libvirt setting, it will allow to implement a resizable terminal 
for virsh console and other libvirt clients.


v3:
add resize messages over QMP, as suggested by Daniel

v2:
fix adding a new virtio feature bit to the virtio console device

Szymon Lukasz (9):
  chardev: add cols, rows fields
  chardev: add CHR_EVENT_RESIZE
  chardev: add qemu_chr_resize()
  char-mux: add support for the terminal size
  main-loop: change the handling of SIGWINCH
  char-stdio: add support for the terminal size
  qmp: add chardev-resize command
  virtio-serial-bus: add terminal resize messages
  virtio-console: notify the guest about terminal resizes

 backends/cryptodev-vhost-user.c   |  1 +
 chardev/char-fe.c                 | 13 +++++++
 chardev/char-mux.c                | 18 ++++++++-
 chardev/char-stdio.c              | 29 ++++++++++++++
 chardev/char.c                    | 26 +++++++++++++
 hw/block/vhost-user-blk.c         |  1 +
 hw/char/terminal3270.c            |  1 +
 hw/char/trace-events              |  1 +
 hw/char/virtio-console.c          | 63 +++++++++++++++++++++++++++++--
 hw/char/virtio-serial-bus.c       | 42 ++++++++++++++++++++-
 hw/core/machine.c                 |  1 +
 hw/ipmi/ipmi_bmc_extern.c         |  1 +
 hw/usb/ccid-card-passthru.c       |  1 +
 hw/usb/dev-serial.c               |  1 +
 hw/usb/redirect.c                 |  1 +
 include/chardev/char-fe.h         | 10 +++++
 include/chardev/char.h            |  7 ++++
 include/hw/virtio/virtio-serial.h |  5 +++
 include/qemu/main-loop.h          |  4 ++
 monitor/hmp.c                     |  1 +
 monitor/qmp.c                     |  1 +
 net/vhost-user.c                  |  1 +
 qapi/char.json                    | 25 ++++++++++++
 ui/curses.c                       | 11 +++---
 util/main-loop.c                  | 21 +++++++++++
 25 files changed, 274 insertions(+), 12 deletions(-)

-- 
2.27.0