qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 6a0e10: hw/s390/ccw-device: Convert to three-


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 6a0e10: hw/s390/ccw-device: Convert to three-phase reset
Date: Fri, 13 Sep 2024 11:05:00 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 6a0e10b76b68e2f412746a1d5ed7d6efee804864
      
https://github.com/qemu/qemu/commit/6a0e10b76b68e2f412746a1d5ed7d6efee804864
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/s390x/ccw-device.c

  Log Message:
  -----------
  hw/s390/ccw-device: Convert to three-phase reset

Convert the TYPE_CCW_DEVICE to three-phase reset. This is a
device class which is subclassed, so it needs to be three-phase
before we can convert the subclass.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-id: 20240830145812.1967042-2-peter.maydell@linaro.org


  Commit: 6affa00d6ebebf24485667fe146470b0d6feb90d
      
https://github.com/qemu/qemu/commit/6affa00d6ebebf24485667fe146470b0d6feb90d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h

  Log Message:
  -----------
  hw/s390/virtio-ccw: Convert to three-phase reset

Convert the virtio-ccw code to three-phase reset.  This allows us to
remove a call to device_class_set_parent_reset(), replacing it with
the three-phase equivalent resettable_class_set_parent_phases().
Removing all the device_class_set_parent_reset() uses will allow us
to remove some of the glue code that interworks between three-phase
and legacy reset.

This is a simple conversion, with no behavioural changes.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-3-peter.maydell@linaro.org


  Commit: cf7f61d13f28f32d0b14abb70ce1bd9e41623b2e
      
https://github.com/qemu/qemu/commit/cf7f61d13f28f32d0b14abb70ce1bd9e41623b2e
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M docs/devel/reset.rst
    M include/hw/resettable.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/sigp.c

  Log Message:
  -----------
  target/s390: Convert CPU to Resettable interface

Convert the s390 CPU to the Resettable interface.  This is slightly
more involved than the other CPU types were (see commits
9130cade5fc22..d66e64dd006df) because S390 has its own set of
different kinds of reset with different behaviours that it needs to
trigger.

We handle this by adding these reset types to the Resettable
ResetType enum.  Now instead of having an underlying implementation
of reset that is s390-specific and which might be called either
directly or via the DeviceClass::reset method, we can implement only
the Resettable hold phase method, and have the places that need to
trigger an s390-specific reset type do so by calling
resettable_reset().

The other option would have been to smuggle in the s390 reset
type via, for instance, a field in the CPU state that we set
in s390_do_cpu_initial_reset() etc and then examined in the
reset method, but doing it this way seems cleaner.

The motivation for this change is that this is the last caller
of the legacy device_class_set_parent_reset() function, and
removing that will let us clean up some glue code that we added
for the transition to three-phase reset.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-id: 20240830145812.1967042-4-peter.maydell@linaro.org


  Commit: 5313a0a41eedb5f5b0145657fb3aad516e5216f2
      
https://github.com/qemu/qemu/commit/5313a0a41eedb5f5b0145657fb3aad516e5216f2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/qdev.c
    M include/hw/qdev-core.h

  Log Message:
  -----------
  hw: Remove device_class_set_parent_reset()

There are no callers of device_class_set_parent_reset() left in the tree,
as they've all been converted to use three-phase reset and the
corresponding resettable_class_set_parent_phases() function.
Remove device_class_set_parent_reset().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-5-peter.maydell@linaro.org


  Commit: 349ecf61e8c9d5b4f21dab80b37733fe73be5cfe
      
https://github.com/qemu/qemu/commit/349ecf61e8c9d5b4f21dab80b37733fe73be5cfe
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M target/alpha/cpu.h
    M target/hppa/cpu.h

  Log Message:
  -----------
  target/alpha, hppa: Remove unused parent_reset fields

The Alpha and HPPA CPU class structs include a 'parent_reset'
field which is never used; delete them.

(These targets don't seem to implement reset at all; if they did they
should do it using the three-phase reset mechanism, which uses a
'ResettablePhases parent_phases' field instead of the old
'DeviceReset parent_reset' field.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240830145812.1967042-6-peter.maydell@linaro.org


  Commit: 134e0944f473c4d87a67f7e6ec70f0205a8e30c7
      
https://github.com/qemu/qemu/commit/134e0944f473c4d87a67f7e6ec70f0205a8e30c7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/qdev.c
    M include/hw/qdev-core.h
    A scripts/coccinelle/device-reset.cocci

  Log Message:
  -----------
  hw: Define new device_class_set_legacy_reset()

Define a device_class_set_legacy_reset() function which
sets the DeviceClass::reset field. This serves two purposes:
 * it makes it clearer to the person writing code that
   DeviceClass::reset is now legacy and they should look for
   the new alternative (which is Resettable)
 * it makes it easier to rename the reset field (which in turn
   makes it easier to find places that call it)

The Coccinelle script can be used to automatically convert code that
was doing an open-coded assignment to DeviceClass::reset to call
device_class_set_legacy_reset() instead.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-7-peter.maydell@linaro.org


  Commit: e3d0814368d00e7985c31edf5d0cfce45972d4be
      
https://github.com/qemu/qemu/commit/e3d0814368d00e7985c31edf5d0cfce45972d4be
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/acpi/erst.c
    M hw/acpi/piix4.c
    M hw/adc/aspeed_adc.c
    M hw/adc/max111x.c
    M hw/adc/stm32f2xx_adc.c
    M hw/adc/zynq-xadc.c
    M hw/arm/armsse.c
    M hw/arm/highbank.c
    M hw/arm/musicpal.c
    M hw/arm/pxa2xx.c
    M hw/arm/strongarm.c
    M hw/audio/ac97.c
    M hw/audio/cs4231.c
    M hw/audio/cs4231a.c
    M hw/audio/es1370.c
    M hw/audio/hda-codec.c
    M hw/audio/intel-hda.c
    M hw/audio/marvell_88w8618.c
    M hw/audio/pl041.c
    M hw/audio/via-ac97.c
    M hw/block/fdc-isa.c
    M hw/block/fdc-sysbus.c
    M hw/block/m25p80.c
    M hw/block/nand.c
    M hw/block/onenand.c
    M hw/block/pflash_cfi01.c
    M hw/block/pflash_cfi02.c
    M hw/block/swim.c
    M hw/char/avr_usart.c
    M hw/char/cmsdk-apb-uart.c
    M hw/char/digic-uart.c
    M hw/char/escc.c
    M hw/char/etraxfs_ser.c
    M hw/char/exynos4210_uart.c
    M hw/char/goldfish_tty.c
    M hw/char/grlib_apbuart.c
    M hw/char/ibex_uart.c
    M hw/char/imx_serial.c
    M hw/char/mcf_uart.c
    M hw/char/mchp_pfsoc_mmuart.c
    M hw/char/nrf51_uart.c
    M hw/char/pl011.c
    M hw/char/renesas_sci.c
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/char/sh_serial.c
    M hw/char/shakti_uart.c
    M hw/char/stm32f2xx_usart.c
    M hw/char/xilinx_uartlite.c
    M hw/core/or-irq.c
    M hw/core/qdev.c
    M hw/cxl/switch-mailbox-cci.c
    M hw/display/artist.c
    M hw/display/ati.c
    M hw/display/bcm2835_fb.c
    M hw/display/cg3.c
    M hw/display/dpcd.c
    M hw/display/exynos4210_fimd.c
    M hw/display/g364fb.c
    M hw/display/i2c-ddc.c
    M hw/display/jazz_led.c
    M hw/display/macfb.c
    M hw/display/qxl.c
    M hw/display/sii9022.c
    M hw/display/sm501.c
    M hw/display/tcx.c
    M hw/display/vga-isa.c
    M hw/display/vga-mmio.c
    M hw/display/vga-pci.c
    M hw/display/vmware_vga.c
    M hw/display/xlnx_dp.c
    M hw/dma/bcm2835_dma.c
    M hw/dma/i8257.c
    M hw/dma/pl080.c
    M hw/dma/pl330.c
    M hw/dma/rc4030.c
    M hw/dma/sparc32_dma.c
    M hw/dma/xilinx_axidma.c
    M hw/dma/xlnx-zdma.c
    M hw/dma/xlnx-zynq-devcfg.c
    M hw/dma/xlnx_csu_dma.c
    M hw/dma/xlnx_dpdma.c
    M hw/fsi/aspeed_apb2opb.c
    M hw/fsi/fsi-master.c
    M hw/fsi/fsi.c
    M hw/fsi/lbus.c
    M hw/gpio/aspeed_gpio.c
    M hw/gpio/bcm2835_gpio.c
    M hw/gpio/bcm2838_gpio.c
    M hw/gpio/gpio_key.c
    M hw/gpio/imx_gpio.c
    M hw/gpio/max7310.c
    M hw/gpio/mpc8xxx.c
    M hw/gpio/nrf51_gpio.c
    M hw/gpio/omap_gpio.c
    M hw/gpio/pca9552.c
    M hw/gpio/pca9554.c
    M hw/gpio/pcf8574.c
    M hw/gpio/sifive_gpio.c
    M hw/hyperv/hyperv.c
    M hw/hyperv/vmbus.c
    M hw/i2c/aspeed_i2c.c
    M hw/i2c/bcm2835_i2c.c
    M hw/i2c/exynos4210_i2c.c
    M hw/i2c/imx_i2c.c
    M hw/i2c/microbit_i2c.c
    M hw/i2c/mpc_i2c.c
    M hw/i2c/omap_i2c.c
    M hw/i2c/ppc4xx_i2c.c
    M hw/i2c/smbus_eeprom.c
    M hw/i386/amd_iommu.c
    M hw/i386/intel_iommu.c
    M hw/i386/kvm/i8254.c
    M hw/i386/kvm/i8259.c
    M hw/i386/kvm/ioapic.c
    M hw/i386/kvm/xen_overlay.c
    M hw/i386/port92.c
    M hw/i386/vapic.c
    M hw/i386/vmmouse.c
    M hw/i386/xen/xen_platform.c
    M hw/ide/ahci.c
    M hw/ide/cmd646.c
    M hw/ide/ich.c
    M hw/ide/isa.c
    M hw/ide/macio.c
    M hw/ide/microdrive.c
    M hw/ide/mmio.c
    M hw/ide/piix.c
    M hw/ide/sii3112.c
    M hw/ide/via.c
    M hw/input/adb-kbd.c
    M hw/input/adb-mouse.c
    M hw/input/lm832x.c
    M hw/input/pckbd.c
    M hw/intc/allwinner-a10-pic.c
    M hw/intc/apic_common.c
    M hw/intc/armv7m_nvic.c
    M hw/intc/aspeed_intc.c
    M hw/intc/aspeed_vic.c
    M hw/intc/bcm2835_ic.c
    M hw/intc/bcm2836_control.c
    M hw/intc/exynos4210_combiner.c
    M hw/intc/goldfish_pic.c
    M hw/intc/grlib_irqmp.c
    M hw/intc/heathrow_pic.c
    M hw/intc/i8259.c
    M hw/intc/imx_avic.c
    M hw/intc/imx_gpcv2.c
    M hw/intc/ioapic.c
    M hw/intc/loongarch_extioi.c
    M hw/intc/loongarch_pch_pic.c
    M hw/intc/m68k_irqc.c
    M hw/intc/omap_intc.c
    M hw/intc/openpic.c
    M hw/intc/openpic_kvm.c
    M hw/intc/pl190.c
    M hw/intc/ppc-uic.c
    M hw/intc/s390_flic.c
    M hw/intc/s390_flic_kvm.c
    M hw/intc/sifive_plic.c
    M hw/intc/slavio_intctl.c
    M hw/intc/xlnx-pmu-iomod-intc.c
    M hw/intc/xlnx-zynqmp-ipi.c
    M hw/isa/lpc_ich9.c
    M hw/isa/pc87312.c
    M hw/isa/piix.c
    M hw/isa/vt82c686.c
    M hw/m68k/mcf5206.c
    M hw/m68k/mcf_intc.c
    M hw/m68k/next-cube.c
    M hw/m68k/next-kbd.c
    M hw/mem/cxl_type3.c
    M hw/misc/a9scu.c
    M hw/misc/allwinner-cpucfg.c
    M hw/misc/allwinner-h3-ccu.c
    M hw/misc/allwinner-h3-dramc.c
    M hw/misc/allwinner-h3-sysctrl.c
    M hw/misc/allwinner-r40-ccu.c
    M hw/misc/allwinner-r40-dramc.c
    M hw/misc/allwinner-sid.c
    M hw/misc/allwinner-sramc.c
    M hw/misc/applesmc.c
    M hw/misc/arm_l2x0.c
    M hw/misc/arm_sysctl.c
    M hw/misc/armsse-cpu-pwrctrl.c
    M hw/misc/armsse-mhu.c
    M hw/misc/aspeed_hace.c
    M hw/misc/aspeed_i3c.c
    M hw/misc/aspeed_lpc.c
    M hw/misc/aspeed_peci.c
    M hw/misc/aspeed_sbc.c
    M hw/misc/aspeed_scu.c
    M hw/misc/aspeed_sdmc.c
    M hw/misc/aspeed_xdma.c
    M hw/misc/avr_power.c
    M hw/misc/bcm2835_cprman.c
    M hw/misc/bcm2835_mbox.c
    M hw/misc/bcm2835_mphi.c
    M hw/misc/bcm2835_powermgt.c
    M hw/misc/bcm2835_rng.c
    M hw/misc/bcm2835_thermal.c
    M hw/misc/eccmemctl.c
    M hw/misc/exynos4210_clk.c
    M hw/misc/exynos4210_pmu.c
    M hw/misc/exynos4210_rng.c
    M hw/misc/imx25_ccm.c
    M hw/misc/imx31_ccm.c
    M hw/misc/imx6_ccm.c
    M hw/misc/imx6_src.c
    M hw/misc/imx6ul_ccm.c
    M hw/misc/imx7_ccm.c
    M hw/misc/imx7_snvs.c
    M hw/misc/imx7_src.c
    M hw/misc/imx_rngc.c
    M hw/misc/iotkit-secctl.c
    M hw/misc/iotkit-sysctl.c
    M hw/misc/ivshmem.c
    M hw/misc/lasi.c
    M hw/misc/led.c
    M hw/misc/macio/cuda.c
    M hw/misc/macio/gpio.c
    M hw/misc/macio/mac_dbdma.c
    M hw/misc/macio/pmu.c
    M hw/misc/mips_cmgcr.c
    M hw/misc/mips_cpc.c
    M hw/misc/mips_itu.c
    M hw/misc/mps2-fpgaio.c
    M hw/misc/mps2-scc.c
    M hw/misc/msf2-sysreg.c
    M hw/misc/nrf51_rng.c
    M hw/misc/pci-testdev.c
    M hw/misc/sifive_e_aon.c
    M hw/misc/sifive_u_prci.c
    M hw/misc/slavio_misc.c
    M hw/misc/stm32f2xx_syscfg.c
    M hw/misc/stm32f4xx_exti.c
    M hw/misc/stm32f4xx_syscfg.c
    M hw/misc/tz-mpc.c
    M hw/misc/tz-msc.c
    M hw/misc/tz-ppc.c
    M hw/misc/virt_ctrl.c
    M hw/misc/xlnx-versal-cfu.c
    M hw/net/allwinner-sun8i-emac.c
    M hw/net/allwinner_emac.c
    M hw/net/cadence_gem.c
    M hw/net/can/can_kvaser_pci.c
    M hw/net/can/can_mioe3680_pci.c
    M hw/net/can/can_pcm3680_pci.c
    M hw/net/can/ctucan_pci.c
    M hw/net/can/xlnx-versal-canfd.c
    M hw/net/dp8393x.c
    M hw/net/etraxfs_eth.c
    M hw/net/fsl_etsec/etsec.c
    M hw/net/ftgmac100.c
    M hw/net/imx_fec.c
    M hw/net/lan9118.c
    M hw/net/lance.c
    M hw/net/lasi_i82596.c
    M hw/net/mcf_fec.c
    M hw/net/mipsnet.c
    M hw/net/msf2-emac.c
    M hw/net/npcm7xx_emc.c
    M hw/net/npcm_gmac.c
    M hw/net/opencores_eth.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker.c
    M hw/net/rtl8139.c
    M hw/net/smc91c111.c
    M hw/net/stellaris_enet.c
    M hw/net/sungem.c
    M hw/net/sunhme.c
    M hw/net/tulip.c
    M hw/net/vmxnet3.c
    M hw/net/xilinx_axienet.c
    M hw/net/xilinx_ethlite.c
    M hw/nvme/ctrl.c
    M hw/nvram/eeprom_at24c.c
    M hw/nvram/fw_cfg.c
    M hw/nvram/mac_nvram.c
    M hw/nvram/nrf51_nvm.c
    M hw/pci-bridge/cxl_downstream.c
    M hw/pci-bridge/cxl_upstream.c
    M hw/pci-bridge/i82801b11.c
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci-bridge/pci_expander_bridge.c
    M hw/pci-bridge/pcie_pci_bridge.c
    M hw/pci-bridge/simba.c
    M hw/pci-bridge/xio3130_downstream.c
    M hw/pci-bridge/xio3130_upstream.c
    M hw/pci-host/astro.c
    M hw/pci-host/designware.c
    M hw/pci-host/dino.c
    M hw/pci-host/gt64120.c
    M hw/pci-host/mv64361.c
    M hw/pci-host/ppc440_pcix.c
    M hw/pci-host/q35.c
    M hw/pci-host/sabre.c
    M hw/pci-host/versatile.c
    M hw/pci-host/xilinx-pcie.c
    M hw/ppc/pnv_psi.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/ppc4xx_sdram.c
    M hw/ppc/ppce500_spin.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_iommu.c
    M hw/ppc/spapr_pci.c
    M hw/ppc/spapr_vio.c
    M hw/remote/proxy.c
    M hw/rtc/allwinner-rtc.c
    M hw/rtc/aspeed_rtc.c
    M hw/rtc/ds1338.c
    M hw/rtc/exynos4210_rtc.c
    M hw/rtc/goldfish_rtc.c
    M hw/rtc/ls7a_rtc.c
    M hw/rtc/m48t59-isa.c
    M hw/rtc/m48t59.c
    M hw/rtc/xlnx-zynqmp-rtc.c
    M hw/s390x/event-facility.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/sclpquiesce.c
    M hw/scsi/esp-pci.c
    M hw/scsi/esp.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/megasas.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/vmw_pvscsi.c
    M hw/sd/allwinner-sdhost.c
    M hw/sd/aspeed_sdhci.c
    M hw/sd/bcm2835_sdhost.c
    M hw/sd/cadence_sdhci.c
    M hw/sd/npcm7xx_sdhci.c
    M hw/sd/pl181.c
    M hw/sd/pxa2xx_mmci.c
    M hw/sd/sd.c
    M hw/sd/sdhci.c
    M hw/sd/ssi-sd.c
    M hw/sensor/dps310.c
    M hw/sensor/emc141x.c
    M hw/sensor/lsm303dlhc_mag.c
    M hw/sparc/sun4m_iommu.c
    M hw/sparc64/sun4u_iommu.c
    M hw/ssi/aspeed_smc.c
    M hw/ssi/bcm2835_spi.c
    M hw/ssi/ibex_spi_host.c
    M hw/ssi/imx_spi.c
    M hw/ssi/mss-spi.c
    M hw/ssi/pl022.c
    M hw/ssi/pnv_spi.c
    M hw/ssi/sifive_spi.c
    M hw/ssi/stm32f2xx_spi.c
    M hw/ssi/xilinx_spi.c
    M hw/ssi/xilinx_spips.c
    M hw/ssi/xlnx-versal-ospi.c
    M hw/timer/a9gtimer.c
    M hw/timer/allwinner-a10-pit.c
    M hw/timer/arm_mptimer.c
    M hw/timer/armv7m_systick.c
    M hw/timer/aspeed_timer.c
    M hw/timer/avr_timer16.c
    M hw/timer/bcm2835_systmr.c
    M hw/timer/cmsdk-apb-dualtimer.c
    M hw/timer/cmsdk-apb-timer.c
    M hw/timer/digic-timer.c
    M hw/timer/exynos4210_mct.c
    M hw/timer/exynos4210_pwm.c
    M hw/timer/grlib_gptimer.c
    M hw/timer/hpet.c
    M hw/timer/i8254.c
    M hw/timer/ibex_timer.c
    M hw/timer/imx_epit.c
    M hw/timer/imx_gpt.c
    M hw/timer/nrf51_timer.c
    M hw/timer/renesas_cmt.c
    M hw/timer/renesas_tmr.c
    M hw/timer/sifive_pwm.c
    M hw/timer/slavio_timer.c
    M hw/timer/sse-counter.c
    M hw/timer/sse-timer.c
    M hw/timer/stm32f2xx_timer.c
    M hw/tpm/tpm_tis_i2c.c
    M hw/tpm/tpm_tis_isa.c
    M hw/tpm/tpm_tis_sysbus.c
    M hw/tricore/tricore_testdevice.c
    M hw/usb/hcd-dwc3.c
    M hw/usb/hcd-ehci-pci.c
    M hw/usb/hcd-ehci-sysbus.c
    M hw/usb/hcd-ohci-pci.c
    M hw/usb/hcd-ohci-sysbus.c
    M hw/usb/hcd-uhci.c
    M hw/usb/hcd-xhci-pci.c
    M hw/usb/hcd-xhci-sysbus.c
    M hw/usb/hcd-xhci.c
    M hw/usb/imx-usb-phy.c
    M hw/usb/tusb6010.c
    M hw/vfio/ap.c
    M hw/vfio/ccw.c
    M hw/vfio/pci.c
    M hw/virtio/virtio-mmio.c
    M hw/watchdog/cmsdk-apb-watchdog.c
    M hw/watchdog/sbsa_gwdt.c
    M hw/watchdog/wdt_aspeed.c
    M hw/watchdog/wdt_diag288.c
    M hw/watchdog/wdt_i6300esb.c
    M hw/watchdog/wdt_ib700.c
    M hw/watchdog/wdt_imx2.c

  Log Message:
  -----------
  hw: Use device_class_set_legacy_reset() instead of opencoding

Use device_class_set_legacy_reset() instead of opencoding an
assignment to DeviceClass::reset. This change was produced
with:
 spatch --macro-file scripts/cocci-macro-file.h \
    --sp-file scripts/coccinelle/device-reset.cocci \
    --keep-comments --smpl-spacing --in-place --dir hw

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-8-peter.maydell@linaro.org


  Commit: 1000872dde2fc089823df7394ca2c9690734091a
      
https://github.com/qemu/qemu/commit/1000872dde2fc089823df7394ca2c9690734091a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/qdev.c
    M include/hw/qdev-core.h

  Log Message:
  -----------
  hw: Rename DeviceClass::reset field to legacy_reset

Rename the DeviceClass::reset field to legacy_reset; this is helpful
both in flagging up that it's best not used in new code and in
making it easy to search for where it's being used still.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-9-peter.maydell@linaro.org


  Commit: b5fe9bf296ea5604a16f6dfb4777bfce56cd48c0
      
https://github.com/qemu/qemu/commit/b5fe9bf296ea5604a16f6dfb4777bfce56cd48c0
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  hw: Remove device_phases_reset()

Currently we have transitional machinery between legacy reset
and three phase reset that works in two directions:
 * if you invoke three phase reset on a device which has set
   the DeviceClass::legacy_reset method, we detect this in
   device_get_transitional_reset() and arrange that we call
   the legacy_reset method during the hold phase of reset
 * if you invoke legacy reset on a device which implements
   three phase reset, the default legacy_reset method is
   device_phases_reset(), which does a three-phase reset
   of the device

However, we have now eliminated all the places which could invoke
legacy reset on a device, which means that the function
device_phases_reset() is never called -- it serves only as the value
of DeviceClass::legacy_reset that indicates that the subclass never
overrode the legacy reset method.  So we can delete it, and instead
check for legacy_reset != NULL.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240830145812.1967042-10-peter.maydell@linaro.org


  Commit: 5fdb6cd27211eff4d5b607972ac1d1d02688e905
      
https://github.com/qemu/qemu/commit/5fdb6cd27211eff4d5b607972ac1d1d02688e905
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  hw/core/qdev: Simplify legacy_reset handling

Now that all devices which still implement a the legacy reset method
register it via device_class_legacy_reset(), we can simplify the
handling of these devices.  Instead of using the complex
Resettable::get_transitional_function machinery, we register a hold
phase method which invokes the DeviceClass::legacy_reset method.

This will allow us to remove all the get_transitional_function
handling from resettable.c.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240830145812.1967042-11-peter.maydell@linaro.org


  Commit: b313487566e23ce91dac427f0604556a888e9713
      
https://github.com/qemu/qemu/commit/b313487566e23ce91dac427f0604556a888e9713
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/core/resettable.c
    M include/hw/resettable.h

  Log Message:
  -----------
  hw/core/resettable: Remove transitional_function machinery

We used to need the transitional_function machinery to handle bus
classes and device classes which still used their legacy reset
handling.  We have now converted all bus classes to three phase
reset, and simplified the device class legacy reset so it is just an
adapting wrapper function around registration of a hold phase method.
There are therefore no more users of the transitional_function
machinery and we can remove it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20240830145812.1967042-12-peter.maydell@linaro.org


  Commit: 6a8703aecb152ef4324dc95273eca864b78b3837
      
https://github.com/qemu/qemu/commit/6a8703aecb152ef4324dc95273eca864b78b3837
  Author: Johannes Stoelp <johannes.stoelp@googlemail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M accel/kvm/kvm-all.c
    M accel/kvm/trace-events
    M include/sysemu/kvm.h
    M include/sysemu/kvm_int.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  kvm: Use 'unsigned long' for request argument in functions wrapping ioctl()

Change the data type of the ioctl _request_ argument from 'int' to
'unsigned long' for the various accel/kvm functions which are
essentially wrappers around the ioctl() syscall.

The correct type for ioctl()'s 'request' argument is confused:
 * POSIX defines the request argument as 'int'
 * glibc uses 'unsigned long' in the prototype in sys/ioctl.h
 * the glibc info documentation uses 'int'
 * the Linux manpage uses 'unsigned long'
 * the Linux implementation of the syscall uses 'unsigned int'

If we wrap ioctl() with another function which uses 'int' as the
type for the request argument, then requests with the 0x8000_0000
bit set will be sign-extended when the 'int' is cast to
'unsigned long' for the call to ioctl().

On x86_64 one such example is the KVM_IRQ_LINE_STATUS request.
Bit requests with the _IOC_READ direction bit set, will have the high
bit set.

Fortunately the Linux Kernel truncates the upper 32bit of the request
on 64bit machines (because it uses 'unsigned int', and see also Linus
Torvalds' comments in
  https://sourceware.org/bugzilla/show_bug.cgi?id=14362 )
so this doesn't cause active problems for us.  However it is more
consistent to follow the glibc ioctl() prototype when we define
functions that are essentially wrappers around ioctl().

This resolves a Coverity issue where it points out that in
kvm_get_xsave() we assign a value (KVM_GET_XSAVE or KVM_GET_XSAVE2)
to an 'int' variable which can't hold it without overflow.

Resolves: Coverity CID 1547759
Signed-off-by: Johannes Stoelp <johannes.stoelp@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20240815122747.3053871-1-peter.maydell@linaro.org
[PMM: Rebased patch, adjusted commit message, included note about
 Coverity fix, updated the type of the local var in kvm_get_xsave,
 updated the comment in the KVMState struct definition]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 81e3d93a9e3b3baa0e73e674ca3d1b93a672cc6d
      
https://github.com/qemu/qemu/commit/81e3d93a9e3b3baa0e73e674ca3d1b93a672cc6d
  Author: Danny Canter <danny_canter@apple.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/arm/virt.c
    M include/hw/boards.h

  Log Message:
  -----------
  hw/boards: Add hvf_get_physical_address_range to MachineClass

This addition will be necessary for some HVF related work to follow.
For HVF on ARM there exists a set of APIs in macOS 13 to be able to
adjust the IPA size for a given VM. This is useful as by default HVF
uses 36 bits as the IPA size, so to support guests with > 64GB of RAM
we'll need to reach for this.

To have all the info necessary to carry this out however, we need some
plumbing to be able to grab the memory map and compute the highest GPA
prior to creating the VM. This is almost exactly like what kvm_type is
used for on ARM today, and is also what this will be used for. We will
compute the highest GPA and find what IPA size we'd need to satisfy this,
and if it's valid (macOS today caps at 40b) we'll set this to be the IPA
size in coming patches. This new method is only needed (today at least)
on ARM, and obviously only for HVF/macOS, so admittedly it is much less
generic than kvm_type today, but it seemed a somewhat sane way to get
the information we need from the memmap at VM creation time.

Signed-off-by: Danny Canter <danny_canter@apple.com>
Message-id: 20240828111552.93482-2-danny_canter@apple.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: removed explicit setting of field to NULL on x86]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2c760670af5f013d99d50f627275a482fd491e3f
      
https://github.com/qemu/qemu/commit/2c760670af5f013d99d50f627275a482fd491e3f
  Author: Danny Canter <danny_canter@apple.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M accel/hvf/hvf-accel-ops.c
    M include/sysemu/hvf_int.h
    M target/arm/hvf/hvf.c
    M target/i386/hvf/hvf.c

  Log Message:
  -----------
  hvf: Split up hv_vm_create logic per arch

This is preliminary work to split up hv_vm_create
logic per platform so we can support creating VMs
with > 64GB of RAM on Apple Silicon machines. This
is done via ARM HVF's hv_vm_config_create() (and
other APIs that modify this config that will be
coming in future patches). This should have no
behavioral difference at all as hv_vm_config_create()
just assigns the same default values as if you just
passed NULL to the function.

Signed-off-by: Danny Canter <danny_canter@apple.com>
Message-id: 20240828111552.93482-3-danny_canter@apple.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d54ffa54fbe0691f8e953b867cbe65642efbdf67
      
https://github.com/qemu/qemu/commit/d54ffa54fbe0691f8e953b867cbe65642efbdf67
  Author: Danny Canter <danny_canter@apple.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M accel/hvf/hvf-accel-ops.c
    M hw/arm/virt.c
    M target/arm/hvf/hvf.c
    M target/arm/hvf_arm.h
    M target/arm/internals.h
    M target/arm/ptw.c

  Log Message:
  -----------
  hvf: arm: Implement and use hvf_get_physical_address_range

This patch's main focus is to use the previously added
hvf_get_physical_address_range to inform VM creation
about the IPA size we need for the VM, so we can extend
the default 36b IPA size and support VMs with 64+GB of
RAM. This is done by freezing the memory map, computing
the highest GPA and then (depending on if the platform
supports an IPA size that large) telling the kernel to
use a size >= for the VM. In pursuit of this a couple of
things related to how we handle the physical address range
we expose to guests were altered, but for an explanation of
what we were doing:

Today, to get the IPA size we were reading id_aa64mmfr0_el1's
PARange field from a newly made vcpu. Unfortunately, HVF just
returns the hosts PARange directly for the initial value and
not the IPA size that will actually back the VM, so we believe
we have much more address space than we actually do today it seems.

Starting in macOS 13.0 some APIs were introduced to be able to
query the maximum IPA size the kernel supports, and to set the IPA
size for a given VM. However, this still has a couple of issues
on < macOS 15. Up until macOS 15 (and if the hardware supported
it) the max IPA size was 39 bits which is not a valid PARange
value, so we can't clamp down what we advertise in the vcpu's
id_aa64mmfr0_el1 to our IPA size. Starting in macOS 15 however,
the maximum IPA size is 40 bits (if it's supported in the hardware
as well) which is also a valid PARange value so we can set our IPA
size to the maximum as well as clamp down the PARange we advertise
to the guest. This allows VMs with 64+ GB of RAM and should fix the
oddness of the PARange situation as well.

Signed-off-by: Danny Canter <danny_canter@apple.com>
Message-id: 20240828111552.93482-4-danny_canter@apple.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 676624d757abe0adcfa648ed3d4d44697997382f
      
https://github.com/qemu/qemu/commit/676624d757abe0adcfa648ed3d4d44697997382f
  Author: Alireza Sanaee <alireza.sanaee@huawei.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M target/arm/cpu-features.h
    M target/arm/cpu64.c
    M target/arm/tcg/cpu64.c

  Log Message:
  -----------
  target/arm/tcg: refine cache descriptions with a wrapper

This patch allows for easier manipulation of the cache description
register, CCSIDR. Which is helpful for testing as well. Currently,
numbers get hard-coded and might be prone to errors.

Therefore, this patch adds a wrapper for different types of CPUs
available in tcg to decribe caches. One function `make_ccsidr` supports
two cases by carrying a parameter as FORMAT that can be LEGACY and
CCIDX which determines the specification of the register.

For CCSIDR register, 32 bit version follows specification [1].
Conversely, 64 bit version follows specification [2].

[1] B4.1.19, ARM Architecture Reference Manual ARMv7-A and ARMv7-R
edition, https://developer.arm.com/documentation/ddi0406
[2] D23.2.29, ARM Architecture Reference Manual for A-profile Architecture,
https://developer.arm.com/documentation/ddi0487/latest/

Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240903144550.280-1-alireza.sanaee@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2215e297b9af4a42fefd1c014f7a3048995cea97
      
https://github.com/qemu/qemu/commit/2215e297b9af4a42fefd1c014f7a3048995cea97
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Fix interrupt level

The interrupt level should be 0 or 1. The existing code was using the
interrupt flags to determine the level. In the only machine currently
supported (xlnx-versal-virt), the GICv3 was masking off all bits except
bit 0 when applying it, resulting in the IRQ never being delivered.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Reviewed-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Message-id: 20240827034927.66659-2-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: cd1e485facbeae99452a534c5d26e48bb69d7ecd
      
https://github.com/qemu/qemu/commit/cd1e485facbeae99452a534c5d26e48bb69d7ecd
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Fix CAN FD flag check

When checking the QEMU_CAN_FRMF_TYPE_FD flag, we need to ignore other
potentially set flags. Before this change, received CAN FD frames from
SocketCAN weren't being recognized as CAN FD.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240827034927.66659-3-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 77dcbf16d971596261ddaa910f57ccceb48227b5
      
https://github.com/qemu/qemu/commit/77dcbf16d971596261ddaa910f57ccceb48227b5
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Translate CAN ID registers

Previously the emulated CAN ID register was being set to the exact same
value stored in qemu_can_frame.can_id. This doesn't work correctly
because the Xilinx IP core uses a different bit arrangement than
qemu_can_frame for all of its ID registers. Correct this problem for
both RX and TX, including RX filtering.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Message-id: 20240827034927.66659-4-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7f34aae641ce1a2654c1a950aec4eab6f371a55d
      
https://github.com/qemu/qemu/commit/7f34aae641ce1a2654c1a950aec4eab6f371a55d
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Handle flags correctly

Add support for QEMU_CAN_FRMF_ESI and QEMU_CAN_FRMF_BRS flags, and
ensure frame->flags is always initialized to 0.

Note that the Xilinx IP core doesn't allow manually setting the ESI bit
during transmits, so it's only implemented for the receive case.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Message-id: 20240827034927.66659-5-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: be243e9ddb8f0ba149a1c51faee035c303be7eeb
      
https://github.com/qemu/qemu/commit/be243e9ddb8f0ba149a1c51faee035c303be7eeb
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Fix byte ordering

The endianness of the CAN data was backwards in each group of 4 bytes.
For example, the following data:

00 11 22 33 44 55 66 77

was showing up like this:

33 22 11 00 77 66 55 44

Fix both the TX and RX code to put the data in the correct order.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Message-id: 20240827034927.66659-6-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 12d60ca09e5150b785d067566f49e330c68b2985
      
https://github.com/qemu/qemu/commit/12d60ca09e5150b785d067566f49e330c68b2985
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Simplify DLC conversions

Use QEMU's helper functions can_dlc2len() and can_len2dlc() for
translating between the raw DLC value and the SocketCAN length value.
This also has the side effect of correctly handling received CAN FD
frames with a DLC of 0-8, which was broken previously.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240827034927.66659-7-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d4b668b799c5ce7ab7cc500707edff8af01ecf68
      
https://github.com/qemu/qemu/commit/d4b668b799c5ce7ab7cc500707edff8af01ecf68
  Author: Doug Brown <doug@schmorgal.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/net/can/xlnx-versal-canfd.c

  Log Message:
  -----------
  hw/net/can/xlnx-versal-canfd: Fix FIFO issues

The read index should not be changed when storing a new message into the
RX or TX FIFO. Changing it at this point will cause the reader to get
out of sync. The wrapping of the read index is already handled by the
pre-write functions for the FIFO status registers anyway.

Additionally, the calculation for wrapping the store index was off by
one, which caused new messages to be written to the wrong location in
the FIFO. This caused incorrect messages to be delivered.

Signed-off-by: Doug Brown <doug@schmorgal.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240827034927.66659-8-doug@schmorgal.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c009d715721861984c4987bcc78b7ee183e86d75
      
https://github.com/qemu/qemu/commit/c009d715721861984c4987bcc78b7ee183e86d75
  Author: Francisco Iglesias <francisco.iglesias@amd.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Remove Vikram Garhwal as maintainer

Vikram's email is bouncing, pause his maintainership until a new email is
provided.

Signed-off-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240906181645.40359-2-francisco.iglesias@amd.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: dbd1fbed1a0810862fd63b367504f3f01ad7dd6c
      
https://github.com/qemu/qemu/commit/dbd1fbed1a0810862fd63b367504f3f01ad7dd6c
  Author: Francisco Iglesias <francisco.iglesias@amd.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Update Xilinx Versal OSPI maintainer's email address

Update my xilinx.com email address to my amd.com address.

Signed-off-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240906181645.40359-3-francisco.iglesias@amd.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 02c5e065e6548b2961c47d6614492075fd4ad8f6
      
https://github.com/qemu/qemu/commit/02c5e065e6548b2961c47d6614492075fd4ad8f6
  Author: Francisco Iglesias <francisco.iglesias@amd.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add my-self as CAN maintainer

Signed-off-by: Francisco Iglesias <francisco.iglesias@amd.com>
Message-id: 20240906181645.40359-4-francisco.iglesias@amd.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 110684c9a69a02cbabfbddcd3afa921826ad565c
      
https://github.com/qemu/qemu/commit/110684c9a69a02cbabfbddcd3afa921826ad565c
  Author: Jan Klötzke <jan.kloetzke@kernkonzept.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M hw/intc/arm_gic.c

  Log Message:
  -----------
  hw/intc/arm_gic: fix spurious level triggered interrupts

On GICv2 and later, level triggered interrupts are pending when either
the interrupt line is asserted or the interrupt was made pending by a
GICD_ISPENDRn write. Making a level triggered interrupt pending by
software persists until either the interrupt is acknowledged or cleared
by writing GICD_ICPENDRn. As long as the interrupt line is asserted,
the interrupt is pending in any case.

This logic is transparently implemented in gic_test_pending() for
GICv1 and GICv2.  The function combines the "pending" irq_state flag
(used for edge triggered interrupts and software requests) and the
line status (tracked in the "level" field).  However, we also
incorrectly set the pending flag on a guest write to GICD_ISENABLERn
if the line of a level triggered interrupt was asserted.  This keeps
the interrupt pending even if the line is de-asserted after some
time.

This incorrect logic is a leftover of the initial 11MPCore GIC
implementation.  That handles things slightly differently to the
architected GICv1 and GICv2.  The 11MPCore TRM does not give a lot of
detail on the corner cases of its GIC's behaviour, and historically
we have not wanted to investigate exactly what it does in reality, so
QEMU's GIC model takes the approach of "retain our existing behaviour
for 11MPCore, and implement the architectural standard for later GIC
revisions".

On that basis, commit 8d999995e45c10 in 2013 is where we added the
"level-triggered interrupt with the line asserted" handling to
gic_test_pending(), and we deliberately kept the old behaviour of
gic_test_pending() for REV_11MPCORE.  That commit should have added
the "only if 11MPCore" condition to the setting of the pending bit on
writes to GICD_ISENABLERn, but forgot it.

Add the missing "if REV_11MPCORE" condition, so that our behaviour
on GICv1 and GICv2 matches the GIC architecture requirements.

Cc: qemu-stable@nongnu.org
Fixes: 8d999995e45c10 ("arm_gic: Fix GIC pending behavior")
Signed-off-by: Jan Klötzke <jan.kloetzke@kernkonzept.com>
Message-id: 20240911114826.3558302-1-jan.kloetzke@kernkonzept.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: expanded comment a little and converted to coding-style form;
 expanded commit message with the historical backstory]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 28ae3179fc52d2e4d870b635c4a412aab99759e7
      
https://github.com/qemu/qemu/commit/28ae3179fc52d2e4d870b635c4a412aab99759e7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MAINTAINERS
    M accel/hvf/hvf-accel-ops.c
    M accel/kvm/kvm-all.c
    M accel/kvm/trace-events
    M docs/devel/reset.rst
    M hw/acpi/erst.c
    M hw/acpi/piix4.c
    M hw/adc/aspeed_adc.c
    M hw/adc/max111x.c
    M hw/adc/stm32f2xx_adc.c
    M hw/adc/zynq-xadc.c
    M hw/arm/armsse.c
    M hw/arm/highbank.c
    M hw/arm/musicpal.c
    M hw/arm/pxa2xx.c
    M hw/arm/strongarm.c
    M hw/arm/virt.c
    M hw/audio/ac97.c
    M hw/audio/cs4231.c
    M hw/audio/cs4231a.c
    M hw/audio/es1370.c
    M hw/audio/hda-codec.c
    M hw/audio/intel-hda.c
    M hw/audio/marvell_88w8618.c
    M hw/audio/pl041.c
    M hw/audio/via-ac97.c
    M hw/block/fdc-isa.c
    M hw/block/fdc-sysbus.c
    M hw/block/m25p80.c
    M hw/block/nand.c
    M hw/block/onenand.c
    M hw/block/pflash_cfi01.c
    M hw/block/pflash_cfi02.c
    M hw/block/swim.c
    M hw/char/avr_usart.c
    M hw/char/cmsdk-apb-uart.c
    M hw/char/digic-uart.c
    M hw/char/escc.c
    M hw/char/etraxfs_ser.c
    M hw/char/exynos4210_uart.c
    M hw/char/goldfish_tty.c
    M hw/char/grlib_apbuart.c
    M hw/char/ibex_uart.c
    M hw/char/imx_serial.c
    M hw/char/mcf_uart.c
    M hw/char/mchp_pfsoc_mmuart.c
    M hw/char/nrf51_uart.c
    M hw/char/pl011.c
    M hw/char/renesas_sci.c
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/char/sh_serial.c
    M hw/char/shakti_uart.c
    M hw/char/stm32f2xx_usart.c
    M hw/char/xilinx_uartlite.c
    M hw/core/or-irq.c
    M hw/core/qdev.c
    M hw/core/resettable.c
    M hw/cxl/switch-mailbox-cci.c
    M hw/display/artist.c
    M hw/display/ati.c
    M hw/display/bcm2835_fb.c
    M hw/display/cg3.c
    M hw/display/dpcd.c
    M hw/display/exynos4210_fimd.c
    M hw/display/g364fb.c
    M hw/display/i2c-ddc.c
    M hw/display/jazz_led.c
    M hw/display/macfb.c
    M hw/display/qxl.c
    M hw/display/sii9022.c
    M hw/display/sm501.c
    M hw/display/tcx.c
    M hw/display/vga-isa.c
    M hw/display/vga-mmio.c
    M hw/display/vga-pci.c
    M hw/display/vmware_vga.c
    M hw/display/xlnx_dp.c
    M hw/dma/bcm2835_dma.c
    M hw/dma/i8257.c
    M hw/dma/pl080.c
    M hw/dma/pl330.c
    M hw/dma/rc4030.c
    M hw/dma/sparc32_dma.c
    M hw/dma/xilinx_axidma.c
    M hw/dma/xlnx-zdma.c
    M hw/dma/xlnx-zynq-devcfg.c
    M hw/dma/xlnx_csu_dma.c
    M hw/dma/xlnx_dpdma.c
    M hw/fsi/aspeed_apb2opb.c
    M hw/fsi/fsi-master.c
    M hw/fsi/fsi.c
    M hw/fsi/lbus.c
    M hw/gpio/aspeed_gpio.c
    M hw/gpio/bcm2835_gpio.c
    M hw/gpio/bcm2838_gpio.c
    M hw/gpio/gpio_key.c
    M hw/gpio/imx_gpio.c
    M hw/gpio/max7310.c
    M hw/gpio/mpc8xxx.c
    M hw/gpio/nrf51_gpio.c
    M hw/gpio/omap_gpio.c
    M hw/gpio/pca9552.c
    M hw/gpio/pca9554.c
    M hw/gpio/pcf8574.c
    M hw/gpio/sifive_gpio.c
    M hw/hyperv/hyperv.c
    M hw/hyperv/vmbus.c
    M hw/i2c/aspeed_i2c.c
    M hw/i2c/bcm2835_i2c.c
    M hw/i2c/exynos4210_i2c.c
    M hw/i2c/imx_i2c.c
    M hw/i2c/microbit_i2c.c
    M hw/i2c/mpc_i2c.c
    M hw/i2c/omap_i2c.c
    M hw/i2c/ppc4xx_i2c.c
    M hw/i2c/smbus_eeprom.c
    M hw/i386/amd_iommu.c
    M hw/i386/intel_iommu.c
    M hw/i386/kvm/i8254.c
    M hw/i386/kvm/i8259.c
    M hw/i386/kvm/ioapic.c
    M hw/i386/kvm/xen_overlay.c
    M hw/i386/port92.c
    M hw/i386/vapic.c
    M hw/i386/vmmouse.c
    M hw/i386/xen/xen_platform.c
    M hw/ide/ahci.c
    M hw/ide/cmd646.c
    M hw/ide/ich.c
    M hw/ide/isa.c
    M hw/ide/macio.c
    M hw/ide/microdrive.c
    M hw/ide/mmio.c
    M hw/ide/piix.c
    M hw/ide/sii3112.c
    M hw/ide/via.c
    M hw/input/adb-kbd.c
    M hw/input/adb-mouse.c
    M hw/input/lm832x.c
    M hw/input/pckbd.c
    M hw/intc/allwinner-a10-pic.c
    M hw/intc/apic_common.c
    M hw/intc/arm_gic.c
    M hw/intc/armv7m_nvic.c
    M hw/intc/aspeed_intc.c
    M hw/intc/aspeed_vic.c
    M hw/intc/bcm2835_ic.c
    M hw/intc/bcm2836_control.c
    M hw/intc/exynos4210_combiner.c
    M hw/intc/goldfish_pic.c
    M hw/intc/grlib_irqmp.c
    M hw/intc/heathrow_pic.c
    M hw/intc/i8259.c
    M hw/intc/imx_avic.c
    M hw/intc/imx_gpcv2.c
    M hw/intc/ioapic.c
    M hw/intc/loongarch_extioi.c
    M hw/intc/loongarch_pch_pic.c
    M hw/intc/m68k_irqc.c
    M hw/intc/omap_intc.c
    M hw/intc/openpic.c
    M hw/intc/openpic_kvm.c
    M hw/intc/pl190.c
    M hw/intc/ppc-uic.c
    M hw/intc/s390_flic.c
    M hw/intc/s390_flic_kvm.c
    M hw/intc/sifive_plic.c
    M hw/intc/slavio_intctl.c
    M hw/intc/xlnx-pmu-iomod-intc.c
    M hw/intc/xlnx-zynqmp-ipi.c
    M hw/isa/lpc_ich9.c
    M hw/isa/pc87312.c
    M hw/isa/piix.c
    M hw/isa/vt82c686.c
    M hw/m68k/mcf5206.c
    M hw/m68k/mcf_intc.c
    M hw/m68k/next-cube.c
    M hw/m68k/next-kbd.c
    M hw/mem/cxl_type3.c
    M hw/misc/a9scu.c
    M hw/misc/allwinner-cpucfg.c
    M hw/misc/allwinner-h3-ccu.c
    M hw/misc/allwinner-h3-dramc.c
    M hw/misc/allwinner-h3-sysctrl.c
    M hw/misc/allwinner-r40-ccu.c
    M hw/misc/allwinner-r40-dramc.c
    M hw/misc/allwinner-sid.c
    M hw/misc/allwinner-sramc.c
    M hw/misc/applesmc.c
    M hw/misc/arm_l2x0.c
    M hw/misc/arm_sysctl.c
    M hw/misc/armsse-cpu-pwrctrl.c
    M hw/misc/armsse-mhu.c
    M hw/misc/aspeed_hace.c
    M hw/misc/aspeed_i3c.c
    M hw/misc/aspeed_lpc.c
    M hw/misc/aspeed_peci.c
    M hw/misc/aspeed_sbc.c
    M hw/misc/aspeed_scu.c
    M hw/misc/aspeed_sdmc.c
    M hw/misc/aspeed_xdma.c
    M hw/misc/avr_power.c
    M hw/misc/bcm2835_cprman.c
    M hw/misc/bcm2835_mbox.c
    M hw/misc/bcm2835_mphi.c
    M hw/misc/bcm2835_powermgt.c
    M hw/misc/bcm2835_rng.c
    M hw/misc/bcm2835_thermal.c
    M hw/misc/eccmemctl.c
    M hw/misc/exynos4210_clk.c
    M hw/misc/exynos4210_pmu.c
    M hw/misc/exynos4210_rng.c
    M hw/misc/imx25_ccm.c
    M hw/misc/imx31_ccm.c
    M hw/misc/imx6_ccm.c
    M hw/misc/imx6_src.c
    M hw/misc/imx6ul_ccm.c
    M hw/misc/imx7_ccm.c
    M hw/misc/imx7_snvs.c
    M hw/misc/imx7_src.c
    M hw/misc/imx_rngc.c
    M hw/misc/iotkit-secctl.c
    M hw/misc/iotkit-sysctl.c
    M hw/misc/ivshmem.c
    M hw/misc/lasi.c
    M hw/misc/led.c
    M hw/misc/macio/cuda.c
    M hw/misc/macio/gpio.c
    M hw/misc/macio/mac_dbdma.c
    M hw/misc/macio/pmu.c
    M hw/misc/mips_cmgcr.c
    M hw/misc/mips_cpc.c
    M hw/misc/mips_itu.c
    M hw/misc/mps2-fpgaio.c
    M hw/misc/mps2-scc.c
    M hw/misc/msf2-sysreg.c
    M hw/misc/nrf51_rng.c
    M hw/misc/pci-testdev.c
    M hw/misc/sifive_e_aon.c
    M hw/misc/sifive_u_prci.c
    M hw/misc/slavio_misc.c
    M hw/misc/stm32f2xx_syscfg.c
    M hw/misc/stm32f4xx_exti.c
    M hw/misc/stm32f4xx_syscfg.c
    M hw/misc/tz-mpc.c
    M hw/misc/tz-msc.c
    M hw/misc/tz-ppc.c
    M hw/misc/virt_ctrl.c
    M hw/misc/xlnx-versal-cfu.c
    M hw/net/allwinner-sun8i-emac.c
    M hw/net/allwinner_emac.c
    M hw/net/cadence_gem.c
    M hw/net/can/can_kvaser_pci.c
    M hw/net/can/can_mioe3680_pci.c
    M hw/net/can/can_pcm3680_pci.c
    M hw/net/can/ctucan_pci.c
    M hw/net/can/xlnx-versal-canfd.c
    M hw/net/dp8393x.c
    M hw/net/etraxfs_eth.c
    M hw/net/fsl_etsec/etsec.c
    M hw/net/ftgmac100.c
    M hw/net/imx_fec.c
    M hw/net/lan9118.c
    M hw/net/lance.c
    M hw/net/lasi_i82596.c
    M hw/net/mcf_fec.c
    M hw/net/mipsnet.c
    M hw/net/msf2-emac.c
    M hw/net/npcm7xx_emc.c
    M hw/net/npcm_gmac.c
    M hw/net/opencores_eth.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker.c
    M hw/net/rtl8139.c
    M hw/net/smc91c111.c
    M hw/net/stellaris_enet.c
    M hw/net/sungem.c
    M hw/net/sunhme.c
    M hw/net/tulip.c
    M hw/net/vmxnet3.c
    M hw/net/xilinx_axienet.c
    M hw/net/xilinx_ethlite.c
    M hw/nvme/ctrl.c
    M hw/nvram/eeprom_at24c.c
    M hw/nvram/fw_cfg.c
    M hw/nvram/mac_nvram.c
    M hw/nvram/nrf51_nvm.c
    M hw/pci-bridge/cxl_downstream.c
    M hw/pci-bridge/cxl_upstream.c
    M hw/pci-bridge/i82801b11.c
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci-bridge/pci_expander_bridge.c
    M hw/pci-bridge/pcie_pci_bridge.c
    M hw/pci-bridge/simba.c
    M hw/pci-bridge/xio3130_downstream.c
    M hw/pci-bridge/xio3130_upstream.c
    M hw/pci-host/astro.c
    M hw/pci-host/designware.c
    M hw/pci-host/dino.c
    M hw/pci-host/gt64120.c
    M hw/pci-host/mv64361.c
    M hw/pci-host/ppc440_pcix.c
    M hw/pci-host/q35.c
    M hw/pci-host/sabre.c
    M hw/pci-host/versatile.c
    M hw/pci-host/xilinx-pcie.c
    M hw/ppc/pnv_psi.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/ppc4xx_sdram.c
    M hw/ppc/ppce500_spin.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_iommu.c
    M hw/ppc/spapr_pci.c
    M hw/ppc/spapr_vio.c
    M hw/remote/proxy.c
    M hw/rtc/allwinner-rtc.c
    M hw/rtc/aspeed_rtc.c
    M hw/rtc/ds1338.c
    M hw/rtc/exynos4210_rtc.c
    M hw/rtc/goldfish_rtc.c
    M hw/rtc/ls7a_rtc.c
    M hw/rtc/m48t59-isa.c
    M hw/rtc/m48t59.c
    M hw/rtc/xlnx-zynqmp-rtc.c
    M hw/s390x/ccw-device.c
    M hw/s390x/event-facility.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/sclpquiesce.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h
    M hw/scsi/esp-pci.c
    M hw/scsi/esp.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/megasas.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/vmw_pvscsi.c
    M hw/sd/allwinner-sdhost.c
    M hw/sd/aspeed_sdhci.c
    M hw/sd/bcm2835_sdhost.c
    M hw/sd/cadence_sdhci.c
    M hw/sd/npcm7xx_sdhci.c
    M hw/sd/pl181.c
    M hw/sd/pxa2xx_mmci.c
    M hw/sd/sd.c
    M hw/sd/sdhci.c
    M hw/sd/ssi-sd.c
    M hw/sensor/dps310.c
    M hw/sensor/emc141x.c
    M hw/sensor/lsm303dlhc_mag.c
    M hw/sparc/sun4m_iommu.c
    M hw/sparc64/sun4u_iommu.c
    M hw/ssi/aspeed_smc.c
    M hw/ssi/bcm2835_spi.c
    M hw/ssi/ibex_spi_host.c
    M hw/ssi/imx_spi.c
    M hw/ssi/mss-spi.c
    M hw/ssi/pl022.c
    M hw/ssi/pnv_spi.c
    M hw/ssi/sifive_spi.c
    M hw/ssi/stm32f2xx_spi.c
    M hw/ssi/xilinx_spi.c
    M hw/ssi/xilinx_spips.c
    M hw/ssi/xlnx-versal-ospi.c
    M hw/timer/a9gtimer.c
    M hw/timer/allwinner-a10-pit.c
    M hw/timer/arm_mptimer.c
    M hw/timer/armv7m_systick.c
    M hw/timer/aspeed_timer.c
    M hw/timer/avr_timer16.c
    M hw/timer/bcm2835_systmr.c
    M hw/timer/cmsdk-apb-dualtimer.c
    M hw/timer/cmsdk-apb-timer.c
    M hw/timer/digic-timer.c
    M hw/timer/exynos4210_mct.c
    M hw/timer/exynos4210_pwm.c
    M hw/timer/grlib_gptimer.c
    M hw/timer/hpet.c
    M hw/timer/i8254.c
    M hw/timer/ibex_timer.c
    M hw/timer/imx_epit.c
    M hw/timer/imx_gpt.c
    M hw/timer/nrf51_timer.c
    M hw/timer/renesas_cmt.c
    M hw/timer/renesas_tmr.c
    M hw/timer/sifive_pwm.c
    M hw/timer/slavio_timer.c
    M hw/timer/sse-counter.c
    M hw/timer/sse-timer.c
    M hw/timer/stm32f2xx_timer.c
    M hw/tpm/tpm_tis_i2c.c
    M hw/tpm/tpm_tis_isa.c
    M hw/tpm/tpm_tis_sysbus.c
    M hw/tricore/tricore_testdevice.c
    M hw/usb/hcd-dwc3.c
    M hw/usb/hcd-ehci-pci.c
    M hw/usb/hcd-ehci-sysbus.c
    M hw/usb/hcd-ohci-pci.c
    M hw/usb/hcd-ohci-sysbus.c
    M hw/usb/hcd-uhci.c
    M hw/usb/hcd-xhci-pci.c
    M hw/usb/hcd-xhci-sysbus.c
    M hw/usb/hcd-xhci.c
    M hw/usb/imx-usb-phy.c
    M hw/usb/tusb6010.c
    M hw/vfio/ap.c
    M hw/vfio/ccw.c
    M hw/vfio/pci.c
    M hw/virtio/virtio-mmio.c
    M hw/watchdog/cmsdk-apb-watchdog.c
    M hw/watchdog/sbsa_gwdt.c
    M hw/watchdog/wdt_aspeed.c
    M hw/watchdog/wdt_diag288.c
    M hw/watchdog/wdt_i6300esb.c
    M hw/watchdog/wdt_ib700.c
    M hw/watchdog/wdt_imx2.c
    M include/hw/boards.h
    M include/hw/qdev-core.h
    M include/hw/resettable.h
    M include/sysemu/hvf_int.h
    M include/sysemu/kvm.h
    M include/sysemu/kvm_int.h
    A scripts/coccinelle/device-reset.cocci
    M target/alpha/cpu.h
    M target/arm/cpu-features.h
    M target/arm/cpu64.c
    M target/arm/hvf/hvf.c
    M target/arm/hvf_arm.h
    M target/arm/internals.h
    M target/arm/ptw.c
    M target/arm/tcg/cpu64.c
    M target/hppa/cpu.h
    M target/i386/hvf/hvf.c
    M target/i386/kvm/kvm.c
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/sigp.c

  Log Message:
  -----------
  Merge tag 'pull-target-arm-20240913' of 
https://git.linaro.org/people/pmaydell/qemu-arm into staging

target-arm queue:
 * s390: convert s390 virtio-ccw and CPU to three-phase reset
 * reset: remove now-unused device_class_set_parent_reset()
 * reset: introduce device_class_set_legacy_reset()
 * reset: remove unneeded transitional machinery
 * kvm: Use 'unsigned long' for request argument in functions wrapping ioctl()
 * hvf: arm: Implement and use hvf_get_physical_address_range
   so VMs can have larger-than-36-bit IPA spaces when the host
   supports this
 * target/arm/tcg: refine cache descriptions with a wrapper
 * hw/net/can/xlnx-versal-canfd: fix various bugs
 * MAINTAINERS: update versal, CAN maintainer entries
 * hw/intc/arm_gic: fix spurious level triggered interrupts

# -----BEGIN PGP SIGNATURE-----
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmbkVokZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3pR5D/0ZJzJi7C0HIa4KYuBkcpZQ
# M3iUa1uiZoCniXlWuKFt2rUBrmhbW30YHw5gQjnxoUO4VVqREkFi3e5nzUKRQmvP
# FRm8dnuC36qwQJFhm+rQqUb8/AyqrVFnIaHhn7dBKLwRFm9+kbZ0v9x1Eq1DZk3S
# mijBQRiOjrj+FRkmyNJLhylGpm+p9VRdnBjmUtN2Yw+2fPkHmUURRSUvhwCK4BB5
# AvKgMC0EIIsLJKLfrWzk/EsYC8ogrGitISzFt8iWLAqxuxtuhv1StstleD4mZMK8
# gH+ZH5tsls2IiTIKkHfcbUcA55efDrQHGDat7n1Q0EWqOjET0soES+GpS0Jj6IXK
# uOnsDZ7MLFU/SbpckicLQ/JwNi3HiIfQgBVB2aJZ+cg8CGqaQCI5ZvWs7XFpUgkb
# naA4IR5mdNgXJm7ttBKbWarPNcmdODqa/5YDjXdyHmMx3JD994k1y5LIi3o69TgI
# rgHzU8ChZqaBDEvNa5KGtadQPnaSBP15Yqbp5rn2knVRKjDdyCdB94aWO5tZkmaO
# ARFmNk6h5bhwXdXl2Hu67RS2Kd0/fHMFWsxyHAX4NYT+Vq+ZTjLdaPzwFdfA0yAz
# wXWn0EAeYQ5M2xOPfDM/JYSc1THSzhpwy/CBrRjrCRZMDE+bx9BRC7pUXwquE8xF
# CW1NUxkvZikQeiMzgEBbTA==
# =u6u8
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 13 Sep 2024 16:13:13 BST
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[ultimate]
# gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20240913' of 
https://git.linaro.org/people/pmaydell/qemu-arm: (27 commits)
  hw/intc/arm_gic: fix spurious level triggered interrupts
  MAINTAINERS: Add my-self as CAN maintainer
  MAINTAINERS: Update Xilinx Versal OSPI maintainer's email address
  MAINTAINERS: Remove Vikram Garhwal as maintainer
  hw/net/can/xlnx-versal-canfd: Fix FIFO issues
  hw/net/can/xlnx-versal-canfd: Simplify DLC conversions
  hw/net/can/xlnx-versal-canfd: Fix byte ordering
  hw/net/can/xlnx-versal-canfd: Handle flags correctly
  hw/net/can/xlnx-versal-canfd: Translate CAN ID registers
  hw/net/can/xlnx-versal-canfd: Fix CAN FD flag check
  hw/net/can/xlnx-versal-canfd: Fix interrupt level
  target/arm/tcg: refine cache descriptions with a wrapper
  hvf: arm: Implement and use hvf_get_physical_address_range
  hvf: Split up hv_vm_create logic per arch
  hw/boards: Add hvf_get_physical_address_range to MachineClass
  kvm: Use 'unsigned long' for request argument in functions wrapping ioctl()
  hw/core/resettable: Remove transitional_function machinery
  hw/core/qdev: Simplify legacy_reset handling
  hw: Remove device_phases_reset()
  hw: Rename DeviceClass::reset field to legacy_reset
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/63731c346f07...28ae3179fc52

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]