Am 26.01.2013 18:16, schrieb Andreas Färber: > 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 Done: https://github.com/afaerber/qemu-cpu/commits/qom-cpu Andreas > 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