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.

Reply via email to