From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, eblake@redhat.com,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [Qemu-devel] [PATCH v2 00/20] chardev: qom-ify
Date: Tue, 10 Jan 2017 18:47:50 +0100 [thread overview]
Message-ID: <20170110174810.17748-1-marcandre.lureau@redhat.com> (raw)
qemu-char.c is quite a large file (~130k, 5000 loc) with many chardev
and a lot of #ifdef. It doesn't use qemu Object. Using qemu Object
hopefully brings cleaner, more consitent code base. It helps to split
the various backends in different files. Eventually, we could also
allow or switch to -object-add CLI option instead of -chardev.
This series is the first of a pretty large chardev refactoring series
that I keep here:
https://github.com/elmarco/qemu/commits/chrfe
The series is based after "char: fix ctrl-a b not working" patch sent
earlier.
For "spice-char: improve error reporting" to not introduce a regression,
"error: report hints on stderr when no monitor" is required (sent
earlier in the ML).
v1->v2:
- fix intermediate patches regressions spotted by Eric
- code style improvements
- add r-b tags
WIP->v1:
- took most of Eric review comments, they were mostly about style
Marc-André Lureau (20):
tests: fix linking test-char on win32
qemu-options: stdio is available on win32
char: add qemu_chr_fe_add_watch() Returns description
doc: fix spelling
char: use a const CharDriver
char: use a static array for backends
char: move callbacks in CharDriver
char: fold single-user functions in caller
char: introduce generic qemu_chr_get_kind()
char: use a feature bit for replay
char: allocate CharDriverState as a single object
bt: use qemu_chr_alloc()
char: rename CharDriverState Chardev
char: rename TCPChardev and NetChardev
spice-char: improve error reporting
char: use error_report()
gtk: overwrite the console.c char driver
baum: use a common prefix for chr callbacks
vc: use a common prefix for chr callbacks
chardev: qom-ify
hw/lm32/lm32.h | 4 +-
hw/lm32/milkymist-hw.h | 2 +-
include/hw/arm/exynos4210.h | 2 +-
include/hw/arm/omap.h | 6 +-
include/hw/bt.h | 4 +-
include/hw/char/cadence_uart.h | 2 +-
include/hw/char/escc.h | 2 +-
include/hw/char/pl011.h | 4 +-
include/hw/char/serial.h | 4 +-
include/hw/char/xilinx_uartlite.h | 2 +-
include/hw/cris/etraxfs.h | 2 +-
include/hw/devices.h | 2 +-
include/hw/i386/pc.h | 2 +-
include/hw/m68k/mcf.h | 4 +-
include/hw/ppc/spapr_vio.h | 2 +-
include/hw/qdev-properties.h | 2 +-
include/hw/sh4/sh.h | 2 +-
include/hw/sparc/grlib.h | 2 +-
include/hw/xen/xen.h | 2 +-
include/monitor/monitor.h | 2 +-
include/qemu/typedefs.h | 2 +-
include/sysemu/char.h | 155 +--
include/sysemu/replay.h | 4 +-
include/sysemu/sysemu.h | 4 +-
include/ui/console.h | 2 +
include/ui/gtk.h | 2 +-
include/ui/qemu-spice.h | 2 +-
backends/baum.c | 102 +-
backends/msmouse.c | 77 +-
backends/rng-egd.c | 4 +-
backends/testdev.c | 53 +-
gdbstub.c | 45 +-
hw/arm/fsl-imx25.c | 2 +-
hw/arm/fsl-imx31.c | 2 +-
hw/arm/fsl-imx6.c | 2 +-
hw/arm/nseries.c | 2 +-
hw/arm/omap2.c | 2 +-
hw/arm/pxa2xx.c | 2 +-
hw/arm/virt.c | 2 +-
hw/bt/hci-csr.c | 64 +-
hw/char/escc.c | 2 +-
hw/char/exynos4210_uart.c | 2 +-
hw/char/imx_serial.c | 2 +-
hw/char/mcf_uart.c | 4 +-
hw/char/omap_uart.c | 6 +-
hw/char/parallel.c | 2 +-
hw/char/serial-isa.c | 2 +-
hw/char/serial.c | 4 +-
hw/char/sh_serial.c | 2 +-
hw/char/spapr_vty.c | 2 +-
hw/char/virtio-console.c | 2 +-
hw/core/qdev-properties-system.c | 4 +-
hw/display/milkymist-tmu2.c | 2 +-
hw/display/sm501.c | 2 +-
hw/isa/isa-bus.c | 2 +-
hw/isa/pc87312.c | 2 +-
hw/mips/mips_malta.c | 4 +-
hw/misc/ivshmem.c | 2 +-
hw/misc/milkymist-pfpu.c | 2 +-
hw/usb/ccid-card-passthru.c | 2 +-
hw/usb/dev-serial.c | 6 +-
hw/usb/redirect.c | 4 +-
monitor.c | 6 +-
net/colo-compare.c | 4 +-
net/filter-mirror.c | 4 +-
net/slirp.c | 2 +-
net/vhost-user.c | 10 +-
qemu-char.c | 1914 ++++++++++++++++++++-----------------
qmp.c | 2 +-
qtest.c | 2 +-
replay/replay-char.c | 8 +-
spice-qemu-char.c | 231 +++--
stubs/get-next-serial.c | 2 +-
stubs/monitor-init.c | 2 +-
stubs/replay.c | 4 +-
tests/test-char.c | 10 +-
tests/vhost-user-test.c | 4 +-
ui/console.c | 111 ++-
ui/gtk.c | 86 +-
vl.c | 12 +-
xen-common-stub.c | 2 +-
xen-common.c | 4 +-
qemu-options.hx | 4 +-
tests/Makefile.include | 2 +-
84 files changed, 1729 insertions(+), 1343 deletions(-)
--
2.11.0
next reply other threads:[~2017-01-10 17:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-10 17:47 Marc-André Lureau [this message]
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 01/20] tests: fix linking test-char on win32 Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 02/20] qemu-options: stdio is available " Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 03/20] char: add qemu_chr_fe_add_watch() Returns description Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 04/20] doc: fix spelling Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 05/20] char: use a const CharDriver Marc-André Lureau
2017-01-10 18:01 ` Eric Blake
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 06/20] char: use a static array for backends Marc-André Lureau
2017-01-10 18:03 ` Eric Blake
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 07/20] char: move callbacks in CharDriver Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 08/20] char: fold single-user functions in caller Marc-André Lureau
2017-01-10 17:47 ` [Qemu-devel] [PATCH v2 09/20] char: introduce generic qemu_chr_get_kind() Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 10/20] char: use a feature bit for replay Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 11/20] char: allocate CharDriverState as a single object Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 12/20] bt: use qemu_chr_alloc() Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 13/20] char: rename CharDriverState Chardev Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 14/20] char: rename TCPChardev and NetChardev Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 15/20] spice-char: improve error reporting Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 16/20] char: use error_report() Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 17/20] gtk: overwrite the console.c char driver Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 18/20] baum: use a common prefix for chr callbacks Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 19/20] vc: " Marc-André Lureau
2017-01-10 17:48 ` [Qemu-devel] [PATCH v2 20/20] chardev: qom-ify Marc-André Lureau
2017-01-11 21:27 ` Eric Blake
2017-01-12 15:19 ` Marc-André Lureau
2017-01-24 13:59 ` [Qemu-devel] [PATCH v2 00/20] " Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170110174810.17748-1-marcandre.lureau@redhat.com \
--to=marcandre.lureau@redhat.com \
--cc=eblake@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).