kernel: Prepare for v0.1-pre
This commit is contained in:
parent
6e77fbc323
commit
3bbc916ffd
6 changed files with 11 additions and 25 deletions
11
README.md
11
README.md
|
@ -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.
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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.
|
@ -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
|
BIN
testing/test.o
BIN
testing/test.o
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue