summaryrefslogtreecommitdiff
path: root/kernel/include/arch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--kernel/include/arch/i686/acpi.h (renamed from kernel/src/acpi/acpi.h)2
-rw-r--r--kernel/include/arch/i686/asm.h13
-rw-r--r--kernel/include/arch/i686/drivers/ps2ctrl.h (renamed from kernel/src/drivers/ps2ctrl.h)0
-rw-r--r--kernel/include/arch/i686/drivers/rtc.h7
-rw-r--r--kernel/include/arch/i686/idt.h6
-rw-r--r--kernel/include/arch/i686/mboot.h (renamed from kernel/src/boot/tag.h)5
-rw-r--r--kernel/include/arch/i686/memory.h (renamed from kernel/src/memory/memory.h)0
-rw-r--r--kernel/include/arch/i686/pic.h (renamed from kernel/src/interrupt/pic.h)2
8 files changed, 30 insertions, 5 deletions
diff --git a/kernel/src/acpi/acpi.h b/kernel/include/arch/i686/acpi.h
index 889497e..bb35010 100644
--- a/kernel/src/acpi/acpi.h
+++ b/kernel/include/arch/i686/acpi.h
@@ -102,5 +102,5 @@ struct FixedACPIDescriptionTable {
struct GenericAddressStructure x_gpe1_block;
};
-void acpi_init(void);
+void acpi_init(void *rsdp);
void acpi_poweroff(void);
diff --git a/kernel/include/arch/i686/asm.h b/kernel/include/arch/i686/asm.h
new file mode 100644
index 0000000..0e2d9db
--- /dev/null
+++ b/kernel/include/arch/i686/asm.h
@@ -0,0 +1,13 @@
+#include <stdint.h>
+
+extern uint8_t inb(uint16_t port);
+extern void outb(uint16_t port, uint8_t val);
+extern uint16_t inw(uint16_t port);
+extern void outw(uint16_t port, uint16_t val);
+extern uint32_t inl(uint16_t port);
+extern void outl(uint16_t port, uint32_t val);
+extern void io_wait(void);
+extern void int_enable(void);
+extern void int_disable(void);
+extern void int_wait(void);
+extern void halt(void);
diff --git a/kernel/src/drivers/ps2ctrl.h b/kernel/include/arch/i686/drivers/ps2ctrl.h
index a674c57..a674c57 100644
--- a/kernel/src/drivers/ps2ctrl.h
+++ b/kernel/include/arch/i686/drivers/ps2ctrl.h
diff --git a/kernel/include/arch/i686/drivers/rtc.h b/kernel/include/arch/i686/drivers/rtc.h
new file mode 100644
index 0000000..29dbf8f
--- /dev/null
+++ b/kernel/include/arch/i686/drivers/rtc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include <time.h>
+
+extern void rtc_update(void);
+extern struct Time rtc_utctime(void);
+extern struct Time rtc_localtime(enum Timezone tz);
diff --git a/kernel/include/arch/i686/idt.h b/kernel/include/arch/i686/idt.h
new file mode 100644
index 0000000..8dcee02
--- /dev/null
+++ b/kernel/include/arch/i686/idt.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#define IDT_SIZE 256
+#define IDT_INTERRUPTS 256
+
+void idt_init(void);
diff --git a/kernel/src/boot/tag.h b/kernel/include/arch/i686/mboot.h
index a81e443..394071f 100644
--- a/kernel/src/boot/tag.h
+++ b/kernel/include/arch/i686/mboot.h
@@ -2,9 +2,8 @@
#include <stdbool.h>
#include <stdint.h>
-
-#include "acpi/acpi.h"
-#include "memory/memory.h"
+#include <arch/i686/mboot.h>
+#include <arch/i686/memory.h>
#define CMDLINE_MAX 32
diff --git a/kernel/src/memory/memory.h b/kernel/include/arch/i686/memory.h
index 5d99025..5d99025 100644
--- a/kernel/src/memory/memory.h
+++ b/kernel/include/arch/i686/memory.h
diff --git a/kernel/src/interrupt/pic.h b/kernel/include/arch/i686/pic.h
index a87420d..593a33a 100644
--- a/kernel/src/interrupt/pic.h
+++ b/kernel/include/arch/i686/pic.h
@@ -4,7 +4,7 @@
#define PIC_REMAP_OFFSET 0x20
-void pic_remap(uint8_t offset);
+void pic_remap(void);
void pic_mask(int irq);
void pic_unmask(int irq);
void pic_disable(void);