diff options
author | Aaron Durbin <adurbin@chromium.org> | 2014-11-05 11:19:21 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-04-10 11:57:19 +0200 |
commit | 931a218d685610d85b570b72889b341270e2d00a (patch) | |
tree | 446329b3db54620b5342f1eea1f398e28112743a /src/arch/arm64/include | |
parent | 9fd7b1c1a9ab42b428af2599f497a328a04dbe92 (diff) |
arm64: secmon: pass online CPUs to secmon
Instead of relying on CONFIG_MAX_CPUS to be the number of
CPUs running a platform pass the number of online cpus
from coreboot secmon. That allows for actually enabled
CPUs < CONFIG_MAX_CPUS.
BUG=chrome-os-partner:32112
BRANCH=None
TEST=Booted SMP kernel.
Change-Id: Iaf1591e77fcb5ccf5fe271b6c84ea8866e19c59d
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3827af876c247fc42cd6be5dd67f8517457b36e7
Original-Change-Id: Ice10b8ab45bb1190a42678e67776846eec4eb79a
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/227529
Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: http://review.coreboot.org/9397
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/arch/arm64/include')
-rw-r--r-- | src/arch/arm64/include/armv8/arch/cpu.h | 3 | ||||
-rw-r--r-- | src/arch/arm64/include/armv8/arch/secmon.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/arm64/include/armv8/arch/cpu.h b/src/arch/arm64/include/armv8/arch/cpu.h index d4ff907495..c6ca7d38c6 100644 --- a/src/arch/arm64/include/armv8/arch/cpu.h +++ b/src/arch/arm64/include/armv8/arch/cpu.h @@ -99,6 +99,9 @@ static inline void cpu_mark_online(struct cpu_info *ci) store_release(&ci->online, 1); } +/* Provide number of CPUs online. */ +size_t cpus_online(void); + /* Control routines for starting CPUs. */ struct cpu_control_ops { /* Return the maximum number of CPUs supported. */ diff --git a/src/arch/arm64/include/armv8/arch/secmon.h b/src/arch/arm64/include/armv8/arch/secmon.h index dc4b2e06ce..3d368a70e5 100644 --- a/src/arch/arm64/include/armv8/arch/secmon.h +++ b/src/arch/arm64/include/armv8/arch/secmon.h @@ -25,6 +25,7 @@ #if IS_ENABLED(CONFIG_ARCH_USE_SECURE_MONITOR) struct secmon_params { + size_t online_cpus; struct cpu_action bsp; struct cpu_action secondary; }; |