From 977e6564f23f423062c38e7064b6497e6025062e Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Mon, 20 Jul 2015 20:06:20 +0400 Subject: Add memory helpers --- kernel/Helpers/Makefile | 17 +++++++++++++++++ kernel/Helpers/helpers.o | Bin 0 -> 920 bytes kernel/Helpers/memory.cpp | 23 +++++++++++++++++++++++ kernel/Helpers/memory.hpp | 9 +++++++++ kernel/Makefile | 6 +++++- 5 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 kernel/Helpers/Makefile create mode 100644 kernel/Helpers/helpers.o create mode 100644 kernel/Helpers/memory.cpp create mode 100644 kernel/Helpers/memory.hpp 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 -- cgit v1.2.3