[PULL v3 00/52] Misc HW patches for 2026-04-22

Philippe Mathieu-Daudé posted 52 patches 1 month ago
Only 3 patches received!
There is a newer version of this series
MAINTAINERS                                 |  28 ++---
docs/specs/tpm.rst                          |  24 ++++
hw/arm/smmuv3-accel.h                       |  41 +------
hw/avr/boot.h                               |   2 +-
hw/ppc/e500.h                               |   1 +
hw/s390x/ipl.h                              |   2 +-
hw/s390x/s390-hypercall.h                   |   2 +-
hw/sd/sdmmc-internal.h                      |   2 +-
hw/tpm/tpm_tis.h                            |   3 +-
hw/xtensa/xtensa_memory.h                   |   2 +-
include/crypto/tls-cipher-suites.h          |   2 +-
include/hw/acpi/tpm.h                       |   3 +-
include/hw/arm/digic.h                      |   2 +-
include/hw/arm/fsl-imx6.h                   |   2 +-
include/hw/arm/fsl-imx6ul.h                 |   2 +-
include/hw/arm/fsl-imx7.h                   |   2 +-
include/hw/arm/fsl-imx8mp.h                 |   2 +-
include/hw/core/boards.h                    |  11 ++
include/hw/core/qdev-properties.h           |   1 +
include/hw/core/qdev.h                      |  27 -----
include/hw/i2c/arm_sbcon_i2c.h              |   2 +-
include/hw/i386/apic_internal.h             |   2 +-
include/hw/intc/mips_gic.h                  |   2 +-
include/hw/misc/bcm2835_thermal.h           |   2 +-
include/hw/misc/led.h                       |   2 +-
include/hw/ppc/pnv.h                        |   2 +-
include/hw/ppc/spapr.h                      |  18 +--
include/hw/ppc/spapr_fadump.h               |   2 +-
include/hw/timer/bcm2835_systmr.h           |   2 +-
include/qemu/units.h                        |   2 +-
include/qom/compat-properties.h             |  40 +++++++
include/qom/object.h                        |   8 --
include/system/memory.h                     |   2 +-
include/system/tpm.h                        |   9 ++
system/memory-internal.h                    |   5 +-
accel/accel-system.c                        |   1 +
backends/hostmem.c                          |   1 +
crypto/tls-cipher-suites.c                  |   2 +-
hw/acpi/tpm.c                               |  10 +-
hw/alpha/dp264.c                            |   2 +-
hw/alpha/typhoon.c                          |   2 +-
hw/arm/boot.c                               |   2 +-
hw/arm/exynos4210.c                         |   2 +-
hw/arm/integratorcp.c                       |   1 -
hw/arm/mps3r.c                              |   2 +-
hw/arm/musicpal.c                           |   1 -
hw/arm/omap1.c                              |   2 +-
hw/arm/realview.c                           |   3 +-
hw/arm/smmuv3-accel-stubs.c                 |  52 +++++++++
hw/arm/smmuv3-accel.c                       |   3 +-
hw/arm/smmuv3.c                             |  13 +--
hw/arm/versatilepb.c                        |   1 -
hw/arm/vexpress.c                           |   1 -
hw/arm/virt-acpi-build.c                    |   9 +-
hw/arm/xlnx-zcu102.c                        |   1 -
hw/core/machine.c                           |   1 +
hw/core/qdev-properties.c                   |   1 +
hw/core/qdev.c                              |   1 +
hw/display/ati.c                            |  12 +-
hw/hppa/machine.c                           |   2 +-
hw/hyperv/hyperv.c                          |   6 +-
hw/hyperv/vmbus.c                           |   1 -
hw/i386/acpi-build.c                        |   4 +-
hw/i386/fw_cfg.c                            |   2 +-
hw/i386/multiboot.c                         |   2 +-
hw/i386/pc_q35.c                            |   1 +
hw/i386/pc_sysfw_ovmf-stubs.c               |   2 +-
hw/i386/pc_sysfw_ovmf.c                     |   2 +-
hw/i386/vmmouse.c                           |   2 +-
hw/intc/arm_gicv3_cpuif.c                   |   2 +-
hw/intc/arm_gicv3_cpuif_common.c            |   2 +-
hw/intc/m68k_irqc.c                         |   2 +-
hw/intc/sh_intc.c                           |   2 +-
hw/isa/lpc_ich9.c                           |   2 +-
hw/m68k/an5206.c                            |   2 +-
hw/m68k/mcf5206.c                           |   2 +-
hw/m68k/mcf5208.c                           |   2 +-
hw/m68k/mcf_intc.c                          |   2 +-
hw/m68k/q800-glue.c                         |   2 +-
hw/m68k/q800.c                              |   2 +-
hw/m68k/virt.c                              |   2 +-
hw/microblaze/boot.c                        |   2 +-
hw/microblaze/petalogix_ml605_mmu.c         |   2 +-
hw/microblaze/petalogix_s3adsp1800_mmu.c    |   2 +-
hw/microblaze/xlnx-zynqmp-pmu.c             |   2 +-
hw/mips/bootloader.c                        |   2 +-
hw/mips/fuloong2e.c                         |   2 +-
hw/mips/jazz.c                              |   2 +-
hw/mips/malta.c                             |   2 +-
hw/misc/avr_power.c                         |   3 +
hw/misc/bcm2835_thermal.c                   |   2 +-
hw/misc/led.c                               |   2 +-
hw/misc/mips_cpc.c                          |   3 +-
hw/misc/riscv_cmgcr.c                       |   2 +-
hw/misc/riscv_cpc.c                         |   3 +-
hw/or1k/boot.c                              |   2 +-
hw/or1k/cputimer.c                          |   2 +-
hw/or1k/or1k-sim.c                          |   2 +-
hw/or1k/virt.c                              |   2 +-
hw/ppc/amigaone.c                           |   1 -
hw/ppc/e500.c                               |   2 +-
hw/ppc/e500plat.c                           |   1 +
hw/ppc/fw_cfg.c                             |   2 +-
hw/ppc/mpc8544_guts.c                       |   2 +-
hw/ppc/mpc8544ds.c                          |   3 +-
hw/ppc/ppc440_uc.c                          |   2 +-
hw/ppc/ppc4xx_devs.c                        |   2 +-
hw/ppc/ppc_booke.c                          |   2 +-
hw/ppc/prep.c                               |   1 -
hw/ppc/prep_systemio.c                      |   2 +-
hw/ppc/spapr_rtas.c                         |  15 +++
hw/ppc/spapr_vhyp_mmu.c                     |   2 +-
hw/ppc/virtex_ml507.c                       |   2 +-
hw/riscv/microblaze-v-generic.c             |   2 +-
hw/s390x/ap-bridge.c                        |   2 +-
hw/s390x/s390-hypercall.c                   |   2 +-
hw/s390x/s390-stattrib.c                    |   2 +-
hw/s390x/tod-tcg.c                          |   2 +-
hw/sd/sd.c                                  |   2 +-
hw/sh4/r2d.c                                |   2 +-
hw/sh4/sh7750.c                             |   1 -
hw/sparc/leon3.c                            |   2 +-
hw/sparc/sun4m.c                            |   2 +-
hw/sparc64/niagara.c                        |   2 +-
hw/sparc64/sparc64.c                        |   2 +-
hw/sparc64/sun4u.c                          |   2 +-
hw/timer/bcm2835_systmr.c                   |   2 +-
hw/tpm/tpm_crb.c                            |  13 +--
hw/tpm/tpm_tis_common.c                     |   4 +-
hw/tpm/tpm_tis_i2c.c                        |   2 +-
hw/tpm/tpm_tis_isa.c                        |  12 +-
hw/tpm/tpm_tis_sysbus.c                     |  13 ++-
hw/tricore/tricore_testboard.c              |   2 +-
hw/usb/bus-stub.c                           |   2 +-
hw/virtio/virtio-iommu.c                    |   1 -
hw/xtensa/pic_cpu.c                         |   2 +-
hw/xtensa/xtfpga.c                          |   2 +-
qom/compat-properties.c                     | 116 ++++++++++++++++++++
qom/object.c                                | 102 +----------------
stubs/fw_cfg.c                              |   2 +-
stubs/hotplug-stubs.c                       |   2 +-
stubs/qdev.c                                |   2 +-
stubs/qom-compat-properties.c               |  20 ++++
system/memory.c                             |   2 +-
system/physmem.c                            |  16 +--
system/rtc.c                                |   1 +
system/vl.c                                 |   1 +
target/i386/sev.c                           |   1 +
tests/qtest/fuzz-sb16-test.c                |   2 +-
tests/qtest/fuzz-sdcard-test.c              |   2 +-
tests/qtest/sdhci-test.c                    |   2 +-
ui/vdagent.c                                |   1 +
hw/arm/meson.build                          |   5 +-
hw/misc/meson.build                         |   2 +-
hw/timer/meson.build                        |   2 +-
qom/meson.build                             |   3 +
rust/bindings/qom-sys/lib.rs                |   2 +-
stubs/meson.build                           |   1 +
tests/functional/aarch64/test_raspi3.py     |   2 +-
tests/functional/arm/test_bflt.py           |   2 +-
tests/functional/arm/test_raspi2.py         |   2 +-
tests/functional/m68k/test_nextcube.py      |   2 +-
tests/functional/mips/test_malta.py         |   2 +-
tests/functional/mips64el/test_fuloong2e.py |   2 +-
tests/functional/mips64el/test_malta.py     |   2 +-
tests/functional/mipsel/test_malta.py       |   2 +-
tests/functional/ppc/test_40p.py            |   2 +-
tests/functional/qemu_test/tesseract.py     |   2 +-
168 files changed, 507 insertions(+), 393 deletions(-)
create mode 100644 include/qom/compat-properties.h
create mode 100644 hw/arm/smmuv3-accel-stubs.c
create mode 100644 qom/compat-properties.c
create mode 100644 stubs/qom-compat-properties.c
[PULL v3 00/52] Misc HW patches for 2026-04-22
Posted by Philippe Mathieu-Daudé 1 month ago
v3:
  now than target-arm.next is merged, 3 more MAINTAINERS patches
v2:
Rebased on top of
  Merge tag 's390x-20260423' of https://gitlab.com/cohuck/qemu into staging
to fix:
  CONFLICT (content): Merge conflict in include/hw/core/boards.h

The following changes since commit e5182fd198e85cb650cdfed1839ee8aac86e0b7e:

  Merge tag 'pull-11.1-virtio-gpu-hotfixes-230426-1' of https://gitlab.com/stsquad/qemu into staging (2026-04-23 13:52:08 -0400)

are available in the Git repository at:

  https://github.com/philmd/qemu.git tags/hw-misc-20260422

for you to fetch changes up to 5d6beec09b2e41a73b3a299870865ebb31572857:

  MAINTAINERS: Transfer CI maintenance to Pierrick (2026-04-23 23:26:39 +0200)

----------------------------------------------------------------
Misc HW patches

- Build hw/avr/ as common unit files
- Header cleanups around 'cpu.h', 'qemu/audio.h' or duplicated lines
- Remove obsolete TPMIfClass::ppi_enabled field
- Cleanups around load/store API
- Restrict 'compat' properties API to system emulation
- Correct TPM PPCI ACPI for Windows guests on ARM Virt machine
- Simplify physical_memory_range_includes_clean()
- Avoid including CONFIG_DEVICES in hw/arm/smmuv3
- Initialize bus frequency in PPC e500 device tree blob
- More ATI VGA fixes
- Fix fuzzing issues on AVR power controller and SH4 MCU
- MAINTAINERS updates

----------------------------------------------------------------

Bin Guo (1):
  physmem: Simplify dirty memory type checks with loop

Junjie Cao (2):
  ati-vga: fix unsigned integer overflow in cursor bounds checks
  ati-vga: mask out lock bit from CUR_OFFSET in cursor offset
    calculation

Mohammadfaiz Bawa (3):
  docs/specs/tpm: document PPI support on ARM64 virt
  hw/acpi/tpm: parameterize PPI base address in tpm_build_ppi_acpi
  hw/tpm: add PPI support to tpm-tis-device for ARM64 virt

Osama Abdelkader (3):
  hw/virtio/virtio-iommu: remove duplicate include
  hw/hyperv: remove duplicate include
  hw/ppc/amigaone: remove duplicate include

Peter Maydell (1):
  hw/arm, hw/ppc: Remove unnecessary audio.h includes from board code

Philippe Mathieu-Daudé (39):
  hw/avr: Build as common unit files
  hw/misc/cpc: Include missing 'hw/core/cpu.h' header
  hw/alpha: Include full path to target 'cpu.h' header
  hw/arm: Include full path to target 'cpu.h' header
  hw/avr: Include full path to target 'cpu.h' header
  hw/hppa: Include full path to target 'cpu.h' header
  hw/i386: Include full path to target 'cpu.h' header
  hw/m68k: Include full path to target 'cpu.h' header
  hw/microblaze: Include full path to target 'cpu.h' header
  hw/mips: Include full path to target 'cpu.h' header
  hw/or1k: Include full path to target 'cpu.h' header
  hw/ppc: Include full path to target 'cpu.h' header
  hw/riscv: Include full path to target 'cpu.h' header
  hw/s390x: Include full path to target 'cpu.h' header
  hw/sh4: Include full path to target 'cpu.h' header
  hw/sparc: Include full path to target 'cpu.h' header
  hw/tricore: Include full path to target 'cpu.h' header
  hw/xtensa: Include full path to target 'cpu.h' header
  hw/tpm: Factor tpm_ppi_enabled() out
  hw/tpm: Add TPMIfClass::ppi_enabled field
  hw/tpm: Remove CRBState::ppi_enabled field
  hw/tpm: Propagate @ppi_enabled to tpm_tis_reset() and remove in
    TPMState
  hw/tpm: Simplify tpm_ppi_enabled()
  hw/ppc/spapr: Un-inline rtas_load/store() helpers
  hw/hyperv: Replace legacy ld_phys() -> address_space_ld()
  system/memory: Constify various AddressSpace arguments (flatview)
  hw/core: Move compat_props_add() to 'hw/core/boards.h'
  qom: Declare GlobalProperty structure in 'qom/compat-properties.h'
  qom: Declare compat properties API in 'qom/compat-properties.h'
  qom: Restrict compat properties API to system emulation
  hw/arm/smmuv3: Have smmuv3_accel_init() take an Error* parameter
  hw/arm/smmuv3: Avoid including CONFIG_DEVICES in hw/ header
  MAINTAINERS: Merge PCIe DOE section within SPDM
  MAINTAINERS: Cover hexloader tests under the Generic Loader section
  MAINTAINERS: Remove my unused git tree locations
  MAINTAINERS: Remove my disfunctional emails
  MAINTAINERS: Remove PhilMD from NVMe Block Driver
  MAINTAINERS: Maintain MIPS Boston
  MAINTAINERS: Transfer CI maintenance to Pierrick

Thomas Huth (2):
  hw/misc: Fix the valid access size to the avr-power device
  hw/sh4/sh7750: Remove forgotten abort() in the MM_ITLB_DATA handler

Vivien LEGER (1):
  hw/ppc/e500: fix bus-frequency property hardcoded to zero in CPU FDT
    node

 MAINTAINERS                                 |  28 ++---
 docs/specs/tpm.rst                          |  24 ++++
 hw/arm/smmuv3-accel.h                       |  41 +------
 hw/avr/boot.h                               |   2 +-
 hw/ppc/e500.h                               |   1 +
 hw/s390x/ipl.h                              |   2 +-
 hw/s390x/s390-hypercall.h                   |   2 +-
 hw/sd/sdmmc-internal.h                      |   2 +-
 hw/tpm/tpm_tis.h                            |   3 +-
 hw/xtensa/xtensa_memory.h                   |   2 +-
 include/crypto/tls-cipher-suites.h          |   2 +-
 include/hw/acpi/tpm.h                       |   3 +-
 include/hw/arm/digic.h                      |   2 +-
 include/hw/arm/fsl-imx6.h                   |   2 +-
 include/hw/arm/fsl-imx6ul.h                 |   2 +-
 include/hw/arm/fsl-imx7.h                   |   2 +-
 include/hw/arm/fsl-imx8mp.h                 |   2 +-
 include/hw/core/boards.h                    |  11 ++
 include/hw/core/qdev-properties.h           |   1 +
 include/hw/core/qdev.h                      |  27 -----
 include/hw/i2c/arm_sbcon_i2c.h              |   2 +-
 include/hw/i386/apic_internal.h             |   2 +-
 include/hw/intc/mips_gic.h                  |   2 +-
 include/hw/misc/bcm2835_thermal.h           |   2 +-
 include/hw/misc/led.h                       |   2 +-
 include/hw/ppc/pnv.h                        |   2 +-
 include/hw/ppc/spapr.h                      |  18 +--
 include/hw/ppc/spapr_fadump.h               |   2 +-
 include/hw/timer/bcm2835_systmr.h           |   2 +-
 include/qemu/units.h                        |   2 +-
 include/qom/compat-properties.h             |  40 +++++++
 include/qom/object.h                        |   8 --
 include/system/memory.h                     |   2 +-
 include/system/tpm.h                        |   9 ++
 system/memory-internal.h                    |   5 +-
 accel/accel-system.c                        |   1 +
 backends/hostmem.c                          |   1 +
 crypto/tls-cipher-suites.c                  |   2 +-
 hw/acpi/tpm.c                               |  10 +-
 hw/alpha/dp264.c                            |   2 +-
 hw/alpha/typhoon.c                          |   2 +-
 hw/arm/boot.c                               |   2 +-
 hw/arm/exynos4210.c                         |   2 +-
 hw/arm/integratorcp.c                       |   1 -
 hw/arm/mps3r.c                              |   2 +-
 hw/arm/musicpal.c                           |   1 -
 hw/arm/omap1.c                              |   2 +-
 hw/arm/realview.c                           |   3 +-
 hw/arm/smmuv3-accel-stubs.c                 |  52 +++++++++
 hw/arm/smmuv3-accel.c                       |   3 +-
 hw/arm/smmuv3.c                             |  13 +--
 hw/arm/versatilepb.c                        |   1 -
 hw/arm/vexpress.c                           |   1 -
 hw/arm/virt-acpi-build.c                    |   9 +-
 hw/arm/xlnx-zcu102.c                        |   1 -
 hw/core/machine.c                           |   1 +
 hw/core/qdev-properties.c                   |   1 +
 hw/core/qdev.c                              |   1 +
 hw/display/ati.c                            |  12 +-
 hw/hppa/machine.c                           |   2 +-
 hw/hyperv/hyperv.c                          |   6 +-
 hw/hyperv/vmbus.c                           |   1 -
 hw/i386/acpi-build.c                        |   4 +-
 hw/i386/fw_cfg.c                            |   2 +-
 hw/i386/multiboot.c                         |   2 +-
 hw/i386/pc_q35.c                            |   1 +
 hw/i386/pc_sysfw_ovmf-stubs.c               |   2 +-
 hw/i386/pc_sysfw_ovmf.c                     |   2 +-
 hw/i386/vmmouse.c                           |   2 +-
 hw/intc/arm_gicv3_cpuif.c                   |   2 +-
 hw/intc/arm_gicv3_cpuif_common.c            |   2 +-
 hw/intc/m68k_irqc.c                         |   2 +-
 hw/intc/sh_intc.c                           |   2 +-
 hw/isa/lpc_ich9.c                           |   2 +-
 hw/m68k/an5206.c                            |   2 +-
 hw/m68k/mcf5206.c                           |   2 +-
 hw/m68k/mcf5208.c                           |   2 +-
 hw/m68k/mcf_intc.c                          |   2 +-
 hw/m68k/q800-glue.c                         |   2 +-
 hw/m68k/q800.c                              |   2 +-
 hw/m68k/virt.c                              |   2 +-
 hw/microblaze/boot.c                        |   2 +-
 hw/microblaze/petalogix_ml605_mmu.c         |   2 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c    |   2 +-
 hw/microblaze/xlnx-zynqmp-pmu.c             |   2 +-
 hw/mips/bootloader.c                        |   2 +-
 hw/mips/fuloong2e.c                         |   2 +-
 hw/mips/jazz.c                              |   2 +-
 hw/mips/malta.c                             |   2 +-
 hw/misc/avr_power.c                         |   3 +
 hw/misc/bcm2835_thermal.c                   |   2 +-
 hw/misc/led.c                               |   2 +-
 hw/misc/mips_cpc.c                          |   3 +-
 hw/misc/riscv_cmgcr.c                       |   2 +-
 hw/misc/riscv_cpc.c                         |   3 +-
 hw/or1k/boot.c                              |   2 +-
 hw/or1k/cputimer.c                          |   2 +-
 hw/or1k/or1k-sim.c                          |   2 +-
 hw/or1k/virt.c                              |   2 +-
 hw/ppc/amigaone.c                           |   1 -
 hw/ppc/e500.c                               |   2 +-
 hw/ppc/e500plat.c                           |   1 +
 hw/ppc/fw_cfg.c                             |   2 +-
 hw/ppc/mpc8544_guts.c                       |   2 +-
 hw/ppc/mpc8544ds.c                          |   3 +-
 hw/ppc/ppc440_uc.c                          |   2 +-
 hw/ppc/ppc4xx_devs.c                        |   2 +-
 hw/ppc/ppc_booke.c                          |   2 +-
 hw/ppc/prep.c                               |   1 -
 hw/ppc/prep_systemio.c                      |   2 +-
 hw/ppc/spapr_rtas.c                         |  15 +++
 hw/ppc/spapr_vhyp_mmu.c                     |   2 +-
 hw/ppc/virtex_ml507.c                       |   2 +-
 hw/riscv/microblaze-v-generic.c             |   2 +-
 hw/s390x/ap-bridge.c                        |   2 +-
 hw/s390x/s390-hypercall.c                   |   2 +-
 hw/s390x/s390-stattrib.c                    |   2 +-
 hw/s390x/tod-tcg.c                          |   2 +-
 hw/sd/sd.c                                  |   2 +-
 hw/sh4/r2d.c                                |   2 +-
 hw/sh4/sh7750.c                             |   1 -
 hw/sparc/leon3.c                            |   2 +-
 hw/sparc/sun4m.c                            |   2 +-
 hw/sparc64/niagara.c                        |   2 +-
 hw/sparc64/sparc64.c                        |   2 +-
 hw/sparc64/sun4u.c                          |   2 +-
 hw/timer/bcm2835_systmr.c                   |   2 +-
 hw/tpm/tpm_crb.c                            |  13 +--
 hw/tpm/tpm_tis_common.c                     |   4 +-
 hw/tpm/tpm_tis_i2c.c                        |   2 +-
 hw/tpm/tpm_tis_isa.c                        |  12 +-
 hw/tpm/tpm_tis_sysbus.c                     |  13 ++-
 hw/tricore/tricore_testboard.c              |   2 +-
 hw/usb/bus-stub.c                           |   2 +-
 hw/virtio/virtio-iommu.c                    |   1 -
 hw/xtensa/pic_cpu.c                         |   2 +-
 hw/xtensa/xtfpga.c                          |   2 +-
 qom/compat-properties.c                     | 116 ++++++++++++++++++++
 qom/object.c                                | 102 +----------------
 stubs/fw_cfg.c                              |   2 +-
 stubs/hotplug-stubs.c                       |   2 +-
 stubs/qdev.c                                |   2 +-
 stubs/qom-compat-properties.c               |  20 ++++
 system/memory.c                             |   2 +-
 system/physmem.c                            |  16 +--
 system/rtc.c                                |   1 +
 system/vl.c                                 |   1 +
 target/i386/sev.c                           |   1 +
 tests/qtest/fuzz-sb16-test.c                |   2 +-
 tests/qtest/fuzz-sdcard-test.c              |   2 +-
 tests/qtest/sdhci-test.c                    |   2 +-
 ui/vdagent.c                                |   1 +
 hw/arm/meson.build                          |   5 +-
 hw/misc/meson.build                         |   2 +-
 hw/timer/meson.build                        |   2 +-
 qom/meson.build                             |   3 +
 rust/bindings/qom-sys/lib.rs                |   2 +-
 stubs/meson.build                           |   1 +
 tests/functional/aarch64/test_raspi3.py     |   2 +-
 tests/functional/arm/test_bflt.py           |   2 +-
 tests/functional/arm/test_raspi2.py         |   2 +-
 tests/functional/m68k/test_nextcube.py      |   2 +-
 tests/functional/mips/test_malta.py         |   2 +-
 tests/functional/mips64el/test_fuloong2e.py |   2 +-
 tests/functional/mips64el/test_malta.py     |   2 +-
 tests/functional/mipsel/test_malta.py       |   2 +-
 tests/functional/ppc/test_40p.py            |   2 +-
 tests/functional/qemu_test/tesseract.py     |   2 +-
 168 files changed, 507 insertions(+), 393 deletions(-)
 create mode 100644 include/qom/compat-properties.h
 create mode 100644 hw/arm/smmuv3-accel-stubs.c
 create mode 100644 qom/compat-properties.c
 create mode 100644 stubs/qom-compat-properties.c

-- 
2.53.0


Re: [PULL v3 00/52] Misc HW patches for 2026-04-22
Posted by Stefan Hajnoczi 1 month ago
On Thu, Apr 23, 2026 at 5:30 PM Philippe Mathieu-Daudé <philmd@linaro.org>
wrote:

> v3:
>   now than target-arm.next is merged, 3 more MAINTAINERS patches
> v2:
> Rebased on top of
>   Merge tag 's390x-20260423' of https://gitlab.com/cohuck/qemu into
> staging
> to fix:
>   CONFLICT (content): Merge conflict in include/hw/core/boards.h
>
> The following changes since commit
> e5182fd198e85cb650cdfed1839ee8aac86e0b7e:
>
>   Merge tag 'pull-11.1-virtio-gpu-hotfixes-230426-1' of
> https://gitlab.com/stsquad/qemu into staging (2026-04-23 13:52:08 -0400)
>
> are available in the Git repository at:
>
>   https://github.com/philmd/qemu.git tags/hw-misc-20260422
>
> for you to fetch changes up to 5d6beec09b2e41a73b3a299870865ebb31572857:
>
>   MAINTAINERS: Transfer CI maintenance to Pierrick (2026-04-23 23:26:39
> +0200)
>
> ----------------------------------------------------------------
> Misc HW patches
>
> - Build hw/avr/ as common unit files
> - Header cleanups around 'cpu.h', 'qemu/audio.h' or duplicated lines
> - Remove obsolete TPMIfClass::ppi_enabled field
> - Cleanups around load/store API
> - Restrict 'compat' properties API to system emulation
> - Correct TPM PPCI ACPI for Windows guests on ARM Virt machine
> - Simplify physical_memory_range_includes_clean()
> - Avoid including CONFIG_DEVICES in hw/arm/smmuv3
> - Initialize bus frequency in PPC e500 device tree blob
> - More ATI VGA fixes
> - Fix fuzzing issues on AVR power controller and SH4 MCU
> - MAINTAINERS updates
>
> ----------------------------------------------------------------
>

This pull request breaks run-tcg-tests-riscv64-linux-user:

$ ./configure --target-list=riscv64-linux-user && make check-tcg
...
  BUILD   debian-all-test-cross
  BUILD   riscv64-linux-user guest-tests
  RUN     riscv64-linux-user guest-tests
  TEST    semihosting on riscv64
  SKIPPED semiconsole on riscv64 because MANUAL ONLY
  TEST    catch-syscalls on riscv64
  TEST    convd on riscv64
  TEST    convs on riscv64
  TEST    madds on riscv64
  TEST    fnmsub on riscv64
  TEST    late-attach on riscv64
  TEST    follow-fork-mode on riscv64
  TEST    munmap-pthread on riscv64
  TEST    overflow on riscv64
  TEST    prot-none on riscv64
  TEST    segfault on riscv64
  SKIPPED float_convs check on riscv64 because no reference
  TEST    sha1 on riscv64
  SKIPPED float_convd check on riscv64 because no reference
  TEST    sha512 on riscv64
  SKIPPED float_madds check on riscv64 because no reference
  TEST    sigbus on riscv64
  TEST    signals on riscv64
  TEST    sigreturn-sigmask on riscv64
  TEST    tb-link on riscv64
  TEST    test-mmap (default) on riscv64
  TEST    testthread on riscv64
  TEST    threadcount on riscv64
  TEST    vma-pthread on riscv64
  TEST    linux-madvise on riscv64
  TEST    linux-shmat-maps on riscv64
  TEST    linux-shmat-null on riscv64
  TEST    linux-sigrtminmax on riscv64
  TEST    linux-test on riscv64
  TEST    test-vma on riscv64
  TEST    test-div on riscv64
  TEST    noexec on riscv64
  TEST    test-noc on riscv64
make[1]: *** [Makefile:223: run-test-noc] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [/home/stefanha/qemu/tests/Makefile.include:68:
run-tcg-tests-riscv64-linux-user] Error 2

Please send a v4 that resolves the test-noc failure. Thanks!

Stefan


>
> Bin Guo (1):
>   physmem: Simplify dirty memory type checks with loop
>
> Junjie Cao (2):
>   ati-vga: fix unsigned integer overflow in cursor bounds checks
>   ati-vga: mask out lock bit from CUR_OFFSET in cursor offset
>     calculation
>
> Mohammadfaiz Bawa (3):
>   docs/specs/tpm: document PPI support on ARM64 virt
>   hw/acpi/tpm: parameterize PPI base address in tpm_build_ppi_acpi
>   hw/tpm: add PPI support to tpm-tis-device for ARM64 virt
>
> Osama Abdelkader (3):
>   hw/virtio/virtio-iommu: remove duplicate include
>   hw/hyperv: remove duplicate include
>   hw/ppc/amigaone: remove duplicate include
>
> Peter Maydell (1):
>   hw/arm, hw/ppc: Remove unnecessary audio.h includes from board code
>
> Philippe Mathieu-Daudé (39):
>   hw/avr: Build as common unit files
>   hw/misc/cpc: Include missing 'hw/core/cpu.h' header
>   hw/alpha: Include full path to target 'cpu.h' header
>   hw/arm: Include full path to target 'cpu.h' header
>   hw/avr: Include full path to target 'cpu.h' header
>   hw/hppa: Include full path to target 'cpu.h' header
>   hw/i386: Include full path to target 'cpu.h' header
>   hw/m68k: Include full path to target 'cpu.h' header
>   hw/microblaze: Include full path to target 'cpu.h' header
>   hw/mips: Include full path to target 'cpu.h' header
>   hw/or1k: Include full path to target 'cpu.h' header
>   hw/ppc: Include full path to target 'cpu.h' header
>   hw/riscv: Include full path to target 'cpu.h' header
>   hw/s390x: Include full path to target 'cpu.h' header
>   hw/sh4: Include full path to target 'cpu.h' header
>   hw/sparc: Include full path to target 'cpu.h' header
>   hw/tricore: Include full path to target 'cpu.h' header
>   hw/xtensa: Include full path to target 'cpu.h' header
>   hw/tpm: Factor tpm_ppi_enabled() out
>   hw/tpm: Add TPMIfClass::ppi_enabled field
>   hw/tpm: Remove CRBState::ppi_enabled field
>   hw/tpm: Propagate @ppi_enabled to tpm_tis_reset() and remove in
>     TPMState
>   hw/tpm: Simplify tpm_ppi_enabled()
>   hw/ppc/spapr: Un-inline rtas_load/store() helpers
>   hw/hyperv: Replace legacy ld_phys() -> address_space_ld()
>   system/memory: Constify various AddressSpace arguments (flatview)
>   hw/core: Move compat_props_add() to 'hw/core/boards.h'
>   qom: Declare GlobalProperty structure in 'qom/compat-properties.h'
>   qom: Declare compat properties API in 'qom/compat-properties.h'
>   qom: Restrict compat properties API to system emulation
>   hw/arm/smmuv3: Have smmuv3_accel_init() take an Error* parameter
>   hw/arm/smmuv3: Avoid including CONFIG_DEVICES in hw/ header
>   MAINTAINERS: Merge PCIe DOE section within SPDM
>   MAINTAINERS: Cover hexloader tests under the Generic Loader section
>   MAINTAINERS: Remove my unused git tree locations
>   MAINTAINERS: Remove my disfunctional emails
>   MAINTAINERS: Remove PhilMD from NVMe Block Driver
>   MAINTAINERS: Maintain MIPS Boston
>   MAINTAINERS: Transfer CI maintenance to Pierrick
>
> Thomas Huth (2):
>   hw/misc: Fix the valid access size to the avr-power device
>   hw/sh4/sh7750: Remove forgotten abort() in the MM_ITLB_DATA handler
>
> Vivien LEGER (1):
>   hw/ppc/e500: fix bus-frequency property hardcoded to zero in CPU FDT
>     node
>
>  MAINTAINERS                                 |  28 ++---
>  docs/specs/tpm.rst                          |  24 ++++
>  hw/arm/smmuv3-accel.h                       |  41 +------
>  hw/avr/boot.h                               |   2 +-
>  hw/ppc/e500.h                               |   1 +
>  hw/s390x/ipl.h                              |   2 +-
>  hw/s390x/s390-hypercall.h                   |   2 +-
>  hw/sd/sdmmc-internal.h                      |   2 +-
>  hw/tpm/tpm_tis.h                            |   3 +-
>  hw/xtensa/xtensa_memory.h                   |   2 +-
>  include/crypto/tls-cipher-suites.h          |   2 +-
>  include/hw/acpi/tpm.h                       |   3 +-
>  include/hw/arm/digic.h                      |   2 +-
>  include/hw/arm/fsl-imx6.h                   |   2 +-
>  include/hw/arm/fsl-imx6ul.h                 |   2 +-
>  include/hw/arm/fsl-imx7.h                   |   2 +-
>  include/hw/arm/fsl-imx8mp.h                 |   2 +-
>  include/hw/core/boards.h                    |  11 ++
>  include/hw/core/qdev-properties.h           |   1 +
>  include/hw/core/qdev.h                      |  27 -----
>  include/hw/i2c/arm_sbcon_i2c.h              |   2 +-
>  include/hw/i386/apic_internal.h             |   2 +-
>  include/hw/intc/mips_gic.h                  |   2 +-
>  include/hw/misc/bcm2835_thermal.h           |   2 +-
>  include/hw/misc/led.h                       |   2 +-
>  include/hw/ppc/pnv.h                        |   2 +-
>  include/hw/ppc/spapr.h                      |  18 +--
>  include/hw/ppc/spapr_fadump.h               |   2 +-
>  include/hw/timer/bcm2835_systmr.h           |   2 +-
>  include/qemu/units.h                        |   2 +-
>  include/qom/compat-properties.h             |  40 +++++++
>  include/qom/object.h                        |   8 --
>  include/system/memory.h                     |   2 +-
>  include/system/tpm.h                        |   9 ++
>  system/memory-internal.h                    |   5 +-
>  accel/accel-system.c                        |   1 +
>  backends/hostmem.c                          |   1 +
>  crypto/tls-cipher-suites.c                  |   2 +-
>  hw/acpi/tpm.c                               |  10 +-
>  hw/alpha/dp264.c                            |   2 +-
>  hw/alpha/typhoon.c                          |   2 +-
>  hw/arm/boot.c                               |   2 +-
>  hw/arm/exynos4210.c                         |   2 +-
>  hw/arm/integratorcp.c                       |   1 -
>  hw/arm/mps3r.c                              |   2 +-
>  hw/arm/musicpal.c                           |   1 -
>  hw/arm/omap1.c                              |   2 +-
>  hw/arm/realview.c                           |   3 +-
>  hw/arm/smmuv3-accel-stubs.c                 |  52 +++++++++
>  hw/arm/smmuv3-accel.c                       |   3 +-
>  hw/arm/smmuv3.c                             |  13 +--
>  hw/arm/versatilepb.c                        |   1 -
>  hw/arm/vexpress.c                           |   1 -
>  hw/arm/virt-acpi-build.c                    |   9 +-
>  hw/arm/xlnx-zcu102.c                        |   1 -
>  hw/core/machine.c                           |   1 +
>  hw/core/qdev-properties.c                   |   1 +
>  hw/core/qdev.c                              |   1 +
>  hw/display/ati.c                            |  12 +-
>  hw/hppa/machine.c                           |   2 +-
>  hw/hyperv/hyperv.c                          |   6 +-
>  hw/hyperv/vmbus.c                           |   1 -
>  hw/i386/acpi-build.c                        |   4 +-
>  hw/i386/fw_cfg.c                            |   2 +-
>  hw/i386/multiboot.c                         |   2 +-
>  hw/i386/pc_q35.c                            |   1 +
>  hw/i386/pc_sysfw_ovmf-stubs.c               |   2 +-
>  hw/i386/pc_sysfw_ovmf.c                     |   2 +-
>  hw/i386/vmmouse.c                           |   2 +-
>  hw/intc/arm_gicv3_cpuif.c                   |   2 +-
>  hw/intc/arm_gicv3_cpuif_common.c            |   2 +-
>  hw/intc/m68k_irqc.c                         |   2 +-
>  hw/intc/sh_intc.c                           |   2 +-
>  hw/isa/lpc_ich9.c                           |   2 +-
>  hw/m68k/an5206.c                            |   2 +-
>  hw/m68k/mcf5206.c                           |   2 +-
>  hw/m68k/mcf5208.c                           |   2 +-
>  hw/m68k/mcf_intc.c                          |   2 +-
>  hw/m68k/q800-glue.c                         |   2 +-
>  hw/m68k/q800.c                              |   2 +-
>  hw/m68k/virt.c                              |   2 +-
>  hw/microblaze/boot.c                        |   2 +-
>  hw/microblaze/petalogix_ml605_mmu.c         |   2 +-
>  hw/microblaze/petalogix_s3adsp1800_mmu.c    |   2 +-
>  hw/microblaze/xlnx-zynqmp-pmu.c             |   2 +-
>  hw/mips/bootloader.c                        |   2 +-
>  hw/mips/fuloong2e.c                         |   2 +-
>  hw/mips/jazz.c                              |   2 +-
>  hw/mips/malta.c                             |   2 +-
>  hw/misc/avr_power.c                         |   3 +
>  hw/misc/bcm2835_thermal.c                   |   2 +-
>  hw/misc/led.c                               |   2 +-
>  hw/misc/mips_cpc.c                          |   3 +-
>  hw/misc/riscv_cmgcr.c                       |   2 +-
>  hw/misc/riscv_cpc.c                         |   3 +-
>  hw/or1k/boot.c                              |   2 +-
>  hw/or1k/cputimer.c                          |   2 +-
>  hw/or1k/or1k-sim.c                          |   2 +-
>  hw/or1k/virt.c                              |   2 +-
>  hw/ppc/amigaone.c                           |   1 -
>  hw/ppc/e500.c                               |   2 +-
>  hw/ppc/e500plat.c                           |   1 +
>  hw/ppc/fw_cfg.c                             |   2 +-
>  hw/ppc/mpc8544_guts.c                       |   2 +-
>  hw/ppc/mpc8544ds.c                          |   3 +-
>  hw/ppc/ppc440_uc.c                          |   2 +-
>  hw/ppc/ppc4xx_devs.c                        |   2 +-
>  hw/ppc/ppc_booke.c                          |   2 +-
>  hw/ppc/prep.c                               |   1 -
>  hw/ppc/prep_systemio.c                      |   2 +-
>  hw/ppc/spapr_rtas.c                         |  15 +++
>  hw/ppc/spapr_vhyp_mmu.c                     |   2 +-
>  hw/ppc/virtex_ml507.c                       |   2 +-
>  hw/riscv/microblaze-v-generic.c             |   2 +-
>  hw/s390x/ap-bridge.c                        |   2 +-
>  hw/s390x/s390-hypercall.c                   |   2 +-
>  hw/s390x/s390-stattrib.c                    |   2 +-
>  hw/s390x/tod-tcg.c                          |   2 +-
>  hw/sd/sd.c                                  |   2 +-
>  hw/sh4/r2d.c                                |   2 +-
>  hw/sh4/sh7750.c                             |   1 -
>  hw/sparc/leon3.c                            |   2 +-
>  hw/sparc/sun4m.c                            |   2 +-
>  hw/sparc64/niagara.c                        |   2 +-
>  hw/sparc64/sparc64.c                        |   2 +-
>  hw/sparc64/sun4u.c                          |   2 +-
>  hw/timer/bcm2835_systmr.c                   |   2 +-
>  hw/tpm/tpm_crb.c                            |  13 +--
>  hw/tpm/tpm_tis_common.c                     |   4 +-
>  hw/tpm/tpm_tis_i2c.c                        |   2 +-
>  hw/tpm/tpm_tis_isa.c                        |  12 +-
>  hw/tpm/tpm_tis_sysbus.c                     |  13 ++-
>  hw/tricore/tricore_testboard.c              |   2 +-
>  hw/usb/bus-stub.c                           |   2 +-
>  hw/virtio/virtio-iommu.c                    |   1 -
>  hw/xtensa/pic_cpu.c                         |   2 +-
>  hw/xtensa/xtfpga.c                          |   2 +-
>  qom/compat-properties.c                     | 116 ++++++++++++++++++++
>  qom/object.c                                | 102 +----------------
>  stubs/fw_cfg.c                              |   2 +-
>  stubs/hotplug-stubs.c                       |   2 +-
>  stubs/qdev.c                                |   2 +-
>  stubs/qom-compat-properties.c               |  20 ++++
>  system/memory.c                             |   2 +-
>  system/physmem.c                            |  16 +--
>  system/rtc.c                                |   1 +
>  system/vl.c                                 |   1 +
>  target/i386/sev.c                           |   1 +
>  tests/qtest/fuzz-sb16-test.c                |   2 +-
>  tests/qtest/fuzz-sdcard-test.c              |   2 +-
>  tests/qtest/sdhci-test.c                    |   2 +-
>  ui/vdagent.c                                |   1 +
>  hw/arm/meson.build                          |   5 +-
>  hw/misc/meson.build                         |   2 +-
>  hw/timer/meson.build                        |   2 +-
>  qom/meson.build                             |   3 +
>  rust/bindings/qom-sys/lib.rs                |   2 +-
>  stubs/meson.build                           |   1 +
>  tests/functional/aarch64/test_raspi3.py     |   2 +-
>  tests/functional/arm/test_bflt.py           |   2 +-
>  tests/functional/arm/test_raspi2.py         |   2 +-
>  tests/functional/m68k/test_nextcube.py      |   2 +-
>  tests/functional/mips/test_malta.py         |   2 +-
>  tests/functional/mips64el/test_fuloong2e.py |   2 +-
>  tests/functional/mips64el/test_malta.py     |   2 +-
>  tests/functional/mipsel/test_malta.py       |   2 +-
>  tests/functional/ppc/test_40p.py            |   2 +-
>  tests/functional/qemu_test/tesseract.py     |   2 +-
>  168 files changed, 507 insertions(+), 393 deletions(-)
>  create mode 100644 include/qom/compat-properties.h
>  create mode 100644 hw/arm/smmuv3-accel-stubs.c
>  create mode 100644 qom/compat-properties.c
>  create mode 100644 stubs/qom-compat-properties.c
>
> --
> 2.53.0
>
>
>
Re: [PULL v3 00/52] Misc HW patches for 2026-04-22
Posted by Philippe Mathieu-Daudé 1 month ago
On 24/4/26 14:07, Stefan Hajnoczi wrote:
> On Thu, Apr 23, 2026 at 5:30 PM Philippe Mathieu-Daudé 
> <philmd@linaro.org <mailto:philmd@linaro.org>> wrote:
> 
>     v3:
>        now than target-arm.next is merged, 3 more MAINTAINERS patches
>     v2:
>     Rebased on top of
>        Merge tag 's390x-20260423' of https://gitlab.com/cohuck/qemu
>     <https://gitlab.com/cohuck/qemu> into staging
>     to fix:
>        CONFLICT (content): Merge conflict in include/hw/core/boards.h
> 
>     The following changes since commit
>     e5182fd198e85cb650cdfed1839ee8aac86e0b7e:
> 
>        Merge tag 'pull-11.1-virtio-gpu-hotfixes-230426-1' of https://
>     gitlab.com/stsquad/qemu <https://gitlab.com/stsquad/qemu> into
>     staging (2026-04-23 13:52:08 -0400)
> 
>     are available in the Git repository at:
> 
>     https://github.com/philmd/qemu.git <https://github.com/philmd/
>     qemu.git> tags/hw-misc-20260422
> 
>     for you to fetch changes up to 5d6beec09b2e41a73b3a299870865ebb31572857:
> 
>        MAINTAINERS: Transfer CI maintenance to Pierrick (2026-04-23
>     23:26:39 +0200)
> 
>     ----------------------------------------------------------------
>     Misc HW patches
> 
>     - Build hw/avr/ as common unit files
>     - Header cleanups around 'cpu.h', 'qemu/audio.h' or duplicated lines
>     - Remove obsolete TPMIfClass::ppi_enabled field
>     - Cleanups around load/store API
>     - Restrict 'compat' properties API to system emulation
>     - Correct TPM PPCI ACPI for Windows guests on ARM Virt machine
>     - Simplify physical_memory_range_includes_clean()
>     - Avoid including CONFIG_DEVICES in hw/arm/smmuv3
>     - Initialize bus frequency in PPC e500 device tree blob
>     - More ATI VGA fixes
>     - Fix fuzzing issues on AVR power controller and SH4 MCU
>     - MAINTAINERS updates
> 
>     ----------------------------------------------------------------
> 
> 
> This pull request breaks run-tcg-tests-riscv64-linux-user:
> 
> $ ./configure --target-list=riscv64-linux-user && make check-tcg
> ...
>    BUILD   debian-all-test-cross
>    BUILD   riscv64-linux-user guest-tests
>    RUN     riscv64-linux-user guest-tests
>    TEST    semihosting on riscv64
>    SKIPPED semiconsole on riscv64 because MANUAL ONLY
>    TEST    catch-syscalls on riscv64
>    TEST    convd on riscv64
>    TEST    convs on riscv64
>    TEST    madds on riscv64
>    TEST    fnmsub on riscv64
>    TEST    late-attach on riscv64
>    TEST    follow-fork-mode on riscv64
>    TEST    munmap-pthread on riscv64
>    TEST    overflow on riscv64
>    TEST    prot-none on riscv64
>    TEST    segfault on riscv64
>    SKIPPED float_convs check on riscv64 because no reference
>    TEST    sha1 on riscv64
>    SKIPPED float_convd check on riscv64 because no reference
>    TEST    sha512 on riscv64
>    SKIPPED float_madds check on riscv64 because no reference
>    TEST    sigbus on riscv64
>    TEST    signals on riscv64
>    TEST    sigreturn-sigmask on riscv64
>    TEST    tb-link on riscv64
>    TEST    test-mmap (default) on riscv64
>    TEST    testthread on riscv64
>    TEST    threadcount on riscv64
>    TEST    vma-pthread on riscv64
>    TEST    linux-madvise on riscv64
>    TEST    linux-shmat-maps on riscv64
>    TEST    linux-shmat-null on riscv64
>    TEST    linux-sigrtminmax on riscv64
>    TEST    linux-test on riscv64
>    TEST    test-vma on riscv64
>    TEST    test-div on riscv64
>    TEST    noexec on riscv64
>    TEST    test-noc on riscv64
> make[1]: *** [Makefile:223: run-test-noc] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [/home/stefanha/qemu/tests/Makefile.include:68: run-tcg-tests- 
> riscv64-linux-user] Error 2

Interesting, this is the single test setting a QOM property on a
linux-user binary!

> Please send a v4 that resolves the test-noc failure. Thanks!

v4 ready but I'll wait current /staging is pushed as /master first.

Regards,

Phil.