The following changes since commit de278e54aefed143526174335f8286f7437d20be:
Merge tag 'pull-loongarch-20250212' of https://gitlab.com/bibo-mao/qemu into staging (2025-02-12 09:16:36 -0500) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 4dafba778aa3e5f5fd3b2c6333afd7650dcf54e2: ui/sdl2: reenable the SDL2 Windows keyboard hook procedure (2025-02-13 13:50:45 +0100) ---------------------------------------------------------------- * 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 ---------------------------------------------------------------- Paolo Bonzini (16): rust: docs: document naming convention rust: qom: add reference counting functionality rust: qom: add object creation functionality rust: callbacks: allow passing optional callbacks as () rust: qdev: add clock creation rust: qom: allow initializing interface vtables rust: qdev: make ObjectImpl a supertrait of DeviceImpl rust: qdev: switch from legacy reset to Resettable rust: bindings: add Send and Sync markers for types that have bindings rust: bindings for MemoryRegionOps rust: irq: define ObjectType for IRQState rust: chardev, qdev: add bindings to qdev_prop_set_chr rust: pl011: convert pl011_create to safe Rust rust: qemu_api: add a documentation header for all modules rust: vmstate: remove redundant link targets rust: fix doctests Volker RĂ¼melin (1): ui/sdl2: reenable the SDL2 Windows keyboard hook procedure Zhao Liu (10): i386/fw_cfg: move hpet_cfg definition to hpet.c rust/qdev: add the macro to define bit property rust/irq: Add a helper to convert [InterruptSource] to pointer rust: add bindings for gpio_{in|out} initialization rust: add bindings for memattrs rust: add bindings for timer rust/timer/hpet: define hpet_fw_cfg rust/timer/hpet: add basic HPET timer and HPETState rust/timer/hpet: add qom and qdev APIs support i386: enable rust hpet for pc when rust is enabled docs/devel/rust.rst | 46 ++ configs/devices/i386-softmmu/default.mak | 1 + meson.build | 8 + include/hw/timer/hpet.h | 2 +- rust/wrapper.h | 3 + hw/i386/fw_cfg.c | 6 +- hw/i386/pc.c | 2 +- hw/timer/hpet.c | 16 +- ui/sdl2.c | 26 - .gitlab-ci.d/buildtest.yml | 6 + hw/timer/Kconfig | 2 +- rust/Cargo.lock | 8 + rust/Cargo.toml | 1 + rust/hw/Kconfig | 1 + rust/hw/char/pl011/src/device.rs | 121 +++-- rust/hw/char/pl011/src/lib.rs | 1 - rust/hw/char/pl011/src/memory_ops.rs | 34 -- rust/hw/meson.build | 1 + rust/hw/timer/Kconfig | 2 + rust/hw/timer/hpet/Cargo.toml | 18 + rust/hw/timer/hpet/meson.build | 18 + rust/hw/timer/hpet/src/fw_cfg.rs | 69 +++ rust/hw/timer/hpet/src/hpet.rs | 889 +++++++++++++++++++++++++++++++ rust/hw/timer/hpet/src/lib.rs | 15 + rust/hw/timer/meson.build | 1 + rust/qemu-api/meson.build | 3 + rust/qemu-api/src/assertions.rs | 4 + rust/qemu-api/src/bindings.rs | 48 ++ rust/qemu-api/src/c_str.rs | 8 + rust/qemu-api/src/callbacks.rs | 97 ++++ rust/qemu-api/src/chardev.rs | 19 + rust/qemu-api/src/irq.rs | 23 +- rust/qemu-api/src/lib.rs | 3 + rust/qemu-api/src/memory.rs | 203 +++++++ rust/qemu-api/src/offset_of.rs | 7 + rust/qemu-api/src/prelude.rs | 6 + rust/qemu-api/src/qdev.rs | 276 +++++++++- rust/qemu-api/src/qom.rs | 226 +++++++- rust/qemu-api/src/sysbus.rs | 41 +- rust/qemu-api/src/timer.rs | 98 ++++ rust/qemu-api/src/vmstate.rs | 13 +- rust/qemu-api/src/zeroable.rs | 12 +- rust/qemu-api/tests/tests.rs | 45 +- tests/qtest/meson.build | 3 +- ui/meson.build | 4 - 45 files changed, 2232 insertions(+), 204 deletions(-) delete mode 100644 rust/hw/char/pl011/src/memory_ops.rs create mode 100644 rust/hw/timer/Kconfig create mode 100644 rust/hw/timer/hpet/Cargo.toml create mode 100644 rust/hw/timer/hpet/meson.build create mode 100644 rust/hw/timer/hpet/src/fw_cfg.rs create mode 100644 rust/hw/timer/hpet/src/hpet.rs create mode 100644 rust/hw/timer/hpet/src/lib.rs create mode 100644 rust/hw/timer/meson.build create mode 100644 rust/qemu-api/src/chardev.rs create mode 100644 rust/qemu-api/src/memory.rs create mode 100644 rust/qemu-api/src/timer.rs -- 2.48.1