Update renesas platform to not rely on undefined overflow behaviour
authorJustin Chadwell <justin.chadwell@arm.com>
Wed, 3 Jul 2019 13:11:06 +0000 (14:11 +0100)
committerJustin Chadwell <justin.chadwell@arm.com>
Thu, 11 Jul 2019 11:10:58 +0000 (12:10 +0100)
This consists of ensuring that the left operand of each shift is
unsigned when the operation might overflow into the sign bit.

Change-Id: I51278beacbe6da79853c3f0f0f94cd806fc9652c
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
drivers/renesas/rcar/cpld/ulcb_cpld.c
drivers/renesas/rcar/pwrc/pwrc.c
drivers/renesas/rcar/pwrc/pwrc.h
plat/renesas/rcar/rcar_common.c

index 4830853739bffc234deb20d441d886a5d38bb907..5ffb2e1971cf8f801d5bbe1cb6be4df9a3260173 100644 (file)
@@ -68,7 +68,7 @@ static void cpld_write(uint8_t addr, uint32_t data)
 
        for (i = 0; i < 32; i++) {
                /* MSB first */
-               gpio_set_value(GPIO_OUTDT6, MOSI, data & (1 << 31));
+               gpio_set_value(GPIO_OUTDT6, MOSI, data & (1U << 31));
                gpio_set_value(GPIO_OUTDT6, SCLK, 1);
                data <<= 1;
                gpio_set_value(GPIO_OUTDT6, SCLK, 0);
index d97e593bbdb82056ca5183b2424c534668b2bc2a..f4c9d3abcb70132d15814a5864101c8f9d39c4b6 100644 (file)
@@ -763,10 +763,10 @@ uint32_t rcar_pwrc_get_cluster(void)
 
        reg = mmio_read_32(RCAR_PRR);
 
-       if (reg & (1 << (STATE_CA53_CPU + RCAR_CA53CPU_NUM_MAX)))
+       if (reg & (1U << (STATE_CA53_CPU + RCAR_CA53CPU_NUM_MAX)))
                return RCAR_CLUSTER_CA57;
 
-       if (reg & (1 << (STATE_CA57_CPU + RCAR_CA57CPU_NUM_MAX)))
+       if (reg & (1U << (STATE_CA57_CPU + RCAR_CA57CPU_NUM_MAX)))
                return RCAR_CLUSTER_CA53;
 
        return RCAR_CLUSTER_A53A57;
@@ -810,7 +810,7 @@ uint32_t rcar_pwrc_get_cpu_num(uint32_t c)
 
 count_ca57:
        if (IS_A53A57(c) || IS_CA57(c)) {
-               if (reg & (1 << (STATE_CA57_CPU + RCAR_CA57CPU_NUM_MAX)))
+               if (reg & (1U << (STATE_CA57_CPU + RCAR_CA57CPU_NUM_MAX)))
                        goto done;
 
                for (i = 0; i < RCAR_CA57CPU_NUM_MAX; i++) {
index cfb35ff92350ceeb99a195b5ca1a3182fc0aba8c..e67c6ef2d60c97f1208d561906011b641380ce40 100644 (file)
@@ -15,7 +15,7 @@
 
 #define PWKUPR_WEN             (1ull << 31)
 
-#define PSYSR_AFF_L2           (1 << 31)
+#define PSYSR_AFF_L2           (1U << 31)
 #define PSYSR_AFF_L1           (1 << 30)
 #define PSYSR_AFF_L0           (1 << 29)
 #define PSYSR_WEN              (1 << 28)
index d24d71af3b4d455127c5fd229c7f03faf5a7b524..4ea753f2db8c1eeb70e224b5c31299ba1970e9e7 100644 (file)
 #define MSTP318                        (1 << 18)
 #define MSTP319                        (1 << 19)
 #define PMSR                   0x5c
-#define PMSR_L1FAEG            (1 << 31)
+#define PMSR_L1FAEG            (1U << 31)
 #define PMSR_PMEL1RX           (1 << 23)
 #define PMCTLR                 0x60
-#define PMSR_L1IATN            (1 << 31)
+#define PMSR_L1IATN            (1U << 31)
 
 static int rcar_pcie_fixup(unsigned int controller)
 {