mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-05-08 10:08:47 +00:00
Unify type of "cpu_idx" across PSCI module.
NOTE for platform integrators: API `plat_psci_stat_get_residency()` third argument `last_cpu_idx` is changed from "signed int" to the "unsigned int" type. Issue / Trouble points 1. cpu_idx is used as mix of `unsigned int` and `signed int` in code with typecasting at some places leading to coverity issues. 2. Underlying platform API's return cpu_idx as `unsigned int` and comparison is performed with platform specific defines `PLAFORM_xxx` which is not consistent Misra Rule 10.4: The value of a complex expression of integer type may only be cast to a type that is narrower and of the same signedness as the underlying type of the expression. Based on above points, cpu_idx is kept as `unsigned int` to match the API's and low-level functions and platform defines are updated where ever required Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: Ib26fd16e420c35527204b126b9b91e8babcc3a5c
This commit is contained in:
parent
22d12c4148
commit
5b33ad174a
25 changed files with 99 additions and 90 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -91,9 +91,9 @@ static void __init psci_update_pwrlvl_limits(void)
|
|||
|
||||
for (cpu_idx = 0; cpu_idx < psci_plat_core_count; cpu_idx++) {
|
||||
psci_get_parent_pwr_domain_nodes(cpu_idx,
|
||||
(unsigned int)PLAT_MAX_PWR_LVL,
|
||||
PLAT_MAX_PWR_LVL,
|
||||
temp_index);
|
||||
for (j = (int) PLAT_MAX_PWR_LVL - 1; j >= 0; j--) {
|
||||
for (j = (int)PLAT_MAX_PWR_LVL - 1; j >= 0; j--) {
|
||||
if (temp_index[j] != nodes_idx[j]) {
|
||||
nodes_idx[j] = temp_index[j];
|
||||
psci_non_cpu_pd_nodes[nodes_idx[j]].cpu_start_idx
|
||||
|
@ -115,8 +115,8 @@ static unsigned int __init populate_power_domain_tree(const unsigned char
|
|||
{
|
||||
unsigned int i, j = 0U, num_nodes_at_lvl = 1U, num_nodes_at_next_lvl;
|
||||
unsigned int node_index = 0U, num_children;
|
||||
int parent_node_index = 0;
|
||||
int level = (int) PLAT_MAX_PWR_LVL;
|
||||
unsigned int parent_node_index = 0U;
|
||||
int level = (int)PLAT_MAX_PWR_LVL;
|
||||
|
||||
/*
|
||||
* For each level the inputs are:
|
||||
|
@ -145,8 +145,8 @@ static unsigned int __init populate_power_domain_tree(const unsigned char
|
|||
for (j = node_index;
|
||||
j < (node_index + num_children); j++)
|
||||
psci_init_pwr_domain_node((unsigned char)j,
|
||||
parent_node_index - 1,
|
||||
(unsigned char)level);
|
||||
parent_node_index - 1U,
|
||||
(unsigned char)level);
|
||||
|
||||
node_index = j;
|
||||
num_nodes_at_next_lvl += num_children;
|
||||
|
@ -162,7 +162,7 @@ static unsigned int __init populate_power_domain_tree(const unsigned char
|
|||
}
|
||||
|
||||
/* Validate the sanity of array exported by the platform */
|
||||
assert(j <= (unsigned int)PLATFORM_CORE_COUNT);
|
||||
assert(j <= PLATFORM_CORE_COUNT);
|
||||
return j;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue