2024-04-08 18:53:29 +03:00
|
|
|
# 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.
|
|
|
|
|
2020-08-19 15:44:56 +03:00
|
|
|
stub_ss.add(files('cpu-get-clock.c'))
|
2024-06-05 18:25:49 +03:00
|
|
|
stub_ss.add(files('error-printf.c'))
|
2020-08-19 15:44:56 +03:00
|
|
|
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'))
|
2024-04-08 18:53:28 +03:00
|
|
|
stub_ss.add(files('replay-mode.c'))
|
2020-08-19 15:44:56 +03:00
|
|
|
stub_ss.add(files('trace-control.c'))
|
2024-04-08 18:53:29 +03:00
|
|
|
|
|
|
|
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'))
|
replay: do not build if TCG is not available
this fixes non-TCG builds broken recently by replay reverse debugging.
Stub the needed functions in stub/, splitting roughly between functions
needed only by system emulation, by system emulation and tools,
and by everyone. This includes duplicating some code in replay/, and
puts the logic for non-replay related events in the replay/ module (+
the stubs), so this should be revisited in the future.
Surprisingly, only _one_ qtest was affected by this, ide-test.c, which
resulted in a buzz as the bh events were never delivered, and the bh
never executed.
Many other subsystems _should_ have been affected.
This fixes the immediate issue, however a better way to group replay
functionality to TCG-only code could be developed in the long term.
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20201013192123.22632-4-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-13 22:21:23 +03:00
|
|
|
endif
|
2024-04-08 18:53:29 +03:00
|
|
|
|
|
|
|
if have_block or have_ga
|
2024-04-26 15:13:42 +03:00
|
|
|
stub_ss.add(files('replay-tools.c'))
|
2024-04-08 18:53:29 +03:00
|
|
|
# stubs for hooks in util/main-loop.c, util/async.c etc.
|
2024-06-20 18:22:12 +03:00
|
|
|
stub_ss.add(files('cpus-virtual-clock.c'))
|
2024-04-08 18:53:29 +03:00
|
|
|
stub_ss.add(files('icount.c'))
|
|
|
|
stub_ss.add(files('graph-lock.c'))
|
|
|
|
if linux_io_uring.found()
|
|
|
|
stub_ss.add(files('io_uring.c'))
|
|
|
|
endif
|
|
|
|
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'))
|
|
|
|
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'))
|
2024-10-21 19:07:16 +03:00
|
|
|
|
|
|
|
# Stubs for QAPI events. Those can always be included in the build, but
|
|
|
|
# they are not built at all for --disable-system --disable-tools builds.
|
|
|
|
if not (have_system or have_tools)
|
|
|
|
stub_ss.add(files('qdev.c'))
|
|
|
|
endif
|
2024-04-08 18:53:29 +03:00
|
|
|
endif
|
|
|
|
|
2020-08-19 15:44:56 +03:00
|
|
|
if have_system
|
2024-04-08 18:53:29 +03:00
|
|
|
# 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('dump.c'))
|
|
|
|
stub_ss.add(files('cmos.c'))
|
2022-01-11 13:44:18 +03:00
|
|
|
stub_ss.add(files('fw_cfg.c'))
|
2024-04-08 18:53:29 +03:00
|
|
|
stub_ss.add(files('target-get-monitor-def.c'))
|
|
|
|
stub_ss.add(files('target-monitor-defs.c'))
|
|
|
|
stub_ss.add(files('win32-kbd-hook.c'))
|
2020-09-08 18:55:28 +03:00
|
|
|
stub_ss.add(files('xen-hw-stub.c'))
|
2024-04-08 18:53:29 +03:00
|
|
|
endif
|
|
|
|
|
|
|
|
if have_system or have_user
|
|
|
|
stub_ss.add(files('gdbstub.c'))
|
|
|
|
|
|
|
|
# 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'))
|
2020-08-19 15:44:56 +03:00
|
|
|
endif
|