Rev 3078 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3078 | Rev 3222 | ||
|---|---|---|---|
| Line 32... | Line 32... | ||
| 32 | 32 | ||
| 33 | .globl __entry |
33 | .globl __entry |
| 34 | 34 | ||
| 35 | ## User-space task entry point |
35 | ## User-space task entry point |
| 36 | # |
36 | # |
| - | 37 | # %ebx contains the PCB pointer |
|
| 37 | # |
38 | # |
| 38 | __entry: |
39 | __entry: |
| 39 | mov %ss, %ax |
40 | mov %ss, %ax |
| 40 | mov %ax, %ds |
41 | mov %ax, %ds |
| 41 | mov %ax, %es |
42 | mov %ax, %es |
| 42 | mov %ax, %fs |
43 | mov %ax, %fs |
| 43 | # Do not set %gs, it contains descriptor that can see TLS |
44 | # Do not set %gs, it contains descriptor that can see TLS |
| 44 | 45 | ||
| - | 46 | # Pass the PCB pointer to __main as the first argument |
|
| - | 47 | pushl %ebx |
|
| 45 | call __main |
48 | call __main |
| 46 | call main |
49 | |
| 47 | call __exit |
50 | call __exit |