qemu/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 hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
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 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 arm_gicv3: Fix ICC_BPR1 reset value when EL3 not implemented 2017-06-07 17:21:44 +01: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: 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: 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 arm: add MPU support to M profile CPUs 2017-06-02 11:51:48 +01: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 qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03: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 qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
heathrow_pic.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00
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 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: 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 qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
openpic.c target-ppc: Fix openpic timer read register offset 2017-06-06 08:53:24 +10: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 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 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 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 hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00