summaryrefslogtreecommitdiff
path: root/kernel/include
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
-rw-r--r--kernel/include/drivers/ps2kb.h (renamed from kernel/src/drivers/ps2kb.h)0
-rw-r--r--kernel/include/drivers/ps2mouse.h (renamed from kernel/src/drivers/ps2mouse.h)0
-rw-r--r--kernel/include/drivers/vga.h32
-rw-r--r--kernel/include/memory.h6
-rw-r--r--kernel/include/print.h14
-rw-r--r--kernel/include/sys.h10
-rw-r--r--kernel/include/term.h (renamed from kernel/src/tty/term.h)13
-rw-r--r--kernel/include/time.h23
16 files changed, 102 insertions, 31 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);
diff --git a/kernel/src/drivers/ps2kb.h b/kernel/include/drivers/ps2kb.h
index 1aaefb2..1aaefb2 100644
--- a/kernel/src/drivers/ps2kb.h
+++ b/kernel/include/drivers/ps2kb.h
diff --git a/kernel/src/drivers/ps2mouse.h b/kernel/include/drivers/ps2mouse.h
index 9cd4818..9cd4818 100644
--- a/kernel/src/drivers/ps2mouse.h
+++ b/kernel/include/drivers/ps2mouse.h
diff --git a/kernel/include/drivers/vga.h b/kernel/include/drivers/vga.h
new file mode 100644
index 0000000..68e8690
--- /dev/null
+++ b/kernel/include/drivers/vga.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <stdbool.h>
+#include <stdint.h>
+enum vga_color {
+ VGA_BLACK = 0,
+ VGA_BLUE = 1,
+ VGA_GREEN = 2,
+ VGA_CYAN = 3,
+ VGA_RED = 4,
+ VGA_MAGENTA = 5,
+ VGA_BROWN = 6,
+ VGA_LIGHT_GREY = 7,
+ VGA_DARK_GREY = 8,
+ VGA_LIGHT_BLUE = 9,
+ VGA_LIGHT_GREEN = 10,
+ VGA_LIGHT_CYAN = 11,
+ VGA_LIGHT_RED = 12,
+ VGA_LIGHT_MAGENTA = 13,
+ VGA_LIGHT_BROWN = 14,
+ VGA_WHITE = 15,
+};
+
+#define VGA_TEXT_W 80
+#define VGA_TEXT_H 25
+
+void vgatext_write_char(char c, enum vga_color color, uint8_t x, uint8_t y);
+void vgatext_write_data(uint16_t data, uint16_t index);
+void vgatext_write_buf(const uint16_t *buffer);
+void vgatext_cur_mov(uint8_t x, uint8_t y);
+void vgatext_cur_resize(uint8_t start, uint8_t end);
+void vgatext_cur_visible(bool visible);
diff --git a/kernel/include/memory.h b/kernel/include/memory.h
new file mode 100644
index 0000000..07a55c0
--- /dev/null
+++ b/kernel/include/memory.h
@@ -0,0 +1,6 @@
+#pragma once
+
+extern int memory_lock(void);
+extern int memory_unlock(void);
+extern void *memory_alloc_page(int);
+extern int memory_free_page(void* ,int);
diff --git a/kernel/include/print.h b/kernel/include/print.h
index dc7f862..7dbd298 100644
--- a/kernel/include/print.h
+++ b/kernel/include/print.h
@@ -7,17 +7,3 @@ extern void putchar(int c);
extern void puts(const char* s);
extern void printk(const char *restrict format, ...);
extern void vprintk(const char *restrict format, va_list ap);
-
-#ifdef KERNEL_LOG
-#define debugk(msg, ...) _debugk_impl(msg, ## __VA_ARGS__)
-#define succek(msg, ...) _succek_impl(msg, ## __VA_ARGS__)
-#define errork(msg, ...) _errork_impl(msg, ## __VA_ARGS__)
-#else
-#define debugk(msg, ...)
-#define succek(msg, ...)
-#define errork(msg, ...)
-#endif
-
-extern void _debugk_impl(char* msg, ...);
-extern void _succek_impl(char* msg, ...);
-extern void _errork_impl(char* msg, ...);
diff --git a/kernel/include/sys.h b/kernel/include/sys.h
new file mode 100644
index 0000000..003f85c
--- /dev/null
+++ b/kernel/include/sys.h
@@ -0,0 +1,10 @@
+#pragma once
+
+extern void arch_init(void *boot_info);
+extern void arch_update(void);
+extern void arch_halt(void);
+extern void arch_wait_io(void);
+extern void arch_wait_int(void);
+extern void arch_disable_int(void);
+extern void arch_enable_int(void);
+extern void arch_poweroff(void);
diff --git a/kernel/src/tty/term.h b/kernel/include/term.h
index ceda255..8a8f1ef 100644
--- a/kernel/src/tty/term.h
+++ b/kernel/include/term.h
@@ -2,18 +2,15 @@
#include <stdint.h>
#include <stddef.h>
+#include <drivers/vga.h>
-#include "color.h"
-
-#define TERM_W 80
-#define TERM_H 25
+#define TERM_W VGA_TEXT_W
+#define TERM_H VGA_TEXT_H
void term_init(void);
-
void term_reset(void);
-void term_setfg(enum VGAColor color);
-void term_setbg(enum VGAColor color);
-
+void term_setfg(enum vga_color color);
+void term_setbg(enum vga_color color);
void term_clear(void);
void term_scroll(int lines);
void term_setpos(uint8_t x, uint8_t y);
diff --git a/kernel/include/time.h b/kernel/include/time.h
index 783d96f..2e86a69 100644
--- a/kernel/include/time.h
+++ b/kernel/include/time.h
@@ -16,10 +16,25 @@ struct Time {
int leap; /// If year is a leap year (True == 1)
};
-extern void rtc_update(void);
-extern void rtc_set_timezone(int offset);
-extern struct Time *rtc_utctime(void);
-extern struct Time *rtc_localtime(void);
+enum Timezone {
+ UTC = 0,
+ EST = -4
+};
+
+/**
+ * Sets the current timezone
+ */
+extern void set_timezone(enum Timezone tz);
+
+/**
+ * Returns current time in UTC
+ */
+extern struct Time get_utctime(void);
+
+/**
+ * Returns current time from current Timezone
+ */
+extern struct Time get_localtime(void);
/**
* Converts the time into a string format