|
AquilaOS documentation
How it works, and its code
|
Mapping and unmapping a map entry's range in an address space, and the kernel's own address space (kvm_space). More...
#include <core/system.h>#include <core/arch.h>#include <core/panic.h>#include <mm/mm.h>#include <mm/vm.h>#include <ds/queue.h>#include <ds/hashmap.h>Go to the source code of this file.
Functions | |
| int | vm_map (struct vm_space *vm_space, struct vm_entry *vm_entry) |
| Maps a map entry's whole range at once: its physical memory (paddr), or new pages of memory if it has none. | |
| void | vm_unmap_full (struct vm_space *vm_space, struct vm_entry *vm_entry) |
| Unmaps every page of a map entry's range. | |
Variables | |
| struct vm_space | kvm_space |
Mapping and unmapping a map entry's range in an address space, and the kernel's own address space (kvm_space).
Definition in file vmm.c.
Maps a map entry's whole range at once: its physical memory (paddr), or new pages of memory if it has none.
Entries whose pages come in on page faults aren't mapped this way.
| vm_space | the address space |
| vm_entry | the entry |
Definition at line 29 of file vmm.c.
References vm_entry::base, vm_entry::flags, mm_map(), vm_entry::paddr, vm_space::pmap, vm_entry::size, and vm_map().
Referenced by acpi_map(), earlycon_fb_init(), fbdev_vesa_map(), fbdev_vesa_prope(), and vm_map().
Unmaps every page of a map entry's range.
The pages themselves stay with what holds them (the anon, the file, the device): only the mappings go.
| vm_space | the address space |
| vm_entry | the entry |
Definition at line 42 of file vmm.c.
References vm_entry::base, mm_unmap_full(), vm_space::pmap, vm_entry::size, and vm_unmap_full().
Referenced by sys_munmap(), and vm_unmap_full().
| struct vm_space kvm_space |
Definition at line 17 of file vmm.c.
Referenced by acpi_map(), earlycon_fb_init(), fbdev_vesa_prope(), kproc_init(), kvmem_alloc(), kvmem_selftest_run(), kvmem_unmap(), pmap_init(), proc_kill(), request_do(), slab_page_alloc(), slab_page_free(), tables_build(), tlb_shootdown(), and x86_ap_start().