Hi Alex, I'm currently trying to poison some more target-specific defines and noticed something fishy:
In commit 1f5c00cfdb8114c ("move tlb_flush to cpu_common_reset") you moved the call to tlb_flush() to qom/cpu.c and guarded it with a #ifdef CONFIG_SOFTMMU. However, qom/cpu.c is common code (common-obj-y in the Makefile), so CONFIG_SOFTMMU is *never* defined here, i.e. the tlb_flush() is never called anymore! (this is also quite obvious since you've changed the prototype of tlb_flush() in d10eb08f5d83 later without adapting qom/cpu.c). Not sure how to fix this in a nice way, though ... shall we move the tlb_flush() back to the target-specific reset handlers? Thomas