|
My Kernel v0.1.0
|

Go to the source code of this file.
Enumerations | |
| enum | mmu_prot { PROT_NONE = 0x0 , PROT_EXEC = 0x1 , PROT_READ = 0x2 , PROT_WRITE = 0x4 , PROT_KERNEL = 0x8 } |
| Protection flags passed to the mmu's functions. More... | |
Functions | |
| bool | mmu_init (void) |
| Initialize the MMU's paging system. More... | |
| paddr_t | mmu_new (void) |
| Allocate and initialize a new page directory. More... | |
| void | mmu_destroy (paddr_t mmu) |
| Release the MMU's page_directory. More... | |
| void | mmu_clone (paddr_t destination) |
| Clone the current MMU inside another one. | |
| error_t | mmu_copy_on_write (vaddr_t) |
| Try to remap a potential copy-on-write mapping. | |
| void | mmu_load (paddr_t mmu) |
| Replace the current page directory. More... | |
| bool | mmu_map (vaddr_t virt, paddr_t physical, int prot) |
| Map a virtual address to a physical one. More... | |
| bool | mmu_map_range (vaddr_t virt, paddr_t physical, size_t size, int prot) |
| Map a range of virtual addresses to physical ones. More... | |
| paddr_t | mmu_unmap (vaddr_t virt) |
| Unmap a virtual address. More... | |
| void | mmu_unmap_range (vaddr_t start, vaddr_t end) |
| Unmap a range of virtual addresses. More... | |
| void | mmu_identity_map (paddr_t start, paddr_t end, int prot) |
| Perform identity mapping inside a given virtual address range. More... | |
| paddr_t | mmu_find_physical (vaddr_t) |
| Find the physical mapping of a virtual address. More... | |
| static bool | mmu_is_mapped (vaddr_t addr) |