pick up atomic bit clear fix
@@ -345,12 +345,12 @@ void kernel_unlock();
// wakeup
static inline void atomic_set_bit(u64 *target, u64 bit)
{
- __asm__("lock btsq %1, %0": "+m"(*target): "r"(bit));
+ asm volatile("lock btsq %1, %0": "+m"(*target): "r"(bit) : "memory");
}
static inline void atomic_clear_bit(u64 *target, u64 bit)
{
- __asm__("lock btcq %1, %0": "+m"(*target):"r"(bit));
+ asm volatile("lock btrq %1, %0": "+m"(*target):"r"(bit) : "memory");
}
extern u64 idle_cpu_mask;
