History log of /qemu/rust/hw/ (Results 26 – 50 of 129)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
efc5603207-Apr-2025 Rakesh Jeyasingh <rakeshjb010@gmail.com>

rust/hw/char/pl011: Extract extract DR read logic into separate function

- Split `read()` DR case into `read_data_register()`

Signed-off-by: Rakesh Jeyasingh <rakeshjb010@gmail.com>
Link: https://l

rust/hw/char/pl011: Extract extract DR read logic into separate function

- Split `read()` DR case into `read_data_register()`

Signed-off-by: Rakesh Jeyasingh <rakeshjb010@gmail.com>
Link: https://lore.kernel.org/r/20250407181327.171563-2-rakeshjb010@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

ad3ab01b14-Apr-2025 Zhao Liu <zhao1.liu@intel.com>

rust/hpet: Fix a clippy error

Carge clippy complained about:

error: casts from `u8` to `u32` can be expressed infallibly using `From`

So use `From` to convert `u8` to `u32`.

Signed-off-by: Zhao L

rust/hpet: Fix a clippy error

Carge clippy complained about:

error: casts from `u8` to `u32` can be expressed infallibly using `From`

So use `From` to convert `u8` to `u32`.

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

show more ...

64e1256b14-Apr-2025 Zhao Liu <zhao1.liu@intel.com>

rust/hpet: convert HPETTimer index to u8 type

The C version of HPET uses the uint8_t type for timer index ("tn"), and
usize type in Rust version will break migration between the C and Rust
versions.

rust/hpet: convert HPETTimer index to u8 type

The C version of HPET uses the uint8_t type for timer index ("tn"), and
usize type in Rust version will break migration between the C and Rust
versions.

So convert HPETTimer index' type to u8 (consistent with the C version of
HPET) to make it friendly for vmstate support.

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

show more ...

8163eeee14-Apr-2025 Zhao Liu <zhao1.liu@intel.com>

rust/hpet: convert num_timers to u8 type

The C version of HPET uses the uint8_t type for num_timers, and usize
type in Rust version will break migration between the C and Rust
versions.

So convert

rust/hpet: convert num_timers to u8 type

The C version of HPET uses the uint8_t type for num_timers, and usize
type in Rust version will break migration between the C and Rust
versions.

So convert num_timers' type to u8 (consistent with the C version of
HPET) to make it friendly for vmstate support.

Note the commit 7bda68e8e2b0 ("qdev, rust/hpet: fix type of HPET
'timers property") supports the usize type property, but the uint8
property has to be re-supported now.

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

show more ...


/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/backends/cryptodev-lkcf.c
/qemu/block/qcow2.c
/qemu/configs/devices/aarch64-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/emulation.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/codebase.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/qapi-domain.rst
/qemu/docs/devel/testing/functional.rst
/qemu/docs/interop/firmware.json
/qemu/docs/interop/qemu-ga-ref.rst
/qemu/docs/interop/qemu-qmp-ref.rst
/qemu/docs/interop/qemu-storage-daemon-qmp-ref.rst
/qemu/docs/specs/riscv-iommu.rst
/qemu/docs/sphinx/qmp_lexer.py
/qemu/docs/system/arm/bananapi_m2u.rst
/qemu/docs/system/arm/imx8mp-evk.rst
/qemu/docs/system/arm/orangepi.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/system/devices/igb.rst
/qemu/docs/system/devices/net.rst
/qemu/docs/system/loongarch/virt.rst
/qemu/docs/system/target-loongarch.rst
/qemu/docs/system/targets.rst
/qemu/host/include/loongarch64/host/atomic128-ldst.h.inc
/qemu/host/include/loongarch64/host/bufferiszero.c.inc
/qemu/host/include/loongarch64/host/load-extract-al16-al8.h.inc
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/fsl-imx8mp.c
/qemu/hw/arm/imx8mp-evk.c
/qemu/hw/block/m25p80.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/core/machine.c
/qemu/hw/display/dm163.c
/qemu/hw/dma/i82374.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/intc/aspeed_intc.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/misc/aspeed_hace.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/bcm2835_cprman.c
/qemu/hw/misc/npcm_clk.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/nvme/subsys.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/pci-host/designware.c
/qemu/hw/ppc/amigaone.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_bmc.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_occ.c
/qemu/hw/ppc/pnv_pnor.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/riscv/riscv-iommu-bits.h
/qemu/hw/riscv/riscv-iommu.c
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/sd/sdhci-pci.c
/qemu/hw/smbios/smbios.c
/qemu/hw/uefi/Kconfig
/qemu/hw/uefi/var-service-core.c
/qemu/hw/uefi/var-service-json.c
/qemu/hw/ufs/ufs.c
/qemu/hw/virtio/meson.build
/qemu/hw/xen/xen-bus.c
/qemu/include/exec/memory.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/fsl-imx8mp.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/ppc/pnv_pnor.h
/qemu/include/qemu/job.h
/qemu/job.c
/qemu/linux-user/syscall.c
/qemu/migration/channel-block.c
/qemu/net/vmnet-common.m
/qemu/plugins/loader.c
/qemu/qapi/qapi-schema.json
/qemu/qapi/qdev.json
/qemu/qapi/rocker.json
/qemu/qemu-img.c
/qemu/qga/qapi-schema.json
timer/hpet/src/hpet.rs
/qemu/scripts/checkpatch.pl
/qemu/scripts/nsis.py
/qemu/scsi/utils.c
/qemu/storage-daemon/qapi/qapi-schema.json
/qemu/system/main.c
/qemu/system/physmem.c
/qemu/target/avr/disas.c
/qemu/target/hppa/cpu.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/emulate/meson.build
/qemu/target/i386/emulate/panic.h
/qemu/target/i386/emulate/x86.h
/qemu/target/i386/emulate/x86_decode.c
/qemu/target/i386/emulate/x86_decode.h
/qemu/target/i386/emulate/x86_emu.c
/qemu/target/i386/emulate/x86_emu.h
/qemu/target/i386/emulate/x86_flags.c
/qemu/target/i386/emulate/x86_flags.h
/qemu/target/i386/host-cpu.c
/qemu/target/i386/hvf/hvf-i386.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/meson.build
/qemu/target/i386/hvf/vmx.h
/qemu/target/i386/hvf/x86.c
/qemu/target/i386/hvf/x86_cpuid.c
/qemu/target/i386/hvf/x86_descr.h
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/hvf/x86_task.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/kvm/vmsr_energy.c
/qemu/target/i386/meson.build
/qemu/target/i386/tcg/cc_helper_template.h.inc
/qemu/target/i386/tcg/emit.c.inc
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/tcg/csr_helper.c
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/mips/cpu-param.h
/qemu/target/mips/tcg/system/cp0_helper.c
/qemu/target/mips/tcg/system/tlb_helper.c
/qemu/target/mips/tcg/tcg-internal.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/translate/vmx-impl.c.inc
/qemu/target/ppc/translate/vsx-impl.c.inc
/qemu/target/riscv/cpu.h
/qemu/target/riscv/csr.c
/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/qemu/target/riscv/insn_trans/trans_rvzicfiss.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vcrypto_helper.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/s390x/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/mmu_helper.c
/qemu/tcg/tcg.c
/qemu/tests/functional/meson.build
/qemu/tests/functional/qemu_test/__init__.py
/qemu/tests/functional/qemu_test/decorators.py
/qemu/tests/functional/qemu_test/testcase.py
/qemu/tests/functional/test_aarch64_replay.py
/qemu/tests/functional/test_aarch64_rme_sbsaref.py
/qemu/tests/functional/test_aarch64_rme_virt.py
/qemu/tests/functional/test_aarch64_virt_gpu.py
/qemu/tests/functional/test_acpi_bits.py
/qemu/tests/functional/test_arm_bpim2u.py
/qemu/tests/functional/test_arm_cubieboard.py
/qemu/tests/functional/test_arm_orangepi.py
/qemu/tests/functional/test_migration.py
/qemu/tests/functional/test_ppc64_hv.py
/qemu/tests/functional/test_ppc64_replay.py
/qemu/tests/functional/test_vnc.py
/qemu/tests/functional/test_x86_64_kvm_xen.py
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/doc-good.txt
/qemu/tests/qemu-iotests/162
/qemu/tests/qemu-iotests/tests/qcow2-encryption
/qemu/tests/qemu-iotests/tests/qcow2-encryption.out
/qemu/tests/qtest/libqtest.c
/qemu/tests/tcg/aarch64/system/boot.S
/qemu/tests/tcg/plugins/meson.build
/qemu/tests/tcg/plugins/reset.c
/qemu/tests/unit/test-bdrv-drain.c
64acc23c21-Mar-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: hpet: fix decoding of timer registers

Due to a missing "& 0x18", timer registers are not decoded correctly.
This breaks the tests/functional/test_x86_64_tuxrun.py functional
test.

Fixes: 5190

rust: hpet: fix decoding of timer registers

Due to a missing "& 0x18", timer registers are not decoded correctly.
This breaks the tests/functional/test_x86_64_tuxrun.py functional
test.

Fixes: 519088b7cf6 ("rust: hpet: decode HPET registers into enums", 2025-03-06)
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Tested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

f7b87e4618-Mar-2025 Zhao Liu <zhao1.liu@intel.com>

rust/vmstate: Include complete crate path of VMStateFlags in vmstate_clock

The use of "bindings::*" masks incomplete path of VMStateFlags.

Include complete crate path of VMStateFlags in vmstate_clo

rust/vmstate: Include complete crate path of VMStateFlags in vmstate_clock

The use of "bindings::*" masks incomplete path of VMStateFlags.

Include complete crate path of VMStateFlags in vmstate_clock, and clean
up "bindings::*" in device_class.rs of pl011.

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

show more ...

cc3d262a21-Mar-2025 Peter Maydell <peter.maydell@linaro.org>

rust: pl011: Check size of state struct at compile time

The PL011 device's C implementation exposes its PL011State struct to
users of the device, and one common usage pattern is to embed that
struct

rust: pl011: Check size of state struct at compile time

The PL011 device's C implementation exposes its PL011State struct to
users of the device, and one common usage pattern is to embed that
struct into the user's own state struct. (The internals of the
struct are technically visible to the C user of the device, but in
practice are treated as implementation details.)

This means that the Rust version of the state struct must not be
larger than the C version's struct; otherwise it will trip a runtime
assertion in object_initialize_type() when the C user attempts to
in-place initialize the type.

Add a compile-time assertion on the Rust side, so that if we
accidentally make the Rust device state larger we know immediately
that we need to expand the padding in the C version of the struct.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Link: https://lore.kernel.org/r/20250321112523.1774131-4-peter.maydell@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

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

qdev, rust/hpet: fix type of HPET "timers" property

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

d136834419-Mar-2025 Peter Maydell <peter.maydell@linaro.org>

rust: Kconfig: Factor out whether HPET is Rust or C

Currently we require everywhere that wants to know if there
is an HPET device to check for "CONFIG_HPET || CONFIG_X_HPET_RUST".
Factor out whether

rust: Kconfig: Factor out whether HPET is Rust or C

Currently we require everywhere that wants to know if there
is an HPET device to check for "CONFIG_HPET || CONFIG_X_HPET_RUST".
Factor out whether the HPET device is Rust or C into a separate
Kconfig stanza, so that CONFIG_HPET means "there is an HPET",
and whether this has pulled in CONFIG_X_HPET_RUST or CONFIG_HPET_C
is something the rest of QEMU can ignore.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Link: https://lore.kernel.org/r/20250319193110.1565578-3-peter.maydell@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/check-units.py
/qemu/.gitlab-ci.d/cirrus/freebsd-14.vars
/qemu/.gitlab-ci.d/cirrus/macos-14.vars
/qemu/.gitlab-ci.d/static_checks.yml
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/accel-system.c
/qemu/accel/accel-target.c
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/kvm/kvm-accel-ops.c
/qemu/accel/kvm/kvm-cpus.h
/qemu/accel/qtest/qtest.c
/qemu/accel/stubs/tcg-stub.c
/qemu/accel/tcg/cpu-exec-common.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/icount-common.c
/qemu/accel/tcg/internal-common.h
/qemu/accel/tcg/meson.build
/qemu/accel/tcg/monitor.c
/qemu/accel/tcg/tb-internal.h
/qemu/accel/tcg/tcg-accel-ops-icount.c
/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/qemu/accel/tcg/tcg-accel-ops-rr.c
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/tcg-runtime-gvec.c
/qemu/accel/tcg/tcg-runtime.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/user-exec-stub.c
/qemu/accel/tcg/user-exec.c
/qemu/accel/tcg/watchpoint.c
/qemu/accel/xen/xen-all.c
/qemu/backends/tpm/tpm_util.c
/qemu/block/block-backend.c
/qemu/block/create.c
/qemu/block/file-posix.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/linux-aio.c
/qemu/block/qed.c
/qemu/block/snapshot.c
/qemu/blockdev-nbd.c
/qemu/bsd-user/bsd-mem.h
/qemu/bsd-user/meson.build
/qemu/bsd-user/mmap.c
/qemu/bsd-user/plugin-api.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/common-user/plugin-api.c.inc
/qemu/configs/devices/i386-softmmu/default.mak
/qemu/contrib/plugins/meson.build
/qemu/cpu-common.c
/qemu/cpu-target.c
/qemu/disas/disas-common.c
/qemu/docs/about/build-platforms.rst
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/conf.py
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/codebase.rst
/qemu/docs/devel/index-build.rst
/qemu/docs/devel/kconfig.rst
/qemu/docs/devel/migration/vfio.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/qapi-domain.rst
/qemu/docs/devel/testing/functional.rst
/qemu/docs/glossary.rst
/qemu/docs/interop/qemu-ga-ref.rst
/qemu/docs/interop/qemu-qmp-ref.rst
/qemu/docs/interop/qemu-storage-daemon-qmp-ref.rst
/qemu/docs/specs/aspeed-intc.rst
/qemu/docs/specs/index.rst
/qemu/docs/sphinx-static/theme_overrides.css
/qemu/docs/sphinx/compat.py
/qemu/docs/sphinx/qapi_domain.py
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/sphinx/qapidoc_legacy.py
/qemu/docs/system/arm/bananapi_m2u.rst
/qemu/docs/system/arm/orangepi.rst
/qemu/docs/system/devices/igb.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/ppc/embedded.rst
/qemu/docs/system/ppc/powernv.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/system.c
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/host/include/aarch64/host/atomic128-cas.h
/qemu/host/include/aarch64/host/atomic128-ldst.h.inc
/qemu/host/include/generic/host/atomic128-cas.h.inc
/qemu/host/include/generic/host/atomic128-ldst.h.inc
/qemu/host/include/loongarch64/host/atomic128-ldst.h.inc
/qemu/host/include/x86_64/host/atomic128-ldst.h.inc
/qemu/host/include/x86_64/host/load-extract-al16-al8.h.inc
/qemu/hw/acpi/acpi-stub.c
/qemu/hw/acpi/core.c
/qemu/hw/acpi/cpu.c
/qemu/hw/acpi/cpu_hotplug.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_ast27x0.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/fsl-imx8mp.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmu-internal.h
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/virt.c
/qemu/hw/block/block.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/Kconfig
/qemu/hw/char/meson.build
/qemu/hw/char/pl011.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/cpu-system.c
/qemu/hw/core/cpu-user.c
/qemu/hw/core/generic-loader.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/core/meson.build
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/display/apple-gfx.m
/qemu/hw/display/qxl.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/pc.c
/qemu/hw/ide/core.c
/qemu/hw/ide/macio.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/aspeed_intc.c
/qemu/hw/intc/pnv_xive.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/intc/trace-events
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/mips/jazz.c
/qemu/hw/misc/aspeed_hace.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/igb.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/smc91c111.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/nguid.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/openrisc/virt.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/trace-events
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/amigaone.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/meson.build
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_bmc.c
/qemu/hw/ppc/pnv_homer.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_occ.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/rtc/Kconfig
/qemu/hw/rtc/meson.build
/qemu/hw/rtc/rs5c372.c
/qemu/hw/rtc/trace-events
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/virtio-scsi-dataplane.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sh4/sh7750.c
/qemu/hw/ssi/pnv_spi.c
/qemu/hw/timer/Kconfig
/qemu/hw/timer/meson.build
/qemu/hw/vfio/amd-xgbe.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/calxeda-xgmac.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/igd.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration-multifd.c
/qemu/hw/vfio/migration-multifd.h
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/vfio/platform.c
/qemu/hw/vfio/spapr.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/iothread-vq-mapping.c
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_pt.c
/qemu/include/accel/accel-cpu-target.h
/qemu/include/accel/tcg/cpu-ops.h
/qemu/include/accel/tcg/getpc.h
/qemu/include/block/aio.h
/qemu/include/block/block_int-common.h
/qemu/include/block/graph-lock.h
/qemu/include/block/raw-aio.h
/qemu/include/block/thread-pool.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cpu-interrupt.h
/qemu/include/exec/cputlb.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/memop.h
/qemu/include/exec/memory.h
/qemu/include/exec/page-protection.h
/qemu/include/exec/poison.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/exec/target_page.h
/qemu/include/hw/acpi/acpi.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/bsa.h
/qemu/include/hw/arm/smmu-common.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/sysemu-cpu-ops.h
/qemu/include/hw/hyperv/hyperv-proto.h
/qemu/include/hw/intc/aspeed_intc.h
/qemu/include/hw/misc/aspeed_hace.h
/qemu/include/hw/misc/aspeed_scu.h
/qemu/include/hw/pci-host/pnv_phb4.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/pci/pci_device.h
/qemu/include/hw/pci/pcie.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_homer.h
/qemu/include/hw/ppc/pnv_occ.h
/qemu/include/hw/ppc/pnv_pnor.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/ppc/xive.h
/qemu/include/hw/ppc/xive2.h
/qemu/include/hw/ppc/xive2_regs.h
/qemu/include/hw/ppc/xive_regs.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/s390x/s390-pci-bus.h
/qemu/include/hw/s390x/s390-pci-clp.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/sd/sdhci.h
/qemu/include/hw/ssi/pnv_spi.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/iothread-vq-mapping.h
/qemu/include/hw/virtio/virtio-scsi.h
/qemu/include/hw/xen/arch_hvm.h
/qemu/include/migration/client-options.h
/qemu/include/migration/cpr.h
/qemu/include/migration/misc.h
/qemu/include/migration/register.h
/qemu/include/qapi/error.h
/qemu/include/qemu/atomic128.h
/qemu/include/qemu/compiler.h
/qemu/include/qemu/iov.h
/qemu/include/qemu/plugin-memory.h
/qemu/include/qemu/thread.h
/qemu/include/qemu/typedefs.h
/qemu/include/system/accel-ops.h
/qemu/include/system/arch_init.h
/qemu/include/system/block-backend-global-state.h
/qemu/include/system/cpus.h
/qemu/include/system/dma.h
/qemu/include/system/hostmem.h
/qemu/include/user/mmap.h
/qemu/linux-user/aarch64/cpu_loop.c
/qemu/linux-user/alpha/target_proc.h
/qemu/linux-user/arm/cpu_loop.c
/qemu/linux-user/main.c
/qemu/linux-user/meson.build
/qemu/linux-user/mmap.c
/qemu/linux-user/plugin-api.c
/qemu/linux-user/signal.c
/qemu/linux-user/syscall.c
/qemu/linux-user/user-internals.h
/qemu/linux-user/user-mmap.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/colo.c
/qemu/migration/cpr.c
/qemu/migration/meson.build
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-device-state.c
/qemu/migration/multifd-nocomp.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/qemu-file.h
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/savevm.h
/qemu/migration/trace-events
/qemu/net/net.c
/qemu/net/tap-linux.c
/qemu/net/vhost-vdpa.c
/qemu/page-target.c
/qemu/page-vary-target.c
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/qemu/pc-bios/pnv-pnor.bin
/qemu/pc-bios/skiboot.lid
/qemu/pc-bios/slof.bin
/qemu/plugins/api-system.c
/qemu/plugins/api-user.c
/qemu/plugins/api.c
/qemu/plugins/core.c
/qemu/plugins/loader.c
/qemu/plugins/meson.build
/qemu/plugins/plugin.h
/qemu/plugins/system.c
/qemu/plugins/user.c
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/qapi-schema.json
/qemu/qemu-nbd.c
/qemu/qga/qapi-schema.json
/qemu/roms/skiboot
timer/Kconfig
/qemu/scripts/analyze-migration.py
/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/main.py
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/source.py
/qemu/scripts/qcow2-to-stdout.py
/qemu/storage-daemon/qapi/qapi-schema.json
/qemu/system/arch_init.c
/qemu/system/cpus.c
/qemu/system/dma-helpers.c
/qemu/system/globals-target.c
/qemu/system/globals.c
/qemu/system/meson.build
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/system/watchpoint.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/fpu_helper.c
/qemu/target/alpha/helper.c
/qemu/target/alpha/sys_helper.c
/qemu/target/arm/arch_dump.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/debug_helper.c
/qemu/target/arm/gtimer.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/tlb-insns.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate-a64.h
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/avr/cpu.c
/qemu/target/avr/helper.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/mem_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/hvf-cpu.c
/qemu/target/i386/hvf/x86_decode.c
/qemu/target/i386/kvm/hyperv-proto.h
/qemu/target/i386/kvm/kvm-cpu.c
/qemu/target/i386/machine.c
/qemu/target/i386/nvmm/nvmm-accel-ops.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/i386/tcg/misc_helper.c
/qemu/target/i386/tcg/system/excp_helper.c
/qemu/target/i386/tcg/system/misc_helper.c
/qemu/target/i386/tcg/system/svm_helper.c
/qemu/target/i386/tcg/tcg-cpu.c
/qemu/target/i386/whpx/whpx-accel-ops.c
/qemu/target/i386/whpx/whpx-apic.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/helper.h
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/tcg/csr_helper.c
/qemu/target/loongarch/tcg/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/mmu.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu.c
/qemu/target/mips/internal.h
/qemu/target/mips/system/cp0.c
/qemu/target/mips/tcg/msa_helper.c
/qemu/target/mips/tcg/system/cp0_helper.c
/qemu/target/mips/tcg/system/tlb_helper.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/gdbstub.c
/qemu/target/openrisc/mmu.c
/qemu/target/openrisc/sys_helper.c
/qemu/target/ppc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/machine.c
/qemu/target/ppc/meson.build
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/spr_common.h
/qemu/target/ppc/tcg-excp_helper.c
/qemu/target/ppc/translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/internals.h
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/pmp.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/rx/cpu.c
/qemu/target/rx/cpu.h
/qemu/target/rx/helper.c
/qemu/target/rx/helper.h
/qemu/target/s390x/cpu-system.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/gdbstub.c
/qemu/target/s390x/interrupt.c
/qemu/target/s390x/s390x-internal.h
/qemu/target/s390x/sigp.c
/qemu/target/s390x/tcg/excp_helper.c
/qemu/target/s390x/tcg/mem_helper.c
/qemu/target/s390x/tcg/misc_helper.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/helper.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/tricore/helper.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/helper.c
/qemu/target/xtensa/mmu_helper.c
/qemu/tests/docker/dockerfiles/alpine.docker
/qemu/tests/docker/dockerfiles/centos9.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/debian.docker
/qemu/tests/docker/dockerfiles/fedora-rust-nightly.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/functional/aspeed.py
/qemu/tests/functional/meson.build
/qemu/tests/functional/qemu_test/__init__.py
/qemu/tests/functional/qemu_test/asset.py
/qemu/tests/functional/qemu_test/config.py
/qemu/tests/functional/qemu_test/linuxkernel.py
/qemu/tests/functional/qemu_test/testcase.py
/qemu/tests/functional/qemu_test/tuxruntest.py
/qemu/tests/functional/qemu_test/uncompress.py
/qemu/tests/functional/test_aarch64_aspeed.py
/qemu/tests/functional/test_aarch64_rme_sbsaref.py
/qemu/tests/functional/test_aarch64_rme_virt.py
/qemu/tests/functional/test_aarch64_tcg_plugins.py
/qemu/tests/functional/test_aarch64_virt.py
/qemu/tests/functional/test_aarch64_virt_gpu.py
/qemu/tests/functional/test_arm_aspeed_bletchley.py
/qemu/tests/functional/test_arm_aspeed_palmetto.py
/qemu/tests/functional/test_arm_aspeed_romulus.py
/qemu/tests/functional/test_arm_aspeed_witherspoon.py
/qemu/tests/functional/test_arm_sx1.py
/qemu/tests/functional/test_intel_iommu.py
/qemu/tests/functional/test_mem_addr_space.py
/qemu/tests/functional/test_mips_malta.py
/qemu/tests/functional/test_ppc64_e500.py
/qemu/tests/functional/test_ppc64_tuxrun.py
/qemu/tests/functional/test_virtio_balloon.py
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/lcitool/refresh
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qemu-iotests/051.pc.out
/qemu/tests/qemu-iotests/162
/qemu/tests/qemu-iotests/302
/qemu/tests/qemu-iotests/tests/qsd-migrate
/qemu/tests/qtest/m48t59-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/pnv-spi-seeprom-test.c
/qemu/tests/qtest/pnv-xive2-common.h
/qemu/tests/qtest/pnv-xive2-flush-sync.c
/qemu/tests/qtest/pnv-xive2-nvpg_bar.c
/qemu/tests/qtest/pnv-xive2-test.c
/qemu/tests/qtest/rs5c372-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/arm/Makefile.target
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/test-avx.c
/qemu/tests/tcg/i386/test-i386-adcox.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/linux/test-vma.c
/qemu/tests/tcg/plugins/meson.build
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-block-iothread.c
/qemu/tests/unit/test-thread-pool.c
/qemu/tests/vm/basevm.py
/qemu/tests/vm/generated/freebsd.json
/qemu/trace/control-target.c
/qemu/trace/meson.build
/qemu/util/aio-posix.c
/qemu/util/aio-posix.h
/qemu/util/async.c
/qemu/util/cacheflush.c
/qemu/util/iov.c
/qemu/util/qemu-thread-posix.c
/qemu/util/qemu-timer.c
/qemu/util/thread-pool.c
/qemu/util/trace-events
8169453607-Mar-2025 Peter Maydell <peter.maydell@linaro.org>

rust: pl011: Allow NULL chardev argument to pl011_create()

It's valid for the caller to pass a NULL chardev to pl011_create();
this means "don't set the chardev property on the device", which
in tur

rust: pl011: Allow NULL chardev argument to pl011_create()

It's valid for the caller to pass a NULL chardev to pl011_create();
this means "don't set the chardev property on the device", which
in turn means "act like there's no chardev". All the chardev
frontend APIs (in C, at least) accept a NULL pointer to mean
"do nothing".

This fixes some failures in 'make check-functional' when Rust support
is enabled.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20250307190051.3274226-1-peter.maydell@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

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

rust: hpet: decode HPET registers into enums

Generalize timer_and_addr() to decode all registers into a single enum
HPETRegister, and use the TryInto derive to separate valid and
invalid values.

Th

rust: hpet: decode HPET registers into enums

Generalize timer_and_addr() to decode all registers into a single enum
HPETRegister, and use the TryInto derive to separate valid and
invalid values.

The main advantage lies in checking that all registers are enumerated
in the "match" statements.

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

show more ...

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

rust: pl011: pass around registers::Data

The values stored in the Fifo are instances of the bitfield-struct
registers::Data. Convert as soon as possible the value written
into DR, and always refer

rust: pl011: pass around registers::Data

The values stored in the Fifo are instances of the bitfield-struct
registers::Data. Convert as soon as possible the value written
into DR, and always refer to the bitfield struct; it's generally
cleaner other than PL011State::receive having to do a double
conversion u8=>u32=>registers::Data.

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

show more ...

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

rust: pl011: switch to safe chardev operation

Switch bindings::CharBackend with chardev::CharBackend. This removes
occurrences of "unsafe" due to FFI and switches the wrappers for receive,
can_rece

rust: pl011: switch to safe chardev operation

Switch bindings::CharBackend with chardev::CharBackend. This removes
occurrences of "unsafe" due to FFI and switches the wrappers for receive,
can_receive and event callbacks to the common ones implemented by
chardev::CharBackend.

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

show more ...

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

rust: pl011: clean up visibilities of callbacks

Do not make callbacks unnecessarily "pub", they are only used
through function pointers.

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

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

rust: pl011: move register definitions out of lib.rs

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

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

rust: hpet: do not access fields of SysBusDevice

Fields of SysBusDevice must only be accessed with the BQL taken. Add
a wrapper that verifies that.

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

rust: hpet: do not access fields of SysBusDevice

Fields of SysBusDevice must only be accessed with the BQL taken. Add
a wrapper that verifies that.

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

show more ...

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

rust: timer: wrap QEMUTimer with Opaque<> and express pinning requirements

Timers must be pinned in memory, because modify() stores a pointer to them
in the TimerList. To express this requirement,

rust: timer: wrap QEMUTimer with Opaque<> and express pinning requirements

Timers must be pinned in memory, because modify() stores a pointer to them
in the TimerList. To express this requirement, change init_full() to take
a pinned reference. Because the only way to obtain a Timer is through
Timer::new(), which is unsafe, modify() can assume that the timer it got
was later initialized; and because the initialization takes a Pin<&mut
Timer> modify() can assume that the timer is pinned. In the future the
pinning requirement will be expressed through the pin_init crate instead.

Note that Timer is a bit different from other users of Opaque, in that
it is created in Rust code rather than C code. This is why it has to
use the unsafe constructors provided by Opaque; and in fact Timer::new()
is also unsafe, because it leaves it to the caller to invoke init_full()
before modify(). Without a call to init_full(), modify() will cause a
NULL pointer dereference.

An alternative could be to combine new() + init_full() by returning a
pinned box; however, using a reference makes it easier to express
the requirement that the opaque outlives the timer.

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

show more ...

e8dc87fe03-Mar-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: hpet: embed Timer without the Option and Box indirection

This simplifies things for migration, since Option<Box<QEMUTimer>> does not
implement VMState.

This also shows a soundness issue becau

rust: hpet: embed Timer without the Option and Box indirection

This simplifies things for migration, since Option<Box<QEMUTimer>> does not
implement VMState.

This also shows a soundness issue because Timer::new() will leave a NULL
timer list pointer, which can then be dereferenced by Timer::modify(). It
will be fixed shortly.

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

show more ...


/qemu/.gitlab-ci.d/check-dco.py
/qemu/.gitlab-ci.d/check-patch.py
/qemu/MAINTAINERS
/qemu/accel/Kconfig
/qemu/chardev/char-socket.c
/qemu/contrib/vmapple/uuid.sh
/qemu/disas/riscv.c
/qemu/docs/devel/index-internals.rst
/qemu/docs/devel/rust.rst
/qemu/docs/devel/uefi-vars.rst
/qemu/docs/specs/riscv-iommu.rst
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/system/arm/imx8mp-evk.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/system/arm/vmapple.rst
/qemu/docs/system/devices/nvme.rst
/qemu/docs/system/target-arm.rst
/qemu/fpu/meson.build
/qemu/fpu/softfloat-parts.c.inc
/qemu/fpu/softfloat-specialize.c.inc
/qemu/fpu/softfloat.c
/qemu/hw/Kconfig
/qemu/hw/acpi/ghes.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/boot.c
/qemu/hw/arm/fsl-imx8mp.c
/qemu/hw/arm/imx8mp-evk.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/omap1.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen-stubs.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/char/imx_serial.c
/qemu/hw/char/mcf_uart.c
/qemu/hw/char/pl011.c
/qemu/hw/char/sh_serial.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/char/trace-events
/qemu/hw/core/loader-fit.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/sysbus-fdt.c
/qemu/hw/gpio/Kconfig
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/i386/xen/xen-pvh.c
/qemu/hw/intc/Kconfig
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/loongarch_extioi_common.c
/qemu/hw/intc/loongarch_ipi.c
/qemu/hw/intc/meson.build
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/intc/riscv_imsic.c
/qemu/hw/loongarch/Kconfig
/qemu/hw/loongarch/virt-acpi-build.c
/qemu/hw/loongarch/virt-fdt-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/meson.build
/qemu/hw/mips/boston.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/imx8mp_analog.c
/qemu/hw/misc/imx8mp_ccm.c
/qemu/hw/misc/macio/gpio.c
/qemu/hw/misc/macio/trace-events
/qemu/hw/misc/meson.build
/qemu/hw/misc/npcm_clk.c
/qemu/hw/misc/pvpanic-mmio.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/nvram/eeprom_at24c.c
/qemu/hw/openrisc/boot.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/openrisc/virt.c
/qemu/hw/pci-host/Kconfig
/qemu/hw/pci-host/designware.c
/qemu/hw/pci-host/fsl_imx8m_phy.c
/qemu/hw/pci-host/meson.build
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/meson.build
/qemu/hw/riscv/riscv-iommu-bits.h
/qemu/hw/riscv/riscv-iommu-hpm.c
/qemu/hw/riscv/riscv-iommu-hpm.h
/qemu/hw/riscv/riscv-iommu.c
/qemu/hw/riscv/riscv-iommu.h
/qemu/hw/riscv/trace-events
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/timer/imx_gpt.c
/qemu/hw/uefi/Kconfig
/qemu/hw/uefi/LIMITATIONS.md
/qemu/hw/uefi/hardware-info.c
/qemu/hw/uefi/meson.build
/qemu/hw/uefi/trace-events
/qemu/hw/uefi/var-service-auth.c
/qemu/hw/uefi/var-service-core.c
/qemu/hw/uefi/var-service-guid.c
/qemu/hw/uefi/var-service-json.c
/qemu/hw/uefi/var-service-pkcs7-stub.c
/qemu/hw/uefi/var-service-pkcs7.c
/qemu/hw/uefi/var-service-policy.c
/qemu/hw/uefi/var-service-siglist.c
/qemu/hw/uefi/var-service-sysbus.c
/qemu/hw/uefi/var-service-utils.c
/qemu/hw/uefi/var-service-vars.c
/qemu/hw/ufs/ufs.c
/qemu/hw/ufs/ufs.h
/qemu/hw/usb/hcd-dwc3.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-pci.h
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/hcd-xhci.h
/qemu/hw/vmapple/Kconfig
/qemu/hw/vmapple/aes.c
/qemu/hw/vmapple/bdif.c
/qemu/hw/vmapple/cfg.c
/qemu/hw/vmapple/meson.build
/qemu/hw/vmapple/trace-events
/qemu/hw/vmapple/trace.h
/qemu/hw/vmapple/virtio-blk.c
/qemu/hw/vmapple/vmapple.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen-pvh-common.c
/qemu/include/block/nvme.h
/qemu/include/block/ufs.h
/qemu/include/fpu/softfloat-helpers.h
/qemu/include/fpu/softfloat-types.h
/qemu/include/fpu/softfloat.h
/qemu/include/hw/acpi/ghes.h
/qemu/include/hw/arm/fsl-imx8mp.h
/qemu/include/hw/boards.h
/qemu/include/hw/loader-fit.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/imx8mp_analog.h
/qemu/include/hw/misc/imx8mp_ccm.h
/qemu/include/hw/misc/pvpanic.h
/qemu/include/hw/openrisc/boot.h
/qemu/include/hw/pci-host/designware.h
/qemu/include/hw/pci-host/fsl_imx8m_phy.h
/qemu/include/hw/pci/pci_ids.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/timer/imx_gpt.h
/qemu/include/hw/uefi/hardware-info.h
/qemu/include/hw/uefi/var-service-api.h
/qemu/include/hw/uefi/var-service-edk2.h
/qemu/include/hw/uefi/var-service.h
/qemu/include/hw/usb/hcd-dwc3.h
/qemu/include/hw/virtio/virtio-blk.h
/qemu/include/hw/vmapple/vmapple.h
/qemu/include/hw/xen/xen-bus.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen-legacy-backend.h
/qemu/include/hw/xen/xen-pvh-common.h
/qemu/include/qemu/cutils.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/system/device_tree.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-loongarch/kvm_para.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/stddef.h
/qemu/linux-headers/linux/vduse.h
/qemu/meson.build
/qemu/monitor/hmp-cmds.c
/qemu/qapi/char.json
/qemu/qapi/meson.build
/qemu/qapi/qapi-schema.json
/qemu/qapi/uefi.json
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/main.c
timer/hpet/src/hpet.rs
/qemu/rust/qemu-api-macros/src/lib.rs
/qemu/rust/qemu-api/meson.build
/qemu/rust/qemu-api/src/cell.rs
/qemu/rust/qemu-api/src/vmstate.rs
/qemu/scripts/checkpatch.pl
/qemu/scripts/meson-buildoptions.py
/qemu/scripts/qapi/backend.py
/qemu/scripts/qapi/main.py
/qemu/scripts/qapi/pylintrc
/qemu/scripts/qemu-binfmt-conf.sh
/qemu/system/device_tree-stub.c
/qemu/system/device_tree.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/tcg-stubs.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/vfp_helper.c
/qemu/target/arm/vfp_fpscr.c
/qemu/target/hppa/fpu_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/gdbstub.c
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/softfloat.c
/qemu/target/riscv/cpu-qom.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/debug.c
/qemu/target/riscv/helper.h
/qemu/target/riscv/insn32.decode
/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/machine.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/pmp.c
/qemu/target/riscv/pmu.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/sh4/cpu.c
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/data/acpi/riscv64/virt/RHCT
/qemu/tests/functional/meson.build
/qemu/tests/functional/replay_kernel.py
/qemu/tests/functional/test_aarch64_replay.py
/qemu/tests/functional/test_alpha_replay.py
/qemu/tests/functional/test_arm_replay.py
/qemu/tests/functional/test_arm_sx1.py
/qemu/tests/functional/test_m68k_replay.py
/qemu/tests/functional/test_microblaze_replay.py
/qemu/tests/functional/test_microblaze_s3adsp1800.py
/qemu/tests/functional/test_microblazeel_s3adsp1800.py
/qemu/tests/functional/test_or1k_replay.py
/qemu/tests/functional/test_ppc64_e500.py
/qemu/tests/functional/test_ppc64_replay.py
/qemu/tests/functional/test_ppc_replay.py
/qemu/tests/functional/test_s390x_replay.py
/qemu/tests/functional/test_sparc_replay.py
/qemu/tests/functional/test_x86_64_replay.py
/qemu/tests/functional/test_xtensa_replay.py
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qtest/qom-test.c
/qemu/tests/qtest/ufs-test.c
/qemu/ui/console-vc.c
/qemu/util/hexdump.c
d556226d13-Feb-2025 Paolo Bonzini <pbonzini@redhat.com>

rust: qom: get rid of ClassInitImpl

Complete the conversion from the ClassInitImpl trait to class_init() methods.
This will provide more freedom to split the qemu_api crate in separate parts.

Revie

rust: qom: get rid of ClassInitImpl

Complete the conversion from the ClassInitImpl trait to class_init() methods.
This will provide more freedom to split the qemu_api crate in separate parts.

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

show more ...

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

rust: pl011, qemu_api tests: do not use ClassInitImpl

Outside the qemu_api crate, orphan rules make the usage of ClassInitImpl
unwieldy. Now that it is optional, do not use it.

For PL011Class, thi

rust: pl011, qemu_api tests: do not use ClassInitImpl

Outside the qemu_api crate, orphan rules make the usage of ClassInitImpl
unwieldy. Now that it is optional, do not use it.

For PL011Class, this makes it easier to provide a PL011Impl trait similar
to the ones in the qemu_api crate. The device id consts are moved there.

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

show more ...

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

rust: qom: add ObjectImpl::CLASS_INIT

As shown in the PL011 device, the orphan rules required a manual
implementation of ClassInitImpl for anything not in the qemu_api crate;
this gets in the way of

rust: qom: add ObjectImpl::CLASS_INIT

As shown in the PL011 device, the orphan rules required a manual
implementation of ClassInitImpl for anything not in the qemu_api crate;
this gets in the way of moving system emulation-specific code (including
DeviceClass, which as a blanket ClassInitImpl<DeviceClass> implementation)
into its own crate.

Make ClassInitImpl optional, at the cost of having to specify the CLASS_INIT
member by hand in every implementation of ObjectImpl. The next commits will
get rid of it, replacing all the "impl<T> ClassInitImpl<Class> for T" blocks
with a generic class_init<T> method on Class.

Right now the definition is always the same, but do not provide a default
as that will not be true once ClassInitImpl goes away.

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

show more ...

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

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

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

i386: Fix the missing Rust HPET configuration option

The configuration option of Rust HPET is missing, so that PC machine
can't boot with "hpet=on" when QEMU Rust support is enabled.

Add the Rust H

i386: Fix the missing Rust HPET configuration option

The configuration option of Rust HPET is missing, so that PC machine
can't boot with "hpet=on" when QEMU Rust support is enabled.

Add the Rust HPET configuration option.

Fixes: d128c341a744 ("i386: enable rust hpet for pc when rust is enabled")
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250217154416.3144571-1-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/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/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
timer/Kconfig
/qemu/rust/qemu-api/src/assertions.rs
/qemu/rust/qemu-api/src/bindings.rs
/qemu/rust/qemu-api/src/c_str.rs
/qemu/rust/qemu-api/src/offset_of.rs
/qemu/rust/qemu-api/src/prelude.rs
/qemu/rust/qemu-api/src/sysbus.rs
/qemu/rust/qemu-api/src/vmstate.rs
/qemu/rust/qemu-api/src/zeroable.rs
/qemu/scripts/make-release
/qemu/scripts/qemu-trace-stap
/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
d128c34110-Feb-2025 Zhao Liu <zhao1.liu@intel.com>

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 <zhao1.liu@int

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

show more ...

123456