Hi, I've been trying to figure out how to modify the softmmu for x86. I am only interested in system emulation at the moment. I've being trying to figure out the memory access functions, but the number of macros used makes this somewhat complicated. I have a few questions:
1. What is the difference between functions with suffix _mmu and those with suffix _cmmu? 2. What do the 4 values of the ACCESS_TYPE macro designate? 3. What is the difference between _raw, _kernel, and _user? Which ones are applicable to system emulation?
I also want to be able to intercept every physical memory access (I want to do some cache statistics experiments). Is there a single function (or maybe one for read and one for write) that all these accesses go through? I see several such as ldul_le_p (for example), cpu_physical_memory_rw, ldq_phys.