include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 18 Dec 2024 13:42:47 +0000 (07:42 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Dec 2024 18:36:37 +0000 (19:36 +0100)
commit5fcabe628b8140691dab834a22be549d242b24bd
tree677fbe0002ba4aedbeff7718bc00d82e494a5bc0
parentebe9685f12bb30ebd35575d31c6b6e0efad3a2bc
include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST

Now that all of the Property arrays are counted, we can remove
the terminator object from each array.  Update the assertions
in device_class_set_props to match.

With struct Property being 88 bytes, this was a rather large
form of terminator.  Saves 30k from qemu-system-aarch64.

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