summaryrefslogtreecommitdiff
path: root/kernel/x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/x86.h')
-rw-r--r--kernel/x86.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/x86.h b/kernel/x86.h
index 9d1ba93..919879a 100644
--- a/kernel/x86.h
+++ b/kernel/x86.h
@@ -1,13 +1,9 @@
#ifndef FOOLOS_X86_H
#define FOOLOS_X86_H
-#include "lib/int/stdint.h"
+#include <stdint.h>
-// todo: cli/sti??
// http://wiki.osdev.org/Interrupt_Service_Routines
-// Black Magic: Strongly Discouraged!
-#define X86_IRQ_BEGIN asm("\ncli\npusha");
-#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\nmov $0x20, %al\noutb %al,$0xa0\npopa\nleave\nsti\niret");
void sleep(int i); // TODO : Real sleep!
@@ -21,11 +17,13 @@ void x86_set_pdbr(uint32_t addr);
void x86_paging_enable();
void x86_flush_tlb(uint32_t addr);
void x86_int_enable();
+void x86_int_disable();
uint32_t x86_get_cr0();
uint32_t x86_get_cr1();
uint32_t x86_get_cr2();
uint32_t x86_get_cr3();
uint32_t x86_get_cr4();
uint8_t x86_xchg(uint8_t *addr, uint8_t val);
+void sleep(int i);
#endif