1# Copyright 2023 The Hafnium Authors. 2# 3# Use of this source code is governed by a BSD-style 4# license that can be found in the LICENSE file or at 5# https://opensource.org/licenses/BSD-3-Clause. 6 7import("//build/image/image.gni") 8import("//test/hftest/args.gni") 9 10config("config") { 11 include_dirs = [ 12 "inc", 13 "//test/vmapi/common/arch/aarch64/secure/inc/", 14 ] 15} 16 17source_set("message_loop") { 18 testonly = true 19 public_configs = [ 20 ":config", 21 "//test/hftest:hftest_config", 22 "//src/arch/aarch64:arch_config", 23 ] 24 sources = [ "message_loop.c" ] 25 deps = [ "//test/vmapi/common:ffa" ] 26} 27 28source_set("secure_interrupts") { 29 testonly = true 30 public_configs = [ 31 ":config", 32 "//test/hftest:hftest_config", 33 "//src/arch/aarch64:arch_config", 34 "//src/arch/aarch64:config", 35 ] 36 sources = [ "secure_interrupts.c" ] 37 deps = [ 38 "//src/arch/aarch64:smc", 39 "//test/vmapi/common:ffa", 40 "//test/vmapi/common/arch/aarch64/secure:sp805", 41 ] 42} 43 44vm_kernel("secure_service") { 45 testonly = true 46 deps = [ 47 ":message_loop", 48 ":secure_interrupts", 49 "//src/arch/aarch64/hftest:interrupts", 50 "//src/arch/aarch64/hftest:mm", 51 "//test/hftest:hftest_secure_service", 52 "//test/vmapi/common/arch/aarch64:exception_handler", 53 "//test/vmapi/primary_with_secondaries:primary_with_secondaries", 54 "//test/vmapi/primary_with_secondaries/services:boot", 55 "//test/vmapi/primary_with_secondaries/services:echo", 56 "//test/vmapi/primary_with_secondaries/services:ffa_check", 57 "//test/vmapi/primary_with_secondaries/services:memory", 58 "//test/vmapi/primary_with_secondaries/services:relay", 59 "//test/vmapi/primary_with_secondaries/services:smccc", 60 "//vmlib/${plat_arch}:call", 61 ] 62} 63 64manifest("partition_manifest_service_sp1") { 65 source = "partition_manifest_service_sp1.dts" 66 output = "partition_manifest_service_sp1.dtb" 67} 68 69manifest("partition_manifest_service_sp2") { 70 source = "partition_manifest_service_sp2.dts" 71 output = "partition_manifest_service_sp2.dtb" 72} 73 74manifest("partition_manifest_service_sp3") { 75 source = "partition_manifest_service_sp3.dts" 76 output = "partition_manifest_service_sp3.dtb" 77} 78 79# Partition using FF-A v1.1 for use in backwards compatibility tests. 80manifest("partition_manifest_service_sp4") { 81 source = "partition_manifest_service_sp4.dts" 82 output = "partition_manifest_service_sp4.dtb" 83} 84 85partition_package("service_sp1_partition_package") { 86 testonly = true 87 pm_offset = "0x1000" 88 img_offset = "0x2000" 89 files = [ [ 90 "partition_manifest_service_sp1.dtb", 91 "secure_service.bin", 92 ":partition_manifest_service_sp1", 93 ":secure_service", 94 ] ] 95 output = "service_sp1_partition_package.img" 96} 97 98partition_package("service_sp2_partition_package") { 99 testonly = true 100 pm_offset = "0x1000" 101 img_offset = "0x2000" 102 files = [ [ 103 "partition_manifest_service_sp2.dtb", 104 "secure_service.bin", 105 ":partition_manifest_service_sp2", 106 ":secure_service", 107 ] ] 108 output = "service_sp2_partition_package.img" 109} 110 111partition_package("service_sp3_partition_package") { 112 testonly = true 113 pm_offset = "0x1000" 114 img_offset = "0x2000" 115 files = [ [ 116 "partition_manifest_service_sp3.dtb", 117 "secure_service.bin", 118 ":partition_manifest_service_sp3", 119 ":secure_service", 120 ] ] 121 output = "service_sp3_partition_package.img" 122} 123 124partition_package("service_sp4_partition_package") { 125 testonly = true 126 pm_offset = "0x1000" 127 img_offset = "0x2000" 128 files = [ [ 129 "partition_manifest_service_sp4.dtb", 130 "secure_service.bin", 131 ":partition_manifest_service_sp4", 132 ":secure_service", 133 ] ] 134 output = "service_sp4_partition_package.img" 135} 136