diff --git a/iso/boot/kernel.elf b/iso/boot/kernel.elf index 3d9bb72..8f6b396 100755 Binary files a/iso/boot/kernel.elf and b/iso/boot/kernel.elf differ diff --git a/makefile b/makefile index b236094..e3153ed 100644 --- a/makefile +++ b/makefile @@ -8,10 +8,11 @@ SRC_DIR = src KERNEL_DIR = $(SRC_DIR)/kernel LIBC_DIR = $(SRC_DIR)/libc PROGRAMS_DIR = $(SRC_DIR)/programs +DRIVERS_DIR = $(SRC_DIR)/drivers OBJ_DIR = build -C_SOURCES = $(wildcard $(KERNEL_DIR)/*.c) $(wildcard $(LIBC_DIR)/*.c) $(wildcard $(PROGRAMS_DIR)/*.c) -ASM_SOURCES = $(wildcard $(KERNEL_DIR)/*.s) $(wildcard $(LIBC_DIR)/*.s) $(wildcard $(PROGRAMS_DIR)/*.s) +C_SOURCES = $(wildcard $(KERNEL_DIR)/*.c) $(wildcard $(LIBC_DIR)/*.c) $(wildcard $(PROGRAMS_DIR)/*.c) $(wildcard $(DRIVERS_DIR)/*.c) +ASM_SOURCES = $(wildcard $(KERNEL_DIR)/*.s) $(wildcard $(LIBC_DIR)/*.s) $(wildcard $(PROGRAMS_DIR)/*.s) $(wildcard $(DRIVERS_DIR)/*.s) OBJECTS = $(patsubst $(SRC_DIR)/%, $(OBJ_DIR)/%, $(C_SOURCES:.c=.o) $(ASM_SOURCES:.s=.o)) @@ -19,7 +20,7 @@ all: $(OBJ_DIR) kernel.elf $(OBJ_DIR): mkdir -p $(OBJ_DIR) - mkdir -p $(OBJ_DIR)/kernel $(OBJ_DIR)/libc $(OBJ_DIR)/programs + mkdir -p $(OBJ_DIR)/kernel $(OBJ_DIR)/libc $(OBJ_DIR)/programs $(OBJ_DIR)/drivers kernel.elf: $(OBJECTS) ld $(LDFLAGS) $(OBJECTS) -o kernel.elf diff --git a/src/kernel/kb.c b/src/drivers/kb.c similarity index 98% rename from src/kernel/kb.c rename to src/drivers/kb.c index 77d3c31..11fa132 100644 --- a/src/kernel/kb.c +++ b/src/drivers/kb.c @@ -1,6 +1,6 @@ -#include "io.h" +#include "../kernel/io.h" #include "../libc/stdio.h" -#include "system.h" +#include "../kernel/system.h" #define KEYBOARD_BUFFER_SIZE 256 diff --git a/src/kernel/serial.c b/src/drivers/serial.c similarity index 97% rename from src/kernel/serial.c rename to src/drivers/serial.c index 6fe07db..8e5861b 100644 --- a/src/kernel/serial.c +++ b/src/drivers/serial.c @@ -1,4 +1,4 @@ -#include "io.h" +#include "../kernel/io.h" #include "serial.h" int init_serial() diff --git a/src/kernel/serial.h b/src/drivers/serial.h similarity index 100% rename from src/kernel/serial.h rename to src/drivers/serial.h diff --git a/src/kernel/timer.c b/src/drivers/timer.c similarity index 90% rename from src/kernel/timer.c rename to src/drivers/timer.c index 5e28741..d10744f 100644 --- a/src/kernel/timer.c +++ b/src/drivers/timer.c @@ -1,4 +1,4 @@ -#include "system.h" +#include "../kernel/system.h" #include "../libc/stdio.h" volatile unsigned long global_ticks = 0; diff --git a/src/kernel/kmain.c b/src/kernel/kmain.c index 5ca323b..6028000 100644 --- a/src/kernel/kmain.c +++ b/src/kernel/kmain.c @@ -1,5 +1,5 @@ #include "../libc/stdio.h" -#include "serial.h" +#include "../drivers/serial.h" #include "gdt.h" #include "idt.h" #include "system.h" @@ -33,7 +33,7 @@ int kmain(int retvalue) clear(); colorputs(ascii_title, 10); - colorputs(" by @xamidev - star the repo for a cookie!\n\n", 11); + colorputs(" by @xamidev - star the repo for a cookie!\n\n", 14); // TODO: Grub modules to load programs