Assume there is a memory instruction and it is going to load something. An address is generated and I want to record that. At application level, the address is virtual, but the at the end of the day, there should be a physical address for cache/memory lookup.
I found this topic, but didn't found anything more than that.
In Linux systems there is an interface that a user process can use to convert from Virtual to Physical addresses: /proc/self/pagemap
Use of the interface is documented at https://www.kernel.org/doc/Documentation/vm/pagemap.txt
Additional information about the page's translation is available using /proc/kpageflags, but that requires root access.