Page MenuHomeFreeBSD

D27886.diff
No OneTemporary

D27886.diff

diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h
--- a/sys/arm64/include/atomic.h
+++ b/sys/arm64/include/atomic.h
@@ -409,7 +409,7 @@
uint##t##_t mask, old, tmp; \
int res; \
\
- mask = 1u << (val & 0x1f); \
+ mask = ((uint##t##_t)1) << (val & (t - 1)); \
__asm __volatile( \
"1: ldxr %"#w"2, [%3]\n" \
" "#llsc_asm_op" %"#w"0, %"#w"2, %"#w"4\n" \
@@ -427,7 +427,7 @@
{ \
uint##t##_t mask, old; \
\
- mask = 1u << (val & 0x1f); \
+ mask = ((uint##t##_t)1) << (val & (t - 1)); \
__asm __volatile( \
".arch_extension lse\n" \
"ld"#lse_asm_op" %"#w"2, %"#w"0, [%1]\n" \

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 24, 5:30 AM (22 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12633672
Default Alt Text
D27886.diff (701 B)

Event Timeline