Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: 641f1c53862aec64810c0b93b5b1de49d55fda92 https://github.com/qemu/qemu/commit/641f1c53862aec64810c0b93b5b1de49d55fda92 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths: M docs/about/build-platforms.rst M scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml M scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml M tests/docker/dockerfiles/debian-amd64-cross.docker M tests/docker/dockerfiles/debian-arm64-cross.docker M tests/docker/dockerfiles/debian-armhf-cross.docker M tests/docker/dockerfiles/debian-i686-cross.docker M tests/docker/dockerfiles/debian-mips64el-cross.docker M tests/docker/dockerfiles/debian-mipsel-cross.docker M tests/docker/dockerfiles/debian-ppc64el-cross.docker M tests/docker/dockerfiles/debian-s390x-cross.docker M tests/docker/dockerfiles/debian.docker M tests/docker/dockerfiles/ubuntu2204.docker M tests/lcitool/mappings.yml M tests/lcitool/refresh Log Message: ----------- lcitool: use newer Rust for Debian and Ubuntu On Debian, the rustc-web package provides a newer Rust compiler (1.78) for all architectures except mips64el. On Ubuntu, Rust versions up to 1.80 (?) are available as of this writing for both Jammy (22.04) and Noble (24.04). However, the path to rustc and rustdoc must be provided by hand to the configure script using either command line arguments or environment variables. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: e0b2b74f70a85b16e9d4a9b6111e09956ae4cfd9 https://github.com/qemu/qemu/commit/e0b2b74f70a85b16e9d4a9b6111e09956ae4cfd9 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M meson.build M rust/Cargo.toml M rust/clippy.toml Log Message: ----------- meson, cargo: require Rust 1.77.0 Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: e4fb0be1d1d6b67df7709d84d16133b64f455ce8 https://github.com/qemu/qemu/commit/e4fb0be1d1d6b67df7709d84d16133b64f455ce8 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M rust/hw/char/pl011/src/device_class.rs M rust/hw/timer/hpet/src/hpet.rs M rust/qemu-api/src/chardev.rs M rust/qemu-api/src/irq.rs M rust/qemu-api/src/lib.rs M rust/qemu-api/src/memory.rs M rust/qemu-api/src/qdev.rs M rust/qemu-api/src/qom.rs M rust/qemu-api/src/timer.rs M rust/qemu-api/src/vmstate.rs M rust/qemu-api/tests/vmstate_tests.rs Log Message: ----------- rust: use std::ffi instead of std::os::raw This is allowed since Rust 1.64.0. Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 51209c2aed343a45f79b522706c807abbdcf01a3 https://github.com/qemu/qemu/commit/51209c2aed343a45f79b522706c807abbdcf01a3 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M subprojects/bilge-impl-0.2-rs.wrap R subprojects/packagefiles/bilge-impl-1.63.0.patch Log Message: ----------- rust: let bilge use "let ... else" "let ... else" was stabilized in 1.65.0; bumping the minimum supported Rust version means we don't need to patch it out anymore. Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 465a4b80e2afd93f2eb4c9f55233788ebfb47ac0 https://github.com/qemu/qemu/commit/465a4b80e2afd93f2eb4c9f55233788ebfb47ac0 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M rust/qemu-api-macros/src/lib.rs Log Message: ----------- rust: qemu_api_macros: make pattern matching more readable and efficient "let ... else" is useful when visiting syntax trees; it avoids multiple levels of indentation and places the error close to the pattern. While at it, use "ref" to avoid moving the syntax tree objects. Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 0823837224be428d643dc7000fa534f8aedea5fd https://github.com/qemu/qemu/commit/0823837224be428d643dc7000fa534f8aedea5fd Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M rust/hw/timer/hpet/src/fw_cfg.rs M rust/qemu-api/src/zeroable.rs Log Message: ----------- rust: use MaybeUninit::zeroed() in const context Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 3a1c694d74deb478d9822e585e90c5903852eb84 https://github.com/qemu/qemu/commit/3a1c694d74deb478d9822e585e90c5903852eb84 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M rust/qemu-api/src/qom.rs Log Message: ----------- rust: qom: fix TODO about zeroability of classes The proposed suggestion is not correct. First it is not necessary for *all* classes to be Zeroable, only for Rust-defined ones; classes defined in C never implement ObjectImpl. Second, the parent class field need not be Zeroable. For example, ChardevClass's chr_write and chr_be_event fields cannot be NULL, therefore ChardevClass cannot be Zeroable. However, char_class_init() initializes them, therefore ChardevClass could be subclassed by Rust code. Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 5df3fe062fb0be9a6689dc0336087b214dd30e5c https://github.com/qemu/qemu/commit/5df3fe062fb0be9a6689dc0336087b214dd30e5c Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M rust/Cargo.toml M rust/hw/timer/hpet/src/hpet.rs M rust/qemu-api/src/cell.rs M rust/qemu-api/src/chardev.rs M rust/qemu-api/src/qom.rs M rust/qemu-api/src/timer.rs Log Message: ----------- rust: enable clippy::ptr_cast_constness Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: b134a09ffab3b918979007cf40f603e5b54ed597 https://github.com/qemu/qemu/commit/b134a09ffab3b918979007cf40f603e5b54ed597 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M rust/Cargo.lock M rust/Cargo.toml M rust/hw/char/pl011/src/device.rs M rust/hw/timer/hpet/src/hpet.rs M rust/qemu-api-macros/src/lib.rs M rust/qemu-api/Cargo.toml M rust/qemu-api/build.rs M rust/qemu-api/meson.build M rust/qemu-api/src/lib.rs R rust/qemu-api/src/offset_of.rs M rust/qemu-api/src/qdev.rs M rust/qemu-api/src/vmstate.rs M rust/qemu-api/tests/tests.rs M rust/qemu-api/tests/vmstate_tests.rs Log Message: ----------- rust: remove offset_of replacement Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: f117857b39fb42c56be23316e2d76db5b13cec8d https://github.com/qemu/qemu/commit/f117857b39fb42c56be23316e2d76db5b13cec8d Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst M rust/hw/char/pl011/src/device_class.rs M rust/hw/char/pl011/src/lib.rs M rust/hw/timer/hpet/src/hpet.rs M rust/hw/timer/hpet/src/lib.rs M rust/qemu-api/meson.build R rust/qemu-api/src/c_str.rs M rust/qemu-api/src/cell.rs M rust/qemu-api/src/lib.rs M rust/qemu-api/src/vmstate.rs M rust/qemu-api/tests/tests.rs M rust/qemu-api/tests/vmstate_tests.rs Log Message: ----------- rust: replace c_str! with c"" literals Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 1017041ff4f04e3bdff6404b366d53c836f5d2fe https://github.com/qemu/qemu/commit/1017041ff4f04e3bdff6404b366d53c836f5d2fe Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/rust.rst Log Message: ----------- docs: rust: update for newer minimum supported version Remove leftover notes for Rust changes between 1.63.0 and 1.77.0. Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7abf0d95ac6437b38437ad75711c081363995285 https://github.com/qemu/qemu/commit/7abf0d95ac6437b38437ad75711c081363995285 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M target/i386/emulate/x86_decode.c M target/i386/emulate/x86_emu.c Log Message: ----------- target/i386/emulate: fix target_ulong format strings Do not assume that TARGET_FMT_lx is %llx. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c6b04613bdc9a911c0fbe7c114a421991721f878 https://github.com/qemu/qemu/commit/c6b04613bdc9a911c0fbe7c114a421991721f878 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M rust/Cargo.toml M rust/clippy.toml M rust/qemu-api-macros/src/lib.rs M rust/qemu-api/build.rs Log Message: ----------- rust: clippy: enable uninlined_format_args lint Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: eb8f7292e1315be0e36000a847b77153dcf460ef https://github.com/qemu/qemu/commit/eb8f7292e1315be0e36000a847b77153dcf460ef Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M .gitlab-ci.d/container-cross.yml M .gitlab-ci.d/crossbuilds.yml Log Message: ----------- ci: run RISC-V cross jobs by default The riscv64-debian-cross container is based on Trixie rather than sid these days, so it is pretty much as stable as the others. Enable it by default. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 821ee1c31427a4e08af030469311c2d8ed96f1d1 https://github.com/qemu/qemu/commit/821ee1c31427a4e08af030469311c2d8ed96f1d1 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M docs/devel/build-system.rst Log Message: ----------- docs: build-system: fix typo Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 44d3ec593b0afd2f8cfaf2ba2149465ee3541695 https://github.com/qemu/qemu/commit/44d3ec593b0afd2f8cfaf2ba2149465ee3541695 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper.c: Fix type conflict of GLib function pointers On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/7d56c82382e8b4f1694b6d7883b2ce3084fdc72d.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 84cb7025fa9378993dbd6242ab2c3fa556ed2a2c https://github.com/qemu/qemu/commit/84cb7025fa9378993dbd6242ab2c3fa556ed2a2c Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M target/i386/cpu.c Log Message: ----------- target/i386/cpu.c: Fix type conflict of GLib function pointers On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/8ee6c2b02c97d5db358c3eb290d00afe71d1ceb7.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: bea4eb18c501e8b55debb1bdc6ccfee2791e1643 https://github.com/qemu/qemu/commit/bea4eb18c501e8b55debb1bdc6ccfee2791e1643 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M target/ppc/cpu_init.c Log Message: ----------- target/ppc: Fix type conflict of GLib function pointers On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/d917055d35f5ff7316ccdcbdf57af9a7bd85bf29.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c4eb098bc1cf3dbcc3627352031c086a6969a7cf https://github.com/qemu/qemu/commit/c4eb098bc1cf3dbcc3627352031c086a6969a7cf Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M target/s390x/cpu_models.c Log Message: ----------- target/s390x: Fix type conflict of GLib function pointers On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Thomas Huth <th...@redhat.com> Link: https://lore.kernel.org/r/e91c4e266b839f62b5c41173a05896b210ae1180.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4cd5a25557cab10f8ef81407bed0dd6512526c1c https://github.com/qemu/qemu/commit/4cd5a25557cab10f8ef81407bed0dd6512526c1c Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M include/glib-compat.h Log Message: ----------- include/glib-compat.h: Poison g_list_sort and g_slist_sort On Emscripten, function pointer casts can result in runtime failures due to strict function signature checks. This affects the use of g_list_sort and g_slist_sort, which internally perform function pointer casts that are not supported by Emscripten. To avoid these issues, g_list_sort_with_data and g_slist_sort_with_data should be used instead, as they do not rely on function pointer casting. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Thomas Huth <th...@redhat.com> Link: https://lore.kernel.org/r/fa57c8069d6c723f5b947560677f4ca596334330.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4c7c05171902d2da678f85c035efdf412ce91c4f https://github.com/qemu/qemu/commit/4c7c05171902d2da678f85c035efdf412ce91c4f Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M include/qemu/cacheflush.h M util/cacheflush.c Log Message: ----------- util/cacheflush.c: Update cache flushing mechanism for Emscripten Although __builtin___clear_cache is used to flush the instruction cache for a specified memory region, this operation doesn't apply to wasm, as its memory isn't executable. Moreover, Emscripten does not support this builtin and fails to compile it with the following error. > fatal error: error in backend: llvm.clear_cache is not supported on wasm To resolve this, this commit removes the call to __builtin___clear_cache for Emscripten build. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Link: https://lore.kernel.org/r/2926a798fa52a3a5b11c3df4edd1643d2b7cdcb9.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 45e82e495d6a9bf59ee80ed2d4c362596f1b559e https://github.com/qemu/qemu/commit/45e82e495d6a9bf59ee80ed2d4c362596f1b559e Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M block/file-posix.c Log Message: ----------- block: Add including of ioctl header for Emscripten build Including <sys/ioctl.h> is still required on Emscripten, just like on other platforms, to make the ioctl function available. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Link: https://lore.kernel.org/r/49b6ecdbd23ff83e3f191ef8a9f7cc2feeaea43f.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 208808242f8a34ac93e73c1c1dbafe4c00498f5e https://github.com/qemu/qemu/commit/208808242f8a34ac93e73c1c1dbafe4c00498f5e Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M block/file-posix.c Log Message: ----------- block: Fix type conflict of the copy_file_range stub Emscripten doesn't provide copy_file_range implementation but it declares this function in its headers. Meson correctly detects the missing implementation and unsets HAVE_COPY_FILE_RANGE. However, the stub defined in file-posix.c causes a type conflict with the declaration from Emscripten during compilation. To fix this error, this commit updates the stub implementation in file-posix.c to exactly match the declaration in Emscripten's headers. The manpage also aligns with this signature. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Link: https://lore.kernel.org/r/938d2beba15d4bd496a600ee401995fbaa385c62.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 0f46bf659f015d4860c7212b4a6f0656b312d4f4 https://github.com/qemu/qemu/commit/0f46bf659f015d4860c7212b4a6f0656b312d4f4 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M MAINTAINERS M include/qemu/osdep.h A include/system/os-wasm.h A os-wasm.c Log Message: ----------- include/qemu/osdep.h: Add Emscripten-specific OS dependencies On emscripten, some implementations in os-posix.c can't be used such as daemonizing and changing user. This commit introduces os-wasm.c and os-wasm.h which are forked from os-posix.c and os-posix.h and patched for targetting Emscripten. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/9fc7b106ecf86675b4532bd6778b7b5945442f89.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 1a8964424036cdfe1bd11180953d4e95123990f5 https://github.com/qemu/qemu/commit/1a8964424036cdfe1bd11180953d4e95123990f5 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M qemu-options.hx M system/vl.c Log Message: ----------- Disable options unsupported on Emscripten Daemonizing and run-with aren't supported on Emscripten so disable these flags. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Link: https://lore.kernel.org/r/79c5e591b634762703f3eef6427a192d145799e4.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 8e72b0eb1842ac9813228ad9d9c29203f3823d99 https://github.com/qemu/qemu/commit/8e72b0eb1842ac9813228ad9d9c29203f3823d99 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M backends/meson.build M system/memory.c M system/physmem.c M util/meson.build M util/oslib-posix.c Log Message: ----------- 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] https://github.com/emscripten-core/emscripten/blob/d4a74336f23214bf3304d9eb0d03966786b30a36/system/lib/libc/emscripten_mmap.c#L61 Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/76834f933ee4f14eeb5289d21c59d306886e58e9.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 5b78d120ffa2c343728600082777a49cbc825ee1 https://github.com/qemu/qemu/commit/5b78d120ffa2c343728600082777a49cbc825ee1 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M MAINTAINERS A util/coroutine-wasm.c Log Message: ----------- util: Add coroutine backend for emscripten Emscripten does not support couroutine methods currently used by QEMU but provides a coroutine implementation called "fiber". This commit introduces a coroutine backend using fiber. Note that fiber does not support submitting coroutines to other threads. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Link: https://lore.kernel.org/r/006b683fd578ed6303a2dc8679094da9a7e6dfb4.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: ccc403ed5844613849deeaf18cba380b55b6e9bf https://github.com/qemu/qemu/commit/ccc403ed5844613849deeaf18cba380b55b6e9bf Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M MAINTAINERS A configs/meson/emscripten.txt M configure M meson.build M meson_options.txt M scripts/meson-buildoptions.sh Log Message: ----------- meson: Add wasm build in build scripts has_int128_type is set to false on emscripten as of now to avoid errors by libffi. Tests are disabled on emscripten because they rely on host features that aren't supported by emscripten (e.g. fork and unix socket). Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/ad03b3b180335f59e785e930968077bf15c46260.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 8574be0ebc8ad7729ad146055317550e5f6c3e1d https://github.com/qemu/qemu/commit/8574be0ebc8ad7729ad146055317550e5f6c3e1d Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M MAINTAINERS A tests/docker/dockerfiles/emsdk-wasm32-cross.docker Log Message: ----------- tests: Add Dockerfile containing dependencies for Emscripten build The added Dockerfile is based on the emsdk image, which includes the Emscripten toolchain. It also cross-compiles the necessary dependencies (glib, libffi, pixman, and zlib) for the Emscripten target environment. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/8bed6e9d46ef09328a87320928b5dec575d1e435.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: e6b9b79c3076777b791f72ebdbc9d37ad8005fe9 https://github.com/qemu/qemu/commit/e6b9b79c3076777b791f72ebdbc9d37ad8005fe9 Author: Kohei Tokunaga <ktokunaga.m...@gmail.com> Date: 2025-05-06 (Tue, 06 May 2025) Changed paths: M .gitlab-ci.d/buildtest-template.yml M .gitlab-ci.d/buildtest.yml M .gitlab-ci.d/container-cross.yml Log Message: ----------- gitlab: Enable CI for wasm build Add GitLab CI job that builds QEMU using emscripten. The build runs in the container defined in tests/docker/dockerfiles/emsdk-wasm32-cross.docker. Signed-off-by: Kohei Tokunaga <ktokunaga.m...@gmail.com> Link: https://lore.kernel.org/r/ade0deb2dc65618a91755590f6729485b4001b94.1745820062.git.ktokunaga.m...@gmail.com Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c5f122fdcc280a82e7c5f31de890f985aa7ba773 https://github.com/qemu/qemu/commit/c5f122fdcc280a82e7c5f31de890f985aa7ba773 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-07 (Wed, 07 May 2025) Changed paths: M .gitlab-ci.d/buildtest-template.yml M .gitlab-ci.d/buildtest.yml M .gitlab-ci.d/container-cross.yml M .gitlab-ci.d/crossbuilds.yml M MAINTAINERS M backends/meson.build M block/file-posix.c A configs/meson/emscripten.txt M configure M docs/about/build-platforms.rst M docs/devel/build-system.rst M docs/devel/rust.rst M include/glib-compat.h M include/qemu/cacheflush.h M include/qemu/osdep.h A include/system/os-wasm.h M meson.build M meson_options.txt A os-wasm.c M qemu-options.hx M rust/Cargo.lock M rust/Cargo.toml M rust/clippy.toml M rust/hw/char/pl011/src/device.rs M rust/hw/char/pl011/src/device_class.rs M rust/hw/char/pl011/src/lib.rs M rust/hw/timer/hpet/src/fw_cfg.rs M rust/hw/timer/hpet/src/hpet.rs M rust/hw/timer/hpet/src/lib.rs M rust/qemu-api-macros/src/lib.rs M rust/qemu-api/Cargo.toml M rust/qemu-api/build.rs M rust/qemu-api/meson.build R rust/qemu-api/src/c_str.rs M rust/qemu-api/src/cell.rs M rust/qemu-api/src/chardev.rs M rust/qemu-api/src/irq.rs M rust/qemu-api/src/lib.rs M rust/qemu-api/src/memory.rs R rust/qemu-api/src/offset_of.rs M rust/qemu-api/src/qdev.rs M rust/qemu-api/src/qom.rs M rust/qemu-api/src/timer.rs M rust/qemu-api/src/vmstate.rs M rust/qemu-api/src/zeroable.rs M rust/qemu-api/tests/tests.rs M rust/qemu-api/tests/vmstate_tests.rs M scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml M scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml M scripts/meson-buildoptions.sh M subprojects/bilge-impl-0.2-rs.wrap R subprojects/packagefiles/bilge-impl-1.63.0.patch M system/memory.c M system/physmem.c M system/vl.c M target/arm/helper.c M target/i386/cpu.c M target/i386/emulate/x86_decode.c M target/i386/emulate/x86_emu.c M target/ppc/cpu_init.c M target/s390x/cpu_models.c M tests/docker/dockerfiles/debian-amd64-cross.docker M tests/docker/dockerfiles/debian-arm64-cross.docker M tests/docker/dockerfiles/debian-armhf-cross.docker M tests/docker/dockerfiles/debian-i686-cross.docker M tests/docker/dockerfiles/debian-mips64el-cross.docker M tests/docker/dockerfiles/debian-mipsel-cross.docker M tests/docker/dockerfiles/debian-ppc64el-cross.docker M tests/docker/dockerfiles/debian-s390x-cross.docker M tests/docker/dockerfiles/debian.docker A tests/docker/dockerfiles/emsdk-wasm32-cross.docker M tests/docker/dockerfiles/ubuntu2204.docker M tests/lcitool/mappings.yml M tests/lcitool/refresh M util/cacheflush.c A util/coroutine-wasm.c M util/meson.build M util/oslib-posix.c Log Message: ----------- Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging * ci: enable RISC-V cross jobs * rust: bump minimum supported version to 1.77 * rust: enable uninlined_format_args lint * initial Emscripten support * small fixes # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmgaFq8UHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroOxAAf/YPKw5KAoE5SwUqJ0oSOMHrU0w4jc # A2Qiw1uziA6kDmUMUXwWR7Qbd8V7jtihGrgTrIPopeavgWWQeNsBHjN4WxHRI7aq # +429rjzFo9V9tSfgp6UcLQSk/9kC4ygEwPnesHpKd27fS6z9Wg4AQkj1iFipR179 # wC3fqwOqqWZSjfUd7wjo7McFYZgL5j/cxmFXePh8+fdT+6PUKdG9nRW86KUPDZ+A # 8HxcuOW7GZd+LhnYUhi7vlLFo/RgVsGQWj0Q4BDJvUkKa13t9UUCGff7uQP2AC3v # ny0gWDcmbWY1L/QXyNzhgd44X4LAjCmpnonlYnrdZizEmhv3aByd+fANgw== # =uIJK # -----END PGP SIGNATURE----- # gpg: Signature made Tue 06 May 2025 10:03:27 EDT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonz...@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonz...@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonz...@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (30 commits) gitlab: Enable CI for wasm build tests: Add Dockerfile containing dependencies for Emscripten build meson: Add wasm build in build scripts util: Add coroutine backend for emscripten util: exclude mmap-alloc.c from compilation target on Emscripten Disable options unsupported on Emscripten include/qemu/osdep.h: Add Emscripten-specific OS dependencies block: Fix type conflict of the copy_file_range stub block: Add including of ioctl header for Emscripten build util/cacheflush.c: Update cache flushing mechanism for Emscripten include/glib-compat.h: Poison g_list_sort and g_slist_sort target/s390x: Fix type conflict of GLib function pointers target/ppc: Fix type conflict of GLib function pointers target/i386/cpu.c: Fix type conflict of GLib function pointers target/arm/helper.c: Fix type conflict of GLib function pointers docs: build-system: fix typo ci: run RISC-V cross jobs by default rust: clippy: enable uninlined_format_args lint target/i386/emulate: fix target_ulong format strings docs: rust: update for newer minimum supported version ... Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 4b1f5b73e060971c434e70694d571adfee553027 https://github.com/qemu/qemu/commit/4b1f5b73e060971c434e70694d571adfee553027 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-08 (Thu, 08 May 2025) Changed paths: M tests/functional/test_hppa_seabios.py Log Message: ----------- tests/functional: Use -no-shutdown in the hppa_seabios test qemu-system-hppa shuts down automatically when the BIOS is unable to boot from any device. So this test currently fails occasionally when QEMU already quit, but the test still expected it to be around (e.g. to shut it down cleanly). Adding a "-no-shutdown" seems to make it reliable. While we're at it, also remove the stray "self.machine" in there that does not have any purpose. Signed-off-by: Thomas Huth <th...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Message-id: 20250508180918.228757-1-th...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/57b6f8d07f14...4b1f5b73e060 To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications