- First pass through with with device tree enhancement merge. Most of the mechanisms...
[coreboot.git] / src / arch / i386 / include / arch / smp / spinlock.h
index d0cc11c6a7dd95f95fcce9681b147950dde815c0..65ad8d0673ad272cedb4850543d4c700b8ddb122 100644 (file)
@@ -54,4 +54,10 @@ static inline void spin_unlock(spinlock_t *lock)
                :"=m" (lock->lock) : : "memory");
 }
 
+/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
+static inline void cpu_relax(void)
+{
+       __asm__ __volatile__("rep;nop": : :"memory");
+}
+
 #endif /* ARCH_SMP_SPINLOCK_H */