diff options
Diffstat (limited to 'kernel/x86.h')
| -rw-r--r-- | kernel/x86.h | 8 |
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 |
