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

Anton Nefedov posted 13 patches 6 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1499263324-15184-1-git-send-email-anton.nefedov@virtuozzo.com
There is a newer version of this series
include/chardev/char-fe.h   |  39 +++++++
include/chardev/char.h      |  19 +++
hmp.h                       |   1 +
backends/rng-egd.c          |   2 +-
chardev/char-fe.c           |  49 ++++++--
chardev/char-mux.c          |   1 +
chardev/char.c              | 167 ++++++++++++++++++++++-----
gdbstub.c                   |   2 +-
hmp-commands.hx             |  18 ++-
hmp.c                       |  34 ++++++
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 +-
monitor.c                   |   4 +-
net/colo-compare.c          |  10 +-
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           | 275 ++++++++++++++++++++++++++++++++------------
tests/test-hmp.c            |   1 +
tests/vhost-user-test.c     |   2 +-
55 files changed, 691 insertions(+), 208 deletions(-)
[Qemu-devel] [PATCH v5 00/13] chardevice hotswap
Posted by Anton Nefedov 6 years, 9 months ago
Changed in v5:
  - rebased
  - patch 6 fixed (wouldn't compile until patch 7 (broken by previous rebase))
  - patch 11 commit message added

========

Changed in v4:
  - rebased on top of the latest chardev changes
  - remarks applied
  - patch 1 fixed so it works with alias names

========

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: destroy 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

 include/chardev/char-fe.h   |  39 +++++++
 include/chardev/char.h      |  19 +++
 hmp.h                       |   1 +
 backends/rng-egd.c          |   2 +-
 chardev/char-fe.c           |  49 ++++++--
 chardev/char-mux.c          |   1 +
 chardev/char.c              | 167 ++++++++++++++++++++++-----
 gdbstub.c                   |   2 +-
 hmp-commands.hx             |  18 ++-
 hmp.c                       |  34 ++++++
 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 +-
 monitor.c                   |   4 +-
 net/colo-compare.c          |  10 +-
 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           | 275 ++++++++++++++++++++++++++++++++------------
 tests/test-hmp.c            |   1 +
 tests/vhost-user-test.c     |   2 +-
 55 files changed, 691 insertions(+), 208 deletions(-)

-- 
2.7.4


Re: [Qemu-devel] [PATCH v5 00/13] chardevice hotswap
Posted by Paolo Bonzini 6 years, 9 months ago

On 05/07/2017 16:01, Anton Nefedov wrote:
> Changed in v5:
>   - rebased
>   - patch 6 fixed (wouldn't compile until patch 7 (broken by previous rebase))
>   - patch 11 commit message added

I commented on a few patches, but v6 should be the final one.

Thanks,

Paolo