diff options
| author | Cédric Le Goater <clg@kaod.org> | 2017-02-27 15:29:29 +0100 |
|---|---|---|
| committer | David Gibson <david@gibson.dropbear.id.au> | 2017-03-01 11:23:40 +1100 |
| commit | 2192a9303d43ee5e1b2b65f5ed9a93922bcdd1df (patch) | |
| tree | 1e4abc094d5f79aa0a3ef6509d98b405c9e6aa0b /hw/ppc/spapr.c | |
| parent | 852ad27e14325be69c1afa2bb940ba7dc2ba1a8f (diff) | |
| download | focaccia-qemu-2192a9303d43ee5e1b2b65f5ed9a93922bcdd1df.tar.gz focaccia-qemu-2192a9303d43ee5e1b2b65f5ed9a93922bcdd1df.zip | |
ppc/xics: export the XICS init routines
There is nothing left related to the XICS object in the realize functions of the KVMXICSState and XICSState class. So adapt the interfaces to call these routines directly from the sPAPR machine init sequence. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/ppc/spapr.c')
| -rw-r--r-- | hw/ppc/spapr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 47eb503803..b81c95b8b4 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -161,7 +161,8 @@ static XICSState *xics_system_init(MachineState *machine, if (kvm_enabled()) { Error *err = NULL; - if (machine_kernel_irqchip_allowed(machine)) { + if (machine_kernel_irqchip_allowed(machine) && + !xics_kvm_init(SPAPR_MACHINE(machine), errp)) { xics = try_create_xics(SPAPR_MACHINE(machine), TYPE_XICS_SPAPR_KVM, TYPE_ICS_KVM, TYPE_KVM_ICP, nr_servers, nr_irqs, &err); @@ -175,6 +176,7 @@ static XICSState *xics_system_init(MachineState *machine, } if (!xics) { + xics_spapr_init(SPAPR_MACHINE(machine), errp); xics = try_create_xics(SPAPR_MACHINE(machine), TYPE_XICS_SPAPR, TYPE_ICS_SIMPLE, TYPE_ICP, nr_servers, nr_irqs, errp); |