feat: No more kernel page table switching upon interrupt.
authorMinep <zelong56@gmail.com>
Mon, 6 Jun 2022 12:08:54 +0000 (13:08 +0100)
committerMinep <zelong56@gmail.com>
Mon, 6 Jun 2022 12:08:54 +0000 (13:08 +0100)
commit86a9cfeadbbe180abf6c8bd8c64c86957fdacfeb
treec62343a1cfa6f4fa2e4f67c8063b5009ee5976bb
parent0067bc210e621ccda286092d081a7890d65e1c18
feat: No more kernel page table switching upon interrupt.
feat: 'wait' syscall implementation
feat: use linked list for chaining children process.
feat: Now the allocated memory can be recycled upon process destroy.
feat: Interruptible syscall.
refactor: correct the sbrk and brk naming.
refactor: process initialization.
fix: TLB caching stall the PTE rewrite which cause fork() fail randomly.
fix: Add new process state: CREATE to avoid race during process creation.
chores: annotations on future improvements & fixes.
27 files changed:
lunaix-os/bochs.cfg
lunaix-os/bx_enh_dbg.ini [new file with mode: 0644]
lunaix-os/flags.h [new file with mode: 0644]
lunaix-os/includes/arch/x86/idt.h
lunaix-os/includes/arch/x86/tss.h
lunaix-os/includes/lunaix/ds/llist.h
lunaix-os/includes/lunaix/lunistd.h
lunaix-os/includes/lunaix/mm/dmm.h
lunaix-os/includes/lunaix/mm/mm.h
lunaix-os/includes/lunaix/mm/page.h
lunaix-os/includes/lunaix/process.h
lunaix-os/includes/lunaix/sched.h
lunaix-os/includes/lunaix/syscall.h
lunaix-os/kernel/asm/x86/idt.c
lunaix-os/kernel/asm/x86/interrupts.c
lunaix-os/kernel/asm/x86/pfault.c
lunaix-os/kernel/asm/x86/syscall.S
lunaix-os/kernel/asm/x86/tss.c
lunaix-os/kernel/k_init.c
lunaix-os/kernel/lxinit.c
lunaix-os/kernel/mm/dmm.c
lunaix-os/kernel/mm/kalloc.c
lunaix-os/kernel/mm/pmm.c
lunaix-os/kernel/mm/vmm.c
lunaix-os/kernel/process.c
lunaix-os/kernel/sched.c
lunaix-os/makefile