148 Commits

Author SHA1 Message Date
c2e31827d8
refactor(kernel): remove unused TaskingPanic() function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-21 02:19:01 +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
7ec85e67df
style(kernel): format document
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 01:14:47 +00:00
1ff62e22bf
feat(kernel/syscalls): implement sys_fork()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-07 01:31:50 +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
839dfb74b2
build(kernel): fix i386 build
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 23:34:20 +00:00
0bfb45020f
build(kernel): fix compiling issues on arm
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 23:19:02 +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
bd02b976a2
fix(kernel/tty): temporal removal of ICANON checking
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 23:57:46 +00:00
84298fc4eb
fix(kernel/driver): set unused file system operation pointers to nullptr
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 23:31:30 +00:00
87a2dc9444
fix(kernel/driver): node device & offset were not set for new created files under /dev
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 23:29:13 +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
95585fce5f
fix(kernel/driver): remove unused device handling code in daemon
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:37:10 +00:00
bf1e3432d7
feat(kernel/drivers): migrate drivers to the kernel
make the drivers builtin

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:37:01 +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
426499090e
feat(kernel/driver): add CreateDeviceFile function in the API
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:32:00 +00:00
1af2cf657d
feat(kernel/driver): add CreateDeviceFile method
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:30:15 +00:00
f31d11f7ad
fix(kernel/pci): fix MapPCIAddresses when BAR size of zero
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-02 21:28:28 +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
adba9cc348
refactor(driver/api): fix formatting
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-01 23:33:55 +00:00
232e06f8f3
refactor(kernel/pci): simplify PCI device initialization by delegating to PCIManager
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-01 23:32:54 +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
65ab83b42b
fix(kernel/pci): map BAR address using PWT and PCD flags
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-01 23:31:31 +00:00
ca8dc6429b
fix(kernel): fix empty initialization of std::string (str = "")
_size is 0 which fails the memcpy checks

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-27 18:13:51 +00:00
0958cdf7f8
fix(kernel): add TZ environment variable to init process
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-24 02:08:42 +02:00
258ac6e2f6
chore(vscode): add recommended extensions for improved development experience
ms-vscode.cpptools maziac.asm-code-lens editorconfig.editorconfig vivaxy.vscode-conventional-commits ms-vscode.hexeditor webfreak.debug ibm.output-colorizer gruntfuggly.todo-tree naumovs.color-highlight seven1bit.vscode-ext-ansi-color-highlight jeff-hykin.better-cpp-syntax aaron-bond.better-comments

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:40:21 +02:00
9dfa750444
refactor(kernel/syscalls): simplify argument handling in HandleNativeSyscalls
Easier to debug

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:35:57 +02: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
7ce73ab813
kernel: refactor aarch64 boot code
Some checks failed
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Blocked by required conditions
Build OS / Build amd64 (push) Blocked by required conditions
Build OS / Build i386 (push) Blocked by required conditions
Build OS / Build aarch64 (push) Blocked by required conditions
Build OS / Build arm (push) Blocked by required conditions
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 4m9s
Build OS / Build Cross-Compiler & Toolchain (push) Failing after 56m7s
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 15:27:11 +02:00
0ab1833034
kernel: update linker script for AArch64
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 15:26:41 +02:00
495a0ea609
kernel: move UART code in each arch subdir
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-24 15:26:21 +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
a4c5ab7ef3
chore: add .editorconfig files for consistent coding styles
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-17 19:59:38 +02:00
749a1b1810
kernel: update boot code and linker script for aarch64
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-13 09:22:01 +02:00
3af04bce80
refactor: fix release building for aarch64 and arm
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-11 07:11:28 +02:00
75c8dbd31b
refactor: fix softfloat on aarch64 and arm
Some checks failed
Build OS / Analyze (${{ matrix.language }}) (manual, c-cpp) (push) Blocked by required conditions
Build OS / Build amd64 (push) Blocked by required conditions
Build OS / Build i386 (push) Blocked by required conditions
Build OS / Build aarch64 (push) Blocked by required conditions
Build OS / Build arm (push) Blocked by required conditions
Build OS / Deploy Documentation to GitHub Pages (push) Failing after 9m56s
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-11 06:48:48 +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
61b1e95629
kernel: Fix boot 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:58:51 +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