[Qemu-devel] [PATCH v3 00/13] chardevice hotswap

Anton Nefedov posted 13 patches 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1496152683-102751-1-git-send-email-anton.nefedov@virtuozzo.com
Test checkpatch passed
Test docker passed
Test s390x passed
There is a newer version of this series
backends/rng-egd.c          |   2 +-
chardev/char-mux.c          |   1 +
chardev/char.c              | 212 ++++++++++++++++++++++++++++-------
gdbstub.c                   |   4 +-
hmp-commands.hx             |  16 +++
hmp.c                       |  34 ++++++
hmp.h                       |   1 +
hw/arm/pxa2xx.c             |   3 +-
hw/arm/strongarm.c          |   4 +-
hw/char/bcm2835_aux.c       |   2 +-
hw/char/cadence_uart.c      |   4 +-
hw/char/debugcon.c          |   4 +-
hw/char/digic-uart.c        |   2 +-
hw/char/escc.c              |   8 +-
hw/char/etraxfs_ser.c       |   2 +-
hw/char/exynos4210_uart.c   |   4 +-
hw/char/grlib_apbuart.c     |   4 +-
hw/char/imx_serial.c        |   2 +-
hw/char/ipoctal232.c        |   4 +-
hw/char/lm32_juart.c        |   2 +-
hw/char/lm32_uart.c         |   2 +-
hw/char/mcf_uart.c          |   2 +-
hw/char/milkymist-uart.c    |   2 +-
hw/char/parallel.c          |   2 +-
hw/char/pl011.c             |   2 +-
hw/char/sclpconsole-lm.c    |   4 +-
hw/char/sclpconsole.c       |   4 +-
hw/char/serial.c            |  63 ++++++++---
hw/char/sh_serial.c         |   4 +-
hw/char/spapr_vty.c         |   4 +-
hw/char/stm32f2xx_usart.c   |   3 +-
hw/char/terminal3270.c      |   4 +-
hw/char/virtio-console.c    |  35 +++++-
hw/char/xen_console.c       |   4 +-
hw/char/xilinx_uartlite.c   |   2 +-
hw/ipmi/ipmi_bmc_extern.c   |   4 +-
hw/mips/boston.c            |   2 +-
hw/mips/mips_malta.c        |   2 +-
hw/misc/ivshmem.c           |   6 +-
hw/usb/ccid-card-passthru.c |   6 +-
hw/usb/dev-serial.c         |   7 +-
hw/usb/redirect.c           |   7 +-
include/sysemu/char.h       |  43 ++++++++
monitor.c                   |   4 +-
net/colo-compare.c          |  14 ++-
net/filter-mirror.c         |   8 +-
net/slirp.c                 |   2 +-
net/vhost-user.c            |   7 +-
qapi-schema.json            |  40 +++++++
qtest.c                     |   2 +-
tests/test-char.c           | 263 +++++++++++++++++++++++++++++++++-----------
tests/vhost-user-test.c     |   2 +-
52 files changed, 669 insertions(+), 202 deletions(-)
[Qemu-devel] [PATCH v3 00/13] chardevice hotswap
Posted by Anton Nefedov 6 years, 10 months ago
Changed in v3:
  - minor remarks to patch 1 applied
  - patch 3: avoid using bottom-half, handle syncronously
    As mentioned, it gets thing complicated and is only a problem for
    a monitor-connected chardev hotswap and that is not supported for now
  - tests added (patches 6-9)

========

This serie is a v2 of the February submit
http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg01989.html

The interface is changed as requested and the changes are slightly reworked
and split into separate patches.

========

The patchset adds support of the character device change without
a frontend device removal.
Yet isa-serial and virtio-serial frontends are supported.

The feature can be helpful for e.g. Windows debug allowing to
establish connection to a live VM from VM with WinDbg.

Anton Nefedov (13):
  char: move QemuOpts->ChardevBackend translation to a separate func
  char: add backend hotswap handler
  char: chardevice hotswap
  char: forbid direct chardevice access for hotswap devices
  char: avoid chardevice direct access
  test-char: unref chardev-udp after test
  test-char: split char_udp_test
  test-char: split char_file_test
  test-char: add hotswap test
  hmp: add hmp analogue for qmp-chardev-change
  virtio-console: chardev hotswap support
  serial: move TIOCM update to a separate function
  serial: chardev hotswap support

 backends/rng-egd.c          |   2 +-
 chardev/char-mux.c          |   1 +
 chardev/char.c              | 212 ++++++++++++++++++++++++++++-------
 gdbstub.c                   |   4 +-
 hmp-commands.hx             |  16 +++
 hmp.c                       |  34 ++++++
 hmp.h                       |   1 +
 hw/arm/pxa2xx.c             |   3 +-
 hw/arm/strongarm.c          |   4 +-
 hw/char/bcm2835_aux.c       |   2 +-
 hw/char/cadence_uart.c      |   4 +-
 hw/char/debugcon.c          |   4 +-
 hw/char/digic-uart.c        |   2 +-
 hw/char/escc.c              |   8 +-
 hw/char/etraxfs_ser.c       |   2 +-
 hw/char/exynos4210_uart.c   |   4 +-
 hw/char/grlib_apbuart.c     |   4 +-
 hw/char/imx_serial.c        |   2 +-
 hw/char/ipoctal232.c        |   4 +-
 hw/char/lm32_juart.c        |   2 +-
 hw/char/lm32_uart.c         |   2 +-
 hw/char/mcf_uart.c          |   2 +-
 hw/char/milkymist-uart.c    |   2 +-
 hw/char/parallel.c          |   2 +-
 hw/char/pl011.c             |   2 +-
 hw/char/sclpconsole-lm.c    |   4 +-
 hw/char/sclpconsole.c       |   4 +-
 hw/char/serial.c            |  63 ++++++++---
 hw/char/sh_serial.c         |   4 +-
 hw/char/spapr_vty.c         |   4 +-
 hw/char/stm32f2xx_usart.c   |   3 +-
 hw/char/terminal3270.c      |   4 +-
 hw/char/virtio-console.c    |  35 +++++-
 hw/char/xen_console.c       |   4 +-
 hw/char/xilinx_uartlite.c   |   2 +-
 hw/ipmi/ipmi_bmc_extern.c   |   4 +-
 hw/mips/boston.c            |   2 +-
 hw/mips/mips_malta.c        |   2 +-
 hw/misc/ivshmem.c           |   6 +-
 hw/usb/ccid-card-passthru.c |   6 +-
 hw/usb/dev-serial.c         |   7 +-
 hw/usb/redirect.c           |   7 +-
 include/sysemu/char.h       |  43 ++++++++
 monitor.c                   |   4 +-
 net/colo-compare.c          |  14 ++-
 net/filter-mirror.c         |   8 +-
 net/slirp.c                 |   2 +-
 net/vhost-user.c            |   7 +-
 qapi-schema.json            |  40 +++++++
 qtest.c                     |   2 +-
 tests/test-char.c           | 263 +++++++++++++++++++++++++++++++++-----------
 tests/vhost-user-test.c     |   2 +-
 52 files changed, 669 insertions(+), 202 deletions(-)

-- 
2.7.4