Hi, This series is based on Igor's "complete cpu QOMification" [1] but only modify the MIPS part. Igor posted an updated series [2].
Yongbok: this series is now ready to apply to your MIPS tree :) 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 v3: - added Eduardo Habkost Acked-by and Reviewed-by - put Eduardo patch 4 review comment in commit message - address Eduardo's patch 5 review (use correct type, unnecessary null check) - drop patch 7 in favor of a "generic mechanism to list CPU models using the QOM hierarchy" 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é (4): 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() 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 | 54 +++- target/mips/gdbstub.c | 1 + target/mips/helper.c | 1 + 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 | 58 +--- hw/mips/Makefile.objs | 2 +- target/mips/Makefile.objs | 2 +- 21 files changed, 500 insertions(+), 439 deletions(-) create mode 100644 target/mips/internal.h rename hw/mips/cputimer.c => target/mips/cp0_timer.c (99%) -- 2.14.1