2 # Mach Operating System
3 # Copyright (c) 1986 Carnegie-Mellon University
4 # Copyright 2001-2018 Apple Inc.
6 # All rights reserved. The CMU software License Agreement
7 # specifies the terms and conditions for use and redistribution.
9 ######################################################################
11 # Master Apple configuration file (see the master machine independent
12 # configuration file for a description of the file format).
14 ######################################################################
16 # Standard Apple OS Configurations:
17 # -------- ----- -- ---------------
19 # KERNEL_BASE = [ arm64 xsmall config_embedded config_requires_u32_munging config_zcache ]
20 # KERNEL_RELEASE = [ KERNEL_BASE ]
21 # KERNEL_DEV = [ KERNEL_BASE development mach_assert config_xnupost proc_ref_debug os_reason_debug pgtrace ]
22 # KERNEL_DEBUG = [ KERNEL_BASE debug mach_assert config_xnupost config_ltable_stats config_ltable_debug config_waitq_stats config_workloop_debug config_waitq_debug pgtrace ]
23 # BSD_BASE = [ mach_bsd config_workqueue psynch config_proc_uuid_policy config_personas ]
24 # BSD_RELEASE = [ BSD_BASE no_printf_str no_kprintf_str secure_kernel ]
25 # BSD_DEV = [ BSD_BASE config_netboot config_imageboot config_coredump pgo config_vnguard ]
26 # BSD_DEBUG = [ BSD_BASE config_netboot config_imageboot config_coredump pgo config_vnguard ]
27 # FILESYS_BASE = [ devfs fifo fs_compression config_protect config_mnt_rootsnap config_fse routefs namedstreams ]
28 # FILESYS_RELEASE= [ FILESYS_BASE ]
29 # FILESYS_DEV = [ FILESYS_BASE fdesc ]
30 # FILESYS_DEBUG = [ FILESYS_BASE fdesc ]
31 # NFS_DEV = [ nfsclient nfsserver config_nfs_gss ]
32 # NFS_RELEASE = [ nfsclient ]
33 # NFS_DEBUG = [ nfsclient config_nfs_gss ]
34 # NETWORKING = [ inet tcpdrop_synfin bpfilter inet6 ipv6send if_bridge traffic_mgt dummynet ah_all_crypto if_fake ]
35 # NETWORKING_RELEASE = [ NETWORKING ]
36 # NETWORKING_DEV = [ NETWORKING_RELEASE packet_mangler if_headless ]
37 # NETWORKING_DEBUG = [ NETWORKING_DEV ]
38 # VPN = [ ipsec flow_divert necp content_filter ]
40 # MULTIPATH = [ multipath mptcp ]
41 # IOKIT_BASE = [ iokit iokitcpp no_kextd no_kernel_hid config_sleep ]
42 # IOKIT_RELEASE = [ IOKIT_BASE ]
43 # IOKIT_DEV = [ IOKIT_BASE iokitstats iotracking ]
44 # IOKIT_DEBUG = [ IOKIT_BASE iokitstats iotracking]
45 # LIBKERN_BASE = [ libkerncpp config_blocks config_kec_fips zlib crypto_sha2 ]
46 # LIBKERN_RELEASE =[ LIBKERN_BASE ]
47 # LIBKERN_DEV = [ LIBKERN_BASE iotracking ]
48 # LIBKERN_DEBUG = [ LIBKERN_BASE iotracking ]
49 # PERF_DBG_BASE = [ mach_kdp config_serial_kdp kperf kpc ]
50 # PERF_DBG_RELEASE=[ PERF_DBG_BASE ist_kdebug ]
51 # PERF_DBG_DEV = [ PERF_DBG_BASE config_dtrace zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
52 # PERF_DBG_DEBUG = [ PERF_DBG_BASE config_dtrace zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
53 # MACH_BASE = [ mach slidable config_ecc_logging vc_progress_white mdebug ipc_debug importance_inheritance config_atm config_coalitions config_iosched config_library_validation config_sysdiagnose config_telemetry config_mach_bridge_recv_time config_quiesce_counter ]
54 # MACH_RELEASE = [ MACH_BASE config_skip_precise_user_kernel_time debugger_for_zone_info ]
55 # MACH_DEV = [ MACH_BASE task_zone_info config_io_accounting importance_trace ]
56 # MACH_DEBUG = [ MACH_BASE task_zone_info config_io_accounting importance_trace importance_debug ]
57 # SCHED_BASE = [ config_sched_traditional config_sched_multiq config_sched_deferred_ast ]
58 # SCHED_RELEASE = [ SCHED_BASE ]
59 # SCHED_DEV = [ SCHED_BASE ]
60 # SCHED_DEBUG = [ SCHED_BASE config_sched_grrr config_sched_proto ]
61 # VM_BASE = [ vm_pressure_events jetsam freeze memorystatus config_code_decryption phantom_cache config_secluded_memory config_background_queue config_cs_validation_bitmap]
62 # VM_RELEASE = [ VM_BASE ]
63 # VM_DEV = [ VM_BASE dynamic_codesigning ]
64 # VM_DEBUG = [ VM_BASE dynamic_codesigning ]
65 # SECURITY = [ config_macf kernel_integrity ]
66 # RELEASE = [ KERNEL_RELEASE BSD_RELEASE FILESYS_RELEASE NFS_RELEASE SKYWALK_RELEASE NETWORKING_RELEASE PF MULTIPATH VPN IOKIT_RELEASE LIBKERN_RELEASE PERF_DBG_RELEASE MACH_RELEASE SCHED_RELEASE VM_RELEASE SECURITY ]
67 # DEVELOPMENT = [ KERNEL_DEV BSD_DEV FILESYS_DEV NFS_DEV SKYWALK_DEV NETWORKING_DEV PF MULTIPATH VPN IOKIT_DEV LIBKERN_DEV PERF_DBG_DEV MACH_DEV SCHED_DEV VM_DEV SECURITY ]
68 # DEBUG = [ KERNEL_DEBUG BSD_DEBUG FILESYS_DEBUG NFS_DEBUG SKYWALK_DEBUG NETWORKING_DEBUG PF MULTIPATH VPN IOKIT_DEBUG LIBKERN_DEBUG PERF_DBG_DEBUG MACH_DEBUG SCHED_DEBUG VM_DEBUG SECURITY ]
69 # KASAN = [ DEVELOPMENT config_kasan config_ubsan config_ksancov ]
71 ######################################################################
73 machine "arm64" # <arm64>
75 makeoptions OSFMK_MACHINE = "arm64" # <mach>
77 options COUNT_SYSCALLS # count bsd system calls # <countcalls>
78 options TRASH_VFP_ON_SAVE # <debug,trash_vfp>
79 options ALTERNATE_DEBUGGER # <alternate_debugger>
81 options CONFIG_VNODES=1024 # <xsmall>
83 options CONFIG_FREEZE_SUSPENDED_MIN=4 # <xsmall>
85 options CONFIG_MACH_APPROXIMATE_TIME
87 options CONFIG_KERNEL_INTEGRITY # <kernel_integrity>
89 options INTERRUPT_MASKED_DEBUG=1 # # <interrupt_masked_debug>
91 options CONFIG_PGTRACE # <pgtrace>
92 options CONFIG_PGTRACE_NONKEXT # <pgtrace_nonkext>
93 pseudo-device pgtrace 1 init pgtrace_dev_init # <pgtrace_nonkext>