diff --git a/docs/user-guide.rst b/docs/user-guide.rst index c9e8748..9e23711 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -755,6 +755,9 @@ - ``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/fdts/fvp-base-gicv3-psci-dynamiq.dtb b/fdts/fvp-base-gicv3-psci-dynamiq.dtb new file mode 100644 index 0000000..99c6b46 --- /dev/null +++ b/fdts/fvp-base-gicv3-psci-dynamiq.dtb Binary files differ diff --git a/fdts/fvp-base-gicv3-psci-dynamiq.dts b/fdts/fvp-base-gicv3-psci-dynamiq.dts new file mode 100644 index 0000000..614c5d5 --- /dev/null +++ b/fdts/fvp-base-gicv3-psci-dynamiq.dts @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/dts-v1/; + +/include/ "fvp-base-gicv3-psci-common.dtsi" + +&CPU0 { + reg = <0x0 0x0>; +}; + +&CPU1 { + reg = <0x0 0x100>; +}; + +&CPU2 { + reg = <0x0 0x200>; +}; + +&CPU3 { + reg = <0x0 0x300>; +}; + +&CPU4 { + reg = <0x0 0x400>; +}; + +&CPU5 { + reg = <0x0 0x500>; +}; + +&CPU6 { + reg = <0x0 0x600>; +}; + +&CPU7 { + reg = <0x0 0x700>; +}; diff --git a/plat/arm/board/fvp/fvp_def.h b/plat/arm/board/fvp/fvp_def.h index a430bca..5ac5d3c 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 8b913fb..3dca4c2 100644 --- a/plat/arm/board/fvp/platform.mk +++ b/plat/arm/board/fvp/platform.mk @@ -13,6 +13,9 @@ # 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 @@ # 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))