blob: 7ac7136348c1daa5cea365e8a0e70d70e38dda0e [file] [log] [blame]
David Brazdil66fc1202022-07-04 21:48:45 +01001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_ffi_static {
6 name: "librialto",
7 crate_name: "rialto",
8 srcs: ["src/main.rs"],
David Brazdil66fc1202022-07-04 21:48:45 +01009 defaults: ["vmbase_ffi_defaults"],
10 rustlibs: [
11 "libaarch64_paging",
Alice Wang9a8b39f2023-04-12 15:31:48 +000012 "libhyp",
Alice Wangdda3ba92023-05-25 15:15:30 +000013 "libfdtpci",
14 "liblibfdt",
David Brazdil05a72fd2022-07-09 17:33:08 +010015 "liblog_rust_nostd",
Alice Wangd36c7112023-07-04 09:50:45 +000016 "libvirtio_drivers",
David Brazdil66fc1202022-07-04 21:48:45 +010017 "libvmbase",
18 ],
David Brazdil66fc1202022-07-04 21:48:45 +010019}
20
21cc_binary {
22 name: "rialto_elf",
23 stem: "rialto",
24 defaults: ["vmbase_elf_defaults"],
25 srcs: [
26 "idmap.S",
27 ],
28 static_libs: [
29 "librialto",
David Brazdil66fc1202022-07-04 21:48:45 +010030 ],
31 linker_scripts: [
32 "image.ld",
33 ":vmbase_sections",
34 ],
David Brazdil66fc1202022-07-04 21:48:45 +010035}
36
37raw_binary {
Alice Wang9a8b39f2023-04-12 15:31:48 +000038 name: "rialto_unsigned",
David Brazdil66fc1202022-07-04 21:48:45 +010039 src: ":rialto_elf",
40 enabled: false,
41 target: {
42 android_arm64: {
43 enabled: true,
44 },
45 },
46}
47
Alice Wang9a8b39f2023-04-12 15:31:48 +000048// python -c "import hashlib; print(hashlib.sha256(b'rialto_salt').hexdigest())"
49rialto_salt = "ea9d8c3ae1785396884d0c16c7652921874e2b8703f336ff23760f2049ee9e29"
50
51filegroup {
52 name: "rialto_sign_key",
53 srcs: [":avb_testkey_rsa4096"],
54}
55
56avb_add_hash_footer {
57 name: "rialto_signed",
58 src: ":empty_file",
59 filename: "rialto",
60 partition_name: "boot",
61 private_key: ":rialto_sign_key",
62 salt: rialto_salt,
Alice Wangab0d0202023-05-17 08:07:41 +000063 props: [
64 {
65 name: "com.android.virt.cap",
66 value: "remote_attest",
67 },
68 ],
Alice Wang9a8b39f2023-04-12 15:31:48 +000069 enabled: false,
70 arch: {
71 arm64: {
72 src: ":rialto_unsigned",
73 enabled: true,
74 },
75 },
76}
77
78prebuilt_etc {
Alan Stokes1294f942023-08-21 14:34:12 +010079 // rialto_bin is a prebuilt target wrapping the signed bare-metal service VM.
Alice Wang9a8b39f2023-04-12 15:31:48 +000080 name: "rialto_bin",
81 filename: "rialto.bin",
82 target: {
83 android_arm64: {
84 src: ":rialto_signed",
85 },
86 },
87 src: ":empty_file",
88 installable: false,
89}
90
David Brazdil66fc1202022-07-04 21:48:45 +010091rust_test {
92 name: "rialto_test",
93 crate_name: "rialto_test",
94 srcs: ["tests/test.rs"],
95 prefer_rlib: true,
96 edition: "2021",
97 rustlibs: [
98 "android.system.virtualizationservice-rust",
99 "libandroid_logger",
100 "libanyhow",
101 "liblibc",
102 "liblog_rust",
103 "libnix",
104 "libvmclient",
Alice Wang4e082c32023-07-11 07:41:50 +0000105 "libvsock",
David Brazdil66fc1202022-07-04 21:48:45 +0100106 ],
107 data: [
Alice Wang9a8b39f2023-04-12 15:31:48 +0000108 ":rialto_bin",
109 ":rialto_unsigned",
David Brazdil66fc1202022-07-04 21:48:45 +0100110 ],
111 test_suites: ["general-tests"],
112 enabled: false,
113 target: {
114 android_arm64: {
115 enabled: true,
116 },
117 },
118}