qemu/hw
David Gibson 9f53c0db19 spapr: Fix indexing of XICS irqs
spapr global irq numbers are different from the source numbers on the ICS
when using XICS - they're offset by XICS_IRQ_BASE (0x1000).  But
spapr_irq_set_irq_xics() was passing through the global irq number to
the ICS code unmodified.

We only got away with this because of a counteracting bug - we were
incorrectly adjusting the qemu_irq we returned for a requested global irq
number.

That approach mostly worked but is very confusing, incorrectly relies on
the way the qemu_irq array is allocated, and undermines the intention of
having the global array of qemu_irqs for spapr have a consistent meaning
regardless of irq backend.

So, fix both set_irq and qemu_irq indexing.  We rename some parameters at
the same time to make it clear that they are referring to spapr global
irq numbers.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
2019-10-04 19:08:22 +10:00
..
9pfs 9p: simplify source file selection 2019-08-20 17:26:19 +02:00
acpi ipmi: Fix SSIF ACPI handling to use the right CRS 2019-09-20 14:08:10 -05:00
adc Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
alpha Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
arm hw/arm/boot: Use the IEC binary prefix definitions 2019-09-27 11:44:39 +01:00
audio audio: remove audio_MIN, audio_MAX 2019-08-21 09:13:37 +02:00
block xen-block: treat XenbusStateUnknown the same as XenbusStateClosed 2019-09-24 12:21:11 +01:00
bt Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char spapr: Replace spapr_vio_qirq() helper with spapr_vio_irq_pulse() helper 2019-10-04 19:08:22 +10:00
core hw/core/loader: Fix possible crash in rom_copy() 2019-10-01 11:42:27 +02:00
cpu hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cris Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
display ati: use vga_read_byte in ati_cursor_define 2019-09-19 10:37:46 +02:00
dma hw/dma/xilinx_axi: Use object_initialize_child for correct ref. counting 2019-09-03 16:20:34 +01:00
gpio hw/gpio: Add basic Aspeed GPIO model for AST2400 and AST2500 2019-09-13 16:05:00 +01:00
hppa Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
hyperv Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
i2c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
i386 pc: Add an SMB0 ACPI device to q35 2019-09-20 14:09:24 -05:00
ide hw/ide/atapi: Use the ldst API 2019-08-16 19:14:04 -04:00
input sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
intc xics: Create sPAPR specific ICS subtype 2019-10-04 19:08:22 +10:00
ipack Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ipmi ipmi: Add an SMBus IPMI interface 2019-09-20 14:08:10 -05:00
isa hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
lm32 Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
m68k hw/m68k/next-cube: Avoid static RTC variables and introduce control register 2019-10-01 11:42:27 +02:00
mem numa: move numa global variable nb_numa_nodes into MachineState 2019-09-03 11:26:55 -03:00
microblaze hw/misc: Add a config switch for the "unimplemented" device 2019-08-20 09:11:17 +02:00
mips hw/mips/mips_jazz: Remove no-longer-necessary override of do_unassigned_access 2019-09-12 18:25:34 +02:00
misc trace: Remove trailing newline in events 2019-09-18 10:19:47 +01:00
moxie Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
net spapr: Replace spapr_vio_qirq() helper with spapr_vio_irq_pulse() helper 2019-10-04 19:08:22 +10:00
nios2 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nvram sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
openrisc Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pci Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
pci-bridge numa: move numa global variable nb_numa_nodes into MachineState 2019-09-03 11:26:55 -03:00
pci-host hw/core: Add a config switch for the "or-irq" device 2019-08-20 09:11:17 +02:00
pcmcia Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ppc spapr: Fix indexing of XICS irqs 2019-10-04 19:08:22 +10:00
rdma sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
riscv riscv: sifive_u: Update model and compatible strings in device tree 2019-09-17 08:42:49 -07:00
s390x s390: do not call memory_region_allocate_system_memory() multiple times 2019-09-30 13:51:50 +02:00
scsi trace: Remove trailing newline in events 2019-09-18 10:19:47 +01:00
sd trace: Remove trailing newline in events 2019-09-18 10:19:47 +01:00
semihosting Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
sh4 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
smbios smbios:ipmi: Ignore IPMI devices with no fwinfo function 2019-09-20 14:08:10 -05:00
sparc sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
sparc64 hw/misc: Add a config switch for the "unimplemented" device 2019-08-20 09:11:17 +02:00
ssi aspeed/smc: Calculate checksum on normal DMA 2019-09-13 16:05:01 +01:00
timer aspeed/scu: Introduce a aspeed_scu_get_apb_freq() routine 2019-09-13 16:05:01 +01:00
tpm Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
tricore Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
unicore32 Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
usb usb-mtp: add sanity checks on rootdir 2019-08-29 07:31:12 +02:00
vfio vfio: fix a typo 2019-09-19 11:50:37 +02:00
virtio vhost: Fix memory region section comparison 2019-09-25 10:16:39 -04:00
watchdog sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
xen xen-bus: only set the xen device frontend state if it is missing 2019-09-24 12:21:29 +01:00
xenpv Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
xtensa sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
Kconfig hw/core: Add a config switch for the "register" device 2019-08-20 09:11:05 +02:00
Makefile.objs Makefile: do not repeat $(CONFIG_SOFTMMU) in hw/Makefile.objs 2019-07-15 20:58:37 +02:00