qemu-cr16/hw/intc
Alex Bennée ba3581de79 hw/intc: avoid byte swap fiddling in gicv3 its path
This allows us to keep the MSI data in plain host order all the way
from the MemoryRegionOps write method to the final KVM_SIGNAL_MSI
ioctl. This fixes a theoretical bug on big-endian hosts because we
were using different size byte swaps which would have truncated the data.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20260121105932.135676-5-alex.bennee@linaro.org
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit cf10273aff8198ab1c7e2a00e7e5fe51c80b04e7)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2026-01-24 09:20:18 +03:00
..
allwinner-a10-pic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
apic.c hw/intc/apic: Pass APICCommonState to apic_register_{read,write} 2025-10-21 22:32:41 +02:00
apic_common.c hw/i386/apic: Prefer APICCommonState over DeviceState 2025-10-21 20:16:47 +02:00
arm_gic.c hw/intc/arm_gic: introduce a first-cpu-index property 2025-06-16 11:26:25 +01:00
arm_gic_common.c hw/intc/arm_gic: introduce a first-cpu-index property 2025-06-16 11:26:25 +01:00
arm_gic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv2m.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_common.c hw/intc/arm_gicv3: Introduce a 'first-cpu-index' property 2025-10-07 10:35:36 +01:00
arm_gicv3_cpuif.c hw/intc/arm_gicv3: Introduce a 'first-cpu-index' property 2025-10-07 10:35:36 +01:00
arm_gicv3_cpuif_common.c hw/intc/arm_gicv3: Extract gicv3_set_gicv3state from arm_gicv3_cpuif.c 2021-12-15 10:11:34 +00:00
arm_gicv3_dist.c hw/intc/arm_gicv3_dist: Implement GICD_TYPER2 as 0 2025-10-23 13:12:49 +01:00
arm_gicv3_its.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_gicv3_its_common.c hw/intc: avoid byte swap fiddling in gicv3 its path 2026-01-24 09:20:18 +03:00
arm_gicv3_its_kvm.c hw/intc: avoid byte swap fiddling in gicv3 its path 2026-01-24 09:20:18 +03:00
arm_gicv3_kvm.c migration: Don't free the reason after calling migrate_add_blocker 2025-11-03 16:04:10 -05:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
armv7m_nvic.c arm/cpu: store clidr into the idregs array 2025-07-10 09:13:03 +01:00
aspeed_intc.c hw/intc/aspeed Fix coding style 2025-05-25 23:39:11 +02:00
aspeed_vic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_ic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2836_control.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_combiner.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
gic_internal.h hw/intc/arm_gic: Fix deactivation of SPI lines 2024-06-21 14:01:58 +01:00
gicv3_internal.h hw/intc/arm_gicv3_dist: Implement GICD_TYPER2 as 0 2025-10-23 13:12:49 +01:00
goldfish_pic.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
grlib_irqmp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
heathrow_pic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
i8259.c hw/intc/i8259: Remove unused DEBUG_PIC define 2025-04-25 17:00:42 +02:00
i8259_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
imx_avic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx_gpcv2.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
intc.c
ioapic-stub.c i386: select correct components for no-board build 2024-05-10 15:45:15 +02:00
ioapic.c hw/intc/ioapic: Fix ACCEL_KERNEL_GSI_IRQFD_POSSIBLE typo 2025-11-18 19:56:11 +01:00
ioapic_common.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ioapic_internal.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
Kconfig loongarch: add a direct interrupt controller device 2025-09-28 17:31:04 +08:00
kvm_irqcount.c hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
loongarch_dintc.c hw/intc/loongarch_dintc: Set class_size for LoongArchDINTCClass 2025-10-06 13:54:50 -07:00
loongarch_extioi.c hw/intc/loongarch_extioi: Move unrealize function to common code 2025-07-11 14:47:15 +08:00
loongarch_extioi_common.c hw/intc/loongarch_extioi: Move unrealize function to common code 2025-07-11 14:47:15 +08:00
loongarch_extioi_kvm.c hw/intc/loongarch_extioi: Remove unnecessary 'qemu/typedefs.h' include 2025-07-15 00:24:26 +02:00
loongarch_ipi.c hw/loongarch/virt: Add reset support for kernel irqchip 2025-06-19 15:52:35 +08:00
loongarch_ipi_kvm.c hw/intc/loongarch_ipi: Fix start fail with smp cpu < smp maxcpus on KVM 2025-07-31 16:57:01 +08:00
loongarch_pch_msi.c hw/intc/loongarch_pch_msi: Inject MSI interrupt to kernel 2025-06-19 15:48:22 +08:00
loongarch_pch_pic.c hw/intc/loongarch_pch_pic: Fix ubsan warning and endianness issue 2025-08-28 20:06:27 +08:00
loongarch_pic_common.c hw/intc/loongarch_pch: Set version information at initial stage 2025-05-14 15:43:46 +08:00
loongarch_pic_kvm.c hw/loongarch/virt: Remove header file ls7a.h 2025-10-15 11:05:19 +08:00
loongson_ipi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
loongson_ipi_common.c hw/intc/loongson_ipi: Add load and save interface with ipi_common class 2025-06-19 15:45:31 +08:00
loongson_liointc.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
m68k_irqc.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
meson.build loongarch: add a direct interrupt controller device 2025-09-28 17:31:04 +08:00
mips_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
omap_intc.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
ompic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
openpic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
openpic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pl190.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pnv_xive.c ppc/xive: Change presenter .match_nvt to match not present 2025-07-21 08:03:52 +02:00
pnv_xive2.c ppc/pnv: Add PnvChipClass handler to get reference to interrupt controller 2025-09-28 23:22:06 +05:30
pnv_xive2_regs.h ppc/xive2: add interrupt priority configuration flags 2025-07-21 08:03:52 +02:00
pnv_xive_regs.h ppc/xive: Handle END triggers between chips with MMIOs 2023-09-06 11:19:33 +02:00
ppc-uic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
realview_gic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
riscv_aclint.c hw/intc: Allow gaps in hartids for aclint and aplic 2025-10-24 09:24:08 +10:00
riscv_aplic.c hw/intc: Allow gaps in hartids for aclint and aplic 2025-10-24 09:24:08 +10:00
riscv_imsic.c migration: Fix migration failure when aia is configured as aplic-imsic 2025-07-04 21:09:49 +10:00
rx_icu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
s390_flic.c add cpu_test_interrupt()/cpu_set_interrupt() helpers and use them tree wide 2025-08-29 12:48:14 +02:00
s390_flic_kvm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sh_intc.c hw/intc/sh_intc: Remove unneeded local variable initialisers 2021-10-30 18:39:37 +02:00
sifive_plic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
slavio_intctl.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
spapr_xive.c ppc/xive: Change presenter .match_nvt to match not present 2025-07-21 08:03:52 +02:00
spapr_xive_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events ppc/xive: Add more interrupt notification tracing 2025-07-21 08:03:52 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vgic_common.h
xics.c hw/intc/xics: Add missing call to register vmstate_icp_server 2025-09-28 23:44:22 +05:30
xics_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xics_pnv.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xics_spapr.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xilinx_intc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xive.c ppc/xive: Split need_resend into restore_nvp 2025-07-21 08:03:53 +02:00
xive2.c ppc/xive2: Fix integer overflow warning in xive2_redistribute() 2025-09-28 23:46:15 +05:30
xlnx-pmu-iomod-intc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp-ipi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00