From e11298e56be560de64bbccfe74fef7ff85c623d1 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Mon, 8 Aug 2022 21:25:55 +0200 Subject: stdio.h; gcc $(WARNINGS) --- kernel/include/graphics.h | 16 ++++++------- kernel/include/irq_handler.h | 56 ++++++++++++++++++++++++++++++++++++++++++++ kernel/include/keyboard.h | 3 --- kernel/include/libk/stdio.h | 8 +++++++ kernel/include/paging.h | 3 +++ 5 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 kernel/include/irq_handler.h create mode 100644 kernel/include/libk/stdio.h (limited to 'kernel/include') 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 + +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 + +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 + void init_paging(void); +void page_fault(uint64_t error); #endif -- cgit v1.2.3