Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/include/vmparam.h
Show First 20 Lines • Show All 156 Lines • ▼ Show 20 Lines | |||||
#define VM_MAX_KERNEL_ADDRESS (0xffff008000000000UL) | #define VM_MAX_KERNEL_ADDRESS (0xffff008000000000UL) | ||||
/* 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 || \ | ||||
((addr) & 0xffff000000000000UL) == 0xffff000000000000UL) | ((addr) & 0xffff000000000000UL) == 0xffff000000000000UL) | ||||
#define ADDR_MAKE_CANONICAL(addr) ({ \ | |||||
__typeof(addr) _tmp_addr = (addr); \ | |||||
\ | |||||
_tmp_addr &= ~0xffff000000000000UL; \ | |||||
if (ADDR_IS_KERNEL(addr)) \ | |||||
_tmp_addr |= 0xffff000000000000UL; \ | |||||
\ | |||||
_tmp_addr; \ | |||||
}) | |||||
/* 95 TiB maximum for the direct map region */ | /* 95 TiB maximum for the direct map region */ | ||||
#define DMAP_MIN_ADDRESS (0xffffa00000000000UL) | #define DMAP_MIN_ADDRESS (0xffffa00000000000UL) | ||||
#define DMAP_MAX_ADDRESS (0xffffff0000000000UL) | #define DMAP_MAX_ADDRESS (0xffffff0000000000UL) | ||||
#define DMAP_MIN_PHYSADDR (dmap_phys_base) | #define DMAP_MIN_PHYSADDR (dmap_phys_base) | ||||
#define DMAP_MAX_PHYSADDR (dmap_phys_max) | #define DMAP_MAX_PHYSADDR (dmap_phys_max) | ||||
▲ Show 20 Lines • Show All 83 Lines • Show Last 20 Lines |