feat: dynamic boot medium probing and mounting
[lunaix-os.git] / lunaix-os / usr / uwrap.S
1 #define __ASM__
2 #include <lunaix/syscall.h>
3
4 .section .data
5     .global environ
6     environ:
7         .long 0
8
9 .section .text
10     .global _u_start
11     _u_start:
12         movl (%esp), %eax
13         pushl %eax
14         call usr_pre_init
15         jnz 1f
16
17         popl %eax
18
19         pushl 4(%eax)   // argv
20         pushl (%eax)    // argc
21         
22         xorl %eax, %eax
23         call main
24         
25     1:
26         movl %eax, %ebx
27         movl $__SYSCALL__exit, %eax
28         int $LUNAIX_SYS_CALL
29
30         ud2 // should not reach