Am 23.01.2013 13:07, schrieb Andreas Färber: > Hello, > > This series fixes a number of bugs surrounding QOM CPU instantiation. > Please ack.
Ping. > First, two remaining users of type_register_static() for iterative CPU type > registration are moved over to type_register(). TBD: better commit message > > Second, error checking for -cpu some-random-type is added. > This also prepares infrastructure for converting arm, m68k, or32 and uc32 > to the new <name>-<arch>-cpu type name scheme in follow-up series. > > Third, error checking for -cpu <arch>-cpu and any future abstract sub-types > is added. A new object_class_is_abstract() accessor function is needed. > > Note that the ppc target got around this by using object_class_get_list() > rather than object_class_by_name(). I have applied minor style tweaks for arm and fixed two trivial bugs for openrisc and unicore32: https://github.com/afaerber/qemu-cpu/commits/qom-cpu-types If there are no more objections, I will apply 3-14 to qom-cpu tonight with a goal of sending a pull early next week. This shall serve as base for getting rid of the unfortunate "any" types that are now a device, therefore the Hard Freeze-induced time pressure. > The CPU realizefn series will need to be rebased on this one (class_init). https://github.com/afaerber/qemu-cpu/commits/qom-cpu-realize There were a few acks already, so once the prereqs from this type bugfix series are in qom-cpu, I will apply the realizefn series to qom-cpu-next as base for SuperH, X86CPU and further CPU subclasses. Andreas > Regards, > Andreas > > Cc: Peter Maydell <peter.mayd...@linaro.org> > Cc: Richard Henderson <r...@twiddle.net> > Cc: Jia Liu <pro...@gmail.com> > Cc: Guan Xuetao <g...@mprc.pku.edu.cn> > Cc: Alexander Graf <ag...@suse.de> > Cc: Anthony Liguori <anth...@codemonkey.ws> > > Andreas Färber (14): > target-openrisc: Don't use type_register_static() > target-unicore32: Don't use type_register_static() > cpu: Add model resolution support to CPUClass > target-arm: Detect attempt to instantiate non-CPU type in cpu_init() > target-alpha: Detect attempt to instantiate non-CPU type in > cpu_init() > target-m68k: Detect attempt to instantiate non-CPU type in cpu_init() > target-openrisc: Detect attempt to instantiate non-CPU type in > cpu_init() > target-unicore32: Detect attempt to instantiate non-CPU type in > cpu_init() > qom: Introduce object_class_is_abstract() > target-alpha: Catch attempt to instantiate abstract type in > cpu_init() > target-arm: Catch attempt to instantiate abstract type in cpu_init() > target-m68k: Catch attempt to instantiate abstract type in cpu_init() > target-openrisc: Catch attempt to instantiate abstract type in > cpu_init() > target-unicore32: Catch attempt to instantiate abstract type in > cpu_init() > > include/qom/cpu.h | 13 +++++++++++++ > include/qom/object.h | 8 ++++++++ > qom/cpu.c | 13 +++++++++++++ > qom/object.c | 5 +++++ > target-alpha/cpu.c | 16 ++++++++++++++-- > target-arm/cpu.c | 18 ++++++++++++++++++ > target-arm/helper.c | 6 ++++-- > target-m68k/cpu.c | 18 ++++++++++++++++++ > target-m68k/helper.c | 6 ++++-- > target-openrisc/cpu.c | 27 ++++++++++++++++++++++++--- > target-ppc/translate_init.c | 2 ++ > target-unicore32/cpu.c | 26 +++++++++++++++++++++++++- > target-unicore32/helper.c | 4 +++- > 13 Dateien geändert, 151 Zeilen hinzugefügt(+), 11 Zeilen entfernt(-) -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg