• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #pragma once
17 
18 #include "host/libs/config/cuttlefish_config.h"
19 
20 #define CF_DEFAULTS_DYNAMIC_STRING ""
21 #define CF_DEFAULTS_DYNAMIC_INT 0
22 
23 // Common configs paramneters
24 #define CF_DEFAULTS_NUM_INSTANCES 1
25 #define CF_DEFAULTS_INSTANCE_NUMS CF_DEFAULTS_DYNAMIC_STRING
26 #define CF_DEFAULTS_BASE_INSTANCE_NUM cuttlefish::GetInstance()
27 #define CF_DEFAULTS_ASSEMBLY_DIR \
28   (StringFromEnv("HOME", ".") + "/cuttlefish_assembly")
29 #define CF_DEFAULTS_INSTANCE_DIR (StringFromEnv("HOME", ".") + "/cuttlefish")
30 
31 #define CF_DEFAULTS_SYSTEM_IMAGE_DIR CF_DEFAULTS_DYNAMIC_STRING
32 
33 // Instance specific parameters
34 //  VM default parameters
35 #define CF_DEFAULTS_DISPLAY_DPI 320
36 #define CF_DEFAULTS_DISPLAY_REFRESH_RATE 60
37 #define CF_DEFAULTS_DISPLAY_WIDTH 720
38 #define CF_DEFAULTS_DISPLAY_HEIGHT 1280
39 #define CF_DEFAULTS_DISPLAYS_TEXTPROTO ""
40 #define CF_DEFAULTS_CPUS 2
41 #define CF_DEFAULTS_RESUME true
42 #define CF_DEFAULTS_DAEMON false
43 #define CF_DEFAULTS_VM_MANAGER CF_DEFAULTS_DYNAMIC_STRING
44 #define CF_DEFAULTS_VSOCK_GUEST_CID cuttlefish::GetDefaultVsockCid()
45 #define CF_DEFAULTS_VSOCK_GUEST_GROUP ""
46 #define CF_DEFAULTS_VHOST_USER_VSOCK cuttlefish::kVhostUserVsockModeAuto
47 #define CF_DEFAULTS_ENABLE_MINIMAL_MODE false
48 #define CF_DEFAULTS_RESTART_SUBPROCESSES false
49 #define CF_DEFAULTS_SETUPWIZARD_MODE "DISABLED"
50 #define CF_DEFAULTS_SMT false
51 #define CF_DEFAULTS_USE_ALLOCD false
52 #define CF_DEFAULTS_USE_SDCARD true
53 #define CF_DEFAULTS_UUID \
54   cuttlefish::ForCurrentInstance(cuttlefish::kDefaultUuidPrefix)
55 #define CF_DEFAULTS_FILE_VERBOSITY "DEBUG"
56 #define CF_DEFAULTS_VERBOSITY "INFO"
57 #define CF_DEFAULTS_MEMORY_MB CF_DEFAULTS_DYNAMIC_INT
58 #define CF_DEFAULTS_TRACK_HOST_TOOLS_CRC false
59 // TODO: defined twice, please remove redundant definitions
60 #define CF_DEFAULTS_USE_OVERLAY true
61 #define CF_DEFAULTS_DEVICE_EXTERNAL_NETWORK "tap"
62 
63 // crosvm default parameters
64 #define CF_DEFAULTS_CROSVM_BINARY HostBinaryPath("crosvm")
65 #define CF_DEFAULTS_SECCOMP_POLICY_DIR cuttlefish::GetSeccompPolicyDir()
66 #define CF_DEFAULTS_ENABLE_SANDBOX false
67 #define CF_DEFAULTS_ENABLE_VIRTIOFS false
68 #define CF_DEFAULTS_CROSVM_V4L2_PROXY ""
69 
70 // Qemu default parameters
71 #define CF_DEFAULTS_QEMU_BINARY_DIR cuttlefish::DefaultQemuBinaryDir()
72 
73 // Gem5 default parameters
74 #define CF_DEFAULTS_GEM5_BINARY_DIR HostBinaryPath("gem5")
75 #define CF_DEFAULTS_GEM5_CHECKPOINT_DIR CF_DEFAULTS_DYNAMIC_STRING
76 #define CF_DEFAULTS_GEM5_DEBUG_FILE CF_DEFAULTS_DYNAMIC_STRING
77 #define CF_DEFAULTS_GEM5_DEBUG_FLAGS CF_DEFAULTS_DYNAMIC_STRING
78 
79 // Boot default parameters
80 #define CF_DEFAULTS_BOOT_SLOT CF_DEFAULTS_DYNAMIC_STRING
81 #define CF_DEFAULTS_BOOTLOADER CF_DEFAULTS_DYNAMIC_STRING
82 #define CF_DEFAULTS_ENABLE_BOOTANIMATION true
83 #define CF_DEFAULTS_EXTRA_BOOTCONFIG_ARGS CF_DEFAULTS_DYNAMIC_STRING
84 #define CF_DEFAULTS_PAUSE_IN_BOOTLOADER false
85 #define CF_DEFAULTS_REBOOT_NOTIFICATION_FD (-1)
86 
87 // Security default parameters
88 #define CF_DEFAULTS_GUEST_ENFORCE_SECURITY true
89 #define CF_DEFAULTS_USE_RANDOM_SERIAL false
90 #define CF_DEFAULTS_SERIAL_NUMBER \
91   cuttlefish::ForCurrentInstance("CUTTLEFISHCVD")
92 #define CF_DEFAULTS_SECURE_HALS CF_DEFAULTS_DYNAMIC_STRING
93 #define CF_DEFAULTS_PROTECTED_VM false
94 #define CF_DEFAULTS_MTE false
95 
96 // Kernel default parameters
97 #define CF_DEFAULTS_ENABLE_KERNEL_LOG true
98 #define CF_DEFAULTS_KGDB false
99 #define CF_DEFAULTS_GDB_PORT CF_DEFAULTS_DYNAMIC_INT
100 #define CF_DEFAULTS_CONSOLE false
101 #define CF_DEFAULTS_EXTRA_KERNEL_CMDLINE CF_DEFAULTS_DYNAMIC_STRING
102 #define CF_DEFAULTS_INITRAMFS_PATH CF_DEFAULTS_DYNAMIC_STRING
103 #define CF_DEFAULTS_KERNEL_PATH CF_DEFAULTS_DYNAMIC_STRING
104 
105 // Disk default parameters
106 #define CF_DEFAULTS_BLANK_METADATA_IMAGE_MB "64"
107 #define CF_DEFAULTS_BLANK_SDCARD_IMAGE_MB "2048"
108 #define CF_DEFAULTS_BOOT_IMAGE CF_DEFAULTS_DYNAMIC_STRING
109 #define CF_DEFAULTS_DATA_IMAGE CF_DEFAULTS_DYNAMIC_STRING
110 #define CF_DEFAULTS_INIT_BOOT_IMAGE CF_DEFAULTS_DYNAMIC_STRING
111 #define CF_DEFAULTS_ANDROID_EFI_LOADER CF_DEFAULTS_DYNAMIC_STRING
112 #define CF_DEFAULTS_CHROMEOS_DISK ""
113 #define CF_DEFAULTS_CHROMEOS_KERNEL_PATH ""
114 #define CF_DEFAULTS_CHROMEOS_ROOT_IMAGE ""
115 #define CF_DEFAULTS_LINUX_INITRAMFS_PATH CF_DEFAULTS_DYNAMIC_STRING
116 #define CF_DEFAULTS_LINUX_KERNEL_PATH CF_DEFAULTS_DYNAMIC_STRING
117 #define CF_DEFAULTS_LINUX_ROOT_IMAGE CF_DEFAULTS_DYNAMIC_STRING
118 #define CF_DEFAULTS_FUCHSIA_ZEDBOOT_PATH CF_DEFAULTS_DYNAMIC_STRING
119 #define CF_DEFAULTS_FUCHSIA_MULTIBOOT_BIN_PATH CF_DEFAULTS_DYNAMIC_STRING
120 #define CF_DEFAULTS_FUCHSIA_ROOT_IMAGE CF_DEFAULTS_DYNAMIC_STRING
121 #define CF_DEFAULTS_CUSTOM_PARTITION_PATH CF_DEFAULTS_DYNAMIC_STRING
122 #define CF_DEFAULTS_HIBERNATION_IMAGE CF_DEFAULTS_DYNAMIC_STRING
123 #define CF_DEFAULTS_SUPER_IMAGE CF_DEFAULTS_DYNAMIC_STRING
124 #define CF_DEFAULTS_VBMETA_IMAGE CF_DEFAULTS_DYNAMIC_STRING
125 #define CF_DEFAULTS_VBMETA_SYSTEM_IMAGE CF_DEFAULTS_DYNAMIC_STRING
126 #define CF_DEFAULTS_VBMETA_VENDOR_DLKM_IMAGE CF_DEFAULTS_DYNAMIC_STRING
127 #define CF_DEFAULTS_VBMETA_SYSTEM_DLKM_IMAGE CF_DEFAULTS_DYNAMIC_STRING
128 #define CF_DEFAULTS_VENDOR_BOOT_IMAGE CF_DEFAULTS_DYNAMIC_STRING
129 #define CF_DEFAULTS_DEFAULT_VVMTRUSTSTORE_FILE_NAME CF_DEFAULTS_DYNAMIC_STRING
130 #define CF_DEFAULTS_VVMTRUSTSTORE_PATH CF_DEFAULTS_DYNAMIC_STRING
131 #define CF_DEFAULTS_DEFAULT_TARGET_ZIP CF_DEFAULTS_DYNAMIC_STRING
132 #define CF_DEFAULTS_SYSTEM_TARGET_ZIP CF_DEFAULTS_DYNAMIC_STRING
133 
134 // Policy default parameters
135 #define CF_DEFAULTS_DATA_POLICY "use_existing"
136 #define CF_DEFAULTS_USERDATA_FORMAT USERDATA_FILE_SYSTEM_TYPE
137 #define CF_DEFAULTS_BLANK_DATA_IMAGE_MB CF_DEFAULTS_DYNAMIC_INT
138 
139 // Graphics default parameters
140 #define CF_DEFAULTS_HWCOMPOSER cuttlefish::kHwComposerAuto
141 #define CF_DEFAULTS_GPU_MODE cuttlefish::kGpuModeAuto
142 #define CF_DEFAULTS_GPU_VHOST_USER_MODE cuttlefish::kGpuVhostUserModeAuto
143 #define CF_DEFAULTS_RECORD_SCREEN false
144 #define CF_DEFAULTS_GPU_CAPTURE_BINARY CF_DEFAULTS_DYNAMIC_STRING
145 #define CF_DEFAULTS_GPU_RENDERER_FEATURES ""
146 #define CF_DEFAULTS_GPU_CONTEXT_TYPES \
147   "gfxstream-vulkan:cross-domain:gfxstream-composer"
148 #define CF_DEFAULTS_GUEST_HWUI_RENDERER ""
149 #define CF_DEFAULTS_GUEST_RENDERER_PRELOAD "auto"
150 #define CF_DEFAULTS_GUEST_VULKAN_DRIVER "ranchu"
151 #define CF_DEFAULTS_FRAME_SOCKET_PATH ""
152 #define CF_DEFAULTS_ENABLE_GPU_UDMABUF false
153 #define CF_DEFAULTS_ENABLE_GPU_VHOST_USER false
154 #define CF_DEFAULTS_DISPLAY0 CF_DEFAULTS_DYNAMIC_STRING
155 #define CF_DEFAULTS_DISPLAY1 CF_DEFAULTS_DYNAMIC_STRING
156 #define CF_DEFAULTS_DISPLAY2 CF_DEFAULTS_DYNAMIC_STRING
157 #define CF_DEFAULTS_DISPLAY3 CF_DEFAULTS_DYNAMIC_STRING
158 
159 // Touchpad default parameters
160 #define CF_DEFAULTS_TOUCHPAD CF_DEFAULTS_DYNAMIC_STRING
161 
162 // Camera default parameters
163 #define CF_DEFAULTS_CAMERA_SERVER_PORT CF_DEFAULTS_DYNAMIC_INT
164 
165 // Connectivity default parameters
166 #define CF_DEFAULTS_RIL_DNS "8.8.8.8"
167 // Default network handler
168 #define CF_DEFAULTS_NETSIM false
169 #define CF_DEFAULTS_NETSIM_BT true
170 #define CF_DEFAULTS_NETSIM_UWB true
171 
172 // Netsim default parameters
173 #define CF_DEFAULTS_NETSIM_ARGS ""
174 
175 // Wifi default parameters
176 #define CF_DEFAULTS_AP_KERNEL_IMAGE CF_DEFAULTS_DYNAMIC_STRING
177 #define CF_DEFAULTS_AP_ROOTFS_IMAGE CF_DEFAULTS_DYNAMIC_STRING
178 #define CF_DEFAULTS_VHOST_NET false
179 #define CF_DEFAULTS_VHOST_USER_MAC80211_HWSIM CF_DEFAULTS_DYNAMIC_STRING
180 #define CF_DEFAULTS_WMEDIUMD_CONFIG CF_DEFAULTS_DYNAMIC_STRING
181 
182 // UWB default parameters
183 #define CF_DEFAULTS_ENABLE_HOST_UWB true
184 #define CF_DEFAULTS_ENABLE_PICA_INSTANCE_NUM 0
185 
186 // Automotive Proxy default parameter
187 #define CF_DEFAULTS_ENABLE_AUTOMOTIVE_PROXY false
188 
189 // Vhal Proxy Server default parameter
190 #define CF_DEFAULTS_ENABLE_VHAL_PROXY_SERVER false
191 #define CF_DEFAULTS_VHAL_PROXY_SERVER_INSTANCE_NUM 0
192 
193 // Bluetooth default parameters
194 #define CF_DEFAULTS_ENABLE_HOST_BLUETOOTH true
195 #define CF_DEFAULTS_ROOTCANAL_INSTANCE_NUM 0
196 #define CF_DEFAULTS_ROOTCANAL_ARGS CF_DEFAULTS_DYNAMIC_STRING
197 
198 // NFC default parameters
199 #define CF_DEFAULTS_ENABLE_HOST_NFC true
200 #define CF_DEFAULTS_CASIMIR_INSTANCE_NUM 0
201 #define CF_DEFAULTS_CASIMIR_ARGS CF_DEFAULTS_DYNAMIC_STRING
202 
203 // Modem Simulator default parameters
204 #define CF_DEFAULTS_ENABLE_MODEM_SIMULATOR true
205 #define CF_DEFAULTS_MODEM_SIMULATOR_SIM_TYPE 1
206 #define CF_DEFAULTS_MODEM_SIMULATOR_COUNT 1
207 
208 // Audio default parameters
209 #define CF_DEFAULTS_ENABLE_AUDIO true
210 
211 // USB Passhtrough default parameters
212 #define CF_DEFAULTS_ENABLE_USB false
213 
214 // Streaming default parameters
215 #define CF_DEFAULTS_START_WEBRTC false
216 #define CF_DEFAULTS_START_WEBRTC_SIG_SERVER true
217 #define CF_DEFAULTS_WEBRTC_DEVICE_ID "cvd-{num}"
218 #define CF_DEFAULTS_VERIFY_SIG_SERVER_CERTIFICATE false
219 #define CF_DEFAULTS_WEBRTC_ASSETS_DIR \
220   DefaultHostArtifactsPath("usr/share/webrtc/assets")
221 #define CF_DEFAULTS_WEBRTC_CERTS_DIR \
222   DefaultHostArtifactsPath("usr/share/webrtc/certs")
223 #define CF_DEFAULTS_WEBRTC_SIG_SERVER_ADDR CF_DEFAULTS_DYNAMIC_STRING
224 #define CF_DEFAULTS_WEBRTC_SIG_SERVER_PATH "/register_device"
225 #define CF_DEFAULTS_WEBRTC_SIG_SERVER_PORT 443
226 #define CF_DEFAULTS_WEBRTC_SIG_SERVER_SECURE true
227 #define CF_DEFAULTS_TCP_PORT_RANGE "15550:15599"
228 #define CF_DEFAULTS_UDP_PORT_RANGE "15550:15599"
229 
230 // Adb default parameters
231 // TODO : Replaceconstants with these flags, they're currently defined through
232 // GflagsCompatFlag
233 #define CF_DEFAULTS_RUN_ADB_CONNECTOR true
234 #define CF_DEFAULTS_ADB_MODE "vsock_half_tunnel"
235 
236 // Location default parameters
237 #define CF_DEFAULTS_START_GNSS_PROXY true
238 #define CF_DEFAULTS_FIXED_LOCATION_FILE_PATH CF_DEFAULTS_DYNAMIC_STRING
239 #define CF_DEFAULTS_GNSS_FILE_PATH CF_DEFAULTS_DYNAMIC_STRING
240 
241 // Metrics default parameters
242 // TODO: Defined twice , please remove redundant definitions
243 #define CF_DEFAULTS_REPORT_ANONYMOUS_USAGE_STATS CF_DEFAULTS_DYNAMIC_STRING
244 
245 // MCU emulator default configuration path
246 #define CF_DEFAULTS_MCU_CONFIG_PATH CF_DEFAULTS_DYNAMIC_STRING
247 
248 // Which executables to run under strace by default
249 #define CF_DEFAULTS_STRACED_HOST_EXECUTABLES ""
250 
251 // Whether to use sandbox2 to lock down host processes where policies exist
252 #define CF_DEFAULTS_HOST_SANDBOX false
253 
254 // Whether to exit when heuristics predict the boot will not complete
255 #define CF_DEFAULTS_FAIL_FAST true
256 
257 // Whether to use the crosvm vhost-user block device implementation with QEMU
258 // TODO: b/346855591 - default to `true`
259 #define CF_DEFAULTS_VHOST_USER_BLOCK false
260 
261 // Virtual Cpufreq default configuration path
262 #define CF_DEFAULTS_VCPU_CONFIG_PATH ""
263