qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

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