John Baldwin [Mon, 20 May 2002 19:16:22 +0000 (19:16 +0000)]
In witness_unlock(), when updating a lock list entry bucket, decrement the
count of lock list entries after we fixup the bucket of lock list entries.
In theory we can remove the intr_disable/intr_restore() calls now.
John Baldwin [Mon, 20 May 2002 17:54:48 +0000 (17:54 +0000)]
In uma_zalloc_arg(), if we are performing a M_WAITOK allocation, ensure
that td_intr_nesting_level is 0 (like malloc() does). Since malloc() calls
uma we can probably remove the check in malloc() for this now. Also,
perform an extra witness check in that case to make sure we don't hold
any locks when performing a M_WAITOK allocation.
John Baldwin [Mon, 20 May 2002 17:49:46 +0000 (17:49 +0000)]
- Allow witness_sleep() to be called when witness hasn't been initialized
yet. We just return without performing any checks.
- Don't explicitly enter and exit critical sections when walking lock
lists. We don't need a critical section to walk the list of sleep
locks for a thread. We check to see if a spin lock list is empty
before we walk it. If the list is empty we don't need to walk it. If
it isn't then we already hold at least one spin lock and are already in
a critical section and thus don't need our own explicit critical
section.
Mike Silbersack [Mon, 20 May 2002 17:34:31 +0000 (17:34 +0000)]
Subtle fix to the accept filter LRU code. In some cases, a newly
initialized socket with no qlimit was being passed in. In order
to handle this case properly, we must not use >= when comparing
queue sizes to qlimit. As a result of this improper handling,
a panic could result in certain cases.
Jake Burkholder [Mon, 20 May 2002 16:30:47 +0000 (16:30 +0000)]
Add SMP aware cache flushing functions, which operate on a single physical
page. These send IPIs if necessary in order to keep the caches in sync on
all cpus.
Hajimu UMEMOTO [Mon, 20 May 2002 15:01:19 +0000 (15:01 +0000)]
Try to guess prefixlen for guessable cases.
- /0 if matches ::/128
- /64 if matches 2000::/3 and lowermost 64 bit is all 0
- /128 if matches 2000::/3 and lowermost 64 bit is non-zero 0
Don't grab Giant around malloc(9) and free(9).
Don't grab Giant around wakeup(9).
Don't print verbose messages about each device found in geom_dev.
Various cleanups.
Seigo Tanimura [Mon, 20 May 2002 05:41:09 +0000 (05:41 +0000)]
Lock down a socket, milestone 1.
o Add a mutex (sb_mtx) to struct sockbuf. This protects the data in a
socket buffer. The mutex in the receive buffer also protects the data
in struct socket.
o Determine the lock strategy for each members in struct socket.
o Lock down the following members:
- so_count
- so_options
- so_linger
- so_state
o Remove *_locked() socket APIs. Make the following socket APIs
touching the members above now require a locked socket:
Gordon Tetlow [Mon, 20 May 2002 05:26:44 +0000 (05:26 +0000)]
Explictly set kerberos_stash to NO instead of blank. While we are at it,
fix a comment that suggested setting ipv6_ipv4mapping to blank. This
will aid in merging with rcng which requires all veriables to be
explicitly set.
Robert Watson [Mon, 20 May 2002 05:04:41 +0000 (05:04 +0000)]
Bump the rc driver a little bit closer to the 21st century: use
make_dev() to create device nodes for each of the serial port channels
(ttym%d and cuam%d respectively, as borrowed from MAKEDEV). This allows
the rc driver to work in 5.0. I've tested it with only one card, but
will try sticking in a second card tomorrow and see what happens.
Marcel Moolenaar [Sun, 19 May 2002 22:28:57 +0000 (22:28 +0000)]
Fix a kernel page fault when accessing user memory. We were
combining too much conditions and as such ended up with the
kernel map instead of the corresponding process map. While
here, remove code to allow access to the stackgap and restyle
slightly to improve readability.
This fix specifically fixes the procfs failure we're having
when reading the process map (cat /proc/curproc/map)
Matthew Dillon [Sun, 19 May 2002 21:59:28 +0000 (21:59 +0000)]
Add a Quirk entry for the USB SimpleTech UCF-100 compact flash reader.
Note that even with the quirk entry the reader typically only works if
the USB device is recognized by UHCI instead of the generic OHCI driver.
Marcel Moolenaar [Sun, 19 May 2002 20:19:07 +0000 (20:19 +0000)]
Simplify IA64_CMPXCHG to avoid having braced-groups in expressions.
As a minor positive side-effect, code at -O0 is more optimal. As a
minor negative side-effect, certain boundary cases yield no better
code than non-boundary cases. For example, atomic_set_acq_32(p, 0)
does a useless logical OR with value 0. This was previously elimina-
ted as part of if/while optimizations. Non-boundary cases yield
identical code at -O1 and -O2.
Marcel Moolenaar [Sun, 19 May 2002 19:35:36 +0000 (19:35 +0000)]
o Fix race condition caused by doing ptrace() for permission
checking, followed by a lookup of the process. Do not call
ptrace() for permission checking, but do it inline.
Spotted by: rwatson
o While here, copy-in arguments before we lock. This fixes
a possible permanent lock.
Some of these produce a number of warnings. I don't want to remove
them yet, because some noble soul may decide to remove the cause of
the warnings, but they won't if it doesn't bite them.
Greg Lehey [Sun, 19 May 2002 07:35:00 +0000 (07:35 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 07:30:18 +0000 (07:30 +0000)]
Remove original license disclaimer.
Add Caldera license.
Approved by: David Taylor <davidt@caldera.com>
Make buildable under FreeBSD.
This one's a real mess. It's full of undefined macros, and in one
place deliberately causes syntax warnings. I've decided against
taking out the undefined macros: they don't alter the format of the
output document, and maybe one day somebody will put in the macro
definitions.
Note that this file corrects a number of format errors which appear in
the O'Reilly 4.4BSD manual set.
Greg Lehey [Sun, 19 May 2002 07:00:28 +0000 (07:00 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 06:55:13 +0000 (06:55 +0000)]
Remove original license disclaimer.
Add Caldera license.
Approved by: David Taylor <davidt@caldera.com>
Make buildable under FreeBSD. This was relatively complicated: the
original text used the msU macros, which are available in a number of
different kinds. This version uses a number of mm-like macros,
including AL and BL, which just aren't available in ms, and the msU
macros I've found (even the ones in 4.4BSD) don't have them either. I
replaced them with ms constructs, which makes it format better than
the O'Reilly document, but I wasn't able to get the table of contents
(ms doesn't have that facility).
Add a prominent comment that this is not a reference for any modern
version of C.
Akinori MUSHA [Sun, 19 May 2002 06:53:20 +0000 (06:53 +0000)]
Work around a code generation bug of GCC 3.1 by replacing
`/2' with `>>1'. In the context `>>1' is more appropriate
because it looks like the division is used to restore a
shifted value.
GCC GNATS PR: c/6677
This fixes a problem where wheel-up movement is taken as wheel-down
in the sysmouse protocol.
Do not assume the plain char's are signed; use `signed char' where
char's need to be signed.
Greg Lehey [Sun, 19 May 2002 06:17:52 +0000 (06:17 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 06:11:50 +0000 (06:11 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 05:57:43 +0000 (05:57 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 05:52:57 +0000 (05:52 +0000)]
Remove original license disclaimer.
Add Caldera license.
Approved by: David Taylor <davidt@caldera.com>
Make roughly buildable under FreeBSD.
The results are not perfect: the original Makefile referred to a refer
file papers/Ind, which doesn't seem to have been kept, so the
references to other publications are missing.
Greg Lehey [Sun, 19 May 2002 05:49:13 +0000 (05:49 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 05:41:35 +0000 (05:41 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 05:39:56 +0000 (05:39 +0000)]
Remove original license disclaimer.
Add Caldera license.
Approved by: David Taylor <davidt@caldera.com>
Make roughly buildable under FreeBSD.
The results are not perfect: the original Makefile referred to a refer
file papers/Ind, which doesn't seem to have been kept, so the
references to other publications are missing.
Greg Lehey [Sun, 19 May 2002 05:31:37 +0000 (05:31 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.
Greg Lehey [Sun, 19 May 2002 05:14:02 +0000 (05:14 +0000)]
Remove original license disclaimer.
Add Caldera license.
Approved by: David Taylor <davidt@caldera.com>
Make roughly buildable under FreeBSD.
The results are not perfect: the original Makefile referred to a refer
file papers/Ind, which doesn't seem to have been kept, so the
references to other publications are missing. In addition, the
pagination is not correct, with the result that some .DS/.DE blocks
leave large amounts of white space empty before them. Possibly this
could be fixed by putting the (blank) footnotes at the end.
PR: 35345
Requested by: Tony Finch <fanf@dotat.at>
Marcel Moolenaar [Sun, 19 May 2002 04:42:19 +0000 (04:42 +0000)]
o Remove namespace pollution from param.h:
- Don't include ia64_cpu.h and cpu.h
- Guard definitions by _NO_NAMESPACE_POLLUTION
- Move definition of KERNBASE to vmparam.h
o Move definitions of IA64_RR_{BASE|MASK} to vmparam.h
o Move definitions of IA64_PHYS_TO_RR{6|7} to vmparam.h
o While here, remove some left-over Alpha references.
Greg Lehey [Sun, 19 May 2002 04:37:39 +0000 (04:37 +0000)]
Initial checkin: 4.4BSD version. These files need to be updated with
current license information and adapted to the FreeBSD build
environment before they will build.