qemu-e2k/hw/intc
Greg Kurz 9ed656631d xics: setup cpu at realize time
Until recently, spapr used to allocate ICPState objects for the lifetime
of the machine. They would only be associated to vCPUs in xics_cpu_setup()
when plugging a CPU core.

Now that ICPState objects have the same lifecycle as vCPUs, it is
possible to associate them during realization.

This patch hence open-codes xics_cpu_setup() in icp_realize(). The vCPU
is passed as a property. Note that vCPU now needs to be realized first
for the IRQs to be allocated. It also needs to resetted before ICPState
realization in order to synchronize with KVM.

Since ICPState objects are freed when unrealized, xics_cpu_destroy() isn't
needed anymore and can be safely dropped.

Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-06-09 12:15:57 +10:00
..
allwinner-a10-pic.c
apic_common.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03: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: Create migration/blocker.h 2017-05-17 12:04:59 +02:00
arm_gic.c hw/intc/arm_gic: modernise the DPRINTF 2017-03-09 10:41:49 +00:00
arm_gicv2m.c
arm_gicv3_common.c target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
arm_gicv3_cpuif.c arm_gicv3: Fix ICC_BPR1 reset value when EL3 not implemented 2017-06-07 17:21:44 +01:00
arm_gicv3_dist.c
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: Create migration/blocker.h 2017-05-17 12:04:59 +02:00
arm_gicv3_kvm.c migration: Create migration/blocker.h 2017-05-17 12:04:59 +02:00
arm_gicv3_redist.c
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 arm: add MPU support to M profile CPUs 2017-06-02 11:51:48 +01:00
aspeed_vic.c
bcm2835_ic.c
bcm2836_control.c
etraxfs_pic.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
exynos4210_combiner.c
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 qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
heathrow_pic.c
i8259_common.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03: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
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: Remove user_creatable flag 2017-05-17 10:37:01 -03: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 ppc/pnv: add a PnvICPState object 2017-04-26 12:00:42 +10:00
mips_gic.c hw/mips_gic: Update pin state on mask changes 2017-02-21 22:24:58 +00:00
nios2_iic.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
omap_intc.c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
openpic_kvm.c
openpic.c target-ppc: Fix openpic timer read register offset 2017-06-06 08:53:24 +10:00
pl190.c
puv3_intc.c
realview_gic.c
s390_flic_kvm.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
s390_flic.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
sh_intc.c
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
xics_kvm.c xics: pass appropriate types to realize() handlers. 2017-06-09 12:12:34 +10:00
xics_pnv.c xics: pass appropriate types to realize() handlers. 2017-06-09 12:12:34 +10:00
xics_spapr.c ppc/xics: simplify prototype of xics_spapr_init() 2017-05-24 11:39:52 +10:00
xics.c xics: setup cpu at realize time 2017-06-09 12:15:57 +10:00
xilinx_intc.c