67 Commits

Author SHA1 Message Date
0735743f44
build: fix kernel build on different architectures
Userspace still fails to compile on non-x86!!!
2025-04-13 13:47:59 +00:00
33eee9c628
feat(kernel/syscalls): implement stub linux_poll 2025-04-13 10:18:15 +00:00
11d326b693
feat(kernel/tty): implement processing control characters (^C, ^D, etc) 2025-04-13 09:49:09 +00:00
5293bb2039
feat(kernel/tty): implement blinking cursor 2025-04-12 10:55:01 +00:00
3315d79742
fix(kernel/vfs): support multiple roots 2025-04-08 05:04:04 +00:00
69122746de
refactor(kernel): change NIF to nif 2025-04-08 03:25:38 +00:00
832833a56f
fix(kernel/vfs): forgot ';' inside ramfs.hpp 2025-04-07 05:38:24 +00:00
a268f8dc2f
feat(kernel/vfs): implement RAMFS filesystem 2025-04-07 05:37:23 +00:00
d4346202ca
refactor(kernel): ramfs loading 2025-04-07 05:04:23 +00:00
58accf8acf
feat(kernel): add initial security implementation files 2025-04-07 04:02:02 +00:00
b232dc6b40
feat(kernel/vfs): add AddRootAt, SetRootAt, RemoveRoot & RootExists functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-04-04 11:51:47 +00:00
a333d8aa7c
refactor(kernel): change Spawn function parameter type from char* to const char*
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-04-04 10:53:40 +00:00
0041300a00
style(kernel/elf): change code style
Some checks failed
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Deploy Website / Deploy Website to GitHub Pages (push) Has been cancelled
Build OS / Analyze (c-cpp) (push) Has been cancelled
Build OS / Build OS (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-04-03 12:06:23 +00:00
c660a7fe4f
fix(kernel/elf): interpreter loading is now correctly implemented
ref: linux @ fs/binfmt_elf.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-04-03 06:15:12 +00:00
8d71ed0ad5
refactor(kernel): remove 'foreach' macro
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-29 22:43:07 +00:00
13d52897b8
feat(kernel): update configuration
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-27 14:31:22 +00:00
4cc058ab42
feat(kernel/elf): add OS-specific segment types and GNU properties
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-27 02:09:00 +00:00
9304cafe0c
feat(kernel): update cargs to v1.2.0
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-27 00:46:34 +00:00
7b42b46942
style(kernel): tab spaces in cargs.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-27 00:13:03 +00:00
2ce0e0ed79
feat(kernel/syscalls): add SYS_DEBUG_REPORT syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-26 23:25:16 +00:00
e9dd70c6c4
feat(kernel): add <utf8.h> header
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-26 23:00:10 +00:00
92fe4bdd81
feat(kernel): add KERNEL_HHDM_OFFSET macro
Some checks failed
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Analyze (c-cpp) (push) Has been cancelled
Build OS / Build OS (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-25 19:43:50 +00:00
d06b6d3270
feat(kernel): add hot and cold attributes to optimize function performance
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-22 03:04:23 +00:00
f9476d8c57
fix(kernel/syscalls): cast syscall arguments to scarg type for call_time
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-22 01:44:46 +00:00
79e55140e3
feat(kernel/driver): implement driver sha512 verification
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 03:23:25 +00:00
a8e4dd08bb
feat(kernel): add SHA-512 implementation
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 03:15:57 +00:00
2080d1f2b7
feat(kernel/syscalls): add fcntl() syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 01:58:14 +00:00
b05a6a14e8
fix(kernel): compilation issues due to header changes
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 01:57:51 +00:00
a43fac0c2d
feat(kernel/api): add fcntl.h
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 01:12:08 +00:00
201ace7eec
refactor(userspace): build using cmake
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-15 23:05:17 +00:00
9f393754f6
feat(kernel/syscalls): implement uname syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 22:38:52 +00:00
b4cc1d9e66
fix(kernel): crash on ACPI shutdown/reboot
The deletion of DriverManager invalidates "DriverManager->GlobalKeyboardInputReports" which results in a crash if other processes are waiting for keyboard input.

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 13:38:42 +00:00
9e746c52bc
feat(kernel/api): implement arm syscall wrappers
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 23:18:18 +00:00
9da2650486
build(kernel): fix compiling issues on i386
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 17:39:42 +00:00
e01f488768
feat(kernel/api): implement i386 syscall wrappers
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 17:38:59 +00:00
426a84a1a9
docs(kernel): short doc for __check_op macro
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 23:14:40 +00:00
f824df9aad
feat(kernel/driver): implement built-in driver support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:34:16 +00:00
1af2cf657d
feat(kernel/driver): add CreateDeviceFile method
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:30:15 +00:00
851a8c140f
feat(kernel/driver): add ReloadDriver method to manage driver reloading
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:27:20 +00:00
ae2617dca2
refactor(driver/api): delegate memory allocation and deallocation to DriverManager
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:26:00 +00:00
aea8a7bb08
feat(kernel/pci): add device initialization method for PCI devices
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-01 23:32:14 +00:00
155f3bfab5
docs(kernel/api): add documentation for FBIOGET_SCREEN_INFO
Add documentation for FBIOGET_SCREEN_INFO macro

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 19:47:10 +02:00
e927d93a48
feat(kernel): add stub device /dev/fb0
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 19:57:29 +02:00
c86d24030e
kernel: refactor FPU state structure for improved clarity and consistency
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 23:57:49 +02:00
72232d8bd2
kernel: update CPU structures with __packed attribute for alignment
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 15:25:39 +02:00
6bd705f06a
build: add MIDR_EL1 union for AArch64 CPU identification
https://developer.arm.com/documentation/ddi0601/2024-12/AArch64-Registers/MIDR-EL1--Main-ID-Register?lang=en
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 15:25:04 +02:00
fbe9fbfbd1
kernel: add arm architecture support
Some checks failed
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 5m35s
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Has been cancelled
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Build amd64 (push) Has been cancelled
Build OS / Build i386 (push) Has been cancelled
Build OS / Build aarch64 (push) Has been cancelled
Build OS / Build arm (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-10 18:55:34 +02:00
e6933acfb0
kernel: add aarch64 architecture support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-10 17:26:26 +02:00
2bb997597e
refactor: Fix build on i386
Some checks failed
CodeQL Advanced / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Has been cancelled
Deploy Documentation / Deploy Documentation to GitHub Pages (push) Has been cancelled
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Build amd64 (push) Has been cancelled
Build OS / Build i386 (push) Has been cancelled
Build OS / Build aarch64 (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-07 17:49:37 +02:00
efb3a80ffd
signal: Remove redundant static assertions for signal flags
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 06:03:17 +02:00