I am working on a qemu modification that would output memory traces in a format acceptable to Dinero IV. I've seen some previous proto-type work done on this with mips and x86, but I am specifically interested in arm. Currently, I am able to dump the virtual address of all ld/st instructions. I believe I am on the right track for instruction fetches, just dumping the pc at translation time - should give me the virtual address of the current instruction. I previously tried dumping r15 - the pc for arm - but it wasn't always updated for every instruction.
What I would like is to be able to get the physical addresses of both data and instructions. Can anyone help me work through how to get the properly translated physical addresses given the virtual address? If there isn't an api/function call that does the translation, it would be nice to have a helper function like: uint64_t gen_helper_virtual_to_physical_translation(uint64_t virtualAddr) I'm not sure it needs to be a defined "helper function", but I'm familiar with generating those, so it makes sense like that... Thanks for any help,