+#define TiB(x) ((0ULL + (x)) << 40)
+#define GiB(x) ((0ULL + (x)) << 30)
+
+#if XNU_KERNEL_PRIVATE
+#if defined(ARM_LARGE_MEMORY)
+/*
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fe90_0000_0000 |-1472GB | 576GB | KASAN_SHADOW_MIN |
+ * | | | | VM_MAX_KERNEL_ADDRESS |
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fe10_0000_0000 |-1984GB | 64GB | PMAP_HEAP_RANGE_START |
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fe00_0700_4000 | | | VM_KERNEL_LINK_ADDRESS |
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fe00_0000_0000 | -2TB | 0GB | VM_MIN_KERNEL_ADDRESS |
+ * | | | | LOW_GLOBALS |
+ * +-----------------------+--------+--------+------------------------+
+ */
+#define VM_KERNEL_POINTER_SIGNIFICANT_BITS 41
+
+// Kernel VA space starts at -2TB
+#define VM_MIN_KERNEL_ADDRESS ((vm_address_t) (0ULL - TiB(2)))
+
+// 1.25TB for static_memory_region, 512GB for kernel heap, 256GB for KASAN
+#define VM_MAX_KERNEL_ADDRESS ((vm_address_t) (VM_MIN_KERNEL_ADDRESS + GiB(64) + GiB(512) - 1))
+#else // ARM_LARGE_MEMORY
+/*
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fffc_0000_0000 | -16GB | 112GB | KASAN_SHADOW_MIN |
+ * | | | | VM_MAX_KERNEL_ADDRESS |
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fff0_0700_4000 | | | VM_KERNEL_LINK_ADDRESS |
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_fff0_0000_0000 | -64GB | 64GB | LOW_GLOBALS |
+ * | | | | PMAP_HEAP_RANGE_START | <= H8
+ * +-----------------------+--------+--------+------------------------+
+ * | 0xffff_ffe0_0000_0000 | -128GB | 0GB | VM_MIN_KERNEL_ADDRESS |
+ * | | | | PMAP_HEAP_RANGE_START | >= H9
+ * +-----------------------+--------+--------+------------------------+
+ */
+#define VM_KERNEL_POINTER_SIGNIFICANT_BITS 37
+#define VM_MIN_KERNEL_ADDRESS ((vm_address_t) 0xffffffe000000000ULL)
+#define VM_MAX_KERNEL_ADDRESS ((vm_address_t) 0xfffffffbffffffffULL)
+#endif // ARM_LARGE_MEMORY
+
+#else // !XNU_KERNEL_PRIVATE
+// Inform kexts about largest possible kernel address space
+#define VM_MIN_KERNEL_ADDRESS ((vm_address_t) (0ULL - TiB(2)))
+#define VM_MAX_KERNEL_ADDRESS ((vm_address_t) 0xfffffffbffffffffULL)
+#endif // XNU_KERNEL_PRIVATE