|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 4/4] x86/bitops: don't cast away volatile-ness
From: Jan Beulich <jbeulich@xxxxxxxx>
Doing so, besides being a bad idea in general, violates Misra rule 11.8.
Use the helper macro we have available anyway.
No functional change intended.
Fixes: f1879b2c2584 ("xen: introduce generic non-atomic test_*bit()")
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <jbeulich@xxxxxxxx>
CC: Roger Pau Monné <roger@xxxxxxxxxxxxxx>
CC: Teddy Astie <teddy.astie@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Julien Grall <julien@xxxxxxx>
CC: Bertrand Marquis <bertrand.marquis@xxxxxxx>
CC: Michal Orzel <michal.orzel@xxxxxxx>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
Rebase over removal of ADDR.
---
xen/arch/x86/include/asm/bitops.h | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/xen/arch/x86/include/asm/bitops.h
b/xen/arch/x86/include/asm/bitops.h
index 45fc64474344..8f6bea388035 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -185,7 +185,9 @@ static inline int arch__test_and_set_bit(int nr, volatile
void *addr)
asm volatile ( "btsl %[nr], %[addr]\n\t"
ASM_FLAG_OUT(, "sbbl %[old], %[old]\n\t")
: [old] ASM_FLAG_OUT("=@ccc", "=r") (oldbit),
- [addr] "+m" (*(int *)addr) : [nr] "Ir" (nr) : "memory" );
+ [addr] "+m" (*(volatile int *)addr)
+ : [nr] "Ir" (nr)
+ : "memory" );
return oldbit;
}
@@ -233,7 +235,9 @@ static inline int arch__test_and_clear_bit(int nr, volatile
void *addr)
asm volatile ( "btrl %[nr], %[addr]\n\t"
ASM_FLAG_OUT(, "sbbl %[old], %[old]\n\t")
: [old] ASM_FLAG_OUT("=@ccc", "=r") (oldbit),
- [addr] "+m" (*(int *)addr) : [nr] "Ir" (nr) : "memory" );
+ [addr] "+m" (*(volatile int *)addr)
+ : [nr] "Ir" (nr)
+ : "memory" );
return oldbit;
}
@@ -247,7 +251,9 @@ static inline int arch__test_and_change_bit(int nr,
volatile void *addr)
asm volatile ( "btcl %[nr], %[addr]\n\t"
ASM_FLAG_OUT(, "sbbl %[old], %[old]\n\t")
: [old] ASM_FLAG_OUT("=@ccc", "=r") (oldbit),
- [addr] "+m" (*(int *)addr) : [nr] "Ir" (nr) : "memory" );
+ [addr] "+m" (*(volatile int *)addr)
+ : [nr] "Ir" (nr)
+ : "memory" );
return oldbit;
}
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |