:p
atchew
Login
Hi; here's an arm pullreq. There's a combination of small stuff, plus the hvf patchset that adds vGIC and nested-virt support. v2 changes: * new patch "hvf: arm: override HV_SYS_REG_MDCR_EL2" should fix the CI failure from v1 * minor wording tweak in -smb docs patch thanks -- PMM The following changes since commit ac0cc20ad2fe0b8df2e5d9458e90a095ac711ab1: Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2026-05-01 14:41:49 -0400) are available in the Git repository at: https://gitlab.com/pm215/qemu.git tags/pull-target-arm-20260505 for you to fetch changes up to 37863fff59e0b2c71989f2de906a52935f11ce7b: hvf: arm: enable vGIC by default for virt-11.1 and later (2026-05-05 09:30:12 +0100) ---------------------------------------------------------------- target-arm queue: * hw/arm/fsl-imx8mp: Do not create redundant unimplemented devices * hw/arm/fsl-imx8mp: Fix parent of ocram memory region * sysbus: Remove unused irq routing notifier method * linux-user/arm: Restrict regpairs_aligned * qemu-options: Improve description for -smb option * preliminary work for FEAT_RME_GDI * docs/devel/decodetree: Fix formatting in "field examples" table * hw/net/allwinner-sun8i-emac: Flush queued packets when rx is enabled * hw/intc/arm_gicv3: Fix NS write to ICC_AP1Rn_EL1 when prebits < 7 * target/arm/kvm: Cache host CPU probe failure * hvf: support platform vGIC * hvf: support nested virtualization ---------------------------------------------------------------- Akihiko Odaki (1): target/arm/kvm: Cache host CPU probe failure Bernhard Beschow (3): hw/arm/fsl-imx8mp: Do not create redundant unimplemented devices hw/arm/fsl-imx8mp: Fix parent of ocram memory region Revert "sysbus: add irq_routing_notifier" Jim MacArthur (4): target/arm/cpu-features.c: New fields in AA64MMFR4 target/arm/cpu.h: New GPCCR fields target/arm/ptw.c: Add GDI spaces to the granule protection case tests/tcg/aarch64/system/rme_gdi.c: Very basic test of GDI Mohamed Mediouni (16): hw/intc: Add hvf vGIC interrupt controller support hw/intc: arm_gicv3_hvf: save/restore Apple GIC state accel, hw/arm, include/system/hvf: infrastructure changes for HVF vGIC target/arm: hvf: instantiate GIC early hw/arm, target/arm: nested virtualisation on HVF hvf: only call hvf_sync_vtimer() when running without the platform vGIC hvf: gate ARM_FEATURE_PMU register emulation when using the Apple vGIC hvf: arm: allow exposing minimal PMU for kernel-irqchip=on target/arm: hvf: add asserts for code paths not leveraged when using the vGIC hvf: arm: override HV_SYS_REG_MDCR_EL2 hvf: sync registers used at EL2 target/arm: hvf: pass through CNTHCTL_EL2 and MDCCINT_EL1 hvf: arm: disable SME when nested virt is active hvf: arm: physical timer emulation hvf: enable nested virtualisation support hvf: arm: enable vGIC by default for virt-11.1 and later Pali Rohár (1): qemu-options: Improve description for -smb option Peter Maydell (1): docs/devel/decodetree: Fix formatting in "field examples" table Richard Henderson (1): linux-user/arm: Restrict regpairs_aligned liugan1 (1): hw/intc/arm_gicv3: Fix NS write to ICC_AP1Rn_EL1 when prebits < 7 宋文武 (1): hw/net/allwinner-sun8i-emac: Flush queued packets when rx is enabled accel/hvf/hvf-all.c | 63 +++ accel/stubs/hvf-stub.c | 12 + docs/devel/decodetree.rst | 44 +- hw/arm/fsl-imx8mp.c | 3 +- hw/arm/virt.c | 46 +- hw/core/sysbus.c | 6 - hw/intc/arm_gicv3_common.c | 4 + hw/intc/arm_gicv3_cpuif.c | 35 +- hw/intc/arm_gicv3_hvf.c | 835 +++++++++++++++++++++++++++++++++++++ hw/intc/arm_gicv3_hvf_stub.c | 25 ++ hw/intc/meson.build | 2 + hw/net/allwinner-sun8i-emac.c | 3 + include/hw/arm/virt.h | 2 + include/hw/core/boards.h | 1 + include/hw/core/sysbus.h | 1 - include/hw/intc/arm_gicv3_common.h | 4 + include/system/hvf.h | 8 + include/system/hvf_int.h | 1 + linux-user/user-internals.h | 2 +- qemu-options.hx | 19 +- system/vl.c | 2 + target/arm/cpu-features.h | 8 + target/arm/cpu.h | 5 + target/arm/hvf/hvf.c | 217 +++++++++- target/arm/hvf/sysreg.c.inc | 44 ++ target/arm/hvf_arm.h | 5 + target/arm/kvm.c | 38 +- target/arm/ptw.c | 20 + tests/tcg/aarch64/system/rme_gdi.c | 46 ++ 29 files changed, 1427 insertions(+), 74 deletions(-) create mode 100644 hw/intc/arm_gicv3_hvf.c create mode 100644 hw/intc/arm_gicv3_hvf_stub.c create mode 100644 tests/tcg/aarch64/system/rme_gdi.c
v3->v4: Windows headers define an INT type which clashed with an enum value name in arm_gicv3_its.c... The following changes since commit eae587e8e3694b1aceab23239493fb4c7e1a80f5: Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-09-13' into staging (2021-09-13 11:00:30 +0100) are available in the Git repository at: https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210913-3 for you to fetch changes up to 28e987a7e7edaa3ca7feeac65edca26145df8814: hw/arm/mps2.c: Mark internal-only I2C buses as 'full' (2021-09-13 21:01:08 +0100) ---------------------------------------------------------------- target-arm queue: * mark MPS2/MPS3 board-internal i2c buses as 'full' so that command line user-created devices are not plugged into them * Take an exception if PSTATE.IL is set * Support an emulated ITS in the virt board * Add support for kudo-bmc board * Probe for KVM_CAP_ARM_VM_IPA_SIZE when creating scratch VM * cadence_uart: Fix clock handling issues that prevented u-boot from running ---------------------------------------------------------------- Bin Meng (6): hw/misc: zynq_slcr: Correctly compute output clocks in the reset exit phase hw/char: cadence_uart: Disable transmit when input clock is disabled hw/char: cadence_uart: Move clock/reset check to uart_can_receive() hw/char: cadence_uart: Convert to memop_with_attrs() ops hw/char: cadence_uart: Ignore access when unclocked or in reset for uart_{read, write}() hw/char: cadence_uart: Log a guest error when device is unclocked or in reset Chris Rauer (1): hw/arm: Add support for kudo-bmc board. Marc Zyngier (1): hw/arm/virt: KVM: Probe for KVM_CAP_ARM_VM_IPA_SIZE when creating scratch VM Peter Maydell (5): target/arm: Take an exception if PSTATE.IL is set qdev: Support marking individual buses as 'full' hw/arm/mps2-tz.c: Add extra data parameter to MakeDevFn hw/arm/mps2-tz.c: Mark internal-only I2C buses as 'full' hw/arm/mps2.c: Mark internal-only I2C buses as 'full' Richard Henderson (1): target/arm: Merge disas_a64_insn into aarch64_tr_translate_insn Shashi Mallela (9): hw/intc: GICv3 ITS initial framework hw/intc: GICv3 ITS register definitions added hw/intc: GICv3 ITS command queue framework hw/intc: GICv3 ITS Command processing hw/intc: GICv3 ITS Feature enablement hw/intc: GICv3 redistributor ITS processing tests/data/acpi/virt: Add IORT files for ITS hw/arm/virt: add ITS support in virt GIC tests/data/acpi/virt: Update IORT files for ITS docs/system/arm/nuvoton.rst | 1 + hw/intc/gicv3_internal.h | 188 ++++- include/hw/arm/virt.h | 2 + include/hw/intc/arm_gicv3_common.h | 13 + include/hw/intc/arm_gicv3_its_common.h | 32 +- include/hw/qdev-core.h | 24 + target/arm/cpu.h | 1 + target/arm/kvm_arm.h | 4 +- target/arm/syndrome.h | 5 + target/arm/translate.h | 2 + hw/arm/mps2-tz.c | 92 ++- hw/arm/mps2.c | 12 +- hw/arm/npcm7xx_boards.c | 34 + hw/arm/virt.c | 29 +- hw/char/cadence_uart.c | 61 +- hw/intc/arm_gicv3.c | 14 + hw/intc/arm_gicv3_common.c | 13 + hw/intc/arm_gicv3_cpuif.c | 7 +- hw/intc/arm_gicv3_dist.c | 5 +- hw/intc/arm_gicv3_its.c | 1322 ++++++++++++++++++++++++++++++++ hw/intc/arm_gicv3_its_common.c | 7 +- hw/intc/arm_gicv3_its_kvm.c | 2 +- hw/intc/arm_gicv3_redist.c | 153 +++- hw/misc/zynq_slcr.c | 31 +- softmmu/qdev-monitor.c | 7 +- target/arm/helper-a64.c | 1 + target/arm/helper.c | 8 + target/arm/kvm.c | 7 +- target/arm/translate-a64.c | 255 +++--- target/arm/translate.c | 21 + hw/intc/meson.build | 1 + tests/data/acpi/virt/IORT | Bin 0 -> 124 bytes tests/data/acpi/virt/IORT.memhp | Bin 0 -> 124 bytes tests/data/acpi/virt/IORT.numamem | Bin 0 -> 124 bytes tests/data/acpi/virt/IORT.pxb | Bin 0 -> 124 bytes 35 files changed, 2144 insertions(+), 210 deletions(-) create mode 100644 hw/intc/arm_gicv3_its.c create mode 100644 tests/data/acpi/virt/IORT create mode 100644 tests/data/acpi/virt/IORT.memhp create mode 100644 tests/data/acpi/virt/IORT.numamem create mode 100644 tests/data/acpi/virt/IORT.pxb