Added Interrupt::SetEnabled(bool).
This commit is contained in:
parent
f59b53ddce
commit
3b63a70191
|
@ -52,6 +52,12 @@ extern "C" unsigned long asm_interrupts_are_enabled();
|
||||||
inline bool IsEnabled() { return asm_interrupts_are_enabled(); }
|
inline bool IsEnabled() { return asm_interrupts_are_enabled(); }
|
||||||
inline void Enable() { asm volatile("sti"); }
|
inline void Enable() { asm volatile("sti"); }
|
||||||
inline void Disable() { asm volatile("cli"); }
|
inline void Disable() { asm volatile("cli"); }
|
||||||
|
inline bool SetEnabled(bool isenabled)
|
||||||
|
{
|
||||||
|
bool wasenabled = IsEnabled();
|
||||||
|
if ( isenabled ) { Enable(); } else { Disable(); }
|
||||||
|
return wasenabled;
|
||||||
|
}
|
||||||
|
|
||||||
typedef void (*Handler)(CPU::InterruptRegisters* regs, void* user);
|
typedef void (*Handler)(CPU::InterruptRegisters* regs, void* user);
|
||||||
void RegisterHandler(unsigned index, Handler handler, void* user);
|
void RegisterHandler(unsigned index, Handler handler, void* user);
|
||||||
|
|
Loading…
Reference in New Issue