fix(lib/realm): fix MISRA C:2012 Rule 10.1 in s2tt.c
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: I48104dde941b38a33455eaf6dde91c4894f40a4a
diff --git a/lib/realm/src/s2tt.c b/lib/realm/src/s2tt.c
index 44d03dc..ed86423 100644
--- a/lib/realm/src/s2tt.c
+++ b/lib/realm/src/s2tt.c
@@ -228,11 +228,15 @@
*/
static unsigned long s2_addr_to_idx(unsigned long addr, long level)
{
- int levels = RTT_PAGE_LEVEL - level;
- int lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
+ unsigned int levels, lsb;
+
+ assert(level <= RTT_PAGE_LEVEL);
+
+ levels = RTT_PAGE_LEVEL - level;
+ lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
addr >>= lsb;
- addr &= (1UL << S2TTE_STRIDE) - 1;
+ addr &= (1UL << S2TTE_STRIDE) - 1UL;
return addr;
}
@@ -249,8 +253,12 @@
static unsigned long s2_sl_addr_to_idx(unsigned long addr, int start_level,
unsigned long ipa_bits)
{
- int levels = RTT_PAGE_LEVEL - start_level;
- int lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
+ unsigned int levels, lsb;
+
+ assert(start_level <= RTT_PAGE_LEVEL);
+
+ levels = RTT_PAGE_LEVEL - start_level;
+ lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
addr &= (1UL << ipa_bits) - 1UL;
addr >>= lsb;
@@ -259,9 +267,13 @@
static unsigned long addr_level_mask(unsigned long addr, long level)
{
- int levels = RTT_PAGE_LEVEL - level;
- unsigned int lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
- unsigned int msb = S2TTE_OA_BITS - 1;
+ unsigned int levels, lsb, msb;
+
+ assert(level <= RTT_PAGE_LEVEL);
+
+ levels = RTT_PAGE_LEVEL - level;
+ lsb = levels * S2TTE_STRIDE + GRANULE_SHIFT;
+ msb = S2TTE_OA_BITS - 1U;
return (addr & BIT_MASK_ULL(msb, lsb));
}
@@ -794,7 +806,7 @@
unsigned long s2tte_map_size(int level)
{
- int levels, lsb;
+ unsigned int levels, lsb;
assert(level <= RTT_PAGE_LEVEL);