blob: f4c684a5c434046af13094a2ba371c1c30431085 [file] [log] [blame]
Andrew Walbrandc8ad202019-03-07 15:49:28 +00001# Copyright 2018 The Hafnium Authors.
Andrew Scull2d527c22018-11-27 14:21:08 +00002#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("//build/toolchain/embedded.gni")
16import("//build/toolchain/host.gni")
17
Andrew Scull2d527c22018-11-27 14:21:08 +000018group("root") {
19 deps = [
20 "//src:hafnium(:aem_v8a_fvp_clang)",
Andrew Scull2d527c22018-11-27 14:21:08 +000021 "//src:hafnium(:qemu_aarch64_clang)",
David Brazdil3d7b88b2019-07-22 17:19:35 +010022 "//src:hafnium(:rpi4_clang)",
Andrew Scull2d527c22018-11-27 14:21:08 +000023 ]
24}
25
26group("test_root") {
27 testonly = true
28
29 deps = [
30 "//src:unit_tests(:host_fake_clang)",
Andrew Walbranfd379392019-03-14 17:45:04 +000031 "//test/arch(:aem_v8a_fvp_clang)",
Andrew Scull75da2d12018-12-09 21:25:45 +000032 "//test/arch(:qemu_aarch64_clang)",
David Brazdil3d7b88b2019-07-22 17:19:35 +010033 "//test/arch(:rpi4_clang)",
Andrew Walbranb1457602019-05-13 16:43:57 +010034 "//test/linux(:aem_v8a_fvp_vm_clang)",
35 "//test/linux(:qemu_aarch64_vm_clang)",
Andrew Walbran3eeaa402019-11-01 14:48:29 +000036 "//test/linux(:rpi4_vm_clang)",
Andrew Walbranb1457602019-05-13 16:43:57 +010037 "//test/vmapi(:aem_v8a_fvp_vm_clang)",
38 "//test/vmapi(:qemu_aarch64_vm_clang)",
Andrew Walbran3eeaa402019-11-01 14:48:29 +000039 "//test/vmapi(:rpi4_vm_clang)",
Andrew Scull3fe24082019-09-30 15:27:23 +010040 "//test/vmapi/arch/aarch64/gicv3:gicv3_test(:aem_v8a_fvp_vm_clang)",
41 "//test/vmapi/arch/aarch64/gicv3:gicv3_test(:qemu_aarch64_vm_clang)",
Andrew Scull2d527c22018-11-27 14:21:08 +000042 ]
43}
44
45# Describe each of the platforms used in this project.
46
47host_toolchain("host_fake") {
48 use_platform = true
Andrew Walbranbc737c42018-12-07 14:24:16 +000049 heap_pages = 60
Andrew Scull2d527c22018-11-27 14:21:08 +000050 max_cpus = 4
51 max_vms = 6
52}
53
Andrew Walbranb1457602019-05-13 16:43:57 +010054aarch64_toolchains("aem_v8a_fvp") {
55 cpu = "cortex-a57"
Andrew Walbran65821982019-04-16 14:34:03 +010056 origin_address = "0x80000000"
David Brazdil653261a2019-09-09 18:04:33 +010057 boot_flow = "//src/boot_flow:linux"
Andrew Walbran808531e2019-05-20 14:52:45 +010058 console = "//src/arch/aarch64/pl011"
Andrew Sculle2a525d2019-12-02 12:56:06 +000059 iommu = "//src/iommu:absent"
Andrew Walbranf1aa19e2018-12-10 13:42:40 +000060 gic_version = 3
61 gicd_base_address = "0x2f000000"
62 gicr_base_address = "0x2f100000"
Andrew Walbranbc737c42018-12-07 14:24:16 +000063 heap_pages = 60
Andrew Scull2d527c22018-11-27 14:21:08 +000064 max_cpus = 8
65 max_vms = 16
Andrew Walbran808531e2019-05-20 14:52:45 +010066 toolchain_args = {
67 pl011_base_address = "0x1c090000"
68 }
Andrew Scull2d527c22018-11-27 14:21:08 +000069}
70
Andrew Walbranb1457602019-05-13 16:43:57 +010071aarch64_toolchains("qemu_aarch64") {
72 cpu = "cortex-a57"
Andrew Scull2d527c22018-11-27 14:21:08 +000073 origin_address = "0x40001000"
David Brazdil653261a2019-09-09 18:04:33 +010074 boot_flow = "//src/boot_flow:linux"
Andrew Walbran808531e2019-05-20 14:52:45 +010075 console = "//src/arch/aarch64/pl011"
Andrew Sculle2a525d2019-12-02 12:56:06 +000076 iommu = "//src/iommu:absent"
Andrew Walbranf1aa19e2018-12-10 13:42:40 +000077 gic_version = 3
78 gicd_base_address = "0x08000000"
79 gicr_base_address = "0x080A0000"
Andrew Walbranbc737c42018-12-07 14:24:16 +000080 heap_pages = 60
Andrew Scull2d527c22018-11-27 14:21:08 +000081 max_cpus = 8
82 max_vms = 16
Andrew Walbran808531e2019-05-20 14:52:45 +010083 toolchain_args = {
84 pl011_base_address = "0x09000000"
85 }
Andrew Scull2d527c22018-11-27 14:21:08 +000086}
87
David Brazdil3d7b88b2019-07-22 17:19:35 +010088aarch64_toolchains("rpi4") {
89 cpu = "cortex-a72"
90 origin_address = "0x80000"
91 boot_flow = "//src/boot_flow:linux"
92 console = "//project/reference/rpi:mini_uart"
Andrew Sculle2a525d2019-12-02 12:56:06 +000093 iommu = "//src/iommu:absent"
David Brazdil3d7b88b2019-07-22 17:19:35 +010094 gic_version = 2
95 heap_pages = 60
96 max_cpus = 4
97 max_vms = 16
98 toolchain_args = {
99 gpio_base_address = "0xfe200000"
100 aux_base_address = "0xfe215000"
101 core_freq_mhz = 500
102 }
103}