qemu-cr16/hw
Jaehoon Kim 8dd912b042 s390x/pci: fix interrupt blocking by returning only the device's summary bit
Previously, set_ind_atomic() returned the entire byte containing
multiple summary bits. This meant that if any other summary bit in the
byte was set, interrupt injection could be incorrectly blocked, even
when the current device's summary bit was not set. As a result, the
guest could remain blocked after I/O completion during FIO tests.

This patch replaces set_ind_atomic() with set_ind_bit_atomic(), which
returns true if the bit was set by this function, and false if it was
already set or mapping failed. Interrupts are now blocked only when
the device's own summary bit was not previously set, avoiding
unintended blocking when multiple PCI summary bits exist within the
same byte.

Signed-off-by: Jaehoon Kim <jhkim@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-ID: <20251001154004.71917-1-jhkim@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2025-10-10 10:02:51 +02:00
..
9pfs 9pfs: Stop including gstrfuncs.h 2025-09-18 21:21:29 +02:00
acpi acpi/generic_event_device.c: enable use_hest_addr for QEMU 10.x 2025-10-05 08:06:32 -04:00
adc
alpha
arm hw/arm/xlnx-zynqmp: wire a second GIC for the Cortex-R5 2025-10-07 10:39:15 +01:00
audio
avr
block virtio: unify virtio_notify_irqfd() and virtio_notify() 2025-10-05 09:01:08 -04:00
char First RISC-V PR for 10.2 2025-10-03 04:57:12 -07:00
core * i386: fix migration issues in 10.1 2025-10-09 07:59:01 -07:00
cpu
cxl hw/cxl: Convert cxl_fmws_link() to Error 2025-09-30 14:43:53 +02:00
display migration: Remove error variant of vmstate_save_state() function 2025-10-03 09:48:02 -04:00
dma
fsi
gpio hw/arm: Remove sl_bootparam_write() and 'hw/arm/sharpsl.h' header 2025-10-07 10:49:24 +01:00
hppa
hyperv system/ramblock: Move ram_block_discard_*_range() declarations 2025-10-07 03:37:03 +02:00
i2c
i386 * i386: fix migration issues in 10.1 2025-10-09 07:59:01 -07:00
ide hw/ide/ich.c: Use qemu_init_irq_child() to avoid memory leak 2025-09-02 17:57:05 +02:00
input hid: fix incorrect return value for hid 2025-10-05 09:46:06 +03:00
intc * i386: fix migration issues in 10.1 2025-10-09 07:59:01 -07:00
ipack
ipmi
isa x86: ich9: fix default value of 'No Reboot' bit in GCS 2025-10-05 09:01:08 -04:00
loongarch hw/loongarch: Implement DINTC plug/unplug interfaces 2025-09-28 17:31:04 +08:00
m68k hw: add compat machines for 10.2 2025-08-27 07:07:53 +02:00
mem hw/cxl: mailbox-utils: 0x5604 - FMAPI Initiate DC Add 2025-07-15 02:56:40 -04:00
microblaze
mips hw/mips/malta: Silence warning from ubsan 2025-09-09 09:34:45 +02:00
misc hw/misc/xlnx-versal-crl: add the versal2 version 2025-10-07 10:35:36 +01:00
net virtio,pci,pc: features, fixes 2025-10-06 08:14:03 -07:00
nubus
nvme pcie_sriov: Fix broken MMIO accesses from SR-IOV VFs 2025-10-05 09:01:08 -04:00
nvram hw/nvram/aspeed_otp: Add OTP programming semantics and tracing 2025-09-29 18:00:20 +02:00
openrisc add cpu_test_interrupt()/cpu_set_interrupt() helpers and use them tree wide 2025-08-29 12:48:14 +02:00
pci virtio,pci,pc: features, fixes 2025-10-06 08:14:03 -07:00
pci-bridge hw/arm/smmu-common: Check SMMU has PCIe Root Complex association 2025-09-16 17:31:54 +01:00
pci-host hw/pci-host/aspeed: Disable Root Device and place Root Port at 00:00.0 to AST2700 2025-09-29 18:00:20 +02:00
ppc hw: Remove unnecessary 'system/ram_addr.h' header 2025-10-07 05:03:56 +02:00
remote hw: Remove unnecessary 'system/ram_addr.h' header 2025-10-07 05:03:56 +02:00
riscv hw/riscv/riscv-iommu: Fixup PDT Nested Walk 2025-10-03 13:15:14 +10:00
rtc
rx
s390x s390x/pci: fix interrupt blocking by returning only the device's summary bit 2025-10-10 10:02:51 +02:00
scsi virtio,pci,pc: features, fixes 2025-10-06 08:14:03 -07:00
sd hw/sd/sdhci: Do not unparent in instance_finalize() 2025-09-24 09:23:20 +02:00
sensor
sh4
smbios hw/smbios: allow clearing the VM bit in SMBIOS table 0 2025-10-05 08:17:08 -04:00
sparc
sparc64
ssi hw/ssi/aspeed_smc: Fix incorrect FMC_WDT2 register read on AST1030 2025-08-04 09:07:38 +02:00
timer hpet: guard IRQ handling with BQL 2025-09-17 19:00:58 +02:00
tpm
tricore
uefi hw/uefi: open json file in binary mode 2025-08-12 08:03:16 +02:00
ufs
usb hw/usb/hcd-uhci: don't assert for SETUP to non-0 endpoint 2025-09-25 11:06:27 +01:00
vfio system/physmem: Extract API out of 'system/ram_addr.h' header 2025-10-07 05:03:56 +02:00
vfio-user hw/vfio: Use uint64_t for IOVA mapping size in vfio_container_dma_*map 2025-10-02 10:41:23 +02:00
virtio * i386: fix migration issues in 10.1 2025-10-09 07:59:01 -07:00
vmapple
watchdog wdt_i6300esb: fix incorrect mask for interrupt type 2025-10-05 09:46:06 +03:00
xen hw/xen/hvm: Inline cpu_physical_memory_rw() in rw_phys_req_item() 2025-10-07 05:03:56 +02:00
xenpv
xtensa
Kconfig
meson.build hw/meson: enter target hw first 2025-09-02 17:57:05 +02:00