sys: Refactor GDT initialization, enhance syscall handling, and improve user mode entry
Finally we got usermode working again, It took awhile but we got it done. A few things we did in this commit: - Simplified GDT entry initialization in gdt.c for kernel and user segments. - Fixed TSS structure for task switching. - Implemented cr2 handling in a page fault. - Enhanced user stack setup in usermode.c to return the correct RSP. - Improved syscall implementation in syscall.c, including new syscall numbers. - Updated syscall entry to correctly handle context switching and argument passing. - Refactored init.c to demonstrate file operations using syscalls. - Added new syscalls for file operations in syscalls.h. - Modified VFS to handle leading slashes in paths correctly. Signed-off-by: kaguya <vpshinomiya@protonmail.com>
This commit is contained in:
+2
-7
@@ -1,12 +1,7 @@
|
||||
.section .text
|
||||
.global _start
|
||||
.global main
|
||||
_start:
|
||||
mov $1, %rax
|
||||
mov $'H', %rdi
|
||||
syscall
|
||||
|
||||
mov $1, %rax
|
||||
mov $'i', %rdi
|
||||
syscall
|
||||
call main
|
||||
|
||||
1: jmp 1b
|
||||
Reference in New Issue
Block a user