diff options
author | Jairo Balart <jairo.balart@metempsy.com> | 2018-10-11 16:05:12 +0200 |
---|---|---|
committer | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-01-10 16:29:30 +0000 |
commit | 93c7fa573116aade8e8d6b0646e85874e6003567 (patch) | |
tree | 6e49e8be33c3514553017e055fc32a627cb68698 /src/base | |
parent | 7d5696d1a9f0776f51ec20e81a413fcdcc748c4e (diff) | |
download | gem5-93c7fa573116aade8e8d6b0646e85874e6003567.tar.xz |
dev-arm: Add a GICv3 model
Change-Id: Ib0067fc743f84ff7be9f12d2fc33ddf63736bdd1
Reviewed-on: https://gem5-review.googlesource.com/c/13436
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/bitfield.hh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/base/bitfield.hh b/src/base/bitfield.hh index 23c8b4b12..d696715b3 100644 --- a/src/base/bitfield.hh +++ b/src/base/bitfield.hh @@ -282,4 +282,15 @@ inline uint64_t alignToPowerOfTwo(uint64_t val) return val; }; +/** + * Count trailing zeros in a 32-bit value. + * + * Returns 32 if the value is zero. Note that the GCC builtin is + * undefined if the value is zero. + */ +inline int ctz32(uint32_t value) +{ + return value ? __builtin_ctz(value) : 32; +} + #endif // __BASE_BITFIELD_HH__ |