// // Copyright (C) 2021 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { default_team: "trendy_team_virtualization", default_applicable_licenses: ["Android-Apache-2.0"], } soong_config_module_type { name: "avf_flag_aware_rust_defaults", module_type: "rust_defaults", config_namespace: "ANDROID", bool_variables: [ "release_avf_enable_device_assignment", "release_avf_enable_dice_changes", "release_avf_enable_llpvm_changes", "release_avf_enable_multi_tenant_microdroid_vm", "release_avf_enable_network", "release_avf_enable_remote_attestation", "release_avf_enable_vendor_modules", "release_avf_enable_virt_cpufreq", "release_avf_support_custom_vm_with_paravirtualized_devices", ], properties: [ "cfgs", ], } avf_flag_aware_rust_defaults { name: "avf_build_flags_rust", soong_config_variables: { release_avf_enable_device_assignment: { cfgs: ["device_assignment"], }, release_avf_enable_dice_changes: { cfgs: ["dice_changes"], }, release_avf_enable_llpvm_changes: { cfgs: ["llpvm_changes"], }, release_avf_enable_multi_tenant_microdroid_vm: { cfgs: ["multi_tenant"], }, release_avf_enable_network: { cfgs: ["network"], }, release_avf_enable_remote_attestation: { cfgs: ["remote_attestation"], }, release_avf_enable_vendor_modules: { cfgs: ["vendor_modules"], }, release_avf_enable_virt_cpufreq: { cfgs: ["virt_cpufreq"], }, release_avf_support_custom_vm_with_paravirtualized_devices: { cfgs: ["paravirtualized_devices"], }, }, } soong_config_module_type { name: "avf_flag_aware_cc_defaults", module_type: "cc_defaults", config_namespace: "ANDROID", bool_variables: [ "release_avf_enable_dice_changes", "release_avf_enable_vendor_modules", "release_avf_enable_virt_cpufreq", ], properties: [ "cflags", ], } avf_flag_aware_cc_defaults { name: "avf_build_flags_cc", soong_config_variables: { release_avf_enable_dice_changes: { cflags: ["-DAVF_OPEN_DICE_CHANGES=1"], }, release_avf_enable_vendor_modules: { cflags: ["-DAVF_ENABLE_VENDOR_MODULES=1"], }, release_avf_enable_virt_cpufreq: { cflags: ["-DAVF_ENABLE_VIRT_CPUFREQ=1"], }, }, } genrule_defaults { name: "dts_to_dtb", tools: ["dtc"], cmd: "FILES=($(in)) && $(location dtc) -@ -I dts -O dtb $${FILES[-1]} -o $(out)", } // This is a temporary workaround until b/309090563 is implemented. aconfig_declarations { name: "avf_aconfig_flags", package: "com.android.system.virtualmachine.flags", container: "com.android.virt", srcs: [ "avf_flags.aconfig", ], } java_aconfig_library { name: "avf_aconfig_flags_java", aconfig_declarations: "avf_aconfig_flags", sdk_version: "module_current", apex_available: ["com.android.virt"], }