mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
[kernel] Improve process init
Move process init from each process needing a main.s with _start to crt0.s in libc. Also change to a sysv-like initial stack with a j6-specific array of initialization values after the program arguments.
This commit is contained in:
19
src/libraries/libc/arch/x86_64/crt0.s
Normal file
19
src/libraries/libc/arch/x86_64/crt0.s
Normal file
@@ -0,0 +1,19 @@
|
||||
extern main
|
||||
extern exit
|
||||
extern _init_libc
|
||||
|
||||
global _start:function (_start.end - _start)
|
||||
_start:
|
||||
mov rbp, rsp
|
||||
mov rdi, rsp
|
||||
|
||||
call _init_libc
|
||||
|
||||
pop rdi
|
||||
mov rsi, rsp
|
||||
|
||||
call main
|
||||
|
||||
mov rdi, rax
|
||||
call exit
|
||||
.end:
|
||||
Reference in New Issue
Block a user