Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/include/vmparam.h
Show First 20 Lines • Show All 119 Lines • ▼ Show 20 Lines | |||||
* out of range "hole" in the middle. | * out of range "hole" in the middle. | ||||
* | * | ||||
* We use the full 48 bits for each region, however the kernel may only use | * We use the full 48 bits for each region, however the kernel may only use | ||||
* a limited range within this space. | * a limited range within this space. | ||||
* | * | ||||
* Upper region: 0xffffffffffffffff Top of virtual memory | * Upper region: 0xffffffffffffffff Top of virtual memory | ||||
* | * | ||||
* 0xfffffeffffffffff End of DMAP | * 0xfffffeffffffffff End of DMAP | ||||
* 0xfffffa0000000000 Start of DMAP | * 0xffffa00000000000 Start of DMAP | ||||
* | * | ||||
* 0xffff009fffffffff End of KASAN shadow map | |||||
* 0xffff008000000000 Start of KASAN shadow map | |||||
* | |||||
* 0xffff007fffffffff End of KVA | * 0xffff007fffffffff End of KVA | ||||
* 0xffff000000000000 Kernel base address & start of KVA | * 0xffff000000000000 Kernel base address & start of KVA | ||||
* | * | ||||
* Hole: 0xfffeffffffffffff | * Hole: 0xfffeffffffffffff | ||||
* 0x0001000000000000 | * 0x0001000000000000 | ||||
* | * | ||||
* Lower region: 0x0000ffffffffffff End of user address space | * Lower region: 0x0000ffffffffffff End of user address space | ||||
* 0x0000000000000000 Start of user address space | * 0x0000000000000000 Start of user address space | ||||
Show All 13 Lines | |||||
*/ | */ | ||||
#define VM_MIN_ADDRESS (0x0000000000000000UL) | #define VM_MIN_ADDRESS (0x0000000000000000UL) | ||||
#define VM_MAX_ADDRESS (0xffffffffffffffffUL) | #define VM_MAX_ADDRESS (0xffffffffffffffffUL) | ||||
/* 512 GiB of kernel addresses */ | /* 512 GiB of kernel addresses */ | ||||
#define VM_MIN_KERNEL_ADDRESS (0xffff000000000000UL) | #define VM_MIN_KERNEL_ADDRESS (0xffff000000000000UL) | ||||
#define VM_MAX_KERNEL_ADDRESS (0xffff008000000000UL) | #define VM_MAX_KERNEL_ADDRESS (0xffff008000000000UL) | ||||
/* 128 GiB KASAN shadow map */ | |||||
#define KASAN_MIN_ADDRESS (0xffff008000000000UL) | |||||
#define KASAN_MAX_ADDRESS (0xffff00a000000000UL) | |||||
/* The address bits that hold a pointer authentication code */ | /* The address bits that hold a pointer authentication code */ | ||||
#define PAC_ADDR_MASK (0xff7f000000000000UL) | #define PAC_ADDR_MASK (0xff7f000000000000UL) | ||||
/* If true addr is in the kernel address space */ | /* If true addr is in the kernel address space */ | ||||
#define ADDR_IS_KERNEL(addr) (((addr) & (1ul << 55)) == (1ul << 55)) | #define ADDR_IS_KERNEL(addr) (((addr) & (1ul << 55)) == (1ul << 55)) | ||||
/* If true addr is in its canonical form (i.e. no TBI, PAC, etc.) */ | /* If true addr is in its canonical form (i.e. no TBI, PAC, etc.) */ | ||||
#define ADDR_IS_CANONICAL(addr) \ | #define ADDR_IS_CANONICAL(addr) \ | ||||
(((addr) & 0xffff000000000000UL) == 0 || \ | (((addr) & 0xffff000000000000UL) == 0 || \ | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | |||||
/* | /* | ||||
* Initial pagein size of beginning of executable file. | * Initial pagein size of beginning of executable file. | ||||
*/ | */ | ||||
#ifndef VM_INITIAL_PAGEIN | #ifndef VM_INITIAL_PAGEIN | ||||
#define VM_INITIAL_PAGEIN 16 | #define VM_INITIAL_PAGEIN 16 | ||||
#endif | #endif | ||||
#if !defined(KASAN) && !defined(KMSAN) | |||||
#define UMA_MD_SMALL_ALLOC | #define UMA_MD_SMALL_ALLOC | ||||
#endif | |||||
#ifndef LOCORE | #ifndef LOCORE | ||||
extern vm_paddr_t dmap_phys_base; | extern vm_paddr_t dmap_phys_base; | ||||
extern vm_paddr_t dmap_phys_max; | extern vm_paddr_t dmap_phys_max; | ||||
extern vm_offset_t dmap_max_addr; | extern vm_offset_t dmap_max_addr; | ||||
extern vm_offset_t vm_max_kernel_address; | extern vm_offset_t vm_max_kernel_address; | ||||
Show All 17 Lines |