Hi, This series is based on Igor's "complete cpu QOMification" [1] but only modify the MIPS part. Igor posted an updated series [2], both series should apply separately.
Igor suggested on IRC this series could enter via the Machine core tree, so I added Eduardo and Marcel. Regards, Phil. [1]: http://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg04414.html [2]: http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg03364.html v2: - added Igor and James Tested-by - squashed "!fixup mips: now than MIPSCPU is QOMified, mark it abstract" PS: code movement somehow triggers a "binary vs unary operators" confusion in checkpatch: "ERROR: space prohibited after that '&' (ctx:WxW)" Igor Mammedov (2): mips: MIPSCPU model subclasses mips: replace cpu_mips_init() with cpu_generic_init() Philippe Mathieu-Daudé (5): mips: move hw/mips/cputimer.c to target/mips/ mips: introduce internal.h and cleanup cpu.h mips: split cpu_mips_realize_env() out of cpu_mips_init() mips: call cpu_mips_realize_env() from mips_cpu_realizefn() mips: update mips_cpu_list() to use object_class_get_list() target/mips/cpu-qom.h | 1 + target/mips/cpu.h | 357 +--------------------- target/mips/internal.h | 422 ++++++++++++++++++++++++++ hw/mips/cps.c | 2 +- hw/mips/mips_fulong2e.c | 2 +- hw/mips/mips_jazz.c | 2 +- hw/mips/mips_malta.c | 2 +- hw/mips/mips_mipssim.c | 2 +- hw/mips/mips_r4k.c | 2 +- hw/mips/cputimer.c => target/mips/cp0_timer.c | 2 +- target/mips/cpu.c | 57 +++- target/mips/gdbstub.c | 1 + target/mips/helper.c | 47 +++ target/mips/kvm.c | 1 + target/mips/machine.c | 1 + target/mips/msa_helper.c | 1 + target/mips/op_helper.c | 1 + target/mips/translate.c | 23 +- target/mips/translate_init.c | 68 +---- hw/mips/Makefile.objs | 2 +- target/mips/Makefile.objs | 2 +- 21 files changed, 549 insertions(+), 449 deletions(-) create mode 100644 target/mips/internal.h rename hw/mips/cputimer.c => target/mips/cp0_timer.c (99%) -- 2.14.1