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