Get virtual address (void*), check /proc/self/maps, check /proc/self/pagemap. See this post: http://stackoverflow.com/a/6261020
for an explanation.
Remember to lock the page first, or the virtual memory system could change the mapping at any time. Also ask yourself why
you want to do that. If hardware memory addresses matter for your code, you should probably be writing a kernel module. (If you are
writing kernel code, check the other answers on the linked page, I'm not familiar with kernel internals myself but someone else may know.)