The following changes since commit 56afd82bd4db9688f1c1c9d0e2ea163b8cde3283:
Merge tag 'qemu-sparc-20261101' of https://github.com/mcayland/qemu into staging (2026-11-01 08:37:48 -0800) are available in the Git repository at: https://repo.or.cz/qemu/armbru.git tags/pull-qapi-2026-11-02 for you to fetch changes up to e963cc1906e22979c4e48cafdd0a72126748cb3e: tests/qmp-cmd-test: assert qapi-type resolves in query-qmp-schema (2026-11-02 15:38:04 +0100) ---------------------------------------------------------------- QAPI patches for 2026-11-02 ---------------------------------------------------------------- Daniel P. Berrangé (8): qapi: make 'CompatPolicy' the first arg in compat_policy_input_ok qapi: add 'warn' option to CompatPolicyInput qapi: rename 'insecure-types' to 'insecure-input' qapi: drop CompatPolicySecurity and use CompatPolicyInput qapi: rename compat_policy_check_security method qapi: reverse arg order in compat_policy_security_ok qemu-options: document -compat insecure-input parameter qapi: print a message before aborting for -compat violations John Snow (1): qapi/control: Turn the reference to qmp-spec.rst into a link Marc-André Lureau (46): qapi: add QAPITypeInfo struct definition qapi/gen: fix _module_basename for multi-dash 'what' parameters qapi: add type-infos generator qom: add qapi_type field to ObjectProperty qapi/qom: add qapi-type to qom-list, qom-list-properties, qom-list-get qom/qmp: populate qapi-type in QMP handlers qom/qmp: populate description & default-value in qom_property_info() tests: update check-qom-proplist for QAPI-aware property registration qom: convert QAPI enum properties to QAPI-aware registration qom: convert struct properties to QAPI-aware registration x86: convert OnOffAuto properties to QAPI-aware registration microvm: convert OnOffAuto properties to QAPI-aware registration pc: convert OnOffAuto vmport property to QAPI-aware registration arm/virt: convert OnOffAuto acpi property to QAPI-aware registration riscv/virt: convert OnOffAuto properties to QAPI-aware registration loongarch/virt: convert OnOffAuto properties to QAPI-aware registration hostmem: convert OnOffAuto rom property to QAPI-aware registration sev: convert OnOffAuto legacy-vm-type property to QAPI-aware registration whpx: convert OnOffAuto hyperv property to QAPI-aware registration whpx: convert OnOffAuto arch properties to QAPI-aware registration accel/kvm: convert OnOffSplit property to QAPI-aware registration whpx: convert OnOffSplit property to QAPI-aware registration ppc/spapr-caps: convert to QAPI-aware property registration net/colo-compare: fix compare_timeout setter visitor type net/colo-compare: fix max_queue_size setter visitor type hw/misc/xlnx-versal-trng: add missing getter for fips-fault-events qom: convert scalar properties to QAPI-aware registration i386/cpu: convert strList property to QAPI-aware registration accel/hvf: convert OnOffSplit property to QAPI-aware registration i386/x86: convert SgxEPCList property to QAPI-aware registration virtio-balloon: convert guest-stats property to QAPI type qom: replace object_property_add_tm with StructTm QAPI type hw/nvdimm: convert UUID property to QAPI-aware registration hw/s390-virtio-ccw: convert loadparm property to QAPI-aware registration hw/ppc/spapr_drc: convert fdt property to QAPI-aware registration hw/s390x: convert BootCertificatesList to QAPI-aware registration qdev: add qapi_type field to PropertyInfo with fallback registration qdev: convert core PropertyInfo definitions to use qapi_type qdev: convert system PropertyInfo definitions to use qapi_type hw: convert device-local PropertyInfo definitions to use qapi_type target/riscv: convert PropertyInfo definitions to use qapi_type qdev: convert PropertyInfo definitions to use qapi_type qdev: PropertyInfo.enum_table is no longer used, drop hw/i386: convert PCSouthBridgeOption to QAPI enum qom: use QAPITypeInfo in object_property_get_enum tests/qmp-cmd-test: assert qapi-type resolves in query-qmp-schema Markus Armbruster (19): qapi/machine: Drop misleading (for OptsVisitor) doc qga/qapi-schema: Drop "This is a read-only operation" qga/qapi-schema: Deemphasize numeric @whence in guest-file-seek qapi/acpi-hest: Fix markup of heading qapi: Fix inaccurate comment on pragma member-name-exceptions qapi/compat: Fix inaccurate CompatPolicy introduction qapi/compat: Fix "only syntactic aspects of QMP" note rng: Remove deprecated "rng-backend" property "opened" qapi/schema: Rename .lookup_entity() and tighten return type qapi: Ease access to introspection names qapi/introspect: Simplify masked name comment emission slighly qapi/introspect: Don't elide types qapi: QAPISchemaVisitor.visit_needed() is now unused, drop qapi/introspect: Tweak integer type masking qom: New object_property_add() etc. parameter @qapi_type qom/object: Move enum property code so it is together qom: New object_property_add_enum() etc. parameter @qapi_type hw/ufs: Convert PropertyInfo to QAPITypeInfo qom: Drop object_property_add_enum() parameter @lookup docs/devel/qapi-code-gen.rst | 161 +++++++++++++++++------- docs/interop/qmp-spec.rst | 2 + docs/interop/virtio-balloon-stats.rst | 22 +--- docs/sphinx/qapidoc.py | 2 +- docs/system/security.rst | 2 +- meson.build | 1 + qapi/acpi-hest.json | 3 +- qapi/common.json | 57 +++++++++ qapi/compat.json | 44 +++---- qapi/control.json | 3 +- qapi/machine.json | 105 +++++++++++++++- qapi/pragma.json | 3 +- qapi/qom.json | 40 +++--- qga/qapi-schema.json | 12 +- hw/ufs/ufs.h | 34 ----- include/chardev/char.h | 3 +- include/hw/core/qdev-properties.h | 2 +- include/hw/i386/pc.h | 4 +- include/qapi/compat-policy.h | 12 +- include/qapi/qapi-type-info.h | 25 ++++ include/qom/object.h | 48 ++----- accel/hvf/hvf-all.c | 24 ++-- accel/kvm/kvm-all.c | 33 +++-- accel/nitro/nitro-accel.c | 2 + accel/tcg/tcg-all.c | 7 +- accel/whpx/whpx-common.c | 48 +++---- authz/list.c | 7 +- backends/cryptodev.c | 7 +- backends/hostmem-file.c | 40 +++--- backends/hostmem-memfd.c | 25 ++-- backends/hostmem.c | 30 ++--- backends/rng.c | 11 -- backends/spdm-socket.c | 3 +- backends/tpm/tpm_util.c | 2 + block/throttle-groups.c | 11 +- chardev/char-socket.c | 2 + crypto/secret_common.c | 6 +- crypto/secret_keyring.c | 9 +- crypto/tlscreds.c | 6 +- event-loop-base.c | 4 + hw/acpi/ich9.c | 2 + hw/acpi/pci.c | 9 +- hw/arm/virt.c | 35 +++--- hw/block/xen-block.c | 2 + hw/core/clock.c | 2 + hw/core/machine-qmp-cmds.c | 4 +- hw/core/machine.c | 27 ++-- hw/core/qdev-properties-system.c | 69 ++++++---- hw/core/qdev-properties.c | 41 ++++-- hw/cpu/core.c | 7 +- hw/cxl/cxl-host.c | 4 +- hw/gpio/aspeed_gpio.c | 9 +- hw/gpio/aspeed_sgpio.c | 4 +- hw/gpio/pca9552.c | 4 +- hw/gpio/pca9554.c | 3 +- hw/gpio/stm32l4x5_gpio.c | 5 +- hw/hexagon/hexagon_dsp.c | 2 + hw/i386/microvm.c | 65 ++++------ hw/i386/pc.c | 39 +++--- hw/i386/pc_piix.c | 56 +++------ hw/i386/sgx-epc.c | 2 + hw/i386/x86.c | 92 ++++++-------- hw/ide/ide-dev.c | 3 +- hw/intc/apic_common.c | 3 +- hw/loongarch/virt.c | 73 +++++------ hw/mem/nvdimm.c | 6 +- hw/mem/pc-dimm.c | 4 +- hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 +- hw/misc/aspeed_lpc.c | 37 ++++-- hw/misc/aspeed_sdmc.c | 3 +- hw/misc/npcm7xx_mft.c | 3 +- hw/misc/xlnx-versal-trng.c | 14 +++ hw/net/ne2000-isa.c | 3 +- hw/nvme/ctrl.c | 2 + hw/nvme/nguid.c | 2 + hw/nvram/xlnx-bbram.c | 2 + hw/nvram/xlnx-efuse.c | 2 + hw/pci-bridge/pci_expander_bridge.c | 3 +- hw/pci-host/i440fx.c | 5 + hw/pci-host/pnv_phb3.c | 5 +- hw/pci-host/pnv_phb4.c | 5 +- hw/pci-host/q35.c | 5 + hw/pci/pci.c | 2 + hw/ppc/spapr_caps.c | 19 ++- hw/ppc/spapr_drc.c | 7 +- hw/ppc/spapr_rtc.c | 25 +++- hw/remote/vfio-user-obj.c | 4 +- hw/riscv/microchip_pfsoc.c | 2 + hw/riscv/virt.c | 40 +++--- hw/rtc/mc146818rtc.c | 23 +++- hw/s390x/ccw-device.c | 2 + hw/s390x/css.c | 3 + hw/s390x/s390-pci-bus.c | 2 + hw/s390x/s390-virtio-ccw.c | 5 +- hw/s390x/sclpcpi.c | 8 +- hw/s390x/virtio-ccw-mem.c | 2 + hw/sensor/adc128d818.c | 10 +- hw/sensor/adm1266.c | 3 +- hw/sensor/adm1272.c | 9 +- hw/sensor/emc141x.c | 9 +- hw/sensor/isl_pmbus_vr.c | 19 +-- hw/sensor/lsm303dlhc_mag.c | 25 ++-- hw/sensor/max34451.c | 5 +- hw/sensor/tmp105.c | 3 +- hw/sensor/tmp421.c | 9 +- hw/ufs/ufs.c | 15 +-- hw/usb/dev-storage-classic.c | 3 +- hw/vfio-user/pci.c | 4 +- hw/vfio/pci-quirks.c | 2 + hw/virtio/virtio-balloon.c | 85 +++++-------- hw/virtio/virtio-mem-pci.c | 2 + hw/virtio/virtio-mem.c | 7 +- hw/xen/xen-pvh-common.c | 5 + iothread.c | 9 +- migration/options.c | 3 + monitor/qmp.c | 3 +- net/colo-compare.c | 15 +-- net/dump.c | 4 +- net/filter-buffer.c | 3 +- net/filter.c | 6 +- qapi/qapi-util.c | 57 +++++---- qapi/qapi-visit-core.c | 4 +- qapi/qmp-dispatch.c | 2 +- qapi/qobject-input-visitor.c | 2 +- qom/object.c | 209 +++++++++++-------------------- qom/qom-qmp-cmds.c | 47 ++++--- system/bootdevice.c | 3 +- system/memory.c | 5 +- target/arm/cpu64.c | 12 +- target/arm/kvm.c | 3 +- target/arm/tcg/cpu64.c | 6 +- target/i386/cpu.c | 22 ++-- target/i386/kvm/kvm.c | 12 +- target/i386/kvm/tdx.c | 8 +- target/i386/sev.c | 30 ++--- target/i386/whpx/whpx-all.c | 83 ++++-------- target/ppc/compat.c | 3 +- target/riscv/cpu.c | 34 ++++- target/riscv/kvm/kvm-cpu.c | 7 +- target/riscv/tcg/tcg-cpu.c | 7 +- target/s390x/cpu-system.c | 2 + target/s390x/cpu_models.c | 7 +- target/sparc/cpu.c | 2 + tests/qtest/qmp-cmd-test.c | 55 +++++++- tests/unit/check-qom-proplist.c | 95 +++++++++++--- tests/unit/test-qdev-global-props.c | 7 +- ui/console-vc.c | 1 + ui/console.c | 3 +- ui/dbus.c | 8 +- ui/input-linux.c | 3 +- util/thread-context.c | 6 +- hw/display/apple-gfx.m | 2 + qapi/meson.build | 4 + qemu-options.hx | 37 +++++- qga/meson.build | 2 + scripts/qapi/backend.py | 2 + scripts/qapi/gen.py | 2 +- scripts/qapi/introspect.py | 74 +++-------- scripts/qapi/schema.py | 57 +++++++-- scripts/qapi/type_infos.py | 149 ++++++++++++++++++++++ tests/include/meson.build | 2 + tests/meson.build | 6 + tests/qapi-schema/meson.build | 1 + 163 files changed, 1778 insertions(+), 1235 deletions(-) create mode 100644 include/qapi/qapi-type-info.h create mode 100644 scripts/qapi/type_infos.py -- 2.55.0
