Subversion Repositories HelenOS

Rev

Rev 3022 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3022 Rev 4055
Line 29... Line 29...
29
.section .init, "ax"
29
.section .init, "ax"
30
 
30
 
31
.org 0
31
.org 0
32
 
32
 
33
.globl __entry
33
.globl __entry
34
.globl __entry_driver
-
 
35
 
34
 
36
## User-space task entry point
35
## User-space task entry point
37
#
36
#
-
 
37
# %ebx contains the PCB pointer
38
#
38
#
39
__entry:
39
__entry:
40
	mov %ss, %ax
40
	mov %ss, %ax
41
	mov %ax, %ds
41
	mov %ax, %ds
42
	mov %ax, %es
42
	mov %ax, %es
43
	mov %ax, %fs
43
	mov %ax, %fs
44
	# Do not set %gs, it contains descriptor that can see TLS
44
	# Do not set %gs, it contains descriptor that can see TLS
45
	
45
 
46
	call __main
-
 
47
	call __io_init
46
	# Pass the PCB pointer to __main as the first argument
48
	call main
47
	pushl %ebx
49
	call __exit
-
 
50
	
-
 
51
__entry_driver:
-
 
52
	mov %ss, %ax
-
 
53
	mov %ax, %ds
-
 
54
	mov %ax, %es
-
 
55
	mov %ax, %fs
-
 
56
	# Do not set %gs, it contains descriptor that can see TLS
-
 
57
	
-
 
58
	call __main
48
	call __main
59
	call main
49
 
60
	call __exit
50
	call __exit