<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/alpha/include/cpu.h, branch release/5.2.1_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-02-23T15:32:56Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-02-23T15:32:56Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-02-23T15:32:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=84a7b99b4e02a260bf7ff9b540032f4cb7bc612a'/>
<id>urn:sha1:84a7b99b4e02a260bf7ff9b540032f4cb7bc612a</id>
<content type='text'>
'RELENG_5_2_1_RELEASE'.

This commit was manufactured to restore the state of the 5.2.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>Cleanup &lt;machine/cpu.h&gt; by moving MD prototypes to &lt;machine/md_var.h&gt;</title>
<updated>2003-08-17T06:42:08Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-08-17T06:42:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3e25ce2310c7653e2d8c15045871364a3a298c9c'/>
<id>urn:sha1:3e25ce2310c7653e2d8c15045871364a3a298c9c</id>
<content type='text'>
like we have on other platforms. Move savectx() to &lt;machine/pcb.h&gt;.
A lot of files got these MD prototypes through the indirect inclusion
of &lt;machine/cpu.h&gt; and now need to include &lt;machine/md_var.h&gt;. The
number of which is unexpectedly large...

osf1_misc.c especially is tricky because szsigcode is redefined in
one of the osf1 header files. Reordering of the include files was
needed.

linprocfs.c now needs an explicit extern declaration.

Tested with: LINT
</content>
</entry>
<entry>
<title>Further cleanup &lt;machine/cpu.h&gt; and &lt;machine/md_var.h&gt;: move the MI</title>
<updated>2003-08-16T16:57:57Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-08-16T16:57:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=26502503e57448b879c9293f18ad778c2f7e5f78'/>
<id>urn:sha1:26502503e57448b879c9293f18ad778c2f7e5f78</id>
<content type='text'>
prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to
cpu.h. This affects db_command.c and kern_shutdown.c.

ia64: move all MD prototypes from cpu.h to md_var.h. This affects
madt.c, interrupt.c and mp_machdep.c. Remove is_physical_memory().
It's not used (vm_machdep.c).

alpha: the MD prototypes have been left in cpu.h with a comment
that they should be there. Moving them is left for later. It was
expected that the impact would be significant enough to be done in
a seperate commit.

powerpc: MD prototypes left in cpu.h. Comment added.

Suggested by: bde
Tested with: make universe (pc98 incomplete)
</content>
</entry>
<entry>
<title>Add getcontext, setcontext, and swapcontext as system calls.</title>
<updated>2002-11-16T06:35:53Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-11-16T06:35:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2be05b70c9be806a2e5edf3fda36628a81ed3595'/>
<id>urn:sha1:2be05b70c9be806a2e5edf3fda36628a81ed3595</id>
<content type='text'>
Previously these were libc functions but were requested to
be made into system calls for atomicity and to coalesce what
might be two entrances into the kernel (signal mask setting
and floating point trap) into one.

A few style nits and comments from bde are also included.

Tested on alpha by: gallatin
</content>
</entry>
<entry>
<title>CPU_MAXID should</title>
<updated>2002-10-06T05:24:13Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-10-06T05:24:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8185498ac25939ce7fd1279d268eedfc31ea8152'/>
<id>urn:sha1:8185498ac25939ce7fd1279d268eedfc31ea8152</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove __P().  This was tested on the GENERIC kernel.</title>
<updated>2002-03-20T18:58:47Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-03-20T18:58:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d0ce7d0078f12545c30839cc590827ce9031db6e'/>
<id>urn:sha1:d0ce7d0078f12545c30839cc590827ce9031db6e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>KSE Milestone 2</title>
<updated>2001-09-12T08:38:13Z</updated>
<author>
<name>Julian Elischer</name>
<email>julian@FreeBSD.org</email>
</author>
<published>2001-09-12T08:38:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b40ce4165d5eb3a5de1515245055350ae3dbab8e'/>
<id>urn:sha1:b40ce4165d5eb3a5de1515245055350ae3dbab8e</id>
<content type='text'>
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
</content>
</entry>
<entry>
<title>- Close races with signals and other AST's being triggered while we are in</title>
<updated>2001-08-10T22:53:32Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-08-10T22:53:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=688ebe120c47c9478446c12022b5e4667c2bff7a'/>
<id>urn:sha1:688ebe120c47c9478446c12022b5e4667c2bff7a</id>
<content type='text'>
  the process of exiting the kernel.  The ast() function now loops as long
  as the PS_ASTPENDING or PS_NEEDRESCHED flags are set.  It returns with
  preemption disabled so that any further AST's that arrive via an
  interrupt will be delayed until the low-level MD code returns to user
  mode.
- Use u_int's to store the tick counts for profiling purposes so that we
  do not need sched_lock just to read p_sticks.  This also closes a
  problem where the call to addupc_task() could screw up the arithmetic
  due to non-atomic reads of p_sticks.
- Axe need_proftick(), aston(), astoff(), astpending(), need_resched(),
  clear_resched(), and resched_wanted() in favor of direct bit operations
  on p_sflag.
- Fix up locking with sched_lock some.  In addupc_intr(), use sched_lock
  to ensure pr_addr and pr_ticks are updated atomically with setting
  PS_OWEUPC.  In ast() we clear pr_ticks atomically with clearing
  PS_OWEUPC.  We also do not grab the lock just to test a flag.
- Simplify the handling of Giant in ast() slightly.

Reviewed by:	bde (mostly)
</content>
</entry>
<entry>
<title>Move ast() and userret() to sys/kern/subr_trap.c now that they are MI.</title>
<updated>2001-06-29T19:51:37Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-06-29T19:51:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7aa7260e4aa66d2665d421d23b3c865452b191d8'/>
<id>urn:sha1:7aa7260e4aa66d2665d421d23b3c865452b191d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Overhaul of the SMP code.  Several portions of the SMP kernel support have</title>
<updated>2001-04-27T19:28:25Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-04-27T19:28:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6caa8a1501b8ea45c12cd4d4084d8cc15952f564'/>
<id>urn:sha1:6caa8a1501b8ea45c12cd4d4084d8cc15952f564</id>
<content type='text'>
been made machine independent and various other adjustments have been made
to support Alpha SMP.

- It splits the per-process portions of hardclock() and statclock() off
  into hardclock_process() and statclock_process() respectively.  hardclock()
  and statclock() call the *_process() functions for the current process so
  that UP systems will run as before.  For SMP systems, it is simply necessary
  to ensure that all other processors execute the *_process() functions when the
  main clock functions are triggered on one CPU by an interrupt.  For the alpha
  4100, clock interrupts are delievered in a staggered broadcast fashion, so
  we simply call hardclock/statclock on the boot CPU and call the *_process()
  functions on the secondaries.  For x86, we call statclock and hardclock as
  usual and then call forward_hardclock/statclock in the MD code to send an IPI
  to cause the AP's to execute forwared_hardclock/statclock which then call the
  *_process() functions.
- forward_signal() and forward_roundrobin() have been reworked to be MI and to
  involve less hackery.  Now the cpu doing the forward sets any flags, etc. and
  sends a very simple IPI_AST to the other cpu(s).  AST IPIs now just basically
  return so that they can execute ast() and don't bother with setting the
  astpending or needresched flags themselves.  This also removes the loop in
  forward_signal() as sched_lock closes the race condition that the loop worked
  around.
- need_resched(), resched_wanted() and clear_resched() have been changed to take
  a process to act on rather than assuming curproc so that they can be used to
  implement forward_roundrobin() as described above.
- Various other SMP variables have been moved to a MI subr_smp.c and a new
  header sys/smp.h declares MI SMP variables and API's.   The IPI API's from
  machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h.
- The globaldata_register() and globaldata_find() functions as well as the
  SLIST of globaldata structures has become MI and moved into subr_smp.c.
  Also, the globaldata list is only available if SMP support is compiled in.

Reviewed by:	jake, peter
Looked over by:	eivind
</content>
</entry>
</feed>
