summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-01-14 20:13:04 +0000
committerjhb <jhb@FreeBSD.org>2005-01-14 20:13:04 +0000
commita8f8001b386fe2eeb885121ae0f2b748ddf8e1f7 (patch)
tree616e91c8a186fb7ae6b7cf4d41adcf346d9313e3 /sys/alpha
parent386cce6371d927f9f349b90cd0afe4cf63fda5dc (diff)
downloadFreeBSD-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/alpha')
-rw-r--r--sys/alpha/alpha/vm_machdep.c12
1 files changed, 5 insertions, 7 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);
}
OpenPOWER on IntegriCloud