Rev 4055 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4055 | Rev 4156 | ||
|---|---|---|---|
| Line 72... | Line 72... | ||
| 72 | /* %ebx is defined to hold pcb_ptr - set it to 0 */ |
72 | /* %ebx is defined to hold pcb_ptr - set it to 0 */ |
| 73 | "xorl %%ebx, %%ebx\n" |
73 | "xorl %%ebx, %%ebx\n" |
| 74 | 74 | ||
| 75 | "iret\n" |
75 | "iret\n" |
| 76 | : |
76 | : |
| 77 | : [udata_des] "i" (selector(UDATA_DES) | PL_USER), |
77 | : [udata_des] "i" (gdtselector(UDATA_DES) | PL_USER), |
| 78 | [stack_size] "r" ((uint8_t *) kernel_uarg->uspace_stack + THREAD_STACK_SIZE), |
78 | [stack_size] "r" ((uint8_t *) kernel_uarg->uspace_stack + THREAD_STACK_SIZE), |
| 79 | [ipl] "r" (ipl), |
79 | [ipl] "r" (ipl), |
| 80 | [utext_des] "i" (selector(UTEXT_DES) | PL_USER), |
80 | [utext_des] "i" (gdtselector(UTEXT_DES) | PL_USER), |
| 81 | [entry] "r" (kernel_uarg->uspace_entry), |
81 | [entry] "r" (kernel_uarg->uspace_entry), |
| 82 | [uarg] "r" (kernel_uarg->uspace_uarg), |
82 | [uarg] "r" (kernel_uarg->uspace_uarg), |
| 83 | [tls_des] "r" (selector(TLS_DES)) |
83 | [tls_des] "r" (gdtselector(TLS_DES)) |
| 84 | : "eax"); |
84 | : "eax"); |
| 85 | 85 | ||
| 86 | /* Unreachable */ |
86 | /* Unreachable */ |
| 87 | while (1); |
87 | while (1); |
| 88 | } |
88 | } |