mmu.inc

Summary
mmu.inc
Address TranslationSince we don’t use segmentation, this is how address translation works
Page Translation
Macros
Page Directory Flags
Page Table Flags

Address Translation

Since we don’t use segmentation, this is how address translation works

31       21       11       0
+--------+--------+--------+
|   DIR  |  PAGE  | OFFSET |
+--------+--------+--------+
              |
              v
        Page Translation
              |
31            v            0
+--------------------------+
|     Pyshical address     |
+--------------------------+

Page Translation

+--------+--------+--------+             +--------+
|   DIR  |  PAGE  | OFFSET |-----+       |  Phys  |
+--------+--------+--------+     +------>|  addr  |
  |             |                        |        |
  |             +----+                   +--------+
  |   Page Dir       |             +---> Page Frame
  |  +---------+     |  +--------+ |
  |  |         |     |  |        | |
  +->| PDE     |-+   +->| PTE    |-+
     |         | |      |        |
     +---------+ |      +--------+
                 +----> Page Table

Macros

Page Directory Flags

PDE_PPresent
PDE_WWritable
PDE_UUser
PDE_PWTWrite-Through
PDE_PS4MiB page

Page Table Flags

PTE_PPresent
PTE_WWritable
PTE_UUser
PTE_PWTWrite-Through
PTE_PCDCache Disable
PTE_AAccessed
PTE_DDirty
PTE_PATTODO
PTE_GTODO
Close