Page table mapping

Viewed 38
    //=======   init page
.align 8

.org    0x1000

__PML4E:

    .quad   0x102007
    .fill   255,8,0
    .quad   0x102007
    .fill   255,8,0

.org    0x2000

__PDPTE:
    
    .quad   0x103003
    .fill   511,8,0

.org    0x3000

__PDE:

    .quad   0x000083    
    .quad   0x200083
    .quad   0x400083
    .quad   0x600083
    .quad   0x800083
    .quad   0xe0000083      /*0x a00000*/
    .quad   0xe0200083
    .quad   0xe0400083
    .quad   0xe0600083
    .quad   0xe0800083      /*0x1000000*/
    .quad   0xe0a00083
    .quad   0xe0c00083
    .quad   0xe0e00083
    .fill   499,8,0

The code maps 16MB memory from physical address 0xe0000000 to linear address 0xa00000. Why? And what's meaning of 0xe0000083/0xe0800083 these represents? I've read intel manual, 0xe0000083 this how to correspond to PTE layout? Appreciate!

enter image description here layout.

0 Answers
Related