All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH v3 02/24] modules: collect module meta-data
@ 2021-06-22 16:03 Paolo Bonzini
  2021-06-23  7:36 ` Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2021-06-22 16:03 UTC (permalink / raw)
  To: Gerd Hoffmann, qemu-devel, Laurent Vivier, Kevin Wolf,
	Thomas Huth, Eduardo Habkost, qemu block, David Hildenbrand,
	Richard Henderson, Cornelia Huck, Peter Lieven, Max Reitz,
	Halil Pasic, Christian Borntraeger, qemu-s390x,
	Michael S. Tsirkin, Ronnie Sahlberg, Cleber Rosa,
	Marc-André Lureau, Samuel Thibault

On 21/06/21 14:52, Gerd Hoffmann wrote:
> ninja: error: 'libui-curses.a.p/meson-generated_.._config-host.h.o', needed by 'ui-curses.modinfo.test', missing and no known rule to make it
> 
> Hmm, not sure where this comes from.  meson doesn't try to link
> config-host.h.o into libui-curses.a, so why does extract_all_objects()
> return it?
> 
> Test patch (incremental to this series) below.

Bug in Meson, fix at https://github.com/mesonbuild/meson/pull/8900.  You 
can just ignore missing files.

Paolo



^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH v3 00/24] modules: add meta-data database
@ 2021-06-18  4:53 Gerd Hoffmann
  2021-06-18  4:53 ` [PATCH v3 02/24] modules: collect module meta-data Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2021-06-18  4:53 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Kevin Wolf, Thomas Huth, Cornelia Huck,
	Eduardo Habkost, qemu-block, David Hildenbrand, Peter Lieven,
	Michael S. Tsirkin, Richard Henderson, Max Reitz, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Paolo Bonzini, Gerd Hoffmann,
	Ronnie Sahlberg, Cleber Rosa, Marc-André Lureau,
	Samuel Thibault

This patch series adds support for module meta-data.  Today this is
either hard-coded in qemu (see qemu_load_module_for_opts) or handled
with manually maintained lists in util/module (see module_deps[] and
qom_modules[]).  This series replaced that scheme with annotation
macros, so the meta-data can go into the module source code and -- for
example -- the module_obj() annotations can go next to the TypeInfo
struct for the object class.

Patches 1-3 put the infrastructure in place:  Add the annotation macros,
add a script to collect the meta-data, add a script to compile the
meta-data into C source code which we can then add to qemu.

Patches 4-12 add annotations macros to the modules we have.

Patches 13-15 put the modinfo database into use and remove the
module_deps[] and qom_modules[] lists.

Patch 16 adds two tracepoints for easier trouble-shooting.

Patches 17-19 add support for target-specific modules.

Patches 20-14 start building accelerators modular.  So far it is
only qtest (all archs) and a small fraction of tcg (x86 only).

take care,
  Gerd

Gerd Hoffmann (24):
  modules: add modinfo macros
  modules: collect module meta-data
  modules: generate modinfo.c
  modules: add qxl module annotations
  modules: add virtio-gpu module annotations
  modules: add chardev module annotations
  modules: add audio module annotations
  modules: add usb-redir module annotations
  modules: add ccid module annotations
  modules: add ui module annotations
  modules: add s390x module annotations
  modules: add block module annotations
  modules: use modinfo for dependencies
  modules: use modinfo for qom load
  modules: use modinfo for qemu opts load
  modules: add tracepoints
  modules: check arch and block load on mismatch
  modules: check arch on qom lookup
  modules: target-specific module build infrastructure
  accel: autoload modules
  accel: add qtest module annotations
  accel: build qtest modular
  accel: add tcg module annotations
  accel: build tcg modular

 scripts/modinfo-collect.py      |  67 +++++++++++
 scripts/modinfo-generate.py     |  84 ++++++++++++++
 include/qemu/module.h           |  43 +++++++
 accel/accel-common.c            |   2 +-
 accel/accel-softmmu.c           |   2 +-
 accel/qtest/qtest.c             |   2 +
 accel/tcg/tcg-accel-ops.c       |   1 +
 accel/tcg/tcg-all.c             |   1 +
 audio/spiceaudio.c              |   2 +
 block/iscsi-opts.c              |   1 +
 chardev/baum.c                  |   1 +
 chardev/spice.c                 |   4 +
 hw/display/qxl.c                |   4 +
 hw/display/vhost-user-gpu-pci.c |   1 +
 hw/display/vhost-user-gpu.c     |   1 +
 hw/display/vhost-user-vga.c     |   1 +
 hw/display/virtio-gpu-base.c    |   1 +
 hw/display/virtio-gpu-gl.c      |   3 +
 hw/display/virtio-gpu-pci-gl.c  |   3 +
 hw/display/virtio-gpu-pci.c     |   2 +
 hw/display/virtio-gpu.c         |   1 +
 hw/display/virtio-vga-gl.c      |   3 +
 hw/display/virtio-vga.c         |   2 +
 hw/s390x/virtio-ccw-gpu.c       |   3 +
 hw/usb/ccid-card-emulated.c     |   1 +
 hw/usb/ccid-card-passthru.c     |   1 +
 hw/usb/redirect.c               |   1 +
 softmmu/vl.c                    |  24 ++--
 stubs/module-opts.c             |   4 -
 ui/egl-headless.c               |   4 +
 ui/gtk.c                        |   4 +
 ui/sdl2.c                       |   4 +
 ui/spice-app.c                  |   3 +
 ui/spice-core.c                 |   5 +
 util/module.c                   | 200 ++++++++++++++++++--------------
 accel/qtest/meson.build         |   8 +-
 accel/tcg/meson.build           |   5 +-
 meson.build                     |  76 ++++++++++++
 util/trace-events               |   4 +
 39 files changed, 462 insertions(+), 117 deletions(-)
 create mode 100755 scripts/modinfo-collect.py
 create mode 100755 scripts/modinfo-generate.py

-- 
2.31.1




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

end of thread, other threads:[~2021-06-24  5:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-22 16:03 [PATCH v3 02/24] modules: collect module meta-data Paolo Bonzini
2021-06-23  7:36 ` Gerd Hoffmann
2021-06-24  5:33   ` Paolo Bonzini
  -- strict thread matches above, loose matches on Subject: below --
2021-06-18  4:53 [PATCH v3 00/24] modules: add meta-data database Gerd Hoffmann
2021-06-18  4:53 ` [PATCH v3 02/24] modules: collect module meta-data Gerd Hoffmann
2021-06-18 16:09   ` Paolo Bonzini
2021-06-21 12:52     ` Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.