diff --git a/hw/intc/xics.c b/hw/intc/xics.c index f828bcb070..a5be0d83cf 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -66,14 +66,15 @@ void xics_cpu_setup(XICSState *xics, PowerPCCPU *cpu) CPUState *cs = CPU(cpu); CPUPPCState *env = &cpu->env; ICPState *ss = &xics->ss[cs->cpu_index]; - XICSStateClass *info = XICS_COMMON_GET_CLASS(xics); + XICSStateClass *info; assert(cs->cpu_index < xics->nr_servers); ss->cs = cs; + info = XICS_COMMON_GET_CLASS(xics); if (info->cpu_setup) { - info->cpu_setup(xics, cpu); + info->cpu_setup(ss, cpu); } switch (PPC_INPUT(env)) { diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c index 86ddf470e5..7588280b5d 100644 --- a/hw/intc/xics_kvm.c +++ b/hw/intc/xics_kvm.c @@ -324,16 +324,11 @@ static const TypeInfo ics_kvm_info = { /* * XICS-KVM */ -static void xics_kvm_cpu_setup(XICSState *xics, PowerPCCPU *cpu) +static void xics_kvm_cpu_setup(ICPState *ss, PowerPCCPU *cpu) { - CPUState *cs; - ICPState *ss; + CPUState *cs = CPU(cpu); int ret; - cs = CPU(cpu); - ss = &xics->ss[cs->cpu_index]; - - assert(cs->cpu_index < xics->nr_servers); if (kernel_xics_fd == -1) { abort(); } diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 01ca5e2dab..8325dbdaf1 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -74,7 +74,7 @@ typedef struct XICSFabric XICSFabric; struct XICSStateClass { DeviceClass parent_class; - void (*cpu_setup)(XICSState *icp, PowerPCCPU *cpu); + void (*cpu_setup)(ICPState *icp, PowerPCCPU *cpu); }; struct XICSState {