summaryrefslogtreecommitdiffhomepage
path: root/dev/libSystem
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-10-08 21:50:05 +0200
committerGitHub <noreply@github.com>2025-10-08 21:50:05 +0200
commit4afdeade47b4295e49b9d65ae26fa218e2fd81dd (patch)
tree769db6f20bbaa86b0f886d409251e3a33cbc4b02 /dev/libSystem
parent3b6a7e8c87f94391f92b55f20b9ba3e560ef280e (diff)
feat: libSystem: new version of libSystem.
Diffstat (limited to 'dev/libSystem')
-rw-r--r--dev/libSystem/src/JailCalls.cc17
-rw-r--r--dev/libSystem/src/Makefile6
-rw-r--r--dev/libSystem/src/SystemCalls.cc7
-rw-r--r--dev/libSystem/src/SystemCallsABI+AMD64.asm (renamed from dev/libSystem/src/SystemProc.asm)2
-rw-r--r--dev/libSystem/src/VerifyCalls.cc17
5 files changed, 38 insertions, 11 deletions
diff --git a/dev/libSystem/src/JailCalls.cc b/dev/libSystem/src/JailCalls.cc
new file mode 100644
index 00000000..32192a13
--- /dev/null
+++ b/dev/libSystem/src/JailCalls.cc
@@ -0,0 +1,17 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <libSystem/SystemKit/Err.h>
+#include <libSystem/SystemKit/Syscall.h>
+#include <libSystem/SystemKit/System.h>
+#include <libSystem/SystemKit/Jail.h>
+#include <libSystem/SystemKit/Verify.h>
+
+using namespace LibSystem;
+
+IMPORT_C struct JAIL* JailGetCurrent(Void) {
+ (struct JAIL*)libsys_syscall_arg_1(SYSCALL_HASH("JailGetCurrent"));
+} \ No newline at end of file
diff --git a/dev/libSystem/src/Makefile b/dev/libSystem/src/Makefile
index 64ef02cc..ea8e9905 100644
--- a/dev/libSystem/src/Makefile
+++ b/dev/libSystem/src/Makefile
@@ -1,5 +1,5 @@
##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
+# (c) Amlal El Mahrouss and NeKernel contributors, all rights reserved.
# This file is for libSystem.dll's syscall stubs.
##################################################
@@ -8,9 +8,9 @@ FLAGS=-f win64
.PHONY: error
error:
- @echo "==> Invalid rule."
+ @echo "==> Invalid recipe."
@echo "==> Use libsys_asm_io_<arch> instead."
.PHONY: libsys_asm_io_x64
libsys_asm_io_x64:
- $(ASM) $(FLAGS) SystemProc.asm -o SystemProc.stub.obj
+ $(ASM) $(FLAGS) SystemCallsABI+AMD64.asm -o SystemCallsABI+AMD64.stub.obj
diff --git a/dev/libSystem/src/SystemCalls.cc b/dev/libSystem/src/SystemCalls.cc
index 571a99a6..3db9368d 100644
--- a/dev/libSystem/src/SystemCalls.cc
+++ b/dev/libSystem/src/SystemCalls.cc
@@ -11,13 +11,6 @@
using namespace LibSystem;
-IMPORT_C Void _rtl_assert(Bool expr, const Char* origin) {
- if (!expr) {
- PrintOut(nullptr, "Assertion failed: %s\r", origin);
- libsys_syscall_arg_1(SYSCALL_HASH("_rtl_debug_break"));
- }
-}
-
/// @note this uses the FNV 64-bit variant.
IMPORT_C UInt64 libsys_hash_64(const Char* path) {
if (!path || *path == 0) return 0;
diff --git a/dev/libSystem/src/SystemProc.asm b/dev/libSystem/src/SystemCallsABI+AMD64.asm
index 991a371f..da19f41f 100644
--- a/dev/libSystem/src/SystemProc.asm
+++ b/dev/libSystem/src/SystemCallsABI+AMD64.asm
@@ -1,7 +1,7 @@
;; /*
;; * ========================================================
;; *
-;; * libSystem/src/SystemProc.asm
+;; * libSystem/src/SystemCallsABI+AMD64.asm
;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
;; *
;; * ========================================================
diff --git a/dev/libSystem/src/VerifyCalls.cc b/dev/libSystem/src/VerifyCalls.cc
new file mode 100644
index 00000000..fb38c682
--- /dev/null
+++ b/dev/libSystem/src/VerifyCalls.cc
@@ -0,0 +1,17 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+#include <libSystem/SystemKit/Err.h>
+#include <libSystem/SystemKit/Verify.h>
+
+using namespace LibSystem;
+
+IMPORT_C Void _rtl_assert(Bool expr, const Char* origin) {
+ if (!expr) {
+ PrintOut(nullptr, "Assertion failed: %s\r", origin);
+ libsys_syscall_arg_1(SYSCALL_HASH("_rtl_debug_break"));
+ }
+} \ No newline at end of file