- Remove some OBE comments regarding cpu_exit(). cpu_exit() is no longer
the last action of kern_exit(). Instead, it is a MD callout to cleanup per-process state during exit. - Add notes of concern to Alpha and ia64 about the possible need to drop fp state in cpu_thread_exit() rather than in cpu_exit() since it is per-thread state rather than per-process.
This commit is contained in:
parent
386cce6371
commit
a8f8001b38
@ -224,17 +224,15 @@ cpu_set_fork_handler(td, func, arg)
|
||||
td->td_pcb->pcb_context[2] = (u_long) arg;
|
||||
}
|
||||
|
||||
/*
|
||||
* cpu_exit is called as the last action during exit.
|
||||
* We release the address space of the process, block interrupts,
|
||||
* and call switch_exit. switch_exit switches to proc0's PCB and stack,
|
||||
* then jumps into the middle of cpu_switch, as if it were switching
|
||||
* from proc0.
|
||||
*/
|
||||
void
|
||||
cpu_exit(struct thread *td)
|
||||
{
|
||||
|
||||
/*
|
||||
* XXX: Should this be in thread_exit instead? If so,
|
||||
* alpha_fpstate_save() should be in cpu_set_upcall()
|
||||
* as well.
|
||||
*/
|
||||
alpha_fpstate_drop(td);
|
||||
}
|
||||
|
||||
|
@ -297,6 +297,7 @@ void
|
||||
cpu_exit(struct thread *td)
|
||||
{
|
||||
|
||||
/* XXX: Should this be in cpu_thread_exit() instead? */
|
||||
/* Throw away the high FP registers. */
|
||||
ia64_highfp_drop(td);
|
||||
}
|
||||
|
@ -182,13 +182,6 @@ cpu_set_fork_handler(td, func, arg)
|
||||
cf->cf_arg0 = (register_t)arg;
|
||||
}
|
||||
|
||||
/*
|
||||
* cpu_exit is called as the last action during exit.
|
||||
* We release the address space of the process, block interrupts,
|
||||
* and call switch_exit. switch_exit switches to proc0's PCB and stack,
|
||||
* then jumps into the middle of cpu_switch, as if it were switching
|
||||
* from proc0.
|
||||
*/
|
||||
void
|
||||
cpu_exit(td)
|
||||
register struct thread *td;
|
||||
|
@ -182,13 +182,6 @@ cpu_set_fork_handler(td, func, arg)
|
||||
cf->cf_arg0 = (register_t)arg;
|
||||
}
|
||||
|
||||
/*
|
||||
* cpu_exit is called as the last action during exit.
|
||||
* We release the address space of the process, block interrupts,
|
||||
* and call switch_exit. switch_exit switches to proc0's PCB and stack,
|
||||
* then jumps into the middle of cpu_switch, as if it were switching
|
||||
* from proc0.
|
||||
*/
|
||||
void
|
||||
cpu_exit(td)
|
||||
register struct thread *td;
|
||||
|
Loading…
Reference in New Issue
Block a user