#include "interrupts/Interrupts.h" void Interrupts::disable() { asm volatile("cli"); } void Interrupts::enable() { asm volatile("sti"); } extern char __is_in_interrupt_handler; bool Interrupts::is_in_handler() { return __is_in_interrupt_handler; } void Interrupts::return_from_handler(SavedContext* context) { asm volatile("mov %0, %%rsp\n" "jmp _asm_interrupt_exit" : : "r"(context)); }