Hello Aurélien, This series introduces SuperH CPU subclasses. The first conversion to QOM patch had used a declarative approach reusing sh4_def_t as SuperHCPUInfo. This approach now uses imperative instance_init functions. To preserve -cpu ? output and case-insensitivity, distinct name and type name are used, but allowing use of the type name as done for alpha.
v2 got no review feedback. v3 resolves two TODOs, fixing a potential assertion and moving CPU code out of translate.c. That way cpu_init() is easier locatable across targets and CPU init refactorings are less likely to trigger rebuild of translation. Based on my pending qom-cpu pull request. Available for testing at: git://github.com/afaerber/qemu-cpu.git qom-cpu-sh4-classes.v3 https://github.com/afaerber/qemu-cpu/commits/qom-cpu-sh4-classes.v3 Regards, Andreas v2 -> v3: * Added check for new object_class_is_abstract(). * Moved superh_cpu_class_by_name() and cpu_sh4_init() to cpu.c. v2: * Fixed bug in class name comparison, spotted by Igor. * Refactored name -> ObjectClass mapping into new function. * Moved realizefn patch into CPUState series, rebased. v1 -> preview on GitHub: * Redone, using combination of initfn and class_init instead of SuperHCPUInfo. * Adopted naming scheme suggested by Eduardo. * Split out SuperHCPUClass field movements into separate patch. Cc: Aurélien Jarno <aurel...@aurel32.net> Andreas Färber (2): target-sh4: Introduce SuperHCPU subclasses target-sh4: Move PVR/PRR/CVR into SuperHCPUClass hw/sh7750.c | 10 ++- target-sh4/cpu-qom.h | 13 ++++ target-sh4/cpu.c | 180 +++++++++++++++++++++++++++++++++++++++++++++++- target-sh4/cpu.h | 3 - target-sh4/translate.c | 84 ---------------------- 5 Dateien geändert, 199 Zeilen hinzugefügt(+), 91 Zeilen entfernt(-) -- 1.7.10.4