Files
qemu/stubs/meson.build
Pierrick Bouvier 0e1015d295 qmp: reimplement qmp_query_cpu_model_expansion as a dispatcher function
Now that we have per target implementations of this function, we simply
dispatch the call to relevant implementation.
This eliminates duplication of qmp_query_cpu_model_expansion symbol.

mips and ppc implementations were unsupported, so remove them and let
them be handled by default case of the dispatcher.

We need to define individual stubs for targets function since each
existing binary only has one variant defined. Stub mechanism works per
compilation unit, thus we need one file per symbol.

Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Link: https://lore.kernel.org/qemu-devel/20261016162509.24854-7-pierrick.bouvier@oss.qualcomm.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
2026-10-22 20:34:01 +00:00

112 lines
3.7 KiB
Meson

# If possible, add new files to other directories, by using "if_false".
# If you need them here, try to add them under one of the if statements
# below, so that it is clear who needs the stubbed functionality.
stub_ss.add(files('cpu-get-clock.c'))
stub_ss.add(files('fdset.c'))
stub_ss.add(files('iothread-lock.c'))
stub_ss.add(files('is-daemonized.c'))
stub_ss.add(files('monitor-core.c'))
stub_ss.add(files('monitor-cur.c'))
stub_ss.add(files('monitor-hmp.c'))
stub_ss.add(files('qapi-event-emit.c'))
stub_ss.add(files('replay-mode.c'))
stub_ss.add(files('trace-control.c'))
if have_block
stub_ss.add(files('bdrv-next-monitor-owned.c'))
stub_ss.add(files('blk-commit-all.c'))
stub_ss.add(files('blk-exp-close-all.c'))
stub_ss.add(files('blockdev-close-all-bdrv-states.c'))
stub_ss.add(files('change-state-handler.c'))
stub_ss.add(files('get-vm-name.c'))
stub_ss.add(files('iothread-lock-block.c'))
stub_ss.add(files('migr-blocker.c'))
stub_ss.add(files('physmem.c'))
stub_ss.add(files('ram-block.c'))
stub_ss.add(files('runstate-check.c'))
stub_ss.add(files('uuid.c'))
endif
if have_block or have_ga
stub_ss.add(files('replay-tools.c'))
# stubs for hooks in util/main-loop.c, util/async.c etc.
stub_ss.add(files('cpus-virtual-clock.c'))
stub_ss.add(files('icount.c'))
stub_ss.add(files('graph-lock.c'))
if libaio.found()
stub_ss.add(files('linux-aio.c'))
endif
stub_ss.add(files('qemu-timer-notify-cb.c'))
# stubs for monitor
stub_ss.add(files('monitor-internal.c'))
stub_ss.add(files('qmp-command-available.c'))
stub_ss.add(files('qmp-quit.c'))
stub_ss.add(files('async-run-on-cpu.c'))
stub_ss.add(files('cpus-queue.c'))
endif
if have_block or have_user
stub_ss.add(files('qtest.c'))
stub_ss.add(files('vm-stop.c'))
stub_ss.add(files('vmstate.c'))
endif
if have_user
# Symbols that are used by hw/core.
stub_ss.add(files('cpu-synchronize-state.c'))
stub_ss.add(files('cpu-destroy-address-spaces.c'))
stub_ss.add(files('qom-compat-properties.c'))
# Stubs for QAPI events. Those can always be included in the build, but
# they are not built at all for --disable-system builds.
if not have_system
stub_ss.add(files('qdev.c'))
endif
endif
if have_system
# Symbols that are only needed in some configurations. Try not
# adding more of these. If the symbol is used in specific_ss,
# in particular, consider defining a preprocessor macro via
# Kconfig or configs/targets/.
stub_ss.add(files('cmos.c'))
stub_ss.add(files('fw_cfg.c'))
if igvm.found()
stub_ss.add(files('igvm.c'))
endif
stub_ss.add(files('kvm.c'))
stub_ss.add(files('win32-kbd-hook.c'))
stub_ss.add(files('xen-hw-stub.c'))
stub_ss.add(files('qmp-arm-gic.c'))
stub_ss.add(files('qmp-i386-rtc.c'))
stub_ss.add(files('qmp-i386-sev.c'))
stub_ss.add(files('qmp-i386-sgx.c'))
stub_ss.add(files('qmp-i386-xen.c'))
stub_ss.add(files('qmp-cpu-arm.c'))
stub_ss.add(files('qmp-cpu-i386.c'))
stub_ss.add(files('qmp-cpu-loongarch.c'))
stub_ss.add(files('qmp-cpu-mips.c'))
stub_ss.add(files('qmp-cpu-ppc.c'))
stub_ss.add(files('qmp-cpu-riscv.c'))
stub_ss.add(files('qmp-cpu-s390x.c'))
stub_ss.add(files('qmp-cpu-s390x-kvm.c'))
if have_hmp
stub_ss.add(files('hmp-cmd-info_mem.c'))
stub_ss.add(files('hmp-cmd-info_sev.c'))
stub_ss.add(files('hmp-cmd-info_tlb.c'))
stub_ss.add(files('hmp-cmds-hw-s390x.c'))
stub_ss.add(files('hmp-cmds-target-i386.c'))
endif
endif
if have_system or have_user
# Also included in have_system for --disable-tcg builds
stub_ss.add(files('replay.c'))
# Also included in have_system for tests/unit/test-qdev-global-props
stub_ss.add(files('hotplug-stubs.c'))
stub_ss.add(files('sysbus.c'))
endif