Commit Graph

15298 Commits

Author SHA1 Message Date
Justin T. Gibbs
f40c8d7155 All cards using aic789X chips use the new eeprom format.
Corrects bogus negotiation values on aic7890 based controllers.

PR: 11872
1999-05-25 20:12:32 +00:00
Julian Elischer
f7831602d5 Compaq "Intelligent Disk Array" driver.
Mark Dawson holds teh copyright on this and has releases from
Compaq to allow him to do so..

Not functional in 4.0 yet but being checked in to allow the functional
3.x version to be branched at this point.
1999-05-25 19:45:17 +00:00
Dmitrij Tejblum
eee8a8e4e0 From our i386 counterpart:
|revision 1.13
|date: 1995/09/15 23:49:23;  author: davidg;  state: Exp;  lines: +15 -2
|Check for page being resident when doing I/O with /dev/kmem and return
|EFAULT if it is not resident. This prevents the system from manufacturing
|a zero-fill page for unused but allocated areas of the kernel's VM.
1999-05-25 19:32:53 +00:00
Kenneth D. Merry
edd24ab742 Fix the read/write permission checks in cam_periph_mapmem(). If we're
writing, we want to be able to read the buffer.  If we're reading, we want
to be able to write to the buffer.

PR:		kern/11870
Submitted by:	Andrew Mobbs <amobbs@allstor-sw.co.uk>
1999-05-25 17:10:04 +00:00
Roger Hardiman
ceed656248 Add OPTi 82c822 host to PCI bridge
This is an old OPTi chipset.
If you use a Bt878 card with this chipset, be sure to enable
the SIS/VIA chipset compatiblity mode workaround.

Tested By: Ben Laurie <ben@algroup.co.uk>
1999-05-25 15:56:10 +00:00
Roger Hardiman
8fa3a2e7ed Rename 849 to 849A (the correct name for the IC) 1999-05-25 12:44:40 +00:00
Roger Hardiman
ec3a598be7 Add support for the Bt878/Bt879's Intel 430 FX and
SIS/VIA/ OPTi chipset PCI bus workarounds.

These make the Bt878/879 chips stabler on certain
older and non-intel motherboards.

Use options BKTR_430_FX_MODE
or  options BKTR_SIS_VIA_MODE
to enable these modes.

Also rename 849 to 849A
1999-05-25 12:43:40 +00:00
KATO Takenori
128cd97530 Merge with sys/i386/isa/wd.c revision 1.192 and 1.193.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1999-05-25 10:41:14 +00:00
KATO Takenori
fb84c9994c Sync with sys/i386/i386/userconfig.c revision 1.145. 1999-05-25 10:32:10 +00:00
KATO Takenori
607f92b4bd Sync with sys/i386/conf/options.i386 revision 1.114. 1999-05-25 10:30:58 +00:00
Brian Somers
63e13c80ea Back the last change out.
It upsets the calculations in sys.c (switch(maj)).
1999-05-25 10:30:52 +00:00
Brian Somers
cd956c3bc1 Allow booting from "ad"
Reviewed by: Søren
1999-05-25 09:32:00 +00:00
Robert Nordier
c9091105f3 Activate mbr. 1999-05-24 22:44:32 +00:00
Robert Nordier
9292eec80d Add mbr: a standard master boot record intended to replace a couple
that are presently embedded in the fdisk and sysinstall code.
1999-05-24 22:36:24 +00:00
Doug Rabson
1522abdd5e Don't try to allocate memory resource unless address is non-zero. 1999-05-24 18:50:41 +00:00
Bill Paul
497760a16a 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
1999-05-24 14:56:55 +00:00
Luigi Rizzo
e142fadecb 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)

PR: kern/10889
Submitted by: Ruslan Ermilov
1999-05-24 10:01:22 +00:00
Peter Wemm
578de0426e 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>
1999-05-24 03:08:46 +00:00
John Birrell
8fb7da0099 Remove the mfs stuff now that mfs_init() does the MFS_ROOT initialisation. 1999-05-24 00:54:17 +00:00
John Birrell
350185153d 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.
1999-05-24 00:37:26 +00:00
John Birrell
02013ff886 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.

I can use the pointy bit of the axe too.
1999-05-24 00:34:10 +00:00
John Birrell
4d562a18fc - 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.
1999-05-24 00:30:49 +00:00
John Birrell
ed3a2fb7b3 - 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.
1999-05-24 00:27:12 +00:00
Roger Hardiman
ab27fe4452 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>
1999-05-23 21:40:51 +00:00
Justin T. Gibbs
8281556234 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.
1999-05-23 18:57:29 +00:00
Justin T. Gibbs
3caf668db7 Don't reference our SCB until we have validated that the firmware has
returned an SCB that is in range.
1999-05-23 18:55:58 +00:00
Justin T. Gibbs
cf7d3071b9 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.

PR: 11799
1999-05-23 18:54:34 +00:00
Brian Somers
6961f3da13 brucify
Mentioned by: sprice@hiwaay.net
1999-05-23 13:52:05 +00:00
Peter Wemm
a0ca55077a Don't reference non-existant ATAPI option..
PR:		11814
Submitted by:	Sheldon Hearn <sheldonh@uunet.co.za>
1999-05-23 11:11:31 +00:00
John Birrell
d47066829a Make MFS_ROOT work again. MFS_ROOT means that rootdev is not set.
Broken by: phk
Problem ignored by: phk
1999-05-23 10:51:33 +00:00
Justin T. Gibbs
fdd1fe20a4 Add the amd driver. 1999-05-22 22:10:07 +00:00
Justin T. Gibbs
ebada55cce 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.
1999-05-22 22:04:11 +00:00
Justin T. Gibbs
516871c613 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.
1999-05-22 22:00:24 +00:00
Justin T. Gibbs
87cfaf0e1f 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.
1999-05-22 21:58:47 +00:00
Justin T. Gibbs
1723e869c1 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
1999-05-22 21:50:40 +00:00
Dmitrij Tejblum
9d3a442583 Don't call calcru() on a swapped-out process. calcru() access p_stats, which
is in U-area.
1999-05-22 20:10:31 +00:00
Bill Paul
33b3ee3898 - 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
1999-05-22 16:12:54 +00:00
Doug Rabson
6f50cfb43a Use the resource apis to manipulate resources. 1999-05-22 15:47:34 +00:00
Doug Rabson
f78030e22d Don't use BUS_WRITE_IVAR to manipulate resources. 1999-05-22 15:45:47 +00:00
Doug Rabson
a3be63b3ce * 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.
1999-05-22 15:18:28 +00:00
Doug Rabson
7e082b48a2 Add some helper functions to make it easier to write a driver for a bus
which needs to manage resources for its children.
1999-05-22 14:57:15 +00:00
Robert Nordier
32ea10b4fc Fix a reference to the mysterious Mike Smisth. 1999-05-22 13:18:28 +00:00
Peter Wemm
13b758eb46 Add seatbelt like in previous function.. 1999-05-22 09:52:21 +00:00
Peter Wemm
2b5be3fad4 Recover from removing the last (unshared) interrupt handler.
PR:		11806
Submitted by:	Assar Westerlund <assar@sics.se>
1999-05-22 09:39:31 +00:00
Bruce Evans
bb86f61a79 Fixed style bugs in previous commit. 1999-05-22 08:36:55 +00:00
Semen Ustimenko
a1684b9830 Move arpcom structure be the first in softc structure. Needed
for ether_ioctl.

PR:   pending/11754
1999-05-22 06:10:14 +00:00
Julian Elischer
2e897e94b6 Cosmetic changes to make it compile without errors in gcc -Wall 1999-05-22 04:43:04 +00:00
Bruce Evans
1979249db2 Restored rev.1.76 which was clobbered by rev.1.77. 1999-05-22 04:34:59 +00:00
Bill Paul
333c864f90 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.
1999-05-21 23:58:12 +00:00
Kenneth D. Merry
0d0fb9ffeb Fix a memory leak and a double free that could happen in certain error
cases.  These were unlikely to happen in normal operation.

Noticed by:	"Christopher R. Bowman" <crb@ChrisBowman.com>
1999-05-21 22:02:02 +00:00