freebsd-nq/sys/kern
Marcel Moolenaar 11e0f8e16d Change the second (and last) argument of cpu_set_upcall(). Previously
we were passing in a void* representing the PCB of the parent thread.
Now we pass a pointer to the parent thread itself.
The prime reason for this change is to allow cpu_set_upcall() to copy
(parts of) the trapframe instead of having it done in MI code in each
caller of cpu_set_upcall(). Copying the trapframe cannot always be
done with a simply bcopy() or may not always be optimal that way. On
ia64 specifically the trapframe contains information that is specific
to an entry into the kernel and can only be used by the corresponding
exit from the kernel. A trapframe copied verbatim from another frame
is in most cases useless without some additional normalization.

Note that this change removes the assignment to td->td_frame in some
implementations of cpu_set_upcall(). The assignment is redundant.
A previous call to cpu_thread_setup() already did the exact same
assignment. An added benefit of removing the redundant assignment is
that we can now change td_pcb without nasty side-effects.

This change officially marks the ability on ia64 for 1:1 threading.

Not tested on: amd64, powerpc
Compile & boot tested on: alpha, sparc64
Functionally tested on: i386, ia64
2003-06-04 21:13:21 +00:00
..
bus_if.m Give print_child a default method. 2003-03-25 04:32:52 +00:00
clock_if.m
device_if.m
genassym.sh
imgact_aout.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
imgact_elf32.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf64.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf.c Fix ia32 compat on ia64. Recent ia64 MD changes caused the garbage on 2003-05-31 19:55:05 +00:00
imgact_gzip.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
imgact_shell.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
inflate.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
init_main.c Add tracking of process leaders sharing a file descriptor table and 2003-06-02 16:05:32 +00:00
init_sysent.c Regen from syscalls.master:1.149, addition of extended attribute 2003-06-04 03:50:20 +00:00
kern_acct.c Instead of recording the Unix time in a process when it starts, record the 2003-05-01 16:59:23 +00:00
kern_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
kern_alq.c - Reset the free ent to NULL if we have consumed the last free entry. This 2003-05-25 08:48:42 +00:00
kern_clock.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
kern_condvar.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_conf.c Remove return after panic. 2003-05-31 20:18:23 +00:00
kern_context.c Add an argument to get_mcontext() which specified whether the 2003-04-25 01:50:30 +00:00
kern_descrip.c Add tracking of process leaders sharing a file descriptor table and 2003-06-02 16:05:32 +00:00
kern_environment.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_event.c Fix race between a process registering a NOTE_EXIT EVFILT_PROC event and 2003-04-12 01:57:04 +00:00
kern_exec.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_exit.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_fork.c Add tracking of process leaders sharing a file descriptor table and 2003-06-02 16:05:32 +00:00
kern_idle.c Move the flag that indicates an idle thread from the KSE to the thread. 2003-05-02 00:33:12 +00:00
kern_intr.c Remove unused variable(s). 2003-05-31 20:29:34 +00:00
kern_jail.c style(9) 2003-04-28 18:32:19 +00:00
kern_kse.c Change the second (and last) argument of cpu_set_upcall(). Previously 2003-06-04 21:13:21 +00:00
kern_kthread.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_ktr.c Move the flag that indicates an idle thread from the KSE to the thread. 2003-05-02 00:33:12 +00:00
kern_ktrace.c - Push down Giant around vnode operations in ktrace(). 2003-04-25 19:59:35 +00:00
kern_linker.c FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch 2003-03-03 22:53:35 +00:00
kern_lock.c Use the KTR_LOCK mask for logging events via KTR in lockmgr() rather 2003-03-11 20:00:37 +00:00
kern_lockf.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
kern_mac.c Rename MAC_MAX_POLICIES to MAC_MAX_SLOTS, since the variables and 2003-05-08 19:49:42 +00:00
kern_malloc.c Don't pass NULL pointer to memset if we are compiled with DIAGNOSTIC 2003-05-12 05:09:56 +00:00
kern_mib.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
kern_module.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_mtxpool.c
kern_mutex.c Add "" around mutex name to make message less confusing. 2003-05-31 21:11:01 +00:00
kern_ntptime.c Explicitly have the timecounter init happen after the cpu_initclocks is 2003-01-06 01:01:08 +00:00
kern_physio.c Don't reinitialize fields that are already initialized by getpbuf(). 2003-04-05 23:02:58 +00:00
kern_poll.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
kern_proc.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_prot.c Remove Giant from the setuid(), seteuid(), setgid(), setegid(), 2003-05-01 21:21:42 +00:00
kern_resource.c Remove Giant from [gs]etpriority(). 2003-04-23 18:48:55 +00:00
kern_sema.c
kern_shutdown.c Lock the sched_lock while setting TDF_INPANIC. 2003-04-17 22:29:23 +00:00
kern_sig.c Fix long standing bug that prevents the PT_CONTINUE, PT_KILL and 2003-05-16 01:34:23 +00:00
kern_subr.c Tweak the clearing of TDF_DEADLKTREAT so that we only bother grabbing the 2003-05-05 21:27:29 +00:00
kern_switch.c When we are spilling threads out of the run queue during panic, make sure we 2003-05-21 18:53:25 +00:00
kern_sx.c
kern_synch.c Add a couple of XXX comments where the intent is not clear. 2003-05-31 20:13:58 +00:00
kern_syscalls.c
kern_sysctl.c When loading a module that contains a sysctl which is already compiled 2003-05-29 21:19:18 +00:00
kern_tc.c Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
kern_thr.c Change the second (and last) argument of cpu_set_upcall(). Previously 2003-06-04 21:13:21 +00:00
kern_thread.c Change the second (and last) argument of cpu_set_upcall(). Previously 2003-06-04 21:13:21 +00:00
kern_time.c In setitimer(2), if the it_value of the new itimer value is clear, then 2003-05-13 19:21:46 +00:00
kern_timeout.c Add instrumentation which tells us how much work softclock() does 2003-06-04 05:25:58 +00:00
kern_umtx.c - Remove the blocked pointer from the umtx structure. 2003-06-03 05:24:46 +00:00
kern_uuid.c Introduce {be,le}_uuid_{enc,dec}() functions for explicitly encoding 2003-05-31 16:47:07 +00:00
kern_xxx.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
ksched.c Move a bunch of flags from the KSE to the thread. 2003-02-17 09:55:10 +00:00
link_elf_obj.c Bail out if there were not two loadable sections. Add XXX comment about 2003-05-12 15:08:10 +00:00
link_elf.c Bail out if there were not two loadable sections. Add XXX comment about 2003-05-12 15:08:10 +00:00
linker_if.m
Make.tags.inc Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
Makefile Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
makesyscalls.sh - Include umtx.h in files generated by makesyscalls.sh 2003-04-01 01:12:24 +00:00
md4c.c
md5c.c Use le32dec() instead of le32toh() because we are not guaranteed to have 2003-05-05 07:22:35 +00:00
p1003_1b.c Use copyout to access user memory. 2003-01-07 20:10:04 +00:00
posix4_mib.c Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
sched_4bsd.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
sched_ule.c Fix typo in last commit 2003-05-02 06:18:55 +00:00
subr_acl_posix1e.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
subr_autoconf.c
subr_blist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_bus.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
subr_clist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_clock.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_devstat.c Unbreak vinum, iostat and systat on sparc64 by changing the devstat 2003-04-17 15:06:28 +00:00
subr_disk.c Don't include <sys/disklabel.h> 2003-04-16 20:57:35 +00:00
subr_eventhandler.c Rework the eventhandler locking for hopefully the last time. The scheme 2003-03-11 20:17:00 +00:00
subr_hints.c Cosmetic tweaks. Try and keep the style more consistent, catch some stray 2002-05-01 02:51:50 +00:00
subr_kobj.c Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
subr_log.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
subr_mbuf.c Fix a potential bucket leak where when freeing to an empty bucket 2003-06-03 19:19:13 +00:00
subr_mchain.c The "m = m->m_next" that was removed in the revision 1.12 was necessary 2003-02-19 10:12:42 +00:00
subr_module.c
subr_param.c Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
subr_pcpu.c
subr_power.c Use ISO 9X variadic macro format; arguments are not optional, just 2002-07-15 17:17:56 +00:00
subr_prf.c Remove unused variable(s). 2003-05-31 20:11:33 +00:00
subr_prof.c remove old and inaccurate XXX comment. 2003-05-02 01:02:20 +00:00
subr_rman.c Remove unused variable(s). 2003-05-31 20:29:34 +00:00
subr_rtc.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_sbuf.c Copy the va_list in sbuf_vprintf() before passing it to vsnprintf(), 2003-05-25 19:03:08 +00:00
subr_scanf.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
subr_smp.c Move the _oncpu entry from the KSE to the thread. 2003-04-10 17:35:44 +00:00
subr_taskqueue.c Introduce a new taskqueue that runs completely free of Giant, and in 2003-02-26 03:15:42 +00:00
subr_trap.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
subr_turnstile.c Add "" around mutex name to make message less confusing. 2003-05-31 21:11:01 +00:00
subr_witness.c Remove return after panic. 2003-05-31 20:09:42 +00:00
subr_xxx.c - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
sys_generic.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
sys_pipe.c Need to hold the same SMP lock for (knote) list traversal as for 2003-04-02 15:24:50 +00:00
sys_process.c Push down Giant around calls to proc_rwmem() in kern_ptrace. kern_ptrace() 2003-04-25 20:02:16 +00:00
sys_socket.c Remove duplicate includes. 2003-02-20 03:26:11 +00:00
syscalls.c Regen from syscalls.master:1.149, addition of extended attribute 2003-06-04 03:50:20 +00:00
syscalls.master Add system calls to explicitly list extended attributes on a 2003-06-04 03:49:31 +00:00
sysv_ipc.c Attempt to further comment and clarify System V IPC logic: document 2003-05-31 23:31:51 +00:00
sysv_msg.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sysv_sem.c Replace the at_fork, at_exec, and at_exit functions with the slightly more 2003-03-24 21:15:35 +00:00
sysv_shm.c Change the semantics of sysv shm emulation to take a additional 2003-05-05 09:22:58 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Don't call make_dev() before we are ready for it. 2003-03-09 20:42:49 +00:00
tty_pty.c "break" rather than fall through to a break in the default clause. 2003-05-31 16:53:16 +00:00
tty_subr.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
tty_tty.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
tty.c p_sigignore moved into struct sigacts. move one which was missed. 2003-05-14 00:03:55 +00:00
uipc_accf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_cow.c The data in an sf_buf should not be modified by the mbuf system. Mark 2003-04-11 07:02:36 +00:00
uipc_domain.c Fix a spelling error. 2003-03-07 22:47:32 +00:00
uipc_jumbo.c Lock the jumbo_vm_object when performing vm_page_alloc(). 2003-04-19 19:13:25 +00:00
uipc_mbuf2.c Move MAC label storage for mbufs into m_tags from the m_pkthdr structure, 2003-04-14 20:39:06 +00:00
uipc_mbuf.c Add another MBUF_STRESS_TEST feature, m_defragrandomfailures. 2003-04-15 02:14:43 +00:00
uipc_proto.c
uipc_sem.c Replace the at_fork, at_exec, and at_exit functions with the slightly more 2003-03-24 21:15:35 +00:00
uipc_sockbuf.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
uipc_socket2.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
uipc_socket.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
uipc_syscalls.c Grab giant in sendit rather than kern_sendit because sockargs may 2003-05-29 18:36:26 +00:00
uipc_usrreq.c s/discriptors/descriptors/ 2003-03-23 19:41:34 +00:00
vfs_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_aio.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
vfs_bio.c The IO_NOWDRAIN and B_NOWDRAIN hacks are no longer needed to prevent 2003-05-31 16:42:45 +00:00
vfs_cache.c Backout the getcwd changes, a more comprehensive effort will be needed. 2003-03-20 10:40:45 +00:00
vfs_cluster.c The IO_NOWDRAIN and B_NOWDRAIN hacks are no longer needed to prevent 2003-05-31 16:42:45 +00:00
vfs_default.c Lock the vm_object when performing vm_pager_deallocate(). 2003-05-06 02:45:28 +00:00
vfs_export.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_extattr.c Implementations of extattr_list_fd(), extattr_list_file(), and 2003-06-04 03:57:28 +00:00
vfs_init.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_lookup.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_mount.c Free mount credentials (mnt_cred) when freeing the mount struct 2003-04-24 08:16:06 +00:00
vfs_subr.c Remove unused variable and now unbalanced call to splbio(); 2003-05-31 20:09:01 +00:00
vfs_syscalls.c Implementations of extattr_list_fd(), extattr_list_file(), and 2003-06-04 03:57:28 +00:00
vfs_vnops.c Assert the vnode lock when returning successfully from vn_open_cred(). 2003-06-04 00:54:27 +00:00
vnode_if.src Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00