1#
2# SPDX-License-Identifier: BSD-3-Clause
3# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4#
5
6#
7# Set the RMM_PLATFORM variable to Cmake cache.
8#
9set(RMM_PLATFORM "arm" CACHE STRING "platform")
10arm_config_option_override(NAME RMM_TOOLCHAIN DEFAULT "gnu")
11
12#
13# Set RMM_MAX_SIZE for this platform (1072MB).  Needs to be kept in sync with
14# TF-A's REALM_DRAM_SIZE in platform_def.h.
15#
16arm_config_option_override(NAME RMM_MAX_SIZE DEFAULT 0x43000000)
17
18#
19# UART Base address. This must be dynamically discovered in future.
20# Use NS UART.
21#
22arm_config_option_override(NAME RMM_UART_ADDR DEFAULT 0x60000000)
23
24#
25# Extra memory regions needed by this platform: one region for UART.
26#
27arm_config_option_override(NAME PLAT_CMN_EXTRA_MMAP_REGIONS DEFAULT 1)
28
29#
30# Maximum number of translation tables allocated by the runtime context
31# for the translation library.
32#
33arm_config_option_override(NAME PLAT_CMN_CTX_MAX_XLAT_TABLES DEFAULT 9)
34
35#
36# Disable FPU/SIMD usage in RMM for now. Enabling this causes the Realm guest
37# boot to hang, and needs to be investigated.
38#
39arm_config_option_override(NAME RMM_FPU_USE_AT_REL2 DEFAULT OFF)
40
41#
42# Maximum number of granules supported.  Needs to be kept in sync with
43# TF-A's PLAT_QEMU_L1_GPT_SIZE in platform_def.h.  For SBSA we currently
44# support a maximum of 1TB, which is 1024 L1GPTs plus another L1GPT for
45# miscellaneous mapping, for a total of 1025 L1GPTs.  Each L1GPT maps 1GB,
46# which yields 262144 GPT entries (GPTEs) per table, for a total of
47# 0x10040000 granules.
48#
49arm_config_option_override(NAME RMM_MAX_GRANULES DEFAULT 0x10040000)
50
51#
52# TF-A sets a limit of 512 CPUs for the QEMU SBSA platform. See
53# PLATFORM_MAX_CPUS_PER_CLUSTER and PLATFORM_CLUSTER_COUNT in file
54# plat/qemu/qemu_sbsa/include/platform_def.h
55#
56arm_config_option_override(NAME MAX_CPUS DEFAULT 512)
57
58#
59# The SBSA's RAM starts at 1TB and the RMM code is located at that address.
60# As such we need to set this to at least 41, which also means that a VM can
61# have at most 1TB of RAM.
62#
63arm_config_option_override(NAME PLAT_CMN_VIRT_ADDR_SPACE_WIDTH DEFAULT 41)
64