2489 Commits

Author SHA1 Message Date
grog
2dbfcc3870 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
grog
b08fc2420a 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
n_hibma
feebb94411 1) Add Lucent USS-720 eval kit
2) Rename Epson printer cable to proper name
1999-04-08 23:26:50 +00:00
n_hibma
ec9894f656 1) Add AKS USB-HASP 0.6
2) Rename Lucent -> Epson
   (Undoes previous commit, Mike agrees)
1999-04-08 23:13:17 +00:00
msmith
2a8759eebd Add the Lucent USS-720 ISD Smart Cable. 1999-04-08 20:50:51 +00:00
gibbs
40777a5c6f 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
gibbs
bc169999cf 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
gibbs
0c39daf09d 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
n_hibma
b25dcdb8cd Added macro logprintf 1999-04-07 17:07:07 +00:00
n_hibma
c0d6e03792 fix typo 1999-04-06 23:09:58 +00:00
wpaul
b3871d56a7 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
phk
172a8d5d4a failled spell-check 1999-04-06 21:15:18 +00:00
wpaul
477aac47c6 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
6b2387578a Use reference counted PHOLD/PRELE rather than the P_PHYSIO flag. 1999-04-06 03:06:51 +00:00
n_hibma
9ac433dd35 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
n_hibma
4687fd7523 change wrong names in prototypes (pipe to dev) 1999-04-05 17:19:48 +00:00
n_hibma
cfe20bcac4 Add the defines for the Iomega Zip 100 drive 1999-04-05 17:12:46 +00:00
n_hibma
2b2b7fe409 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
28295ed7ef 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
grog
9ba513f1ae Add debug flag DEBUG_EXITFREE to log problems freeing memory on exit. 1999-04-05 04:03:45 +00:00
grog
a06e742697 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
grog
549cf01690 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
mjacob
995672f848 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
mjacob
b862ecf9c2 oops on this last 1999-04-04 02:22:42 +00:00
mjacob
0db59f8916 F/W revisions now a tuple (not a duple). Fix pre-CAM code. 1999-04-04 01:35:03 +00:00
mjacob
ba4a1207d0 Fix for pre-CAM kernels (again). Turn back on fast posting. 1999-04-04 01:34:06 +00:00
mjacob
e4882bb39a 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
mjacob
5a55ebd1ad Change f/w revision to major,minor,micro version. Add in ISP1040C definition. 1999-04-04 01:26:08 +00:00
mjacob
24e93e64ed roll ISP1040 and ISP2100 f/w to latest release 1999-04-04 01:20:25 +00:00
mjacob
7ff85e7993 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
n_hibma
f82b2f5d46 added vision camera 1999-03-31 23:53:48 +00:00
nsayer
3a70671064 Add support for bridging to if_tx.c
PR:		10534
Submitted by:	nsayer
1999-03-31 13:50:52 +00:00
grog
2559617dbe Destaticize some variables to allow checking on them when exiting. 1999-03-31 08:43:12 +00:00
grog
9c659047e8 daemonq_return request: Clean up request queue and free all memory
before returning to die.
1999-03-31 08:42:52 +00:00
grog
be6c330b8c free_drive: free the drive free list if it has one. 1999-03-31 08:42:04 +00:00
grog
4e194da43d 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
nsayer
1c6633520f 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
phk
4b075acb29 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
sos
0ccb1feb7b Make ISA only systems compile again.. 1999-03-30 13:09:47 +00:00
grog
d14a3d013a Add flag VF_CREATED 1999-03-30 05:01:42 +00:00
grog
73f93e1855 Change the lengths of many ioctl parameters, which occasionally caused
EFAULTS due to sloppy programming.
1999-03-30 05:01:23 +00:00
grog
d99b74f017 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
grog
f5e8f5af9f 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
grog
56aef4122f 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
grog
efbcf5a167 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
yokota
3bb5e2e4c7 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
sos
90737013b9 Fix bug in the Promise code that resultet in PIO always being selected. 1999-03-29 14:24:42 +00:00
sos
cc8db63d86 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
grog
dd95cfacee Add definition LongJmp for longjmp if -DVINUMDEBUG.
Change some comment texts
1999-03-28 08:55:04 +00:00
grog
b76a5a44e6 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