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 # ARM_EXTRAS_BASE = [ nos_arm_pmap nos_arm_asm ]
20 # KERNEL_BASE = [ arm64 xsmall msgb_small config_embedded config_requires_u32_munging config_zcache ARM_EXTRAS_BASE ]
21 # KERNEL_RELEASE = [ KERNEL_BASE ]
22 # KERNEL_DEV = [ KERNEL_BASE development mach_assert config_xnupost proc_ref_debug os_reason_debug pgtrace ]
23 # 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 ]
24 # BSD_BASE = [ mach_bsd config_workqueue psynch config_proc_uuid_policy config_personas ]
25 # BSD_RELEASE = [ BSD_BASE no_printf_str no_kprintf_str secure_kernel ]
26 # BSD_DEV = [ BSD_BASE config_netboot config_imageboot config_coredump pgo config_vnguard ]
27 # BSD_DEBUG = [ BSD_BASE config_netboot config_imageboot config_coredump pgo config_vnguard ]
28 # FILESYS_BASE = [ devfs fifo fs_compression config_protect config_mnt_rootsnap config_fse routefs namedstreams bindfs]
29 # FILESYS_RELEASE= [ FILESYS_BASE ]
30 # FILESYS_DEV = [ FILESYS_BASE fdesc ]
31 # FILESYS_DEBUG = [ FILESYS_BASE fdesc ]
32 # NFS_DEV = [ nfsclient nfsserver config_nfs_gss ]
33 # NFS_RELEASE = [ nfsclient ]
34 # NFS_DEBUG = [ nfsclient config_nfs_gss ]
35 # NETWORKING = [ inet bpfilter if_bridge traffic_mgt dummynet ah_all_crypto if_fake ]
36 # NETWORKING_RELEASE = [ NETWORKING ]
37 # NETWORKING_DEV = [ NETWORKING_RELEASE packet_mangler if_headless ]
38 # NETWORKING_DEBUG = [ NETWORKING_DEV ]
39 # VPN = [ ipsec flow_divert necp content_filter ]
41 # MULTIPATH = [ multipath mptcp ]
42 # IOKIT_BASE = [ iokit iokitcpp no_kextd no_kernel_hid config_sleep ]
43 # IOKIT_RELEASE = [ IOKIT_BASE ]
44 # IOKIT_DEV = [ IOKIT_BASE iokitstats iotracking ]
45 # IOKIT_DEBUG = [ IOKIT_BASE iokitstats iotracking]
46 # LIBKERN_BASE = [ libkerncpp config_blocks config_kec_fips zlib crypto_sha2 ]
47 # LIBKERN_RELEASE =[ LIBKERN_BASE ]
48 # LIBKERN_DEV = [ LIBKERN_BASE iotracking ]
49 # LIBKERN_DEBUG = [ LIBKERN_BASE iotracking ]
50 # PERF_DBG_BASE = [ mach_kdp config_serial_kdp kperf kpc ]
51 # PERF_DBG_RELEASE=[ PERF_DBG_BASE ist_kdebug ]
52 # PERF_DBG_DEV = [ PERF_DBG_BASE config_dtrace zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
53 # PERF_DBG_DEBUG = [ PERF_DBG_BASE config_dtrace zleaks kdp_interactive_debugging alternate_debugger interrupt_masked_debug ]
54 # 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 ]
55 # MACH_RELEASE = [ MACH_BASE config_skip_precise_user_kernel_time debugger_for_zone_info ]
56 # MACH_DEV = [ MACH_BASE task_zone_info config_io_accounting importance_trace ]
57 # MACH_DEBUG = [ MACH_BASE task_zone_info config_io_accounting importance_trace importance_debug ]
58 # SCHED_BASE = [ config_sched_traditional config_sched_multiq config_sched_deferred_ast config_clutch config_taskwatch ]
59 # SCHED_RELEASE = [ SCHED_BASE ]
60 # SCHED_DEV = [ SCHED_BASE ]
61 # SCHED_DEBUG = [ SCHED_BASE config_sched_grrr config_sched_proto ]
62 # VM_BASE = [ vm_pressure_events jetsam freeze memorystatus config_code_decryption phantom_cache config_secluded_memory config_background_queue config_cs_validation_bitmap dirtystatus_tracking ]
63 # VM_RELEASE = [ VM_BASE ]
64 # VM_DEV = [ VM_BASE dynamic_codesigning ]
65 # VM_DEBUG = [ VM_BASE dynamic_codesigning ]
66 # SECURITY_BASE = [ config_macf kernel_integrity config_secure_bsd_root ]
67 # SECURITY_RELEASE = [ SECURITY_BASE ]
68 # SECURITY_DEV = [ SECURITY_BASE config_setuid config_kas_info ]
69 # SECURITY_DEBUG = [ SECURITY_BASE config_setuid config_kas_info ]
70 # 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_RELEASE ]
71 # 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_DEV ]
72 # 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_DEBUG ]
73 # KASAN = [ DEVELOPMENT config_kasan config_ubsan config_ksancov ]
75 ######################################################################
77 machine "arm64" # <arm64>
79 makeoptions OSFMK_MACHINE = "arm64" # <mach>
81 options COUNT_SYSCALLS # count bsd system calls # <countcalls>
82 options TRASH_VFP_ON_SAVE # <debug,trash_vfp>
83 options ALTERNATE_DEBUGGER # <alternate_debugger>
85 options CONFIG_VNODES=1024 # <xsmall>
87 options CONFIG_FREEZE_SUSPENDED_MIN=4 # <xsmall>
89 options CONFIG_MACH_APPROXIMATE_TIME
91 options CONFIG_KERNEL_INTEGRITY # <kernel_integrity>
93 options CONFIG_PGTRACE # <pgtrace>
94 options CONFIG_PGTRACE_NONKEXT # <pgtrace_nonkext>
95 pseudo-device pgtrace 1 init pgtrace_dev_init # <pgtrace_nonkext>