Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: df45e26a81022f4f8f976b603cb0466b1cd64baf
      
https://github.com/qemu/qemu/commit/df45e26a81022f4f8f976b603cb0466b1cd64baf
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M docs/devel/rust.rst

  Log Message:
  -----------
  rust: docs: document naming convention

As agreed in the "vtables and procedural macros" thread on
the mailing list.

Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 0fcccf3ff04a54d597bffcb7a42668c52a7dcec0
      
https://github.com/qemu/qemu/commit/0fcccf3ff04a54d597bffcb7a42668c52a7dcec0
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/qom.rs
    M rust/qemu-api/src/vmstate.rs
    M rust/qemu-api/tests/tests.rs

  Log Message:
  -----------
  rust: qom: add reference counting functionality

Add a smart pointer that allows to add and remove references from
QOM objects.  It's important to note that while all QOM objects have a
reference count, in practice not all of them have their lifetime guarded
by it.  Embedded objects, specifically, are confined to the lifetime of
the owner.

When writing Rust bindings this is important, because embedded objects are
*never* used through the "Owned<>" smart pointer that is introduced here.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: ec3eba98967014f942bafb4307303d853d96e7e7
      
https://github.com/qemu/qemu/commit/ec3eba98967014f942bafb4307303d853d96e7e7
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/hw/char/pl011/src/device.rs
    M rust/qemu-api/src/prelude.rs
    M rust/qemu-api/src/qom.rs
    M rust/qemu-api/tests/tests.rs

  Log Message:
  -----------
  rust: qom: add object creation functionality

The basic object lifecycle test can now be implemented using safe code!

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 66bcc554d27f693f89bf04df24d474463a90a894
      
https://github.com/qemu/qemu/commit/66bcc554d27f693f89bf04df24d474463a90a894
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/callbacks.rs

  Log Message:
  -----------
  rust: callbacks: allow passing optional callbacks as ()

In some cases, callbacks are optional.  Using "Some(function)" and "None"
does not work well, because when someone writes "None" the compiler does
not know what to use for "F" in "Option<F>".

Therefore, adopt () to mean a "null" callback.  It is possible to enforce
that a callback is valid by adding a "let _: () = F::ASSERT_IS_SOME" before
the invocation of F::call.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 201ef001dd40fdb11c83f3e47604219c374590ec
      
https://github.com/qemu/qemu/commit/201ef001dd40fdb11c83f3e47604219c374590ec
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/hw/char/pl011/src/device.rs
    M rust/qemu-api/src/prelude.rs
    M rust/qemu-api/src/qdev.rs
    M rust/qemu-api/src/vmstate.rs

  Log Message:
  -----------
  rust: qdev: add clock creation

Add a Rust version of qdev_init_clock_in, which can be used in
instance_init.  There are a couple differences with the C
version:

- in Rust the object keeps its own reference to the clock (in addition to
  the one embedded in the NamedClockList), and the reference is dropped
  automatically by instance_finalize(); this is encoded in the signature
  of DeviceClassMethods::init_clock_in, which makes the lifetime of the
  clock independent of that of the object it holds.  This goes unnoticed
  in the C version and is due to the existence of aliases.

- also, anything that happens during instance_init uses the pinned_init
  framework to operate on a partially initialized object, and is done
  through class methods (i.e. through DeviceClassMethods rather than
  DeviceMethods) because the device does not exist yet.  Therefore, Rust
  code *must* create clocks from instance_init, which is stricter than C.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 688c67415858684a2feef4477e6bc8159ac090bd
      
https://github.com/qemu/qemu/commit/688c67415858684a2feef4477e6bc8159ac090bd
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/prelude.rs
    M rust/qemu-api/src/qom.rs

  Log Message:
  -----------
  rust: qom: allow initializing interface vtables

Unlike regular classes, interface vtables can only be obtained via
object_class_dynamic_cast.  Provide a wrapper that allows accessing
the vtable and pass it to a ClassInitImpl implementation, for example
ClassInitImpl<ResettableClass>.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 68da5402df003a855c581563acc6f5f8c5d563f0
      
https://github.com/qemu/qemu/commit/68da5402df003a855c581563acc6f5f8c5d563f0
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/qdev.rs

  Log Message:
  -----------
  rust: qdev: make ObjectImpl a supertrait of DeviceImpl

In practice it has to be implemented always in order to access an
implementation of ClassInitImpl<ObjectClass>.  Make the relationship
explicit in the code.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 5472a38cb9e10bda897fc29d4841c00476f22585
      
https://github.com/qemu/qemu/commit/5472a38cb9e10bda897fc29d4841c00476f22585
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M meson.build
    M rust/hw/char/pl011/src/device.rs
    M rust/qemu-api/src/qdev.rs
    M rust/qemu-api/tests/tests.rs

  Log Message:
  -----------
  rust: qdev: switch from legacy reset to Resettable

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: d449d29a99dc132d4a49351e3501b6bff7500784
      
https://github.com/qemu/qemu/commit/d449d29a99dc132d4a49351e3501b6bff7500784
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/bindings.rs
    M rust/qemu-api/src/irq.rs

  Log Message:
  -----------
  rust: bindings: add Send and Sync markers for types that have bindings

This is needed for the MemoryRegionOps<T> to be declared as static;
Rust requires static elements to be Sync.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 590faa03ee64b4221d1be39949190e82e361efb7
      
https://github.com/qemu/qemu/commit/590faa03ee64b4221d1be39949190e82e361efb7
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M docs/devel/rust.rst
    M rust/hw/char/pl011/src/device.rs
    M rust/hw/char/pl011/src/lib.rs
    R rust/hw/char/pl011/src/memory_ops.rs
    M rust/qemu-api/meson.build
    M rust/qemu-api/src/lib.rs
    A rust/qemu-api/src/memory.rs
    M rust/qemu-api/src/sysbus.rs
    M rust/qemu-api/src/zeroable.rs

  Log Message:
  -----------
  rust: bindings for MemoryRegionOps

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 61faf6ac7b25b9a743817f0c5fc935a6cdfa7dfb
      
https://github.com/qemu/qemu/commit/61faf6ac7b25b9a743817f0c5fc935a6cdfa7dfb
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/irq.rs

  Log Message:
  -----------
  rust: irq: define ObjectType for IRQState

This is a small preparation in order to use an Owned<IRQState> for the argument
to sysbus_connect_irq.

Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: a22bd55ffd889f3027c3158d0014c76f204c69dd
      
https://github.com/qemu/qemu/commit/a22bd55ffd889f3027c3158d0014c76f204c69dd
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/hw/char/pl011/src/device.rs
    M rust/qemu-api/meson.build
    A rust/qemu-api/src/chardev.rs
    M rust/qemu-api/src/lib.rs
    M rust/qemu-api/src/qdev.rs

  Log Message:
  -----------
  rust: chardev, qdev: add bindings to qdev_prop_set_chr

Because the argument to the function is an Owned<Chardev>, this also
adds an ObjectType implementation to Chardev.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 7630ca2a701a0f79728996e660cda06518c97b9b
      
https://github.com/qemu/qemu/commit/7630ca2a701a0f79728996e660cda06518c97b9b
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/hw/char/pl011/src/device.rs
    M rust/qemu-api/src/sysbus.rs

  Log Message:
  -----------
  rust: pl011: convert pl011_create to safe Rust

Not a major change but, as a small but significant step in creating
qdev bindings, show how pl011_create can be written without "unsafe"
calls (apart from converting pointers to references).

This also provides a starting point for creating Error** bindings.

Reviewed-by: Zhao Liu <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: f32352ff9ea1ce3bdf432e29a587ccf84b1ec57a
      
https://github.com/qemu/qemu/commit/f32352ff9ea1ce3bdf432e29a587ccf84b1ec57a
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M hw/i386/fw_cfg.c
    M hw/timer/hpet.c
    M include/hw/timer/hpet.h

  Log Message:
  -----------
  i386/fw_cfg: move hpet_cfg definition to hpet.c

HPET device needs to access and update hpet_cfg variable, but now it is
defined in hw/i386/fw_cfg.c and Rust code can't access it.

Move hpet_cfg definition to hpet.c (and rename it to hpet_fw_cfg). This
allows Rust HPET device implements its own global hpet_fw_cfg variable,
and will further reduce the use of unsafe C code access and calls in the
Rust HPET implementation.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 7f2d4181a3efc3c1fd9de4bdca81317a1116239a
      
https://github.com/qemu/qemu/commit/7f2d4181a3efc3c1fd9de4bdca81317a1116239a
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/qdev.rs

  Log Message:
  -----------
  rust/qdev: add the macro to define bit property

HPET device (Rust device) needs to define the bit type property.

Add a variant of define_property macro to define bit type property.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: e6f1195f55427bf246bb85b1bcbbfd8fbdc51889
      
https://github.com/qemu/qemu/commit/e6f1195f55427bf246bb85b1bcbbfd8fbdc51889
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/irq.rs

  Log Message:
  -----------
  rust/irq: Add a helper to convert [InterruptSource] to pointer

This is useful when taking an InterruptSource slice and passing it to C
function.

Suggested-by: Paolo Bonzini <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 9a96d410073df04808c6757fd4aab6cb8684b301
      
https://github.com/qemu/qemu/commit/9a96d410073df04808c6757fd4aab6cb8684b301
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/irq.rs
    M rust/qemu-api/src/qdev.rs

  Log Message:
  -----------
  rust: add bindings for gpio_{in|out} initialization

Wrap qdev_init_gpio_{in|out} as methods in DeviceMethods. And for
qdev_init_gpio_in, based on FnCall, it can support idiomatic Rust
callback without the need for C style wrapper.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: d015d4cbb4d16cf8adc8c10cbd2d0a45f014dad1
      
https://github.com/qemu/qemu/commit/d015d4cbb4d16cf8adc8c10cbd2d0a45f014dad1
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/memory.rs
    M rust/qemu-api/src/zeroable.rs
    M rust/wrapper.h

  Log Message:
  -----------
  rust: add bindings for memattrs

The MemTxAttrs structure contains bitfield members, and bindgen is
unable to generate an equivalent macro definition for
MEMTXATTRS_UNSPECIFIED.

Therefore, manually define a global constant variable
MEMTXATTRS_UNSPECIFIED to support calls from Rust code.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: eadb83f9a3722045e291b6a73994004007dc4657
      
https://github.com/qemu/qemu/commit/eadb83f9a3722045e291b6a73994004007dc4657
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M docs/devel/rust.rst
    M meson.build
    M rust/qemu-api/meson.build
    M rust/qemu-api/src/lib.rs
    A rust/qemu-api/src/timer.rs
    M rust/wrapper.h

  Log Message:
  -----------
  rust: add bindings for timer

Add timer bindings to help handle idiomatic Rust callbacks.

Additionally, wrap QEMUClockType in ClockType binding to avoid unsafe
calls in device code.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 0534248a6b515cb4dea29a6fd6c256dc77f2a953
      
https://github.com/qemu/qemu/commit/0534248a6b515cb4dea29a6fd6c256dc77f2a953
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/Cargo.lock
    M rust/Cargo.toml
    M rust/hw/meson.build
    A rust/hw/timer/hpet/Cargo.toml
    A rust/hw/timer/hpet/meson.build
    A rust/hw/timer/hpet/src/fw_cfg.rs
    A rust/hw/timer/hpet/src/lib.rs
    A rust/hw/timer/meson.build
    M rust/qemu-api/src/zeroable.rs

  Log Message:
  -----------
  rust/timer/hpet: define hpet_fw_cfg

Define HPETFwEntry structure with the same memory layout as
hpet_fw_entry in C.

Further, define the global hpet_cfg variable in Rust which is the
same as the C version. This hpet_cfg variable in Rust will replace
the C version one and allows both Rust code and C code to access it.

The Rust version of hpet_cfg is self-contained, avoiding unsafe
access to C code.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 269a8f155c7265488945e60ef0cae77556017ddd
      
https://github.com/qemu/qemu/commit/269a8f155c7265488945e60ef0cae77556017ddd
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    A rust/hw/timer/hpet/src/hpet.rs
    M rust/hw/timer/hpet/src/lib.rs
    M rust/wrapper.h

  Log Message:
  -----------
  rust/timer/hpet: add basic HPET timer and HPETState

Add the HPETTimer and HPETState (HPET timer block), along with their
basic methods and register definitions.

This is in preparation for supporting the QAPI interfaces.

Note, wrap all items in HPETState that may be changed in the callback
called by C code into the BqlCell/BqlRefCell.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 6e90a8f8136f65273fe7320904e06b27a8a40eda
      
https://github.com/qemu/qemu/commit/6e90a8f8136f65273fe7320904e06b27a8a40eda
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    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

  Log Message:
  -----------
  rust/timer/hpet: add qom and qdev APIs support

Implement QOM & QAPI support for HPET device.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: d128c341a744ba3e92fa67d9f1b02dd9a7bd68b9
      
https://github.com/qemu/qemu/commit/d128c341a744ba3e92fa67d9f1b02dd9a7bd68b9
  Author: Zhao Liu <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M configs/devices/i386-softmmu/default.mak
    M hw/i386/pc.c
    M hw/timer/Kconfig
    M rust/hw/Kconfig
    A rust/hw/timer/Kconfig
    M tests/qtest/meson.build

  Log Message:
  -----------
  i386: enable rust hpet for pc when rust is enabled

Add HPET configuration in PC's Kconfig options, and select HPET device
(Rust version) if Rust is supported.

Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: ebacd14a6f97b6235e078d9a9ac8a342a3be7c96
      
https://github.com/qemu/qemu/commit/ebacd14a6f97b6235e078d9a9ac8a342a3be7c96
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/assertions.rs
    M rust/qemu-api/src/bindings.rs
    M rust/qemu-api/src/c_str.rs
    M rust/qemu-api/src/offset_of.rs
    M rust/qemu-api/src/prelude.rs
    M rust/qemu-api/src/sysbus.rs
    M rust/qemu-api/src/zeroable.rs

  Log Message:
  -----------
  rust: qemu_api: add a documentation header for all modules

Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: ee7d3aec54a32ce53c9b5ca86c75c945a877db19
      
https://github.com/qemu/qemu/commit/ee7d3aec54a32ce53c9b5ca86c75c945a877db19
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M rust/qemu-api/src/vmstate.rs

  Log Message:
  -----------
  rust: vmstate: remove redundant link targets

Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 16534af51bc0e9c3db94097ab37ebd3ed50e1c0f
      
https://github.com/qemu/qemu/commit/16534af51bc0e9c3db94097ab37ebd3ed50e1c0f
  Author: Paolo Bonzini <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml
    M rust/qemu-api/src/vmstate.rs
    M rust/qemu-api/src/zeroable.rs

  Log Message:
  -----------
  rust: fix doctests

Doctests were not being run by CI, and have broken. Fix them.

Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 4dafba778aa3e5f5fd3b2c6333afd7650dcf54e2
      
https://github.com/qemu/qemu/commit/4dafba778aa3e5f5fd3b2c6333afd7650dcf54e2
  Author: Volker Rümelin <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M ui/meson.build
    M ui/sdl2.c

  Log Message:
  -----------
  ui/sdl2: reenable the SDL2 Windows keyboard hook procedure

Windows only:

The libSDL2 Windows message loop needs the libSDL2 Windows low
level keyboard hook procedure to grab the left and right Windows
keys correctly. Reenable the SDL2 Windows keyboard hook procedure.

Since SDL2 2.30.4 the SDL2 keyboard hook procedure also filters
out the special left Control key event for every Alt Gr key event
on keyboards with an international layout. This means the QEMU low
level keyboard hook procedure is no longer needed. Remove the QEMU
Windows keyboard hook procedure.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2139
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2323
Signed-off-by: Volker Rümelin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>


  Commit: 9038ac0c5c4ce8f6cf49e1146a79b633dc534b7d
      
https://github.com/qemu/qemu/commit/9038ac0c5c4ce8f6cf49e1146a79b633dc534b7d
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M crypto/hash-afalg.c
    M hw/ppc/spapr_caps.c
    M plugins/loader.c
    M target/i386/cpu.c
    M trace/simple.c
    M ui/console.c
    M ui/gtk.c
    M util/module.c

  Log Message:
  -----------
  overall: Remove unnecessary g_strdup_printf() calls

Replace g_strdup_printf("%s", value) -> g_strdup(value)
to avoid unnecessary string formatting.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Stefan Hajnoczi <[email protected]>
Reviewed-by: Michael Tokarev <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>


  Commit: c996dacfa1fd090910f8614c06df2a350b15211a
      
https://github.com/qemu/qemu/commit/c996dacfa1fd090910f8614c06df2a350b15211a
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M include/qemu/timer.h

  Log Message:
  -----------
  qemu/timer: Clarify timer_new*() must be freed with timer_free()

There was not mention QEMUTimer created with timer_new*() must
be released with timer_free() instead of g_free(), because then
active timers are removed from the active list. Update the
documentation mentioning timer_free().

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Michael Tokarev <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>


  Commit: 0f35d854d25f70b6cf37b3c122e11b83e4832516
      
https://github.com/qemu/qemu/commit/0f35d854d25f70b6cf37b3c122e11b83e4832516
  Author: Rob Bradford <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M target/riscv/cpu.c

  Log Message:
  -----------
  target/riscv: Fix minor whitespace issue in riscv_cpu_properties

The mvendorid/mimpid/marchid properties have the wrong amount of
whitespace ahead of them.

Signed-off-by: Rob Bradford <[email protected]>
Reviewed-by: Daniel Henrique Barboza <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>


  Commit: b79b05d1a06a013447ea93b81c07612766b735f2
      
https://github.com/qemu/qemu/commit/b79b05d1a06a013447ea93b81c07612766b735f2
  Author: Michael Roth <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M scripts/make-release

  Log Message:
  -----------
  make-release: don't rely on $CWD when excluding subproject directories

The current logic scans qemu.git/subprojects/ from *.wrap files to
determine whether or not to include the associated directories in the
release tarballs. However, the script assumes that it is being run from
the top-level of the source directory, which may not always be the case.
In particular, when generating releases via, e.g.:

  make qemu-9.2.1.tar.xz

the $CWD will either be an arbitrary external build directory, or
qemu.git/build, and the exclusions will not be processed as expected.
Fix this by using the $src parameter passed to the script as the root
directory for the various subproject/ paths referenced by this logic.

Also, the error case at the beginning of the subproject_dir() will not
result in the error message being printed, and will instead produce an
error message about "error" not being a valid command. Fix this by using
basic shell commands.

Fixes: be27b5149c86 ("make-release: only leave tarball of wrap-file 
subprojects")
Cc: Paolo Bonzini <[email protected]>
Cc: Michael Tokarev <[email protected]>
Cc: [email protected]
Signed-off-by: Michael Roth <[email protected]>
Signed-off-by: Michael Tokarev <[email protected]>


  Commit: b4b0880c3aae98e5c08d4d785b0fe16f0b780081
      
https://github.com/qemu/qemu/commit/b4b0880c3aae98e5c08d4d785b0fe16f0b780081
  Author: Stefan Hajnoczi <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml
    M configs/devices/i386-softmmu/default.mak
    M docs/devel/rust.rst
    M hw/i386/fw_cfg.c
    M hw/i386/pc.c
    M hw/timer/Kconfig
    M hw/timer/hpet.c
    M include/hw/timer/hpet.h
    M meson.build
    M rust/Cargo.lock
    M rust/Cargo.toml
    M rust/hw/Kconfig
    M rust/hw/char/pl011/src/device.rs
    M rust/hw/char/pl011/src/lib.rs
    R rust/hw/char/pl011/src/memory_ops.rs
    M rust/hw/meson.build
    A rust/hw/timer/Kconfig
    A rust/hw/timer/hpet/Cargo.toml
    A rust/hw/timer/hpet/meson.build
    A rust/hw/timer/hpet/src/fw_cfg.rs
    A rust/hw/timer/hpet/src/hpet.rs
    A rust/hw/timer/hpet/src/lib.rs
    A rust/hw/timer/meson.build
    M rust/qemu-api/meson.build
    M rust/qemu-api/src/assertions.rs
    M rust/qemu-api/src/bindings.rs
    M rust/qemu-api/src/c_str.rs
    M rust/qemu-api/src/callbacks.rs
    A rust/qemu-api/src/chardev.rs
    M rust/qemu-api/src/irq.rs
    M rust/qemu-api/src/lib.rs
    A rust/qemu-api/src/memory.rs
    M rust/qemu-api/src/offset_of.rs
    M rust/qemu-api/src/prelude.rs
    M rust/qemu-api/src/qdev.rs
    M rust/qemu-api/src/qom.rs
    M rust/qemu-api/src/sysbus.rs
    A 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/wrapper.h
    M tests/qtest/meson.build
    M ui/meson.build
    M ui/sdl2.c

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* rust: more qdev bindings
* rust: HPET device model with timer and GPIO bindings
* rust: small cleanups and fixes; run doctests during CI
* ui/sdl2: reenable the SDL2 Windows keyboard hook procedure

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmet6qkUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroO4yQgAjSpJ8DChoEVrm6xgCUGPkC7VlI0A
# 3WimcgiTUCUVqiywvLmObHRv9ld/b9mJ+2v/actDy39qioN3i3+RGpyeSRcysITd
# 2AWQVOe6JuVfEyN+ihYq3yS3v1meDhzZbOzRNHgbTX20rMy/HWJFIvQbK4abQaVI
# j8zaPYIjcfcH/ScEmmha88l6PJDMPy7fCEzQWx41oHKkQ8w4rhmarn9f3WcXB/SN
# bCvm2NmkJFPsU/TCynWz7YSjrLWCsWjiDgxoDD1295QoeEvfcuD8Z6vPIA9BttGx
# MUgcrXi4KnJI8W9gm5jAiKq+DSxFX6f7AwUDfb2l+Vrkq84s7bu9UVNQqA==
# =/vpW
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 13 Feb 2025 07:50:49 EST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "[email protected]"
# gpg: Good signature from "Paolo Bonzini <[email protected]>" [full]
# gpg:                 aka "Paolo Bonzini <[email protected]>" [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: (27 commits)
  ui/sdl2: reenable the SDL2 Windows keyboard hook procedure
  rust: fix doctests
  rust: vmstate: remove redundant link targets
  rust: qemu_api: add a documentation header for all modules
  i386: enable rust hpet for pc when rust is enabled
  rust/timer/hpet: add qom and qdev APIs support
  rust/timer/hpet: add basic HPET timer and HPETState
  rust/timer/hpet: define hpet_fw_cfg
  rust: add bindings for timer
  rust: add bindings for memattrs
  rust: add bindings for gpio_{in|out} initialization
  rust/irq: Add a helper to convert [InterruptSource] to pointer
  rust/qdev: add the macro to define bit property
  i386/fw_cfg: move hpet_cfg definition to hpet.c
  rust: pl011: convert pl011_create to safe Rust
  rust: chardev, qdev: add bindings to qdev_prop_set_chr
  rust: irq: define ObjectType for IRQState
  rust: bindings for MemoryRegionOps
  rust: bindings: add Send and Sync markers for types that have bindings
  rust: qdev: switch from legacy reset to Resettable
  ...

Signed-off-by: Stefan Hajnoczi <[email protected]>


  Commit: 495de0fd82d8bb2d7035f82d9869cfeb48de2f9e
      
https://github.com/qemu/qemu/commit/495de0fd82d8bb2d7035f82d9869cfeb48de2f9e
  Author: Stefan Hajnoczi <[email protected]>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M crypto/hash-afalg.c
    M hw/ppc/spapr_caps.c
    M include/qemu/timer.h
    M plugins/loader.c
    M scripts/make-release
    M target/i386/cpu.c
    M target/riscv/cpu.c
    M trace/simple.c
    M ui/console.c
    M ui/gtk.c
    M util/module.c

  Log Message:
  -----------
  Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging

trivial patches for 2025-02-14

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmeu2oYACgkQgqpKJDse
# lHh57xAAstKzxMB7qJRfU9FHLT2KcSiCSesaGKVmwtaRzoSvf+m7DVSS0/DziEUl
# ha7Obs3zKSX8fIcClo7MiVXhs+7NOh7zeHK5xxD+U85yDrS3aBmU6NEHTUTZsarN
# ADjvMlhQBiElUbtEtNQg3oNp1n1bHhTpSWnbm+Se2QlALnECo1JAV+1DDC64Fi/h
# ZEhOcg4UWzoFgXli/CqLQ0SBGJLdD2KvHb2IHhP49l14vgVlMbd8CS8qfwfgqU6K
# sTdcO4NOIKWvLWNzrb5yvB473l0RGjbM4WzggwkL8WgxoOdwVqjtRkeOrmZI0MwR
# g9yLrb6WV4/01sXLbgh4uTpVxzouZ9w2F/8bTdEahmy8nR0yJ2DugDeg36oB2Mux
# vQTC7cbeV1eRKnTW0omguVybqeQ1mIvfBdjMR1D0GHX6y7d1ExCo4tap/AKBv4E9
# +34eIq5mezE/AuFcigP//mQOY0pxnG9ahmYvNKb+30olOJzmBB0vSP15n0Ojjjn0
# N/0mFmYg/P9000B8MqNrh3WaiTIKBvf98RGrqUgl4IqB3wnmBlFgY1TdI5ZcDKHK
# lWhV3+zdnzR0terkoiVwRGjaZYArsf2t21GaEsXhJjjuY+a+1CRGGwPTfBADbv8I
# FKKPpK0xXF4xdCVdGUA5FzUzTInS7j9AnhIOwOyp8q7dJDENF1k=
# =SPBO
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 14 Feb 2025 00:54:14 EST
# gpg:                using RSA key 64AA2AB531D56903366BFEF982AA4A243B1E9478
# gpg: Good signature from "Michael Tokarev <[email protected]>" [unknown]
# gpg:                 aka "Michael Tokarev <[email protected]>" [unknown]
# gpg:                 aka "Michael Tokarev <[email protected]>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 9D8B E14E 3F2A 9DD7 9199  28F1 61AD 3D98 ECDF 2C8E
#      Subkey fingerprint: 64AA 2AB5 31D5 6903 366B  FEF9 82AA 4A24 3B1E 9478

* tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu:
  make-release: don't rely on $CWD when excluding subproject directories
  target/riscv: Fix minor whitespace issue in riscv_cpu_properties
  qemu/timer: Clarify timer_new*() must be freed with timer_free()
  overall: Remove unnecessary g_strdup_printf() calls

Signed-off-by: Stefan Hajnoczi <[email protected]>


Compare: https://github.com/qemu/qemu/compare/ce315328f8e9...495de0fd82d8

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to