xref: /xnu-11215/config/MASTER.arm64.iPhoneOS (revision 8d741a5d)
1#
2# Mach Operating System
3# Copyright (c) 1986 Carnegie-Mellon University
4# Copyright 2001-2018 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 config_pmap_ppl xsmall msgb_small config_embedded config_enforce_signed_code config_code_signature_reconstitution config_requires_u32_munging config_darkboot ARM_EXTRAS_BASE ]
20#  KERNEL_RELEASE = [ KERNEL_BASE ]
21#  KERNEL_DEV =     [ KERNEL_BASE development mach_assert config_xnupost proc_ref_debug config_proc_resource_limits config_ext_paniclog ]
22#  KERNEL_DEBUG =   [ KERNEL_BASE debug mach_assert config_xnupost config_waitq_stats config_workloop_debug config_proc_resource_limits config_ext_paniclog ]
23#  BSD_EXTRAS_BASE = [ ]
24#  BSD_EXTRAS_DEV = [ config_coredump ]
25#  BSD_EXTRAS_DEBUG = [ config_coredump ]
26#  BSD_BASE =       [ mach_bsd psynch config_proc_uuid_policy config_personas config_imageboot config_imageboot_img4 BSD_EXTRAS_BASE ]
27#  BSD_RELEASE =    [ BSD_BASE no_printf_str no_kprintf_str secure_kernel ]
28#  BSD_DEV =        [ BSD_BASE config_netboot config_imgsrc_access pgo config_vnguard rosetta BSD_EXTRAS_DEV ]
29#  BSD_DEBUG =      [ BSD_BASE config_netboot config_imgsrc_access pgo config_vnguard rosetta BSD_EXTRAS_DEBUG ]
30#  FILESYS_BASE =   [ devfs fifo fs_compression config_protect config_mnt_rootsnap config_triggers config_fse routefs namedstreams config_dataless_files bindfs]
31#  FILESYS_RELEASE= [ FILESYS_BASE ]
32#  FILESYS_DEV =    [ FILESYS_BASE fdesc config_union_mounts ]
33#  FILESYS_DEBUG =  [ FILESYS_BASE fdesc config_union_mounts ]
34#  NFS_DEV =        [ nfsserver ]
35#  SKYWALK_BASE =   [ skywalk config_nexus_user_pipe config_nexus_kernel_pipe config_nexus_monitor config_nexus_flowswitch config_nexus_netif ]
36#  SKYWALK_RELEASE = [ SKYWALK_BASE ]
37#  SKYWALK_DEV =    [ SKYWALK_BASE ]
38#  SKYWALK_DEBUG =  [ SKYWALK_BASE ]
39#  NETWORKING =     [ inet tcpdrop_synfin bpfilter if_bridge traffic_mgt dummynet ah_all_crypto if_fake if_redirect vlan ]
40#  NETWORKING_RELEASE = [ NETWORKING ]
41#  NETWORKING_DEV = [ NETWORKING_RELEASE packet_mangler if_headless kctl_test ]
42#  NETWORKING_DEBUG = [ NETWORKING_DEV ]
43#  VPN =            [ ipsec flow_divert necp content_filter ]
44#  PF_RELEASE =     [ pf pflog ]
45#  PF_DEV =         [ PF_RELEASE ]
46#  PF_DEBUG =       [ PF_DEV ]
47#  MULTIPATH =      [ multipath mptcp ]
48#  IOKIT_BASE =     [ iokit iokitcpp no_kernel_hid config_sleep ]
49#  IOKIT_RELEASE =  [ IOKIT_BASE ]
50#  IOKIT_DEV =      [ IOKIT_BASE iokitstats iotracking ]
51#  IOKIT_DEBUG =    [ IOKIT_BASE iokitstats iotracking]
52#  LIBKERN_BASE =   [ libkerncpp config_blocks config_kec_fips zlib crypto_sha2 config_img4 ]
53#  LIBKERN_RELEASE =[ LIBKERN_BASE ]
54#  LIBKERN_DEV =    [ LIBKERN_BASE iotracking ]
55#  LIBKERN_DEBUG =  [ LIBKERN_BASE iotracking ]
56
57#if SOC_IS_VIRTUALIZED
58#  CPU_COUNTERS_BASE = [ ]
59#else /*!SOC_IS_VIRTUALIZED*/
60#  CPU_COUNTERS_BASE = [ config_cpu_counters config_pervasive_cpi config_pervasive_energy ]
61#endif /*SOC_IS_VIRTUALIZED*/
62#  PERF_EXTRAS_BASE = [ ]
63#  PERF_EXTRAS_DEV = [ kdp_interactive_debugging config_kdp_coredump_encryption ]
64#  PERF_EXTRAS_DEBUG = [ kdp_interactive_debugging config_kdp_coredump_encryption ]
65
66#  PERF_DBG_BASE =  [ mach_kdp config_serial_kdp CPU_COUNTERS_BASE kperf PERF_EXTRAS_BASE ]
67#  PERF_DBG_RELEASE=[ PERF_DBG_BASE ist_kdebug ]
68#  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 ]
69#  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 ]
70#if SOC_IS_VIRTUALIZED
71#  PARAVIRT_BASE =  [ config_pv_ticket ]
72#else
73#  PARAVIRT_BASE =  [ ]
74#endif
75#  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 ]
76#  MACH_RELEASE =   [ MACH_BASE config_skip_precise_user_kernel_time debugger_for_zone_info ]
77#  MACH_DEV =       [ MACH_BASE config_io_accounting importance_trace config_task_suspend_stats ]
78#  MACH_DEBUG =     [ MACH_BASE config_io_accounting importance_trace importance_debug config_task_suspend_stats ]
79#  SCHED_BASE =     [ config_sched_timeshare_core config_sched_deferred_ast config_clutch config_sched_sfi config_taskwatch config_preadopt_tg ]
80#  SCHED_RELEASE =  [ SCHED_BASE ]
81#  SCHED_DEV =      [ SCHED_BASE ]
82#  SCHED_DEBUG =    [ SCHED_BASE ]
83#  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 ]
84#  VM_RELEASE =     [ VM_BASE ]
85#  VM_DEV =         [ VM_BASE dynamic_codesigning ubsan_minimal pgzalloc ]
86#  VM_DEBUG =       [ VM_BASE dynamic_codesigning ubsan_minimal pgzalloc ]
87#  VM_KASAN =       [ VM_BASE dynamic_codesigning config_kasan config_ubsan config_kcov config_ksancov kernel_tagging kernel_tbi]
88#  SECURITY_BASE =    [ config_macf kernel_integrity config_secure_bsd_root reslide_shared_cache ]
89#  SECURITY_RELEASE = [ SECURITY_BASE config_bti_telemetry ]
90#  SECURITY_DEV =     [ SECURITY_BASE config_setuid config_kas_info config_bti_telemetry ]
91#  SECURITY_DEBUG =   [ SECURITY_BASE config_setuid config_kas_info config_bti_telemetry ]
92#  BASE =           [ MULTIPATH VPN ]
93#  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 ]
94#  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     ]
95#  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   ]
96#  KASAN =          [ 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_KASAN   SECURITY_DEV     ]
97#
98######################################################################
99#
100machine		"arm64"						# <arm64>
101
102makeoptions	OSFMK_MACHINE = "arm64"				# <mach>
103
104options		COUNT_SYSCALLS		# count bsd system calls 	# <countcalls>
105options     TRASH_VFP_ON_SAVE   # <debug,trash_vfp>
106options		ALTERNATE_DEBUGGER	# <alternate_debugger>
107
108options   CONFIG_VNODES=1024		# <xsmall>
109
110options   CONFIG_FREEZE_SUSPENDED_MIN=4		# <xsmall>
111
112options	  CONFIG_MACH_APPROXIMATE_TIME
113
114options   CONFIG_KERNEL_INTEGRITY		# <kernel_integrity>
115
116options   CONFIG_RESLIDE_SHARED_CACHE		# <reslide_shared_cache>
117
118options   CONFIG_UBSAN_MINIMAL		# <ubsan_minimal>
119options   CONFIG_KERNEL_TBI		# <kernel_tbi>
120options   CONFIG_KERNEL_TAGGING		# <kernel_tagging>
121