Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/include/pmap.h
Show First 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | |||||
* XXX doesn't really belong here I guess... | * XXX doesn't really belong here I guess... | ||||
*/ | */ | ||||
#define ISA_HOLE_START 0xa0000 | #define ISA_HOLE_START 0xa0000 | ||||
#define ISA_HOLE_LENGTH (0x100000-ISA_HOLE_START) | #define ISA_HOLE_LENGTH (0x100000-ISA_HOLE_START) | ||||
#define PMAP_PCID_NONE 0xffffffff | #define PMAP_PCID_NONE 0xffffffff | ||||
#define PMAP_PCID_KERN 0 | #define PMAP_PCID_KERN 0 | ||||
#define PMAP_PCID_OVERMAX 0x1000 | #define PMAP_PCID_OVERMAX 0x1000 | ||||
#define PMAP_PCID_OVERMAX_KERN 0x800 | |||||
#define PMAP_PCID_USER_PT 0x800 | |||||
#define PMAP_NO_CR3 (~0UL) | |||||
#ifndef LOCORE | #ifndef LOCORE | ||||
#include <sys/queue.h> | #include <sys/queue.h> | ||||
#include <sys/_cpuset.h> | #include <sys/_cpuset.h> | ||||
#include <sys/_lock.h> | #include <sys/_lock.h> | ||||
#include <sys/_mutex.h> | #include <sys/_mutex.h> | ||||
#include <vm/_vm_radix.h> | #include <vm/_vm_radix.h> | ||||
▲ Show 20 Lines • Show All 191 Lines • ▼ Show 20 Lines | |||||
void pmap_invalidate_cache_pages(vm_page_t *pages, int count); | void pmap_invalidate_cache_pages(vm_page_t *pages, int count); | ||||
void pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva, | void pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva, | ||||
boolean_t force); | boolean_t force); | ||||
void pmap_get_mapping(pmap_t pmap, vm_offset_t va, uint64_t *ptr, int *num); | void pmap_get_mapping(pmap_t pmap, vm_offset_t va, uint64_t *ptr, int *num); | ||||
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); | ||||
void pmap_pti_add_kva(vm_offset_t sva, vm_offset_t eva, bool exec); | void pmap_pti_add_kva(vm_offset_t sva, vm_offset_t eva, bool exec); | ||||
void pmap_pti_remove_kva(vm_offset_t sva, vm_offset_t eva); | void pmap_pti_remove_kva(vm_offset_t sva, vm_offset_t eva); | ||||
void pmap_pti_pcid_invalidate(uint64_t ucr3, uint64_t kcr3); | |||||
void pmap_pti_pcid_invlpg(uint64_t ucr3, uint64_t kcr3, vm_offset_t va); | |||||
void pmap_pti_pcid_invlrng(uint64_t ucr3, uint64_t kcr3, vm_offset_t sva, | |||||
vm_offset_t eva); | |||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
/* Return various clipped indexes for a given VA */ | /* Return various clipped indexes for a given VA */ | ||||
static __inline vm_pindex_t | static __inline vm_pindex_t | ||||
pmap_pte_index(vm_offset_t va) | pmap_pte_index(vm_offset_t va) | ||||
{ | { | ||||
return ((va >> PAGE_SHIFT) & ((1ul << NPTEPGSHIFT) - 1)); | return ((va >> PAGE_SHIFT) & ((1ul << NPTEPGSHIFT) - 1)); | ||||
Show All 26 Lines |