+ acpi: add acpi support + lapic: add lapic support + ioapic: add ioapic support + arch/x86_64: add support for "syscall"/"sysret"
919 B
Executable file
919 B
Executable file
Soaplin
The Soaplin kernel is a new Unix-like operating system kernel.
Features
- x86_64 support (kinda)
- Memory management (VMM/PMM)
- Simple pre-emptive scheduler
- Ring 3 (user mode) support
- ELF loader
- ACPI
In the works
- Virtual File System
- FPU support
To come
- RTC support
- EXT2 driver
- FAT32 driver
- CPIO-based init ram disk
- Video driver for Bochs graphics adapter, and the VMware display adapter.
Known bugs
- If a user process calls the syscall handler by using interrupts, the system may crash due to a Page Fault.
Building
To build Soaplin, you must ensure you have these:
- The Netwide Assembler (nasm)
- A compiler (In the future, a custom toolchain would be built.)
- A linker
Clone the repo, and run "make" in it!
Acknowledgements
Thanks to all these people ❤️
- Kevin Alavik (kevinalavik): VMAs implementation
- Astrido (asterd-og): IOAPIC/LAPIC (from ZanOS)