Commit Graph

2378 Commits

Author SHA1 Message Date
Justin T. Gibbs
d72b216c5b Handle the case when auto sense retrieval fails.
Give automatic request sense operations a 5 second timeout.
1999-04-19 21:27:36 +00:00
Nick Hibma
49ae25e811 1) Add Rockfire vendor and gamepad product (MAEKAWA Masahide)
2) Sort the list again (Roger Hardiman)
3) Reinstate a piece of code to look for a name for a device
   if none is found in the device itself.
1999-04-19 20:25:18 +00:00
Peter Wemm
5f5a2519b4 Fix a braino from last commit. 1999-04-19 14:01:42 +00:00
Peter Wemm
896de22812 GC some now unused (and #if 0) code. 1999-04-19 13:34:25 +00:00
Peter Wemm
e51d99dc81 EISA can (or will) be a child of the i386 nexus on non-PCI systems. 1999-04-19 07:58:34 +00:00
Peter Wemm
bed56f7f4d Set the bus description for EISA, like it is for ISA. 1999-04-19 06:57:33 +00:00
Søren Schmidt
f1cb6ca392 Update to use the new-bus framework. No functional changes.
Mostly done by Doug Rabson, minor fixes by me.
1999-04-18 20:48:15 +00:00
Peter Wemm
0f6bc47029 Make the bt isa driver work..
- fix cut/paste problem. :-)
- don't forget to call isa_dmacascade()
- reset the port after we release resources.

That last one is a trap to watch out for..  The isa bus driver uses the
same port/irq/mem/etc variables for the initial probe hints as it does
for allocation/deallocation tracking.  Releasing a resource clears the
variable and then you loose the hint during attach.. (ouch!)
1999-04-18 19:08:28 +00:00
Peter Wemm
d6a592e099 Check bus_setup_intr() as a seatbelt... 1999-04-18 19:03:50 +00:00
Peter Wemm
a49a3d4433 Implement an EISA new-bus framework. The old driver probe mechanism
had a quirk that made a shim rather hard to implement properly and it was
just easier to convert the drivers in one go.  The changes to the
buslogic driver go beyond just this - the whole driver was new-bus'ed
including pci and isa.  I have only tested the EISA part of this so far.

Submitted by:	 Doug Rabson <dfr@nlsystems.com>
1999-04-18 15:50:35 +00:00
Peter Wemm
25f4337454 Merge revs 1.57 and 1.60 of i386/isa/psm.c 1999-04-18 15:12:11 +00:00
Peter Wemm
f3a865fb76 Merge missing changes from i386/isa/sioreg.h (PC98 related) 1999-04-18 14:37:47 +00:00
Peter Wemm
0dd2ac5462 Tidy up a few things left over from the conversion from i386/isa/sio.c.
Leave two #if 0'd notes about the way things used to be done for reference.
1999-04-18 14:35:28 +00:00
Doug Rabson
e2117e478b Register sio interrupts as fast (fixing some silo overflow messages). 1999-04-18 14:11:01 +00:00
Paul Richards
3a129cf3d9 Set ifq_maxlen to IFQ_MAXLEN 1999-04-18 01:49:16 +00:00
Paul Richards
0fde788552 Set ifq_maxlen to number of transmit descriptors. 1999-04-18 01:37:19 +00:00
Paul Richards
195f63e808 The changes to vm_page.c have broken the assumption that mallocing
early will result in memory below 16M so now we need to explicitly use
contigmalloc to get low physical memory.
1999-04-18 01:03:46 +00:00
Nick Hibma
921a038ad5 UHCI_DEBUG should of course be OHCI_DEBUG
Reported by: MAEKAWA Masahide <bishop@rr.iij4u.or.jp>
1999-04-17 21:48:03 +00:00
Peter Wemm
e91896117b Well folks, this is it - The second stage of the removal for build support
for LKM's..
1999-04-17 08:36:07 +00:00
Greg Lehey
cbeab55980 free_vinum: clear up a warning message. 1999-04-17 04:15:50 +00:00
Peter Wemm
007e69315a Merge up to rev 1.234 (nice revision number!) of i386/isa/sio.c. 1999-04-17 01:02:27 +00:00
Peter Wemm
c976cd3849 Merge up to rev 1.226 of i386/isa/sio.c 1999-04-17 00:37:01 +00:00
Peter Wemm
c2c75d780e As a temporary anti-foot-shooting measure, don't let the user attach
the atkbd device to isa, as was in the old (and 3.x) GENERIC config.
1999-04-16 23:39:15 +00:00
Peter Wemm
6182fdbda8 Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition.  eisa, isapnp and pccard* are
not yet using the new resource manager.  Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
 ATA driver to the Alpha.  Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by:	core
1999-04-16 21:22:55 +00:00
Alexander Langer
9b0f83b7fb Added missing newline to "no ports found!" message. 1999-04-15 00:13:20 +00:00
Matt Jacob
17b1ea0341 temp fix for internal queue overflow problem 1999-04-14 17:37:36 +00:00
Eivind Eklund
437250056e Shorten line.
Prodded by:	bde
1999-04-12 14:31:28 +00:00
Dag-Erling Smørgrav
7a19b7ed76 PCX loader for pseudo-device splash. 1999-04-12 13:39:11 +00:00
Dag-Erling Smørgrav
601752d5a7 Centralize and reorganize a few macros. 1999-04-12 13:34:58 +00:00
Nick Hibma
67aa00a71b 1) Make debugging more selective.
2) create function usbd_errstr which turns a usbd_status into a sensible
   error message
3) Change the printf in DPRINTF to logprintf which is a define for
   log(KERN_DEBUG, x)
1999-04-11 20:50:33 +00:00
Nick Hibma
91fe4c07fa Applied patch for ukbd disconnect. Disconnect not fully functional
yet however.

Supplied by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-04-11 16:49:15 +00:00
Nick Hibma
49de1dd30d USBD_STALLED bit checking was inconsistent. Mixed use of == and &
Patch provided by: Kazutaka YOKOTA
1999-04-11 16:43:48 +00:00
Nick Hibma
2115c3404f Remove unit from struct. Not used anymore. 1999-04-11 16:22:57 +00:00
Nick Hibma
f6f5fdd730 Reenable the recursive disconnection from a hub. Stop gap solution
until the newbus version of uhub.c is ready.

Submitted by: Kazutaka YOKOTA
1999-04-11 14:24:43 +00:00
Nick Hibma
5e36e2fe52 Changed pci_config_read() to pci_map_port(). Pointed out by Doug Rabson. 1999-04-11 14:24:20 +00:00
Eivind Eklund
51e4098148 Remove unused function int fi() {return 0;} 1999-04-11 03:47:24 +00:00
Eivind Eklund
c6d0e3f0c1 Staticize. 1999-04-11 03:06:07 +00:00
Eivind Eklund
505ab9b86b Staticize. 1999-04-11 02:55:52 +00:00
Eivind Eklund
66235db57f Staticize. 1999-04-11 02:50:42 +00:00
Søren Schmidt
775986fc09 Sixth update to the new ATA/ATAPI driver:
Fixed problems:

    Promise controllers was not always set up correctly.
        Parantheses are a good thing, fixed.

    Some older CDROM's could hang the probe.
        Proberly wait for the drive to catch its breath after IDENTIFY.

    Some CD writers fails because they dont support rezero.
        Rearranged the code to not use rezero.

    Warnings now that we use EGCS.
        Fixed.
1999-04-10 18:53:35 +00:00
Greg Lehey
09c1cbfe92 struct drive: add fields for debugging lockdrive deadlocks. 1999-04-10 08:12:44 +00:00
Greg Lehey
f83e10d7ca set_sd_state:
If a drive is down, take "empty" sds down.  Previously they were
  unchanged, which cause set_plex_state to take them up under some
  circumstances.
1999-04-10 08:12:12 +00:00
Greg Lehey
ff17305f57 When VINUMDEBUG is set, add function basename() to return the base
name of a file.  Used by MMalloc and lockdrive.
1999-04-10 08:11:44 +00:00
Greg Lehey
7ffb59f668 lockdrive: Add debug calls to catch occasional deadlocks on drives.
The problem is probably gone, but the debug checks remain
	   for a while.
1999-04-10 08:11:21 +00:00
Greg Lehey
cea0c59dfa Add flag keyword w. 1999-04-10 08:10:55 +00:00
Greg Lehey
301ef407a4 daemon_save_config:
Fix a potential drive deadlock when saving config to a non-existent
  drive.

Add debug calls to catch occasional deadlocks on drives.  The problem
(above) is probably gone, but the debug checks remain for a while.
1999-04-10 08:10:24 +00:00
Greg Lehey
c73d47fca5 Define macro LOCKDRIVE for debugging drive locking deadlocks. 1999-04-10 08:09:49 +00:00
Greg Lehey
385e19fcb6 Add declaration for basename()
Change lockdrive definition if VINUMDEBUG is set.
1999-04-10 08:09:27 +00:00
Greg Lehey
ec3a729692 Add debug calls to catch occasional deadlocks on drives. The problem
is probably gone, but the debug checks remain for a while.

update_plex_config: Catch yet another divide-by-zero problem when
		    detaching the last subdisk from a striped plex.

Uncovered-by: Michael Reifenberger <root@nihil.plaut.de>
1999-04-10 08:08:45 +00:00
Greg Lehey
d85bfa1067 update_plex_config: Eliminate a potential divide-by-zero.
Tripped-over-by: Karl Pielorz <kpielorz@tdx.co.uk>
1999-04-09 01:20:22 +00:00
Greg Lehey
4a10e91653 Modify parameter checking in LongJmp to match the reality of an
enlarged kernel memory space.

Paniced-over-by:  Karl Pielorz <kpielorz@tdx.co.uk>
		  Michael Reifenberger <root@nihil.plaut.de>
1999-04-09 01:17:50 +00:00
Nick Hibma
948d2900b2 1) Add Lucent USS-720 eval kit
2) Rename Epson printer cable to proper name
1999-04-08 23:26:50 +00:00
Nick Hibma
95b1c9ac5d 1) Add AKS USB-HASP 0.6
2) Rename Lucent -> Epson
   (Undoes previous commit, Mike agrees)
1999-04-08 23:13:17 +00:00
Mike Smith
0858cc98d3 Add the Lucent USS-720 ISD Smart Cable. 1999-04-08 20:50:51 +00:00
Justin T. Gibbs
5a151d297c Correct an invalid (and unused) #define in 93cx6.c
Freeze the transaction queue for any type of scsi status other than "okay".
1999-04-07 23:02:45 +00:00
Justin T. Gibbs
2ea77ad9af Improve bt_cmd() so that it has a better chance of working when there
are pending I/O transactions.  It is not clear that is works 100% of
the time under SMP, but since the bt_cmds() that are sent after other
CPUs are started are not critical, the driver will function until I
can figure out why this is the case.
1999-04-07 23:01:43 +00:00
Justin T. Gibbs
fcbe355ab9 Beef up the error handling routine to handle more errors.
Compensate for a bug in the AdvanSys firmware where a valid queue
full condition can be reported via a different error code.
1999-04-07 22:59:12 +00:00
Nick Hibma
7ae8132edd Added macro logprintf 1999-04-07 17:07:07 +00:00
Nick Hibma
61f973056b fix typo 1999-04-06 23:09:58 +00:00
Bill Paul
2075407db2 Remove teensy-weensy bit of debug code that crept in.
Oh, I forgot to mention: this driver also works on FreeBSD/alpha (big
thanks to Andrew Gallatin). And there is a 2.2.x version available for
those who stubbornly refuse to upgrade.
1999-04-06 22:56:21 +00:00
Poul-Henning Kamp
bbca5c9c2c failled spell-check 1999-04-06 21:15:18 +00:00
Bill Paul
d02c233129 Add driver support for gigabit ethernet adapters based on the Alteon
Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed
gigabit ethernet adapters out there which use the Alteon chipset so
this driver covers a fair amount of hardware. I know that it works with
the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also
work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit
ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and
and Sun boards. The Netgear board is the cheapest (~$350US) but still
yields fairly good performance.

Support is provided for jumbo frames with all adapters (just set the
MTU to something larger than 1500 bytes), as well as hardware multicast
filtering and vlan tagging (in conjunction with the vlan support in
-current, which I should merge into -stable soon). There are some hooks
for checksum offload support, but they're turned off for now since
FreeBSD doesn't have an officially sanctioned way to support checksum
offloading (yet).

I have not added the 'device ti0' entry to GENERIC since the driver
with all the firmware compiled in is quite large, and it doesn't really
fit into the category of generic hardware.
1999-04-06 17:08:31 +00:00
Peter Wemm
2ada239c12 Use reference counted PHOLD/PRELE rather than the P_PHYSIO flag. 1999-04-06 03:06:51 +00:00
Nick Hibma
7b9e192e28 1) Add the defines for the Mass Storage class
2) Add comments
	3) Add UE_DIR to replace the querying of UE_IN directly
1999-04-05 17:23:54 +00:00
Nick Hibma
ff0ccda34e change wrong names in prototypes (pipe to dev) 1999-04-05 17:19:48 +00:00
Nick Hibma
5163f215e0 Add the defines for the Iomega Zip 100 drive 1999-04-05 17:12:46 +00:00
Nick Hibma
1294cd03e1 bugfix: initialise timeout for usbd_device_request as well.
moved statements around to reflect sequence in the struct, to make
	finding these discrepancies easier.
1999-04-05 17:01:52 +00:00
Peter Wemm
5734634f4c Make ppbus compile under egcs. I'm not sure about this casting-to-union-
-containing-the-type stuff, but gcc seemed to do it implicitly..
1999-04-05 15:43:11 +00:00
Greg Lehey
0ad9aafaa2 Add debug flag DEBUG_EXITFREE to log problems freeing memory on exit. 1999-04-05 04:03:45 +00:00
Greg Lehey
31e318aced remove_plex: If we don't find the plex in a volume to which it
claims to belong, remove it anyway.
1999-04-05 04:02:59 +00:00
Greg Lehey
599fbeb550 free_vinum: Clean out bdevsw entry before unloading kld.
Repeatedly-tripped-over-by: Vallo Kallaste <vallo@matti.ee>

		When VINUMDEBUG is set, free any memory found still
		allocated.

		Only log errors if DEBUG_EXITFREE is set.
1999-04-05 04:02:09 +00:00
Matt Jacob
3c6e29e07a Make firmware revision a triple. Clean up some FC init stuff for
board versions with no BIOS. Separate mailbox interrupts from
IOCB interrupts. Read OUTMAILBOX5 while RISC_INT is active- not
after you clear it (potential race condition). Clear out older broken
BIG_ENDIAN goop. Don't negotiate narrow/async for LVD busses at startup
if already in LVD mode. Note usage of presumptive 1040C revision. For
all the LIP, PDB Changed, Loop UP/DOWN async events, mark fw state
as unknown as well as marking the need to do a getpdb on targets- after
a LIP for certain the f/w has to do PRLI/PLOGI for all targets again
and marking f/w state as unknown gives us a fighting chance to (start
to) hold up for that to complete.
1999-04-04 02:28:29 +00:00
Matt Jacob
8ea807adf5 oops on this last 1999-04-04 02:22:42 +00:00
Matt Jacob
92718a7fc7 F/W revisions now a tuple (not a duple). Fix pre-CAM code. 1999-04-04 01:35:03 +00:00
Matt Jacob
bc3dacd6c7 Fix for pre-CAM kernels (again). Turn back on fast posting. 1999-04-04 01:34:06 +00:00
Matt Jacob
3c0e51c709 Remove incorrect BIG_ENDIAN defines and substitute in the SBus only macros
that will SBusify an isp header or the lun/target portions of a request IOCB-
and have these only valid iff __sparc__ (no non-sparc SBus machine that *I*
know about).
1999-04-04 01:32:09 +00:00
Matt Jacob
12b36e2d97 Change f/w revision to major,minor,micro version. Add in ISP1040C definition. 1999-04-04 01:26:08 +00:00
Matt Jacob
57fb3fbbac roll ISP1040 and ISP2100 f/w to latest release 1999-04-04 01:20:25 +00:00
Matt Jacob
ab6d004056 Read the board revision and trim cache line size back from 16 to 1
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
1999-04-04 01:14:02 +00:00
Nick Hibma
44e361fd80 added vision camera 1999-03-31 23:53:48 +00:00
Nick Sayer
4db9b34751 Add support for bridging to if_tx.c
PR:		10534
Submitted by:	nsayer
1999-03-31 13:50:52 +00:00
Greg Lehey
96c60597a8 Destaticize some variables to allow checking on them when exiting. 1999-03-31 08:43:12 +00:00
Greg Lehey
dbb49f899b daemonq_return request: Clean up request queue and free all memory
before returning to die.
1999-03-31 08:42:52 +00:00
Greg Lehey
e6bd890603 free_drive: free the drive free list if it has one. 1999-03-31 08:42:04 +00:00
Greg Lehey
f990bcd3db vinumattach: Remove some really old, dead cruft.
free_vinum:	Wait for daemon to stop by checking the
		vinum_conf.flags & VF_DAEMONOPEN.

vinum_modevent:
		When compiled with VINUMDEBUG, check if we have
		forgotten to free any memory, and log an error if we
		have.

vinumopen:	Allow open of an empty subdisk (otherwise we can't
		initialize it).
1999-03-31 08:41:18 +00:00
Nick Sayer
9bc318bff0 SX ISA cards are only 32k wide in 8 bit mode (which is the only
mode supported by the manufacturer).

PR:		6255
Submitted by:	nsayer
1999-03-30 21:22:39 +00:00
Poul-Henning Kamp
4738ca443e Organize the various modes (CISCO/AUTO/DEMAND/LEASED) a little bit better,
centralize the code.

Remember to call TLF/TLS on the hardware in CISCO mode.
1999-03-30 13:28:23 +00:00
Søren Schmidt
74fa06c717 Make ISA only systems compile again.. 1999-03-30 13:09:47 +00:00
Greg Lehey
ec78ad25c9 Add flag VF_CREATED 1999-03-30 05:01:42 +00:00
Greg Lehey
fd7505f096 Change the lengths of many ioctl parameters, which occasionally caused
EFAULTS due to sloppy programming.
1999-03-30 05:01:23 +00:00
Greg Lehey
8cb67ba580 Revise use of the vinum_conf variables drives_used, subdisks_used,
plexes_used and volumes_used.  Now these fields are only informative,
and the <object>_allocated count is used for searches, etc.  This also
required checking the object state before doing things with the
presumed object.

Problems-reported-by: Kiril Mitev <kiril@ideaglobal.com>

VINUM_<object>CONFIG: return ENXIO rather than EFAULT if an object
doesn't exist.
1999-03-30 05:01:06 +00:00
Greg Lehey
18bf283fec Revise use of the vinum_conf variables drives_used, subdisks_used,
plexes_used and volumes_used.  Now these fields are only informative,
and the <object>_allocated count is used for searches, etc.  This also
required checking the object state before doing things with the
presumed object.

Problems-reported-by: Kiril Mitev <kiril@ideaglobal.com>

vinum_scandisk: increment drive use count when we find a good one.
1999-03-30 05:00:19 +00:00
Greg Lehey
c22d0bffee Revise use of the vinum_conf variables drives_used, subdisks_used,
plexes_used and volumes_used.  Now these fields are only informative,
and the <object>_allocated count is used for searches, etc.  This also
required checking the object state before doing things with the
presumed object.

Problems-reported-by: Kiril Mitev <kiril@ideaglobal.com>

Remove unused (and braindead) functions volume_index, plex_index,
sd_index and drive_index.

Add a flag VF_CREATED for volumes.  VF_NEWBORN was being used in two
capacities, and they clashed, my Lord, they clashed.

find_object: restructure the search loop as a result of the change in
variable use.

Decrement object use count in the remove_<object> functions, not in
the free_<object> functions, which are often called with partially
initialized (and uncounted) objects.
1999-03-30 04:59:59 +00:00
Greg Lehey
8c1e93bf98 Revise use of the vinum_conf variables drives_used, subdisks_used,
plexes_used and volumes_used.  Now these fields are only informative,
and the <object>_allocated count is used for searches, etc.  This also
required checking the object state before doing things with the
presumed object.

Problems-reported-by: Kiril Mitev <kiril@ideaglobal.com>
1999-03-30 04:59:32 +00:00
Kazutaka YOKOTA
ccd4815963 Make the splash screen alternate "fade out" and "fade in" action at
regular intervals, when the module is used as a screen saver.

Submitted by: asami
1999-03-29 15:13:53 +00:00
Søren Schmidt
20f20ae658 Fix bug in the Promise code that resultet in PIO always being selected. 1999-03-29 14:24:42 +00:00
Søren Schmidt
55bfaed1c0 Fourth update to the new ATA/ATAPI driver:
Well, better late than newer, but things has been hectic
around here, sorry for the long delay.

DMA support has been added to the ATA disk driver.
This only works on Intel PIIX3/4, Acer Aladdin and Promise controllers.
The promise support works without the BIOS on the board,
and timing modes are set to support up to UDMA speed. This
solves the problems with having more than one promise controller
in the same system.
There is support for "generic" DMA, that might work on other
controllers, but now you have been warned :)
More chipset specific code will come soon, I have to find testers
with the approbiate HW, more on that when I have it ready.

The system now uses its own major numbers, please run MAKEDEV
with the devices you need (ad?, acd?, afd?, ast?).
For now the disk driver will also attach to the old wd major
so one can at least boot without this step, but be warned, this
will eventually go away. The bootblocks will have to be changed
before one can boot directly from an "ad" device though.

Fixed problems:

    All known hang problems should be solved
	The probe code has been sligthly changed, this should solve
	the reports I have lying around (I hope).

    Hangs when accessing ata & atapi device on the same channel simultaniously.
	A real braino in ata_start caused this, fixed.

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, agaiin you have been warned :)

But please tell me how it works for you!

Enjoy!

-Søren
1999-03-28 18:57:20 +00:00
Greg Lehey
dfb9ab7989 Add definition LongJmp for longjmp if -DVINUMDEBUG.
Change some comment texts
1999-03-28 08:55:04 +00:00
Greg Lehey
d7c4c59f03 set_sd_state: Handle sd_empty correctly. In particular, require
force to bring a subdisk of a RAID-5 plex out of this
		state.

update_plex_state:  Rewrite yet again.
1999-03-28 08:54:48 +00:00
Greg Lehey
d8118f9d41 Put some \ns in some log messages. 1999-03-28 08:54:25 +00:00