JulienMatthey-4453 avatar image
0 Votes"
JulienMatthey-4453 asked ·

Translation of a 64 bits virtual address

I read this tutorial on msdn on translating a 32 bits virtual address to it's physical address "by hand". I want to do the same but for a 64 bits address.

From this article I found that a 64 bits virt. address bits are :

[47-39] Page Directory Pointer
[38-30] Page Directory (Index?)
[29-21] Page Table (Index?)
[20-12] Page Table Entry (Index?)
[11-0] Byte offset of the data in the page

In the article the PTE is found using a GUI but I want to do it in code.

From the tutorial for a 32 bits virt. address we have :

PTE address = PTE_BASE
+ (page directory index) PAGE_SIZE
+ (page table index)
= 0xc0000000
+ 0x0 0x1000
+ 0x12F
= 0xC00004BC

How do I do the same for a 64 bits virt. address using PDP/PD/PT/PTE ?

Thank you.

· 2
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.


I am doing research on this issue now, if there's any update, I will feedback as soon as possible.

Best Regards,

0 Votes 0 ·

Hi, I have found this article which explains a lot - if it can help.

1 Vote 1 ·

0 Answers