[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 15/23] ppc: spapr: register 'host' co
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 15/23] ppc: spapr: register 'host' core type along with the rest of core types |
Date: |
Fri, 6 Oct 2017 11:07:14 +0200 |
On Fri, 6 Oct 2017 15:41:04 +1100
David Gibson <address@hidden> wrote:
> On Thu, Oct 05, 2017 at 06:24:42PM +0200, Igor Mammedov wrote:
> > consolidate 'host' core type registration by moving it from
> > KVM specific code into spapr_cpu_core.c, similar like it's
> > done in x86 target.
> >
> > Signed-off-by: Igor Mammedov <address@hidden>
>
> IIUC this will change behaviour slightly: with this patch the 'host'
> core type will show up whenever CONFIG_KVM is set, even if the KVM
> accelerator is disabled on the command line. Previously it would not.
>
> Is this change intentional?
yep, we do the same on x86
>
> > ---
> > include/hw/ppc/spapr_cpu_core.h | 1 -
> > hw/ppc/spapr_cpu_core.c | 5 ++++-
> > target/ppc/kvm.c | 11 -----------
> > 3 files changed, 4 insertions(+), 13 deletions(-)
> >
> > diff --git a/include/hw/ppc/spapr_cpu_core.h
> > b/include/hw/ppc/spapr_cpu_core.h
> > index 264ce68..42765de 100644
> > --- a/include/hw/ppc/spapr_cpu_core.h
> > +++ b/include/hw/ppc/spapr_cpu_core.h
> > @@ -38,5 +38,4 @@ typedef struct sPAPRCPUCoreClass {
> > } sPAPRCPUCoreClass;
> >
> > char *spapr_get_cpu_core_type(const char *model);
> > -void spapr_cpu_core_class_init(ObjectClass *oc, void *data);
> > #endif
> > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> > index 8e13e52..f2da4be 100644
> > --- a/hw/ppc/spapr_cpu_core.c
> > +++ b/hw/ppc/spapr_cpu_core.c
> > @@ -220,7 +220,7 @@ static Property spapr_cpu_core_properties[] = {
> > DEFINE_PROP_END_OF_LIST()
> > };
> >
> > -void spapr_cpu_core_class_init(ObjectClass *oc, void *data)
> > +static void spapr_cpu_core_class_init(ObjectClass *oc, void *data)
> > {
> > DeviceClass *dc = DEVICE_CLASS(oc);
> > sPAPRCPUCoreClass *scc = SPAPR_CPU_CORE_CLASS(oc);
> > @@ -257,6 +257,9 @@ static const TypeInfo spapr_cpu_core_type_infos[] = {
> > DEFINE_SPAPR_CPU_CORE_TYPE("power8e_v2.1"),
> > DEFINE_SPAPR_CPU_CORE_TYPE("power8nvl_v1.0"),
> > DEFINE_SPAPR_CPU_CORE_TYPE("power9_v1.0"),
> > +#ifdef CONFIG_KVM
> > + DEFINE_SPAPR_CPU_CORE_TYPE("host"),
> > +#endif
> > };
> >
> > DEFINE_TYPES(spapr_cpu_core_type_infos)
> > diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
> > index c2152ed..cb5777a 100644
> > --- a/target/ppc/kvm.c
> > +++ b/target/ppc/kvm.c
> > @@ -2508,17 +2508,6 @@ static int kvm_ppc_register_host_cpu_type(void)
> > oc = object_class_by_name(type_info.name);
> > g_assert(oc);
> >
> > -#if defined(TARGET_PPC64)
> > - type_info.name = g_strdup_printf("%s-"TYPE_SPAPR_CPU_CORE, "host");
> > - type_info.parent = TYPE_SPAPR_CPU_CORE,
> > - type_info.instance_size = sizeof(sPAPRCPUCore);
> > - type_info.instance_init = NULL;
> > - type_info.class_init = spapr_cpu_core_class_init;
> > - type_info.class_data = (void *) POWERPC_CPU_TYPE_NAME("host");
> > - type_register(&type_info);
> > - g_free((void *)type_info.name);
> > -#endif
> > -
> > /*
> > * Update generic CPU family class alias (e.g. on a POWER8NVL host,
> > * we want "POWER8" to be a "family" alias that points to the current
>