diff options
author | Danny Holman <dholman@gymli.org> | 2025-01-12 01:17:36 -0600 |
---|---|---|
committer | Danny Holman <dholman@gymli.org> | 2025-01-12 01:19:11 -0600 |
commit | 95cd78840f0891e60f5ebecc8a8eb4fbaf3c2ebf (patch) | |
tree | c8c35347b50477929727fa5be9f5d0f55cbe18fd /include/kernel | |
parent | 5e166f3042a8e7b3031aae4da7006f80caa53ecc (diff) |
PROJECT RESTRUCTURING
Move the entire kernel into its own directory. Create new directories
for system commands, libraries and other required essentials for a
complete Unix-like operating system.
Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'include/kernel')
-rw-r--r-- | include/kernel/input/keyboard.h | 32 | ||||
-rw-r--r-- | include/kernel/interrupt.h | 13 | ||||
-rw-r--r-- | include/kernel/panic.h | 10 | ||||
-rw-r--r-- | include/kernel/sched.h | 20 | ||||
-rw-r--r-- | include/kernel/serial.h | 21 | ||||
-rw-r--r-- | include/kernel/video/framebuffer.h | 23 | ||||
-rw-r--r-- | include/kernel/video/vga.h | 33 |
7 files changed, 0 insertions, 152 deletions
diff --git a/include/kernel/input/keyboard.h b/include/kernel/input/keyboard.h deleted file mode 100644 index a0d1470..0000000 --- a/include/kernel/input/keyboard.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef KERNEL_KEYBOARD_H -#define KERNEL_KEYBOARD_H - -#include <kernel/asm.h> - -#define KB_STAT 0x64 -#define KB_DATA 0x60 - -#define KB_DIB 0x01 -#define KB_SHIFT (1<<0) -#define KB_CTL (1<<1) -#define KB_ALT (1<<2) -#define KB_CPSLK (1<<3) -#define KB_NUMLK (1<<4) -#define KB_SCLLK (1<<5) -#define KB_E0ESC (1<<6) - -#define KB_HOME 0xE0 -#define KB_END 0xE1 -#define KB_UP 0xE2 -#define KB_DOWN 0xE3 -#define KB_LEFT 0xE4 -#define KB_RGHT 0xE5 -#define KB_PGUP 0xE6 -#define KB_PGDN 0xE7 -#define KB_INS 0xE8 -#define KB_DEL 0xE9 - -char keyboard_getchar(void); -void keyboard_handler(struct isr_frame *frame); - -#endif diff --git a/include/kernel/interrupt.h b/include/kernel/interrupt.h deleted file mode 100644 index b707fe7..0000000 --- a/include/kernel/interrupt.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef KERNEL_INTERRUPT_H -#define KERNEL_INTERRUPT_H - -#include <kernel/asm.h> -#include <stdint.h> -#include <stddef.h> - -void register_isr_handler(unsigned int isr, void (*handler)(struct isr_frame *frame)); -void clear_isr_handler(unsigned int isr); - -void isr_dispatch(struct isr_frame frame); - -#endif diff --git a/include/kernel/panic.h b/include/kernel/panic.h deleted file mode 100644 index adfcd71..0000000 --- a/include/kernel/panic.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef KERNEL_PANIC_H -#define KERNEL_PANIC_H - -#include <kernel/asm.h> -#include <stdint.h> -#include <stddef.h> - -void panic(const char *str); - -#endif diff --git a/include/kernel/sched.h b/include/kernel/sched.h deleted file mode 100644 index 00a5d95..0000000 --- a/include/kernel/sched.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef KERNEL_SCHED_H -#define KERNEL_SCHED_H - -#include <kernel/asm.h> -#include <kernel/kthread.h> -#include <stdint.h> - -void sched_init(void); -void schedule_next(void); -void schedule_thread(struct kthread *thread); - -void block_thread(struct kthread *thread); -void unblock_thread(struct kthread *thread); - -void sched_lock(void); -void sched_unlock(void); - -void switch_thread(struct kthread *old, struct kthread *new); - -#endif diff --git a/include/kernel/serial.h b/include/kernel/serial.h deleted file mode 100644 index 4767722..0000000 --- a/include/kernel/serial.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef KERNEL_SERIAL_H -#define KERNEL_SERIAL_H - -#include <stdint.h> -#include <stddef.h> - -int serial_init(void); -void serial_putchar(char c); -char serial_getchar(void); - -static inline void serial_write(const char *data, size_t size) { - for (size_t i = 0; i < size; i++) - serial_putchar(data[i]); -} - -static inline void serial_read(char *data, size_t size) { - for (size_t i = 0; i < size; i++) - data[i] = serial_getchar(); -} - -#endif diff --git a/include/kernel/video/framebuffer.h b/include/kernel/video/framebuffer.h deleted file mode 100644 index 500e71b..0000000 --- a/include/kernel/video/framebuffer.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef KERNEL_FRAMEBUFFER_H -#define KERNEL_FRAMEBUFFER_H - -#include <stddef.h> -#include <stdint.h> - -#define VGA_WIDTH 80 -#define VGA_HEIGHT 25 - -static uint16_t *const VGA_MEMORY = (uint16_t*)0xC03FF000; - -void fb_init(void); -void fb_setcolor(uint8_t color); -void fb_putchar(char c); -void fb_setpos(int x, int y); -void fb_offsetpos(int dx, int dy); - -static inline void fb_write(const char *data, size_t size) { - for (size_t i = 0; i < size; i++) - fb_putchar(data[i]); -} - -#endif diff --git a/include/kernel/video/vga.h b/include/kernel/video/vga.h deleted file mode 100644 index b639a3c..0000000 --- a/include/kernel/video/vga.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef KERNEL_VGA_H -#define KERNEL_VGA_H - -#include <stdint.h> - -enum vga_color { - VGA_COLOR_BLACK = 0, - VGA_COLOR_BLUE = 1, - VGA_COLOR_GREEN = 2, - VGA_COLOR_CYAN = 3, - VGA_COLOR_RED = 4, - VGA_COLOR_MAGENTA = 5, - VGA_COLOR_BROWN = 6, - VGA_COLOR_LIGHT_GREY = 7, - VGA_COLOR_DARK_GREY = 8, - VGA_COLOR_LIGHT_BLUE = 9, - VGA_COLOR_LIGHT_GREEN = 10, - VGA_COLOR_LIGHT_CYAN = 11, - VGA_COLOR_LIGHT_RED = 12, - VGA_COLOR_LIGHT_MAGENTA = 13, - VGA_COLOR_LIGHT_BROWN = 14, - VGA_COLOR_LIGHT_WHITE = 15, -}; - -static inline uint8_t vga_entry_color(enum vga_color fg, enum vga_color bg) { - return fg | bg << 4; -} - -static inline uint16_t vga_entry(unsigned char uc, uint8_t color) { - return (uint16_t)uc | (uint16_t)color << 8; -} - -#endif |