diff options
Diffstat (limited to 'kernel/src/arch/i686/arch.c')
-rw-r--r-- | kernel/src/arch/i686/arch.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/kernel/src/arch/i686/arch.c b/kernel/src/arch/i686/arch.c new file mode 100644 index 0000000..5cabdf8 --- /dev/null +++ b/kernel/src/arch/i686/arch.c @@ -0,0 +1,50 @@ +#include "print.h" +#include <arch.h> +#include <arch/i686/asm.h> +#include <arch/i686/acpi.h> +#include <arch/i686/drivers/rtc.h> +#include <arch/i686/idt.h> +#include <arch/i686/pic.h> +#include <arch/i686/mboot.h> +#include <arch/i686/drivers/ps2ctrl.h> + +void arch_init(void *boot_info) { + rtc_update(); + + idt_init(); + pic_remap(); + + load_boot_info(boot_info); + acpi_init(); + // memory_init(); + + ps2ctrl_init(); +} + +extern void arch_update(void) { + rtc_update(); +} + +void arch_halt(void) { + halt(); +} + +void arch_wait_io(void) { + io_wait(); +} + +void arch_disable_int(void) { + int_disable(); +} + +void arch_enable_int(void) { + int_enable(); +} + +extern void arch_wait_int(void) { + int_wait(); +} + +void arch_poweroff(void) { + acpi_poweroff(); +} |