Rev 11 | Rev 16 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 11 | Rev 15 | ||
---|---|---|---|
Line 182... | Line 182... | ||
182 | /* |
182 | /* |
183 | * If we woke kmp up before we left the kernel stack, we could |
183 | * If we woke kmp up before we left the kernel stack, we could |
184 | * collide with another CPU coming up. To prevent this, we |
184 | * collide with another CPU coming up. To prevent this, we |
185 | * switch to this cpu's private stack prior to waking kmp up. |
185 | * switch to this cpu's private stack prior to waking kmp up. |
186 | */ |
186 | */ |
187 | the->cpu->saved_context.sp = (__address) &the->cpu->stack[CPU_STACK_SIZE-8]; |
187 | CPU->saved_context.sp = (__address) &CPU->stack[CPU_STACK_SIZE-8]; |
188 | the->cpu->saved_context.pc = (__address) main_ap_separated_stack; |
188 | CPU->saved_context.pc = (__address) main_ap_separated_stack; |
189 | context_restore(&the->cpu->saved_context); |
189 | context_restore(&CPU->saved_context); |
190 | /* not reached */ |
190 | /* not reached */ |
191 | } |
191 | } |
192 | 192 | ||
193 | void main_ap_separated_stack(void) |
193 | void main_ap_separated_stack(void) |
194 | { |
194 | { |