diff options
author | jb <jb@FreeBSD.org> | 2006-10-26 21:42:22 +0000 |
---|---|---|
committer | jb <jb@FreeBSD.org> | 2006-10-26 21:42:22 +0000 |
commit | f82c7997354f95e680341bb8e10136ded5fd15eb (patch) | |
tree | 2136d90e7e60f4ef25fe147499787d0e6a155b82 /sys/ia64 | |
parent | b3e38fbc69f126c6cc49a0a6e45096d6c01b7c43 (diff) | |
download | FreeBSD-src-f82c7997354f95e680341bb8e10136ded5fd15eb.zip FreeBSD-src-f82c7997354f95e680341bb8e10136ded5fd15eb.tar.gz |
Make KSE a kernel option, turned on by default in all GENERIC
kernel configs except sun4v (which doesn't process signals properly
with KSE).
Reviewed by: davidxu@
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/conf/GENERIC | 1 | ||||
-rw-r--r-- | sys/ia64/ia64/machdep.c | 4 | ||||
-rw-r--r-- | sys/ia64/ia64/trap.c | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/sys/ia64/conf/GENERIC b/sys/ia64/conf/GENERIC index 6851996..32d71e0 100644 --- a/sys/ia64/conf/GENERIC +++ b/sys/ia64/conf/GENERIC @@ -53,6 +53,7 @@ options SYSVSHM # SYSV-style shared memory options UFS_ACL # Support for access control lists options UFS_DIRHASH # Hash-based directory lookup scheme options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B RT extensions +options KSE # KSE support # Various "busses" device firewire # FireWire bus code diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c index 1dee282..e23ae4b 100644 --- a/sys/ia64/ia64/machdep.c +++ b/sys/ia64/ia64/machdep.c @@ -775,7 +775,11 @@ ia64_init(void) msgbufp = (struct msgbuf *)pmap_steal_memory(MSGBUF_SIZE); msgbufinit(msgbufp, MSGBUF_SIZE); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif /* * Init mapping for kernel stack for proc 0 */ diff --git a/sys/ia64/ia64/trap.c b/sys/ia64/ia64/trap.c index 41365a9..33f7743 100644 --- a/sys/ia64/ia64/trap.c +++ b/sys/ia64/ia64/trap.c @@ -975,8 +975,10 @@ syscall(struct trapframe *tf) td->td_pticks = 0; if (td->td_ucred != p->p_ucred) cred_update_thread(td); +#ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); +#endif if (p->p_sysent->sv_prepsyscall) { /* (*p->p_sysent->sv_prepsyscall)(tf, args, &code, ¶ms); */ |