History log of /qemu/rust/qemu-api/src/ (Results 51 – 75 of 139)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3212da0012-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: add SysBusDeviceImpl

The only function, right now, is to ensure that anything with a
SysBusDeviceClass class is a SysBusDevice.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paol

rust: add SysBusDeviceImpl

The only function, right now, is to ensure that anything with a
SysBusDeviceClass class is a SysBusDevice.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

ac5699c512-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: add IsA bounds to QOM implementation traits

Check that the right bounds are provided to the qom_isa! macro
whenever the class is defined to implement a certain class.
This removes the need to

rust: add IsA bounds to QOM implementation traits

Check that the right bounds are provided to the qom_isa! macro
whenever the class is defined to implement a certain class.
This removes the need to add IsA<> bounds together with the
*Impl trait bounds.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

c48700e818-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

rust: prefer importing std::ptr over core::ptr

The std::ptr is same as core::ptr, but std has already been used in many
cases and there's no need to choose non-std library.

So, use std::ptr directl

rust: prefer importing std::ptr over core::ptr

The std::ptr is same as core::ptr, but std has already been used in many
cases and there's no need to choose non-std library.

So, use std::ptr directly to make the used ptr library as consistent as
possible.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250218080835.3341082-1-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

8a420dd114-Nov-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: add module to convert between success/-errno and io::Result

It is a common convention in QEMU to return a positive value in case of
success, and a negated errno value in case of error. Unfort

rust: add module to convert between success/-errno and io::Result

It is a common convention in QEMU to return a positive value in case of
success, and a negated errno value in case of error. Unfortunately,
using errno portably in Rust is a bit complicated; on Unix the errno
values are supported natively by io::Error, but on Windows they are not;
so, use the libc crate.

This is a set of utility functions that are used by both chardev and
block layer bindings.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tcg-all.c
/qemu/backends/cryptodev-vhost.c
/qemu/backends/tpm/tpm_util.c
/qemu/configs/devices/aarch64-softmmu/default.mak
/qemu/crypto/hash-afalg.c
/qemu/crypto/tlssession.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/multi-thread-tcg.rst
/qemu/docs/devel/reset.rst
/qemu/docs/devel/rust.rst
/qemu/docs/devel/tcg-ops.rst
/qemu/docs/pcie_sriov.txt
/qemu/docs/system/arm/nuvoton.rst
/qemu/hw/arm/Kconfig
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/allwinner-h3.c
/qemu/hw/arm/allwinner-r40.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/bananapi_m2u.c
/qemu/hw/arm/cubieboard.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/exynos4_boards.c
/qemu/hw/arm/fby35.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/imx25_pdk.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/mcimx6ul-evk.c
/qemu/hw/arm/mcimx7d-sabre.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/npcm7xx_boards.c
/qemu/hw/arm/npcm8xx.c
/qemu/hw/arm/npcm8xx_boards.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/orangepi.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sabrelite.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/xlnx-zcu102.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/char/xilinx_uartlite.c
/qemu/hw/core/cpu-system.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/null-machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/sysbus.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/cxl/cxl-device-utils.c
/qemu/hw/cxl/switch-mailbox-cci.c
/qemu/hw/display/apple-gfx.m
/qemu/hw/display/ramfb-standalone.c
/qemu/hw/i2c/allwinner-i2c.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/amd_iommu.h
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/microvm.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/trace-events
/qemu/hw/i386/x86-iommu.c
/qemu/hw/intc/allwinner-a10-pic.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/xilinx_intc.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/microblaze/petalogix_ml605_mmu.c
/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/qemu/hw/mips/boston.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/misc/allwinner-a10-ccm.c
/qemu/hw/misc/allwinner-a10-dramc.c
/qemu/hw/misc/allwinner-cpucfg.c
/qemu/hw/misc/allwinner-h3-ccu.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/allwinner-h3-sysctrl.c
/qemu/hw/misc/allwinner-r40-ccu.c
/qemu/hw/misc/allwinner-r40-dramc.c
/qemu/hw/misc/allwinner-sid.c
/qemu/hw/misc/allwinner-sramc.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/npcm_clk.c
/qemu/hw/misc/npcm_gcr.c
/qemu/hw/misc/trace-events
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/igb.c
/qemu/hw/net/meson.build
/qemu/hw/net/npcm_pcs.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/trace-events
/qemu/hw/net/virtio-net.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci/msix.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/pci/trace-events
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/remote/mpqemu-link.c
/qemu/hw/remote/vfio-user-obj.c
/qemu/hw/riscv/microblaze-v-generic.c
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/opentitan.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/rtc/allwinner-rtc.c
/qemu/hw/rtc/m48t59-isa.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rx/rx-gdbsim.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/sd/sdhci-internal.h
/qemu/hw/sd/sdhci.c
/qemu/hw/sensor/emc141x.c
/qemu/hw/sensor/isl_pmbus_vr.c
/qemu/hw/sensor/tmp421.c
/qemu/hw/ssi/allwinner-a10-spi.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/timer/allwinner-a10-pit.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/xilinx_timer.c
/qemu/hw/tpm/tpm_tis_sysbus.c
/qemu/hw/ufs/ufs.c
/qemu/hw/usb/Kconfig
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/meson.build
/qemu/hw/usb/xen-usb.c
/qemu/hw/vfio/amd-xgbe.c
/qemu/hw/vfio/calxeda-xgmac.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/platform.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-iova-tree.c
/qemu/hw/virtio/vhost-iova-tree.h
/qemu/hw/virtio/vhost-shadow-virtqueue.c
/qemu/hw/virtio/vhost-shadow-virtqueue.h
/qemu/hw/virtio/vhost-user-snd.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-nsm.c
/qemu/hw/watchdog/allwinner-wdt.c
/qemu/hw/xen/xen-legacy-backend.c
/qemu/hw/xen/xen_pvdev.c
/qemu/include/crypto/tlssession.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/memattrs.h
/qemu/include/exec/memory.h
/qemu/include/exec/tlb-common.h
/qemu/include/exec/vaddr.h
/qemu/include/hw/arm/npcm7xx.h
/qemu/include/hw/arm/npcm8xx.h
/qemu/include/hw/boards.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/misc/npcm_clk.h
/qemu/include/hw/misc/npcm_gcr.h
/qemu/include/hw/net/npcm_pcs.h
/qemu/include/hw/pci/pcie_sriov.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/ssi/npcm7xx_fiu.h
/qemu/include/hw/sysbus.h
/qemu/include/hw/virtio/virtio-balloon.h
/qemu/include/hw/xen/xen_pvdev.h
/qemu/include/io/channel-tls.h
/qemu/include/io/channel.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/iova-tree.h
/qemu/include/qemu/timer.h
/qemu/include/system/os-posix.h
/qemu/include/system/os-win32.h
/qemu/include/system/system.h
/qemu/include/tcg/tcg-opc.h
/qemu/include/tcg/tcg.h
/qemu/io/channel-tls.c
/qemu/io/channel.c
/qemu/io/trace-events
/qemu/linux-user/aarch64/target_signal.h
/qemu/linux-user/arm/target_signal.h
/qemu/linux-user/elfload.c
/qemu/linux-user/generic/signal.h
/qemu/linux-user/i386/target_signal.h
/qemu/linux-user/m68k/target_signal.h
/qemu/linux-user/microblaze/target_signal.h
/qemu/linux-user/ppc/target_signal.h
/qemu/linux-user/s390x/target_signal.h
/qemu/linux-user/sh4/target_signal.h
/qemu/linux-user/x86_64/target_signal.h
/qemu/linux-user/xtensa/target_signal.h
/qemu/meson.build
/qemu/migration/channel.c
/qemu/migration/cpr.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/tls.c
/qemu/migration/tls.h
/qemu/migration/trace-events
/qemu/monitor/hmp-cmds-target.c
/qemu/net/vhost-user.c
/qemu/net/vhost-vdpa.c
/qemu/os-posix.c
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/qemu/pc-bios/npcm7xx_bootrom.bin
/qemu/pc-bios/npcm8xx_bootrom.bin
/qemu/plugins/api.c
/qemu/plugins/loader.c
/qemu/qapi/common.json
/qemu/qapi/migration.json
/qemu/qapi/net.json
/qemu/qemu-options.hx
/qemu/qom/object_interfaces.c
/qemu/roms/Makefile
/qemu/roms/vbootrom
/qemu/rust/Cargo.lock
/qemu/rust/hw/timer/Kconfig
/qemu/rust/qemu-api/Cargo.toml
/qemu/rust/qemu-api/meson.build
assertions.rs
errno.rs
lib.rs
prelude.rs
/qemu/scripts/archive-source.sh
/qemu/scripts/make-release
/qemu/scripts/qemu-trace-stap
/qemu/subprojects/.gitignore
/qemu/subprojects/libc-0.2-rs.wrap
/qemu/subprojects/packagefiles/libc-0.2-rs/meson.build
/qemu/system/globals.c
/qemu/system/memory_ldst.c.inc
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu.h
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/translate.c
/qemu/target/i386/cpu.c
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/translate.c
/qemu/target/mips/tcg/octeon_translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu_helper.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/insns.decode
/qemu/target/sparc/translate.c
/qemu/tcg/aarch64/tcg-target-con-set.h
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/loongarch64/tcg-target-con-set.h
/qemu/tcg/loongarch64/tcg-target-con-str.h
/qemu/tcg/loongarch64/tcg-target-has.h
/qemu/tcg/loongarch64/tcg-target.c.inc
/qemu/tcg/loongarch64/tcg-target.h
/qemu/tcg/mips/tcg-target-con-set.h
/qemu/tcg/mips/tcg-target-con-str.h
/qemu/tcg/mips/tcg-target.c.inc
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target-con-set.h
/qemu/tcg/riscv/tcg-target-con-str.h
/qemu/tcg/riscv/tcg-target-has.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target-con-set.h
/qemu/tcg/sparc64/tcg-target-con-str.h
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tcg-op-ldst.c
/qemu/tcg/tcg.c
/qemu/tcg/tci.c
/qemu/tcg/tci/tcg-target.c.inc
/qemu/tcg/tci/tcg-target.h
/qemu/tests/functional/meson.build
/qemu/tests/functional/test_microblaze_s3adsp1800.py
/qemu/tests/functional/test_microblazeel_s3adsp1800.py
/qemu/tests/functional/test_virtio_balloon.py
/qemu/tests/migration-stress/guestperf/comparison.py
/qemu/tests/migration-stress/guestperf/engine.py
/qemu/tests/migration-stress/guestperf/report.py
/qemu/tests/migration-stress/guestperf/scenario.py
/qemu/tests/migration-stress/guestperf/shell.py
/qemu/tests/qemu-iotests/172.out
/qemu/tests/qtest/libqos/pci.c
/qemu/tests/qtest/migration/migration-util.c
/qemu/tests/qtest/migration/migration-util.h
/qemu/tests/qtest/migration/precopy-tests.c
/qemu/tests/qtest/ufs-test.c
/qemu/tests/unit/test-crypto-tlssession.c
/qemu/trace/simple.c
/qemu/ui/console.c
/qemu/ui/gtk.c
/qemu/ui/meson.build
/qemu/ui/sdl2.c
/qemu/util/iova-tree.c
/qemu/util/module.c
16534af511-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: fix doctests

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

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

ee7d3aec30-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: vmstate: remove redundant link targets

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

ebacd14a30-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: qemu_api: add a documentation header for all modules

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

0534248a10-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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 v

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 <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250210030051.2562726-8-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

eadb83f910-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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:

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 <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250210030051.2562726-7-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

d015d4cb25-Jan-2025 Zhao Liu <zhao1.liu@intel.com>

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

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 <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250125125137.1223277-6-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

9a96d41010-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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 witho

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 <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250210030051.2562726-5-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

e6f1195f10-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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 <pbonzini@redhat.com>
Si

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 <pbonzini@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250210030051.2562726-4-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

7f2d418110-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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:

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 <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250210030051.2562726-3-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

7630ca2a10-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

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 f

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

a22bd55f03-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

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 <zhao

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

61faf6ac03-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

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 <pbonzini@redhat.com>

590faa0317-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: bindings for MemoryRegionOps

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

d449d29a13-Dec-2024 Paolo Bonzini <pbonzini@redhat.com>

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: Zha

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

5472a38c17-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: qdev: switch from legacy reset to Resettable

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

68da540207-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

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

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

688c674117-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

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

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

201ef00117-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

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 r

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

66bcc55406-Dec-2024 Paolo Bonzini <pbonzini@redhat.com>

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

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

ec3eba9831-Oct-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: qom: add object creation functionality

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

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzi

rust: qom: add object creation functionality

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

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

0fcccf3f17-Jan-2025 Paolo Bonzini <pbonzini@redhat.com>

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 cou

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 <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/build.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/MAINTAINERS
/qemu/accel/tcg/meson.build
/qemu/audio/audio-hmp-cmds.c
/qemu/audio/audio.c
/qemu/authz/listfile.c
/qemu/backends/cryptodev-hmp-cmds.c
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/blkdebug.c
/qemu/block/blkio.c
/qemu/block/blklogwrites.c
/qemu/block/blkverify.c
/qemu/block/block-backend.c
/qemu/block/copy-before-write.c
/qemu/block/copy-on-read.c
/qemu/block/curl.c
/qemu/block/export/export.c
/qemu/block/file-posix.c
/qemu/block/file-win32.c
/qemu/block/gluster.c
/qemu/block/iscsi.c
/qemu/block/monitor/block-hmp-cmds.c
/qemu/block/nbd.c
/qemu/block/nfs.c
/qemu/block/null.c
/qemu/block/nvme.c
/qemu/block/parallels.c
/qemu/block/qapi-system.c
/qemu/block/qapi.c
/qemu/block/qcow.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/quorum.c
/qemu/block/rbd.c
/qemu/block/replication.c
/qemu/block/snapshot.c
/qemu/block/ssh.c
/qemu/block/stream.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/block/vvfat.c
/qemu/blockdev-nbd.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal-common.h
/qemu/bsd-user/signal.c
/qemu/chardev/char-hmp-cmds.c
/qemu/configs/targets/aarch64-bsd-user.mak
/qemu/configs/targets/aarch64-linux-user.mak
/qemu/configs/targets/aarch64-softmmu.mak
/qemu/configs/targets/aarch64_be-linux-user.mak
/qemu/configs/targets/alpha-linux-user.mak
/qemu/configs/targets/alpha-softmmu.mak
/qemu/configs/targets/arm-bsd-user.mak
/qemu/configs/targets/arm-linux-user.mak
/qemu/configs/targets/arm-softmmu.mak
/qemu/configs/targets/armeb-linux-user.mak
/qemu/configs/targets/avr-softmmu.mak
/qemu/configs/targets/hexagon-linux-user.mak
/qemu/configs/targets/hppa-linux-user.mak
/qemu/configs/targets/hppa-softmmu.mak
/qemu/configs/targets/i386-bsd-user.mak
/qemu/configs/targets/i386-linux-user.mak
/qemu/configs/targets/i386-softmmu.mak
/qemu/configs/targets/loongarch64-linux-user.mak
/qemu/configs/targets/loongarch64-softmmu.mak
/qemu/configs/targets/m68k-linux-user.mak
/qemu/configs/targets/m68k-softmmu.mak
/qemu/configs/targets/microblaze-linux-user.mak
/qemu/configs/targets/microblaze-softmmu.mak
/qemu/configs/targets/microblazeel-linux-user.mak
/qemu/configs/targets/microblazeel-softmmu.mak
/qemu/configs/targets/mips-linux-user.mak
/qemu/configs/targets/mips-softmmu.mak
/qemu/configs/targets/mips64-linux-user.mak
/qemu/configs/targets/mips64-softmmu.mak
/qemu/configs/targets/mips64el-linux-user.mak
/qemu/configs/targets/mips64el-softmmu.mak
/qemu/configs/targets/mipsel-linux-user.mak
/qemu/configs/targets/mipsel-softmmu.mak
/qemu/configs/targets/mipsn32-linux-user.mak
/qemu/configs/targets/mipsn32el-linux-user.mak
/qemu/configs/targets/or1k-linux-user.mak
/qemu/configs/targets/or1k-softmmu.mak
/qemu/configs/targets/ppc-linux-user.mak
/qemu/configs/targets/ppc-softmmu.mak
/qemu/configs/targets/ppc64-linux-user.mak
/qemu/configs/targets/ppc64-softmmu.mak
/qemu/configs/targets/ppc64le-linux-user.mak
/qemu/configs/targets/riscv32-linux-user.mak
/qemu/configs/targets/riscv32-softmmu.mak
/qemu/configs/targets/riscv64-bsd-user.mak
/qemu/configs/targets/riscv64-linux-user.mak
/qemu/configs/targets/riscv64-softmmu.mak
/qemu/configs/targets/rx-softmmu.mak
/qemu/configs/targets/s390x-linux-user.mak
/qemu/configs/targets/s390x-softmmu.mak
/qemu/configs/targets/sh4-linux-user.mak
/qemu/configs/targets/sh4-softmmu.mak
/qemu/configs/targets/sh4eb-linux-user.mak
/qemu/configs/targets/sh4eb-softmmu.mak
/qemu/configs/targets/sparc-linux-user.mak
/qemu/configs/targets/sparc-softmmu.mak
/qemu/configs/targets/sparc32plus-linux-user.mak
/qemu/configs/targets/sparc64-linux-user.mak
/qemu/configs/targets/sparc64-softmmu.mak
/qemu/configs/targets/tricore-softmmu.mak
/qemu/configs/targets/x86_64-bsd-user.mak
/qemu/configs/targets/x86_64-linux-user.mak
/qemu/configs/targets/x86_64-softmmu.mak
/qemu/configs/targets/xtensa-linux-user.mak
/qemu/configs/targets/xtensa-softmmu.mak
/qemu/configs/targets/xtensaeb-linux-user.mak
/qemu/configs/targets/xtensaeb-softmmu.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/rust.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/tools/qemu-nbd.rst
/qemu/docs/user/main.rst
/qemu/dump/dump-hmp-cmds.c
/qemu/fpu/softfloat-parts.c.inc
/qemu/fpu/softfloat.c
/qemu/gdbstub/user.c
/qemu/hw/9pfs/9p-local.c
/qemu/hw/9pfs/9p-util-generic.c
/qemu/hw/9pfs/9p-util.h
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/meson.build
/qemu/hw/9pfs/trace-events
/qemu/hw/arm/aspeed_ast27x0.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/mps3r.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/Kconfig
/qemu/hw/char/diva-gsp.c
/qemu/hw/char/meson.build
/qemu/hw/core/machine-hmp-cmds.c
/qemu/hw/core/machine-qmp-cmds.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/core/qdev.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/arm11mpcore.c
/qemu/hw/cpu/realview_mpcore.c
/qemu/hw/display/artist.c
/qemu/hw/hppa/Kconfig
/qemu/hw/hppa/machine.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/monitor.c
/qemu/hw/i386/pc.c
/qemu/hw/loongarch/meson.build
/qemu/hw/loongarch/virt-acpi-build.c
/qemu/hw/loongarch/virt-fdt-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/rocker/rocker-hmp-cmds.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-host/astro.c
/qemu/hw/pci/pci-hmp-cmds.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/riscv/riscv_hart.c
/qemu/hw/rx/rx62n.c
/qemu/hw/s390x/s390-skeys.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/usb/xen-usb.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/igd.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci-quirks.h
/qemu/hw/vfio/pci.c
/qemu/hw/virtio/virtio-hmp-cmds.c
/qemu/hw/virtio/virtio-qmp.c
/qemu/hw/xen/xen-bus.c
/qemu/include/block/block-common.h
/qemu/include/block/block-global-state.h
/qemu/include/block/export.h
/qemu/include/block/nbd.h
/qemu/include/block/qdict.h
/qemu/include/fpu/softfloat-helpers.h
/qemu/include/fpu/softfloat-types.h
/qemu/include/hw/arm/boot.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/pci-host/astro.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/qapi/compat-policy.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp-registry.h
/qemu/include/qapi/util.h
/qemu/include/qapi/visitor-impl.h
/qemu/include/qapi/visitor.h
/qemu/include/qemu/osdep.h
/qemu/include/qobject/json-parser.h
/qemu/include/qobject/json-writer.h
/qemu/include/qobject/qbool.h
/qemu/include/qobject/qdict.h
/qemu/include/qobject/qjson.h
/qemu/include/qobject/qlist.h
/qemu/include/qobject/qlit.h
/qemu/include/qobject/qnull.h
/qemu/include/qobject/qnum.h
/qemu/include/qobject/qobject.h
/qemu/include/qobject/qstring.h
/qemu/include/system/block-backend-io.h
/qemu/include/system/qtest.h
/qemu/include/user/signal.h
/qemu/linux-user/main.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/block-active.c
/qemu/migration/dirtyrate.c
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/options.c
/qemu/migration/vmstate.c
/qemu/monitor/hmp-cmds-target.c
/qemu/monitor/hmp-cmds.c
/qemu/monitor/hmp.c
/qemu/monitor/monitor-internal.h
/qemu/monitor/monitor.c
/qemu/monitor/qemu-config-qmp.c
/qemu/monitor/qmp.c
/qemu/nbd/server.c
/qemu/net/net-hmp-cmds.c
/qemu/net/net.c
/qemu/net/slirp.c
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/cxl.json
/qemu/qapi/qapi-clone-visitor.c
/qemu/qapi/qapi-dealloc-visitor.c
/qemu/qapi/qapi-forward-visitor.c
/qemu/qapi/qapi-util.c
/qemu/qapi/qapi-visit-core.c
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/qmp-event.c
/qemu/qapi/qmp-registry.c
/qemu/qapi/qobject-input-visitor.c
/qemu/qapi/qobject-output-visitor.c
/qemu/qapi/string-input-visitor.c
/qemu/qapi/ui.json
/qemu/qemu-img.c
/qemu/qemu-io-cmds.c
/qemu/qemu-io.c
/qemu/qemu-nbd.c
/qemu/qemu-options.hx
/qemu/qga/guest-agent-core.h
/qemu/qga/main.c
/qemu/qobject/block-qdict.c
/qemu/qobject/json-parser-int.h
/qemu/qobject/json-parser.c
/qemu/qobject/json-writer.c
/qemu/qobject/qbool.c
/qemu/qobject/qdict.c
/qemu/qobject/qjson.c
/qemu/qobject/qlist.c
/qemu/qobject/qlit.c
/qemu/qobject/qnull.c
/qemu/qobject/qnum.c
/qemu/qobject/qobject-internal.h
/qemu/qobject/qobject.c
/qemu/qobject/qstring.c
/qemu/qom/object.c
/qemu/qom/object_interfaces.c
/qemu/qom/qom-hmp-cmds.c
/qemu/qom/qom-qmp-cmds.c
/qemu/replay/replay-debugging.c
/qemu/replay/replay-snapshot.c
/qemu/roms/seabios-hppa
qom.rs
vmstate.rs
/qemu/rust/qemu-api/tests/tests.rs
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/events.py
/qemu/scripts/qapi/features.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/main.py
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/types.py
/qemu/scripts/qapi/visit.py
/qemu/scripts/qemu-gdb.py
/qemu/scripts/qemugdb/coroutine.py
/qemu/scsi/qemu-pr-helper.c
/qemu/stats/stats-hmp-cmds.c
/qemu/storage-daemon/qemu-storage-daemon.c
/qemu/stubs/meson.build
/qemu/stubs/monitor-fd.c
/qemu/stubs/qmp-command-available.c
/qemu/stubs/qmp-quit.c
/qemu/system/device_tree.c
/qemu/system/dirtylimit.c
/qemu/system/qdev-monitor.c
/qemu/system/qtest.c
/qemu/system/runstate-hmp-cmds.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-param.h
/qemu/target/alpha/cpu.c
/qemu/target/alpha/fpu_helper.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/helper-a64.h
/qemu/target/arm/tcg/helper-sve.h
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/mve_helper.c
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate-a64.h
/qemu/target/arm/tcg/translate-sve.c
/qemu/target/arm/tcg/translate.h
/qemu/target/arm/tcg/vec_helper.c
/qemu/target/arm/tcg/vec_internal.h
/qemu/target/arm/vfp_helper.c
/qemu/target/avr/cpu-param.h
/qemu/target/hexagon/cpu-param.h
/qemu/target/hppa/cpu-param.h
/qemu/target/hppa/fpu_helper.c
/qemu/target/i386/cpu-apic.c
/qemu/target/i386/cpu-param.h
/qemu/target/i386/cpu-system.c
/qemu/target/i386/monitor.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/loongarch/cpu-param.h
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/m68k/cpu-param.h
/qemu/target/microblaze/cpu-param.h
/qemu/target/mips/cpu-param.h
/qemu/target/mips/fpu_helper.h
/qemu/target/mips/msa.c
/qemu/target/openrisc/cpu-param.h
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu_init.c
/qemu/target/riscv/cpu-param.h
/qemu/target/riscv/riscv-qmp-cmds.c
/qemu/target/rx/cpu-param.h
/qemu/target/rx/cpu.c
/qemu/target/s390x/cpu-param.h
/qemu/target/s390x/cpu_models_system.c
/qemu/target/sh4/cpu-param.h
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu-param.h
/qemu/target/tricore/cpu-param.h
/qemu/target/tricore/helper.c
/qemu/target/xtensa/cpu-param.h
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/test-rust
/qemu/tests/fp/fp-bench.c
/qemu/tests/functional/meson.build
/qemu/tests/functional/test_aarch64_virt.py
/qemu/tests/functional/test_aarch64_xen.py
/qemu/tests/functional/test_ppc_sam460ex.py
/qemu/tests/functional/test_x86_64_hotplug_blk.py
/qemu/tests/guest-debug/run-test.py
/qemu/tests/meson.build
/qemu/tests/qapi-schema/features-too-many.err
/qemu/tests/qapi-schema/features-too-many.json
/qemu/tests/qapi-schema/features-too-many.out
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qemu-iotests/041
/qemu/tests/qemu-iotests/165
/qemu/tests/qemu-iotests/184.out
/qemu/tests/qemu-iotests/191.out
/qemu/tests/qemu-iotests/273.out
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/tests/copy-before-write
/qemu/tests/qemu-iotests/tests/inactive-node-nbd
/qemu/tests/qemu-iotests/tests/inactive-node-nbd.out
/qemu/tests/qemu-iotests/tests/migrate-bitmaps-test
/qemu/tests/qemu-iotests/tests/qsd-migrate
/qemu/tests/qemu-iotests/tests/qsd-migrate.out
/qemu/tests/qtest/adm1266-test.c
/qemu/tests/qtest/adm1272-test.c
/qemu/tests/qtest/ahci-test.c
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/aspeed_gpio-test.c
/qemu/tests/qtest/ast2700-gpio-test.c
/qemu/tests/qtest/boot-order-test.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/cpu-plug-test.c
/qemu/tests/qtest/device-introspect-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/drive_del-test.c
/qemu/tests/qtest/emc141x-test.c
/qemu/tests/qtest/fdc-test.c
/qemu/tests/qtest/hd-geo-test.c
/qemu/tests/qtest/ide-test.c
/qemu/tests/qtest/isl_pmbus_vr-test.c
/qemu/tests/qtest/libqmp.c
/qemu/tests/qtest/libqmp.h
/qemu/tests/qtest/libqos/generic-pcihost.c
/qemu/tests/qtest/libqos/libqos.c
/qemu/tests/qtest/libqos/pci-pc.c
/qemu/tests/qtest/libqos/qos_external.c
/qemu/tests/qtest/libqos/virtio-pci-modern.c
/qemu/tests/qtest/libqos/virtio-pci.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/lsm303dlhc-mag-test.c
/qemu/tests/qtest/machine-none-test.c
/qemu/tests/qtest/max34451-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/migration/compression-tests.c
/qemu/tests/qtest/migration/cpr-tests.c
/qemu/tests/qtest/migration/file-tests.c
/qemu/tests/qtest/migration/framework.c
/qemu/tests/qtest/migration/framework.h
/qemu/tests/qtest/migration/migration-qmp.c
/qemu/tests/qtest/migration/migration-util.c
/qemu/tests/qtest/migration/misc-tests.c
/qemu/tests/qtest/migration/postcopy-tests.c
/qemu/tests/qtest/migration/precopy-tests.c
/qemu/tests/qtest/migration/tls-tests.c
/qemu/tests/qtest/netdev-socket.c
/qemu/tests/qtest/npcm7xx_adc-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/npcm7xx_pwm-test.c
/qemu/tests/qtest/npcm7xx_timer-test.c
/qemu/tests/qtest/npcm7xx_watchdog_timer-test.c
/qemu/tests/qtest/numa-test.c
/qemu/tests/qtest/pvpanic-pci-test.c
/qemu/tests/qtest/pvpanic-test.c
/qemu/tests/qtest/q35-test.c
/qemu/tests/qtest/qmp-cmd-test.c
/qemu/tests/qtest/qmp-test.c
/qemu/tests/qtest/qom-test.c
/qemu/tests/qtest/qos-test.c
/qemu/tests/qtest/readconfig-test.c
/qemu/tests/qtest/tco-test.c
/qemu/tests/qtest/test-filter-mirror.c
/qemu/tests/qtest/test-filter-redirector.c
/qemu/tests/qtest/test-netfilter.c
/qemu/tests/qtest/test-x86-cpuid-compat.c
/qemu/tests/qtest/tmp105-test.c
/qemu/tests/qtest/tpm-emu.c
/qemu/tests/qtest/tpm-util.c
/qemu/tests/qtest/vhost-user-test.c
/qemu/tests/qtest/virtio-net-failover.c
/qemu/tests/qtest/virtio-net-test.c
/qemu/tests/qtest/vmgenid-test.c
/qemu/tests/qtest/wdt_ib700-test.c
/qemu/tests/tcg/arm/Makefile.target
/qemu/tests/tcg/arm/README
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/late-attach.py
/qemu/tests/tcg/multiarch/late-attach.c
/qemu/tests/unit/check-block-qdict.c
/qemu/tests/unit/check-qdict.c
/qemu/tests/unit/check-qjson.c
/qemu/tests/unit/check-qlist.c
/qemu/tests/unit/check-qlit.c
/qemu/tests/unit/check-qnull.c
/qemu/tests/unit/check-qnum.c
/qemu/tests/unit/check-qobject.c
/qemu/tests/unit/check-qom-proplist.c
/qemu/tests/unit/check-qstring.c
/qemu/tests/unit/test-block-iothread.c
/qemu/tests/unit/test-blockjob-txn.c
/qemu/tests/unit/test-blockjob.c
/qemu/tests/unit/test-char.c
/qemu/tests/unit/test-forward-visitor.c
/qemu/tests/unit/test-image-locking.c
/qemu/tests/unit/test-keyval.c
/qemu/tests/unit/test-qemu-opts.c
/qemu/tests/unit/test-qga.c
/qemu/tests/unit/test-qmp-cmds.c
/qemu/tests/unit/test-qmp-event.c
/qemu/tests/unit/test-qobject-input-visitor.c
/qemu/tests/unit/test-qobject-output-visitor.c
/qemu/tests/unit/test-replication.c
/qemu/tests/unit/test-visitor-serialization.c
/qemu/trace/trace-hmp-cmds.c
/qemu/ui/ui-hmp-cmds.c
/qemu/util/error.c
/qemu/util/keyval.c
/qemu/util/meson.build
/qemu/util/oslib-posix.c
/qemu/util/qemu-config.c
/qemu/util/qemu-option.c
/qemu/util/qemu-timer.c

123456