diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/system.h | 2 | ||||
-rw-r--r-- | firmware/target/coldfire/ffs-coldfire.S | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/firmware/export/system.h b/firmware/export/system.h index d1b5df546b..505b167af9 100644 --- a/firmware/export/system.h +++ b/firmware/export/system.h | |||
@@ -205,7 +205,7 @@ int get_cpu_boost_counter(void); | |||
205 | #define UNLIKELY(x) (x) | 205 | #define UNLIKELY(x) (x) |
206 | #endif | 206 | #endif |
207 | 207 | ||
208 | /* returns index of first set bit + 1 or 0 if no bits are set */ | 208 | /* returns index of first set bit or 32 if no bits are set */ |
209 | int find_first_set_bit(uint32_t val); | 209 | int find_first_set_bit(uint32_t val); |
210 | 210 | ||
211 | static inline __attribute__((always_inline)) | 211 | static inline __attribute__((always_inline)) |
diff --git a/firmware/target/coldfire/ffs-coldfire.S b/firmware/target/coldfire/ffs-coldfire.S index 582970d5d6..40a7297802 100644 --- a/firmware/target/coldfire/ffs-coldfire.S +++ b/firmware/target/coldfire/ffs-coldfire.S | |||
@@ -57,7 +57,8 @@ find_first_set_bit: | |||
57 | | now lookup in table indexed on top 6 bits of %d0 | 57 | | now lookup in table indexed on top 6 bits of %d0 |
58 | moveq.l #26, %d0 | %d0 = final shift count | 58 | moveq.l #26, %d0 | %d0 = final shift count |
59 | lsr.l %d0, %d1 | | 59 | lsr.l %d0, %d1 | |
60 | clr.l %d0 | | 60 | |
61 | | the top 24 bits of d0 are 0 so just load the value over it | ||
61 | move.b (%a0, %d1.l), %d0 | | 62 | move.b (%a0, %d1.l), %d0 | |
62 | rts | | 63 | rts | |
63 | 64 | ||