Am 25.02.2014 08:36, schrieb Andreas Färber: > Hello, > > Here's my cleaned up version of slim x86 CPU subclasses. > Second patch didn't get a lot of testing yet. > > Loading cpudef is still in main initfn since otherwise the host type > would need to be relocated. Can be cleaned up as follow-ups. > > I wonder whether we are intentionally registering the host type even for > !CONFIG_KVM? Instantiating it will then always lead to assertion failure.
Ping! Did anyone review or test? Still applies after new x2apic patches. Andreas > Available for testing here: > git://github.com/afaerber/qemu-cpu.git qom-cpu-x86-subclasses.v10 > https://github.com/afaerber/qemu-cpu/commits/qom-cpu-x86-subclasses.v10 > > Regards, > Andreas > > v9 -> v10: > * Cleaned up documentation comments. > * Prepended patch to implement CPUClass::class_by_name(), rebased on it. > * Cleaned up naming (..._class_init, ..._initfn, type vs. class). > * Dropped duplicate white line. > * Dropped unnecessary .abstract, .instance_size, .class_size fields. > * Aligned model type registration with other targets by having the > registration function operate on one model only. > * Relocated cpudef-based types to after x86_cpu_load_cpudef(). > * Moved assignment of cpu_def into cpudef-specific class_init. > > (went through various hands, last ehabkost's) > > v2 -> v3: > * Instead of re-coding all CPU definitions as class_init functions, leave > the built-in definition array in place and place x86_def_t in the class. > * Use kvm_arch_init() hook to assure class_init succeeds for -cpu host. > Suggested by Eduardo. > > v1-> v2: > * Instead of turning x86_def_t into X86CPUInfo to initialize classes, > drop it completely and register types manually with customizable TypeInfos > * Use new list facilities for printing -cpu ? models > * Adopt new name scheme suggested by Eduardo and ideas from my alpha series > * Keep short names in -cpu ? output for alignment reasons > * Merge cpu_x86_init() into cpu.c:cpu_x86_register() > * Append patch showing Haswell as subclass of SandyBridge > > Cc: Eduardo Habkost <ehabk...@redhat.com> > Cc: Igor Mammedov <imamm...@redhat.com> > Cc: Paolo Bonzini <pbonz...@redhat.com> > Cc: Anthony Liguori <anth...@codemonkey.ws> > > Andreas Färber (1): > target-i386: Prepare CPUClass::class_by_name for X86CPU > > Eduardo Habkost (1): > target-i386: X86CPU model subclasses > > target-i386/cpu-qom.h | 15 ++++ > target-i386/cpu.c | 197 > +++++++++++++++++++++++++++++++------------------- > 2 files changed, 138 insertions(+), 74 deletions(-) -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg