diff options
author | John Birrell <jb@FreeBSD.org> | 2006-10-26 21:42:22 +0000 |
---|---|---|
committer | John Birrell <jb@FreeBSD.org> | 2006-10-26 21:42:22 +0000 |
commit | 8460a577a4b4ec185bd813188a5b188893b8c140 (patch) | |
tree | 2136d90e7e60f4ef25fe147499787d0e6a155b82 /sys/arm | |
parent | 50159fa2161d549dbe2cb3ff9db1cc3816d48c37 (diff) | |
download | src-8460a577a4b4ec185bd813188a5b188893b8c140.tar.gz src-8460a577a4b4ec185bd813188a5b188893b8c140.zip |
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@
Notes
Notes:
svn path=/head/; revision=163709
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/trap.c | 6 | ||||
-rw-r--r-- | sys/arm/at91/kb920x_machdep.c | 4 | ||||
-rw-r--r-- | sys/arm/conf/EP80219 | 1 | ||||
-rw-r--r-- | sys/arm/conf/IQ31244 | 1 | ||||
-rw-r--r-- | sys/arm/conf/KB920X | 1 | ||||
-rw-r--r-- | sys/arm/conf/SIMICS | 1 | ||||
-rw-r--r-- | sys/arm/conf/SKYEYE | 1 | ||||
-rw-r--r-- | sys/arm/sa11x0/assabet_machdep.c | 4 | ||||
-rw-r--r-- | sys/arm/xscale/i80321/ep80219_machdep.c | 4 | ||||
-rw-r--r-- | sys/arm/xscale/i80321/iq31244_machdep.c | 4 |
10 files changed, 27 insertions, 0 deletions
diff --git a/sys/arm/arm/trap.c b/sys/arm/arm/trap.c index b50b6b7aede0..884d54095dd3 100644 --- a/sys/arm/arm/trap.c +++ b/sys/arm/arm/trap.c @@ -263,8 +263,10 @@ data_abort_handler(trapframe_t *tf) td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif } /* Grab the current pcb */ @@ -730,8 +732,10 @@ prefetch_abort_handler(trapframe_t *tf) td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif } fault_pc = tf->tf_pc; if (td->td_md.md_spinlock_count == 0) { @@ -1005,8 +1009,10 @@ swi_handler(trapframe_t *frame) td->td_frame = frame; td->td_pticks = 0; +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif /* * Make sure the program counter is correctly aligned so we * don't take an alignment fault trying to read the opcode. diff --git a/sys/arm/at91/kb920x_machdep.c b/sys/arm/at91/kb920x_machdep.c index f3452a527c19..04677922690f 100644 --- a/sys/arm/at91/kb920x_machdep.c +++ b/sys/arm/at91/kb920x_machdep.c @@ -456,7 +456,11 @@ initarm(void *arg, void *arg2) undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; diff --git a/sys/arm/conf/EP80219 b/sys/arm/conf/EP80219 index 14308aae86a5..fd3493cf09f5 100644 --- a/sys/arm/conf/EP80219 +++ b/sys/arm/conf/EP80219 @@ -59,6 +59,7 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev options GEOM_GPT # GUID Partition Tables. options GEOM_MBR # DOS/MBR partitioning options GEOM_LABEL # Providers labelization. +options KSE # KSE support options BOOTP options BOOTP_NFSROOT diff --git a/sys/arm/conf/IQ31244 b/sys/arm/conf/IQ31244 index 8cbb079127d6..17495ff018ec 100644 --- a/sys/arm/conf/IQ31244 +++ b/sys/arm/conf/IQ31244 @@ -61,6 +61,7 @@ options BOOTP_NFSV3 options BOOTP_WIRED_TO=em0 options BOOTP_COMPAT #options PREEMPTION +options KSE # KSE support device genclock device loop device ether diff --git a/sys/arm/conf/KB920X b/sys/arm/conf/KB920X index a865cce876db..33f5aaa28550 100644 --- a/sys/arm/conf/KB920X +++ b/sys/arm/conf/KB920X @@ -60,6 +60,7 @@ options MUTEX_NOINLINE options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING +options KSE # KSE support device genclock device random device pty diff --git a/sys/arm/conf/SIMICS b/sys/arm/conf/SIMICS index ab24a0965ff8..8eeda57deaf7 100644 --- a/sys/arm/conf/SIMICS +++ b/sys/arm/conf/SIMICS @@ -53,6 +53,7 @@ options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options KSE # KSE support device genclock device loop device ether diff --git a/sys/arm/conf/SKYEYE b/sys/arm/conf/SKYEYE index 8a52f94241b2..ad66fa4825cc 100644 --- a/sys/arm/conf/SKYEYE +++ b/sys/arm/conf/SKYEYE @@ -58,6 +58,7 @@ options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options KSE # KSE support device genclock device loop device ether diff --git a/sys/arm/sa11x0/assabet_machdep.c b/sys/arm/sa11x0/assabet_machdep.c index b5d6eb3f3e07..42a177f7292c 100644 --- a/sys/arm/sa11x0/assabet_machdep.c +++ b/sys/arm/sa11x0/assabet_machdep.c @@ -423,7 +423,11 @@ initarm(void *arg, void *arg2) /* Set stack for exception handlers */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; diff --git a/sys/arm/xscale/i80321/ep80219_machdep.c b/sys/arm/xscale/i80321/ep80219_machdep.c index 59bd7ca38588..72ba79b37076 100644 --- a/sys/arm/xscale/i80321/ep80219_machdep.c +++ b/sys/arm/xscale/i80321/ep80219_machdep.c @@ -429,7 +429,11 @@ initarm(void *arg, void *arg2) undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; diff --git a/sys/arm/xscale/i80321/iq31244_machdep.c b/sys/arm/xscale/i80321/iq31244_machdep.c index 16c22d4693ad..3c8279a063f6 100644 --- a/sys/arm/xscale/i80321/iq31244_machdep.c +++ b/sys/arm/xscale/i80321/iq31244_machdep.c @@ -427,7 +427,11 @@ initarm(void *arg, void *arg2) undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; |