should be nearly impossible to overflow the QOUTFIFO (worst case 9 command
have to complete with at least 6 of them requiring paging on an aic7850),
so don't take the additional PIO hit to guard against this condition. If we
don't see our interrupt in time, the system has bigger problems elsewhere.
If this ever does happen, the timeout handler will notice and retry the
command.
Remove the ABORT_TAG sequencer interrupt handler. This condition can't happen
with the new SCB paging scheme.
Fix a few bugs noticed by Dan Eischen <deischen@iworks.InterWorks.org>
that could prevent ULTRA from being negotiated to drives above ID 7 and
also could allow an SCB to be passed to ahc_done twice during error recovery.
Fix a bug notice by Rory Bolt <rory@atBackup.com>. It turns out that a
sequencer reset will actually start the sequencer running regardless of the
state of the pause bit. This could lead to strange problems with loading
the sequencer.
Only enable reselections once the channel and SCSIRATE have been cleared.
Add a pause block around the test busy code in the non-tagged case to simplify
error recovery in the corner case of aborting an SCB that just got started.
Simplify reselection processing by removing the call to initialize_scsiid.
Clear the scsiseq re/select control bits and setup for catching bogus
busfrees earlier in the re/select process.
Improve the automatic PIO code. It turns out that SPIORDY is not a reliable
hardware condition bit, so use REQINIT intstead. Don't rely on PHASEMIS
either since it can take too long to come true. Use a brute force comparison
instead.
Remove some unnecessary overhead in the command complete processing. It
should be nearly impossible to overflow the QOUTFIFO (worst case 9 command
have to complete with at least 6 of them requiring paging on an aic7850),
so don't take the additional PIO hit to guard against this condition. If we
don't see our interrupt in time, the system has bigger problems elsewhere.
If this ever does happen, the timeout handler will notice and retry the
command.
not lazy-fault page table pages. Update the copyout support to take
that into account. This should fix some segfault problems on such
machines.
After a short test period, we'll move this into 2.2.
Submitted by: Stephen McKay <syssgm@devetir.qld.gov.au>
section was a good thing, since it made it possible to detect media problems
*before* the installation started, but it also caused various things to
be mounted BEFORE the chroot() call, which definitely messes things up.
Fix this by detecting the pre-chroot() case and mounting into a subdir.
This will probably need to go away again someday when distributions get
folded into packages and there are no more dist files to check, but knowing
how long we've been waiting on THAT, this will be a welcome tool for the
interim.
Submitted by: Robert Nordier <rnordier@iafrica.com>
We could also make this stuff only come out when getpid() != 1
and thus avoid the install case (where it really is just too verbose,
and people have complained), but this seems less messy and no one
complained when tzsetup didn't print the final "things went fine!"
messages (which sort of contravene the UNIX spirit of only yelling
when you need to anyway).
third-party device-driver source to the FreeBSD kernel (at versions
2.2 and later). It can list and remove drivers it's added too.
It can (should) be included by device-driver authors in their driver
distributions, but is perhaps a little too specific to warrant a place
in the mainstream distribution.
Use setusercontext() rather than setuid()/setgid()/setlogin()/initgroups()
which is all handled. Login environment is NOT set by this call as crontab
provides its own means of doing so.
Manpage police??? Looking kinda bored there aren't you? Need something
to do? :-) I'm sure there's work here to be done.
Inspired by: Joerg
2.2-R candidate after Mike gets thru with them.
an X seesion. Really stupid error of me, and I've been looking at
this code SO many times. Thanks to Kazutaka YOKOTA for seeing this..
Submitted by: Kazutaka YOKOTA
yp_next_record() is called without a key (from xdr_my_ypresp_all()),
in which case it returns the first key in the map. When doing this,
it also needs to update the key index in the map queue entry. Without
this, ypproc_all_2_svc() (and hence ypcat) don't work correctly.
Noticed by: Michael L. Hench <hench@watt.cae.uwm.edu>
the page to be unbusy, and it caused some algorithmic problems
as a result. There were some other problems with it also, so
this is a general cleanup of the code.
Submitted by: Douglas Crosher <dtc@scrooge.ee.swin.oz.au> and myself.