Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions include/arch/x86/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ static inline bool atomic_test_bit(unsigned int bit, volatile void *addr) {
static inline bool atomic_test_and_set_bit(unsigned int bit, volatile void *addr) {
bool status;

asm volatile("lock bts %[bit], %[addr];"
asm volatile("lock btsl %[bit], %[addr];"
"setc %[status];"
: [ status ] "=r"(status)
: [ bit ] "Ir"(bit), [ addr ] "m"(*(uint8_t *) addr)
Expand All @@ -71,7 +71,7 @@ static inline bool atomic_test_and_set_bit(unsigned int bit, volatile void *addr
static inline bool atomic_test_and_reset_bit(unsigned int bit, volatile void *addr) {
bool status;

asm volatile("lock btr %[bit], %[addr];"
asm volatile("lock btrl %[bit], %[addr];"
"setc %[status];"
: [ status ] "=r"(status)
: [ bit ] "Ir"(bit), [ addr ] "m"(*(uint8_t *) addr)
Expand Down