kernel: Prepare for v0.1-pre

This commit is contained in:
RaphProductions 2025-05-11 18:37:15 +02:00
parent 6e77fbc323
commit 3bbc916ffd
6 changed files with 11 additions and 25 deletions

View file

@ -6,13 +6,18 @@ The Soaplin kernel is a new Unix-like operating system kernel.
* Memory management (VMM/PMM)
* Simple pre-emptive scheduler
* Ring 3 (user mode) support
* ELF loader
## In the works
* Virtual File System
* FPU support
## To come
* RTC support
* ELF loader
* Virtual File System
* EXT2 driver
* FAT32 driver
* CPIO-based init ram disk
* Video driver for Bochs graphics adapter, and the VMware display adapter.
* FPU support
## Known bugs
* If a user process calls the syscall handler by using interrupts, the system may crash due to a Page Fault.

View file

@ -29,21 +29,6 @@ pagemap_t *vmm_alloc_pm() {
pagemap_t *pm = (pagemap_t *)HIGHER_HALF((uint64_t)pmm_request_page());
memset(pm, 0, PMM_PAGE_SIZE);
/*if (vmm_kernel_pm_exists) {
pm->toplevel = (uint64_t*)HIGHER_HALF((uint64_t)pmm_request_page());
memset(pm->toplevel, 0, PMM_PAGE_SIZE);
for (int i = 256; i < 512; i++) {
pm->toplevel[i] = vmm_kernel_pm->toplevel[i];
}
} else {
__asm__ volatile("mov %%cr3, %0" : "=r"(pm->toplevel) : : "memory");
pm->toplevel = HIGHER_HALF(pm->toplevel);
logln(info, "vmm", "Limine-provided kernel PML4: %p", pm->toplevel);
}*/
pm->toplevel = (uint64_t *)HIGHER_HALF((uint64_t)pmm_request_page());
memset(pm->toplevel, 0, PMM_PAGE_SIZE);

View file

@ -74,5 +74,6 @@ void exception_handler(registers_t *regs) {
syscall_handle(regs);
}
// logln(info, "arch/ints", "Received interrupt %d\n", regs->int_no);
//vmm_load_pagemap(curr_proc->pm);
pic_ack(regs->int_no - 32);
}

Binary file not shown.

View file

@ -3,12 +3,7 @@ section .text
global _start
_start:
int 0x80
int 0x80
int 0x80
int 0x80
int 0x80
int 0x80
int 0x80
mov rax, 10
.hey:
add rax, 1
jmp .hey

Binary file not shown.