qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/20] chardev: qom-ify
@ 2017-01-05 16:53 Marc-André Lureau
  2017-01-05 16:53 ` [Qemu-devel] [PATCH 01/20] tests: fix linking test-char on win32 Marc-André Lureau
                   ` (19 more replies)
  0 siblings, 20 replies; 38+ messages in thread
From: Marc-André Lureau @ 2017-01-05 16:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, eblake, Marc-André Lureau

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

It is based on Gerd's pull-ui-20170104-1 tag. Furthermore, 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).

Since WIP:
- 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                       | 1912 ++++++++++++++++++++-----------------
 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, 1730 insertions(+), 1340 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2017-01-09 18:02 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-05 16:53 [Qemu-devel] [PATCH 00/20] chardev: qom-ify Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 01/20] tests: fix linking test-char on win32 Marc-André Lureau
2017-01-06 16:45   ` Eric Blake
2017-01-06 19:50     ` Marc-André Lureau
2017-01-06 20:26       ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 02/20] qemu-options: stdio is available " Marc-André Lureau
2017-01-06 16:51   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 03/20] char: add qemu_chr_fe_add_watch() Returns description Marc-André Lureau
2017-01-06 16:54   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 04/20] doc: fix spelling Marc-André Lureau
2017-01-06 16:55   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 05/20] char: use a const CharDriver Marc-André Lureau
2017-01-06 18:01   ` Eric Blake
2017-01-06 22:43     ` Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 06/20] char: use a static array for backends Marc-André Lureau
2017-01-06 19:24   ` Eric Blake
2017-01-06 23:22     ` Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 07/20] char: move callbacks in CharDriver Marc-André Lureau
2017-01-06 21:36   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 08/20] char: fold single-user functions in caller Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 09/20] char: introduce generic qemu_chr_get_kind() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 10/20] char: use a feature bit for replay Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 11/20] char: allocate CharDriverState as a single object Marc-André Lureau
2017-01-06 21:43   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 12/20] bt: use qemu_chr_alloc() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 13/20] char: rename CharDriverState Chardev Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 14/20] char: rename TCPChardev and NetChardev Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 15/20] spice-char: improve error reporting Marc-André Lureau
2017-01-06 22:22   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 16/20] char: use error_report() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 17/20] gtk: overwrite the console.c char driver Marc-André Lureau
2017-01-06 22:24   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 18/20] baum: use a common prefix for chr callbacks Marc-André Lureau
2017-01-06 22:25   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 19/20] vc: " Marc-André Lureau
2017-01-06 22:26   ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 20/20] chardev: qom-ify Marc-André Lureau
2017-01-09 18:02   ` Eric Blake

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).