qemu/hw/intc
Cédric Le Goater 5bc8d26de2 spapr: allocate the ICPState object from under sPAPRCPUCore
Today, all the ICPs are created before the CPUs, stored in an array
under the sPAPR machine and linked to the CPU when the core threads
are realized. This modeling brings some complexity when a lookup in
the array is required and it can be simplified by allocating the ICPs
when the CPUs are.

This is the purpose of this proposal which introduces a new 'icp_type'
field under the machine and creates the ICP objects of the right type
(KVM or not) before the PowerPCCPU object are.

This change allows more cleanups : the removal of the icps array under
the sPAPR machine and the removal of the xics_get_cpu_index_by_dt_id()
helper.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-04-26 12:00:42 +10:00
..
allwinner-a10-pic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
apic_common.c Revert "apic: save apic_delivered flag" 2017-03-27 14:41:01 +02:00
apic.c apic: add send_msi() to APICCommonClass 2016-10-17 15:44:49 -02:00
arm_gic_common.c arm: gic: Remove references to NVIC 2017-02-28 12:08:17 +00:00
arm_gic_kvm.c migration: disallow migrate_add_blocker during migration 2017-01-24 18:00:30 +00:00
arm_gic.c hw/intc/arm_gic: modernise the DPRINTF 2017-03-09 10:41:49 +00:00
arm_gicv2m.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
arm_gicv3_common.c target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
arm_gicv3_cpuif.c target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Fix compilation with simple trace backend 2016-06-20 11:35:15 +01:00
arm_gicv3_its_common.c hw/intc/arm_gicv3_its: Implement ITS base class 2016-10-04 13:28:08 +01:00
arm_gicv3_its_kvm.c migration: disallow migrate_add_blocker during migration 2017-01-24 18:00:30 +00:00
arm_gicv3_kvm.c hw/intc/arm_gicv3_kvm: Check KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS in reset 2017-03-31 12:41:14 +01:00
arm_gicv3_redist.c arm_gicv3: Add assert()s to tell Coverity that offsets are aligned 2016-07-19 17:56:27 +01:00
arm_gicv3.c hw/intc/arm_gicv3: Don't signal Pending+Active interrupts to CPU 2016-12-27 14:59:25 +00:00
armv7m_nvic.c armv7m: Split systick out from NVIC 2017-02-28 16:18:49 +00:00
aspeed_vic.c hw: Clean up includes 2016-06-07 18:19:23 +03:00
bcm2835_ic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
bcm2836_control.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
etraxfs_pic.c hw/intc: QOM'ify etraxfs_pic.c 2016-05-12 13:22:24 +01:00
exynos4210_combiner.c hw/intc: QOM'ify exynos4210_combiner.c 2016-05-12 13:22:24 +01:00
exynos4210_gic.c migration: consolidate VMStateField.start 2017-02-13 17:27:13 +00:00
gic_internal.h arm: gic: Remove references to NVIC 2017-02-28 12:08:17 +00:00
gicv3_internal.h target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
grlib_irqmp.c hw/intc: QOM'ify grlib_irqmp.c 2016-05-12 13:22:25 +01:00
heathrow_pic.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00
i8259_common.c i8259: give ISA device when registering ISA ioports 2016-10-04 10:00:26 +02:00
i8259.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
imx_avic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic_common.c x86: ioapic: dump version for "info ioapic" 2017-01-16 17:52:35 +01:00
ioapic.c ioapic: fix error report value of def version 2017-02-16 14:06:55 +01:00
lm32_pic.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
Makefile.objs armv7m: Don't put core v7M devices under CONFIG_STELLARIS 2017-02-28 16:18:49 +00:00
mips_gic.c hw/mips_gic: Update pin state on mask changes 2017-02-21 22:24:58 +00:00
nios2_iic.c nios2: iic: Convert CPU prop to qom link 2017-03-18 18:22:54 +00:00
omap_intc.c hw/intc: QOM'ify omap_intc.c 2016-05-12 13:22:25 +01:00
openpic_kvm.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
openpic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
pl190.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
puv3_intc.c unicore: Clean up includes 2016-01-29 15:07:22 +00:00
realview_gic.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
s390_flic_kvm.c s390x/flic: fail migration on source already 2017-02-24 10:15:18 +01:00
s390_flic.c s390x/flic: cache flic in s390_get_flic 2017-04-21 09:32:09 +02:00
sh_intc.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
slavio_intctl.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
trace-events armv7m: Rewrite NVIC to not use any GIC code 2017-02-28 12:08:17 +00:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics_kvm.c ppc/xics: register reset handlers for the ICP and ICS objects 2017-03-06 10:07:38 +11:00
xics_spapr.c spapr: move the IRQ server number mapping under the machine 2017-04-26 12:00:42 +10:00
xics.c spapr: allocate the ICPState object from under sPAPRCPUCore 2017-04-26 12:00:42 +10:00
xilinx_intc.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00