Android-cuttlefish cvd tool
Namespaces | Functions | Variables
cuttlefish_config_instance.cpp File Reference
#include "cuttlefish/host/libs/config/cuttlefish_config.h"
#include <stdint.h>
#include <algorithm>
#include <cctype>
#include <fstream>
#include <optional>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include <android-base/logging.h>
#include <android-base/strings.h>
#include <fmt/core.h>
#include <json/config.h>
#include <json/reader.h>
#include <json/value.h>
#include "cuttlefish/common/libs/utils/architecture.h"
#include "cuttlefish/common/libs/utils/device_type.h"
#include "cuttlefish/common/libs/utils/files.h"
#include "cuttlefish/common/libs/utils/flags_validator.h"
#include "cuttlefish/common/libs/utils/result.h"
#include "cuttlefish/host/libs/config/ap_boot_flow.h"
#include "cuttlefish/host/libs/config/boot_flow.h"
#include "cuttlefish/host/libs/config/config_constants.h"
#include "cuttlefish/host/libs/config/external_network_mode.h"
#include "cuttlefish/host/libs/config/guest_hwui_renderer.h"
#include "cuttlefish/host/libs/config/guest_renderer_preload.h"
#include "cuttlefish/host/libs/config/vmm_mode.h"
Include dependency graph for cuttlefish_config_instance.cpp:

Namespaces

namespace  cuttlefish
 
namespace  cuttlefish::anonymous_namespace{cuttlefish_config_instance.cpp}
 

Functions

std::string cuttlefish::anonymous_namespace{cuttlefish_config_instance.cpp}::IdToName (const std::string &id)
 

Variables

const char * cuttlefish::anonymous_namespace{cuttlefish_config_instance.cpp}::kInstances = "instances"
 
static constexpr char cuttlefish::kInstanceDir [] = "instance_dir"
 
static constexpr char cuttlefish::kBootImage [] = "boot_image"
 
static constexpr char cuttlefish::kNewBootImage [] = "new_boot_image"
 
static constexpr char cuttlefish::kInitBootImage [] = "init_boot_image"
 
static constexpr char cuttlefish::kDataImage [] = "data_image"
 
static constexpr char cuttlefish::kNewDataImage [] = "new_data_image"
 
static constexpr char cuttlefish::kSuperImage [] = "super_image"
 
static constexpr char cuttlefish::kNewSuperImage [] = "new_super_image"
 
static constexpr char cuttlefish::kVendorBootImage [] = "vendor_boot_image"
 
static constexpr char cuttlefish::kNewVendorBootImage [] = "new_vendor_boot_image"
 
static constexpr char cuttlefish::kVbmetaImage [] = "vbmeta_image"
 
static constexpr char cuttlefish::kNewVbmetaImage [] = "new_vbmeta_image"
 
static constexpr char cuttlefish::kVbmetaSystemImage [] = "vbmeta_system_image"
 
static constexpr char cuttlefish::kVbmetaVendorDlkmImage [] = "vbmeta_vendor_dlkm_image"
 
static constexpr char cuttlefish::kNewVbmetaVendorDlkmImage []
 
static constexpr char cuttlefish::kVbmetaSystemDlkmImage [] = "vbmeta_system_dlkm_image"
 
static constexpr char cuttlefish::kNewVbmetaSystemDlkmImage []
 
static constexpr char cuttlefish::kOtherosEspImage [] = "otheros_esp_image"
 
static constexpr char cuttlefish::kAndroidEfiLoader [] = "android_efi_loader"
 
static constexpr char cuttlefish::kChromeOsDisk [] = "chromeos_disk"
 
static constexpr char cuttlefish::kChromeOsKernelPath [] = "chromeos_kernel_path"
 
static constexpr char cuttlefish::kChromeOsRootImage [] = "chromeos_root_image"
 
static constexpr char cuttlefish::kLinuxKernelPath [] = "linux_kernel_path"
 
static constexpr char cuttlefish::kLinuxInitramfsPath [] = "linux_initramfs_path"
 
static constexpr char cuttlefish::kLinuxRootImage [] = "linux_root_image"
 
static constexpr char cuttlefish::kFuchsiaZedbootPath [] = "fuchsia_zedboot_path"
 
static constexpr char cuttlefish::kFuchsiaMultibootBinPath [] = "multiboot_bin_path"
 
static constexpr char cuttlefish::kFuchsiaRootImage [] = "fuchsia_root_image"
 
static constexpr char cuttlefish::kCustomPartitionPath [] = "custom_partition_path"
 
static constexpr char cuttlefish::kBlankSdcardImageMb [] = "blank_sdcard_image_mb"
 
static constexpr char cuttlefish::kBootloader [] = "bootloader"
 
static constexpr char cuttlefish::kInitramfsPath [] = "initramfs_path"
 
static constexpr char cuttlefish::kKernelPath [] = "kernel_path"
 
static constexpr char cuttlefish::kVvmtruststorePath [] = "vvmtruststore_path"
 
static constexpr char cuttlefish::kDefaultTargetZip [] = "default_target_zip"
 
static constexpr char cuttlefish::kSystemTargetZip [] = "system_target_zip"
 
static constexpr char cuttlefish::kSerialNumber [] = "serial_number"
 
static constexpr char cuttlefish::kVirtualDiskPaths [] = "virtual_disk_paths"
 
static constexpr char cuttlefish::kGuestAndroidVersion [] = "guest_android_version"
 
static constexpr char cuttlefish::kBootconfigSupported [] = "bootconfig_supported"
 
static constexpr char cuttlefish::kFilenameEncryptionMode [] = "filename_encryption_mode"
 
static constexpr char cuttlefish::kExternalNetworkMode [] = "external_network_mode"
 
static constexpr char cuttlefish::kGnssGrpcProxyServerPort []
 
static constexpr char cuttlefish::kGnssFilePath [] = "gnss_file_path"
 
static constexpr char cuttlefish::kFixedLocationFilePath [] = "fixed_location_file_path"
 
static constexpr char cuttlefish::kGem5BinaryDir [] = "gem5_binary_dir"
 
static constexpr char cuttlefish::kGem5CheckpointDir [] = "gem5_checkpoint_dir"
 
static constexpr char cuttlefish::kKgdb [] = "kgdb"
 
static constexpr char cuttlefish::kCpus [] = "cpus"
 
static constexpr char cuttlefish::kVcpuInfo [] = "vcpu_config_path"
 
static constexpr char cuttlefish::kDataPolicy [] = "data_policy"
 
static constexpr char cuttlefish::kBlankDataImageMb [] = "blank_data_image_mb"
 
static constexpr char cuttlefish::kGdbPort [] = "gdb_port"
 
static constexpr char cuttlefish::kMemoryMb [] = "memory_mb"
 
static constexpr char cuttlefish::kDdrMemMb [] = "ddr_mem_mb"
 
static constexpr char cuttlefish::kSetupWizardMode [] = "setupwizard_mode"
 
static constexpr char cuttlefish::kUserdataFormat [] = "userdata_format"
 
static constexpr char cuttlefish::kGuestEnforceSecurity [] = "guest_enforce_security"
 
static constexpr char cuttlefish::kUseSdcard [] = "use_sdcard"
 
static constexpr char cuttlefish::kPauseInBootloader [] = "pause_in_bootloader"
 
static constexpr char cuttlefish::kRunAsDaemon [] = "run_as_daemon"
 
static constexpr char cuttlefish::kEnableMinimalMode [] = "enable_minimal_mode"
 
static constexpr char cuttlefish::kRunModemSimulator [] = "enable_modem_simulator"
 
static constexpr char cuttlefish::kModemSimulatorInstanceNumber []
 
static constexpr char cuttlefish::kModemSimulatorSimType [] = "modem_simulator_sim_type"
 
static constexpr char cuttlefish::kGpuMode [] = "gpu_mode"
 
static constexpr char cuttlefish::kGpuAngleFeatureOverridesEnabled []
 
static constexpr char cuttlefish::kGpuAngleFeatureOverridesDisabled []
 
static constexpr char cuttlefish::kGpuCaptureBinary [] = "gpu_capture_binary"
 
static constexpr char cuttlefish::kGpuGfxstreamTransport [] = "gpu_gfxstream_transport"
 
static constexpr char cuttlefish::kGpuRendererFeatures [] = "gpu_renderer_features"
 
static constexpr char cuttlefish::kGpuContextTypes [] = "gpu_context_types"
 
static constexpr char cuttlefish::kGuestHwuiRenderer [] = "guest_hwui_renderer"
 
static constexpr char cuttlefish::kGuestRendererPreload [] = "guest_renderer_preload"
 
static constexpr char cuttlefish::kVulkanDriver [] = "guest_vulkan_driver"
 
static constexpr char cuttlefish::kGuestUsesBgraFramebuffers []
 
static constexpr char cuttlefish::kRestartSubprocesses [] = "restart_subprocesses"
 
static constexpr char cuttlefish::kHWComposer [] = "hwcomposer"
 
static constexpr char cuttlefish::kEnableGpuUdmabuf [] = "enable_gpu_udmabuf"
 
static constexpr char cuttlefish::kEnableGpuVhostUser [] = "enable_gpu_vhost_user"
 
static constexpr char cuttlefish::kEnableGpuExternalBlob [] = "enable_gpu_external_blob"
 
static constexpr char cuttlefish::kEnableGpuSystemBlob [] = "enable_gpu_system_blob"
 
static constexpr char cuttlefish::kEnableAudio [] = "enable_audio"
 
static constexpr char cuttlefish::kEnableMouse [] = "enable_mouse"
 
static constexpr char cuttlefish::kEnableGamepad [] = "enable_gamepad"
 
static constexpr char cuttlefish::kCustomKeyboardConfig [] = "custom_keyboard_config"
 
static constexpr char cuttlefish::kDomkeyMappingConfig [] = "domkey_mapping_config"
 
static constexpr char cuttlefish::kEnableGnssGrpcProxy [] = "enable_gnss_grpc_proxy"
 
static constexpr char cuttlefish::kEnableBootAnimation [] = "enable_bootanimation"
 
static constexpr char cuttlefish::kEnableUsb [] = "enable_usb"
 
static constexpr char cuttlefish::kExtraBootconfigArgsInstanced [] = "extra_bootconfig_args"
 
static constexpr char cuttlefish::kRecordScreen [] = "record_screen"
 
static constexpr char cuttlefish::kGem5DebugFile [] = "gem5_debug_file"
 
static constexpr char cuttlefish::kMte [] = "mte"
 
static constexpr char cuttlefish::kEnableKernelLog [] = "enable_kernel_log"
 
static constexpr char cuttlefish::kBootSlot [] = "boot_slot"
 
static constexpr char cuttlefish::kFailFast [] = "fail_fast"
 
static constexpr char cuttlefish::kVhostUserBlock [] = "vhost_user_block"
 
static constexpr char cuttlefish::kTi50 [] = "ti50"
 
static constexpr char cuttlefish::kEnableJcardSimulator [] = "enable_jcard_simulator"
 
static constexpr char cuttlefish::kWebRTCAssetsDir [] = "webrtc_assets_dir"
 
static constexpr char cuttlefish::kWebrtcTcpPortRange [] = "webrtc_tcp_port_range"
 
static constexpr char cuttlefish::kWebrtcUdpPortRange [] = "webrtc_udp_port_range"
 
static constexpr char cuttlefish::kGrpcConfig [] = "grpc_config"
 
static constexpr char cuttlefish::kSmt [] = "smt"
 
static constexpr char cuttlefish::kCrosvmBinary [] = "crosvm_binary"
 
static constexpr char cuttlefish::kSeccompPolicyDir [] = "seccomp_policy_dir"
 
static constexpr char cuttlefish::kQemuBinaryDir [] = "qemu_binary_dir"
 
static constexpr char cuttlefish::kVhostNet [] = "vhost_net"
 
static constexpr char cuttlefish::kOpenThreadNodeId [] = "openthread_node_id"
 
static constexpr char cuttlefish::kVhostUserVsock [] = "vhost_user_vsock"
 
static constexpr char cuttlefish::kRilDns [] = "ril_dns"
 
static constexpr char cuttlefish::kRilIpaddr [] = "ril_ipaddr"
 
static constexpr char cuttlefish::kRilGateway [] = "ril_gateway"
 
static constexpr char cuttlefish::kRilBroadcast [] = "ril_broadcast"
 
static constexpr char cuttlefish::kRilPrefixlen [] = "ril_prefixlen"
 
static constexpr char cuttlefish::kDisplayConfigs [] = "display_configs"
 
static constexpr char cuttlefish::kXRes [] = "x_res"
 
static constexpr char cuttlefish::kYRes [] = "y_res"
 
static constexpr char cuttlefish::kDpi [] = "dpi"
 
static constexpr char cuttlefish::kRefreshRateHz [] = "refresh_rate_hz"
 
static constexpr char cuttlefish::kOverlays [] = "overlays"
 
static constexpr char cuttlefish::kTouchpadConfigs [] = "touchpad_configs"
 
static constexpr char cuttlefish::kTargetArch [] = "target_arch"
 
static constexpr char cuttlefish::kDeviceType [] = "device_type"
 
static constexpr char cuttlefish::kEnableSandbox [] = "enable_sandbox"
 
static constexpr char cuttlefish::kEnableVirtiofs [] = "enable_virtiofs"
 
static constexpr char cuttlefish::kConsole [] = "console"
 
static constexpr char cuttlefish::kModemSimulatorPorts [] = "modem_simulator_ports"
 
static constexpr char cuttlefish::kMobileBridgeName [] = "mobile_bridge_name"
 
static constexpr char cuttlefish::kMobileTapName [] = "mobile_tap_name"
 
static constexpr char cuttlefish::kMobileMac [] = "mobile_mac"
 
static constexpr char cuttlefish::kWifiTapName [] = "wifi_tap_name"
 
static constexpr char cuttlefish::kWifiBridgeName [] = "wifi_bridge_name"
 
static constexpr char cuttlefish::kWifiMac [] = "wifi_mac"
 
static constexpr char cuttlefish::kUseBridgedWifiTap [] = "use_bridged_wifi_tap"
 
static constexpr char cuttlefish::kEthernetTapName [] = "ethernet_tap_name"
 
static constexpr char cuttlefish::kEthernetBridgeName [] = "ethernet_bridge_name"
 
static constexpr char cuttlefish::kEthernetMac [] = "ethernet_mac"
 
static constexpr char cuttlefish::kEthernetIPV6 [] = "ethernet_ipv6"
 
static constexpr char cuttlefish::kUseAllocd [] = "use_allocd"
 
static constexpr char cuttlefish::kUseCvdalloc [] = "use_cvdalloc"
 
static constexpr char cuttlefish::kSessionId [] = "session_id"
 
static constexpr char cuttlefish::kVsockGuestCid [] = "vsock_guest_cid"
 
static constexpr char cuttlefish::kVsockGuestGroup [] = "vsock_guest_group"
 
static constexpr char cuttlefish::kUuid [] = "uuid"
 
static constexpr char cuttlefish::kEnvironmentName [] = "environment_name"
 
static constexpr char cuttlefish::kHostPort [] = "adb_host_port"
 
static constexpr char cuttlefish::kFastbootHostPort [] = "fastboot_host_port"
 
static constexpr char cuttlefish::kModemSimulatorId [] = "modem_simulator_host_id"
 
static constexpr char cuttlefish::kAdbIPAndPort [] = "adb_ip_and_port"
 
static constexpr char cuttlefish::kQemuVncServerPort [] = "qemu_vnc_server_port"
 
static constexpr char cuttlefish::kTombstoneReceiverPort [] = "tombstone_receiver_port"
 
static constexpr char cuttlefish::kAudioControlServerPort [] = "audiocontrol_server_port"
 
static constexpr char cuttlefish::kConfigServerPort [] = "config_server_port"
 
static constexpr char cuttlefish::kLightsServerPort [] = "lights_server_port"
 
static constexpr char cuttlefish::kCameraServerPort [] = "camera_server_port"
 
static constexpr char cuttlefish::kWebrtcDeviceId [] = "webrtc_device_id"
 
static constexpr char cuttlefish::kStartRootcanal [] = "start_rootcanal"
 
static constexpr char cuttlefish::kStartCasimir [] = "start_casimir"
 
static constexpr char cuttlefish::kStartPica [] = "start_pica"
 
static constexpr char cuttlefish::kStartNetsim [] = "start_netsim"
 
static constexpr char cuttlefish::kStartWmediumdInstance [] = "start_wmediumd_instance"
 
static constexpr char cuttlefish::kMcu [] = "mcu"
 
static constexpr char cuttlefish::kApBootFlow [] = "ap_boot_flow"
 
static constexpr char cuttlefish::kCrosvmUseBalloon [] = "crosvm_use_balloon"
 
static constexpr char cuttlefish::kCrosvmUseRng [] = "crosvm_use_rng"
 
static constexpr char cuttlefish::kCrosvmSimpleMediaDevice [] = "crosvm_simple_media_device"
 
static constexpr char cuttlefish::kCrosvmV4l2Proxy [] = "crosvm_v4l2_proxy"
 
static constexpr char cuttlefish::kCrosvmUsePmem [] = "use_pmem"
 
static constexpr char cuttlefish::kEnableTapDevices [] = "enable_tap_devices"
 
static constexpr char cuttlefish::kFrameSockPath [] = "frame_sock_path"
 
static constexpr char cuttlefish::kWifiMacPrefix [] = "wifi_mac_prefix"
 
static constexpr char cuttlefish::kStartVhalProxyServer [] = "start_vhal_proxy_server"
 
static constexpr char cuttlefish::kAudioOutputStreamsCount [] = "audio_output_streams_count"