blob: cc9ee8fe34931dc05015d32a4d7aeb433c981f48 [file] [log] [blame]
#
# SPDX-License-Identifier: BSD-3-Clause
# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
#
#
# Set the RMM_PLATFORM variable to Cmake cache.
#
set(RMM_PLATFORM "arm" CACHE STRING "platform")
arm_config_option_override(NAME RMM_TOOLCHAIN DEFAULT "gnu")
#
# Set RMM_MAX_SIZE for this platform (1072MB). Needs to be kept in sync with
# TF-A's REALM_DRAM_SIZE in platform_def.h.
#
arm_config_option_override(NAME RMM_MAX_SIZE DEFAULT 0x43000000)
#
# UART Base address. This must be dynamically discovered in future.
# Use NS UART.
#
arm_config_option_override(NAME RMM_UART_ADDR DEFAULT 0x60000000)
#
# Extra memory regions needed by this platform: one region for UART.
#
arm_config_option_override(NAME PLAT_CMN_EXTRA_MMAP_REGIONS DEFAULT 1)
#
# Maximum number of translation tables allocated by the runtime context
# for the translation library.
#
arm_config_option_override(NAME PLAT_CMN_CTX_MAX_XLAT_TABLES DEFAULT 9)
#
# Disable FPU/SIMD usage in RMM for now. Enabling this causes the Realm guest
# boot to hang, and needs to be investigated.
#
arm_config_option_override(NAME RMM_FPU_USE_AT_REL2 DEFAULT OFF)
#
# Maximum number of granules supported. Needs to be kept in sync with
# TF-A's PLAT_QEMU_L1_GPT_SIZE in platform_def.h. For SBSA we currently
# support a maximum of 1TB, which is 1024 L1GPTs plus another L1GPT for
# miscellaneous mapping, for a total of 1025 L1GPTs. Each L1GPT maps 1GB,
# which yields 262144 GPT entries (GPTEs) per table, for a total of
# 0x10040000 granules.
#
arm_config_option_override(NAME RMM_MAX_GRANULES DEFAULT 0x10040000)
#
# TF-A sets a limit of 512 CPUs for the QEMU SBSA platform. See
# PLATFORM_MAX_CPUS_PER_CLUSTER and PLATFORM_CLUSTER_COUNT in file
# plat/qemu/qemu_sbsa/include/platform_def.h
#
arm_config_option_override(NAME MAX_CPUS DEFAULT 512)
#
# The SBSA's RAM starts at 1TB and the RMM code is located at that address.
# As such we need to set this to at least 41, which also means that a VM can
# have at most 1TB of RAM.
#
arm_config_option_override(NAME PLAT_CMN_VIRT_ADDR_SPACE_WIDTH DEFAULT 41)