qemu/hw
Alistair Francis deef3d2568 intc/ibex_plic: Ensure we don't loose interrupts
If an interrupt occurs between when we claim and complete an interrupt
we currently drop the interrupt in ibex_plic_irqs_set_pending(). This
somewhat matches hardware that also ignore the interrupt between the
claim and complete process.

In the case of hardware though the physical interrupt line will still
be asserted after we have completed the interrupt. This means we will
still act on the interrupt after the complete process. In QEMU we don't
and instead we drop the interrupt as it is never recorded.

This patch changed the behaviour of the Ibex PLIC so that we save all
interrupts that occur while we are between claiming and completing an
interrupt so that we can act on them after the completition process.

This fixes interrupts being dropped when running Tock on OpenTitain in
QEMU.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: e7bcf98c6925b1e6e7828e7c3f85293a09a65b12.1605136387.git.alistair.francis@wdc.com
2020-11-13 21:43:48 -08:00
..
9pfs hw/9pfs: Fix Kconfig dependency problem between 9pfs and Xen 2020-11-05 15:21:11 +01:00
acpi ACPI: Avoid infinite recursion when dump-vmstate 2020-11-12 14:13:59 +00:00
adc
alpha
arm hw/arm/nseries: Check return value from load_image_targphys() 2020-11-10 11:03:48 +00:00
audio
avr
block hw/block/nvme: fix free of array-typed value 2020-11-09 15:44:21 +01:00
char hw/char/pl011: add a clock input 2020-10-27 11:10:44 +00:00
core pvpanic: Advertise the PVPANIC_CRASHLOADED event support 2020-11-11 03:59:05 -05:00
cpu
cris
display hw/display/cirrus_vga: Fix hexadecimal format string specifier 2020-11-13 07:36:33 +01:00
dma sparc32-ledma: don't reference nd_table directly within the device 2020-10-28 07:59:25 +00:00
gpio hw/gpio: Add GPIO model for Nuvoton NPCM7xx 2020-10-27 11:10:32 +00:00
hppa
hyperv
i2c microbit_i2c: Fix coredump when dump-vmstate 2020-10-20 16:12:00 +01:00
i386 pc: comment style fixup 2020-11-03 07:19:26 -05:00
ide xen: rework pci_piix3_xen_ide_unplug 2020-11-02 11:56:55 +00:00
input
intc intc/ibex_plic: Ensure we don't loose interrupts 2020-11-13 21:43:48 -08:00
ipack
ipmi
isa hw/isa/lpc_ich9: Ignore reserved/invalid SCI IRQ 2020-11-03 09:42:53 -05:00
lm32
m68k
mem memory-device: Add get_min_alignment() callback 2020-11-03 07:19:26 -05:00
microblaze
mips hw/mips/boston: Fix memory leak in boston_fdt_filter() error-handling paths 2020-11-09 00:40:44 +01:00
misc macio: set user_creatable to false in macio_class_init() 2020-11-12 09:26:20 +00:00
moxie
net hw/net/can/ctucan_core: Use stl_le_p to write to tx_buffers 2020-11-11 20:34:36 +08:00
nios2
nubus
nvram hw/nvram: Always register FW_CFG_DATA_GENERATOR_INTERFACE 2020-10-12 11:50:20 -04:00
openrisc
pci pci: Disallow improper BAR registration for type 1 2020-10-30 06:48:53 -04:00
pci-bridge
pci-host hw/mips/boston: Fix Lesser GPL version number 2020-11-03 16:51:13 +01:00
pcmcia
ppc spapr: Convert hpt_prepare_thread() to use qemu_try_memalign() 2020-11-05 12:18:48 +11:00
rdma
riscv hw/riscv: microchip_pfsoc: Hook the I2C1 controller 2020-11-03 07:17:23 -08:00
rtc m48t59: remove legacy m48t59_init() function 2020-10-18 16:21:42 +01:00
rx hw/rx/rx-gdbsim: Fix memory leak (CID 1432307) 2020-11-09 00:53:07 +01:00
s390x s390x: Avoid variable size warning in ipl.h 2020-11-10 08:51:30 +01:00
scsi scsi/scsi_bus: fix races in REPORT LUNS 2020-10-12 11:50:51 -04:00
sd hw/sd/sdcard: Zero out function selection fields before being populated 2020-10-26 09:23:47 +01:00
semihosting
sh4
smbios hw/smbios: Fix leaked fd in save_opt_one() error path 2020-11-03 07:19:27 -05:00
sparc sparc32-ledma: don't reference nd_table directly within the device 2020-10-28 07:59:25 +00:00
sparc64 sabre: don't call sysbus_mmio_map() in sabre_realize() 2020-10-28 07:59:25 +00:00
ssi ssi: Fix bad printf format specifiers 2020-11-10 11:03:47 +00:00
timer target-arm queue: 2020-10-29 11:40:04 +00:00
tpm
tricore
unicore32
usb xhci: fix nec-usb-xhci properties 2020-11-13 07:36:33 +01:00
vfio Fix use after free in vfio_migration_probe 2020-11-12 15:58:16 -07:00
virtio vhost-blk: set features before setting inflight feature 2020-11-03 16:39:05 -05:00
watchdog hw/watchdog: Implement SBSA watchdog device 2020-10-27 11:10:44 +00:00
xen xen-bus: reduce scope of backend watch 2020-10-19 16:32:41 +01:00
xenpv
xtensa
Kconfig
meson.build