version 1.43.4.6, 2007/01/19 19:35:22 |
version 1.43.4.7, 2007/01/19 20:07:55 |
Line 1159 ENTRY(cpu_exit) |
|
Line 1159 ENTRY(cpu_exit) |
|
/* Restore the idle context. */ |
/* Restore the idle context. */ |
cli |
cli |
|
|
/* In case we fault... */ |
|
movl $0,CPUVAR(CURLWP) |
|
|
|
/* Restore stack pointers. */ |
/* Restore stack pointers. */ |
movl PCB_ESP(%esi),%esp |
movl PCB_ESP(%esi),%esp |
movl PCB_EBP(%esi),%ebp |
movl PCB_EBP(%esi),%ebp |
Line 1188 ENTRY(cpu_exit) |
|
Line 1185 ENTRY(cpu_exit) |
|
/* Record new pcb. */ |
/* Record new pcb. */ |
SET_CURPCB(%esi) |
SET_CURPCB(%esi) |
|
|
|
/* Now off the CPU. */ |
|
movl $0,CPUVAR(CURLWP) |
|
|
/* Interrupts are okay again. */ |
/* Interrupts are okay again. */ |
sti |
sti |
|
|
/* Jump into cpu_switch() with the right state. */ |
/* Jump into cpu_switch() with the right state. */ |
xorl %esi,%esi |
xorl %esi,%esi |
movl %esi,CPUVAR(CURLWP) |
|
jmp idle_start |
jmp idle_start |
|
|
/* |
/* |