#define SHARED_REGION_NESTING_MIN_PPC64 0x0000000010000000ULL
#define SHARED_REGION_NESTING_MAX_PPC64 0x0000000010000000ULL
-#define SHARED_REGION_BASE_ARM 0x30000000ULL
-#define SHARED_REGION_SIZE_ARM 0x10000000ULL
-#define SHARED_REGION_NESTING_BASE_ARM 0x30000000ULL
-#define SHARED_REGION_NESTING_SIZE_ARM 0x08000000ULL
+#define SHARED_REGION_BASE_ARM 0x20000000ULL
+#define SHARED_REGION_SIZE_ARM 0x20000000ULL
+#define SHARED_REGION_NESTING_BASE_ARM 0x20000000ULL
+#define SHARED_REGION_NESTING_SIZE_ARM 0x20000000ULL
#define SHARED_REGION_NESTING_MIN_ARM ?
#define SHARED_REGION_NESTING_MAX_ARM ?
+#ifdef XNU_KERNEL_PRIVATE
+/* ARM64_TODO: move to higher memory */
+#endif
+#define SHARED_REGION_BASE_ARM64 0x180000000ULL
+#define SHARED_REGION_SIZE_ARM64 0x28000000ULL
+#define SHARED_REGION_NESTING_BASE_ARM64 0x180000000ULL
+#define SHARED_REGION_NESTING_SIZE_ARM64 0x28000000ULL
+#define SHARED_REGION_NESTING_MIN_ARM64 ?
+#define SHARED_REGION_NESTING_MAX_ARM64 ?
+
#if defined(__i386__)
#define SHARED_REGION_BASE SHARED_REGION_BASE_I386
#define SHARED_REGION_SIZE SHARED_REGION_SIZE_I386
#define SHARED_REGION_NESTING_SIZE SHARED_REGION_NESTING_SIZE_X86_64
#define SHARED_REGION_NESTING_MIN SHARED_REGION_NESTING_MIN_X86_64
#define SHARED_REGION_NESTING_MAX SHARED_REGION_NESTING_MAX_X86_64
-#elif defined(__ppc__)
-#define SHARED_REGION_BASE SHARED_REGION_BASE_PPC
-#define SHARED_REGION_SIZE SHARED_REGION_SIZE_PPC
-#define SHARED_REGION_NESTING_BASE SHARED_REGION_NESTING_BASE_PPC
-#define SHARED_REGION_NESTING_SIZE SHARED_REGION_NESTING_SIZE_PPC
-#define SHARED_REGION_NESTING_MIN SHARED_REGION_NESTING_MIN_PPC
-#define SHARED_REGION_NESTING_MAX SHARED_REGION_NESTING_MAX_PPC
-#elif defined(__ppc64__)
-#define SHARED_REGION_BASE SHARED_REGION_BASE_PPC64
-#define SHARED_REGION_SIZE SHARED_REGION_SIZE_PPC64
-#define SHARED_REGION_NESTING_BASE SHARED_REGION_NESTING_BASE_PPC64
-#define SHARED_REGION_NESTING_SIZE SHARED_REGION_NESTING_SIZE_PPC64
-#define SHARED_REGION_NESTING_MIN SHARED_REGION_NESTING_MIN_PPC64
-#define SHARED_REGION_NESTING_MAX SHARED_REGION_NESTING_MAX_PPC64
#endif
#ifdef KERNEL_PRIVATE
};
#define VM_PROT_COW 0x8 /* must not interfere with normal prot assignments */
#define VM_PROT_ZF 0x10 /* must not interfere with normal prot assignments */
+#define VM_PROT_SLIDE 0x20 /* must not interfere with normal prot assignments */
#ifndef KERNEL
int shared_region_map_np(int fd,
uint32_t mappingCount,
const struct shared_file_mapping_np *mappings);
+int shared_region_slide_np(void);
__END_DECLS
#endif /* !KERNEL */