Fix i4bteld entry, the section of the sh case for "i4teld*)" should be
BEFORE the case for "i4tel*)". (match the longest prefix first!)
Recognized by: Harry Starr
Brian Somers [Mon, 24 May 1999 16:39:17 +0000 (16:39 +0000)]
Correct the ``ignoring sync/async'' warnings so that they show
up with the correct device type.
Reassign the correct tcpdevice or execdevice after transfering
a link in MP server mode.
Bill Paul [Mon, 24 May 1999 14:56:55 +0000 (14:56 +0000)]
Fix bug that can cause transmit corruption. There are actually two 'rings'
in the transmit code: the TX descriptor ring, and a 'shadow' ring of mbuf
pointers, one for each TX descriptor. When transmitting a packet that
consists of several fragments in an mbuf chain, we link each fragment
to a descriptor in the TX ring, but we only save a pointer to the mbuf
chain. This pointer is saved in the shadow ring entry which corresponds
to the first fragment in the packet. Later, ti_txeof() can release the
whole chain with a single m_freem() call. (We need the second ring to
keep track of the virtual addresses of the mbuf chains.)
The problem with this is that the Tigon isn't actually through with the
mbuf chain until it reaches the last fragment (which has the TI_BDFLAG_END
bit set), however the current scheme releases the mbuf chain as soon as
the first fragment is consumed. This is wrong, since the mbufs can then
be yanked out from under the Tigon and modified before the other fragments
can be transmitted.
The fix is to make a one line change to ti_encap() so that it saves the
mbuf chain pointer in the shadow ring entry that corresponds to the last
fragment in TX ring instead of the first. This prevents the mbufs from
being released until the last fragment is transmitted.
Painstakingly diagnosed and fixed by: Robert Picco <picco@mail.wevinc.com>
Brought to my attention by: dg
Luigi Rizzo [Mon, 24 May 1999 10:01:22 +0000 (10:01 +0000)]
close pr 10889:
+ add a missing call to dn_rule_delete() when flushing firewall
rules, thus preventing possible panics due to dangling pointers
(this was already done for single rule deletes).
+ improve "usage" output in ipfw(8)
+ add a few checks to ipfw pipe parameters and make it a bit more
tolerant of common mistakes (such as specifying kbit instead of Kbit)
Peter Wemm [Mon, 24 May 1999 03:08:46 +0000 (03:08 +0000)]
Fix a [start,end] vs [start,count] botch that corrupted the resource
manager and prevented IOPort allocation beyond the first EISA slot from
working. subr_rman.c should have trapped this on the way into the system
rather than tripping over the wreckage.
Head banged into wall repeatedly by: "Matthew N. Dodd" <winter@jurai.net>
John Birrell [Mon, 24 May 1999 00:37:26 +0000 (00:37 +0000)]
Back out my previous change (phk didn't like it) in favour of setting
rootdev in the mfs initialisation code iff MFS_ROOT (which Bruce doesn't
like). Damned if I do - damned if I don't.
John Birrell [Mon, 24 May 1999 00:34:10 +0000 (00:34 +0000)]
Remove the test for bdevsw(dev) == NULL from bdevvp() because it fails
if there is no character device associated with the block device. In this
case that doesn't matter because bdevvp() doesn't use the character
device structure.
John Birrell [Mon, 24 May 1999 00:30:49 +0000 (00:30 +0000)]
- Make setroot() conditional on FFS etc, to avoid a compiler warning
on systems with no FFS.
- Remove all references to mfs from cpu_rootconf(). mfs_init is
called prior to cpu_rootconf(), so it can set mountrootfsname to mfs
and (more imporantly) set rootdev using the (bogus in Bruce's opinion)
special major number of 255.
John Birrell [Mon, 24 May 1999 00:27:12 +0000 (00:27 +0000)]
- Back out Luoqi's cdevsw stuff. It panics on my system and is not required.
- Fix an error message.
- Do the MFS_ROOT setting of mountrootfsname in mfs_init() instead of
cpu_rootconf().
- Set rootdev in mfs_init instead of later in mfs_mount() iff MFS_ROOT.
Roger Hardiman [Sun, 23 May 1999 21:40:51 +0000 (21:40 +0000)]
Added rgb_vbi_prog() to capture VBI data and video at the
same time. To capture VBI data, /dev/vbi must be opened
before starting video capture.
A partly on code from Hiroki Mori <mori@infocity.co.jp>
Justin T. Gibbs [Sun, 23 May 1999 18:57:29 +0000 (18:57 +0000)]
Rely on the statistics in XPT_GDEV_STATS instead of the versions still
retained in XPT_GDEV_TYPE for binary compatibility. Mark the legacy
structure values for removal when we bump the major CAM revision.
Justin T. Gibbs [Sun, 23 May 1999 18:54:34 +0000 (18:54 +0000)]
Poll for interrupts in bt_cmd in case they are masked. A completing
mailbox command will block the completion of an immediate command,
so we must service them for our command to succeed.
xargs was spliting the input in a very different way from everyone else,
and was also a bit inconsistent: leading blanks, or any double blanks
generated empty arguments, but a trailing blank did not.
PR: bin/2630, bin/10914
Submitted by: Arne Henrik Juul <arnej@imf.unit.no>
Construct the profile file name from the name of the executable. A program
compiled with -pg and run will generate a file <executable-filename>.gmon,
not gmon.out.
Justin T. Gibbs [Sat, 22 May 1999 22:04:11 +0000 (22:04 +0000)]
aic7xxx.c:
Honor the 'bus reset at startup' option now that the XPT properly
handles transfer negotiation in this scenario.
Honor the sync rate settings on Ultra2 controllers. We would
always negotiate at the fastest speed. Oops.
aic7xxx.h:
Whitespace.
aic7xxx.seq:
Fix a minor nit that would cause the controller to miss the update
of the negotiation required bitmask causing the negotiation to
be delayed by a command.
Justin T. Gibbs [Sat, 22 May 1999 22:00:24 +0000 (22:00 +0000)]
Add a default async handler funstion to cam_periph.c to remove duplicated
code in all initiator type peripheral drivers.
scsi_target.c:
Release ATIO structures that wind up in the 'unkown command queue'
for consumption by our userland counterpart, back to the controller
when the exception for that command is cleared.
Justin T. Gibbs [Sat, 22 May 1999 21:58:47 +0000 (21:58 +0000)]
Add the XPT_PATH_STATS and XPT_GDEV_STATS function codes. These ccb
types allow the reporting of error counts and other statistics. Currently
we provide information on the last BDR or bus reset as well as active
transaction inforamtion, but this will be expanded as more information is
added to aid in error recovery.
Use the 'last reset' information to better handle bus settle delays.
Peripheral drivers now control whether a bus settle delay occurs and
for how long. This allows target mode peripheral drivers to avoid
having their device queue frozen by the XPT for what shoudl only be
initiator type behavior.
Don't perform a bus reset if the target device is incapable of performing
transfer negotiation (e.g. Fiber Channel).
If we don't perform a bus reset but the controller is capable of transfer
negotiations, force negotiations on the first transaction to go to the
device. This ensures that we aren't tripped up by a left over negotiation
from the prom, BIOS, loader, etc.
Add a default async handler funstion to cam_periph.c to remove duplicated
code in all initiator type peripheral drivers.
Allow mapping of XPT_CONT_TARGET_IO ccbs from userland. They are
itentical to XPT_SCSI_IO ccbs as far as data mapping is concerned.
Justin T. Gibbs [Sat, 22 May 1999 21:50:40 +0000 (21:50 +0000)]
First cut at a driver for the amd53c974 PCI SCSI host adapter. This
driver lacks error recovery and still needs more testing, but it's
about time I got it under revision control.
Submitted by: Tekram Inc.
Bus Space/DMA and cleanup: gibbs
Bill Paul [Sat, 22 May 1999 16:12:54 +0000 (16:12 +0000)]
- Fix up some comments in if_wi.c (no code changes)
- Mention that the 6Mbps turbo adapters are supported in HARDWARE.TXT
and RELNOTES.TXT and the wi.4 man page
- Mention turbo adapters in the wicontrol.8 man page and provide a
complete table of available transmit speed settings
Doug Rabson [Sat, 22 May 1999 15:18:28 +0000 (15:18 +0000)]
* Factor out the common code between the isa bus drivers for i386 and alpha.
* Re-work the resource allocation code to use helper functions in subr_bus.c.
* Add simple isa interface for manipulating the resource ranges which can be
allocated and remove the code from isa_write_ivar() which was previously
used for this purpose.
Tim Vanderhoek [Sat, 22 May 1999 06:57:22 +0000 (06:57 +0000)]
If we're going to do such a non-UNIX(tm)y thing as appending output
to a file instead of truncating, at least word the notice of output
redirection appropriately.
David E. O'Brien [Sat, 22 May 1999 02:33:08 +0000 (02:33 +0000)]
Remove `ix' driver. Justin Gibbs added support for the EtherExpress16 to
the `ie' driver in rev 1.41 of if_ie.c on 1997/04/14. Thus retiring the
`ix' driver.
Bill Paul [Fri, 21 May 1999 23:58:12 +0000 (23:58 +0000)]
Remove some #ifdef'ed code. The ADMtek doesn't have a 'enable reception of
broadcast frames' bit, so we don't need any code in al_init() to set/clear
it.
Bill Paul [Fri, 21 May 1999 04:37:48 +0000 (04:37 +0000)]
This commit adds driver support for PCI fast ethernet cards based on the
ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone,
except with simpler receive filter options. The AL981 has a built-in
transceiver, power management support, wake on LAN and flow control.
This chip performs extremely well; it's on par with the ASIX chipset
in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP
easily).
I would have committed this driver sooner, except I ran into one problem
with the AL981 that required a workaround. When the chip is transmitting
at full speed, it will sometimes wedge if you queue a series of packets
that wrap from the end of the transmit descriptor list back to the
beginning. I can't explain why this happens, and none of the other tulip
clones behave this way. The workaround this is to just watch for the end
of the transmit ring and make sure that al_start() breaks out of its
packet queuing loop and waiting until the current batch of transmissions
completes before wrapping back to the start of the ring. Fortunately, this
does not significantly impact transmit performance.
This is one of those things that takes weeks of analysis just to come
up with two or three lines of code changes.
Nick Hibma [Thu, 20 May 1999 20:02:37 +0000 (20:02 +0000)]
usbdi.h:
Implement priorities.
GENERIC, LINT, files:
Remove remarks about ordering of device names.
GENERIC, LINT:
Sort the devices alphabetically in LINT and GENERIC.
Andrew Gallatin [Thu, 20 May 1999 15:33:33 +0000 (15:33 +0000)]
Add support for multiple PCI "hoses" used on various alpha platforms.
The specific intent of this commit is to pave the way for importing
Compaq XP1000 support. These changes should not affect the i386 port.
Reviewed by: Doug Rabson <dfr@nlsystems.com>
(actually, he walked me through most of it & deserves more than reviewd-by
credit )
Søren Schmidt [Thu, 20 May 1999 09:12:06 +0000 (09:12 +0000)]
Eigth update to the new ATA/ATAPI driver:
Fixed problems:
LS120/ZIP drives still currupted data.
Reworked once again, buffered I/O is just ignoring any sizehints
it is given :(
Now the atapifd driver splits up requests for devices that has
limitted transfer size.
ISA only configs fails on boot with interrupt timeouts.
The new-bus integration introduced a bug where the softc ptr
was lost during the probe.
Some minor cleanups and rearrangements as well.
As usual USE AT YOUR OWN RISK!!, this is still pre alpha level code.
Especially the DMA support can hose your disk real bad if anything
goes wrong, again you have been warned :)
Notebook owners should be carefull that their machines dont suspend
as this might cause trouble...