Message ID | 155023080638.1011724.792095453419098948.stgit@bahia.lan |
---|---|
State | New |
Headers | show |
Series | xics: Get rid of KVM specific classes | expand |
On 2/15/19 12:40 PM, Greg Kurz wrote: > The base ICP class knows how to interact with KVM. Adapt sPAPR to use it > instead of the ICP KVM class. > > Signed-off-by: Greg Kurz <groug@kaod.org> ah. Good one ! Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > hw/ppc/spapr_irq.c | 4 +--- > include/hw/ppc/spapr.h | 1 - > 2 files changed, 1 insertion(+), 4 deletions(-) > > diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c > index 48d6b2daed6e..e6893df61e76 100644 > --- a/hw/ppc/spapr_irq.c > +++ b/hw/ppc/spapr_irq.c > @@ -102,7 +102,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, > if (kvm_enabled()) { > if (machine_kernel_irqchip_allowed(machine) && > !xics_kvm_init(spapr, &local_err)) { > - spapr->icp_type = TYPE_KVM_ICP; > spapr->ics = spapr_ics_create(spapr, TYPE_ICS_KVM, nr_irqs, > &local_err); > } > @@ -117,7 +116,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, > > if (!spapr->ics) { > xics_spapr_init(spapr); > - spapr->icp_type = TYPE_ICP; > spapr->ics = spapr_ics_create(spapr, TYPE_ICS_SIMPLE, nr_irqs, > &local_err); > } > @@ -199,7 +197,7 @@ static void spapr_irq_cpu_intc_create_xics(sPAPRMachineState *spapr, > Object *obj; > sPAPRCPUState *spapr_cpu = spapr_cpu_state(cpu); > > - obj = icp_create(OBJECT(cpu), spapr->icp_type, XICS_FABRIC(spapr), > + obj = icp_create(OBJECT(cpu), TYPE_ICP, XICS_FABRIC(spapr), > &local_err); > if (local_err) { > error_propagate(errp, local_err); > diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h > index cbd276ed2b6a..631fc5103b7b 100644 > --- a/include/hw/ppc/spapr.h > +++ b/include/hw/ppc/spapr.h > @@ -178,7 +178,6 @@ struct sPAPRMachineState { > /*< public >*/ > char *kvm_type; > > - const char *icp_type; > int32_t irq_map_nr; > unsigned long *irq_map; > sPAPRXive *xive; >
On Fri, Feb 15, 2019 at 12:40:06PM +0100, Greg Kurz wrote: > The base ICP class knows how to interact with KVM. Adapt sPAPR to use it > instead of the ICP KVM class. > > Signed-off-by: Greg Kurz <groug@kaod.org> Applied, thanks. > --- > hw/ppc/spapr_irq.c | 4 +--- > include/hw/ppc/spapr.h | 1 - > 2 files changed, 1 insertion(+), 4 deletions(-) > > diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c > index 48d6b2daed6e..e6893df61e76 100644 > --- a/hw/ppc/spapr_irq.c > +++ b/hw/ppc/spapr_irq.c > @@ -102,7 +102,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, > if (kvm_enabled()) { > if (machine_kernel_irqchip_allowed(machine) && > !xics_kvm_init(spapr, &local_err)) { > - spapr->icp_type = TYPE_KVM_ICP; > spapr->ics = spapr_ics_create(spapr, TYPE_ICS_KVM, nr_irqs, > &local_err); > } > @@ -117,7 +116,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, > > if (!spapr->ics) { > xics_spapr_init(spapr); > - spapr->icp_type = TYPE_ICP; > spapr->ics = spapr_ics_create(spapr, TYPE_ICS_SIMPLE, nr_irqs, > &local_err); > } > @@ -199,7 +197,7 @@ static void spapr_irq_cpu_intc_create_xics(sPAPRMachineState *spapr, > Object *obj; > sPAPRCPUState *spapr_cpu = spapr_cpu_state(cpu); > > - obj = icp_create(OBJECT(cpu), spapr->icp_type, XICS_FABRIC(spapr), > + obj = icp_create(OBJECT(cpu), TYPE_ICP, XICS_FABRIC(spapr), > &local_err); > if (local_err) { > error_propagate(errp, local_err); > diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h > index cbd276ed2b6a..631fc5103b7b 100644 > --- a/include/hw/ppc/spapr.h > +++ b/include/hw/ppc/spapr.h > @@ -178,7 +178,6 @@ struct sPAPRMachineState { > /*< public >*/ > char *kvm_type; > > - const char *icp_type; > int32_t irq_map_nr; > unsigned long *irq_map; > sPAPRXive *xive; >
diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 48d6b2daed6e..e6893df61e76 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -102,7 +102,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, if (kvm_enabled()) { if (machine_kernel_irqchip_allowed(machine) && !xics_kvm_init(spapr, &local_err)) { - spapr->icp_type = TYPE_KVM_ICP; spapr->ics = spapr_ics_create(spapr, TYPE_ICS_KVM, nr_irqs, &local_err); } @@ -117,7 +116,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr, int nr_irqs, if (!spapr->ics) { xics_spapr_init(spapr); - spapr->icp_type = TYPE_ICP; spapr->ics = spapr_ics_create(spapr, TYPE_ICS_SIMPLE, nr_irqs, &local_err); } @@ -199,7 +197,7 @@ static void spapr_irq_cpu_intc_create_xics(sPAPRMachineState *spapr, Object *obj; sPAPRCPUState *spapr_cpu = spapr_cpu_state(cpu); - obj = icp_create(OBJECT(cpu), spapr->icp_type, XICS_FABRIC(spapr), + obj = icp_create(OBJECT(cpu), TYPE_ICP, XICS_FABRIC(spapr), &local_err); if (local_err) { error_propagate(errp, local_err); diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index cbd276ed2b6a..631fc5103b7b 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -178,7 +178,6 @@ struct sPAPRMachineState { /*< public >*/ char *kvm_type; - const char *icp_type; int32_t irq_map_nr; unsigned long *irq_map; sPAPRXive *xive;
The base ICP class knows how to interact with KVM. Adapt sPAPR to use it instead of the ICP KVM class. Signed-off-by: Greg Kurz <groug@kaod.org> --- hw/ppc/spapr_irq.c | 4 +--- include/hw/ppc/spapr.h | 1 - 2 files changed, 1 insertion(+), 4 deletions(-)