19 lines
404 B
C
19 lines
404 B
C
#pragma once
|
|
#include <types.h>
|
|
|
|
static inline void CPUYield() {
|
|
__asm__ volatile ("yield" ::: "memory");
|
|
}
|
|
|
|
static inline void CPUWaitForInterrupt() {
|
|
__asm__ volatile ("wfi" ::: "memory");
|
|
}
|
|
|
|
static inline void CPUDisableInterrupts() {
|
|
__asm__ volatile ("msr daifset, #3" ::: "memory");
|
|
}
|
|
|
|
static inline void CPUEnableInterrupts() {
|
|
__asm__ volatile ("msr daifclr, #3" ::: "memory");
|
|
}
|