Rev 2441 | Rev 3892 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2441 | Rev 2630 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | * |
56 | * |
57 | * THREAD is locked and interrupts are disabled. |
57 | * THREAD is locked and interrupts are disabled. |
58 | */ |
58 | */ |
59 | void before_thread_runs_arch(void) |
59 | void before_thread_runs_arch(void) |
60 | { |
60 | { |
61 | CPU->arch.tss->esp0 = (uintptr_t) &THREAD->kstack[THREAD_STACK_SIZE-SP_DELTA]; |
61 | CPU->arch.tss->esp0 = (uintptr_t) &THREAD->kstack[THREAD_STACK_SIZE - |
- | 62 | SP_DELTA]; |
|
62 | CPU->arch.tss->ss0 = selector(KDATA_DES); |
63 | CPU->arch.tss->ss0 = selector(KDATA_DES); |
63 | 64 | ||
64 | /* Set up TLS in GS register */ |
65 | /* Set up TLS in GS register */ |
65 | set_tls_desc(THREAD->arch.tls); |
66 | set_tls_desc(THREAD->arch.tls); |
66 | 67 |