]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/mach_loader.h
xnu-7195.81.3.tar.gz
[apple/xnu.git] / bsd / kern / mach_loader.h
index 5a0f66ceb00bb4d9151c5723c74f693817990969..dde6d6f51381a07d631ce66851ca97d55aef56b5 100644 (file)
@@ -77,7 +77,8 @@ typedef struct _load_result {
 #endif /* __arm64__ */
        is_64bit_addr           : 1,
            is_64bit_data           : 1,
-           custom_stack            : 1;
+           custom_stack            : 1,
+           is_cambria              : 1;
        unsigned int            csflags;
        unsigned char           uuid[16];
        mach_vm_address_t       min_vm_addr;
@@ -86,6 +87,12 @@ typedef struct _load_result {
        off_t                   cs_end_offset;
        void                    *threadstate;
        size_t                  threadstate_sz;
+       uint32_t                ip_platform;
+       uint32_t                lr_min_sdk;
+       uint32_t                lr_sdk;
+       user_addr_t             dynlinker_mach_header;
+       user_addr_t             dynlinker_max_vm_addr;
+       int                     dynlinker_fd;
 } load_result_t;
 
 struct image_params;
@@ -96,6 +103,13 @@ load_return_t load_machfile(
        vm_map_t                *mapp,
        load_result_t           *result);
 
+load_return_t
+validate_potential_simulator_binary(
+       cpu_type_t               exectype,
+       struct image_params      *imgp,
+       off_t                    file_offset,
+       off_t                    macho_size);
+
 #define LOAD_SUCCESS            0
 #define LOAD_BADARCH            1       /* CPU type/subtype not found */
 #define LOAD_BADMACHO           2       /* malformed mach-o file */