diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-10-08 21:50:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-08 21:50:05 +0200 |
| commit | 4afdeade47b4295e49b9d65ae26fa218e2fd81dd (patch) | |
| tree | 769db6f20bbaa86b0f886d409251e3a33cbc4b02 /dev/libSystem/src | |
| parent | 3b6a7e8c87f94391f92b55f20b9ba3e560ef280e (diff) | |
feat: libSystem: new version of libSystem.
Diffstat (limited to 'dev/libSystem/src')
| -rw-r--r-- | dev/libSystem/src/JailCalls.cc | 17 | ||||
| -rw-r--r-- | dev/libSystem/src/Makefile | 6 | ||||
| -rw-r--r-- | dev/libSystem/src/SystemCalls.cc | 7 | ||||
| -rw-r--r-- | dev/libSystem/src/SystemCallsABI+AMD64.asm (renamed from dev/libSystem/src/SystemProc.asm) | 2 | ||||
| -rw-r--r-- | dev/libSystem/src/VerifyCalls.cc | 17 |
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 |
