summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-07-29 17:12:25 +0200
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-11-14 13:00:57 +0100
commit7e0093870e6c550139a27d1780f54f1e8acc4978 (patch)
tree860db05daf7ac7b38eee30020dbf4a6840635e39 /arch/arm/lib
parentARM: 9259/1: stacktrace: Convert stacktrace to generic ARCH_STACKWALK (diff)
downloadlinux-7e0093870e6c550139a27d1780f54f1e8acc4978.tar.xz
linux-7e0093870e6c550139a27d1780f54f1e8acc4978.zip
ARM: findbit: document ARMv5 bit offset calculation
Document the ARMv5 bit offset calculation code. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/findbit.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/lib/findbit.S b/arch/arm/lib/findbit.S
index 7fd3600db8ef..4c584bc4704b 100644
--- a/arch/arm/lib/findbit.S
+++ b/arch/arm/lib/findbit.S
@@ -172,10 +172,10 @@ ENDPROC(_find_next_bit_be)
.L_found:
#if __LINUX_ARM_ARCH__ >= 5
rsb r0, r3, #0
- and r3, r3, r0
- clz r3, r3
- rsb r3, r3, #31
- add r0, r2, r3
+ and r3, r3, r0 @ mask out lowest bit set
+ clz r3, r3 @ count high zero bits
+ rsb r3, r3, #31 @ offset of first set bit
+ add r0, r2, r3 @ add offset of first set bit
#else
tst r3, #0x0f
addeq r2, r2, #4