]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/mach/shared_region.h
xnu-3247.10.11.tar.gz
[apple/xnu.git] / osfmk / mach / shared_region.h
index 1e2143e1aee2916f84a83bdf18184980abce9449..7f1d3fbb07ea916ca2200b07a1a557524c68dc70 100644 (file)
 #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
@@ -126,6 +122,7 @@ struct shared_file_mapping_np {
 };
 #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
 
@@ -134,6 +131,7 @@ int shared_region_check_np(uint64_t *startaddress);
 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 */