Rev 3022 | Go to most recent revision | 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 |