Hi, I'm adding a cache model into QEMU 0.12 I have encountered a problem that the cache miss error rate was high compared to real platform Creator(arm926) . I used the QEMU integrator board to run the experiment. I've modified softmmu_header.h softmmu_template.h target-arm/translate.c
e.g. in softmmu_header.h glue(glue(ld, USUFFIX), MEMSUFFIX)(target_ulong ptr) I monitored the ptr, I know that ptr is the access address e.g. in softmmu_template.h glue(glue(__ld, SUFFIX), MMUSUFFIX)(target_ulong addr e.g. target-arm/translate.c static inline TCGv gen_ld8s(TCGv addr, int index) { TCGv tmp = new_tmp(); gen_helper_cache_access(addr , tcg_const_i32(1) ); tcg_gen_qemu_ld8s(tmp, addr, index); return tmp; } I had taken care of all the related function. Is there anything I ignored when running with the model? I have also reduce the timer interrupt to make it closed enough with the real platform. SO the context switch overhead should be little enough.