| Submitter | Gerd Hoffmann |
|---|---|
| Date | Oct. 15, 2012, 8:06 a.m. |
| Message ID | <1350288417-24350-1-git-send-email-kraxel@redhat.com> |
| Download | mbox |
| Permalink | /patch/191481/ |
| State | New |
| Headers | show |
Pull-request
git://git.kraxel.org/qemu serial.2Comments
On Mon, 15 Oct 2012 10:06:48 +0200 Gerd Hoffmann <kraxel@redhat.com> wrote: > This patch series tackles serial device hotplug. This conflicts with Paolo's work merged in: git://repo.or.cz/qemu/qmp-unstable.git queue/qmp You could base your work on top of that to avoid conflicts, but note that I might rebase that branch. > > The first four patches have been on the list before, they implement > pci-serial devices featuring a hot-pluggable 16550 uart and got some > minor tweaks only. > > The next two patches update the usb-serial device. It will only show up > in the guest when the chardev is open. You'll see the difference with > socket chardevs: If you open the chardev (by connecting to the socket) > the device will show up in the guest, on close (disconnect) it will > disappear. > > Final three patches cleanup chardev a bit and adds chardev hotplug to > the mix, which makes the other patches alot more useful. It is the > missing bit needed to really hotplug serial devices: > > (qemu) chardev_add file,id=pciserial,path=/root/hotchardev.log > (qemu) device_add pci-serial,id=pciserial,chardev=pciserial > > And the reverse: > > (qemu) device_del pciserial > (qemu) chardev_del pciserial > > New in v2: > - added two chardev cleanup patches. > - switched chardev_{add,del} commands to netdev_{add,del} style. > > cheers, > Gerd > > The following changes since commit 8b4a3df8081f3e6f1061ed5cbb303ad623ade66b: > > Fix popcnt in long mode (2012-10-14 14:55:09 +0400) > > are available in the git repository at: > git://git.kraxel.org/qemu serial.2 > > Gerd Hoffmann (9): > serial: split serial.c > serial: add pci variant > serial: add windows inf file for the pci card to docs > serial: add 2x + 4x pci variant > usb-serial: don't magically zap chardev on umplug > usb-serial: only expose device in guest when the chardev is open > chardev: add error reporting for qemu_chr_new_from_opts > chardev: fix QemuOpts lifecycle > chardev: add hotplug support. > > default-configs/pci.mak | 2 + > docs/qemupciserial.inf | 109 ++++++++++++++++++ > hmp-commands.hx | 32 ++++++ > hmp.c | 23 ++++ > hmp.h | 2 + > hw/Makefile.objs | 3 +- > hw/alpha_dp264.c | 1 + > hw/kzm.c | 2 +- > hw/mips_fulong2e.c | 1 + > hw/mips_jazz.c | 1 + > hw/mips_malta.c | 1 + > hw/mips_mipssim.c | 2 +- > hw/mips_r4k.c | 1 + > hw/musicpal.c | 2 +- > hw/omap_uart.c | 3 +- > hw/openrisc_sim.c | 3 +- > hw/pc.c | 1 + > hw/pc.h | 27 ----- > hw/pci_ids.h | 1 + > hw/petalogix_ml605_mmu.c | 2 +- > hw/ppc/e500.c | 2 +- > hw/ppc405_uc.c | 2 +- > hw/ppc440_bamboo.c | 2 +- > hw/ppc_prep.c | 1 + > hw/pxa2xx.c | 2 +- > hw/serial-isa.c | 130 ++++++++++++++++++++++ > hw/serial-pci.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++ > hw/serial.c | 149 ++----------------------- > hw/serial.h | 74 +++++++++++++ > hw/sm501.c | 2 +- > hw/sun4u.c | 1 + > hw/usb/dev-serial.c | 21 +++- > hw/virtex_ml507.c | 2 +- > hw/xtensa_lx60.c | 3 +- > qapi-schema.json | 39 +++++++ > qemu-char.c | 83 ++++++++++++--- > qemu-char.h | 5 +- > qmp-commands.hx | 61 ++++++++++ > vl.c | 7 +- > 39 files changed, 878 insertions(+), 199 deletions(-) > create mode 100644 docs/qemupciserial.inf > create mode 100644 hw/serial-isa.c > create mode 100644 hw/serial-pci.c > create mode 100644 hw/serial.h >
This patch series tackles serial device hotplug. The first four patches have been on the list before, they implement pci-serial devices featuring a hot-pluggable 16550 uart and got some minor tweaks only. The next two patches update the usb-serial device. It will only show up in the guest when the chardev is open. You'll see the difference with socket chardevs: If you open the chardev (by connecting to the socket) the device will show up in the guest, on close (disconnect) it will disappear. Final three patches cleanup chardev a bit and adds chardev hotplug to the mix, which makes the other patches alot more useful. It is the missing bit needed to really hotplug serial devices: (qemu) chardev_add file,id=pciserial,path=/root/hotchardev.log (qemu) device_add pci-serial,id=pciserial,chardev=pciserial And the reverse: (qemu) device_del pciserial (qemu) chardev_del pciserial New in v2: - added two chardev cleanup patches. - switched chardev_{add,del} commands to netdev_{add,del} style. cheers, Gerd The following changes since commit 8b4a3df8081f3e6f1061ed5cbb303ad623ade66b: Fix popcnt in long mode (2012-10-14 14:55:09 +0400) are available in the git repository at: git://git.kraxel.org/qemu serial.2 Gerd Hoffmann (9): serial: split serial.c serial: add pci variant serial: add windows inf file for the pci card to docs serial: add 2x + 4x pci variant usb-serial: don't magically zap chardev on umplug usb-serial: only expose device in guest when the chardev is open chardev: add error reporting for qemu_chr_new_from_opts chardev: fix QemuOpts lifecycle chardev: add hotplug support. default-configs/pci.mak | 2 + docs/qemupciserial.inf | 109 ++++++++++++++++++ hmp-commands.hx | 32 ++++++ hmp.c | 23 ++++ hmp.h | 2 + hw/Makefile.objs | 3 +- hw/alpha_dp264.c | 1 + hw/kzm.c | 2 +- hw/mips_fulong2e.c | 1 + hw/mips_jazz.c | 1 + hw/mips_malta.c | 1 + hw/mips_mipssim.c | 2 +- hw/mips_r4k.c | 1 + hw/musicpal.c | 2 +- hw/omap_uart.c | 3 +- hw/openrisc_sim.c | 3 +- hw/pc.c | 1 + hw/pc.h | 27 ----- hw/pci_ids.h | 1 + hw/petalogix_ml605_mmu.c | 2 +- hw/ppc/e500.c | 2 +- hw/ppc405_uc.c | 2 +- hw/ppc440_bamboo.c | 2 +- hw/ppc_prep.c | 1 + hw/pxa2xx.c | 2 +- hw/serial-isa.c | 130 ++++++++++++++++++++++ hw/serial-pci.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++ hw/serial.c | 149 ++----------------------- hw/serial.h | 74 +++++++++++++ hw/sm501.c | 2 +- hw/sun4u.c | 1 + hw/usb/dev-serial.c | 21 +++- hw/virtex_ml507.c | 2 +- hw/xtensa_lx60.c | 3 +- qapi-schema.json | 39 +++++++ qemu-char.c | 83 ++++++++++++--- qemu-char.h | 5 +- qmp-commands.hx | 61 ++++++++++ vl.c | 7 +- 39 files changed, 878 insertions(+), 199 deletions(-) create mode 100644 docs/qemupciserial.inf create mode 100644 hw/serial-isa.c create mode 100644 hw/serial-pci.c create mode 100644 hw/serial.h