diff --git a/kernel-src/Makefile b/kernel-src/Makefile index e5bbe95a..554ee778 100644 --- a/kernel-src/Makefile +++ b/kernel-src/Makefile @@ -3,11 +3,12 @@ ASMSOURCES= $(shell find -name *.asm) OBJS=$(CSOURCES:.c=.o) $(ASMSOURCES:.asm=.asmo) TARGET=x86-64 INCDIR=$(shell pwd)/include +ARCHINCDIR=$(shell pwd)/include/$(TARGET)/ ARCHDIR=$(shell pwd)/arch/$(TARGET)/ LDFLAGS=-ffreestanding -nostdlib -lgcc -Wl,-T,"$(ARCHDIR)/kernel.ld" -debug # required for mpaland printf so it doesn't compile with floating point support, which results in build failures PRINTFOPTS=-DPRINTF_DISABLE_SUPPORT_FLOAT -CFLAGS=-ffreestanding -mcmodel=kernel -O2 -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -nostdlib -Wall -I "${INCDIR}" $(PRINTFOPTS) +CFLAGS=-ffreestanding -mcmodel=kernel -O2 -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -nostdlib -Wall -I "${INCDIR}" -I "$(ARCHINCDIR)" $(PRINTFOPTS) ASFLAGS=-felf64 astral: $(OBJS) diff --git a/kernel-src/arch/x86-64/main.c b/kernel-src/arch/x86-64/main.c index 755c592d..0a8a64fb 100644 --- a/kernel-src/arch/x86-64/main.c +++ b/kernel-src/arch/x86-64/main.c @@ -1,6 +1,7 @@ #include #include #include +#include static cpu_t bsp_cpu; diff --git a/kernel-src/include/arch/cpu.h b/kernel-src/include/x86-64/arch/cpu.h similarity index 100% rename from kernel-src/include/arch/cpu.h rename to kernel-src/include/x86-64/arch/cpu.h diff --git a/kernel-src/include/arch/e9.h b/kernel-src/include/x86-64/arch/e9.h similarity index 100% rename from kernel-src/include/arch/e9.h rename to kernel-src/include/x86-64/arch/e9.h diff --git a/kernel-src/include/x86-64/arch/gdt.h b/kernel-src/include/x86-64/arch/gdt.h new file mode 100644 index 00000000..2e12041a --- /dev/null +++ b/kernel-src/include/x86-64/arch/gdt.h @@ -0,0 +1,6 @@ +#ifndef _GDT_H +#define _GDT_H + +void arch_gdt_reload(); + +#endif diff --git a/kernel-src/include/arch/io.h b/kernel-src/include/x86-64/arch/io.h similarity index 100% rename from kernel-src/include/arch/io.h rename to kernel-src/include/x86-64/arch/io.h diff --git a/kernel-src/include/arch/ist.h b/kernel-src/include/x86-64/arch/ist.h similarity index 100% rename from kernel-src/include/arch/ist.h rename to kernel-src/include/x86-64/arch/ist.h diff --git a/kernel-src/include/arch/msr.h b/kernel-src/include/x86-64/arch/msr.h similarity index 100% rename from kernel-src/include/arch/msr.h rename to kernel-src/include/x86-64/arch/msr.h