diff --git a/kernel/Helpers/Makefile b/kernel/Helpers/Makefile new file mode 100644 index 0000000..e619021 --- /dev/null +++ b/kernel/Helpers/Makefile @@ -0,0 +1,17 @@ +EXEC=helpers.o + + +all:$(EXEC) + +#----- Helpers ----- +$(EXEC): memory.cpp + $(CXX) -c -o $(EXEC) memory.cpp +#--------------- + + +#----- Other ----- +.PHONY:clean + +clean: + rm *.o +#---------------- diff --git a/kernel/Helpers/helpers.o b/kernel/Helpers/helpers.o new file mode 100644 index 0000000..596d276 Binary files /dev/null and b/kernel/Helpers/helpers.o differ diff --git a/kernel/Helpers/memory.cpp b/kernel/Helpers/memory.cpp new file mode 100644 index 0000000..a2b130e --- /dev/null +++ b/kernel/Helpers/memory.cpp @@ -0,0 +1,23 @@ +#include "./memory.hpp" +#include "./types.hpp" + +int memcpy(u8 source, u8 dest, u32 size){ + + u8 *sourceTmp=(u8 *)source; + u8 *destTmp=(u8 *)dest; + + int progress=0; + + while(progress != size){ + + *destTmp=*sourceTmp; + + sourceTmp++; + destTmp++; + + progress++; + } + + return progress; + +} diff --git a/kernel/Helpers/memory.hpp b/kernel/Helpers/memory.hpp new file mode 100644 index 0000000..e0b629b --- /dev/null +++ b/kernel/Helpers/memory.hpp @@ -0,0 +1,9 @@ +#ifndef __memory__ +#define __memory__ + +#include "./types.hpp" + +int memcpy(u8 source, u8 dest, u32 size); + + +#endif diff --git a/kernel/Makefile b/kernel/Makefile index aaf3ab9..66ee967 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -6,7 +6,7 @@ export CXX all:$(EXEC) #----- Kernel ----- -$(EXEC):entry.o main.o GDT/gdt.o +$(EXEC):entry.o main.o GDT/gdt.o Helpers/helpers.o ld -m elf_i386 --entry=_start -Ttext=0x100000 -o $@ $^ #----------------- @@ -24,6 +24,10 @@ GDT/gdt.o: cd ./GDT && make #--------------- +#----- Helpers ----- +Helpers/helpers.o: + cd ./Helpers/ && make +#--------------- #----- Other ----- .PHONY:clean