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 = [ intel medium msgb_large config_requires_u32_munging config_zcache config_delay_idle_sleep config_proc_udata_storage vsprintf ]
20 # KERNEL_RELEASE = [ KERNEL_BASE ]
21 # KERNEL_DEV = [ KERNEL_BASE development mach_assert config_xnupost proc_ref_debug os_reason_debug config_zalloc_sequester ]
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 config_zalloc_sequester ]
23 # BSD_BASE = [ mach_bsd sysv_sem sysv_msg sysv_shm config_netboot config_imageboot config_imageboot_chunklist config_workqueue psynch config_proc_uuid_policy config_coredump pgo config_32bit_telemetry config_personas ]
24 # BSD_RELEASE = [ BSD_BASE ]
25 # BSD_DEV = [ BSD_BASE config_vnguard ]
26 # BSD_DEBUG = [ BSD_BASE config_vnguard ]
27 # FILESYS_BASE = [ devfs fdesc config_dev_kmem config_fse quota namedstreams config_mnt_rootsnap config_rosv_startup config_mount_vm config_mount_prebootrecovery config_basesystemroot config_keypage_wp config_protect fifo config_volfs fs_compression config_imgsrc_access config_triggers config_ext_resolver config_searchfs config_appledouble nullfs config_mnt_suid config_firmlinks config_dataless_files bindfs]
28 # FILESYS_RELEASE= [ FILESYS_BASE ]
29 # FILESYS_DEV = [ FILESYS_BASE ]
30 # FILESYS_DEBUG = [ FILESYS_BASE ]
31 # NFS = [ nfsclient nfsserver config_nfs4 config_nfs_gss ]
32 # NETWORKING = [ inet bpfilter dummynet traffic_mgt sendfile ah_all_crypto bond vlan gif stf ifnet_input_chk config_mbuf_jumbo if_bridge MULTIPATH if_fake sixlowpan ]
33 # NETWORKING_RELEASE = [ NETWORKING ]
34 # NETWORKING_DEV = [ NETWORKING_RELEASE packet_mangler if_headless ]
35 # NETWORKING_DEBUG = [ NETWORKING_DEV ]
36 # VPN = [ ipsec flow_divert necp content_filter ]
38 # MULTIPATH = [ multipath mptcp ]
39 # IOKIT_BASE = [ iokit iokitcpp hibernation config_sleep iokitstats hypervisor ]
40 # IOKIT_RELEASE = [ IOKIT_BASE ]
41 # IOKIT_DEV = [ IOKIT_BASE iotracking ]
42 # IOKIT_DEBUG = [ IOKIT_BASE iotracking ]
43 # LIBKERN_BASE = [ libkerncpp config_blocks config_kec_fips crypto_sha2 config_img4 ]
44 # LIBKERN_RELEASE =[ LIBKERN_BASE zlib ]
45 # LIBKERN_DEV = [ LIBKERN_BASE zlib iotracking ]
46 # LIBKERN_DEBUG = [ LIBKERN_BASE zlib iotracking ]
47 # PERF_DBG_BASE = [ config_dtrace mach_kdp config_serial_kdp kdp_interactive_debugging kperf kpc zleaks config_gzalloc MONOTONIC_BASE ]
48 # PERF_DBG_RELEASE=[ PERF_DBG_BASE ]
49 # PERF_DBG_DEV =[ PERF_DBG_BASE lock_stats ]
50 # PERF_DBG_DEBUG = [ PERF_DBG_BASE lock_stats ]
51 # MACH_BASE = [ mach config_kext_basement mdebug ipc_debug config_mca config_vmx config_mtrr config_lapic config_telemetry importance_inheritance config_atm config_coalitions hypervisor config_iosched config_sysdiagnose config_mach_bridge_send_time copyout_shim phys_write_acct ]
52 # MACH_RELEASE = [ MACH_BASE ]
53 # MACH_DEV = [ MACH_BASE task_zone_info importance_trace config_ledger_interval_max ]
54 # MACH_DEBUG = [ MACH_BASE task_zone_info importance_trace config_ledger_interval_max importance_debug ]
55 # SCHED_BASE = [ config_sched_traditional config_sched_multiq config_sched_sfi ]
56 # SCHED_RELEASE = [ SCHED_BASE ]
57 # SCHED_DEV = [ SCHED_BASE ]
58 # SCHED_DEBUG = [ SCHED_BASE config_sched_grrr config_sched_proto ]
59 # VM = [ vm_pressure_events memorystatus dynamic_codesigning config_code_decryption encrypted_swap config_background_queue dirtystatus_tracking ]
60 # SECURITY = [ config_macf config_audit config_csr config_arcade config_setuid config_kas_info ]
61 # RELEASE = [ KERNEL_RELEASE BSD_RELEASE FILESYS_RELEASE NFS SKYWALK_RELEASE NETWORKING_RELEASE PF VPN IOKIT_RELEASE LIBKERN_RELEASE PERF_DBG_RELEASE MACH_RELEASE SCHED_RELEASE VM SECURITY ]
62 # DEVELOPMENT = [ KERNEL_DEV BSD_DEV FILESYS_DEV NFS SKYWALK_DEV NETWORKING_DEV PF VPN IOKIT_DEV LIBKERN_DEV PERF_DBG_DEV MACH_DEV SCHED_DEV VM SECURITY ]
63 # DEBUG = [ KERNEL_DEBUG BSD_DEBUG FILESYS_DEBUG NFS SKYWALK_DEBUG NETWORKING_DEBUG PF VPN IOKIT_DEBUG LIBKERN_DEBUG PERF_DBG_DEBUG MACH_DEBUG SCHED_DEBUG VM SECURITY ]
64 # KASAN = [ DEVELOPMENT config_kasan config_ubsan config_ksancov ]
66 ######################################################################
68 machine "x86_64" # <intel>
70 makeoptions OSFMK_MACHINE = "x86_64" # <mach>
74 options CONFIG_MCA # Machine Check Architecture # <config_mca>
75 options CONFIG_VMX # Virtual Machine Extensions # <config_vmx>
76 options CONFIG_MTRR # Memory Type Range Registers # <config_mtrr>
77 options CONFIG_MACF_LAZY_VNODE_LABELS # Turn on labels, don't preallocate
79 options NO_NESTED_PMAP # <no_nested_pmap>
81 options HYPERVISOR # Apple hypervisor kext support # <hypervisor>
83 options CONFIG_MACH_APPROXIMATE_TIME