aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/trap.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c
index 3db80deeeef7..6c554f75c30e 100644
--- a/sys/alpha/alpha/trap.c
+++ b/sys/alpha/alpha/trap.c
@@ -669,24 +669,8 @@ syscall(code, framep)
sticks = td->td_kse->ke_sticks;
if (td->td_ucred != p->p_ucred)
cred_update_thread(td);
- if (p->p_flag & P_KSES) {
- /*
- * If we are doing a syscall in a KSE environment,
- * note where our mailbox is. There is always the
- * possibility that we could do this lazily (in sleep()),
- * but for now do it every time.
- */
- td->td_mailbox = (void *)fuword((caddr_t)td->td_kse->ke_mailbox
- + offsetof(struct kse_mailbox, km_curthread));
- if ((td->td_mailbox == NULL) ||
- (td->td_mailbox == (void *)-1)) {
- td->td_mailbox = NULL; /* single thread it.. */
- td->td_flags &= ~TDF_UNBOUND;
- } else {
- td->td_flags |= TDF_UNBOUND;
- }
- }
-
+ if (p->p_flag & P_KSES)
+ thread_user_enter(p, td);
#ifdef DIAGNOSTIC
alpha_fpstate_check(td);
#endif