diff options
author | Deepika Bhavnani <deepika.bhavnani@arm.com> | 2019-12-13 10:23:18 -0600 |
---|---|---|
committer | Deepika Bhavnani <deepika.bhavnani@arm.com> | 2020-01-10 17:11:51 +0000 |
commit | 5b33ad174a03a5ccdcd6321c64d69167361dc21a (patch) | |
tree | 9842f133951cf7cfec97ac1f10f9f0a1568c230e /include/plat | |
parent | 22d12c4148c373932a7a81e5d1c59a767e143ac2 (diff) | |
download | trusted-firmware-a-5b33ad174a03a5ccdcd6321c64d69167361dc21a.tar.gz |
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
Diffstat (limited to 'include/plat')
-rw-r--r-- | include/plat/arm/common/arm_def.h | 2 | ||||
-rw-r--r-- | include/plat/common/platform.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index 72e2e8e960..b419c853e6 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -21,7 +21,7 @@ /* Special value used to verify platform parameters from BL2 to BL31 */ #define ARM_BL31_PLAT_PARAM_VAL ULL(0x0f1e2d3c4b5a6978) -#define ARM_SYSTEM_COUNT 1 +#define ARM_SYSTEM_COUNT U(1) #define ARM_CACHE_WRITEBACK_SHIFT 6 diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h index 9efb2fd526..332cfca8d7 100644 --- a/include/plat/common/platform.h +++ b/include/plat/common/platform.h @@ -237,7 +237,7 @@ void plat_psci_stat_accounting_start(const psci_power_state_t *state_info); void plat_psci_stat_accounting_stop(const psci_power_state_t *state_info); u_register_t plat_psci_stat_get_residency(unsigned int lvl, const psci_power_state_t *state_info, - int last_cpu_idx); + unsigned int last_cpu_idx); plat_local_state_t plat_get_target_pwr_state(unsigned int lvl, const plat_local_state_t *states, unsigned int ncpu); |