qemu-e2k/qapi
Nicolas Saenz Julienne 7d5983e3c8 Introduce event-loop-base abstract class
Introduce the 'event-loop-base' abstract class, it'll hold the
properties common to all event loops and provide the necessary hooks for
their creation and maintenance. Then have iothread inherit from it.

EventLoopBaseClass is defined as user creatable and provides a hook for
its children to attach themselves to the user creatable class 'complete'
function. It also provides an update_params() callback to propagate
property changes onto its children.

The new 'event-loop-base' class will live in the root directory. It is
built on its own using the 'link_whole' option (there are no direct
function dependencies between the class and its children, it all happens
trough 'constructor' magic). And also imposes new compilation
dependencies:

    qom <- event-loop-base <- blockdev (iothread.c)

And in subsequent patches:

    qom <- event-loop-base <- qemuutil (util/main-loop.c)

All this forced some amount of reordering in meson.build:

 - Moved qom build definition before qemuutil. Doing it the other way
   around (i.e. moving qemuutil after qom) isn't possible as a lot of
   core libraries that live in between the two depend on it.

 - Process the 'hw' subdir earlier, as it introduces files into the
   'qom' source set.

No functional changes intended.

Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20220425075723.20019-2-nsaenzju@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2022-05-09 10:43:23 +01:00
..
acpi.json qapi: fix example of ACPI_DEVICE_OST event 2022-03-31 12:35:59 +02:00
audio.json schemas: add missing vim modeline 2022-01-27 11:20:50 +01:00
authz.json
block-core.json qapi: rename BlockDirtyBitmapMergeSource to BlockDirtyBitmapOrStr 2022-04-26 13:13:50 -05:00
block-export.json qapi: nbd-export: allow select bitmaps by node/name pair 2022-04-26 13:15:19 -05:00
block.json block: add 'force' parameter to 'blockdev-change-medium' command 2022-04-25 12:02:36 +02:00
char.json ui/dbus: add chardev backend & interface 2021-12-21 10:50:22 +04:00
common.json monitor: introduce HumanReadableText and HMP support 2021-11-02 15:55:13 +00:00
compat.json qapi: Belatedly adjust limitations documentation 2022-02-28 11:39:35 +01:00
control.json
crypto.json
dump.json qapi: fix example of dump-guest-memory 2022-03-31 12:35:59 +02:00
error.json
introspect.json
job.json
machine-target.json
machine.json qapi: fix example of query-memdev command 2022-04-05 12:30:45 +02:00
meson.build qapi: generate trace events by default 2022-01-27 15:17:35 +01:00
migration.json qapi: Fix documentation for query-xen-replication-status 2022-04-21 10:22:33 +02:00
misc-target.json qapi: Fix version of cpu0-id field 2022-04-21 10:23:06 +02:00
misc.json rtc: Have event RTC_CHANGE identify the RTC by QOM path 2022-02-28 11:39:35 +01:00
net.json qapi: fix example of netdev_add command 2022-04-05 12:30:45 +02:00
opts-visitor.c
pci.json
pragma.json schemas: add missing vim modeline 2022-03-31 12:34:51 +02:00
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
qapi-schema.json
qapi-type-helpers.c monitor: introduce HumanReadableText and HMP support 2021-11-02 15:55:13 +00:00
qapi-util.c qapi: Fix stale reference to scripts/qapi.py in a comment 2022-02-28 11:39:35 +01:00
qapi-visit-core.c
qdev.json softmmu: fix device deletion events with -device JSON syntax 2022-01-14 12:03:16 +01:00
qmp-dispatch.c qapi: remove needless include 2022-03-22 14:46:17 +04:00
qmp-event.c Replace qemu_gettimeofday() with g_get_real_time() 2022-04-06 10:50:37 +02:00
qmp-registry.c
qobject-input-visitor.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
qobject-output-visitor.c qapi: Extend -compat to set policy for unstable interfaces 2021-10-29 21:28:01 +02:00
qom.json Introduce event-loop-base abstract class 2022-05-09 10:43:23 +01:00
rdma.json
replay.json qapi: fix examples: replay-break and replay-seek 2022-04-05 12:30:45 +02:00
rocker.json
run-state.json qapi: fix example of MEMORY_FAILURE 2022-03-31 12:35:40 +02:00
sockets.json qapi: Fix typo 2022-04-21 10:22:54 +02:00
string-input-visitor.c
string-output-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
tpm.json
trace-events
trace.h
trace.json qapi: fix example of trace-event-get-state command 2022-04-05 12:30:45 +02:00
transaction.json qapi: deprecate drive-backup 2021-11-09 18:21:19 +01:00
ui.json qapi/ui: add 'display-update' command for changing listen address 2022-04-27 07:51:01 +02:00
yank.json