From c6098f2d1ff3d60e9976e1e96dc1885d5e072337 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sat, 16 Apr 2022 21:58:37 -0500 Subject: [PATCH] Separate kernel code from test code Eventually I want the kernel to be loaded from the SD card as well, but it still needs to separate from user programs. At some point there should be a folder just for the BIOS, which should read from the boot block of the SD card and start executing, and thats it. --- sw/{ => kernel}/Makefile | 4 ++-- sw/{ => kernel}/boot.s | 0 sw/{ => kernel}/devices/board_io.h | 0 sw/{ => kernel}/devices/board_io.s | 0 sw/{ => kernel}/devices/conio.s | 0 sw/{ => kernel}/devices/interrupt.h | 0 sw/{ => kernel}/devices/interrupt.s | 0 sw/{ => kernel}/devices/io.inc65 | 0 sw/{ => kernel}/devices/mapper.h | 0 sw/{ => kernel}/devices/mapper.s | 0 sw/{ => kernel}/devices/sd_card.c | 0 sw/{ => kernel}/devices/sd_card.h | 0 sw/{ => kernel}/devices/sd_card_asm.s | 0 sw/{ => kernel}/devices/uart.h | 0 sw/{ => kernel}/devices/uart.s | 0 sw/{ => kernel}/exec.c | 0 sw/{ => kernel}/exec.h | 0 sw/{ => kernel}/filesystem/fat.c | 0 sw/{ => kernel}/filesystem/fat.h | 0 sw/{ => kernel}/filesystem/o65.c | 0 sw/{ => kernel}/filesystem/o65.h | 0 sw/{ => kernel}/irq.c | 0 sw/{ => kernel}/link.ld | 0 sw/{ => kernel}/main.c | 0 sw/{ => kernel}/tests/test_main.c | 6 +++--- sw/{ => kernel}/vectors.s | 0 26 files changed, 5 insertions(+), 5 deletions(-) rename sw/{ => kernel}/Makefile (89%) rename sw/{ => kernel}/boot.s (100%) rename sw/{ => kernel}/devices/board_io.h (100%) rename sw/{ => kernel}/devices/board_io.s (100%) rename sw/{ => kernel}/devices/conio.s (100%) rename sw/{ => kernel}/devices/interrupt.h (100%) rename sw/{ => kernel}/devices/interrupt.s (100%) rename sw/{ => kernel}/devices/io.inc65 (100%) rename sw/{ => kernel}/devices/mapper.h (100%) rename sw/{ => kernel}/devices/mapper.s (100%) rename sw/{ => kernel}/devices/sd_card.c (100%) rename sw/{ => kernel}/devices/sd_card.h (100%) rename sw/{ => kernel}/devices/sd_card_asm.s (100%) rename sw/{ => kernel}/devices/uart.h (100%) rename sw/{ => kernel}/devices/uart.s (100%) rename sw/{ => kernel}/exec.c (100%) rename sw/{ => kernel}/exec.h (100%) rename sw/{ => kernel}/filesystem/fat.c (100%) rename sw/{ => kernel}/filesystem/fat.h (100%) rename sw/{ => kernel}/filesystem/o65.c (100%) rename sw/{ => kernel}/filesystem/o65.h (100%) rename sw/{ => kernel}/irq.c (100%) rename sw/{ => kernel}/link.ld (100%) rename sw/{ => kernel}/main.c (100%) rename sw/{ => kernel}/tests/test_main.c (95%) rename sw/{ => kernel}/vectors.s (100%) diff --git a/sw/Makefile b/sw/kernel/Makefile similarity index 89% rename from sw/Makefile rename to sw/kernel/Makefile index 1e984c9..dd043a4 100644 --- a/sw/Makefile +++ b/sw/kernel/Makefile @@ -15,8 +15,7 @@ LISTS=lists TESTS=tests SRCS=$(wildcard *.s) $(wildcard *.c) -SRCS+=$(wildcard filesystem/*.s) $(wildcard filesystem/*.c) -SRCS+=$(wildcard devices/*.s) $(wildcard devices/*.c) +SRCS+=$(filter-out $(wildcard tests/*), $(wildcard **/*.s)) $(filter-out $(wildcard tests/*), $(wildcard **/*.c)) OBJS+=$(patsubst %.s,%.o,$(filter %s,$(SRCS))) OBJS+=$(patsubst %.c,%.o,$(filter %c,$(SRCS))) @@ -47,6 +46,7 @@ $(BIN): $(OBJS) $(CC) $(CFLAGS) -l $(LISTS)/$<.list -c $< -o $@ $(LISTS): + $(info $$SRCS is [${SRCS}]) mkdir -p $(addprefix $(LISTS)/,$(sort $(dir $(SRCS)))) mkdir $(LISTS)/$(sort $(dir $(TEST_SRCS))) diff --git a/sw/boot.s b/sw/kernel/boot.s similarity index 100% rename from sw/boot.s rename to sw/kernel/boot.s diff --git a/sw/devices/board_io.h b/sw/kernel/devices/board_io.h similarity index 100% rename from sw/devices/board_io.h rename to sw/kernel/devices/board_io.h diff --git a/sw/devices/board_io.s b/sw/kernel/devices/board_io.s similarity index 100% rename from sw/devices/board_io.s rename to sw/kernel/devices/board_io.s diff --git a/sw/devices/conio.s b/sw/kernel/devices/conio.s similarity index 100% rename from sw/devices/conio.s rename to sw/kernel/devices/conio.s diff --git a/sw/devices/interrupt.h b/sw/kernel/devices/interrupt.h similarity index 100% rename from sw/devices/interrupt.h rename to sw/kernel/devices/interrupt.h diff --git a/sw/devices/interrupt.s b/sw/kernel/devices/interrupt.s similarity index 100% rename from sw/devices/interrupt.s rename to sw/kernel/devices/interrupt.s diff --git a/sw/devices/io.inc65 b/sw/kernel/devices/io.inc65 similarity index 100% rename from sw/devices/io.inc65 rename to sw/kernel/devices/io.inc65 diff --git a/sw/devices/mapper.h b/sw/kernel/devices/mapper.h similarity index 100% rename from sw/devices/mapper.h rename to sw/kernel/devices/mapper.h diff --git a/sw/devices/mapper.s b/sw/kernel/devices/mapper.s similarity index 100% rename from sw/devices/mapper.s rename to sw/kernel/devices/mapper.s diff --git a/sw/devices/sd_card.c b/sw/kernel/devices/sd_card.c similarity index 100% rename from sw/devices/sd_card.c rename to sw/kernel/devices/sd_card.c diff --git a/sw/devices/sd_card.h b/sw/kernel/devices/sd_card.h similarity index 100% rename from sw/devices/sd_card.h rename to sw/kernel/devices/sd_card.h diff --git a/sw/devices/sd_card_asm.s b/sw/kernel/devices/sd_card_asm.s similarity index 100% rename from sw/devices/sd_card_asm.s rename to sw/kernel/devices/sd_card_asm.s diff --git a/sw/devices/uart.h b/sw/kernel/devices/uart.h similarity index 100% rename from sw/devices/uart.h rename to sw/kernel/devices/uart.h diff --git a/sw/devices/uart.s b/sw/kernel/devices/uart.s similarity index 100% rename from sw/devices/uart.s rename to sw/kernel/devices/uart.s diff --git a/sw/exec.c b/sw/kernel/exec.c similarity index 100% rename from sw/exec.c rename to sw/kernel/exec.c diff --git a/sw/exec.h b/sw/kernel/exec.h similarity index 100% rename from sw/exec.h rename to sw/kernel/exec.h diff --git a/sw/filesystem/fat.c b/sw/kernel/filesystem/fat.c similarity index 100% rename from sw/filesystem/fat.c rename to sw/kernel/filesystem/fat.c diff --git a/sw/filesystem/fat.h b/sw/kernel/filesystem/fat.h similarity index 100% rename from sw/filesystem/fat.h rename to sw/kernel/filesystem/fat.h diff --git a/sw/filesystem/o65.c b/sw/kernel/filesystem/o65.c similarity index 100% rename from sw/filesystem/o65.c rename to sw/kernel/filesystem/o65.c diff --git a/sw/filesystem/o65.h b/sw/kernel/filesystem/o65.h similarity index 100% rename from sw/filesystem/o65.h rename to sw/kernel/filesystem/o65.h diff --git a/sw/irq.c b/sw/kernel/irq.c similarity index 100% rename from sw/irq.c rename to sw/kernel/irq.c diff --git a/sw/link.ld b/sw/kernel/link.ld similarity index 100% rename from sw/link.ld rename to sw/kernel/link.ld diff --git a/sw/main.c b/sw/kernel/main.c similarity index 100% rename from sw/main.c rename to sw/kernel/main.c diff --git a/sw/tests/test_main.c b/sw/kernel/tests/test_main.c similarity index 95% rename from sw/tests/test_main.c rename to sw/kernel/tests/test_main.c index 0ce03a9..99e3dd8 100644 --- a/sw/tests/test_main.c +++ b/sw/kernel/tests/test_main.c @@ -1,8 +1,8 @@ #include -#include "board_io.h" -#include "uart.h" -#include "interrupt.h" +#include "devices/board_io.h" +#include "devices/uart.h" +#include "devices/interrupt.h" int main(void) { diff --git a/sw/vectors.s b/sw/kernel/vectors.s similarity index 100% rename from sw/vectors.s rename to sw/kernel/vectors.s