128 Commits

Author SHA1 Message Date
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
463d16f8bc
refactor: streamline source file discovery in Makefile and update OSARCH handling in config.mk
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-07 13:45:59 +02:00
d4001003a3
chore: add LICENSE file for rpmalloc
[skip ci]

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 21:05:06 +02:00
082f2fb6f2
kernel: Fix release compilation on amd64
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 20:34:57 +02:00
edd13c30c5
chore: Update markdown files
Added CODE_OF_CONDUCT.md
Added CONTRIBUTING.md
Moved CREDITS.md
Moved LICENSES.md
Added SECURITY.md
Added STYLE_GUIDE.md

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 07:52:29 +02:00
dea36a0228
chore: Update makefiles and doxygen
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 06:26:55 +02:00
e4403cdbd6
vscode: Update configuration files
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 06:13:31 +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
5d3bb391a4
syscalls: Add syscall_clockid_t and fix enum names
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 04:35:02 +02:00
b3f304f2c5
linker: Remove .note section from discard list
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 04:20:27 +02:00
e23e793574
syscalls: Add signal_action_flags_t structure
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-04 04:19:31 +02:00
522158913f
kernel: Add .note section
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-01-03 21:51:17 +02:00
8f04f8a374
kernel/idt: Keep #PF handling always enabled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 05:44:26 +02:00
1695418dcb
kernel/syscalls: Implement sys_tell & sys_seek
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 03:20:27 +02:00
b208862de2
kernel/syscalls: Add conversion for syscall macros
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 03:06:54 +02:00
a8481d4260
kernel/syscalls: Fix doxygen documentation
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 02:48:50 +02:00
c84757af48
kernel/syscalls: Add macros for syscalls
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 02:37:02 +02:00
80afbedf39
kernel/syscalls: Implement sys_kill syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 02:23:30 +02:00
911caf7203
kernel/signals: Update headers for syscalls.h changes
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-26 02:23:12 +02:00
95a8d6fb6f
kernel/idt: Fix ExceptionHandlerStub setting fs & gs to 0
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-25 04:49:01 +02:00
b471645743
kernel/syscalls: Implement sys_prctl syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2024-12-25 04:47:26 +02:00