summaryrefslogtreecommitdiff
path: root/kernel/x86.h
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
committerMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
commit50c7bdbe826b5b425748a11273d14e3aed2ce851 (patch)
tree8fc2bec5576aad366b6f9f3f1fcc406f6a3eeb33 /kernel/x86.h
parentfc7022286a14e7325907fb4e77aa44330037229b (diff)
many changes and adaptions and VESA mode !!
Diffstat (limited to 'kernel/x86.h')
-rw-r--r--kernel/x86.h11
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);