mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-15 00:47:02 +02:00
The MT bit in MPIDR is always set for SGI platforms and so the core position calculation code is updated to take into account the thread affinity value as well. Change-Id: I7b2a52707f607dc3859c6bbcd2b145b7987cb4ed Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com> Signed-off-by: Vishwanatha HG <vishwanatha.hg@arm.com>
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <plat_arm.h>
|
|
#include <sgi_plat_config.h>
|
|
|
|
/* Topology */
|
|
/*
|
|
* The power domain tree descriptor. The cluster power domains are
|
|
* arranged so that when the PSCI generic code creates the power domain tree,
|
|
* the indices of the CPU power domain nodes it allocates match the linear
|
|
* indices returned by plat_core_pos_by_mpidr().
|
|
*/
|
|
const unsigned char sgi_pd_tree_desc[] = {
|
|
PLAT_ARM_CLUSTER_COUNT,
|
|
CSS_SGI_MAX_CPUS_PER_CLUSTER,
|
|
CSS_SGI_MAX_CPUS_PER_CLUSTER
|
|
};
|
|
|
|
/* Topology configuration for sgi platform */
|
|
const css_topology_t sgi_topology = {
|
|
.power_tree = sgi_pd_tree_desc,
|
|
.plat_cluster_core_count = CSS_SGI_MAX_CPUS_PER_CLUSTER
|
|
};
|
|
|
|
/*******************************************************************************
|
|
* This function returns the topology tree information.
|
|
******************************************************************************/
|
|
const unsigned char *plat_get_power_domain_tree_desc(void)
|
|
{
|
|
return sgi_topology.power_tree;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* This function returns the core count within the cluster corresponding to
|
|
* `mpidr`.
|
|
******************************************************************************/
|
|
unsigned int plat_arm_get_cluster_core_count(u_register_t mpidr)
|
|
{
|
|
return sgi_topology.plat_cluster_core_count;
|
|
}
|