summaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2022-08-08 21:25:55 +0200
committerAleksa Vuckovic <aleksav013@gmail.com>2022-08-08 21:26:37 +0200
commite11298e56be560de64bbccfe74fef7ff85c623d1 (patch)
treed8323a711d0887bd1ef0c55025d93a9b551cc7aa /kernel/include
parent0162997df4ae7769bd4fc055b2c03b473846d1f5 (diff)
stdio.h; gcc $(WARNINGS)
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/graphics.h16
-rw-r--r--kernel/include/irq_handler.h56
-rw-r--r--kernel/include/keyboard.h3
-rw-r--r--kernel/include/libk/stdio.h8
-rw-r--r--kernel/include/paging.h3
5 files changed, 75 insertions, 11 deletions
diff --git a/kernel/include/graphics.h b/kernel/include/graphics.h
index 2714f62..6876d3a 100644
--- a/kernel/include/graphics.h
+++ b/kernel/include/graphics.h
@@ -13,7 +13,7 @@ struct fb_t {
} __attribute__((packed, aligned(8)));
typedef struct fb_t fb_t;
-extern fb_t fb;
+extern fb_t main_fb;
#define RED 0x00ff0000
#define GREEN 0x0000ff00
@@ -23,12 +23,12 @@ extern fb_t fb;
#define WHITE 0x00ffffff
#define BLACK 0x00000000
-uint64_t* pixel_offset(fb_t fb, uint32_t x, uint32_t y);
-void fb_draw_pixel(fb_t fb, uint32_t x, uint32_t y, uint32_t col);
-void fb_draw_line_low(fb_t fb, uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint32_t col);
-void fb_draw_line_high(fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t col);
-void fb_draw_line(fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t col);
-void fb_draw_character(fb_t fb, char c, uint32_t x, uint32_t y, uint32_t char_col, uint32_t bg_col);
-void fb_draw_string(fb_t fb, const char* str, uint32_t x, uint32_t y, uint32_t char_col, uint32_t bg_col);
+uint64_t* pixel_offset(fb_t fb, int32_t x, int32_t y);
+void fb_draw_pixel(fb_t fb, int32_t x, int32_t y, uint32_t col);
+void fb_draw_line_low(fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col);
+void fb_draw_line_high(fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col);
+void fb_draw_line(fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col);
+void fb_draw_character(fb_t fb, char c, int32_t x, int32_t y, uint32_t char_col, uint32_t bg_col);
+void fb_draw_string(fb_t fb, const char* str, int32_t x, int32_t y, uint32_t char_col, uint32_t bg_col);
#endif
diff --git a/kernel/include/irq_handler.h b/kernel/include/irq_handler.h
new file mode 100644
index 0000000..f7c4f00
--- /dev/null
+++ b/kernel/include/irq_handler.h
@@ -0,0 +1,56 @@
+#ifndef IRQ_HANDLER_H
+#define IRQ_HANDLER_H
+
+#include <types.h>
+
+void isr0_handler(void);
+void isr1_handler(void);
+void isr2_handler(void);
+void isr3_handler(void);
+void isr4_handler(void);
+void isr5_handler(void);
+void isr6_handler(void);
+void isr7_handler(void);
+void isr8_handler(uint64_t error);
+void isr9_handler(void);
+void isr10_handler(uint64_t error);
+void isr11_handler(uint64_t error);
+void isr12_handler(uint64_t error);
+void isr13_handler(uint64_t error);
+void isr14_handler(uint64_t error);
+void isr15_handler(void);
+void isr16_handler(void);
+void isr17_handler(uint64_t error);
+void isr18_handler(void);
+void isr19_handler(void);
+void isr20_handler(void);
+void isr21_handler(uint64_t error);
+void isr22_handler(void);
+void isr23_handler(void);
+void isr24_handler(void);
+void isr25_handler(void);
+void isr26_handler(void);
+void isr27_handler(void);
+void isr28_handler(void);
+void isr29_handler(uint64_t error);
+void isr30_handler(uint64_t error);
+void isr31_handler(void);
+
+void irq0_handler(void);
+void irq1_handler(void);
+void irq2_handler(void);
+void irq3_handler(void);
+void irq4_handler(void);
+void irq5_handler(void);
+void irq6_handler(void);
+void irq7_handler(void);
+void irq8_handler(void);
+void irq9_handler(void);
+void irq10_handler(void);
+void irq11_handler(void);
+void irq12_handler(void);
+void irq13_handler(void);
+void irq14_handler(void);
+void irq15_handler(void);
+
+#endif
diff --git a/kernel/include/keyboard.h b/kernel/include/keyboard.h
index 5d7acd0..6d395f3 100644
--- a/kernel/include/keyboard.h
+++ b/kernel/include/keyboard.h
@@ -8,9 +8,6 @@
uint64_t stoi(const char *s);
void itos(uint64_t num, char* s);
-void print_char(char c);
-void print_string(char* s);
void keyboard_handler(void);
-void print_int(uint64_t num);
#endif
diff --git a/kernel/include/libk/stdio.h b/kernel/include/libk/stdio.h
new file mode 100644
index 0000000..6799f11
--- /dev/null
+++ b/kernel/include/libk/stdio.h
@@ -0,0 +1,8 @@
+#ifndef STDIO_H
+#define STDIO_H
+
+#include <types.h>
+
+void printf(const char *s, ...);
+
+#endif
diff --git a/kernel/include/paging.h b/kernel/include/paging.h
index 79d9dea..a61d34d 100644
--- a/kernel/include/paging.h
+++ b/kernel/include/paging.h
@@ -1,6 +1,9 @@
#ifndef PAGING_H
#define PAGING_H
+#include <types.h>
+
void init_paging(void);
+void page_fault(uint64_t error);
#endif