summaryrefslogtreecommitdiff
path: root/config/hafnium-base.yaml
blob: 2b40273953a401c13278eb9acbce6462e15dab26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Copyright (c) 2022, Arm Limited.
# SPDX-License-Identifier: MIT

%YAML 1.2
---
description: >-
  Hafnium is the Secure Partition Manager that runs at SEL2.

build:
  hafnium:
    repo:
      remote: https://git.trustedfirmware.org/hafnium/hafnium.git
      revision: v2.10

    params:
      PROJECT: reference
      PLATFORM: secure_aem_v8a_fvp_vhe

    build:
      # Hafnium doesn't provide a mechanism to forward number of jobs to ninja,
      # so it will always parallelize across all cpus. Ideally we would specify
      # max jobs with ${param:jobs}.
      - make OUT_DIR=${param:builddir} ${param:join_equal}

    artifacts:
      HAFNIUM: ${param:builddir}/secure_aem_v8a_fvp_vhe_clang/hafnium.bin

  tfa:
    params:
      # Although TFA is now able to detect most features dynamically, there are
      # still a few, which are required by Hafnium, which it can't. Given these
      # are hard requirements for Hafnium, define them here.
      GIC_EXT_INTID: 1
      CTX_INCLUDE_MTE_REGS: 1
      ENABLE_SVE_FOR_SWD: 1

run:
  params:
    # Hafnium requires extended gic support, so define these here to show they
    # are tightly coupled.
    -C gic_distributor.ARE-fixed-to-one: 1
    -C gic_distributor.extended-ppi-count: 64
    -C gic_distributor.extended-spi-count: 1024
    -C cluster0.gicv3.extended-interrupt-range-support: 1
    -C cluster1.gicv3.extended-interrupt-range-support: 1
    -C cluster0.memory_tagging_support_level: 2
    -C cluster1.memory_tagging_support_level: 2
    -C bp.dram_metadata.is_enabled: 1