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

Reply via email to