diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-08 21:25:55 +0200 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-08 21:26:37 +0200 |
| commit | e11298e56be560de64bbccfe74fef7ff85c623d1 (patch) | |
| tree | d8323a711d0887bd1ef0c55025d93a9b551cc7aa /kernel/include | |
| parent | 0162997df4ae7769bd4fc055b2c03b473846d1f5 (diff) | |
stdio.h; gcc $(WARNINGS)
Diffstat (limited to 'kernel/include')
| -rw-r--r-- | kernel/include/graphics.h | 16 | ||||
| -rw-r--r-- | kernel/include/irq_handler.h | 56 | ||||
| -rw-r--r-- | kernel/include/keyboard.h | 3 | ||||
| -rw-r--r-- | kernel/include/libk/stdio.h | 8 | ||||
| -rw-r--r-- | kernel/include/paging.h | 3 |
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 |
