summaryrefslogtreecommitdiff
path: root/config/cca-4world.yaml
diff options
context:
space:
mode:
authorRyan Roberts <ryan.roberts@arm.com>2023-02-10 15:22:07 +0000
committerRyan Roberts <ryan.roberts@arm.com>2023-02-10 15:22:07 +0000
commitdf661686af674eb9d801d29ef29c562d5fcce48c (patch)
treeb6fd72d59ea028583e698f4fed8671a2595de2fc /config/cca-4world.yaml
parentec1a6465a64bea565ae937a90ddc50feab062c87 (diff)
config: Split cca.yaml into 3-world and 4-world variants
4-world requires Hafnium, whose build system only works on x86_64. So by splitting, we can build and run the 3-world variant on both x86_64 and aarch64, whereas the 4-world config is limitted x86_64. Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Diffstat (limited to 'config/cca-4world.yaml')
-rw-r--r--config/cca-4world.yaml54
1 files changed, 54 insertions, 0 deletions
diff --git a/config/cca-4world.yaml b/config/cca-4world.yaml
new file mode 100644
index 0000000..c879d42
--- /dev/null
+++ b/config/cca-4world.yaml
@@ -0,0 +1,54 @@
+# Copyright (c) 2022, Arm Limited.
+# SPDX-License-Identifier: MIT
+
+%YAML 1.2
+---
+description: >-
+ Brings together a software stack to demonstrate Arm CCA running on FVP in a
+ four-world configuration. Includes TF-A in root world, Hafnium and some demo
+ secure partitions in secure world, RMM in realm world, and Linux in Normal
+ world.
+
+ In order to launch realm VMs, the user must bring their own rootfs that
+ contains a realm-aware kvmtool and an RSI-aware guest kernel image.
+
+concrete: true
+
+layers:
+ - cca-3world.yaml
+ - hafnium-base.yaml
+
+build:
+ tfa:
+ params:
+ SPD: spmd
+ SPMD_SPM_AT_SEL2: 1
+ SP_LAYOUT_FILE: ${artifact:SP_LAYOUT}
+ BL32: ${artifact:HAFNIUM}
+
+ # Provides secure partitions that run under Hafnium for demonstration.
+ tfa-tests:
+ repo:
+ remote: https://git.trustedfirmware.org/TF-A/tf-a-tests.git
+ revision: v2.8
+
+ toolchain: aarch64-none-elf-
+
+ params:
+ PLAT: fvp
+ DEBUG: 1
+
+ build:
+ # TODO: tfa-tests has makefile dependency bug that prevents parallel make (-j > 1).
+ - make BUILD_BASE=${param:builddir} ${param:join_equal} all pack_realm
+
+ clean:
+ - make BUILD_BASE=${param:builddir} realclean
+
+ artifacts:
+ SP_LAYOUT: ${param:builddir}/fvp/debug/sp_layout.json
+
+run:
+ terminals:
+ bp.terminal_2:
+ friendly: hafnium