dev-arm: Fix GICv3 overflow for INTID > 256
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 8 Mar 2019 11:06:21 +0000 (11:06 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 27 Mar 2019 13:29:26 +0000 (13:29 +0000)
SPIs can get to a maximum number of 1023, so that an uint8_t is not capable
of representing all of them.

Change-Id: I7a2c43b41ac93eabdfcf8311681240416b954177
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17631
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

src/dev/arm/gic_v3_distributor.hh

index 6b7b0cbb1c69ab7ef9740e30b8eb70d36a71f288..86e53a3b69c75e177841ed6fe00ced3208897819 100644 (file)
@@ -184,7 +184,7 @@ class Gicv3Distributor : public Serializable
 
     Gicv3::IntStatus intStatus(uint32_t int_id) const;
 
-    inline bool isNotSPI(uint8_t int_id) const
+    inline bool isNotSPI(uint32_t int_id) const
     {
         if (int_id < (Gicv3::SGI_MAX + Gicv3::PPI_MAX) || int_id >= itLines) {
             return true;
@@ -193,7 +193,7 @@ class Gicv3Distributor : public Serializable
         }
     }
 
-    inline bool nsAccessToSecInt(uint8_t int_id, bool is_secure_access) const
+    inline bool nsAccessToSecInt(uint32_t int_id, bool is_secure_access) const
     {
         return !DS && !is_secure_access && getIntGroup(int_id) != Gicv3::G1NS;
     }