Hi,
I have recently started using Qemu.
I have a very specific requirement which has been discussed previously at length. I want to capture the guest physical address trace of multithreaded programs (x86_64 arch). After going through the archives, I have been able to record the guest virtual memory trace (by inserting hooks in i386/translate.c ). However, I was wondering if there is an easy way to convert these guest virtual addresses to the guest physical address.
I understand that I have to modify the code somewhere between the translations guest_virtual->guest_host->host_virtual. However as far as I could understand, the
guest_virtual->guest_host is often bypassed if the base address is already present.
Can you please suggest ways to retrieve the guest physical addresses of all the memory accesses? For example, force Qemu to do the above translation all the time?
On a similar vein, I was wondering what is the use of cpu_get_phys_page_debug() function in cpu-all.h ? Can this be used for my purpose?
Any pointer would be greatly appreciated.
Thanks & Regards
Amit