Mon, 01 Jan 2018 21:53:11 +0100
9 files changed,
33 insertions(+),
22 deletions(-)
D
kernel/link.txt
@@ -1,16 +0,0 @@
-OUTPUT_FORMAT(elf32-i386) -OUTPUT_ARCH(i386) -ENTRY(_kernel_start) - -SECTIONS -{ - .text : - { - *.*(.text) - } - - .data : - { - *.*(.data) - } -}
M
kernel/memory.c
→
kernel/mm/memory.c
@@ -1,4 +1,4 @@
-#include "cedos/memory.h" +#include "cedos/mm/memory.h" /*! * Allocates a block of \p size bytes of memory. (KERNEL MODE)
A
kernel/mm/makefile
@@ -0,0 +1,27 @@
+.RECIPEPREFIX = > + +S_OBJECTS = $(patsubst %.s,$(LOCAL_BUILD)/%.s.o,$(wildcard *.s)) +C_OBJECTS = $(patsubst %.c,$(LOCAL_BUILD)/%.c.o,$(wildcard *.c)) +OBJECTS = $(S_OBJECTS) $(C_OBJECTS) + +LOCAL_BUILD = $(GLOBAL_BUILD)/mm + +SUBDIRS = $(wildcard */.) + +.PHONY: build +build: folder $(SUBDIRS) $(OBJECTS) +> $(GCC_PREFIX)ld $(wildcard $(LOCAL_BUILD)/*.o) -r -o $(GLOBAL_BUILD)/mm.o --oformat elf32-i386 + +.PHONY: folder +folder: +> @mkdir $(LOCAL_BUILD) 2> /dev/null; true + +.PHONY: $(SUBDIRS) +$(SUBDIRS): +> make -C $@ GLOBAL_BUILD=$(LOCAL_BUILD) build + +$(LOCAL_BUILD)/%.s.o: %.s +> $(GCC_PREFIX)as -o $@ $< + +$(LOCAL_BUILD)/%.c.o: %.c $(wildcard *.h) +> $(GCC_PREFIX)gcc -c -I$(INCLUDE_DIR) --prefix=$(GCC_PREFIX) $(GCC_OPTIONS) -o $@ $<
M
kernel/page_allocator.c
→
kernel/mm/page_allocator.c
@@ -1,5 +1,5 @@
-#include "cedos/page_allocator.h" -#include "cedos/paging.h" +#include "cedos/mm/page_allocator.h" +#include "cedos/mm/paging.h" uint8_t* first_free = (uint8_t*)0x00200000;
M
kernel/paging.c
→
kernel/mm/paging.c
@@ -1,5 +1,5 @@
-#include "cedos/paging.h" -#include "cedos/page_allocator.h" +#include "cedos/mm/paging.h" +#include "cedos/mm/page_allocator.h" #include "linker.h" #include "string.h"
M
kernel/scheduler.c
→
kernel/scheduler.c
@@ -1,5 +1,5 @@
#include "cedos/scheduler.h" -#include "cedos/paging.h" +#include "cedos/mm/paging.h" #include "cedos/drivers/console.h" /*!