blob: dcf67ddba5087fd847e088a6fd1dbe6f8a38c485 [file] [log] [blame]
Bob Badour77c910d2021-06-07 22:20:50 -07001//
2// Copyright (C) 2021 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
16package {
Alan Stokes87048612024-02-08 17:08:31 +000017 default_team: "trendy_team_virtualization",
Alan Stokes94475b82023-10-25 15:54:21 +010018 default_applicable_licenses: ["Android-Apache-2.0"],
Bob Badour77c910d2021-06-07 22:20:50 -070019}
Nikita Ioffe3973d382023-08-31 17:53:25 +010020
21soong_config_module_type {
22 name: "avf_flag_aware_rust_defaults",
23 module_type: "rust_defaults",
24 config_namespace: "ANDROID",
25 bool_variables: [
Nikita Ioffe94a8a182023-11-16 16:37:48 +000026 "release_avf_enable_device_assignment",
Alan Stokes7f27c0d2023-09-07 16:22:58 +010027 "release_avf_enable_dice_changes",
Shikha Panwar95084df2023-07-22 11:47:45 +000028 "release_avf_enable_llpvm_changes",
Nikita Ioffe3973d382023-08-31 17:53:25 +010029 "release_avf_enable_multi_tenant_microdroid_vm",
Alice Wange9ac2db2023-09-08 15:13:13 +000030 "release_avf_enable_remote_attestation",
Nikita Ioffe631717e2023-09-05 13:38:07 +010031 "release_avf_enable_vendor_modules",
David Daie6f5bb02024-01-25 19:17:02 -080032 "release_avf_enable_virt_cpufreq",
Jeongik Cha798401c2024-04-11 21:54:49 +090033 "release_avf_support_custom_vm_with_paravirtualized_devices",
Nikita Ioffe3973d382023-08-31 17:53:25 +010034 ],
35 properties: [
36 "cfgs",
37 ],
38}
39
40avf_flag_aware_rust_defaults {
41 name: "avf_build_flags_rust",
42 soong_config_variables: {
Nikita Ioffe94a8a182023-11-16 16:37:48 +000043 release_avf_enable_device_assignment: {
44 cfgs: ["device_assignment"],
45 },
Alan Stokes7f27c0d2023-09-07 16:22:58 +010046 release_avf_enable_dice_changes: {
47 cfgs: ["dice_changes"],
48 },
Shikha Panwar95084df2023-07-22 11:47:45 +000049 release_avf_enable_llpvm_changes: {
50 cfgs: ["llpvm_changes"],
51 },
Nikita Ioffe3973d382023-08-31 17:53:25 +010052 release_avf_enable_multi_tenant_microdroid_vm: {
Alan Stokes27f3ef02023-09-29 15:09:35 +010053 cfgs: ["multi_tenant"],
Nikita Ioffe3973d382023-08-31 17:53:25 +010054 },
Alice Wange9ac2db2023-09-08 15:13:13 +000055 release_avf_enable_remote_attestation: {
56 cfgs: ["remote_attestation"],
57 },
Nikita Ioffe631717e2023-09-05 13:38:07 +010058 release_avf_enable_vendor_modules: {
59 cfgs: ["vendor_modules"],
60 },
David Daie6f5bb02024-01-25 19:17:02 -080061 release_avf_enable_virt_cpufreq: {
62 cfgs: ["virt_cpufreq"],
63 },
Jeongik Cha798401c2024-04-11 21:54:49 +090064 release_avf_support_custom_vm_with_paravirtualized_devices: {
65 cfgs: ["paravirtualized_devices"],
66 },
Nikita Ioffe3973d382023-08-31 17:53:25 +010067 },
68}
Jaewan Kim0df5fb12023-09-24 23:33:54 +090069
Nikita Ioffe38b9e712024-02-08 15:55:07 +000070soong_config_module_type {
71 name: "avf_flag_aware_cc_defaults",
72 module_type: "cc_defaults",
73 config_namespace: "ANDROID",
74 bool_variables: [
Nikita Ioffefd109532024-03-04 13:58:01 +000075 "release_avf_enable_dice_changes",
Seungjae Yoo329f2862024-04-08 11:21:53 +090076 "release_avf_enable_vendor_modules",
Nikita Ioffe38b9e712024-02-08 15:55:07 +000077 "release_avf_enable_virt_cpufreq",
78 ],
79 properties: [
80 "cflags",
81 ],
82}
83
84avf_flag_aware_cc_defaults {
85 name: "avf_build_flags_cc",
86 soong_config_variables: {
Nikita Ioffefd109532024-03-04 13:58:01 +000087 release_avf_enable_dice_changes: {
88 cflags: ["-DAVF_OPEN_DICE_CHANGES=1"],
89 },
Seungjae Yoo329f2862024-04-08 11:21:53 +090090 release_avf_enable_vendor_modules: {
91 cflags: ["-DAVF_ENABLE_VENDOR_MODULES=1"],
92 },
Nikita Ioffe38b9e712024-02-08 15:55:07 +000093 release_avf_enable_virt_cpufreq: {
94 cflags: ["-DAVF_ENABLE_VIRT_CPUFREQ=1"],
95 },
96 },
97}
98
Jaewan Kim0df5fb12023-09-24 23:33:54 +090099genrule_defaults {
100 name: "dts_to_dtb",
101 tools: ["dtc"],
Jaewan Kima232ed02024-02-25 16:08:14 +0000102 cmd: "FILES=($(in)) && $(location dtc) -@ -I dts -O dtb $${FILES[-1]} -o $(out)",
Jaewan Kim0df5fb12023-09-24 23:33:54 +0900103}
Nikita Ioffee3a049f2024-02-15 15:47:23 +0000104
105// This is a temporary workaround until b/309090563 is implemented.
106aconfig_declarations {
107 name: "avf_aconfig_flags",
108 package: "com.android.system.virtualmachine.flags",
Yu Liu6c8ce022024-03-28 17:30:05 +0000109 container: "com.android.virt",
Nikita Ioffee3a049f2024-02-15 15:47:23 +0000110 srcs: [
111 "avf_flags.aconfig",
112 ],
113}
114
115java_aconfig_library {
116 name: "avf_aconfig_flags_java",
117 aconfig_declarations: "avf_aconfig_flags",
118 sdk_version: "module_current",
119 apex_available: ["com.android.virt"],
120}