mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 13:36:05 +00:00

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
37 lines
1 KiB
C
37 lines
1 KiB
C
/*
|
|
* Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H
|
|
#define ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H
|
|
|
|
/* EXPORT HEADER -- See include/export/README for details! -- EXPORT HEADER */
|
|
|
|
/*
|
|
* For those constants to be shared between C and other sources, apply a 'U',
|
|
* 'UL', 'ULL', 'L' or 'LL' suffix to the argument only in C, to avoid
|
|
* undefined or unintended behaviour.
|
|
*
|
|
* The GNU assembler and linker do not support these suffixes (it causes the
|
|
* build process to fail) therefore the suffix is omitted when used in linker
|
|
* scripts and assembler files.
|
|
*/
|
|
#if defined(__ASSEMBLER__)
|
|
# define U(_x) (_x)
|
|
# define UL(_x) (_x)
|
|
# define ULL(_x) (_x)
|
|
# define L(_x) (_x)
|
|
# define LL(_x) (_x)
|
|
#else
|
|
# define U_(_x) (_x##U)
|
|
# define U(_x) U_(_x)
|
|
# define UL(_x) (_x##UL)
|
|
# define ULL(_x) (_x##ULL)
|
|
# define L(_x) (_x##L)
|
|
# define LL(_x) (_x##LL)
|
|
|
|
#endif
|
|
|
|
#endif /* ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H */
|