From: Thomas Huth Date: Tue, 9 Aug 2016 17:00:00 +0000 (+0200) Subject: ppc/kvm: Do not mess up the generic CPU family registration X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9c83fc2e8e1630e4d0fb10055563844b6e2cf2e0;p=qemu.git ppc/kvm: Do not mess up the generic CPU family registration The code for registering the sPAPR CPU host core type has been added inbetween the generic CPU host core type and the generic CPU family type. That way the instance_init and the class_init information got lost when registering the generic CPU family type. Fix it by moving the generic family registration before the spapr cpu core registration code. Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c index 84764edeae..82b1df9bc0 100644 --- a/target-ppc/kvm.c +++ b/target-ppc/kvm.c @@ -2394,6 +2394,13 @@ static int kvm_ppc_register_host_cpu_type(void) type_info.parent = object_class_get_name(OBJECT_CLASS(pvr_pcc)); type_register(&type_info); + /* Register generic family CPU class for a family */ + pvr_pcc = ppc_cpu_get_family_class(pvr_pcc); + dc = DEVICE_CLASS(pvr_pcc); + type_info.parent = object_class_get_name(OBJECT_CLASS(pvr_pcc)); + type_info.name = g_strdup_printf("%s-"TYPE_POWERPC_CPU, dc->desc); + type_register(&type_info); + #if defined(TARGET_PPC64) type_info.name = g_strdup_printf("%s-"TYPE_SPAPR_CPU_CORE, "host"); type_info.parent = TYPE_SPAPR_CPU_CORE, @@ -2406,13 +2413,6 @@ static int kvm_ppc_register_host_cpu_type(void) type_info.instance_init = NULL; #endif - /* Register generic family CPU class for a family */ - pvr_pcc = ppc_cpu_get_family_class(pvr_pcc); - dc = DEVICE_CLASS(pvr_pcc); - type_info.parent = object_class_get_name(OBJECT_CLASS(pvr_pcc)); - type_info.name = g_strdup_printf("%s-"TYPE_POWERPC_CPU, dc->desc); - type_register(&type_info); - return 0; }