kernel: Rewrite from scratch since the current thing is held by duct tape (lmao)

This commit is contained in:
RaphProductions 2025-05-18 09:04:25 +02:00
parent d017412af5
commit a1e27c2730
117 changed files with 285 additions and 13622 deletions

42
README.md Executable file → Normal file
View file

@ -1,39 +1,3 @@
# Soaplin
The Soaplin kernel is a new Unix-like operating system kernel.
## Features
* x86_64 support (kinda)
* Memory management (VMM/PMM/VMA/kmalloc)
* Simple pre-emptive scheduler
* Ring 3 (user mode) support
* ELF loader
* ACPI
* Symetric Multiprocessing (It runs code, but the scheduler is running on 1 processor.)
* Recovers from a faulty userspace process.
## Nearly done
* Virtual File System
## In the works
* FPU support
## To come
* RTC support
* EXT2 driver
* FAT32 driver
* TAR-based init ram disk
* Video driver for Bochs graphics adapter, and the VMware display adapter.
## Building
To build Soaplin, you must ensure you have these:
* The Netwide Assembler (nasm)
* A compiler (both GCC & Clang works!) (In the future, a custom toolchain would be built.)
* A linker (both GNU LD & LLVM linker works too!)
Clone the repo, and run "make" in it!
## Acknowledgements
Thanks to all these people :heart:
* Limine contributors: The Limine bootloader, used for kicking up Soaplin
* Kevin Alavik (kevinalavik): VMAs implementation
* Astrido (asterd-og): IOAPIC/LAPIC (from ZanOS)
# Soaplin (rewrite)
This is a carefully rewritten version of Soaplin, that should be held with super glue instead of
0.99$ duct tape bought on TEMU.