1# 2# Mach Operating System 3# Copyright (c) 1986 Carnegie-Mellon University 4# Copyright 2022-2023 Apple Inc. 5# 6# All rights reserved. The CMU software License Agreement 7# specifies the terms and conditions for use and redistribution. 8# 9###################################################################### 10# 11# Master Apple configuration file (see the master machine independent 12# configuration file for a description of the file format). 13# 14###################################################################### 15# 16# Standard Apple OS Configurations: 17# -------- ----- -- --------------- 18# 19# KERNEL_BASE = [ arm64 xsmall msgb_small config_embedded config_enforce_signed_code config_code_signature_reconstitution config_requires_u32_munging config_darkboot ] 20# KERNEL_RELEASE = [ KERNEL_BASE ARM_EXTRAS_BASE ] 21# KERNEL_DEV = [ KERNEL_BASE ARM_EXTRAS_BASE development mach_assert config_xnupost proc_ref_debug config_proc_resource_limits config_ext_paniclog ] 22# KERNEL_DEV_PPL = [ KERNEL_BASE ARM_EXTRAS_BASE_PPL development mach_assert config_xnupost proc_ref_debug config_proc_resource_limits ] 23# KERNEL_DEBUG = [ KERNEL_BASE ARM_EXTRAS_BASE debug mach_assert config_xnupost config_waitq_stats config_workloop_debug config_proc_resource_limits config_ext_paniclog ] 24# BSD_EXTRAS_BASE = [ ] 25# BSD_EXTRAS_DEV = [ config_coredump ] 26# BSD_EXTRAS_DEBUG = [ config_coredump ] 27# BSD_BASE = [ mach_bsd psynch config_proc_uuid_policy config_personas config_imageboot config_imageboot_img4 BSD_EXTRAS_BASE ] 28# BSD_RELEASE = [ BSD_BASE no_printf_str no_kprintf_str secure_kernel ] 29# BSD_DEV = [ BSD_BASE config_netboot config_imgsrc_access pgo config_vnguard rosetta BSD_EXTRAS_DEV ] 30# BSD_DEBUG = [ BSD_BASE config_netboot config_imgsrc_access pgo config_vnguard rosetta BSD_EXTRAS_DEBUG ] 31# FILESYS_BASE = [ devfs fifo fs_compression config_protect config_mnt_rootsnap config_triggers config_fse routefs namedstreams config_dataless_files bindfs] 32# FILESYS_RELEASE= [ FILESYS_BASE ] 33# FILESYS_DEV = [ FILESYS_BASE fdesc config_union_mounts ] 34# FILESYS_DEBUG = [ FILESYS_BASE fdesc config_union_mounts ] 35# NFS_DEV = [ nfsserver ] 36# SKYWALK_BASE = [ skywalk config_nexus_user_pipe config_nexus_kernel_pipe config_nexus_monitor config_nexus_flowswitch config_nexus_netif ] 37# SKYWALK_RELEASE = [ SKYWALK_BASE ] 38# SKYWALK_DEV = [ SKYWALK_BASE ] 39# SKYWALK_DEBUG = [ SKYWALK_BASE ] 40# NETWORKING = [ inet tcpdrop_synfin bpfilter if_bridge traffic_mgt dummynet ah_all_crypto if_fake if_redirect vlan ] 41# NETWORKING_RELEASE = [ NETWORKING ] 42# NETWORKING_DEV = [ NETWORKING_RELEASE packet_mangler if_headless kctl_test ] 43# NETWORKING_DEBUG = [ NETWORKING_DEV ] 44# VPN = [ ipsec flow_divert necp content_filter ] 45# PF_RELEASE = [ pf ] 46# PF_DEV = [ PF_RELEASE pflog ] 47# PF_DEBUG = [ PF_DEV ] 48# MULTIPATH = [ multipath mptcp ] 49# IOKIT_BASE = [ iokit iokitcpp no_kernel_hid config_sleep ] 50# IOKIT_RELEASE = [ IOKIT_BASE ] 51# IOKIT_DEV = [ IOKIT_BASE iokitstats iotracking ] 52# IOKIT_DEBUG = [ IOKIT_BASE iokitstats iotracking] 53# LIBKERN_BASE = [ libkerncpp config_blocks config_kec_fips zlib crypto_sha2 config_img4 ] 54# LIBKERN_RELEASE =[ LIBKERN_BASE ] 55# LIBKERN_DEV = [ LIBKERN_BASE iotracking ] 56# LIBKERN_DEBUG = [ LIBKERN_BASE iotracking ] 57# PERF_EXTRAS_BASE = [ ] 58# PERF_EXTRAS_DEV = [ kdp_interactive_debugging config_kdp_coredump_encryption ] 59# PERF_EXTRAS_DEBUG = [ kdp_interactive_debugging config_kdp_coredump_encryption ] 60# PERF_DBG_BASE = [ mach_kdp config_serial_kdp config_pervasive_energy PERFMON_BASE kperf kpc PERF_EXTRAS_BASE ] 61# PERF_DBG_RELEASE=[ PERF_DBG_BASE ist_kdebug ] 62# PERF_DBG_DEV = [ PERF_DBG_BASE config_dtrace lock_stats zleaks alternate_debugger sched_hygiene_debug config_debug_syscall_rejection config_iotrace PERF_EXTRAS_DEV ] 63# PERF_DBG_DEBUG = [ PERF_DBG_BASE config_dtrace lock_stats zleaks alternate_debugger sched_hygiene_debug config_debug_syscall_rejection config_iotrace PERF_EXTRAS_DEBUG ] 64#if SOC_IS_VIRTUALIZED 65# PARAVIRT_BASE = [ config_pv_ticket ] 66#else 67# PARAVIRT_BASE = [ ] 68#endif 69# MACH_BASE = [ mach config_ecc_logging vc_progress_white importance_inheritance config_atm config_coalitions config_iosched config_library_validation config_sysdiagnose config_telemetry config_mach_bridge_recv_time config_quiesce_counter config_io_compression_stats phys_write_acct config_service_port_info PARAVIRT_BASE config_ledger_interval_max ] 70# MACH_RELEASE = [ MACH_BASE config_skip_precise_user_kernel_time debugger_for_zone_info ] 71# MACH_DEV = [ MACH_BASE config_io_accounting importance_trace config_task_suspend_stats ] 72# MACH_DEBUG = [ MACH_BASE config_io_accounting importance_trace importance_debug config_task_suspend_stats ] 73# SCHED_BASE = [ config_sched_traditional config_sched_multiq config_sched_deferred_ast config_clutch config_sched_sfi config_taskwatch config_preadopt_tg ] 74# SCHED_RELEASE = [ SCHED_BASE ] 75# SCHED_DEV = [ SCHED_BASE ] 76# SCHED_DEBUG = [ SCHED_BASE config_sched_grrr config_sched_proto ] 77# VM_BASE = [ vps_dynamic_prio vm_pressure_events jetsam freeze memorystatus config_code_decryption phantom_cache config_secluded_memory config_cs_validation_bitmap config_deferred_reclaim config_map_ranges ] 78# VM_RELEASE = [ VM_BASE ] 79# VM_DEV = [ VM_BASE dynamic_codesigning ubsan_minimal pgzalloc ] 80# VM_DEBUG = [ VM_BASE dynamic_codesigning ubsan_minimal pgzalloc ] 81# VM_KASAN = [ VM_BASE dynamic_codesigning config_kasan config_ubsan config_kcov config_ksancov kernel_tagging kernel_tbi] 82# SECURITY_BASE = [ config_macf kernel_integrity config_secure_bsd_root reslide_shared_cache ] 83# SECURITY_RELEASE = [ SECURITY_BASE ] 84# SECURITY_DEV = [ SECURITY_BASE config_setuid config_kas_info ] 85# SECURITY_DEBUG = [ SECURITY_BASE config_setuid config_kas_info ] 86# BASE = [ MULTIPATH VPN ] 87# RELEASE = [ BASE KERNEL_RELEASE BSD_RELEASE FILESYS_RELEASE SKYWALK_RELEASE NETWORKING_RELEASE PF_RELEASE IOKIT_RELEASE LIBKERN_RELEASE PERF_DBG_RELEASE MACH_RELEASE SCHED_RELEASE VM_RELEASE SECURITY_RELEASE ] 88# DEVELOPMENT = [ BASE KERNEL_DEV BSD_DEV FILESYS_DEV NFS_DEV SKYWALK_DEV NETWORKING_DEV PF_DEV IOKIT_DEV LIBKERN_DEV PERF_DBG_DEV MACH_DEV SCHED_DEV VM_DEV SECURITY_DEV ] 89# DEBUG = [ BASE KERNEL_DEBUG BSD_DEBUG FILESYS_DEBUG SKYWALK_DEBUG NETWORKING_DEBUG PF_DEBUG IOKIT_DEBUG LIBKERN_DEBUG PERF_DBG_DEBUG MACH_DEBUG SCHED_DEBUG VM_DEBUG SECURITY_DEBUG ] 90# KASAN = [ BASE KERNEL_DEV_PPL BSD_DEV FILESYS_DEV NFS_DEV SKYWALK_DEV NETWORKING_DEV PF_DEV IOKIT_DEV LIBKERN_DEV PERF_DBG_DEV MACH_DEV SCHED_DEV VM_KASAN SECURITY_DEV ] 91# 92###################################################################### 93# 94machine "arm64" # <arm64> 95 96makeoptions OSFMK_MACHINE = "arm64" # <mach> 97 98options COUNT_SYSCALLS # count bsd system calls # <countcalls> 99options TRASH_VFP_ON_SAVE # <debug,trash_vfp> 100options ALTERNATE_DEBUGGER # <alternate_debugger> 101 102options CONFIG_VNODES=1024 # <xsmall> 103 104options CONFIG_FREEZE_SUSPENDED_MIN=4 # <xsmall> 105 106options CONFIG_MACH_APPROXIMATE_TIME 107 108options CONFIG_KERNEL_INTEGRITY # <kernel_integrity> 109 110options CONFIG_RESLIDE_SHARED_CACHE # <reslide_shared_cache> 111 112options CONFIG_UBSAN_MINIMAL # <ubsan_minimal> 113options CONFIG_KERNEL_TBI # <kernel_tbi> 114options CONFIG_KERNEL_TAGGING # <kernel_tagging> 115