Memory Management Unit.
More...
Memory Management Unit.
The MMU deals with technical details of paging and the Translation Lookaside Buffer.
- See also
- http://wiki.osdev.org/Memory_Management_Unit
-
http://www.lowlevel.eu/wiki/Steuerregister
-
http://wiki.osdev.org/TLB
Loads a page directory and enables paging.
- Parameters
-
page_directory | physical address of a page directory (or 0 if paging should be disabled) |
Definition at line 44 of file mmu.c.
void mmu_flush_tlb |
( |
void * |
vaddr | ) |
|
Flushes the Translation Lookaside Buffer for the given page.
This removes any cached mapping from virtual to physical addresses for this page, which is necessary when page directories are modified while they are in use.
- Parameters
-
vaddr | the virtual address of a page to flush |
Definition at line 69 of file mmu.c.
uint8_t mmu_get_paging |
( |
| ) |
|
Returns whether paging is enabled or disabled.
- Returns
- paging flag
Definition at line 57 of file mmu.c.
Handles page faults.
- Parameters
-
- Returns
- a (possibly altered) CPU state
Definition at line 80 of file mmu.c.
Loads a page directory into the CR3 register.
- Parameters
-
page_directory | physical address of a page directory |
Definition at line 34 of file mmu.c.