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 msgb_large config_embedded config_enforce_signed_code config_requires_u32_munging config_zcache config_darkboot ]
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 config_imageboot config_imageboot_img4 ]
24 # BSD_RELEASE = [ BSD_BASE no_printf_str no_kprintf_str secure_kernel ]
25 # BSD_DEV = [ BSD_BASE config_netboot config_imgsrc_access config_lockerboot config_coredump pgo config_vnguard ]
26 # BSD_DEBUG = [ BSD_BASE config_netboot config_imgsrc_access config_lockerboot config_coredump pgo config_vnguard ]
27 # FILESYS_BASE = [ devfs fifo fs_compression config_protect config_mnt_rootsnap config_triggers config_fse routefs namedstreams config_dataless_files bindfs]
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 if_bridge traffic_mgt dummynet ah_all_crypto if_fake sixlowpan ]
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 # PF_DEV = [ PF_RELEASE pflog ]
41 # PF_DEBUG = [ PF_DEV ]
42 # MULTIPATH = [ multipath mptcp ]
43 # IOKIT_BASE = [ iokit iokitcpp no_kextd no_kernel_hid config_sleep ]
44 # IOKIT_RELEASE = [ IOKIT_BASE ]
45 # IOKIT_DEV = [ IOKIT_BASE iokitstats iotracking ]
46 # IOKIT_DEBUG = [ IOKIT_BASE iokitstats iotracking]
47 # LIBKERN_BASE = [ libkerncpp config_blocks config_kec_fips zlib crypto_sha2 config_img4 ]
48 # LIBKERN_RELEASE =[ LIBKERN_BASE ]
49 # LIBKERN_DEV = [ LIBKERN_BASE iotracking ]
50 # LIBKERN_DEBUG = [ LIBKERN_BASE iotracking ]
51 # PERF_DBG_BASE = [ mach_kdp config_serial_kdp MONOTONIC_BASE kperf kpc ]
52 # PERF_DBG_RELEASE=[ PERF_DBG_BASE ist_kdebug ]
53 # PERF_DBG_DEV = [ PERF_DBG_BASE config_dtrace lock_stats zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
54 # PERF_DBG_DEBUG = [ PERF_DBG_BASE config_dtrace lock_stats zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
55 # 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 ]
56 # MACH_RELEASE = [ MACH_BASE config_skip_precise_user_kernel_time debugger_for_zone_info ]
57 # MACH_DEV = [ MACH_BASE task_zone_info config_io_accounting importance_trace config_ledger_interval_max ]
58 # MACH_DEBUG = [ MACH_BASE task_zone_info config_io_accounting importance_trace config_ledger_interval_max importance_debug ]
59 # SCHED_BASE = [ config_sched_traditional config_sched_multiq config_sched_deferred_ast config_clutch config_sched_sfi config_taskwatch ]
60 # SCHED_RELEASE = [ SCHED_BASE ]
61 # SCHED_DEV = [ SCHED_BASE ]
62 # SCHED_DEBUG = [ SCHED_BASE config_sched_grrr config_sched_proto ]
63 # VM_BASE = [ vps_dynamic_prio vm_pressure_events jetsam memorystatus config_code_decryption phantom_cache config_secluded_memory config_background_queue config_cs_validation_bitmap ]
64 # VM_RELEASE = [ VM_BASE ]
65 # VM_DEV = [ VM_BASE dynamic_codesigning ]
66 # VM_DEBUG = [ VM_BASE dynamic_codesigning ]
67 # SECURITY_BASE = [ config_macf kernel_integrity config_secure_bsd_root config_zalloc_sequester ]
68 # SECURITY_RELEASE = [ SECURITY_BASE ]
69 # SECURITY_DEV = [ SECURITY_BASE config_setuid config_kas_info ]
70 # SECURITY_DEBUG = [ SECURITY_BASE config_setuid config_kas_info ]
71 # RELEASE = [ KERNEL_RELEASE BSD_RELEASE FILESYS_RELEASE NFS_RELEASE SKYWALK_RELEASE NETWORKING_RELEASE PF_RELEASE MULTIPATH VPN IOKIT_RELEASE LIBKERN_RELEASE PERF_DBG_RELEASE MACH_RELEASE SCHED_RELEASE VM_RELEASE SECURITY_RELEASE ]
72 # DEVELOPMENT = [ KERNEL_DEV BSD_DEV FILESYS_DEV NFS_DEV SKYWALK_DEV NETWORKING_DEV PF_DEV MULTIPATH VPN IOKIT_DEV LIBKERN_DEV PERF_DBG_DEV MACH_DEV SCHED_DEV VM_DEV SECURITY_DEV ]
73 # DEBUG = [ KERNEL_DEBUG BSD_DEBUG FILESYS_DEBUG NFS_DEBUG SKYWALK_DEBUG NETWORKING_DEBUG PF_DEBUG MULTIPATH VPN IOKIT_DEBUG LIBKERN_DEBUG PERF_DBG_DEBUG MACH_DEBUG SCHED_DEBUG VM_DEBUG SECURITY_DEBUG ]
74 # KASAN = [ DEVELOPMENT config_kasan config_ubsan config_ksancov ]
76 ######################################################################
78 machine "arm64" # <arm64>
80 makeoptions OSFMK_MACHINE = "arm64" # <mach>
82 options COUNT_SYSCALLS # count bsd system calls # <countcalls>
83 options TRASH_VFP_ON_SAVE # <debug,trash_vfp>
84 options ALTERNATE_DEBUGGER # <alternate_debugger>
86 options CONFIG_VNODES=1024 # <xsmall>
88 options CONFIG_FREEZE_SUSPENDED_MIN=4 # <xsmall>
90 options CONFIG_MACH_APPROXIMATE_TIME
92 options CONFIG_KERNEL_INTEGRITY # <kernel_integrity>
94 options CONFIG_PGTRACE # <pgtrace>
95 options CONFIG_PGTRACE_NONKEXT # <pgtrace_nonkext>
96 pseudo-device pgtrace 1 init pgtrace_dev_init # <pgtrace_nonkext>