From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35649) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNfha-0001RN-VX for qemu-devel@nongnu.org; Mon, 15 Oct 2012 04:07:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TNfhU-0005tB-U1 for qemu-devel@nongnu.org; Mon, 15 Oct 2012 04:07:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:10217) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNfhU-0005sx-LW for qemu-devel@nongnu.org; Mon, 15 Oct 2012 04:07:00 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9F86xga027162 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 15 Oct 2012 04:06:59 -0400 From: Gerd Hoffmann Date: Mon, 15 Oct 2012 10:06:48 +0200 Message-Id: <1350288417-24350-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/9] serial device hotplug patch series. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann 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