From fe7210cdca8e83b19a5e764d1c09622b639a133d Mon Sep 17 00:00:00 2001 From: Jeenu Viswambharan Date: Wed, 31 Jan 2018 14:52:08 +0000 Subject: [PATCH] FVP: Allow building for DynamIQ systems FVPs that model DynamIQ configuration implements all CPUs in a single cluster. I.e., such models have a single cluster with more than 4 CPUs. This differs from existing default build configuration for FVP where up to 4 CPUs are assumed per cluster. To allow building for DynamIQ configuration, promote the macro FVP_MAX_CPUS_PER_CLUSTER as a build option to have it set from the build command line. The value of the build option defaults to 4. Change-Id: Idc3853bc95f680869b434b011c2dbd733e40c6ce Signed-off-by: Jeenu Viswambharan --- docs/user-guide.rst | 3 +++ plat/arm/board/fvp/fvp_def.h | 5 ++++- plat/arm/board/fvp/platform.mk | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/user-guide.rst b/docs/user-guide.rst index c9e87488f..9e23711aa 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -755,6 +755,9 @@ ARM FVP platform specific build options - ``FVP_CCN`` : The CCN driver is selected. This is the default if ``FVP_CLUSTER_COUNT`` > 2. +- ``FVP_MAX_CPUS_PER_CLUSTER``: Sets the maximum number of CPUs implemented in + a single cluster. This option defaults to 4. + - ``FVP_MAX_PE_PER_CPU``: Sets the maximum number of PEs implemented on any CPU in the system. This option defaults to 1. Note that the build option ``ARM_PLAT_MT`` doesn't have any effect on FVP platforms. diff --git a/plat/arm/board/fvp/fvp_def.h b/plat/arm/board/fvp/fvp_def.h index a430bcac1..5ac5d3cdb 100644 --- a/plat/arm/board/fvp/fvp_def.h +++ b/plat/arm/board/fvp/fvp_def.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2014-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -10,7 +10,10 @@ #ifndef FVP_CLUSTER_COUNT #define FVP_CLUSTER_COUNT 2 #endif + +#ifndef FVP_MAX_CPUS_PER_CLUSTER #define FVP_MAX_CPUS_PER_CLUSTER 4 +#endif #ifndef FVP_MAX_PE_PER_CPU # define FVP_MAX_PE_PER_CPU 1 diff --git a/plat/arm/board/fvp/platform.mk b/plat/arm/board/fvp/platform.mk index 8b913fb25..3dca4c2ac 100644 --- a/plat/arm/board/fvp/platform.mk +++ b/plat/arm/board/fvp/platform.mk @@ -13,6 +13,9 @@ FVP_USE_SP804_TIMER := 0 # Default cluster count for FVP FVP_CLUSTER_COUNT := 2 +# Default number of CPUs per cluster on FVP +FVP_MAX_CPUS_PER_CLUSTER := 4 + # Default number of threads per CPU on FVP FVP_MAX_PE_PER_CPU := 1 @@ -27,6 +30,9 @@ $(eval $(call add_define,FVP_USE_GIC_DRIVER)) # Pass FVP_CLUSTER_COUNT to the build system. $(eval $(call add_define,FVP_CLUSTER_COUNT)) +# Pass FVP_MAX_CPUS_PER_CLUSTER to the build system. +$(eval $(call add_define,FVP_MAX_CPUS_PER_CLUSTER)) + # Pass FVP_MAX_PE_PER_CPU to the build system. $(eval $(call add_define,FVP_MAX_PE_PER_CPU))