diff options
Diffstat (limited to 'dev/user/src/SystemCalls.cc')
| -rw-r--r-- | dev/user/src/SystemCalls.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dev/user/src/SystemCalls.cc b/dev/user/src/SystemCalls.cc new file mode 100644 index 00000000..eadb07ce --- /dev/null +++ b/dev/user/src/SystemCalls.cc @@ -0,0 +1,45 @@ +/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <user/SystemCalls.h>
+
+/// @file libsci.cc
+/// @brief Source file for the memory functions of the libsci.
+
+/// @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;
+}
|
