diff options
Diffstat (limited to 'kernel/x86.h')
| -rw-r--r-- | kernel/x86.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/x86.h b/kernel/x86.h index 1e80405..2b7572c 100644 --- a/kernel/x86.h +++ b/kernel/x86.h @@ -3,12 +3,13 @@ #include "kernel.h" -#define X86_IRQ_BEGIN asm("cli\npusha"); -#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\npopa\nsti\nleave\niret"); -//#define X86_IRQ_BEGIN asm("pusha"); -//#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\npopa\nleave\niret"); -// +// todo: cli/sti?? +// http://wiki.osdev.org/Interrupt_Service_Routines +// Black Magic: Strongly Discouraged! +#define X86_IRQ_BEGIN asm("\npusha"); +#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\npopa\nleave\niret"); + void x86_outb(int port, uint8_t data); uint8_t x86_inb(int port); void x86_outw(int port, uint16_t data); |
