/xnu-2782.1.97/libkern/kxld/ |
H A D | kxld_kext.c | 67 KXLDObject *kext; member in struct:kxld_kext 80 const KXLDObject *kext, const KXLDObject *interface, 84 static kern_return_t export_symbols(const KXLDObject *kext, 88 static kern_return_t create_vtables(KXLDKext *kext, 90 static kern_return_t get_vtable_syms_from_smcp(KXLDKext *kext, 94 static kern_return_t resolve_symbols(KXLDKext *kext, 97 static kern_return_t patch_vtables(KXLDKext *kext, KXLDDict *patched_vtables, 100 KXLDKext *kext, KXLDSym *super_metaclass_pointer_sym); 101 static kern_return_t create_vtable_index(KXLDKext *kext); 103 static kern_return_t validate_symbols(KXLDKext *kext); 116 kxld_kext_init(KXLDKext *kext, KXLDObject *kext_object, KXLDObject *interface_object) argument 141 kxld_kext_clear(KXLDKext *kext) argument 165 kxld_kext_deinit(KXLDKext *kext) argument 185 kxld_kext_export_symbols(const KXLDKext *kext, KXLDDict *defined_symbols_by_name, KXLDDict *obsolete_symbols_by_name, KXLDDict *defined_cxx_symbols_by_value) argument 213 export_symbols_through_interface(const KXLDObject *kext, const KXLDObject *interface, KXLDDict *defined_symbols_by_name, KXLDDict *obsolete_symbols_by_name, KXLDDict *defined_cxx_symbols_by_value) argument 300 export_symbols(const KXLDObject *kext, KXLDDict *defined_symbols_by_name, KXLDDict *defined_cxx_symbols_by_value) argument 330 kxld_kext_export_vtables(KXLDKext *kext, const KXLDDict *defined_cxx_symbols, const KXLDDict *defined_symbols, KXLDDict *vtables) argument 360 kxld_kext_get_vmsize(const KXLDKext *kext, u_long *header_size, u_long *vmsize) argument 369 kxld_kext_set_linked_object_size(KXLDKext *kext, u_long vmsize) argument 378 kxld_kext_export_linked_object(const KXLDKext *kext, u_char *linked_object, kxld_addr_t *kmod_info) argument 399 kxld_kext_relocate(KXLDKext *kext, kxld_addr_t link_address, KXLDDict *patched_vtables, const KXLDDict *defined_symbols, const KXLDDict *obsolete_symbols, const KXLDDict *defined_cxx_symbols) argument 461 create_vtables(KXLDKext *kext, const KXLDDict *defined_cxx_symbols, const KXLDDict *defined_symbols) argument 544 get_vtable_syms_from_smcp(KXLDKext *kext, const KXLDDict *defined_symbols, KXLDSym *super_metaclass_ptr_sym, KXLDSym **vtable_sym_out, KXLDSym **meta_vtable_sym_out) argument 631 resolve_symbols(KXLDKext *kext, const KXLDDict *defined_symbols, const KXLDDict *obsolete_symbols) argument 795 patch_vtables(KXLDKext *kext, KXLDDict *patched_vtables, const KXLDDict *defined_symbols) argument 991 create_vtable_index(KXLDKext *kext) argument 1022 get_metaclass_symbol_from_super_meta_class_pointer_symbol(KXLDKext *kext, KXLDSym *super_metaclass_pointer_sym) argument 1052 validate_symbols(KXLDKext *kext) argument [all...] |
H A D | kxld_kext.h | 55 kern_return_t kxld_kext_init(KXLDKext *kext, struct kxld_object *kext_object, 59 void kxld_kext_clear(KXLDKext *kext) 62 void kxld_kext_deinit(KXLDKext *kext) 69 kern_return_t kxld_kext_export_symbols(const KXLDKext *kext, 75 void kxld_kext_get_vmsize(const KXLDKext *kext, 79 void kxld_kext_set_linked_object_size(KXLDKext *kext, u_long vmsize) 82 kern_return_t kxld_kext_export_linked_object(const KXLDKext *kext, 89 kern_return_t kxld_kext_export_vtables(KXLDKext *kext, 95 kern_return_t kxld_kext_relocate(KXLDKext *kext, kxld_addr_t link_address,
|
H A D | kxld.c | 55 KXLDKext *kext; member in struct:kxld_context 73 /* Certain architectures alter the order of a kext's sections from its input 132 context->kext = kxld_alloc(kxld_kext_sizeof()); 133 require_action(context->kext, finish, rval=KERN_RESOURCE_SHORTAGE); 134 bzero(context->kext, kxld_kext_sizeof()); 209 kxld_kext_deinit(context->kext); 228 kxld_free(context->kext, kxld_kext_sizeof()); 256 kxld_log(kKxldLogLinking, kKxldLogBasic, "Linking kext %s", name); 277 rval = kxld_kext_relocate(context->kext, vmaddr, 284 rval = kxld_kext_export_linked_object(context->kext, 348 KXLDKext *kext = NULL; local [all...] |
/xnu-2782.1.97/libkern/kxld/tests/ |
H A D | loadtest.py | 44 for kext in kexts: 46 print "Processing", kext 47 #cmd = "/sbin/kextload -ns /tmp/syms \"%s\"" % kext 48 cmd = "/sbin/kextload \"%s\"" % kext 54 print >>sys.stderr, "*** kextload of %s was terminated by signal %d" % (kext, -retcode) 56 print >>sys.stderr, "*** kextload of %s failed with return code %d" % (kext, retcode)
|
/xnu-2782.1.97/config/ |
H A D | Makefile | 15 System.kext/Info.plist \ 16 System.kext/PlugIns/AppleNMI.kext/Info.plist \ 17 System.kext/PlugIns/ApplePlatformFamily.kext/Info.plist \ 18 System.kext/PlugIns/IONVRAMFamily.kext/Info.plist \ 19 System.kext/PlugIns/IOSystemManagement.kext/Info.plist 39 KEXT_MACHO_LIST = $(foreach symbolset,$(filter-out Dummy,$(SYMBOL_COMPONENT_LIST)),System.kext/PlugIn [all...] |
/xnu-2782.1.97/iokit/Kernel/ |
H A D | IOStatistics.cpp | 81 if (e1->kext < e2->kext) 83 else if (e1->kext > e2->kext) 203 void IOStatistics::onKextLoad(OSKext *kext, kmod_info_t *kmod_info) argument 207 assert(kext && kmod_info); 214 kext->getIdentifierCString(), kmod_info->id, (uint64_t)kmod_info->address, (uint64_t)(kmod_info->address + kmod_info->size)); 223 ke->kext = kext; 243 void IOStatistics::onKextUnload(OSKext *kext) argument [all...] |
/xnu-2782.1.97/libkern/libkern/ |
H A D | kxld_types.h | 155 /* This structure is used to describe a dependency kext. The kext field 157 * field is a pointer to an optional interface kext that restricts the 158 * symbols that may be accessed in the dependency kext. 160 * For example, to use this structure with the KPIs, set the kext field 165 u_char * kext; member in struct:kxld_dependency
|
H A D | mkext.h | 123 * The info dict for each kext will have inserted into it these 137 * - "Load Kext" - boolean, whether to load the kext or not (default true). 140 * - "Start Kext" - boolean, whether to start the kext or not 145 * thread from unloading the kext, so the dev. has time to set up 214 mkext_kext kext[1]; // 32 bytes/entry member in struct:mkext_header 229 #define MKEXT1_GET_KEXT(hdr, i) ((mkext_kext *)&(MKEXT1_HDR_CAST(hdr)->kext[(i)]))
|
/xnu-2782.1.97/iokit/IOKit/ |
H A D | IOStatisticsPrivate.h | 98 OSKext *kext; member in struct:KextNode 242 static void onKextLoad(OSKext *kext, kmod_info_t *kmod_info); 243 static void onKextUnload(OSKext *kext);
|
/xnu-2782.1.97/libkern/c++/ |
H A D | OSRuntime.cpp | 67 #define OSRuntimeLog(kext, flags, format, args...) \ 70 OSKextLog((kext), (flags), (format), ## args); \ 300 "Null destructor in kext %s segment %s!", 373 "Can't tear down kext %s C++; classes have instances:", 475 "Null constructor in kext %s segment %s!", 514 * stuff from the kext. This isn't necessary for libkern/OSMetaClass stuff,
|
H A D | OSMetaClass.cpp | 101 * While loading a kext and running all its constructors to register 103 * kext can be in flight at a time, guarded by sStalledClassesLock 117 OSKext * kext; member in struct:ExpansionData 341 message = "OSMetaClass: Allocation failure for internal kext recording set/set missing."; 344 message = "OSMetaClass: Failed to record class in kext."; 383 * records all the class/kext relationships of the new MetaClasses. 405 /* There's no way we can look up the kext here, unfortunately. 407 OSKextLog(/* kext */ NULL, kOSMetaClassLogSpec, 440 OSKext * myKext = reserved ? reserved->kext : 0; // do not release 447 * Also, release className *after* calling into the kext, [all...] |
H A D | OSKext.cpp | 109 * not work on ARM. To get around that, we must free prelinked kext 131 /* Any kext will have at least 1 retain for the internal lookup-by-ID dict. 132 * A loaded kext will no dependents or external retains will have 2 retains. 239 // Identifier of kext load requests in sKernelRequests 373 sKernelLogFilter, "kernel kext logging"); 457 "Allocated link buffer for kext %s at %p (%lu bytes).", 529 #define notifyKextLoadObservers(kext, kmod_info) \ 531 IOStatistics::onKextLoad(kext, kmod_info); \ 534 #define notifyKextUnloadObservers(kext) \ 536 IOStatistics::onKextUnload(kext); \ [all...] |
/xnu-2782.1.97/libkern/ |
H A D | OSKextLib.cpp | 42 #pragma mark C-based kext interface (loading/loaded kexts only) 101 "Can't retain kext with load tag %d - no such kext is loaded.", 135 "Can't release kext with load tag %d - no such kext is loaded.", 146 * Not to be called by the kext being unloaded! 224 OSKextLog(/* kext */ NULL, 238 OSKextLog(/* kext */ NULL, 271 OSKextLog(/* kext */ NULL, 274 "Attempt by non-root process to load a kext [all...] |
/xnu-2782.1.97/makedefs/ |
H A D | MakeInc.cmd | 134 # kextsymboltool - Create kext pseudo-kext Mach-O kexts binaries
|
/xnu-2782.1.97/tools/lldbmacros/ |
H A D | memory.py | 1052 """ returns a string representation of kext information 1087 """ Extract the kext uuid and load address information from the kernel data structure. 1152 This is particularly useful to find if some kext was unloaded before this crash'ed state. 1197 """ Add kext symbols into lldb. 1200 addkext <uuid> : Load one kext based on uuid. eg. (lldb)addkext 4DD2344C0-4A81-3EAB-BDCF-FEAFED9EB73E 1201 addkext -F <abs/path/to/executable> <load_address> : Load kext executable at specified load address 1202 addkext -N <name> : Load one kext that matches the name provided. eg. (lldb) addkext -N corecrypto 1203 addkext -N <name> -A: Load all kext that matches the name provided. eg. to load all kext with Apple in name do (lldb) addkext -N Apple -A 1204 addkext all : Will load all the kext symbol [all...] |