苹果上架 macOS 10.13 High Sierra 内核源码
全套开源页面:https://opensource.apple.com/release/macos-1013.html
xnu-4570.1.46.tar.gz:下载地址:https://opensource.apple.com/tarballs/xnu/xnu-4570.1.46.tar.gz
MD5 (xnu-4570.1.46.tar.gz) = 5f2960ad384980ece80c6ed2f7f0377d
最大的惊喜!竟然包含iOS的相关arm源代码!喜大普奔!
先是固件包不再加密,然后现在放出arm64的源码,下一步就是放出iBoot的源码了么?!/手动滑稽
释放出来的arm源码非常全面,覆盖了头文件及源代码、内核系统、架构系统、信号系统、中断系统、控制系统、Mach内核、文件系统、bsd内核、CPU、RAM、ROM、进程线程、trap陷阱等以及相应的启动及测试等等,非常全面。具体请继续查看源代码。
$ tree -NCfhl | grep arm
│ │ │ ├── [ 136] ./xnu-4570.1.46/EXTERNAL_HEADERS/architecture/arm
│ │ │ │ ├── [ 439] ./xnu-4570.1.46/EXTERNAL_HEADERS/architecture/arm/Makefile
│ │ │ │ └── [2.3M] ./xnu-4570.1.46/EXTERNAL_HEADERS/architecture/arm/arm_neon.h
│ │ │ ├── [ 102] ./xnu-4570.1.46/EXTERNAL_HEADERS/mach-o/arm
│ │ │ │ └── [2.7K] ./xnu-4570.1.46/EXTERNAL_HEADERS/mach-o/arm/reloc.h
│ │ │ ├── [ 102] ./xnu-4570.1.46/EXTERNAL_HEADERS/mach-o/arm64
│ │ │ │ └── [1.9K] ./xnu-4570.1.46/EXTERNAL_HEADERS/mach-o/arm64/reloc.h
│ │ ├── [ 714] ./xnu-4570.1.46/bsd/arm
│ │ │ ├── [ 761] ./xnu-4570.1.46/bsd/arm/Makefile
│ │ │ ├── [ 198] ./xnu-4570.1.46/bsd/arm/_limits.h
│ │ │ ├── [2.7K] ./xnu-4570.1.46/bsd/arm/_mcontext.h
│ │ │ ├── [ 744] ./xnu-4570.1.46/bsd/arm/_param.h
│ │ │ ├── [3.1K] ./xnu-4570.1.46/bsd/arm/_types.h
│ │ │ ├── [ 573] ./xnu-4570.1.46/bsd/arm/disklabel.h
│ │ │ ├── [3.0K] ./xnu-4570.1.46/bsd/arm/endian.h
│ │ │ ├── [3.6K] ./xnu-4570.1.46/bsd/arm/exec.h
│ │ │ ├── [8.4K] ./xnu-4570.1.46/bsd/arm/fasttrap_isa.h
│ │ │ ├── [4.7K] ./xnu-4570.1.46/bsd/arm/limits.h
│ │ │ ├── [5.2K] ./xnu-4570.1.46/bsd/arm/param.h
│ │ │ ├── [ 785] ./xnu-4570.1.46/bsd/arm/profile.h
│ │ │ ├── [ 248] ./xnu-4570.1.46/bsd/arm/psl.h
│ │ │ ├── [2.0K] ./xnu-4570.1.46/bsd/arm/ptrace.h
│ │ │ ├── [ 907] ./xnu-4570.1.46/bsd/arm/reboot.h
│ │ │ ├── [ 250] ./xnu-4570.1.46/bsd/arm/reg.h
│ │ │ ├── [ 293] ./xnu-4570.1.46/bsd/arm/signal.h
│ │ │ ├── [5.0K] ./xnu-4570.1.46/bsd/arm/types.h
│ │ │ └── [ 858] ./xnu-4570.1.46/bsd/arm/vmparam.h
│ │ │ ├── [ 591] ./xnu-4570.1.46/bsd/conf/Makefile.arm
│ │ │ ├── [ 484] ./xnu-4570.1.46/bsd/conf/Makefile.arm64
│ │ │ ├── [ 664] ./xnu-4570.1.46/bsd/conf/files.arm
│ │ │ ├── [ 712] ./xnu-4570.1.46/bsd/conf/files.arm64
│ │ │ ├── [ 714] ./xnu-4570.1.46/bsd/dev/arm
│ │ │ │ ├── [7.3K] ./xnu-4570.1.46/bsd/dev/arm/conf.c
│ │ │ │ ├── [2.6K] ./xnu-4570.1.46/bsd/dev/arm/cons.c
│ │ │ │ ├── [ 10K] ./xnu-4570.1.46/bsd/dev/arm/cpu_in_cksum.s
│ │ │ │ ├── [ 27K] ./xnu-4570.1.46/bsd/dev/arm/disassembler.c
│ │ │ │ ├── [ 14K] ./xnu-4570.1.46/bsd/dev/arm/dtrace_isa.c
│ │ │ │ ├── [5.1K] ./xnu-4570.1.46/bsd/dev/arm/dtrace_subr_arm.c
│ │ │ │ ├── [ 37K] ./xnu-4570.1.46/bsd/dev/arm/fasttrap_isa.c
│ │ │ │ ├── [ 21K] ./xnu-4570.1.46/bsd/dev/arm/fbt_arm.c
│ │ │ │ ├── [3.7K] ./xnu-4570.1.46/bsd/dev/arm/kern_machdep.c
│ │ │ │ ├── [8.2K] ./xnu-4570.1.46/bsd/dev/arm/km.c
│ │ │ │ ├── [ 18K] ./xnu-4570.1.46/bsd/dev/arm/munge.c
│ │ │ │ ├── [2.7K] ./xnu-4570.1.46/bsd/dev/arm/pci_device.h
│ │ │ │ ├── [5.7K] ./xnu-4570.1.46/bsd/dev/arm/pio.h
│ │ │ │ ├── [4.8K] ./xnu-4570.1.46/bsd/dev/arm/sdt_arm.c
│ │ │ │ ├── [2.0K] ./xnu-4570.1.46/bsd/dev/arm/stubs.c
│ │ │ │ ├── [1.5K] ./xnu-4570.1.46/bsd/dev/arm/sysctl.c
│ │ │ │ ├── [ 18K] ./xnu-4570.1.46/bsd/dev/arm/systemcalls.c
│ │ │ │ ├── [ 613] ./xnu-4570.1.46/bsd/dev/arm/table_inline.h
│ │ │ │ └── [ 19K] ./xnu-4570.1.46/bsd/dev/arm/unix_signal.c
│ │ │ ├── [ 374] ./xnu-4570.1.46/bsd/dev/arm64
│ │ │ │ ├── [7.3K] ./xnu-4570.1.46/bsd/dev/arm64/conf.c
│ │ │ │ ├── [8.5K] ./xnu-4570.1.46/bsd/dev/arm64/cpu_in_cksum.s
│ │ │ │ ├── [ 31K] ./xnu-4570.1.46/bsd/dev/arm64/disassembler.c
│ │ │ │ ├── [ 16K] ./xnu-4570.1.46/bsd/dev/arm64/dtrace_isa.c
│ │ │ │ ├── [5.9K] ./xnu-4570.1.46/bsd/dev/arm64/dtrace_subr_arm.c
│ │ │ │ ├── [ 58K] ./xnu-4570.1.46/bsd/dev/arm64/fasttrap_isa.c
│ │ │ │ ├── [ 17K] ./xnu-4570.1.46/bsd/dev/arm64/fbt_arm.c
│ │ │ │ ├── [4.5K] ./xnu-4570.1.46/bsd/dev/arm64/sdt_arm.c
│ │ │ │ └── [1.2K] ./xnu-4570.1.46/bsd/dev/arm64/sysctl.c
│ │ │ │ │ ├── [1.3K] ./xnu-4570.1.46/bsd/dev/dtrace/scripts/regs_arm.d
│ │ │ │ │ ├── [2.8K] ./xnu-4570.1.46/bsd/dev/dtrace/scripts/regs_arm64.d
│ │ ├── [ 221] ./xnu-4570.1.46/config/BSDKernel.arm.exports
│ │ ├── [ 221] ./xnu-4570.1.46/config/BSDKernel.arm64.exports
│ │ ├── [ 15K] ./xnu-4570.1.46/config/IOKit.arm.exports
│ │ ├── [ 12K] ./xnu-4570.1.46/config/IOKit.arm64.exports
│ │ ├── [ 171] ./xnu-4570.1.46/config/Libkern.arm.exports
│ │ ├── [ 189] ./xnu-4570.1.46/config/Libkern.arm64.exports
│ │ ├── [ 0] ./xnu-4570.1.46/config/MACFramework.arm.exports
│ │ ├── [ 0] ./xnu-4570.1.46/config/MACFramework.arm64.exports
│ │ ├── [4.8K] ./xnu-4570.1.46/config/MASTER.arm
│ │ ├── [5.4K] ./xnu-4570.1.46/config/MASTER.arm64
│ │ ├── [ 48] ./xnu-4570.1.46/config/Mach.arm.exports
│ │ ├── [ 21] ./xnu-4570.1.46/config/Mach.arm64.exports
│ │ ├── [ 485] ./xnu-4570.1.46/config/Private.arm.exports
│ │ ├── [ 762] ./xnu-4570.1.46/config/Private.arm64.exports
│ │ ├── [ 756] ./xnu-4570.1.46/config/Unsupported.arm.exports
│ │ ├── [ 988] ./xnu-4570.1.46/config/Unsupported.arm64.exports
│ │ ├── [ 823] ./xnu-4570.1.46/iokit/conf/Makefile.arm
│ │ ├── [ 823] ./xnu-4570.1.46/iokit/conf/Makefile.arm64
│ │ ├── [ 141] ./xnu-4570.1.46/iokit/conf/files.arm
│ │ ├── [ 141] ./xnu-4570.1.46/iokit/conf/files.arm64
│ │ │ ├── [ 982] ./xnu-4570.1.46/libkern/conf/Makefile.arm
│ │ │ ├── [ 982] ./xnu-4570.1.46/libkern/conf/Makefile.arm64
│ │ │ ├── [ 90] ./xnu-4570.1.46/libkern/conf/files.arm
│ │ │ ├── [ 136] ./xnu-4570.1.46/libkern/libkern/arm
│ │ │ │ ├── [ 462] ./xnu-4570.1.46/libkern/libkern/arm/Makefile
│ │ │ │ └── [2.7K] ./xnu-4570.1.46/libkern/libkern/arm/OSByteOrder.h
│ │ │ ├── [ 517] ./xnu-4570.1.46/libsa/conf/Makefile.arm
│ │ │ ├── [ 517] ./xnu-4570.1.46/libsa/conf/Makefile.arm64
│ │ │ ├── [ 0] ./xnu-4570.1.46/libsa/conf/files.arm
│ │ │ ├── [ 0] ./xnu-4570.1.46/libsa/conf/files.arm64
│ │ │ │ ├── [ 102] ./xnu-4570.1.46/libsyscall/Platforms/iPhoneOS/arm
│ │ │ │ │ └── [1.8K] ./xnu-4570.1.46/libsyscall/Platforms/iPhoneOS/arm/syscall.map
│ │ │ │ └── [ 102] ./xnu-4570.1.46/libsyscall/Platforms/iPhoneOS/arm64
│ │ │ │ └── [1.6K] ./xnu-4570.1.46/libsyscall/Platforms/iPhoneOS/arm64/syscall.map
│ │ ├── [3.1K] ./xnu-4570.1.46/osfmk/arm
│ │ │ ├── [ 943] ./xnu-4570.1.46/osfmk/arm/Makefile
│ │ │ ├── [ 28K] ./xnu-4570.1.46/osfmk/arm/WKdmCompress_new.s
│ │ │ ├── [3.8K] ./xnu-4570.1.46/osfmk/arm/WKdmData_new.s
│ │ │ ├── [ 13K] ./xnu-4570.1.46/osfmk/arm/WKdmDecompress_new.s
│ │ │ ├── [2.3K] ./xnu-4570.1.46/osfmk/arm/arch.h
│ │ │ ├── [ 15K] ./xnu-4570.1.46/osfmk/arm/arm_init.c
│ │ │ ├── [8.2K] ./xnu-4570.1.46/osfmk/arm/arm_timer.c
│ │ │ ├── [ 19K] ./xnu-4570.1.46/osfmk/arm/arm_vm_init.c
│ │ │ ├── [9.1K] ./xnu-4570.1.46/osfmk/arm/asm.h
│ │ │ ├── [6.7K] ./xnu-4570.1.46/osfmk/arm/atomic.h
│ │ │ ├── [9.9K] ./xnu-4570.1.46/osfmk/arm/bcopy.s
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm/bsd_arm.c
│ │ │ ├── [4.8K] ./xnu-4570.1.46/osfmk/arm/bzero.s
│ │ │ ├── [ 18K] ./xnu-4570.1.46/osfmk/arm/caches.c
│ │ │ ├── [9.8K] ./xnu-4570.1.46/osfmk/arm/caches_asm.s
│ │ │ ├── [3.7K] ./xnu-4570.1.46/osfmk/arm/caches_internal.h
│ │ │ ├── [ 170] ./xnu-4570.1.46/osfmk/arm/commpage
│ │ │ │ ├── [ 12K] ./xnu-4570.1.46/osfmk/arm/commpage/commpage.c
│ │ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm/commpage/commpage.h
│ │ │ │ └── [3.4K] ./xnu-4570.1.46/osfmk/arm/commpage/commpage_sigs.h
│ │ │ ├── [2.9K] ./xnu-4570.1.46/osfmk/arm/conf.c
│ │ │ ├── [ 17K] ./xnu-4570.1.46/osfmk/arm/cpu.c
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm/cpu_affinity.h
│ │ │ ├── [9.7K] ./xnu-4570.1.46/osfmk/arm/cpu_capabilities.h
│ │ │ ├── [ 14K] ./xnu-4570.1.46/osfmk/arm/cpu_common.c
│ │ │ ├── [2.7K] ./xnu-4570.1.46/osfmk/arm/cpu_data.h
│ │ │ ├── [8.1K] ./xnu-4570.1.46/osfmk/arm/cpu_data_internal.h
│ │ │ ├── [2.7K] ./xnu-4570.1.46/osfmk/arm/cpu_internal.h
│ │ │ ├── [2.6K] ./xnu-4570.1.46/osfmk/arm/cpu_number.h
│ │ │ ├── [8.6K] ./xnu-4570.1.46/osfmk/arm/cpuid.c
│ │ │ ├── [6.7K] ./xnu-4570.1.46/osfmk/arm/cpuid.h
│ │ │ ├── [1.9K] ./xnu-4570.1.46/osfmk/arm/cpuid_internal.h
│ │ │ ├── [8.7K] ./xnu-4570.1.46/osfmk/arm/cswitch.s
│ │ │ ├── [3.4K] ./xnu-4570.1.46/osfmk/arm/data.s
│ │ │ ├── [1.8K] ./xnu-4570.1.46/osfmk/arm/dbgwrap.c
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm/dbgwrap.h
│ │ │ ├── [2.8K] ./xnu-4570.1.46/osfmk/arm/exception.h
│ │ │ ├── [ 13K] ./xnu-4570.1.46/osfmk/arm/genassym.c
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm/globals_asm.h
│ │ │ ├── [2.6K] ./xnu-4570.1.46/osfmk/arm/hw_lock_types.h
│ │ │ ├── [3.9K] ./xnu-4570.1.46/osfmk/arm/io_map.c
│ │ │ ├── [1.7K] ./xnu-4570.1.46/osfmk/arm/io_map_entries.h
│ │ │ ├── [ 21K] ./xnu-4570.1.46/osfmk/arm/kpc_arm.c
│ │ │ ├── [2.6K] ./xnu-4570.1.46/osfmk/arm/lock.h
│ │ │ ├── [9.5K] ./xnu-4570.1.46/osfmk/arm/locks.h
│ │ │ ├── [ 76K] ./xnu-4570.1.46/osfmk/arm/locks_arm.c
│ │ │ ├── [ 60K] ./xnu-4570.1.46/osfmk/arm/locore.s
│ │ │ ├── [ 16K] ./xnu-4570.1.46/osfmk/arm/loose_ends.c
│ │ │ ├── [3.8K] ./xnu-4570.1.46/osfmk/arm/lowglobals.h
│ │ │ ├── [3.2K] ./xnu-4570.1.46/osfmk/arm/lowmem_vectors.c
│ │ │ ├── [ 14K] ./xnu-4570.1.46/osfmk/arm/lz4_decode_armv7NEON.s
│ │ │ ├── [ 16K] ./xnu-4570.1.46/osfmk/arm/lz4_encode_armv7.s
│ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/arm/machdep_call.c
│ │ │ ├── [2.3K] ./xnu-4570.1.46/osfmk/arm/machdep_call.h
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm/machine_cpu.h
│ │ │ ├── [4.3K] ./xnu-4570.1.46/osfmk/arm/machine_cpuid.c
│ │ │ ├── [3.0K] ./xnu-4570.1.46/osfmk/arm/machine_cpuid.h
│ │ │ ├── [2.1K] ./xnu-4570.1.46/osfmk/arm/machine_kpc.h
│ │ │ ├── [ 28K] ./xnu-4570.1.46/osfmk/arm/machine_routines.c
│ │ │ ├── [ 28K] ./xnu-4570.1.46/osfmk/arm/machine_routines.h
│ │ │ ├── [ 27K] ./xnu-4570.1.46/osfmk/arm/machine_routines_asm.s
│ │ │ ├── [ 20K] ./xnu-4570.1.46/osfmk/arm/machine_routines_common.c
│ │ │ ├── [4.6K] ./xnu-4570.1.46/osfmk/arm/machine_task.c
│ │ │ ├── [3.8K] ./xnu-4570.1.46/osfmk/arm/machlimits.h
│ │ │ ├── [2.4K] ./xnu-4570.1.46/osfmk/arm/machparam.h
│ │ │ ├── [4.2K] ./xnu-4570.1.46/osfmk/arm/misc_protos.h
│ │ │ ├── [ 28K] ./xnu-4570.1.46/osfmk/arm/model_dep.c
│ │ │ ├── [1.5K] ./xnu-4570.1.46/osfmk/arm/monotonic.h
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm/monotonic_arm.c
│ │ │ ├── [1.7K] ./xnu-4570.1.46/osfmk/arm/pal_routines.c
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm/pal_routines.h
│ │ │ ├── [9.9K] ./xnu-4570.1.46/osfmk/arm/pcb.c
│ │ │ ├── [270K] ./xnu-4570.1.46/osfmk/arm/pmap.c
│ │ │ ├── [ 17K] ./xnu-4570.1.46/osfmk/arm/pmap.h
│ │ │ ├── [ 39K] ./xnu-4570.1.46/osfmk/arm/proc_reg.h
│ │ │ ├── [ 12K] ./xnu-4570.1.46/osfmk/arm/rtclock.c
│ │ │ ├── [3.2K] ./xnu-4570.1.46/osfmk/arm/rtclock.h
│ │ │ ├── [2.4K] ./xnu-4570.1.46/osfmk/arm/sched_param.h
│ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/arm/setjmp.h
│ │ │ ├── [5.6K] ./xnu-4570.1.46/osfmk/arm/simple_lock.h
│ │ │ ├── [1.4K] ./xnu-4570.1.46/osfmk/arm/smp.h
│ │ │ ├── [ 16K] ./xnu-4570.1.46/osfmk/arm/start.s
│ │ │ ├── [ 20K] ./xnu-4570.1.46/osfmk/arm/status.c
│ │ │ ├── [2.7K] ./xnu-4570.1.46/osfmk/arm/status_shared.c
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm/strlcpy.c
│ │ │ ├── [4.3K] ./xnu-4570.1.46/osfmk/arm/strlen.s
│ │ │ ├── [5.6K] ./xnu-4570.1.46/osfmk/arm/strncmp.s
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm/strncpy.c
│ │ │ ├── [5.5K] ./xnu-4570.1.46/osfmk/arm/strnlen.s
│ │ │ ├── [2.4K] ./xnu-4570.1.46/osfmk/arm/task.h
│ │ │ ├── [7.0K] ./xnu-4570.1.46/osfmk/arm/thread.h
│ │ │ ├── [ 26K] ./xnu-4570.1.46/osfmk/arm/trap.c
│ │ │ ├── [ 10K] ./xnu-4570.1.46/osfmk/arm/trap.h
│ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/arm/vm_tuning.h
│ │ │ └── [1.4K] ./xnu-4570.1.46/osfmk/arm/xpr.h
│ │ ├── [1.7K] ./xnu-4570.1.46/osfmk/arm64
│ │ │ ├── [ 692] ./xnu-4570.1.46/osfmk/arm64/Makefile
│ │ │ ├── [ 26K] ./xnu-4570.1.46/osfmk/arm64/WKdmCompress_16k.s
│ │ │ ├── [ 26K] ./xnu-4570.1.46/osfmk/arm64/WKdmCompress_4k.s
│ │ │ ├── [4.3K] ./xnu-4570.1.46/osfmk/arm64/WKdmData.s
│ │ │ ├── [ 15K] ./xnu-4570.1.46/osfmk/arm64/WKdmDecompress_16k.s
│ │ │ ├── [ 15K] ./xnu-4570.1.46/osfmk/arm64/WKdmDecompress_4k.s
│ │ │ ├── [6.8K] ./xnu-4570.1.46/osfmk/arm64/alternate_debugger.c
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm64/alternate_debugger.h
│ │ │ ├── [2.3K] ./xnu-4570.1.46/osfmk/arm64/alternate_debugger_asm.s
│ │ │ ├── [ 41K] ./xnu-4570.1.46/osfmk/arm64/arm_vm_init.c
│ │ │ ├── [4.8K] ./xnu-4570.1.46/osfmk/arm64/asm.h
│ │ │ ├── [ 11K] ./xnu-4570.1.46/osfmk/arm64/bcopy.s
│ │ │ ├── [6.4K] ./xnu-4570.1.46/osfmk/arm64/bsd_arm64.c
│ │ │ ├── [5.6K] ./xnu-4570.1.46/osfmk/arm64/bzero.s
│ │ │ ├── [ 10K] ./xnu-4570.1.46/osfmk/arm64/caches_asm.s
│ │ │ ├── [8.1K] ./xnu-4570.1.46/osfmk/arm64/copyio.c
│ │ │ ├── [ 23K] ./xnu-4570.1.46/osfmk/arm64/cpu.c
│ │ │ ├── [6.7K] ./xnu-4570.1.46/osfmk/arm64/cswitch.s
│ │ │ ├── [ 10K] ./xnu-4570.1.46/osfmk/arm64/dbgwrap.c
│ │ │ ├── [ 17K] ./xnu-4570.1.46/osfmk/arm64/genassym.c
│ │ │ ├── [ 29K] ./xnu-4570.1.46/osfmk/arm64/kpc.c
│ │ │ ├── [ 25K] ./xnu-4570.1.46/osfmk/arm64/locore.s
│ │ │ ├── [ 16K] ./xnu-4570.1.46/osfmk/arm64/loose_ends.c
│ │ │ ├── [4.4K] ./xnu-4570.1.46/osfmk/arm64/lowglobals.h
│ │ │ ├── [3.5K] ./xnu-4570.1.46/osfmk/arm64/lowmem_vectors.c
│ │ │ ├── [ 13K] ./xnu-4570.1.46/osfmk/arm64/lz4_decode_arm64.s
│ │ │ ├── [ 20K] ./xnu-4570.1.46/osfmk/arm64/lz4_encode_arm64.s
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/arm64/machine_cpuid.h
│ │ │ ├── [2.3K] ./xnu-4570.1.46/osfmk/arm64/machine_kpc.h
│ │ │ ├── [1.8K] ./xnu-4570.1.46/osfmk/arm64/machine_machdep.h
│ │ │ ├── [ 49K] ./xnu-4570.1.46/osfmk/arm64/machine_routines.c
│ │ │ ├── [ 23K] ./xnu-4570.1.46/osfmk/arm64/machine_routines_asm.s
│ │ │ ├── [7.0K] ./xnu-4570.1.46/osfmk/arm64/machine_task.c
│ │ │ ├── [1.7K] ./xnu-4570.1.46/osfmk/arm64/monotonic.h
│ │ │ ├── [8.8K] ./xnu-4570.1.46/osfmk/arm64/monotonic_arm64.c
│ │ │ ├── [ 28K] ./xnu-4570.1.46/osfmk/arm64/pcb.c
│ │ │ ├── [ 14K] ./xnu-4570.1.46/osfmk/arm64/pgtrace.c
│ │ │ ├── [4.8K] ./xnu-4570.1.46/osfmk/arm64/pgtrace.h
│ │ │ ├── [ 58K] ./xnu-4570.1.46/osfmk/arm64/pgtrace_decoder.c
│ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/arm64/pgtrace_decoder.h
│ │ │ ├── [3.3K] ./xnu-4570.1.46/osfmk/arm64/pinst.s
│ │ │ ├── [ 32K] ./xnu-4570.1.46/osfmk/arm64/platform_tests.c
│ │ │ ├── [ 51K] ./xnu-4570.1.46/osfmk/arm64/proc_reg.h
│ │ │ ├── [ 43K] ./xnu-4570.1.46/osfmk/arm64/sleh.c
│ │ │ ├── [ 25K] ./xnu-4570.1.46/osfmk/arm64/start.s
│ │ │ ├── [ 36K] ./xnu-4570.1.46/osfmk/arm64/status.c
│ │ │ ├── [7.5K] ./xnu-4570.1.46/osfmk/arm64/strncmp.s
│ │ │ └── [7.7K] ./xnu-4570.1.46/osfmk/arm64/strnlen.s
│ │ │ ├── [ 440] ./xnu-4570.1.46/osfmk/conf/Makefile.arm
│ │ │ ├── [ 529] ./xnu-4570.1.46/osfmk/conf/Makefile.arm64
│ │ │ ├── [2.2K] ./xnu-4570.1.46/osfmk/conf/files.arm
│ │ │ ├── [2.7K] ./xnu-4570.1.46/osfmk/conf/files.arm64
│ │ │ │ ├── [ 136] ./xnu-4570.1.46/osfmk/kdp/ml/arm
│ │ │ │ │ ├── [ 18K] ./xnu-4570.1.46/osfmk/kdp/ml/arm/kdp_machdep.c
│ │ │ │ │ └── [ 10K] ./xnu-4570.1.46/osfmk/kdp/ml/arm/kdp_vm.c
│ │ │ ├── [ 136] ./xnu-4570.1.46/osfmk/kperf/arm
│ │ │ │ ├── [1.9K] ./xnu-4570.1.46/osfmk/kperf/arm/kperf_meminfo.c
│ │ │ │ └── [3.1K] ./xnu-4570.1.46/osfmk/kperf/arm/kperf_mp.c
│ │ │ ├── [ 102] ./xnu-4570.1.46/osfmk/libsa/arm
│ │ │ │ └── [2.7K] ./xnu-4570.1.46/osfmk/libsa/arm/types.h
│ │ │ ├── [ 544] ./xnu-4570.1.46/osfmk/mach/arm
│ │ │ │ ├── [ 700] ./xnu-4570.1.46/osfmk/mach/arm/Makefile
│ │ │ │ ├── [8.8K] ./xnu-4570.1.46/osfmk/mach/arm/_structs.h
│ │ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/mach/arm/boolean.h
│ │ │ │ ├── [2.1K] ./xnu-4570.1.46/osfmk/mach/arm/exception.h
│ │ │ │ ├── [2.7K] ./xnu-4570.1.46/osfmk/mach/arm/kern_return.h
│ │ │ │ ├── [1.6K] ./xnu-4570.1.46/osfmk/mach/arm/ndr_def.h
│ │ │ │ ├── [2.0K] ./xnu-4570.1.46/osfmk/mach/arm/processor_info.h
│ │ │ │ ├── [1.4K] ./xnu-4570.1.46/osfmk/mach/arm/rpc.h
│ │ │ │ ├── [ 14K] ./xnu-4570.1.46/osfmk/mach/arm/sdt_isa.h
│ │ │ │ ├── [5.8K] ./xnu-4570.1.46/osfmk/mach/arm/syscall_sw.h
│ │ │ │ ├── [1.7K] ./xnu-4570.1.46/osfmk/mach/arm/thread_state.h
│ │ │ │ ├── [ 18K] ./xnu-4570.1.46/osfmk/mach/arm/thread_status.h
│ │ │ │ ├── [6.1K] ./xnu-4570.1.46/osfmk/mach/arm/vm_param.h
│ │ │ │ └── [5.2K] ./xnu-4570.1.46/osfmk/mach/arm/vm_types.h
│ │ │ ├── [ 102] ./xnu-4570.1.46/osfmk/mach/arm64
│ │ │ │ └── [ 538] ./xnu-4570.1.46/osfmk/mach/arm64/Makefile
│ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/man/clock_alarm.html
│ │ │ ├── [2.5K] ./xnu-4570.1.46/osfmk/man/clock_alarm_reply.html
│ │ ├── [ 272] ./xnu-4570.1.46/pexpert/arm
│ │ │ ├── [ 217] ./xnu-4570.1.46/pexpert/arm/pe_bootargs.c
│ │ │ ├── [2.0K] ./xnu-4570.1.46/pexpert/arm/pe_consistent_debug.c
│ │ │ ├── [ 22K] ./xnu-4570.1.46/pexpert/arm/pe_identify_machine.c
│ │ │ ├── [ 18K] ./xnu-4570.1.46/pexpert/arm/pe_init.c
│ │ │ ├── [3.2K] ./xnu-4570.1.46/pexpert/arm/pe_kprintf.c
│ │ │ └── [ 22K] ./xnu-4570.1.46/pexpert/arm/pe_serial.c
│ │ │ ├── [ 389] ./xnu-4570.1.46/pexpert/conf/Makefile.arm
│ │ │ ├── [ 393] ./xnu-4570.1.46/pexpert/conf/Makefile.arm64
│ │ │ ├── [ 325] ./xnu-4570.1.46/pexpert/conf/files.arm
│ │ │ ├── [ 337] ./xnu-4570.1.46/pexpert/conf/files.arm64
│ │ ├── [ 408] ./xnu-4570.1.46/pexpert/pexpert/arm
│ │ │ ├── [2.7K] ./xnu-4570.1.46/pexpert/pexpert/arm/AIC.h
│ │ │ ├── [ 557] ./xnu-4570.1.46/pexpert/pexpert/arm/Makefile
│ │ │ ├── [2.2K] ./xnu-4570.1.46/pexpert/pexpert/arm/PL192_VIC.h
│ │ │ ├── [3.9K] ./xnu-4570.1.46/pexpert/pexpert/arm/S3cUART.h
│ │ │ ├── [1.7K] ./xnu-4570.1.46/pexpert/pexpert/arm/S7002.h
│ │ │ ├── [1.9K] ./xnu-4570.1.46/pexpert/pexpert/arm/T8002.h
│ │ │ ├── [ 928] ./xnu-4570.1.46/pexpert/pexpert/arm/board_config.h
│ │ │ ├── [2.1K] ./xnu-4570.1.46/pexpert/pexpert/arm/boot.h
│ │ │ ├── [3.9K] ./xnu-4570.1.46/pexpert/pexpert/arm/consistent_debug.h
│ │ │ └── [ 735] ./xnu-4570.1.46/pexpert/pexpert/arm/protos.h
│ │ ├── [ 578] ./xnu-4570.1.46/pexpert/pexpert/arm64
│ │ │ ├── [ 700] ./xnu-4570.1.46/pexpert/pexpert/arm64/AIC.h
│ │ │ ├── [ 622] ./xnu-4570.1.46/pexpert/pexpert/arm64/AMCC.h
│ │ │ ├── [ 611] ./xnu-4570.1.46/pexpert/pexpert/arm64/Makefile
│ │ │ ├── [ 31K] ./xnu-4570.1.46/pexpert/pexpert/arm64/S3c2410x.h
│ │ │ ├── [ 322] ./xnu-4570.1.46/pexpert/pexpert/arm64/S5L8960X.h
│ │ │ ├── [ 285] ./xnu-4570.1.46/pexpert/pexpert/arm64/S8000.h
│ │ │ ├── [ 313] ./xnu-4570.1.46/pexpert/pexpert/arm64/T7000.h
│ │ │ ├── [1.7K] ./xnu-4570.1.46/pexpert/pexpert/arm64/T8010.h
│ │ │ ├── [5.2K] ./xnu-4570.1.46/pexpert/pexpert/arm64/arm64_common.h
│ │ │ ├── [3.1K] ./xnu-4570.1.46/pexpert/pexpert/arm64/board_config.h
│ │ │ ├── [2.2K] ./xnu-4570.1.46/pexpert/pexpert/arm64/boot.h
│ │ │ ├── [ 568] ./xnu-4570.1.46/pexpert/pexpert/arm64/cyclone.h
│ │ │ ├── [ 731] ./xnu-4570.1.46/pexpert/pexpert/arm64/hurricane.h
│ │ │ ├── [ 308] ./xnu-4570.1.46/pexpert/pexpert/arm64/twister.h
│ │ │ └── [ 313] ./xnu-4570.1.46/pexpert/pexpert/arm64/typhoon.h
│ │ ├── [10.0K] ./xnu-4570.1.46/san/kasan-arm64.c
│ │ ├── [ 209] ./xnu-4570.1.46/san/kasan-blacklist-arm64
│ │ ├── [2.0K] ./xnu-4570.1.46/san/kasan-test-arm64.s
│ │ │ ├── [ 385] ./xnu-4570.1.46/security/conf/Makefile.arm
│ │ │ ├── [ 385] ./xnu-4570.1.46/security/conf/Makefile.arm64
│ │ │ ├── [ 0] ./xnu-4570.1.46/security/conf/files.arm
│ │ │ ├── [ 0] ./xnu-4570.1.46/security/conf/files.arm64
惊喜2:iOS xnu KPP error codes!/手动滑稽
竟然有kpp的error code,也不知道是故意的才是无意的,不过没有找到kpp的源码,/不开心。
#if CONFIG_KERNEL_INTEGRITY
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-parameter"
static void
kernel_integrity_error_handler(uint32_t esr, vm_offset_t far) {
#if defined(KERNEL_INTEGRITY_WT)
#if (DEVELOPMENT || DEBUG)
if (ESR_WT_SERROR(esr)) {
switch (ESR_WT_REASON(esr)) {
case WT_REASON_INTEGRITY_FAIL:
panic_plain("Kernel integrity, violation in frame 0x%016lx.", far);
case WT_REASON_BAD_SYSCALL:
panic_plain("Kernel integrity, bad syscall.");
case WT_REASON_NOT_LOCKED:
panic_plain("Kernel integrity, not locked.");
case WT_REASON_ALREADY_LOCKED:
panic_plain("Kernel integrity, already locked.");
case WT_REASON_SW_REQ:
panic_plain("Kernel integrity, software request.");
case WT_REASON_PT_INVALID:
panic_plain("Kernel integrity, encountered invalid TTE/PTE while "
"walking 0x%016lx.", far);
case WT_REASON_PT_VIOLATION:
panic_plain("Kernel integrity, violation in mapping 0x%016lx.",
far);
case WT_REASON_REG_VIOLATION:
panic_plain("Kernel integrity, violation in system register %d.",
(unsigned) far);
default:
panic_plain("Kernel integrity, unknown (esr=0x%08x).", esr);
}
}
#else
if (ESR_WT_SERROR(esr)) {
panic_plain("SError esr: 0x%08x far: 0x%016lx.", esr, far);
}
#endif
#endif
}
#pragma clang diagnostic pop
#endif
包含疑似APFS源代码,有任何疑惑的,自己去翻代码吧
$ grep -ril "filesystem" *
bsd/bsm/audit.h
bsd/conf/files
bsd/dev/dtrace/scripts/io.d
bsd/dev/vn/vn.c
bsd/kern/bsd_init.c
bsd/kern/decmpfs.c
bsd/kern/imageboot.c
bsd/kern/kern_acct.c
bsd/kern/kern_core.c
bsd/kern/kern_descrip.c
bsd/kern/kern_shutdown.c
bsd/kern/syscalls.master
bsd/kern/ubc_subr.c
bsd/man/man2/chflags.2
bsd/man/man2/clonefile.2
bsd/man/man2/execve.2
bsd/man/man2/fs_snapshot_create.2
bsd/man/man2/fsctl.2
bsd/man/man2/fsgetpath.2
bsd/man/man2/getdirentries.2
bsd/man/man2/getfsstat.2
bsd/man/man2/intro.2
bsd/man/man2/kqueue.2
bsd/man/man2/link.2
bsd/man/man2/mount.2
bsd/man/man2/msync.2
bsd/man/man2/open.2
bsd/man/man2/posix_spawn.2
bsd/man/man2/quotactl.2
bsd/man/man2/rename.2
bsd/man/man2/searchfs.2
bsd/man/man2/setattrlist.2
bsd/man/man2/setxattr.2
bsd/man/man2/stat.2
bsd/man/man2/statfs.2
bsd/man/man4/unix.4
bsd/man/man5/types.5
bsd/miscfs/devfs/devfs_fdesc_support.c
bsd/miscfs/devfs/devfs_tree.c
bsd/miscfs/devfs/devfs_vfsops.c
bsd/miscfs/devfs/devfsdefs.h
bsd/miscfs/devfs/fdesc.h
bsd/miscfs/mockfs/mockfs.h
bsd/miscfs/mockfs/mockfs_fsnode.c
bsd/miscfs/mockfs/mockfs_fsnode.h
bsd/miscfs/mockfs/mockfs_vfsops.c
bsd/miscfs/mockfs/mockfs_vnops.c
bsd/miscfs/nullfs/null_subr.c
bsd/miscfs/nullfs/null_vfsops.c
bsd/miscfs/routefs/routefs_ops.c
bsd/miscfs/specfs/spec_vnops.c
bsd/nfs/nfs_serv.c
bsd/nfs/nfs_socket.c
bsd/nfs/nfs_vfsops.c
bsd/nfs/nfs_vnops.c
bsd/nfs/nfsmount.h
bsd/sys/_types/_fd_def.h
bsd/sys/attr.h
bsd/sys/buf.h
bsd/sys/buf_internal.h
bsd/sys/decmpfs.h
bsd/sys/disklabel.h
bsd/sys/event.h
bsd/sys/fcntl.h
bsd/sys/fsctl.h
bsd/sys/kauth.h
bsd/sys/kdebug.h
bsd/sys/loadable_fs.h
bsd/sys/mount.h
bsd/sys/mount_internal.h
bsd/sys/namei.h
bsd/sys/poll.h
bsd/sys/priv.h
bsd/sys/quota.h
bsd/sys/select.h
bsd/sys/systm.h
bsd/sys/time.h
bsd/sys/types.h
bsd/sys/ucred.h
bsd/sys/vnode.h
bsd/sys/vnode_if.h
bsd/sys/vnode_internal.h
bsd/vfs/kpi_vfs.c
bsd/vfs/vfs_attrlist.c
bsd/vfs/vfs_bio.c
bsd/vfs/vfs_cache.c
bsd/vfs/vfs_cluster.c
bsd/vfs/vfs_conf.c
bsd/vfs/vfs_init.c
bsd/vfs/vfs_lookup.c
bsd/vfs/vfs_subr.c
bsd/vfs/vfs_syscalls.c
bsd/vfs/vfs_vnops.c
bsd/vfs/vfs_xattr.c
bsd/vm/vnode_pager.c
config/MASTER
iokit/bsddev/IOKitBSDInit.cpp
iokit/Kernel/IOHibernateIO.cpp
libkern/kxld/tests/kextcopyright.c
libkern/libkern/OSKextLib.h
libkern/libkern/OSKextLibPrivate.h
libkern/os/trace.h
libsyscall/wrappers/libproc/proc_listpidspath.c
osfmk/man/index.html
osfmk/vm/bsd_vm.c
osfmk/vm/vm_compressor_backing_store.c
osfmk/vm/vm_fault.c
osfmk/vm/vm_pageout.c
security/mac_policy.h
security/mac_vfs.c
tools/tests/darwintests/data_protection.c
tools/tests/darwintests/disk_mount_conditioner.c
上面是包含在XNU内核中的。
这个是磁盘驱动源码下载地址:
AppleFileSystemDriver-23.tar.gz,下载地址:https://opensource.apple.com/tarballs/AppleFileSystemDriver/AppleFileSystemDriver-23.tar.gz
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课