diff options
author | jhb <jhb@FreeBSD.org> | 2005-01-14 20:13:04 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-01-14 20:13:04 +0000 |
commit | a8f8001b386fe2eeb885121ae0f2b748ddf8e1f7 (patch) | |
tree | 616e91c8a186fb7ae6b7cf4d41adcf346d9313e3 /sys | |
parent | 386cce6371d927f9f349b90cd0afe4cf63fda5dc (diff) | |
download | FreeBSD-src-a8f8001b386fe2eeb885121ae0f2b748ddf8e1f7.zip FreeBSD-src-a8f8001b386fe2eeb885121ae0f2b748ddf8e1f7.tar.gz |
- 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.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/alpha/vm_machdep.c | 12 | ||||
-rw-r--r-- | sys/ia64/ia64/vm_machdep.c | 1 | ||||
-rw-r--r-- | sys/powerpc/aim/vm_machdep.c | 7 | ||||
-rw-r--r-- | sys/powerpc/powerpc/vm_machdep.c | 7 |
4 files changed, 6 insertions, 21 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c index bc8bc52..17972b9 100644 --- a/sys/alpha/alpha/vm_machdep.c +++ b/sys/alpha/alpha/vm_machdep.c @@ -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); } diff --git a/sys/ia64/ia64/vm_machdep.c b/sys/ia64/ia64/vm_machdep.c index 56dabfb..f8fdb94 100644 --- a/sys/ia64/ia64/vm_machdep.c +++ b/sys/ia64/ia64/vm_machdep.c @@ -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); } diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c index acd8645..654a4be 100644 --- a/sys/powerpc/aim/vm_machdep.c +++ b/sys/powerpc/aim/vm_machdep.c @@ -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; diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index acd8645..654a4be 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -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; |