History log of /qemu/rust/qemu-api/src/ (Results 101 – 125 of 139)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
716d89f931-Oct-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: re-export C types from qemu-api submodules

Long term we do not want device code to use "bindings" at all, so make it
possible to get the relevant types from the other modules of qemu-api.

Rev

rust: re-export C types from qemu-api submodules

Long term we do not want device code to use "bindings" at all, so make it
possible to get the relevant types from the other modules of qemu-api.

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

show more ...

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

rust: rename qemu-api modules to follow C code a bit more

A full match would mean calling them qom::object and hw::core::qdev. For now,
keep the names shorter but still a bit easier to find.

Revie

rust: rename qemu-api modules to follow C code a bit more

A full match would mean calling them qom::object and hw::core::qdev. For now,
keep the names shorter but still a bit easier to find.

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

show more ...

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

rust: qom: add possibility of overriding unparent

Add a blanket definition of ClassInitImpl<ObjectClass> that thunks
ObjectImpl::UNPARENT and overrides it in ObjectClass if it is not
None.

ClassIni

rust: qom: add possibility of overriding unparent

Add a blanket definition of ClassInitImpl<ObjectClass> that thunks
ObjectImpl::UNPARENT and overrides it in ObjectClass if it is not
None.

ClassInitImpl<DeviceClass> can now call its superclass's ClassInitImpl,
so that the C and Rust hierarchies match more closely.

This is mostly done as an example of implementing the metaclass
hierarchy under ClassInitImpl.

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

show more ...

6dd818fb29-Nov-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: qom: put class_init together from multiple ClassInitImpl<>

Parameterize the implementation of ClassInitImpl so that it is
possible to call up the chain of implementations, one superclass at
a

rust: qom: put class_init together from multiple ClassInitImpl<>

Parameterize the implementation of ClassInitImpl so that it is
possible to call up the chain of implementations, one superclass at
a time starting at ClassInitImpl<Self::Class>.

In order to avoid having to implement (for example)
ClassInitImpl<PL011Class>, also remove the dummy PL011Class and
PL011LuminaryClass structs and specify the same ObjectType::Class as
the superclass. In the future this default behavior can be handled by
a procedural macro, by looking at the first field in the struct.

Note that the new trait is safe: the calls are started by
rust_class_init<>(), which is not public and can convert the class
pointer to a Rust reference.

Since CLASS_BASE_INIT applies to the type that is being defined,
and only to it, move it to ObjectImpl.

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

show more ...


/qemu/backends/tpm/tpm_util.c
/qemu/cpu-target.c
/qemu/docs/devel/migration/compatibility.rst
/qemu/docs/devel/virtio-backends.rst
/qemu/hw/9pfs/virtio-9p-device.c
/qemu/hw/acpi/erst.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/adc/aspeed_adc.c
/qemu/hw/adc/npcm7xx_adc.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed_soc_common.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/integratorcp.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/nrf51_soc.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/audio/ac97.c
/qemu/hw/audio/adlib.c
/qemu/hw/audio/asc.c
/qemu/hw/audio/cs4231a.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/gus.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/audio/pcspk.c
/qemu/hw/audio/pl041.c
/qemu/hw/audio/sb16.c
/qemu/hw/audio/via-ac97.c
/qemu/hw/audio/virtio-snd-pci.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/audio/wm8750.c
/qemu/hw/avr/atmega.c
/qemu/hw/block/fdc-isa.c
/qemu/hw/block/fdc-sysbus.c
/qemu/hw/block/fdc.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/swim.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/avr_usart.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/cmsdk-apb-uart.c
/qemu/hw/char/debugcon.c
/qemu/hw/char/digic-uart.c
/qemu/hw/char/escc.c
/qemu/hw/char/exynos4210_uart.c
/qemu/hw/char/goldfish_tty.c
/qemu/hw/char/grlib_apbuart.c
/qemu/hw/char/ibex_uart.c
/qemu/hw/char/imx_serial.c
/qemu/hw/char/ipoctal232.c
/qemu/hw/char/mcf_uart.c
/qemu/hw/char/nrf51_uart.c
/qemu/hw/char/parallel.c
/qemu/hw/char/pl011.c
/qemu/hw/char/renesas_sci.c
/qemu/hw/char/sclpconsole-lm.c
/qemu/hw/char/sclpconsole.c
/qemu/hw/char/serial-isa.c
/qemu/hw/char/serial-mm.c
/qemu/hw/char/serial-pci-multi.c
/qemu/hw/char/serial-pci.c
/qemu/hw/char/serial.c
/qemu/hw/char/sh_serial.c
/qemu/hw/char/shakti_uart.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/char/spapr_vty.c
/qemu/hw/char/stm32f2xx_usart.c
/qemu/hw/char/stm32l4x5_usart.c
/qemu/hw/char/terminal3270.c
/qemu/hw/char/virtio-console.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/char/xen_console.c
/qemu/hw/char/xilinx_uartlite.c
/qemu/hw/core/generic-loader.c
/qemu/hw/core/guest-loader.c
/qemu/hw/core/or-irq.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/core/split-irq.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/arm11mpcore.c
/qemu/hw/cpu/cluster.c
/qemu/hw/cpu/realview_mpcore.c
/qemu/hw/cxl/switch-mailbox-cci.c
/qemu/hw/display/artist.c
/qemu/hw/display/ati.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/bochs-display.c
/qemu/hw/display/cg3.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/cirrus_vga_isa.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/g364fb.c
/qemu/hw/display/i2c-ddc.c
/qemu/hw/display/macfb.c
/qemu/hw/display/pl110.c
/qemu/hw/display/qxl.c
/qemu/hw/display/ramfb-standalone.c
/qemu/hw/display/sm501.c
/qemu/hw/display/tcx.c
/qemu/hw/display/vga-isa.c
/qemu/hw/display/vga-mmio.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vhost-user-gpu.c
/qemu/hw/display/virtio-gpu-gl.c
/qemu/hw/display/virtio-gpu-pci.c
/qemu/hw/display/virtio-gpu-rutabaga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/display/xlnx_dp.c
/qemu/hw/dma/i82374.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/pl080.c
/qemu/hw/dma/pl330.c
/qemu/hw/dma/xilinx_axidma.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/dma/xlnx_csu_dma.c
/qemu/hw/gpio/imx_gpio.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/omap_gpio.c
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/pl061.c
/qemu/hw/gpio/sifive_gpio.c
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/syndbg.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/aspeed_i2c.c
/qemu/hw/i2c/core.c
/qemu/hw/i2c/i2c_mux_pca954x.c
/qemu/hw/i2c/omap_i2c.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/clock.c
/qemu/hw/i386/kvm/i8254.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/sgx-epc.c
/qemu/hw/i386/vmmouse.c
/qemu/hw/i386/vmport.c
/qemu/hw/i386/x86-iommu.c
/qemu/hw/i386/xen/xen_pvdevice.c
/qemu/hw/ide/ahci-sysbus.c
/qemu/hw/ide/cf.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/isa.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/mmio.c
/qemu/hw/input/pckbd.c
/qemu/hw/input/stellaris_gamepad.c
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/input/virtio-input-host.c
/qemu/hw/input/virtio-input.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gicv2m.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/exynos4210_combiner.c
/qemu/hw/intc/exynos4210_gic.c
/qemu/hw/intc/goldfish_pic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/i8259_common.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/loongarch_pch_msi.c
/qemu/hw/intc/loongarch_pch_pic.c
/qemu/hw/intc/loongson_ipi_common.c
/qemu/hw/intc/m68k_irqc.c
/qemu/hw/intc/mips_gic.c
/qemu/hw/intc/omap_intc.c
/qemu/hw/intc/ompic.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/openpic_kvm.c
/qemu/hw/intc/pnv_xive.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/ppc-uic.c
/qemu/hw/intc/riscv_aclint.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/intc/riscv_imsic.c
/qemu/hw/intc/rx_icu.c
/qemu/hw/intc/s390_flic.c
/qemu/hw/intc/sifive_plic.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/intc/xics.c
/qemu/hw/intc/xilinx_intc.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/intc/xlnx-pmu-iomod-intc.c
/qemu/hw/ipack/ipack.c
/qemu/hw/ipmi/ipmi.c
/qemu/hw/ipmi/ipmi_bmc_extern.c
/qemu/hw/ipmi/ipmi_bmc_sim.c
/qemu/hw/ipmi/isa_ipmi_bt.c
/qemu/hw/ipmi/isa_ipmi_kcs.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/pc87312.c
/qemu/hw/isa/piix.c
/qemu/hw/m68k/mcf5206.c
/qemu/hw/m68k/mcf_intc.c
/qemu/hw/m68k/next-cube.c
/qemu/hw/m68k/q800-glue.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mem/sparse-mem.c
/qemu/hw/mips/cps.c
/qemu/hw/misc/a9scu.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/allwinner-r40-dramc.c
/qemu/hw/misc/allwinner-sid.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/arm11scu.c
/qemu/hw/misc/arm_l2x0.c
/qemu/hw/misc/arm_sysctl.c
/qemu/hw/misc/armsse-cpuid.c
/qemu/hw/misc/aspeed_hace.c
/qemu/hw/misc/aspeed_i3c.c
/qemu/hw/misc/aspeed_lpc.c
/qemu/hw/misc/aspeed_sbc.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/aspeed_sdmc.c
/qemu/hw/misc/bcm2835_cprman.c
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/debugexit.c
/qemu/hw/misc/eccmemctl.c
/qemu/hw/misc/empty_slot.c
/qemu/hw/misc/iotkit-secctl.c
/qemu/hw/misc/iotkit-sysctl.c
/qemu/hw/misc/iotkit-sysinfo.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/led.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mips_cmgcr.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/msf2-sysreg.c
/qemu/hw/misc/npcm7xx_gcr.c
/qemu/hw/misc/nrf51_rng.c
/qemu/hw/misc/pci-testdev.c
/qemu/hw/misc/pvpanic-isa.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/sifive_e_aon.c
/qemu/hw/misc/sifive_u_otp.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/tz-mpc.c
/qemu/hw/misc/tz-msc.c
/qemu/hw/misc/tz-ppc.c
/qemu/hw/misc/unimp.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-cfu.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/misc/xlnx-versal-xramc.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/can/xlnx-versal-canfd.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/igb.c
/qemu/hw/net/imx_fec.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lance.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/mcf_fec.c
/qemu/hw/net/mipsnet.c
/qemu/hw/net/msf2-emac.c
/qemu/hw/net/mv88w8618_eth.c
/qemu/hw/net/ne2000-isa.c
/qemu/hw/net/ne2000-pci.c
/qemu/hw/net/npcm7xx_emc.c
/qemu/hw/net/npcm_gmac.c
/qemu/hw/net/opencores_eth.c
/qemu/hw/net/pcnet-pci.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/stellaris_enet.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xen_nic.c
/qemu/hw/net/xgmac.c
/qemu/hw/net/xilinx_axienet.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nubus/nubus-bridge.c
/qemu/hw/nubus/nubus-device.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/nguid.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/subsys.c
/qemu/hw/nvram/ds1225y.c
/qemu/hw/nvram/eeprom_at24c.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/nvram/nrf51_nvm.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/nvram/xlnx-versal-efuse-cache.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/nvram/xlnx-zynqmp-efuse.c
/qemu/hw/pci-bridge/cxl_downstream.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/pci_bridge_dev.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-host/dino.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/gt64120.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/mv64361.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/pci-host/pnv_phb3.c
/qemu/hw/pci-host/pnv_phb4.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/raven.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/pci/pci_host.c
/qemu/hw/pci/pcie_port.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_adu.c
/qemu/hw/ppc/pnv_chiptod.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_homer.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_pnor.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/ppc405_uc.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/ppc4xx_sdram.c
/qemu/hw/ppc/prep_systemio.c
/qemu/hw/ppc/rs6000_mc.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rng.c
/qemu/hw/ppc/spapr_tpm_proxy.c
/qemu/hw/remote/proxy.c
/qemu/hw/riscv/opentitan.c
/qemu/hw/riscv/riscv-iommu-pci.c
/qemu/hw/riscv/riscv-iommu.c
/qemu/hw/riscv/riscv_hart.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/rtc/allwinner-rtc.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/rtc/m48t59-isa.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/rtc/pl031.c
/qemu/hw/rx/rx62n.c
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-skeys.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/s390x/vhost-scsi-ccw.c
/qemu/hw/s390x/vhost-user-fs-ccw.c
/qemu/hw/s390x/vhost-vsock-ccw.c
/qemu/hw/s390x/virtio-ccw-9p.c
/qemu/hw/s390x/virtio-ccw-balloon.c
/qemu/hw/s390x/virtio-ccw-blk.c
/qemu/hw/s390x/virtio-ccw-crypto.c
/qemu/hw/s390x/virtio-ccw-gpu.c
/qemu/hw/s390x/virtio-ccw-input.c
/qemu/hw/s390x/virtio-ccw-net.c
/qemu/hw/s390x/virtio-ccw-rng.c
/qemu/hw/s390x/virtio-ccw-scsi.c
/qemu/hw/s390x/virtio-ccw-serial.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci-pci.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sparc/sun4m_iommu.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/ssi/ibex_spi_host.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/ssi/pnv_spi.c
/qemu/hw/ssi/sifive_spi.c
/qemu/hw/ssi/ssi.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/ssi/xlnx-versal-ospi.c
/qemu/hw/timer/a9gtimer.c
/qemu/hw/timer/allwinner-a10-pit.c
/qemu/hw/timer/arm_mptimer.c
/qemu/hw/timer/arm_timer.c
/qemu/hw/timer/aspeed_timer.c
/qemu/hw/timer/avr_timer16.c
/qemu/hw/timer/grlib_gptimer.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/i8254_common.c
/qemu/hw/timer/ibex_timer.c
/qemu/hw/timer/mss-timer.c
/qemu/hw/timer/nrf51_timer.c
/qemu/hw/timer/pxa2xx_timer.c
/qemu/hw/timer/renesas_cmt.c
/qemu/hw/timer/renesas_tmr.c
/qemu/hw/timer/sifive_pwm.c
/qemu/hw/timer/slavio_timer.c
/qemu/hw/timer/sse-timer.c
/qemu/hw/timer/stm32f2xx_timer.c
/qemu/hw/timer/xilinx_timer.c
/qemu/hw/tpm/tpm_crb.c
/qemu/hw/tpm/tpm_spapr.c
/qemu/hw/tpm/tpm_tis_i2c.c
/qemu/hw/tpm/tpm_tis_isa.c
/qemu/hw/tpm/tpm_tis_sysbus.c
/qemu/hw/ufs/lu.c
/qemu/hw/ufs/ufs.c
/qemu/hw/usb/bus.c
/qemu/hw/usb/canokey.c
/qemu/hw/usb/ccid-card-emulated.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-hid.c
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/dev-mtp.c
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/hcd-dwc3.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ohci-pci.c
/qemu/hw/usb/hcd-ohci-sysbus.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci-sysbus.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/host-libusb.c
/qemu/hw/usb/redirect.c
/qemu/hw/usb/u2f-emulated.c
/qemu/hw/usb/u2f-passthru.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-scsi-pci.c
/qemu/hw/virtio/vhost-user-blk-pci.c
/qemu/hw/virtio/vhost-user-device.c
/qemu/hw/virtio/vhost-user-fs-pci.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-input.c
/qemu/hw/virtio/vhost-user-rng-pci.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-user-scsi-pci.c
/qemu/hw/virtio/vhost-user-snd.c
/qemu/hw/virtio/vhost-user-vsock-pci.c
/qemu/hw/virtio/vhost-user-vsock.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/hw/virtio/vhost-vsock-pci.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/virtio-9p-pci.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-blk-pci.c
/qemu/hw/virtio/virtio-crypto-pci.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-input-pci.c
/qemu/hw/virtio/virtio-iommu-pci.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-mmio.c
/qemu/hw/virtio/virtio-net-pci.c
/qemu/hw/virtio/virtio-nsm.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-pmem.c
/qemu/hw/virtio/virtio-rng-pci.c
/qemu/hw/virtio/virtio-rng.c
/qemu/hw/virtio/virtio-scsi-pci.c
/qemu/hw/virtio/virtio-serial-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/sbsa_gwdt.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/hw/watchdog/wdt_imx2.c
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen_pt.c
/qemu/include/hw/qdev-core.h
/qemu/include/hw/qdev-properties.h
/qemu/rust/hw/char/pl011/src/device.rs
definitions.rs
device_class.rs
sysbus.rs
/qemu/rust/qemu-api/tests/tests.rs
/qemu/target/arm/cpu.c
/qemu/target/avr/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/i386/cpu.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/riscv/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/sparc/cpu.c
/qemu/tests/unit/test-qdev-global-props.c
5f99764818-Dec-2024 Richard Henderson <richard.henderson@linaro.org>

rust/qemu-api: Use device_class_set_props_n

This means we can update declare_properties to drop the
zero terminator at the end of the array as well.

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

rust/qemu-api: Use device_class_set_props_n

This means we can update declare_properties to drop the
zero terminator at the end of the array as well.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Lei Yang <leiyang@redhat.com>
Link: https://lore.kernel.org/r/20241218134251.4724-18-richard.henderson@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/tcg/plugin-gen.c
/qemu/cpu-target.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/conf.py
/qemu/docs/devel/migration/compatibility.rst
/qemu/docs/devel/virtio-backends.rst
/qemu/docs/system/arm/aspeed.rst
/qemu/docs/system/arm/fby35.rst
/qemu/docs/system/arm/orangepi.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/system/arm/xlnx-versal-virt.rst
/qemu/docs/system/i386/nitro-enclave.rst
/qemu/fpu/softfloat-parts.c.inc
/qemu/fpu/softfloat-specialize.c.inc
/qemu/fpu/softfloat.c
/qemu/hw/9pfs/9p-util.h
/qemu/hw/9pfs/virtio-9p-device.c
/qemu/hw/acpi/erst.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/adc/aspeed_adc.c
/qemu/hw/adc/npcm7xx_adc.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/armsse.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_ast27x0.c
/qemu/hw/arm/aspeed_soc_common.c
/qemu/hw/arm/bcm2836.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/integratorcp.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/nrf51_soc.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/audio/ac97.c
/qemu/hw/audio/adlib.c
/qemu/hw/audio/asc.c
/qemu/hw/audio/cs4231a.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/gus.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/audio/pcspk.c
/qemu/hw/audio/pl041.c
/qemu/hw/audio/sb16.c
/qemu/hw/audio/via-ac97.c
/qemu/hw/audio/virtio-snd-pci.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/audio/wm8750.c
/qemu/hw/avr/atmega.c
/qemu/hw/block/fdc-isa.c
/qemu/hw/block/fdc-sysbus.c
/qemu/hw/block/fdc.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/swim.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/avr_usart.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/cmsdk-apb-uart.c
/qemu/hw/char/debugcon.c
/qemu/hw/char/digic-uart.c
/qemu/hw/char/escc.c
/qemu/hw/char/exynos4210_uart.c
/qemu/hw/char/goldfish_tty.c
/qemu/hw/char/grlib_apbuart.c
/qemu/hw/char/ibex_uart.c
/qemu/hw/char/imx_serial.c
/qemu/hw/char/ipoctal232.c
/qemu/hw/char/mcf_uart.c
/qemu/hw/char/nrf51_uart.c
/qemu/hw/char/parallel.c
/qemu/hw/char/pl011.c
/qemu/hw/char/renesas_sci.c
/qemu/hw/char/sclpconsole-lm.c
/qemu/hw/char/sclpconsole.c
/qemu/hw/char/serial-isa.c
/qemu/hw/char/serial-mm.c
/qemu/hw/char/serial-pci-multi.c
/qemu/hw/char/serial-pci.c
/qemu/hw/char/serial.c
/qemu/hw/char/sh_serial.c
/qemu/hw/char/shakti_uart.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/char/spapr_vty.c
/qemu/hw/char/stm32f2xx_usart.c
/qemu/hw/char/stm32l4x5_usart.c
/qemu/hw/char/terminal3270.c
/qemu/hw/char/virtio-console.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/char/xen_console.c
/qemu/hw/char/xilinx_uartlite.c
/qemu/hw/core/eif.c
/qemu/hw/core/generic-loader.c
/qemu/hw/core/guest-loader.c
/qemu/hw/core/machine.c
/qemu/hw/core/or-irq.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/core/qdev.c
/qemu/hw/core/split-irq.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/arm11mpcore.c
/qemu/hw/cpu/cluster.c
/qemu/hw/cpu/realview_mpcore.c
/qemu/hw/cxl/switch-mailbox-cci.c
/qemu/hw/display/artist.c
/qemu/hw/display/ati.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/bochs-display.c
/qemu/hw/display/cg3.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/cirrus_vga_isa.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/g364fb.c
/qemu/hw/display/i2c-ddc.c
/qemu/hw/display/macfb.c
/qemu/hw/display/pl110.c
/qemu/hw/display/qxl.c
/qemu/hw/display/ramfb-standalone.c
/qemu/hw/display/sm501.c
/qemu/hw/display/tcx.c
/qemu/hw/display/vga-isa.c
/qemu/hw/display/vga-mmio.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vhost-user-gpu.c
/qemu/hw/display/virtio-gpu-gl.c
/qemu/hw/display/virtio-gpu-pci.c
/qemu/hw/display/virtio-gpu-rutabaga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/display/xlnx_dp.c
/qemu/hw/dma/i82374.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/pl080.c
/qemu/hw/dma/pl330.c
/qemu/hw/dma/xilinx_axidma.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/dma/xlnx_csu_dma.c
/qemu/hw/gpio/imx_gpio.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/omap_gpio.c
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/pl061.c
/qemu/hw/gpio/sifive_gpio.c
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/hppa/machine.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/syndbg.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/aspeed_i2c.c
/qemu/hw/i2c/core.c
/qemu/hw/i2c/i2c_mux_pca954x.c
/qemu/hw/i2c/omap_i2c.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/clock.c
/qemu/hw/i386/kvm/i8254.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/nitro_enclave.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/sgx-epc.c
/qemu/hw/i386/vmmouse.c
/qemu/hw/i386/vmport.c
/qemu/hw/i386/x86-common.c
/qemu/hw/i386/x86-iommu.c
/qemu/hw/i386/xen/xen_pvdevice.c
/qemu/hw/ide/Kconfig
/qemu/hw/ide/ahci-internal.h
/qemu/hw/ide/ahci-sysbus.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/cf.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/ich.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/isa.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/meson.build
/qemu/hw/ide/mmio.c
/qemu/hw/input/pckbd.c
/qemu/hw/input/stellaris_gamepad.c
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/input/virtio-input-host.c
/qemu/hw/input/virtio-input.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gicv2m.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/exynos4210_combiner.c
/qemu/hw/intc/exynos4210_gic.c
/qemu/hw/intc/goldfish_pic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/i8259_common.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/loongarch_pch_msi.c
/qemu/hw/intc/loongarch_pch_pic.c
/qemu/hw/intc/loongson_ipi_common.c
/qemu/hw/intc/m68k_irqc.c
/qemu/hw/intc/mips_gic.c
/qemu/hw/intc/omap_intc.c
/qemu/hw/intc/ompic.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/openpic_kvm.c
/qemu/hw/intc/pnv_xive.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/ppc-uic.c
/qemu/hw/intc/riscv_aclint.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/intc/riscv_imsic.c
/qemu/hw/intc/rx_icu.c
/qemu/hw/intc/s390_flic.c
/qemu/hw/intc/sifive_plic.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/intc/xics.c
/qemu/hw/intc/xilinx_intc.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/intc/xlnx-pmu-iomod-intc.c
/qemu/hw/ipack/ipack.c
/qemu/hw/ipmi/ipmi.c
/qemu/hw/ipmi/ipmi_bmc_extern.c
/qemu/hw/ipmi/ipmi_bmc_sim.c
/qemu/hw/ipmi/isa_ipmi_bt.c
/qemu/hw/ipmi/isa_ipmi_kcs.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/pc87312.c
/qemu/hw/isa/piix.c
/qemu/hw/m68k/mcf5206.c
/qemu/hw/m68k/mcf_intc.c
/qemu/hw/m68k/next-cube.c
/qemu/hw/m68k/q800-glue.c
/qemu/hw/m68k/virt.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mem/sparse-mem.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/malta.c
/qemu/hw/misc/a9scu.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/allwinner-r40-dramc.c
/qemu/hw/misc/allwinner-sid.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/arm11scu.c
/qemu/hw/misc/arm_l2x0.c
/qemu/hw/misc/arm_sysctl.c
/qemu/hw/misc/armsse-cpuid.c
/qemu/hw/misc/aspeed_hace.c
/qemu/hw/misc/aspeed_i3c.c
/qemu/hw/misc/aspeed_lpc.c
/qemu/hw/misc/aspeed_sbc.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/aspeed_sdmc.c
/qemu/hw/misc/bcm2835_cprman.c
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/debugexit.c
/qemu/hw/misc/eccmemctl.c
/qemu/hw/misc/empty_slot.c
/qemu/hw/misc/iotkit-secctl.c
/qemu/hw/misc/iotkit-sysctl.c
/qemu/hw/misc/iotkit-sysinfo.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/led.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mips_cmgcr.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/msf2-sysreg.c
/qemu/hw/misc/npcm7xx_gcr.c
/qemu/hw/misc/nrf51_rng.c
/qemu/hw/misc/pci-testdev.c
/qemu/hw/misc/pvpanic-isa.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/sifive_e_aon.c
/qemu/hw/misc/sifive_u_otp.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/tz-mpc.c
/qemu/hw/misc/tz-msc.c
/qemu/hw/misc/tz-ppc.c
/qemu/hw/misc/unimp.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-cfu.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/misc/xlnx-versal-xramc.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/Kconfig
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/can/can_kvaser_pci.c
/qemu/hw/net/can/can_mioe3680_pci.c
/qemu/hw/net/can/can_pcm3680_pci.c
/qemu/hw/net/can/can_sja1000.c
/qemu/hw/net/can/ctucan_core.c
/qemu/hw/net/can/ctucan_pci.c
/qemu/hw/net/can/xlnx-versal-canfd.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/igb.c
/qemu/hw/net/imx_fec.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lan9118_phy.c
/qemu/hw/net/lance.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/mcf_fec.c
/qemu/hw/net/meson.build
/qemu/hw/net/mipsnet.c
/qemu/hw/net/msf2-emac.c
/qemu/hw/net/mv88w8618_eth.c
/qemu/hw/net/ne2000-isa.c
/qemu/hw/net/ne2000-pci.c
/qemu/hw/net/npcm7xx_emc.c
/qemu/hw/net/npcm_gmac.c
/qemu/hw/net/opencores_eth.c
/qemu/hw/net/pcnet-pci.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/stellaris_enet.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/trace-events
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xen_nic.c
/qemu/hw/net/xgmac.c
/qemu/hw/net/xilinx_axienet.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nubus/nubus-bridge.c
/qemu/hw/nubus/nubus-device.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/subsys.c
/qemu/hw/nvram/ds1225y.c
/qemu/hw/nvram/eeprom_at24c.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/nvram/nrf51_nvm.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/nvram/xlnx-versal-efuse-cache.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/nvram/xlnx-zynqmp-efuse.c
/qemu/hw/pci-bridge/cxl_downstream.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/pci_bridge_dev.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-host/astro.c
/qemu/hw/pci-host/dino.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/gt64120.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/mv64361.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/pci-host/pnv_phb3.c
/qemu/hw/pci-host/pnv_phb4.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/raven.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/pci/pci_host.c
/qemu/hw/pci/pcie_port.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_adu.c
/qemu/hw/ppc/pnv_chiptod.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_homer.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_pnor.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/ppc405_uc.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/ppc4xx_sdram.c
/qemu/hw/ppc/prep_systemio.c
/qemu/hw/ppc/rs6000_mc.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rng.c
/qemu/hw/ppc/spapr_tpm_proxy.c
/qemu/hw/remote/proxy.c
/qemu/hw/riscv/opentitan.c
/qemu/hw/riscv/riscv-iommu-pci.c
/qemu/hw/riscv/riscv-iommu.c
/qemu/hw/riscv/riscv_hart.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/allwinner-rtc.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/rtc/m48t59-isa.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/rtc/pl031.c
/qemu/hw/rx/rx62n.c
/qemu/hw/s390x/3270-ccw.c
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-skeys.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/vhost-scsi-ccw.c
/qemu/hw/s390x/vhost-user-fs-ccw.c
/qemu/hw/s390x/vhost-vsock-ccw.c
/qemu/hw/s390x/virtio-ccw-9p.c
/qemu/hw/s390x/virtio-ccw-balloon.c
/qemu/hw/s390x/virtio-ccw-blk.c
/qemu/hw/s390x/virtio-ccw-crypto.c
/qemu/hw/s390x/virtio-ccw-gpu.c
/qemu/hw/s390x/virtio-ccw-input.c
/qemu/hw/s390x/virtio-ccw-net.c
/qemu/hw/s390x/virtio-ccw-rng.c
/qemu/hw/s390x/virtio-ccw-scsi.c
/qemu/hw/s390x/virtio-ccw-serial.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci-pci.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc/sun4m_iommu.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/ssi/ibex_spi_host.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/ssi/pnv_spi.c
/qemu/hw/ssi/sifive_spi.c
/qemu/hw/ssi/ssi.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/ssi/xlnx-versal-ospi.c
/qemu/hw/timer/a9gtimer.c
/qemu/hw/timer/allwinner-a10-pit.c
/qemu/hw/timer/arm_mptimer.c
/qemu/hw/timer/arm_timer.c
/qemu/hw/timer/aspeed_timer.c
/qemu/hw/timer/avr_timer16.c
/qemu/hw/timer/grlib_gptimer.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/i8254_common.c
/qemu/hw/timer/ibex_timer.c
/qemu/hw/timer/mss-timer.c
/qemu/hw/timer/nrf51_timer.c
/qemu/hw/timer/pxa2xx_timer.c
/qemu/hw/timer/renesas_cmt.c
/qemu/hw/timer/renesas_tmr.c
/qemu/hw/timer/sifive_pwm.c
/qemu/hw/timer/slavio_timer.c
/qemu/hw/timer/sse-timer.c
/qemu/hw/timer/stm32f2xx_timer.c
/qemu/hw/timer/xilinx_timer.c
/qemu/hw/tpm/tpm_crb.c
/qemu/hw/tpm/tpm_spapr.c
/qemu/hw/tpm/tpm_tis_i2c.c
/qemu/hw/tpm/tpm_tis_isa.c
/qemu/hw/tpm/tpm_tis_sysbus.c
/qemu/hw/tricore/tc27x_soc.c
/qemu/hw/tricore/tricore_testdevice.c
/qemu/hw/ufs/lu.c
/qemu/hw/ufs/ufs.c
/qemu/hw/usb/bus.c
/qemu/hw/usb/canokey.c
/qemu/hw/usb/ccid-card-emulated.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-hid.c
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/dev-mtp.c
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/hcd-dwc3.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ohci-pci.c
/qemu/hw/usb/hcd-ohci-sysbus.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-sysbus.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/host-libusb.c
/qemu/hw/usb/redirect.c
/qemu/hw/usb/u2f-emulated.c
/qemu/hw/usb/u2f-passthru.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vdpa-dev-pci.c
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-scsi-pci.c
/qemu/hw/virtio/vhost-user-blk-pci.c
/qemu/hw/virtio/vhost-user-device.c
/qemu/hw/virtio/vhost-user-fs-pci.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-input.c
/qemu/hw/virtio/vhost-user-rng-pci.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-user-scsi-pci.c
/qemu/hw/virtio/vhost-user-snd-pci.c
/qemu/hw/virtio/vhost-user-snd.c
/qemu/hw/virtio/vhost-user-vsock-pci.c
/qemu/hw/virtio/vhost-user-vsock.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/hw/virtio/vhost-vsock-pci.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/virtio-9p-pci.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-blk-pci.c
/qemu/hw/virtio/virtio-crypto-pci.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-input-pci.c
/qemu/hw/virtio/virtio-iommu-pci.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-mmio.c
/qemu/hw/virtio/virtio-net-pci.c
/qemu/hw/virtio/virtio-nsm.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-pmem.c
/qemu/hw/virtio/virtio-rng-pci.c
/qemu/hw/virtio/virtio-rng.c
/qemu/hw/virtio/virtio-scsi-pci.c
/qemu/hw/virtio/virtio-serial-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/sbsa_gwdt.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/hw/watchdog/wdt_imx2.c
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen-legacy-backend.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xtensa/bootparam.h
/qemu/hw/xtensa/xtfpga.c
/qemu/include/exec/helper-head.h.inc
/qemu/include/fpu/softfloat-helpers.h
/qemu/include/fpu/softfloat-types.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/nitro_enclave.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/ahci-pci.h
/qemu/include/hw/ide/ahci.h
/qemu/include/hw/net/imx_fec.h
/qemu/include/hw/net/lan9118_phy.h
/qemu/include/hw/net/mii.h
/qemu/include/hw/nvram/fw_cfg.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/sd/aspeed_sdhci.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/virtio_crypto.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/tcg/tcg-temp-internal.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/unistd_64.h
/qemu/linux-headers/asm-generic/mman-common.h
/qemu/linux-headers/asm-generic/mman.h
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-headers/asm-loongarch/unistd_64.h
/qemu/linux-headers/asm-mips/mman.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-riscv/unistd_32.h
/qemu/linux-headers/asm-riscv/unistd_64.h
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/mman.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/psci.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-user/arm/nwfpe/fpa11.c
/qemu/linux-user/hexagon/cpu_loop.c
/qemu/migration/migration.c
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/pc-bios/descriptors/60-edk2-riscv64.json
/qemu/pc-bios/descriptors/60-edk2-x86_64.json
/qemu/pc-bios/descriptors/meson.build
/qemu/qemu-options.hx
/qemu/roms/Makefile
device_class.rs
/qemu/scripts/mtest2make.py
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/tcg-stubs.c
/qemu/target/arm/tcg/a64.decode
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/gengvec.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/helper-a64.h
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/neon_helper.c
/qemu/target/arm/tcg/tlb-insns.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate-neon.c
/qemu/target/arm/tcg/translate-vfp.c
/qemu/target/arm/tcg/translate.h
/qemu/target/arm/tcg/vec_helper.c
/qemu/target/arm/vfp_helper.c
/qemu/target/avr/cpu.c
/qemu/target/hexagon/README
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hexagon/cpu_bits.h
/qemu/target/hexagon/gen_analyze_funcs.py
/qemu/target/hexagon/gen_decodetree.py
/qemu/target/hexagon/gen_helper_funcs.py
/qemu/target/hexagon/gen_helper_protos.py
/qemu/target/hexagon/gen_idef_parser_funcs.py
/qemu/target/hexagon/gen_op_attribs.py
/qemu/target/hexagon/gen_opcodes_def.py
/qemu/target/hexagon/gen_printinsn.py
/qemu/target/hexagon/gen_tcg.h
/qemu/target/hexagon/gen_tcg_func_table.py
/qemu/target/hexagon/gen_tcg_funcs.py
/qemu/target/hexagon/gen_trans_funcs.py
/qemu/target/hexagon/genptr.c
/qemu/target/hexagon/helper.h
/qemu/target/hexagon/hex_common.py
/qemu/target/hexagon/internal.h
/qemu/target/hexagon/meson.build
/qemu/target/hexagon/mmvec/macros.h
/qemu/target/hexagon/op_helper.c
/qemu/target/hexagon/translate.c
/qemu/target/hexagon/translate.h
/qemu/target/hppa/fpu_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/loongarch/tcg/fpu_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/mips/fpu_helper.h
/qemu/target/mips/msa.c
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/riscv/cpu.c
/qemu/target/rx/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu_features.c
/qemu/target/s390x/cpu_features.h
/qemu/target/s390x/cpu_features_def.h.inc
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/gen-features.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/fop_helper.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/translate.c
/qemu/target/sparc/win_helper.c
/qemu/target/tricore/helper.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/fpu_helper.c
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/tcg.c
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/fp/fp-bench.c
/qemu/tests/fp/fp-test-log2.c
/qemu/tests/fp/fp-test.c
/qemu/tests/functional/aspeed.py
/qemu/tests/functional/meson.build
/qemu/tests/functional/test_aarch64_sbsaref.py
/qemu/tests/functional/test_aarch64_xlnx_versal.py
/qemu/tests/functional/test_acpi_bits.py
/qemu/tests/functional/test_arm_aspeed_ast1030.py
/qemu/tests/functional/test_arm_aspeed_ast2500.py
/qemu/tests/functional/test_arm_aspeed_ast2600.py
/qemu/tests/functional/test_arm_aspeed_palmetto.py
/qemu/tests/functional/test_arm_aspeed_rainier.py
/qemu/tests/functional/test_arm_aspeed_romulus.py
/qemu/tests/functional/test_arm_cubieboard.py
/qemu/tests/functional/test_arm_emcraft_sf2.py
/qemu/tests/functional/test_arm_smdkc210.py
/qemu/tests/functional/test_m68k_mcf5208evb.py
/qemu/tests/functional/test_microblaze_s3adsp1800.py
/qemu/tests/functional/test_mips64el_loongson3v.py
/qemu/tests/functional/test_or1k_sim.py
/qemu/tests/functional/test_ppc64_hv.py
/qemu/tests/functional/test_s390x_topology.py
/qemu/tests/functional/test_sh4_tuxrun.py
/qemu/tests/functional/test_sh4eb_r2d.py
/qemu/tests/functional/test_virtio_version.py
/qemu/tests/meson.build
/qemu/tests/migration-stress/guestperf-batch.py
/qemu/tests/migration-stress/guestperf-plot.py
/qemu/tests/migration-stress/guestperf.py
/qemu/tests/migration-stress/guestperf/__init__.py
/qemu/tests/migration-stress/guestperf/comparison.py
/qemu/tests/migration-stress/guestperf/engine.py
/qemu/tests/migration-stress/guestperf/hardware.py
/qemu/tests/migration-stress/guestperf/plot.py
/qemu/tests/migration-stress/guestperf/progress.py
/qemu/tests/migration-stress/guestperf/report.py
/qemu/tests/migration-stress/guestperf/scenario.py
/qemu/tests/migration-stress/guestperf/shell.py
/qemu/tests/migration-stress/guestperf/timings.py
/qemu/tests/migration-stress/initrd-stress.sh
/qemu/tests/migration-stress/meson.build
/qemu/tests/migration-stress/stress.c
/qemu/tests/qtest/aspeed-smc-utils.c
/qemu/tests/qtest/aspeed-smc-utils.h
/qemu/tests/qtest/aspeed_smc-test.c
/qemu/tests/qtest/ast2700-smc-test.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/boot-order-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/drive_del-test.c
/qemu/tests/qtest/hd-geo-test.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/migration/Makefile
/qemu/tests/qtest/migration/aarch64/Makefile
/qemu/tests/qtest/migration/aarch64/a-b-kernel.S
/qemu/tests/qtest/migration/aarch64/a-b-kernel.h
/qemu/tests/qtest/migration/bootfile.c
/qemu/tests/qtest/migration/bootfile.h
/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/i386/Makefile
/qemu/tests/qtest/migration/i386/a-b-bootblock.S
/qemu/tests/qtest/migration/i386/a-b-bootblock.h
/qemu/tests/qtest/migration/migration-qmp.c
/qemu/tests/qtest/migration/migration-qmp.h
/qemu/tests/qtest/migration/migration-util.c
/qemu/tests/qtest/migration/migration-util.h
/qemu/tests/qtest/migration/misc-tests.c
/qemu/tests/qtest/migration/postcopy-tests.c
/qemu/tests/qtest/migration/ppc64/Makefile
/qemu/tests/qtest/migration/ppc64/a-b-kernel.S
/qemu/tests/qtest/migration/ppc64/a-b-kernel.h
/qemu/tests/qtest/migration/precopy-tests.c
/qemu/tests/qtest/migration/s390x/Makefile
/qemu/tests/qtest/migration/s390x/a-b-bios.c
/qemu/tests/qtest/migration/s390x/a-b-bios.h
/qemu/tests/qtest/migration/tls-tests.c
/qemu/tests/qtest/q35-test.c
/qemu/tests/qtest/qos-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/qemu/tests/qtest/virtio-net-failover.c
/qemu/tests/unit/test-qdev-global-props.c
166e8a1f24-Nov-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: qom: change the parent type to an associated type

Avoid duplicated code to retrieve the QOM type strings from the
Rust type.

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

rust: qom: change the parent type to an associated type

Avoid duplicated code to retrieve the QOM type strings from the
Rust type.

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

show more ...

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

rust: qom: split ObjectType from ObjectImpl trait

Define a separate trait for fields that also applies to classes that are
defined by C code. This makes it possible to add metadata to core classes,

rust: qom: split ObjectType from ObjectImpl trait

Define a separate trait for fields that also applies to classes that are
defined by C code. This makes it possible to add metadata to core classes,
which has multiple uses:

- it makes it possible to access the parent struct's TYPE_* for types
that are defined in Rust code, and to avoid repeating it in every subclass

- implementors of ObjectType will be allowed to implement the IsA<> trait and
therefore to perform typesafe casts from one class to another.

- in the future, an ObjectType could be created with Foo::new() in a type-safe
manner, without having to pass a TYPE_* constant.

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

show more ...

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

rust: qom: move bridge for TypeInfo functions out of pl011

Allow the ObjectImpl trait to expose Rust functions that avoid raw
pointers (though INSTANCE_INIT for example is still unsafe).
ObjectImpl:

rust: qom: move bridge for TypeInfo functions out of pl011

Allow the ObjectImpl trait to expose Rust functions that avoid raw
pointers (though INSTANCE_INIT for example is still unsafe).
ObjectImpl::TYPE_INFO adds thunks around the functions in
ObjectImpl.

While at it, document `TypeInfo`.

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

show more ...

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

rust: qdev: move bridge for realize and reset functions out of pl011

Allow the DeviceImpl trait to expose safe Rust functions.
rust_device_class_init<> adds thunks around the functions
in DeviceImpl

rust: qdev: move bridge for realize and reset functions out of pl011

Allow the DeviceImpl trait to expose safe Rust functions.
rust_device_class_init<> adds thunks around the functions
in DeviceImpl.

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

show more ...

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

rust: qdev: move device_class_init! body to generic function, ClassInitImpl implementation to macro

Use a trait to access the former parameters to device_class_init!.
This allows hiding the details

rust: qdev: move device_class_init! body to generic function, ClassInitImpl implementation to macro

Use a trait to access the former parameters to device_class_init!.
This allows hiding the details of the class_init implementation behind
a generic function and makes higher-level functionality available from
qemu_api.

The implementation of ClassInitImpl is then the same for all devices and
is easily macroized. Later on, we can remove the need to implement
ClassInitImpl by hand for all device types, and stop making
rust_device_class_init<>() public.

While at it, document the members of DeviceImpl.

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

show more ...

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

rust: qom: move ClassInitImpl to the instance side

Put all traits on the instance struct, which makes it possible to reuse
class structs if no new virtual methods or class fields are added.
This is

rust: qom: move ClassInitImpl to the instance side

Put all traits on the instance struct, which makes it possible to reuse
class structs if no new virtual methods or class fields are added.
This is almost always the case for devices (because they are leaf
classes), which is the primary use case for Rust.

This is also simpler: soon we will find the implemented methods without
macros, and this removes the need to go from the class struct to the
instance struct to find the implementation of the *Impl traits.

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

show more ...

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

rust: qom: convert type_info! macro to an associated const

type_info! is only used in the definition of ObjectImpl::TYPE_INFO, and
in fact in all of them. Pull type_info!'s definition into the Obje

rust: qom: convert type_info! macro to an associated const

type_info! is only used in the definition of ObjectImpl::TYPE_INFO, and
in fact in all of them. Pull type_info!'s definition into the ObjectImpl
trait, thus simplifying the external interface of qemu_api::definitions.

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

show more ...

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

rust: qom: rename Class trait to ClassInitImpl

While at it, document it.

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

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

rust: qom: add default definitions for ObjectImpl

Remove a bunch of duplicate const definitions.

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

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

rust: add a bit operation module

The bindgen supports `static inline` function binding since v0.64.0 as
an experimental feature (`--wrap-static-fns`), and stabilizes it after
v0.70.0.

But the oldes

rust: add a bit operation module

The bindgen supports `static inline` function binding since v0.64.0 as
an experimental feature (`--wrap-static-fns`), and stabilizes it after
v0.70.0.

But the oldest version of bindgen supported by QEMU is v0.60.1, so
there's no way to generate the binding for deposit64() which is `static
inline` (in include/qemu/bitops.h).

Instead, implement it by hand in Rust and make it available for all
unsigned types through an IntegerExt trait. Since it only involves bit
operations, the Rust version of the code is almost identical to the
original C version, but it applies to more types than just u64.

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

show more ...

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

rust: add bindings for interrupt sources

The InterruptSource bindings let us call qemu_set_irq() and sysbus_init_irq()
as safe code.

Interrupt sources, qemu_irq in C code, are pointers to IRQState

rust: add bindings for interrupt sources

The InterruptSource bindings let us call qemu_set_irq() and sysbus_init_irq()
as safe code.

Interrupt sources, qemu_irq in C code, are pointers to IRQState objects.
They are QOM link properties and can be written to outside the control
of the device (i.e. from a shared reference); therefore they must be
interior-mutable in Rust. Since thread-safety is provided by the BQL,
what we want here is the newly-introduced BqlCell. A pointer to the
contents of the BqlCell (an IRQState**, or equivalently qemu_irq*)
is then passed to the C sysbus_init_irq function.

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

show more ...

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

rust: define prelude

Add a module that will contain frequently used traits and
occasionally structs. They can be included quickly with
"use qemu_api::prelude::*".

Signed-off-by: Paolo Bonzini <pbo

rust: define prelude

Add a module that will contain frequently used traits and
occasionally structs. They can be included quickly with
"use qemu_api::prelude::*".

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

show more ...

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

rust: cell: add BQL-enforcing RefCell variant

Similar to the existing BqlCell, introduce a custom interior mutability
primitive that resembles RefCell but accounts for QEMU's threading model.
Borrow

rust: cell: add BQL-enforcing RefCell variant

Similar to the existing BqlCell, introduce a custom interior mutability
primitive that resembles RefCell but accounts for QEMU's threading model.
Borrowing the RefCell requires proving that the BQL is held, and
attempting to access without the BQL is a runtime panic.

Almost all of the code was taken from Rust's standard library, while
removing unstable features and probably-unnecessary functionality that
amounts to 60% of the original code. A lot of what's left is documentation,
as well as unit tests in the form of doctests. These are not yet integrated
in "make check" but can be run with "cargo test --doc".

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

show more ...

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

rust: cell: add BQL-enforcing Cell variant

QEMU objects usually have their pointer shared with the "outside
world" very early in their lifetime, for example when they create their
MemoryRegions. Be

rust: cell: add BQL-enforcing Cell variant

QEMU objects usually have their pointer shared with the "outside
world" very early in their lifetime, for example when they create their
MemoryRegions. Because at this point it is not valid anymore to
create a &mut reference to the device, individual parts of the
device struct must be made mutable in a controlled manner.

QEMU's Big Lock (BQL) effectively turns multi-threaded code into
single-threaded code while device code runs, as long as the BQL is not
released while the device is borrowed (because C code could sneak in and
mutate the device). We can then introduce custom interior mutability primitives
that are semantically similar to the standard library's (single-threaded)
Cell and RefCell, but account for QEMU's threading model. Accessing
the "BqlCell" or borrowing the "BqlRefCell" requires proving that the
BQL is held, and attempting to access without the BQL is a runtime panic,
similar to RefCell's already-borrowed panic.

With respect to naming I also considered omitting the "Bql" prefix or
moving it to the module, e.g. qemu_api::bql::{Cell, RefCell}. However,
this could easily lead to mistakes and confusion; for example rustc could
suggest the wrong import, leading to subtle bugs.

As a start introduce the an equivalent of Cell. Almost all of the code
was taken from Rust's standard library, while removing unstable features
and probably-unnecessary functionality that constitute a large of the
original code. A lot of what's left is documentation, as well as unit
tests in the form of doctests. These are not yet integrated in "make
check" but can be run with "cargo test --doc".

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

show more ...

a3057c5217-Oct-2024 Junjie Mao <junjie.mao@hotmail.com>

rust/qemu-api: Fix fragment-specifiers in define_property macro

For the matcher of macro, "expr" is used for expressions, while "ident"
is used for variable/function names, and "ty" matches types.

rust/qemu-api: Fix fragment-specifiers in define_property macro

For the matcher of macro, "expr" is used for expressions, while "ident"
is used for variable/function names, and "ty" matches types.

In define_property macro, $field is a member name of type $state, so it
should be defined as "ident", though offset_of! doesn't complain about
this. $type is the type of $field, since it is not used in the macro, so
that no type mismatch error is triggered either.

Fix fragment-specifiers of $field and $type.

Signed-off-by: Junjie Mao <junjie.mao@hotmail.com>
Co-developed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20241017143245.1248589-2-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

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

rust: fix doc test syntax

Allow "cargo test --doc" to pass.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

2f9eec8f06-Nov-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: build: establish a baseline of lints across all crates

Many lints that default to allow can be helpful in detecting bugs or
keeping the code style homogeneous. Add them liberally, though perh

rust: build: establish a baseline of lints across all crates

Many lints that default to allow can be helpful in detecting bugs or
keeping the code style homogeneous. Add them liberally, though perhaps
not as liberally as in hw/char/pl011/src/lib.rs. In particular, enabling
entire groups can be problematic because of bitrot when new links are
added in the future.

For Clippy, this is actually a feature that is only present in Cargo
1.74.0 but, since we are not using Cargo to *build* QEMU, only developers
will need a new-enough cargo and only to run tools such as clippy.
The requirement does not apply to distros that are building QEMU.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

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

rust: allow using build-root bindings.rs from cargo

Right now, using cargo with QEMU requires copying by hand the bindings.rs to the
source tree. Instead, we can use an include file to escape the c

rust: allow using build-root bindings.rs from cargo

Right now, using cargo with QEMU requires copying by hand the bindings.rs to the
source tree. Instead, we can use an include file to escape the cage of cargo's
mandated source directory structure.

By running cargo within meson's "devenv" and adding a MESON_BUILD_ROOT
environment variable, it is easy for build.rs to find the file. However, the
file must be symlinked into cargo's output directory for rust-analyzer to find
it.

Suggested-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/check-dco.py
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/freebsd-14.vars
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/tcg/user-exec.c
/qemu/block/parallels.c
/qemu/block/ssh.c
/qemu/bsd-user/main.c
/qemu/bsd-user/x86_64/target_arch_thread.h
/qemu/chardev/char-mux.c
/qemu/chardev/char.c
/qemu/configs/devices/microblaze-softmmu/default.mak
/qemu/configs/devices/microblazeel-softmmu/default.mak
/qemu/configure
/qemu/contrib/plugins/cflow.c
/qemu/contrib/plugins/meson.build
/qemu/cpu-common.c
/qemu/crypto/hash-gcrypt.c
/qemu/crypto/hash-nettle.c
/qemu/crypto/hash.c
/qemu/crypto/hmac-gcrypt.c
/qemu/crypto/hmac-nettle.c
/qemu/crypto/pbkdf-gcrypt.c
/qemu/crypto/pbkdf-nettle.c
/qemu/crypto/secret_common.c
/qemu/crypto/tlscredsanon.c
/qemu/crypto/tlscredspsk.c
/qemu/crypto/tlscredsx509.c
/qemu/docs/about/build-platforms.rst
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/submitting-a-patch.rst
/qemu/docs/devel/testing/functional.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/system/arm/aspeed.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/fby35.rst
/qemu/docs/system/bootindex.rst
/qemu/docs/system/ppc/pseries.rst
/qemu/docs/system/s390x/bootdevices.rst
/qemu/fpu/softfloat-specialize.c.inc
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/9p.h
/qemu/hw/acpi/aml-build.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/meson.build
/qemu/hw/acpi/pci.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast27x0.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/core/eif.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-mailbox-utils.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu-virgl.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/gpio/mpc8xxx.c
/qemu/hw/i2c/mpc_i2c.c
/qemu/hw/i2c/smbus_eeprom.c
/qemu/hw/i2c/trace-events
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/amd_iommu.h
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/intel_iommu_internal.h
/qemu/hw/i386/pc.c
/qemu/hw/i386/x86-common.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/spapr_xive_kvm.c
/qemu/hw/intc/xics.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/m68k/next-kbd.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/microblaze/petalogix_ml605_mmu.c
/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/nrf51_rng.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/fsl_etsec/miim.c
/qemu/hw/net/npcm_gmac.c
/qemu/hw/net/rocker/rocker_of_dpa.c
/qemu/hw/net/trace-events
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/dif.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/nvme/trace-events
/qemu/hw/openrisc/cputimer.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-bridge/cxl_downstream.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci-host/gpex-acpi.c
/qemu/hw/pci-host/mv64361.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/pci/pcie.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/e500.h
/qemu/hw/ppc/mpc8544_guts.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_adu.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_nest_pervasive.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc_booke.c
/qemu/hw/ppc/ppce500_spin.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/riscv/riscv-iommu.c
/qemu/hw/rtc/ds1338.c
/qemu/hw/rtc/trace-events
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/ccw-device.h
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/virtio-ccw-blk.c
/qemu/hw/s390x/virtio-ccw-net.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sensor/tmp105.c
/qemu/hw/sensor/trace-events
/qemu/hw/sensor/trace.h
/qemu/hw/ssi/pnv_spi.c
/qemu/hw/timer/aspeed_timer.c
/qemu/hw/timer/exynos4210_mct.c
/qemu/hw/timer/imx_gpt.c
/qemu/hw/timer/trace-events
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/container-base.c
/qemu/hw/vfio/igd.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/cmsdk-apb-watchdog.c
/qemu/hw/watchdog/wdt_imx2.c
/qemu/include/block/nvme.h
/qemu/include/crypto/hash.h
/qemu/include/disas/capstone.h
/qemu/include/exec/memory.h
/qemu/include/fpu/softfloat-helpers.h
/qemu/include/fpu/softfloat-types.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/acpi/pci.h
/qemu/include/hw/boards.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/i386/intel_iommu.h
/qemu/include/hw/i386/topology.h
/qemu/include/hw/intc/arm_gicv3_common.h
/qemu/include/hw/misc/mos6522.h
/qemu/include/hw/pci-bridge/cxl_upstream_port.h
/qemu/include/hw/pci-host/spapr.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/pci/pci_bridge.h
/qemu/include/hw/pci/pci_device.h
/qemu/include/hw/pci/pcie.h
/qemu/include/hw/ppc/ppc.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_cpu_core.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-core.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/usb/dwc2-regs.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/vhost-user.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/hw/virtio/virtio-net.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/checksum.h
/qemu/include/net/eth.h
/qemu/include/qemu/bitmap.h
/qemu/include/qemu/bitops.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/ui/console.h
/qemu/linux-user/aarch64/Makefile.vdso
/qemu/linux-user/aarch64/vdso-be.so
/qemu/linux-user/aarch64/vdso-le.so
/qemu/linux-user/arm/Makefile.vdso
/qemu/linux-user/arm/meson.build
/qemu/linux-user/arm/nwfpe/fpa11.c
/qemu/linux-user/arm/vdso-be32.so
/qemu/linux-user/arm/vdso-be8.so
/qemu/linux-user/arm/vdso-le.so
/qemu/linux-user/elfload.c
/qemu/linux-user/gen-vdso-elfn.c.inc
/qemu/linux-user/gen-vdso.c
/qemu/linux-user/loongarch64/Makefile.vdso
/qemu/linux-user/loongarch64/vdso.so
/qemu/linux-user/main.c
/qemu/linux-user/ppc/Makefile.vdso
/qemu/linux-user/ppc/vdso-32.so
/qemu/linux-user/ppc/vdso-64.so
/qemu/linux-user/ppc/vdso-64le.so
/qemu/linux-user/qemu.h
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/fd.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/savevm.c
/qemu/nbd/server.c
/qemu/net/checksum.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-ccw/virtio-net.c
/qemu/plugins/meson.build
/qemu/python/scripts/mkvenv.py
/qemu/python/setup.cfg
/qemu/qapi/crypto.json
/qemu/qapi/machine-common.json
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qga/commands-linux.c
/qemu/qga/commands-posix.c
/qemu/qga/commands-windows-ssh.c
/qemu/qga/vss-win32/install.cpp
/qemu/qga/vss-win32/provider.cpp
/qemu/qga/vss-win32/requester.cpp
/qemu/roms/edk2
/qemu/rust/hw/char/pl011/src/device.rs
/qemu/rust/qemu-api-macros/meson.build
/qemu/rust/qemu-api/.gitignore
/qemu/rust/qemu-api/README.md
/qemu/rust/qemu-api/build.rs
/qemu/rust/qemu-api/meson.build
bindings.rs
lib.rs
/qemu/scripts/checkpatch.pl
/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/qemu-plugin-symbols.py
/qemu/subprojects/packagefiles/arbitrary-int-1-rs/meson.build
/qemu/subprojects/packagefiles/bilge-0.2-rs/meson.build
/qemu/subprojects/packagefiles/bilge-impl-0.2-rs/meson.build
/qemu/subprojects/packagefiles/either-1-rs/meson.build
/qemu/subprojects/packagefiles/itertools-0.11-rs/meson.build
/qemu/subprojects/packagefiles/proc-macro-error-1-rs/meson.build
/qemu/subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build
/qemu/subprojects/packagefiles/proc-macro2-1-rs/meson.build
/qemu/subprojects/packagefiles/quote-1-rs/meson.build
/qemu/subprojects/packagefiles/syn-2-rs/meson.build
/qemu/subprojects/packagefiles/unicode-ident-1-rs/meson.build
/qemu/system/dma-helpers.c
/qemu/system/qdev-monitor.c
/qemu/system/trace-events
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/hvf/trace.h
/qemu/target/arm/internals.h
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/arm/tcg/vec_helper.c
/qemu/target/hppa/fpu_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/x86_cpuid.c
/qemu/target/i386/hvf/x86_emu.c
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/hvf/x86_task.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/i386/tcg/seg_helper.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/loongarch/tcg/fpu_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu-defs.c.inc
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/fpu_helper.h
/qemu/target/mips/mips-defs.h
/qemu/target/mips/msa.c
/qemu/target/mips/sysemu/machine.c
/qemu/target/mips/tcg/godson2.decode
/qemu/target/mips/tcg/loong-ext.decode
/qemu/target/mips/tcg/loong_translate.c
/qemu/target/mips/tcg/meson.build
/qemu/target/mips/tcg/micromips_translate.c.inc
/qemu/target/mips/tcg/translate.c
/qemu/target/mips/tcg/translate.h
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/cpu_init.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/machine.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-hash64.c
/qemu/target/ppc/translate.c
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/vector_helper.c
/qemu/target/rx/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/tcg/fpu_helper.c
/qemu/target/s390x/tcg/vec_fpu_helper.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/fop_helper.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/fpu_helper.c
/qemu/tcg/tcg-op-gvec.c
/qemu/tests/avocado/hotplug_blk.py
/qemu/tests/data/acpi/disassemle-aml.sh
/qemu/tests/data/acpi/x86/pc/DSDT
/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/qemu/tests/data/acpi/x86/pc/DSDT.hpbrroot
/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/qemu/tests/data/acpi/x86/q35/APIC.acpihmat-generic-x
/qemu/tests/data/acpi/x86/q35/CEDT.acpihmat-generic-x
/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-generic-x
/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/qemu/tests/data/acpi/x86/q35/DSDT.viot
/qemu/tests/data/acpi/x86/q35/HMAT.acpihmat-generic-x
/qemu/tests/data/acpi/x86/q35/SRAT.acpihmat-generic-x
/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/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/fp/fp-bench.c
/qemu/tests/fp/fp-test-log2.c
/qemu/tests/fp/fp-test.c
/qemu/tests/functional/meson.build
/qemu/tests/functional/qemu_test/cmd.py
/qemu/tests/functional/qemu_test/testcase.py
/qemu/tests/functional/qemu_test/tuxruntest.py
/qemu/tests/functional/test_aarch64_aspeed.py
/qemu/tests/functional/test_aarch64_sbsaref.py
/qemu/tests/functional/test_aarch64_sbsaref_alpine.py
/qemu/tests/functional/test_aarch64_sbsaref_freebsd.py
/qemu/tests/functional/test_aarch64_tuxrun.py
/qemu/tests/functional/test_acpi_bits.py
/qemu/tests/functional/test_arm_aspeed.py
/qemu/tests/functional/test_arm_bpim2u.py
/qemu/tests/functional/test_arm_orangepi.py
/qemu/tests/functional/test_arm_sx1.py
/qemu/tests/functional/test_loongarch64_virt.py
/qemu/tests/functional/test_m68k_nextcube.py
/qemu/tests/functional/test_mips64el_malta.py
/qemu/tests/functional/test_ppc64_hv.py
/qemu/tests/functional/test_ppc_40p.py
/qemu/tests/functional/test_riscv64_tuxrun.py
/qemu/tests/functional/test_riscv_opensbi.py
/qemu/tests/functional/test_sh4_tuxrun.py
/qemu/tests/functional/test_virtio_gpu.py
/qemu/tests/functional/test_virtio_version.py
/qemu/tests/guest-debug/test_gdbstub.py
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/mappings.yml
/qemu/tests/lcitool/refresh
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/pylintrc
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/cmsdk-apb-watchdog-test.c
/qemu/tests/qtest/libqos/virtio-9p-client.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/pnv-xive2-common.c
/qemu/tests/qtest/pnv-xive2-common.h
/qemu/tests/qtest/pnv-xive2-flush-sync.c
/qemu/tests/qtest/pnv-xive2-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/qtest/virtio-balloon-test.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/qemu/tests/tcg/multiarch/gdbstub/prot-none.py
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/linux/linux-sigrtminmax.c
/qemu/tests/tcg/multiarch/sigreturn-sigmask.c
/qemu/tests/tcg/ppc64/Makefile.target
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/float.h
/qemu/tests/tcg/s390x/fma.c
/qemu/tests/tcg/s390x/vfminmax.c
/qemu/tests/unit/test-crypto-hash.c
/qemu/tests/unit/test-crypto-hmac.c
/qemu/tests/unit/test-crypto-pbkdf.c
/qemu/tests/vm/generated/freebsd.json
/qemu/trace-events
/qemu/trace/control-target.c
/qemu/trace/control.c
/qemu/ui/cocoa.m
/qemu/ui/input-legacy.c
ce4a144c25-Oct-2024 Paolo Bonzini <pbonzini@redhat.com>

rust: do not use --generate-cstr

--generate-cstr is a good idea and generally the right thing to do,
but it is not available in Debian 12 and Ubuntu 22.04. Work around
the absence.

Signed-off-by:

rust: do not use --generate-cstr

--generate-cstr is a good idea and generally the right thing to do,
but it is not available in Debian 12 and Ubuntu 22.04. Work around
the absence.

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

show more ...

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

rust: do not use MaybeUninit::zeroed()

MaybeUninit::zeroed() is handy but is not available as a "const" function
until Rust 1.75.0.

Remove the default implementation of Zeroable::ZERO, and write by

rust: do not use MaybeUninit::zeroed()

MaybeUninit::zeroed() is handy but is not available as a "const" function
until Rust 1.75.0.

Remove the default implementation of Zeroable::ZERO, and write by hand
the definitions for those types that need it. It may be possible to
add automatic implementation of the trait, via a procedural macro and/or
a trick similar to offset_of!, but do it the easy way for now.

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

show more ...

123456