<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/powerpc/include/mutex.h, branch release/6.2.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F6.2.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F6.2.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2007-01-11T22:54:46Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2007-01-11T22:54:46Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2007-01-11T22:54:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=201f78d6b90635d961fa373ecd706e3786333b7e'/>
<id>urn:sha1:201f78d6b90635d961fa373ecd706e3786333b7e</id>
<content type='text'>
'RELENG_6_2_0_RELEASE'.

This commit was manufactured to restore the state of the 6.2-RELEASE image.
</content>
</entry>
<entry>
<title>Modify the critical section API as follows:</title>
<updated>2001-12-18T00:27:18Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-12-18T00:27:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7e1f6dfe9d7ac65419d57b36dee19cd1a3e996f5'/>
<id>urn:sha1:7e1f6dfe9d7ac65419d57b36dee19cd1a3e996f5</id>
<content type='text'>
- The MD functions critical_enter/exit are renamed to start with a cpu_
  prefix.
- MI wrapper functions critical_enter/exit maintain a per-thread nesting
  count and a per-thread critical section saved state set when entering
  a critical section while at nesting level 0 and restored when exiting
  to nesting level 0.  This moves the saved state out of spin mutexes so
  that interlocking spin mutexes works properly.
- Most low-level MD code that used critical_enter/exit now use
  cpu_critical_enter/exit.  MI code such as device drivers and spin
  mutexes use the MI wrappers.  Note that since the MI wrappers store
  the state in the current thread, they do not have any return values or
  arguments.
- mtx_intr_enable() is replaced with a constant CRITICAL_FORK which is
  assigned to curthread-&gt;td_savecrit during fork_exit().

Tested on:	i386, alpha
</content>
</entry>
<entry>
<title>Overhaul the per-CPU support a bit:</title>
<updated>2001-12-11T23:33:44Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-12-11T23:33:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0bbc882680ceece07eb134ddeb7fceffb59ea018'/>
<id>urn:sha1:0bbc882680ceece07eb134ddeb7fceffb59ea018</id>
<content type='text'>
- The MI portions of struct globaldata have been consolidated into a MI
  struct pcpu.  The MD per-CPU data are specified via a macro defined in
  machine/pcpu.h.  A macro was chosen over a struct mdpcpu so that the
  interface would be cleaner (PCPU_GET(my_md_field) vs.
  PCPU_GET(md.md_my_md_field)).
- All references to globaldata are changed to pcpu instead.  In a UP kernel,
  this data was stored as global variables which is where the original name
  came from.  In an SMP world this data is per-CPU and ideally private to each
  CPU outside of the context of debuggers.  This also included combining
  machine/globaldata.h and machine/globals.h into machine/pcpu.h.
- The pointer to the thread using the FPU on i386 was renamed from
  npxthread to fpcurthread to be identical with other architectures.
- Make the show pcpu ddb command MI with a MD callout to display MD
  fields.
- The globaldata_register() function was renamed to pcpu_init() and now
  init's MI fields of a struct pcpu in addition to registering it with
  the internal array and list.
- A pcpu_destroy() function was added to remove a struct pcpu from the
  internal array and list.

Tested on:	alpha, i386
Reviewed by:	peter, jake
</content>
</entry>
<entry>
<title>This commit (along with one pending in sys/dev/ofw and one in sys/conf) give</title>
<updated>2001-06-16T07:14:07Z</updated>
<author>
<name>Benno Rice</name>
<email>benno@FreeBSD.org</email>
</author>
<published>2001-06-16T07:14:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d27f1d4c1253db023f670e2f8138c44a6f4a3621'/>
<id>urn:sha1:d27f1d4c1253db023f670e2f8138c44a6f4a3621</id>
<content type='text'>
us our first minimal glimpse of PowerPC support.

With this code we can get to the "mountroot&gt;" prompt on my Apple iMac.  We
can't get any further due to lack of clock and interrupt handling, among other
things.  This does however mean that pmap and VM are initialising.

We're fairly dependant on OpenFirmware at this point, but I hope to add
support for other classes of firmware at a later stage.

Reviewed by:	obrien, dfr
</content>
</entry>
<entry>
<title>Properly wrap mtx_intr_enable() macro in "do $bla while (0)"</title>
<updated>2001-06-02T08:17:42Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2001-06-02T08:17:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0d31cbfab7843ddfc6e23fa0782ef6f537993517'/>
<id>urn:sha1:0d31cbfab7843ddfc6e23fa0782ef6f537993517</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert the protection of hte i8254 from critical_enter/exit like it is</title>
<updated>2001-04-18T21:47:48Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-04-18T21:47:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=08b0f4f9082523293e6c10db1fa8a26b36a23083'/>
<id>urn:sha1:08b0f4f9082523293e6c10db1fa8a26b36a23083</id>
<content type='text'>
on the x86.
</content>
</entry>
<entry>
<title>- Switch from using save/disable/restore_intr to using critical_enter/exit</title>
<updated>2001-03-28T02:40:47Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-03-28T02:40:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6283b7d01b8d947b8a57d635e61b7c4e22816f93'/>
<id>urn:sha1:6283b7d01b8d947b8a57d635e61b7c4e22816f93</id>
<content type='text'>
  and change the u_int mtx_saveintr member of struct mtx to a critical_t
  mtx_savecrit.
- On the alpha we no longer need a custom _get_spin_lock() macro to avoid
  an extra PAL call, so remove it.
- Partially fix using mutexes with WITNESS in modules.  Change all the
  _mtx_{un,}lock_{spin,}_flags() macros to accept explicit file and line
  parameters and rename them to use a prefix of two underscores.  Inside
  of kern_mutex.c, generate wrapper functions for
  _mtx_{un,}lock_{spin,}_flags() (only using a prefix of one underscore)
  that are called from modules.  The macros mtx_{un,}lock_{spin,}_flags()
  are mapped to the __mtx_* macros inside of the kernel to inline the
  usual case of mutex operations and map to the internal _mtx_* functions
  in the module case so that modules will use WITNESS and KTR logging if
  the kernel is compiled with support for it.
</content>
</entry>
<entry>
<title>Fix mtx_legal2block.  The only time that it is bad to block on a mutex is</title>
<updated>2001-03-09T07:24:17Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-03-09T07:24:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5db078a9be699a43ece06b5a6f200311fa048ca6'/>
<id>urn:sha1:5db078a9be699a43ece06b5a6f200311fa048ca6</id>
<content type='text'>
if we hold a spin mutex, since we can trivially get into deadlocks if we
start switching out of processes that hold spinlocks.  Checking to see if
interrupts were disabled was a sort of cheap way of doing this since most
of the time interrupts were only disabled when holding a spin lock.  At
least on the i386.  To fix this properly, use a per-process counter
p_spinlocks that counts the number of spin locks currently held, and
instead of checking to see if interrupts are disabled in the witness code,
check to see if we hold any spin locks.  Since child processes always
start up with the sched lock magically held in fork_exit(), we initialize
p_spinlocks to 1 for child processes.  Note that proc0 doesn't go through
fork_exit(), so it starts with no spin locks held.

Consulting from:	cp
</content>
</entry>
<entry>
<title>GC unused and now obsolete assertion macros.</title>
<updated>2001-02-22T15:45:49Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-02-22T15:45:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0246af0995060281ef73d15580630ef0a9217dc5'/>
<id>urn:sha1:0246af0995060281ef73d15580630ef0a9217dc5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a macro mtx_intr_enable() to alter a spin lock such that interrupts</title>
<updated>2001-02-10T02:15:18Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-02-10T02:15:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e109e2b4cd80d6e07208dcb1fad6d75bda75036a'/>
<id>urn:sha1:e109e2b4cd80d6e07208dcb1fad6d75bda75036a</id>
<content type='text'>
will be enabled when it is released.
</content>
</entry>
</feed>
