aboutsummaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/stdio.cc5
-rw-r--r--src/libs/stdio.hpp2
-rw-r--r--src/libs/string.cc8
-rw-r--r--src/libs/string.hpp2
4 files changed, 10 insertions, 7 deletions
diff --git a/src/libs/stdio.cc b/src/libs/stdio.cc
index 8dcb1f6..dc9ee75 100644
--- a/src/libs/stdio.cc
+++ b/src/libs/stdio.cc
@@ -1,10 +1,9 @@
#include "stdio.hpp"
-#include "drivers/framebuffer.hpp"
+#include "drivers/vga_t.hpp"
#include "math.hpp"
#include "string.hpp"
-extern VIDEO_STATE VS;
-void (*__putchar)(char)=putchar;
+void (*__putchar)(char)=vga_t_putchar;
void printk(char *str,...) {
u64 rsi,rdx,rcx,r8,r9;
diff --git a/src/libs/stdio.hpp b/src/libs/stdio.hpp
index 2d252b6..1fbc80a 100644
--- a/src/libs/stdio.hpp
+++ b/src/libs/stdio.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include "drivers/framebuffer.hpp"
+#include "drivers/vga_t.hpp"
/// @brief Current active framebuffer driver
extern void (*__putchar)(char);
diff --git a/src/libs/string.cc b/src/libs/string.cc
index 8253526..379a128 100644
--- a/src/libs/string.cc
+++ b/src/libs/string.cc
@@ -1,11 +1,15 @@
#include "string.hpp"
+#include "core/paging.hpp"
#include "math.hpp"
-void memcpy(void* src, void* dst, u32 size){
+void memcpy(void* src, void* dst, u64 size){
u8 *c_src=(u8*)src;
u8 *c_dst=(u8*)dst;
- for(u32 i=0;i<size;i++)
+ for(u64 i=0;i<size;i++){
+ PAGING_MAP((c_dst+i));
+ PAGING_MAP((c_src+i));
*(c_dst+i)=*(c_src+i);
+ }
}
void memset(void *dst, char value, u64 size){
diff --git a/src/libs/string.hpp b/src/libs/string.hpp
index 74bebc0..c746c47 100644
--- a/src/libs/string.hpp
+++ b/src/libs/string.hpp
@@ -5,7 +5,7 @@
/**
* Copy data byte per byte from src to dst
*/
-void memcpy(void *src, void *dst, u32 size);
+void memcpy(void *src, void *dst, u64 size);
void memset(void *dst, char value, u64 size);