summaryrefslogtreecommitdiffhomepage
path: root/dev/SCIKit/src/MemoryMgr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-09 10:30:58 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-09 10:30:58 +0100
commit67716b2871b1117510b26bc1aaf6fce7195272dc (patch)
tree4bbc0a51e0d8cb6234a830baa713377dad3de325 /dev/SCIKit/src/MemoryMgr.cc
parenta2013145412c7cf7eb461833f7853d80caa88723 (diff)
META: Important refactors and include SCIKit.dylib when building bootloader.
Diffstat (limited to 'dev/SCIKit/src/MemoryMgr.cc')
-rw-r--r--dev/SCIKit/src/MemoryMgr.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/dev/SCIKit/src/MemoryMgr.cc b/dev/SCIKit/src/MemoryMgr.cc
new file mode 100644
index 00000000..bf8e1142
--- /dev/null
+++ b/dev/SCIKit/src/MemoryMgr.cc
@@ -0,0 +1,45 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <SCIKit/Foundation.h>
+
+/// @file MemoryMgr.cc
+/// @brief Source file for the memory functions.
+
+/// @brief Copy memory region.
+IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input SizeT len)
+{
+ if (!len ||
+ !dest ||
+ !src)
+ {
+ return nullptr;
+ }
+
+ for (SizeT i = 0; i < len; i++)
+ {
+ ((Char*)dest)[i] = ((Char*)src)[i];
+ }
+
+ return dest;
+}
+
+/// @brief Fill memory region with **value**.
+IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt8 value)
+{
+ if (!len ||
+ !dest)
+ {
+ return nullptr;
+ }
+
+ for (SizeT i = 0; i < len; i++)
+ {
+ ((Char*)dest)[i] = value;
+ }
+
+ return dest;
+}