Hello, This series converts the SuperH CPU to QOM. Subclasses and the controversial QOM'ification of the SH7750 SoC are postponed.
I tested it using the sh-test-0.2 test image. Patches 1-3 do the actual CPU QOM'ification, introducing SuperHCPU. Patch 4 is a bugfix noticed during QOM'ification. Patches 5-13 propagates the CPUSH4State -> SuperHCPU change throughout helpers. Available at: git://github.com/afaerber/qemu-cpu.git qom-cpu-sh4.v2 https://github.com/afaerber/qemu-cpu/commits/qom-cpu-sh4.v2 Regards, Andreas Cc: Aurélien Jarno <aurel...@aurel32.net> v1 -> v2: * Rebased, now ordered after microblaze QOM'ification. * Fix LGPLv2.1 license notice ("Library" vs. "Lesser" bug in German GNU webpage). * Split QOM'ification into three steps to show code movements. * Drop subclasses and SoC QOM'ification for now. Andreas Färber (13): target-sh4: QOM'ify CPU target-sh4: QOM'ify CPU reset target-sh4: Start QOM'ifying CPU init target-sh4: Do not reset CPU feature flags on reset hw/sh7750: Use SuperHCPU target-sh4: Make cpu_sh4_invalidate_tlb() take SuperHCPU target-sh4: Make increment_urc() take SuperHCPU target-sh4: Make find_*tlb_entry() take SuperHCPU target-sh4: Make cpu_sh4_{read,write}_mmaped_{i,u}tlb_addr() take CPU target-sh4: Make get_{physical,mmu}_address() take SuperHCPU target-sh4: Make copy_utlb_entry_itlb() take SuperHCPU target-sh4: Make update_itlb_use() take SuperHCPU target-sh4: Make itlb_replacement() use SuperHCPU Makefile.target | 1 + hw/sh7750.c | 54 +++++++------- target-sh4/cpu-qom.h | 74 +++++++++++++++++++ target-sh4/cpu.c | 92 +++++++++++++++++++++++ target-sh4/cpu.h | 24 +++--- target-sh4/helper.c | 188 +++++++++++++++++++++++++----------------------- target-sh4/translate.c | 32 ++------- 7 files changed, 312 insertions(+), 153 deletions(-) create mode 100644 target-sh4/cpu-qom.h create mode 100644 target-sh4/cpu.c -- 1.7.7