qemu/backends
Kohei Tokunaga 8e72b0eb18 util: exclude mmap-alloc.c from compilation target on Emscripten
Emscripten does not support partial unmapping of mmapped memory
regions[1]. This limitation prevents correct implementation of qemu_ram_mmap
and qemu_ram_munmap, which rely on partial unmap behavior.

As a workaround, this commit excludes mmap-alloc.c from the Emscripten
build. Instead, for Emscripten build, this modifies qemu_anon_ram_alloc to
use qemu_memalign in place of qemu_ram_mmap, and disable memory backends
that rely on mmap, such as memory-backend-file and memory-backend-shm.

[1] d4a74336f2/system/lib/libc/emscripten_mmap.c (L61)

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
Link: https://lore.kernel.org/r/76834f933ee4f14eeb5289d21c59d306886e58e9.1745820062.git.ktokunaga.mail@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-06 16:02:04 +02:00
..
tpm qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
confidential-guest-support.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-builtin.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
cryptodev-lkcf.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-vhost-user.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-vhost.c cryptodev/vhost: allocate CryptoDevBackendVhost using g_mem0() 2025-02-21 07:18:42 -05:00
cryptodev.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
dbus-vmstate.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
dbus-vmstate1.xml docs: move D-Bus VMState documentation to source XML 2021-12-21 10:50:21 +04:00
host_iommu_device.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-epc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-file.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-memfd.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-ram.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-shm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
iommufd.c Various patches loosely related to single binary work: 2025-04-27 12:47:16 -04:00
Kconfig backends: Initial support for SPDM socket support 2024-07-22 20:15:42 -04:00
meson.build util: exclude mmap-alloc.c from compilation target on Emscripten 2025-05-06 16:02:04 +02:00
rng-builtin.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng-egd.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng-random.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
spdm-socket.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events vfio/iommufd: Implement VFIOIOMMUClass::query_dirty_bitmap support 2024-07-23 17:14:52 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00