#ifndef SMP_INCLUDED #define SMP_INCLUDED #include void smp_boot(); extern uint8_t corecount; static inline void lock(uint8_t *lock) { asm("mov al, 1\n" "spinlock:\n" "lock xchgb [%0], al\n" "test al, al\n" "pause\n" "jnz spinlock\n" ::"r"(lock):"al"); } static inline void unlock(uint8_t *lock) { asm("lock andb [%0], 0"::"r"(lock)); } static inline void waitup(uint8_t *loto) { } #define CREATE_LOTO(name) #endif