Scott Mitchell [Fri, 9 Apr 2004 17:08:12 +0000 (17:08 +0000)]
Add Xircom XEM5600 and known versions of CE2, CEM33 and CEM56.
Xircom had an unfortunate habit of re-using PCMCIA IDs for quite different
cards - the xe driver knows about this and uses the first byte of 'extra'
PCMCIA ID info to identify cards with ambiguous IDs.
Mark Murray [Fri, 9 Apr 2004 15:47:10 +0000 (15:47 +0000)]
Reorganise the entropy device so that high-yield entropy sources
can more easily be used INSTEAD OF the hard-working Yarrow.
The only hardware source used at this point is the one inside
the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will
be added in due course. Contributions welcome!
Warner Losh [Fri, 9 Apr 2004 15:44:34 +0000 (15:44 +0000)]
Omnibus PCI commit:
o Save and restore bars for suspend/resume as well as for D3->D0
transitions.
o preallocate resources that the PCI devices use to avoid resource
conflicts
o lazy allocation of resources not allocated by the BIOS.
o set unattached drivers to state D3. Set power state to D0
before probe/attach. Right now there's two special cases
for this (display and memory devices) that need work in other
areas of the tree.
Maxime Henrion [Fri, 9 Apr 2004 14:27:28 +0000 (14:27 +0000)]
- Change several errx() calls that should have been err() calls.
- Handle empty ARP tables properly.
- Remove register keyword.
- arp(8) is WARNS?=4 clean, so mark it as such to avoid regressions.
Robert Watson [Fri, 9 Apr 2004 13:23:51 +0000 (13:23 +0000)]
Compare pointers with NULL rather than using pointers are booleans in
if/for statements. Assign pointers to NULL rather than typecast 0.
Compare pointers with NULL rather than 0.
Tim J. Robbins [Fri, 9 Apr 2004 11:32:32 +0000 (11:32 +0000)]
Terminate execl()'s argument list with a null pointer instead of a
null pointer constant. (The latter may be an integer constant, which
is not correct here.)
Tim J. Robbins [Fri, 9 Apr 2004 11:17:29 +0000 (11:17 +0000)]
Improve robustness of multibyte character handling (-m option), and
simplify the read buffering now that we can feed partial multibyte
characters to mbrtowc().
Replace more ad-hoc versions of acpi_GetReference(). Since the type of
Reference objects changed from ACPI_TYPE_ANY to ACPI_TYPE_LOCAL_REFERENCE
in Oct. 2002, this may help systems where switching the cooler on failed.
We support both types for now until this sorts out.
Add support for packages as the first element of _PRW. This may allow
some machines to enable wake events for more devices although I haven't
seen a system yet that uses this form. Also, introduce acpi_GetReference()
which retrieves an object reference from various types.
Robert Watson [Fri, 9 Apr 2004 01:40:12 +0000 (01:40 +0000)]
Lock down the netatalk AARP code, which is responsible for appletalk
address discovery and caching (similar to inet ARP). Use a single
global mutex, aarptab_mtx, to protect the table. Remove spl/spx.
Daniel Eischen [Thu, 8 Apr 2004 23:16:21 +0000 (23:16 +0000)]
After forking and initializing the library to single-threaded
mode (where the forked thread is the one and only thread and
is marked as system scope), set the system scope flag before
initializing the signal mask. This prevents trying to use
internal locks that haven't yet been initialized.
Reported by: Dan Nelson <dnelson at allantgroup.com>
Reviewed by: davidxu
Alan Cox [Thu, 8 Apr 2004 19:08:49 +0000 (19:08 +0000)]
The demise of vm_pager_map_page() in revision 1.93 of vm/vm_pager.c permits
the reduction of the pager map's size by 8M bytes. In other words, eight
megabytes of largely wasted KVA are returned to the kernel map for use
elsewhere.
In the examples, make the bitmap_name an absolute path name.
This avoids hair pulling when someone expects the splash screen
to just work when the bitmap file is in /boot.
Mike Silbersack [Thu, 8 Apr 2004 07:14:34 +0000 (07:14 +0000)]
Fix a regression in my change which sends headers along with data; a
side effect of that change caused headers to not be sent if a 0 byte
file was passed to sendfile. This change fixes that behavior, allowing
sendfile to send out the headers even with a 0 byte file again.
Do not assume that the initial thread (i.e. the thread with the ID
equal to the process ID) is still present when we dump a core. It
already may have been destroyed. In that case we would end up
dereferencing a NULL pointer, so specifically test for that as well.
Reported & tested by: Dan Nelson <dnelson@allantgroup.com>
Colin Percival [Thu, 8 Apr 2004 02:03:49 +0000 (02:03 +0000)]
Add whitespace before comment blocks. (reported by njl)
Remove spurious whitespace, add indent protection, fix punctuation,
remove initialization of static variables to zero, put wakeup_ctr
and wakeup_needed in the correct order. (reported by bde)
This doesn't fix all the style bugs I introduced, but the remaining
style bugs make it easier for me to understand what I did here.
Warner Losh [Wed, 7 Apr 2004 20:46:16 +0000 (20:46 +0000)]
Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.
John Baldwin [Wed, 7 Apr 2004 19:42:21 +0000 (19:42 +0000)]
Implement an ACPI-aware pci_set_powerstate() method for PCI busses that
are enumerated in the ACPI device tree. In addition to the normal PCI
powerstate functionality, the ACPI _PSx methods are executed and ACPI
PowerResources are switched on and off via the acpi_pwr_switch_consumer()
function.
Ian Dowse [Wed, 7 Apr 2004 18:48:11 +0000 (18:48 +0000)]
Don't turn off the regular SIGINFO status information. The use of
the NOKERNINFO flag only marginally de-clutters the output and
has a number of unwanted side effects:
o The kernel info might be what you want to see
o ^T is left non-functional if ping is killed non-cleanly
o "ping -q foo &" gets suspended on tty output
Bill Paul [Wed, 7 Apr 2004 17:02:55 +0000 (17:02 +0000)]
In ndis_convert_res(), initialize the head of our temporary list
before calling BUS_GET_RESOURCE_LIST(). Previously, the list head would
only be initialized if BUS_GET_RESOURCE_LIST() succeeded; it needs to
be initialized unconditionally so that the list cleanup code won't
trip over potential stack garbage.
Bruce Evans [Wed, 7 Apr 2004 11:21:18 +0000 (11:21 +0000)]
Record where half the bits in this file came from (from ufs_readwrite.c).
Damage to history from moving bits was especially large since a repo copy
is not feasible for partial files.
Tim J. Robbins [Wed, 7 Apr 2004 11:02:51 +0000 (11:02 +0000)]
Reset internal conversion state after triggering conversion errors;
the state is undefined according to the standards, and our undefined
behaviour has changed.
Ruslan Ermilov [Wed, 7 Apr 2004 10:01:39 +0000 (10:01 +0000)]
Fixed a bug in previous revision: compute the payload checksum before
we convert ip_len into a network byte order; in_delayed_cksum() still
expects it in host byte order.
The symtom was the ``in_cksum_skip: out of data by %d'' complaints
from the kernel.
To add to the previous commit log. These fixes make tcpdump(1) happy
by not complaining about UDP/TCP checksum being bad for looped back
IP multicast when multicast router is deactivated.
Tim J. Robbins [Wed, 7 Apr 2004 09:55:05 +0000 (09:55 +0000)]
Prepare to handle trivial state-dependent encodings. Full support for
state-dependent encodings with locking shifts will come later if there
is demand for it.
Colin Percival [Wed, 7 Apr 2004 05:59:57 +0000 (05:59 +0000)]
Fix filt_timer* races: Finish initializing a knote before we pass it to
a callout, and use the new callout_drain API to make sure that a callout
has finished before we deallocate memory it is using.
Warner Losh [Wed, 7 Apr 2004 05:00:01 +0000 (05:00 +0000)]
Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.
Warner Losh [Wed, 7 Apr 2004 03:47:21 +0000 (03:47 +0000)]
Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and irc message from Robert
Watson saying that clause 3 can be removed from those files with an
NAI copyright that also have only a University of California
copyrights.
Peter Wemm [Wed, 7 Apr 2004 00:44:15 +0000 (00:44 +0000)]
Update to include both the L1 and L2 TLB stats, as well as the seperate
2M/4M page TLB vs 4K page TLB stats. This also applies to the i386
platform, as does the cpu features fixes.
Tim Kientzle [Tue, 6 Apr 2004 23:16:50 +0000 (23:16 +0000)]
Fix some issues with ACL handling:
* ACL storage is no longer erased before a group of entries are added.
* ACL text creation no longer tries to skip over non-existent text.
* UTF8 encoder no longer blows up on invalid wide characters.
* Fixed ACL state management for default ACLs.
Also, publicize function for obtaining text-format ACL in various
formats. The interface is now extensible through a "flags" argument
that allows you to select a variant format.
Colin Percival [Tue, 6 Apr 2004 23:08:49 +0000 (23:08 +0000)]
Introduce a callout_drain() function. This acts in the same manner as
callout_stop(), except that if the callout being stopped is currently
in progress, it blocks attempts to reset the callout and waits until the
callout is completed before it returns.
This makes it possible to clean up callout-using code safely, e.g.,
without potentially freeing memory which is still being used by a callout.
Warner Losh [Tue, 6 Apr 2004 22:50:50 +0000 (22:50 +0000)]
Better checks to make sure that we get good alignment. This code is a
bit of a bandaide until I get better pci bus code committed to head
from my p4 tree.
Brian Feldman [Tue, 6 Apr 2004 22:03:38 +0000 (22:03 +0000)]
Give date(1) a much better SYNOPSIS section which is useful as more than
decoration. Further improvements are welcome, but at least this
is a separate of the various modes of operation date has, as well as
sectioning off the two deprecated options for settimeofday(tz) that
don't even apply to actual operation of date as such, anyway.
Warner Losh [Tue, 6 Apr 2004 20:13:29 +0000 (20:13 +0000)]
MFP4: Power up with OE disabled. Similar patches went into NetBSD a
while ago, and it does seem to help at least one card I have and has
been in my p4 tree for many months.
John Baldwin [Tue, 6 Apr 2004 19:17:46 +0000 (19:17 +0000)]
Associate a simple count of waiters with each condition variable. The
count is protected by the mutex that protects the condition, so the count
does not require any extra locking or atomic operations. It serves as an
optimization to avoid calling into the sleepqueue code at all if there are
no waiters.
Note that the count can get temporarily out of sync when threads sleeping
on a condition variable time out or are aborted. However, it doesn't hurt
to call the sleepqueue code for either a signal or a broadcast when there
are no waiters, and the count is never out of sync in the opposite
direction unless we have more than INT_MAX sleeping threads.
John Baldwin [Tue, 6 Apr 2004 19:12:24 +0000 (19:12 +0000)]
Add a new kernel option MUTEX_WAKE_ALL that changes the mutex unlock code
to awaken all waiters when a contested mutex is released instead of just
the highest priority waiter. If the various threads are awakened in
sequence then each thread may acquire and release the lock in question
without contention resulting in fewer expensive unlock and lock
operations. This old behavior of waking just the highest priority is
still used if this option is specified. Making the algorithm conditional
on a kernel option will allows us to benchmark both cases later and
determine which one should be used by default.
John Baldwin [Tue, 6 Apr 2004 19:07:21 +0000 (19:07 +0000)]
Rename turnstile_wakeup() to turnstile_broadcast() to make the naming
more consistent with other APIs. sleepq and cv's use signal/broadcast, and
msleep uses wakeup_one/wakeup. Prior to this turnstiles were using a
signal/wakeup mixture.
Split ramdisk processing in two so it can actually work. Ownerships
and permissions specified per rc.conf(5) now apply both to the md
device and to the mountpoint directory, after the mount has completed.
This has to be done in two steps, because chown is not available
until after /usr has been mounted, but the mdconfig and newfs steps
have to complete before fstab processing.