dd [Thu, 28 Jun 2001 22:06:27 +0000 (22:06 +0000)]
Back out previous commit: it doesn't help anything since write_file(),
which is also called from handle_hup(), uses stdio(3). Furthermore,
this means that calling exit(3) (via quit()) there is required to
flush the buffer write_file() was working on.
ume [Thu, 28 Jun 2001 18:06:15 +0000 (18:06 +0000)]
- create an entry of IPV6CTL_STATS sysctl.
- fix the problem that netstat doesn't show raw6 and icmp6 pcblist.
- make netstat use sysctl to retreive stats of ipv6 and icmpv6
instead of kread.
joerg [Thu, 28 Jun 2001 12:35:28 +0000 (12:35 +0000)]
Merge in parts of a larger patchset i received from Bruce. Untested
by now (except of a compile test), but i believe this to contain no
actual functional changes.
. Fix the copyright of the Regents i accidentally broke in rev 1.197
(although only a very small part of the original driver survived
at all...).
. Bump MAX_CYLINDER since some obscure formats really use more than 80
cylinders.
. Correctly handle BIO_FORMAT which used to be a bitmask but is now a BIO
command of its own.
msmith [Thu, 28 Jun 2001 06:17:16 +0000 (06:17 +0000)]
Sync to my work in progress:
- Reorder the acpi_* functions in a sensible fashion
- Add acpi_ForeachPackageObject and acpi_GetHandleInScope
- Use the new debugging layer/level names
- Implement most of the guts of the acpi_thermal module; passive cooling
isn't there yet, but active cooling should work.
- Implement power resource handling (acpi_powerres.c)
This compiles and mostly works, but my test coverage is small, so feedback
is welcome.
jhb [Thu, 28 Jun 2001 04:03:29 +0000 (04:03 +0000)]
Get kernel profiling on SMP systems closer to working by replacing the
mcount spin mutex with a very simple non-recursive spinlock implemented
using atomic operations.
bsd [Thu, 28 Jun 2001 02:08:13 +0000 (02:08 +0000)]
Provide access to the IA32 hardware debug registers from the ddb
kernel debugger. Proper use of these registers allows setting
hardware watchpoints for use in kernel debugging.
ume [Wed, 27 Jun 2001 19:41:20 +0000 (19:41 +0000)]
clarify problem with inbound AH.
spdadd A B -P in ipsec esp/tunnel/C-D/use ah/tunnel/C-D/require;
does not work due to 1-bit validation bit we are using with inbound
policy checking.
benno [Wed, 27 Jun 2001 12:17:23 +0000 (12:17 +0000)]
Fix the atomic_*_32 operations. These were written before I had the ability
to test them properly and before I had a working knowledge of GCC asm
constraints.
benno [Wed, 27 Jun 2001 12:14:22 +0000 (12:14 +0000)]
Oops, this was meant to be done in a later commit but I goofed.
This commit was meant to add entries for extintr.c (used partially by the
new clock/timecounter which is coming in a later commit) and entries for
bits of DDB source, which is also coming soon.
jasone [Wed, 27 Jun 2001 11:41:15 +0000 (11:41 +0000)]
Fix a race condition in pthread_join(). All of the following must occur
atomically:
1) Search _thread_list for the thread to join.
2) Search _dead_list for the thread to join.
3) Set the running thread as the joiner.
While we're at it, fix a race in the case where multiple threads try to
join on the same thread. POSIX says that the behavior of multiple joiners
is undefined, but the fix is cheap as a result of the other fix.
jhb [Wed, 27 Jun 2001 06:39:37 +0000 (06:39 +0000)]
- Add trylock variants of shared and exclusive locks.
- The sx assertions don't actually need the internal sx mutex lock, so
don't bother doing so.
- Add a new assertion SX_ASSERT_LOCKED() that asserts that either a
shared or exclusive lock should be held. This assertion should be used
instead of SX_ASSERT_SLOCKED() in almost all cases.
- Adjust some KASSERT()'s to include file and line information.
- Use the new witness_assert() function in the WITNESS case for sx slock
asserts to verify that the current thread actually owns a slock.
jhb [Wed, 27 Jun 2001 06:27:29 +0000 (06:27 +0000)]
- Add a new witness_assert() to perform arbitrary locking assertions.
- Clean up the KTR tracepoints to be slighlty more consistent and useful
- Fix a bug in WITNESS where we would recurse indefinitely and blow the
stack when acquiring Giant after sleeping with a sleepable lock held.
jhb [Wed, 27 Jun 2001 06:15:44 +0000 (06:15 +0000)]
- Always use the proc lock of the task leader to protect the peers list of
processes.
- Don't construct fake call args and then call kill(). psignal is not
anymore complicated and is quicker and not prone to locking problems.
Calling psignal() avoids having to do a pfind() since we already have a
proc pointer and also allows us to keep the task leader locked while we
kill all the peer processes so the list is kept coherent.
- When a kthread exits, do a wakeup() on its proc pointers. This can be
used by kernel modules that have kthreads and want to ensure they have
safely exited before completely the MOD_UNLOAD event.
joerg [Tue, 26 Jun 2001 22:19:32 +0000 (22:19 +0000)]
Now that we've got it, use FDOPT_NOERRLOG for fdformat and fdwrite to
avoid blasting the syslog with error messages from bad floppies. Both
tools have their own error reporting anyway (which could easily be
cluttered by the syslog output on your terminal).
joerg [Tue, 26 Jun 2001 22:07:25 +0000 (22:07 +0000)]
Some more cosmetics: kill another couple of K&R function definitions
that survived from old days, fix style of return type in fdcpio(),
kill old Emacs hints that are no longer working that way anyway.
cg [Tue, 26 Jun 2001 21:54:55 +0000 (21:54 +0000)]
add a tunable/sysctl, hw.snd.autovchans. if this is set to a value n where
n > 0, n vchans will be assigned to any devices that subsequently register
with a single playback channel.
schweikh [Tue, 26 Jun 2001 18:49:10 +0000 (18:49 +0000)]
Increase column widths when using -i (they are now wide enough to
hold a 64bit or 32bit ~0 value, i.e. 20 and 10; this anticipates
soon-to-be machines with Exahertz rtc interrupt frequencies. :-)
PR: bin/16206
Submitted by: John Capo <jc@irbs.com>
MFC after: 1 week