Commit Graph

46945 Commits

Author SHA1 Message Date
ache
c0502b59de Merge conflicts 2000-03-19 22:00:57 +00:00
lile
f14c3bda44 o Replace most magic numbers related to token ring with #defines
from iso88025.h.

o Add minimal llc support to iso88025_input.

o Clean up most of the source routing code.

* Submitted by: Nikolai Saoukh <nms@otdel-1.org>
2000-03-19 21:34:39 +00:00
ache
2e27cca03a This commit was generated by cvs2svn to compensate for changes in r58310,
which included commits to RCS files with non-trunk default branches.
2000-03-19 21:18:09 +00:00
ache
b85a0e54ae Initial import of v4.1 2000-03-19 21:18:09 +00:00
green
f556f75f09 Add a new flag: -E enables "extended" regular expressions. 2000-03-19 19:41:53 +00:00
green
064bd228d5 Add $FreeBSD$. 2000-03-19 19:39:41 +00:00
green
531390eb7c Enable the K6-2 MTRR driver again, since there are reports of it working
with the applied change.

Submitted by:	 Coleman Kane <cokane@one.net>
2000-03-19 19:22:24 +00:00
green
fd94142ea3 Set the bits in the mask from the left to the right, not backwards.
Submitted by:	 Coleman Kane <cokane@one.net>
2000-03-19 19:21:37 +00:00
asmodai
a7618b52e0 Fix typo. 2000-03-19 16:52:59 +00:00
asmodai
c85887e8e1 Trim trailing whitespace. 2000-03-19 15:55:38 +00:00
asmodai
3e0529de45 Document the sysctl knob for setting the severity of the SPLASSERT
macros.

Reviewed by:	ps
2000-03-19 15:47:33 +00:00
kato
318ab1e812 Merged from sys/isa/fd.c. 2000-03-19 15:18:22 +00:00
lile
5ba5b5b6b4 o Fix typo in the RapidFire 3540 adapter name
4/16/100 -> 100/16/4 so that it matches all of the others.

o Since we went to all the trouble of getting the correct
  working memory size actually use it.

* Submitted by: Nikolai Saoukh <nms@otdel-1.org>
2000-03-19 15:08:39 +00:00
kato
4b0a79c936 Define PC98 when MACHINE == pc98, because msdos_vfsops.c contains
`#ifdef PC98'.
2000-03-19 15:06:18 +00:00
ps
98dc3507a2 Make SPLASSERT sysctl and boot time tunable with kern.splassertmode.
The following values are understood:  0 (ignore), 1 (log), and 2
(panic).

The default value is 1.

Reviewed by:	peter
2000-03-19 14:55:42 +00:00
asmodai
7a6ba84531 Spell Jonathan's name correctly in the copyright. Which is funny,
considering the fact he wrote it himself. =)

Also add his email address in the AUTHORS section.
2000-03-19 14:46:56 +00:00
kato
aed3ae8721 Merged from sys/i386/i386/userconfig.c rev 1.178. 2000-03-19 14:46:22 +00:00
asmodai
322355cc5f Add the manpage for CONDSPLASSERT().
This was based upon the manpage written by jmb for SPLASSERT().
2000-03-19 14:43:03 +00:00
kato
6a47c101bd Added COMPAT_OLDPCI and COMPAT_OLDISA options. 2000-03-19 14:42:52 +00:00
peter
04628b6a2c Add the COMPAT_OLDPCI option for the alpha so GENERIC compiles. 2000-03-19 13:57:09 +00:00
peter
acb2049589 Document and supply COMPAT_OLDPCI and COMPAT_OLDISA so 'make release'
still works.
2000-03-19 13:33:26 +00:00
peter
35e00e91c8 Connect the ISA and PCI compatability shims to an option. In this case
it's options COMPAT_OLDISA and COMPAT_OLDPCI.  This is meant to be a
fairly strong incentive to update the older drivers to newbus, but doesn't
(quite) leave anybody hanging with no hardware support.  I was talking with
a few folks and I was encouraged to simply break or disable the shims but
that was a bit too drastic for my liking.
2000-03-19 13:07:12 +00:00
peter
d5a5d97386 Completely decouple userconfig from 'struct isa_device' and friends.
Userconfig was only using this for convenience since newbus, and even
then it was rather inconvenient.
2000-03-19 12:57:49 +00:00
brian
e183eff0c8 Add some diagnostics to prove that incoming IP fragments are
being dealt with correctly.
2000-03-19 12:37:27 +00:00
peter
e40c669c6b Remove the old a.out-only boot loader, we don't use it any more.
The new boot1/boot2 can load a.out and elf kernels directly.
I think the sys/pc98 version can go too as the sys/boot/pc98 code
appears to be functional, but I'll leave that for the pc98 folks.

"There can be only one."
2000-03-19 11:42:34 +00:00
ps
f30a81f8f4 Add conditional splassert.
Reviewed by:	peter
2000-03-19 11:39:26 +00:00
asmodai
c93dfd0c7c Add device isic to the ASUSCOM_IPAC entry.
Remove quotes around some i4b options to be consistent with the rest.
2000-03-19 10:19:23 +00:00
kris
dac6e5d6ae Add and document a NO_X knob to force disabling of X support in doscmd
Requested by:	sysop@silver.komanda.com.ua
2000-03-19 09:49:03 +00:00
brian
ab3c427b15 Make _FindLinkIn() static and only define GetDestPort when
NO_FW_PUNCH isn't defined.
2000-03-19 09:11:05 +00:00
rwatson
1a427b0d61 Modify if_wi.c to call bpfdetach(ifp) before if_detach(ifp), so as to
prevent a page fault if the card is ejected while BPF is in use.  This
could happen if DHCP or tcpdump was in use on that interface during
ejection.  Other drivers may also require this modification.

Reviewed by:	wes
2000-03-19 05:46:50 +00:00
rwatson
5b7df33ce0 The advent of if_detach, allowing interface removal at runtime, makes it
possible for a panic to occur if BPF is in use on the interface at the
time of the call to if_detach.  This happens because BPF maintains pointers
to the struct ifnet describing the interface, which is freed by if_detach.

To correct this problem, a new call, bpfdetach, is introduced.  bpfdetach
locates BPF descriptor references to the interface, and NULLs them.  Other
BPF code is modified so that discovery of a NULL interface results in
ENXIO (already implemented for some calls).  Processes blocked on a BPF
call will also be woken up so that they can receive ENXIO.

Interface drivers that invoke bpfattach and if_detach must be modified to
also call bpfattach(ifp) before calling if_detach(ifp).  This is relevant
for buses that support hot removal, such as pccard and usb.  Patches to
all effected devices will not be committed, only to if_wi.c, due to
testing limitations.  To reproduce the crash, load up tcpdump on you
favorite pccard ethernet card, and then eject the card.  As some pccard
drivers do not invoke if_detach(ifp), this bug will not manifest itself
for those drivers.

Reviewed by:	wes
2000-03-19 05:42:34 +00:00
yokota
eab2bd6865 Missing pieces of the last commit ;-( 2000-03-19 04:37:18 +00:00
yokota
9435f0f0e1 - Properly keep track of I/O port resources.
- Use bus_space_read/write() to access the ports.
2000-03-19 03:25:13 +00:00
lile
c778d5b01b o Replace the old "oltr" driver with the completely re-written
new-bus Olicom driver, previously known as "ol".  The new
  driver unfortunately does not support ISA cards yet.

o Update the microcode files, interface library and include files
  to the latest PowerMACH works version.  Force even byte alignment
  of adapter microcode.

o Roll in some of the patches from Nikolai Saoukh <nms@ethereal.ru>.
2000-03-18 23:51:54 +00:00
sos
2ae861c731 Remove the old DSC code, it doesn't work anymore. 2000-03-18 22:42:45 +00:00
jasone
c35fe5e157 Explicitly include sys/cdefs.h to get the definition of __strong_reference(),
rather than getting lucky due to header dependencies.
2000-03-18 22:36:46 +00:00
gibbs
db6a3ed930 o Correct the offsets into the syncrate table for paritcular
negotiation features (DT, ULTRA2, ULTRA, FAST).  The offsets
  where not properly updated when the DT entry was added and so
  the driver could attempt to negotiate a speed faster than that
  supported by the target device or even requested by the user
  via SCSI-Select settings. *

o Update the target mode incoming command queue kernel index value
  ever 128 commands instead of 32.  This means that the kernel will
  always try to keep its index (as seen on the card - the kernel may
  actually have cleared more space) 128 commands ahead of where the
  sequencer is adding entries.

o Use the HS_MAILBOX register instead of the KERNEL_TQINPOS location
  in SRAM to indicate the kernel's target queue possition on Ultra2
  cards.  This avoids the "pause bug" on these cards and also turns
  out to be much more efficient.

o When enabling or disabling a particular target id for target mode,
  make sure that the taret id in the SCSIID register does not
  reference an ID that is not to receive target selections.  This
  is only an issue on chips that support the multiple target id
  feature where the value in SCSIID will still affect selection
  behavior regardless of the values in the target id bit field
  registers.

o Remove some target mode debugging printfs.

o Make sure that the sense length reported in ATIO commands is
  always zero.  This driver does not, yet, report HBA generated
  sense information for accepted commands.

o Honor the CAM_TIME_INFINITY and CAM_TIME_DEFAULT values for
  the CCB timeout field.

o Make the driver compile with AHC_DEBUG again.

* Noticed by: Andrew Gallatin<gallatin@cs.duke.edu>
2000-03-18 22:28:20 +00:00
jasone
9127010c9b Use __alias__ instead of alias in the definition of __strong_reference().
Submitted by:	jdp
2000-03-18 22:26:54 +00:00
gibbs
0f472ac00f KNR -> ANSI function definition in two places. This matches the rest of
the code in this driver.
2000-03-18 22:15:00 +00:00
gibbs
cea981f3dd o clear the ccb_flags field before sending an accept target I/O ccb to
an HBA.  Garbage in this field confuses the driver in targdone().

o When completing a CCB on behalf of a user process, we need to
  *de-queue* the ccb from our pending ccb list, not queue it again.

o All continue target I/O operations need to have a timeout set.
  We use 5 seconds throughout this driver.

o Remove some logging printfs.

o During abort processing, remove ccbs that are on the pending queue
  from the pending queue, not the work queue.
2000-03-18 22:13:27 +00:00
mjacob
b98fd10375 Per Justin's request- remove his name from Copyright. 2000-03-18 22:03:41 +00:00
asmodai
b6fdd2ec86 After about two months I am the first to notice that SPLASERT.9 never
got installed.

Also, correct the copyright to a more realistic date (1996->2000).
Fix some wordings and omissions.
2000-03-18 21:51:16 +00:00
jkh
e8abb5e850 Sigh, it would have been nice but I just can't make the rsaref
hack work until we figure out some better way of handling package
interaction.
2000-03-18 20:14:58 +00:00
asmodai
2339a34498 Put ASUSCOM_IPAC in the section where it belongs, namely i4b. 2000-03-18 19:30:58 +00:00
n_hibma
debfad46bd Print the PCI resources even if they are disabled. This shows more clearly
when the BIOS is forgetful about initialising the USB controllers.
2000-03-18 19:18:36 +00:00
n_hibma
5445855c7b Add the entries for urio. 2000-03-18 18:45:48 +00:00
asmodai
e20d0e550c Put the undocumented options back at the bottom as per old
practice.

Place the debug options above the undocumented options.
2000-03-18 18:39:02 +00:00
joerg
5ca5ef9503 Make the Y-E Data PCMCIA floppy of the Toshiba Libretto work under
-current.  It doesn't work yet as stable as the 3.x/PAO version of the
driver does, however, i get occasional `FDC direction bit not set' and
other weird messages, but it basically works at least.

The old (defunct) #ifdef FDC_YE stuff has been eliminated completely
now, PCMCIA-FDC specific functions have been implemented differently
where needed.

Unfortunately, due to the fact that the traditional PeeCee FDC with
its funny non-contiguous register space (one register for WD1003
harddisk controllers is interleaved into the FDC register set), and
Peter's subsequent changes involving two different bus space handles
for normal FDCs, the changes required for the Y-E stuff are more
complex than i'd love them to be.  I've done my best to keep the logic
for normal FDCs intact.

Since the Y-E FDC seems to lose interrupts after a FDC reset
sometimes, i've also replaced the timeout logic in fd_turnoff() to
generate an artificial pseudo interrupt in case of a timeout while the
drive has still outstanding transfers waiting.  This avoids the total
starvation of the driver that could be observed with highly damaged
media under 3.x/PAO.  This part of the patch has been revied by bde
previously.

I've fixed a number of occasions where previous commits have been
missing the encapuslation of ISA DMA related functions inside
FDC_NODMA checks.

I've added one call to SET_BCDR() during preparation of the format
floppy operation.  Floppy formatting has been totally broken before in
3.x/PAO (garbage ID fields have been written to the medium, causing
`wrong cylinder' errors upon media reading).  This is just black
magic, i don't have the slightes idea _why_ this needs to be but just
copied over the hack that has been used by the PAO folks in the normal
read/write case anyway.

The entired device_busy() stuff seems to be pointless to me.  In any
case, i had to add device_unbusy() calls symmetrical to the
device_busy() calls, otherwise the PCMCIA floppy driver could never be
deactivated.  (As it used to be, it caused a `mark the device busier
and busier' situation.)  IMHO, all block device drivers should be
marked busy based on active buffers still waiting for the driver, so
the device_unbusy() calls should probably go to biodone().  Only one
other driver (whose name escapes me at the moment) uses device_busy()
calls at all, so i question the value of all this...

I think this entire `device busy' logic simply doesn't fit for PCMCIA
&al.  It cannot be the decision of some piece of kernel software to
declare a device `busy by now, you can't remove it', when the actual
physical power of removing it is the user pulling the card.  The
kernel simply has to cope with the removal, however busy the device
might have been by the time of the removal, period.  Perhaps a force
flag needs to be added?

Upon inserting the card a second time, i get:

WARNING: "fd" is usurping "fd"'s cdevsw[]
WARNING: "fd" is usurping "fd"'s bmaj

I suspect this is related to the XXX comment at the call to
cdevsw_add().  Does anybody know what the correct way is to cleanup
this?
2000-03-18 18:27:01 +00:00
n_hibma
0cf189fc93 Reflect the fact that we supported the Y-E Data floppy as well. 2000-03-18 17:59:27 +00:00
n_hibma
750285f9d3 The completely rewritten USB Mass Storage driver. It supports the following
devices:

Tested:
   Zip 100 USB drive
   Y-E Data USB floppy drive

Untested: (let me know whether or not it works!)
   TEAC USB floppy drive
   Zip 250 USB drive
2000-03-18 17:33:41 +00:00