qemu/accel
Philippe Mathieu-Daudé 558ee1ede6 qdev: Implement qdev_create_fake_machine() for user emulation
When a QDev instance is realized, qdev_get_machine() ends up called.
In the next commit, qdev_get_machine() will require a "machine"
container to be always present. To satisfy this QOM containers design,
Implement qdev_create_fake_machine() which creates a fake "machine"
container for user emulation.

On system emulation, qemu_create_machine() is called from qemu_init().
For user emulation, since the TCG accelerator always calls
tcg_init_machine(), we use it to hook our fake machine creation.

Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250102211800.79235-2-philmd@linaro.org>
2025-01-09 18:16:24 +01:00
..
hvf include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kvm Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
qtest include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
stubs include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tcg qdev: Implement qdev_create_fake_machine() for user emulation 2025-01-09 18:16:24 +01:00
xen include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
accel-blocker.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
accel-system.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
accel-system.h accel: Rename accel_init_ops_interfaces() to include 'system' 2024-01-19 12:28:59 +01:00
accel-target.c accel: Rename accel_init_ops_interfaces() to include 'system' 2024-01-19 12:28:59 +01:00
accel-user.c accel: extend AccelState and AccelClass to user-mode 2021-02-05 10:24:15 -10:00
dummy-cpus.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
Kconfig i386: xen: fix compilation --without-default-devices 2024-02-16 13:56:09 +01:00
meson.build accel: Rename accel_softmmu* -> accel_system* 2023-10-07 19:02:57 +02:00