FreeBSD virtual memory subsystem code
|
#include <machine/pmap.h>
Go to the source code of this file.
Data Structures | |
struct | pmap_statistics |
Macros | |
#define | PMAP_ENTER_NOSLEEP 0x00000100 |
#define | PMAP_ENTER_WIRED 0x00000200 |
#define | PMAP_ENTER_LARGEPAGE 0x00000400 |
#define | PMAP_ENTER_RESERVED 0xFF000000 |
#define | PMAP_TS_REFERENCED_MAX 5 |
#define | pmap_resident_count(pm) ((pm)->pm_stats.resident_count) |
#define | pmap_wired_count(pm) ((pm)->pm_stats.wired_count) |
Typedefs | |
typedef struct pmap_statistics * | pmap_statistics_t |
Functions | |
void | pmap_activate (struct thread *td) |
void | pmap_advise (pmap_t pmap, vm_offset_t sva, vm_offset_t eva, int advice) |
void | pmap_align_superpage (vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t) |
void | pmap_clear_modify (vm_page_t m) |
void | pmap_copy (pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t) |
void | pmap_copy_page (vm_page_t, vm_page_t) |
void | pmap_copy_pages (vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], vm_offset_t b_offset, int xfersize) |
int | pmap_enter (pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, u_int flags, int8_t psind) |
void | pmap_enter_object (pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) |
void | pmap_enter_quick (pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot) |
vm_paddr_t | pmap_extract (pmap_t pmap, vm_offset_t va) |
vm_page_t | pmap_extract_and_hold (pmap_t pmap, vm_offset_t va, vm_prot_t prot) |
void | pmap_growkernel (vm_offset_t) |
void | pmap_init (void) |
boolean_t | pmap_is_modified (vm_page_t m) |
boolean_t | pmap_is_prefaultable (pmap_t pmap, vm_offset_t va) |
boolean_t | pmap_is_referenced (vm_page_t m) |
boolean_t | pmap_is_valid_memattr (pmap_t, vm_memattr_t) |
vm_offset_t | pmap_map (vm_offset_t *, vm_paddr_t, vm_paddr_t, int) |
int | pmap_mincore (pmap_t pmap, vm_offset_t addr, vm_paddr_t *pap) |
void | pmap_object_init_pt (pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) |
boolean_t | pmap_page_exists_quick (pmap_t pmap, vm_page_t m) |
void | pmap_page_init (vm_page_t m) |
int | pmap_page_wired_mappings (vm_page_t m) |
int | pmap_pinit (pmap_t) |
void | pmap_pinit0 (pmap_t) |
void | pmap_protect (pmap_t, vm_offset_t, vm_offset_t, vm_prot_t) |
void | pmap_qenter (vm_offset_t, vm_page_t *, int) |
void | pmap_qremove (vm_offset_t, int) |
vm_offset_t | pmap_quick_enter_page (vm_page_t) |
void | pmap_quick_remove_page (vm_offset_t) |
void | pmap_release (pmap_t) |
void | pmap_remove (pmap_t, vm_offset_t, vm_offset_t) |
void | pmap_remove_all (vm_page_t m) |
void | pmap_remove_pages (pmap_t) |
void | pmap_remove_write (vm_page_t m) |
void | pmap_sync_icache (pmap_t, vm_offset_t, vm_size_t) |
int | pmap_ts_referenced (vm_page_t m) |
void | pmap_unwire (pmap_t pmap, vm_offset_t start, vm_offset_t end) |
void | pmap_zero_page (vm_page_t) |
void | pmap_zero_page_area (vm_page_t, int off, int size) |
Variables | |
vm_offset_t | kernel_vm_end |
#define pmap_resident_count | ( | pm | ) | ((pm)->pm_stats.resident_count) |
typedef struct pmap_statistics* pmap_statistics_t |
void pmap_activate | ( | struct thread * | td | ) |
void pmap_advise | ( | pmap_t | pmap, |
vm_offset_t | sva, | ||
vm_offset_t | eva, | ||
int | advice | ||
) |
Referenced by vm_fault_dontneed(), and vm_map_madvise().
void pmap_align_superpage | ( | vm_object_t | , |
vm_ooffset_t | , | ||
vm_offset_t * | , | ||
vm_size_t | |||
) |
void pmap_clear_modify | ( | vm_page_t | m | ) |
void pmap_copy | ( | pmap_t | , |
pmap_t | , | ||
vm_offset_t | , | ||
vm_size_t | , | ||
vm_offset_t | |||
) |
void pmap_copy_page | ( | vm_page_t | , |
vm_page_t | |||
) |
Referenced by vm_fault_copy_entry(), vm_fault_cow(), and vm_page_reclaim_run().
void pmap_copy_pages | ( | vm_page_t | ma[], |
vm_offset_t | a_offset, | ||
vm_page_t | mb[], | ||
vm_offset_t | b_offset, | ||
int | xfersize | ||
) |
int pmap_enter | ( | pmap_t | pmap, |
vm_offset_t | va, | ||
vm_page_t | m, | ||
vm_prot_t | prot, | ||
u_int | flags, | ||
int8_t | psind | ||
) |
Referenced by kmem_alloc_attr_domain(), kmem_alloc_contig_domain(), kmem_back_domain(), vm_fault(), vm_fault_copy_entry(), vm_fault_populate(), and vm_fault_soft_fast().
void pmap_enter_object | ( | pmap_t | pmap, |
vm_offset_t | start, | ||
vm_offset_t | end, | ||
vm_page_t | m_start, | ||
vm_prot_t | prot | ||
) |
void pmap_enter_quick | ( | pmap_t | pmap, |
vm_offset_t | va, | ||
vm_page_t | m, | ||
vm_prot_t | prot | ||
) |
vm_paddr_t pmap_extract | ( | pmap_t | pmap, |
vm_offset_t | va | ||
) |
vm_page_t pmap_extract_and_hold | ( | pmap_t | pmap, |
vm_offset_t | va, | ||
vm_prot_t | prot | ||
) |
void pmap_growkernel | ( | vm_offset_t | ) |
void pmap_init | ( | void | ) |
boolean_t pmap_is_modified | ( | vm_page_t | m | ) |
Referenced by kern_mincore(), vm_page_advise(), and vm_page_test_dirty().
boolean_t pmap_is_prefaultable | ( | pmap_t | pmap, |
vm_offset_t | va | ||
) |
boolean_t pmap_is_referenced | ( | vm_page_t | m | ) |
Referenced by kern_mincore(), and vm_swapout_object_deactivate_page().
boolean_t pmap_is_valid_memattr | ( | pmap_t | , |
vm_memattr_t | |||
) |
vm_offset_t pmap_map | ( | vm_offset_t * | , |
vm_paddr_t | , | ||
vm_paddr_t | , | ||
int | |||
) |
Referenced by startup_alloc(), vm_page_array_alloc(), and vm_page_startup().
int pmap_mincore | ( | pmap_t | pmap, |
vm_offset_t | addr, | ||
vm_paddr_t * | pap | ||
) |
void pmap_object_init_pt | ( | pmap_t | pmap, |
vm_offset_t | addr, | ||
vm_object_t | object, | ||
vm_pindex_t | pindex, | ||
vm_size_t | size | ||
) |
boolean_t pmap_page_exists_quick | ( | pmap_t | pmap, |
vm_page_t | m | ||
) |
void pmap_page_init | ( | vm_page_t | m | ) |
Referenced by vm_page_init_page(), and vm_page_initfake().
int pmap_page_wired_mappings | ( | vm_page_t | m | ) |
int pmap_pinit | ( | pmap_t | ) |
void pmap_pinit0 | ( | pmap_t | ) |
void pmap_protect | ( | pmap_t | , |
vm_offset_t | , | ||
vm_offset_t | , | ||
vm_prot_t | |||
) |
Referenced by kmem_init_zero_region(), vm_map_copy_entry(), and vm_map_protect().
void pmap_qenter | ( | vm_offset_t | , |
vm_page_t * | , | ||
int | |||
) |
Referenced by kmem_init_zero_region(), noobj_alloc(), pcpu_page_alloc(), swp_pager_strategy(), vm_thread_stack_create(), vm_thread_swapin(), vnode_pager_generic_getpages(), and vnode_pager_generic_getpages_done().
void pmap_qremove | ( | vm_offset_t | , |
int | |||
) |
Referenced by pcpu_page_free(), swp_pager_async_iodone(), vm_thread_stack_create(), vm_thread_stack_dispose(), vm_thread_swapout(), and vnode_pager_generic_getpages_done().
vm_offset_t pmap_quick_enter_page | ( | vm_page_t | ) |
void pmap_quick_remove_page | ( | vm_offset_t | ) |
void pmap_release | ( | pmap_t | ) |
void pmap_remove | ( | pmap_t | , |
vm_offset_t | , | ||
vm_offset_t | |||
) |
Referenced by _kmem_unback(), kmem_bootstrap_free(), startup_free(), vm_map_delete(), vm_map_sync(), and vm_swapout_map_deactivate_pages().
void pmap_remove_all | ( | vm_page_t | m | ) |
Referenced by cdev_pager_free_page(), vm_fault_cow(), vm_object_page_remove(), vm_page_set_invalid(), and vm_page_try_remove_all().
void pmap_remove_pages | ( | pmap_t | ) |
void pmap_remove_write | ( | vm_page_t | m | ) |
Referenced by vm_object_page_remove_write(), and vm_page_try_remove_write().
void pmap_sync_icache | ( | pmap_t | , |
vm_offset_t | , | ||
vm_size_t | |||
) |
int pmap_ts_referenced | ( | vm_page_t | m | ) |
Referenced by vm_pageout_launder(), vm_pageout_scan_active(), and vm_pageout_scan_inactive().
void pmap_unwire | ( | pmap_t | pmap, |
vm_offset_t | start, | ||
vm_offset_t | end | ||
) |
void pmap_zero_page | ( | vm_page_t | ) |
Referenced by _vm_page_alloc_noobj_domain(), default_phys_pager_getpages(), kmem_alloc_attr_domain(), kmem_alloc_contig_domain(), kmem_back_domain(), vm_fault_zerofill(), vm_page_alloc_noobj_contig_domain(), vm_page_grab(), vm_page_grab_pages(), vm_page_grab_pages_unlocked(), and vnode_pager_generic_getpages().
void pmap_zero_page_area | ( | vm_page_t | , |
int | off, | ||
int | size | ||
) |
Referenced by vm_page_set_valid_range(), vm_page_set_validclean(), vm_page_zero_invalid(), and vnode_pager_subpage_purge().
|
extern |
Referenced by vm_map_insert().