Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/include/pmap.h
Show First 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | |||||
/* | /* | ||||
* Macros to test if a mapping is mappable with an L1 Section mapping | * Macros to test if a mapping is mappable with an L1 Section mapping | ||||
* or an L2 Large Page mapping. | * or an L2 Large Page mapping. | ||||
*/ | */ | ||||
#define L1_MAPPABLE_P(va, pa, size) \ | #define L1_MAPPABLE_P(va, pa, size) \ | ||||
((((va) | (pa)) & L1_OFFSET) == 0 && (size) >= L1_SIZE) | ((((va) | (pa)) & L1_OFFSET) == 0 && (size) >= L1_SIZE) | ||||
void pmap_bootstrap(vm_offset_t, vm_paddr_t, vm_size_t); | void pmap_bootstrap(vm_offset_t, vm_paddr_t, vm_size_t); | ||||
void pmap_kenter(vm_offset_t, vm_paddr_t); | |||||
void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t); | void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t); | ||||
vm_paddr_t pmap_kextract(vm_offset_t va); | vm_paddr_t pmap_kextract(vm_offset_t va); | ||||
void pmap_kremove(vm_offset_t); | void pmap_kremove(vm_offset_t); | ||||
void pmap_kremove_device(vm_offset_t, vm_size_t); | void pmap_kremove_device(vm_offset_t, vm_size_t); | ||||
void *pmap_mapdev(vm_offset_t, vm_size_t); | void *pmap_mapdev(vm_offset_t, vm_size_t); | ||||
void *pmap_mapbios(vm_paddr_t, vm_size_t); | void *pmap_mapbios(vm_paddr_t, vm_size_t); | ||||
void pmap_unmapdev(vm_offset_t, vm_size_t); | void pmap_unmapdev(vm_offset_t, vm_size_t); | ||||
void pmap_unmapbios(vm_offset_t, vm_size_t); | void pmap_unmapbios(vm_offset_t, vm_size_t); | ||||
boolean_t pmap_map_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); | boolean_t pmap_map_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); | ||||
void pmap_unmap_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); | void pmap_unmap_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); | ||||
bool pmap_get_tables(pmap_t, vm_offset_t, pd_entry_t **, pd_entry_t **, | |||||
pt_entry_t **); | |||||
#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) | #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* !LOCORE */ | #endif /* !LOCORE */ | ||||
#endif /* !_MACHINE_PMAP_H_ */ | #endif /* !_MACHINE_PMAP_H_ */ |