summaryrefslogtreecommitdiff
path: root/kernel/src/cpu
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/src/cpu
parent0162997df4ae7769bd4fc055b2c03b473846d1f5 (diff)
stdio.h; gcc $(WARNINGS)
Diffstat (limited to 'kernel/src/cpu')
-rw-r--r--kernel/src/cpu/idt.c3
-rw-r--r--kernel/src/cpu/io.c1
-rw-r--r--kernel/src/cpu/irq.c80
3 files changed, 49 insertions, 35 deletions
diff --git a/kernel/src/cpu/idt.c b/kernel/src/cpu/idt.c
index bf285b7..e900c77 100644
--- a/kernel/src/cpu/idt.c
+++ b/kernel/src/cpu/idt.c
@@ -1,4 +1,5 @@
#include <idt.h>
+
#include <irq.h>
#include <pic.h>
@@ -14,7 +15,7 @@ void add_to_idt(uint16_t num, uint64_t offset, uint16_t selector, uint8_t type)
{
idt_table[num].offset_1 = offset & 0xFFFF;
idt_table[num].offset_2 = (offset >> 16) & 0xFFFF;
- idt_table[num].offset_3 = offset >> 32;
+ idt_table[num].offset_3 = (uint32_t)(offset >> 32);
idt_table[num].selector = selector;
idt_table[num].type_attributes = type;
idt_table[num].ist = 0;
diff --git a/kernel/src/cpu/io.c b/kernel/src/cpu/io.c
index a73c5b1..84298cb 100644
--- a/kernel/src/cpu/io.c
+++ b/kernel/src/cpu/io.c
@@ -1,4 +1,5 @@
#include <types.h>
+#include <io.h>
uint8_t inb(uint32_t port)
{
diff --git a/kernel/src/cpu/irq.c b/kernel/src/cpu/irq.c
index c81cc98..be0d2a2 100644
--- a/kernel/src/cpu/irq.c
+++ b/kernel/src/cpu/irq.c
@@ -1,11 +1,13 @@
#include <types.h>
+#include <irq_handler.h>
#include <pic.h>
#include <io.h>
#include <keyboard.h>
-#include <graphics.h>
+#include <paging.h>
+#include <libk/stdio.h>
-char* exception_name[] = {
+const char* exception_name[] = {
"Divide-by-zero Error",
"Debug",
"Non-maskable Interrupt",
@@ -42,162 +44,172 @@ char* exception_name[] = {
void isr0_handler(void)
{
- fb_draw_string(fb, exception_name[0], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[0]);
}
void isr1_handler(void)
{
- fb_draw_string(fb, exception_name[1], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[1]);
}
void isr2_handler(void)
{
- fb_draw_string(fb, exception_name[2], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[2]);
}
void isr3_handler(void)
{
- fb_draw_string(fb, exception_name[3], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[3]);
}
void isr4_handler(void)
{
- fb_draw_string(fb, exception_name[4], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[4]);
}
void isr5_handler(void)
{
- fb_draw_string(fb, exception_name[5], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[5]);
}
void isr6_handler(void)
{
- fb_draw_string(fb, exception_name[6], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[6]);
}
void isr7_handler(void)
{
- fb_draw_string(fb, exception_name[7], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[7]);
}
void isr8_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[8], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[8]);
+ printf("error: %d\n", error);
}
void isr9_handler(void)
{
- fb_draw_string(fb, exception_name[9], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[9]);
}
void isr10_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[10], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[10]);
+ printf("error: %d\n", error);
}
void isr11_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[11], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[11]);
+ printf("error: %d\n", error);
}
void isr12_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[12], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[12]);
+ printf("error: %d\n", error);
}
void isr13_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[13], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[13]);
+ printf("error: %d\n", error);
}
void isr14_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[14], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[14]);
+ printf("error: %d\n", error);
}
void isr15_handler(void)
{
- fb_draw_string(fb, exception_name[15], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[15]);
}
void isr16_handler(void)
{
- fb_draw_string(fb, exception_name[16], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[16]);
}
void isr17_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[17], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[17]);
+ printf("error: %d\n", error);
}
void isr18_handler(void)
{
- fb_draw_string(fb, exception_name[18], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[18]);
}
void isr19_handler(void)
{
- fb_draw_string(fb, exception_name[19], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[19]);
}
void isr20_handler(void)
{
- fb_draw_string(fb, exception_name[20], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[20]);
}
void isr21_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[21], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[21]);
+ printf("error: %d\n", error);
}
void isr22_handler(void)
{
- fb_draw_string(fb, exception_name[22], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[22]);
}
void isr23_handler(void)
{
- fb_draw_string(fb, exception_name[23], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[23]);
}
void isr24_handler(void)
{
- fb_draw_string(fb, exception_name[24], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[24]);
}
void isr25_handler(void)
{
- fb_draw_string(fb, exception_name[25], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[25]);
}
void isr26_handler(void)
{
- fb_draw_string(fb, exception_name[26], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[26]);
}
void isr27_handler(void)
{
- fb_draw_string(fb, exception_name[27], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[27]);
}
void isr28_handler(void)
{
- fb_draw_string(fb, exception_name[28], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[28]);
}
void isr29_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[29], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[29]);
+ printf("error: %d\n", error);
}
void isr30_handler(uint64_t error)
{
- fb_draw_string(fb, exception_name[30], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[30]);
+ printf("error: %d\n", error);
}
void isr31_handler(void)
{
- fb_draw_string(fb, exception_name[31], 0, 0, WHITE, BLACK);
+ printf("%s\n", exception_name[31]);
}
void irq0_handler(void)