Commit Graph

750 Commits

Author SHA1 Message Date
deraadt d670635e8b ok, 5 second command timeouts.. 1993-07-07 01:05:42 +00:00
deraadt ceec40c98f clean up code for timeout/untimeout/wakeup prototypes. 1993-07-06 06:06:26 +00:00
deraadt 86999439b2 number of changes:
1. controller reset code moved into one function, called from more places now.
2. more places now do timeouts. TIPCAT code turned on.
3. blew away the unused WDOPENLOCK test code.
4. delay is now done using WDCNDELAY repetitions of DELAY(25). Up to 2.5 second
   pause accepted from controller (some controllers have some commands that are
   actually this slow)
5. some of the old timeout code was really whacked.
1993-07-06 00:42:43 +00:00
cgd 2d53469109 get rid of extraneous inclusion of rlist.h 1993-07-06 00:31:52 +00:00
deraadt 2cb34d6d65 added a missing {/} pair that barsoom seems to have taken out, but
which the standard 386bsd 0.1 driver did have. This is for a piece of
code in the bad block handling. found/fixed by hpeyerl.
1993-07-05 04:44:48 +00:00
deraadt 3322c7b691 all timeout code now calls DELAY() so the timeout delays are the same
length on all processors. Where possible, the controller is reset if it
times out.
1993-07-05 03:20:57 +00:00
deraadt ed61b76822 increased the timeout inside wdcommand(). Some controllers impliment some
commands very slowly.
1993-07-05 00:08:27 +00:00
andrew 44b5013862 Reject non block-aligned transfers (where a block is 512 bytes in length);
they were causing scsi controller lockups.  Replace an occurrence of "512"
with SECSIZE, which is #defined to be 512.
1993-07-04 07:09:59 +00:00
cgd 7e940b55e0 add support for David Greenman "ed" driver 1993-07-03 12:21:07 +00:00
cgd d77e126ab2 add support for David Greenman's "ed" driver. 1993-07-03 12:19:36 +00:00
mycroft 3c4b913d33 Fix a bunch of things. 1993-07-01 00:24:09 +00:00
andrew f7dd4be020 Updated comments. 1993-06-30 04:13:34 +00:00
andrew 62442b4e98 Added com_scratch entry. 1993-06-30 04:04:24 +00:00
andrew 1b69e917eb ANSIfications. 1993-06-27 06:59:20 +00:00
andrew 51ac6a0997 ANSIfications. 1993-06-27 06:27:29 +00:00
andrew 0e6cb953ea ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.
1993-06-27 06:01:27 +00:00
deraadt 277c73694e print "maddr 0xd0000 msize 65536" as "maddr 0xd0000-0xdffff" instead. 1993-06-20 07:24:53 +00:00
cgd d1ed63195d fix the divide-by-zero problem w/old disks. this patch is ws's "fault." 1993-06-18 20:45:35 +00:00
brezak ebfdfc5b8a Silence size complaint at probe. 1993-06-17 12:18:29 +00:00
andrew 280a747d4e woops - another typo. 1993-06-16 10:39:35 +00:00
deraadt 1311db833c whoops. typo. 1993-06-16 04:31:37 +00:00
deraadt a6d9adf224 fix to intuit the maximum number of scsi units available on a device
driver. this piece at least, should be safe from changing sizeof(dev_t)
1993-06-16 03:39:30 +00:00
mycroft 5a2b8d1abb Fix typo. 1993-06-16 02:59:42 +00:00
mycroft 94df11ad63 Make sysbeep() take a frequency, not a timer count, and add constants
BEEP_FREQ and BEEP_TIME which can be overridden in the config file.
1993-06-16 02:57:17 +00:00
mycroft 528edf6037 Move definitions of TIMER_FREQ to timerreg.h, and fix value of CF for DELAY(). 1993-06-15 21:37:14 +00:00
mycroft 930a773dce Clean up beep code a miniscule amount, add interrupt protection, and
make multiple beeps generate a continuous tone.
1993-06-15 20:34:54 +00:00
mycroft 5592ad3fbb Ignore interrupts if the device isn't open. This prevents stray interrupts
from hosing the works.  What a stupid architecture.
1993-06-15 01:50:32 +00:00
andrew 925a429d35 Reduced bus-on time from the default of 11ms -> 9ms, to prevent floppy from
becoming data-starved during simultaneous fd & scsi activity.
1993-06-14 04:16:03 +00:00
deraadt f37ee25bb2 sigh. one day i'll finish this driver, meanwhile, one more fix.. 1993-06-10 04:50:42 +00:00
deraadt f6779cbdce minor silliness related to two or more controllers 1993-06-09 22:36:40 +00:00
cgd f1b8c74730 make getc() and ungetc() be rb{un,}getc(), so getc() and ungetc()
don't conflict w/ansi prototypes...
1993-06-06 23:04:42 +00:00
cgd 8a05b36058 incorporate Bruce Evans' interrupt changes, as hacked by Rod grimes,
for patchkit patch 158.  it appears to work well.
1993-06-06 04:14:01 +00:00
cgd 9d6a908bb7 patch from rgrimes to add delay to let data port stabilize, also
make "lpflag" unique to each driver
1993-06-05 22:58:29 +00:00
deraadt 2adecf84f6 1. It is now possible to build a kernel that does not have a pc0 device driver.
2. "press any key to reboot" reads the key from the console.
3. wddump() still needs a non-blocking getc() routine (or flush)
1993-05-28 09:10:52 +00:00
deraadt 0b12df586d 1. It is now possible to build a kernel that does not have a pc0 device driver.
2. "press any key to reboot" reads the key from the console.
3. wddump() still needs a non-blocking getc() routine (or flush)
1993-05-28 09:10:29 +00:00
deraadt d307daf9f6 scsi probing spent too much time on the bus -- sped it up now,
and simplified the message printing code (works the same)
1993-05-27 10:14:02 +00:00
deraadt 2f0c0eb674 tty dynamic allocation 1993-05-26 10:06:41 +00:00
deraadt ee59868966 patch00149 by Julian Elischer <julian@jules.dialix.oz.au> & Rodney Grimes.
When an error was encountered, the sd/cd drivers printed blockno&ff0000
rather that blockno.
1993-05-25 07:27:31 +00:00
cgd fe1802950b add include of select.h if necessary for protos, or delete if extraneous 1993-05-22 11:40:42 +00:00
cgd 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
deraadt dde4fa6fe1 fixed typo 1993-05-22 07:40:46 +00:00
davidb 171495eaa4 Changed when disks are started, to get DEC disks working. 1993-05-21 12:20:30 +00:00
deraadt 6fb28b3c74 more disklabel changes 1993-05-20 23:12:53 +00:00
deraadt e34f239662 First cut at cpu independent disklabels.
There will be niggly little details no doubt..
1993-05-20 22:48:23 +00:00
cgd c59cd967ff add rcsids and clean up file headers 1993-05-20 03:46:09 +00:00
cgd 8d6c77881c make kernel select interface be one-stop shopping & clean it all up. 1993-05-18 18:18:40 +00:00
cgd 6dedb5151c add hp300 kernel files. generic kernel files might need some help... 1993-05-13 13:56:20 +00:00
cgd c2cbdf5d9e fix stupid line transposition (from John Brezak <brezak@osf.org>) 1993-05-11 08:07:50 +00:00
deraadt e439c311cd Whoops. One more 0x0ffff to expunge.. 1993-05-11 04:15:22 +00:00
deraadt 4c40e74463 1. id_irq is a u_short
2. "irq ?" sets it to (u_short)-1
3. "irq #" sets it to (1<<#)
4. not specifying an interrupt sets it to 0.

Until someone else comes up with a better scheme, that's the way it is.
If you have a driver that turns the interrupt off, set it to ZERO.

If, after calling XXprobe(), id_irq is still (u_short)-1, that is the same
as if  probe() failed.
1993-05-11 04:06:23 +00:00
deraadt 545cc18754 This patch allows the wd device driver to tell how big the disks are on
WD1007-derived controllers. In this example, wdc0 is a WD1007-clone,
and wdc1 is a WD1003-clone. WD1007 controllers are generally ESDI
and IDE controllers.
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wd0 at wdc0 targ 0: 322MB 1224 cyl, 15 head, 36 sec <disktype>
wdc1 at 0x170-0x17f irq 7 on isa
wd2 at wdc1 targ 0: (unknown size) <disktype>
1993-05-10 05:53:22 +00:00
deraadt 5ae997897e i thought i deleted this line before! 1993-05-09 04:25:48 +00:00
deraadt ca0db18897 multiple master controllers would probe tthe first one N times instead of
once each. never mind not worth worrying about what i;m talking about.
1993-05-08 00:50:10 +00:00
cgd ca1b23d6dd no irq == -1, or, actually, 0x0ffff (f*ing unsigned short...).
this would break devices w/o interrupts (like lpa).
1993-05-07 10:38:04 +00:00
cgd 5220c82b50 fix lpt driver and add lpa driver. from 386bsd pk patch 133 1993-05-07 05:38:55 +00:00
deraadt 47622db521 fixed bug from last commit 1993-05-05 00:29:38 +00:00
deraadt a0bcb17e60 support for making dev->id_alive be set, this is for iostat to
find disk devices. wee bit of a kludge. sub-device attach()
routines must now return 1 for successful attach(), 0 otherwise.
Other bsd's do this too..
1993-05-04 08:27:29 +00:00
cgd ad845984f9 add pg_wait, which must be set if you want pg() to actually wait for keybd
input.  this one is way useful...
1993-05-04 05:47:50 +00:00
cgd 70754f5c6b fixed loopback == nuke problem.
This fix is probably not optimal, but it works.
1993-05-04 02:37:27 +00:00
deraadt 11dce888dd fixed silly typo. 1993-05-02 20:14:48 +00:00
mycroft 6c15f33674 Fix error in last change. B-P 1993-05-01 19:12:45 +00:00
mycroft c3c6f70cea Move bpfattach() call into hpattach(). 1993-04-30 23:44:03 +00:00
mycroft dbeb3a98e0 HP cards use 32 I/O ports, not 16. 1993-04-28 23:57:42 +00:00
deraadt d494d8e591 cosmetic change 1993-04-26 18:45:49 +00:00
cgd c08b444d52 id for scsi_attach must be an int. 1993-04-26 11:54:23 +00:00
mycroft f67957329b Fix up error messages and return values. 1993-04-22 00:35:02 +00:00
mycroft c2f7555fda Display more meaningful message on SCSI `unit attention'. 1993-04-20 10:51:51 +00:00
deraadt 10e418c8b6 a test for mycroft.. 1993-04-20 08:38:03 +00:00
mycroft 30a1d7a9f1 Don't overwrite global kernel version string. 1993-04-19 21:20:46 +00:00
mycroft 81b91f4488 Fix subtle word-size error. 1993-04-19 06:02:16 +00:00
mycroft 0105f6f55d Return correct value for new probe sequence. 1993-04-18 10:14:15 +00:00
deraadt e2a9eb19a4 slight code quality improvement. not related to the bug with very
old controllers or disks! :-)
1993-04-18 10:03:20 +00:00
mycroft ba40575afe Use new format for attach message. 1993-04-17 04:46:12 +00:00
mycroft e415187cd4 Add driver for HP ISA and EISA ethernet adapters. 1993-04-17 01:39:27 +00:00
deraadt 6bee5294bc ioconf changes, see previous cvs's that dumped core 1993-04-15 07:57:50 +00:00
deraadt fbecd3e987 Once more: some changes to the ioconf.c structure. It will now handle
devices hanging off controllers, any kind of controller.
A device on isa0 is called at probe(self), then attach(self)
A controller on isa0 is called at probe(self), then all it's children with
    defined unit numbers are initialized by calling attach(subdev); next all
    subdevices with unit ? are initialized by calling attach(sundev).
Almost all device entry points is now like the vax/sun model (intr being
the weird one)
1993-04-15 07:52:08 +00:00
glass 6eb0490333 NDDB made a re-appearance.... 1993-04-15 07:11:01 +00:00
deraadt e42c6edf94 ooops. DDB instead of NDDB. A typo, i swear 1993-04-15 07:09:23 +00:00
deraadt 653e85f75a #ifdef DDB fix 1993-04-15 07:01:16 +00:00
deraadt bf6814fb30 wd driver would fail on calling wdgetctlr() for older drives and
controllers. New behaviour is that if the standard method fails, try
to recalibrate the drive. Success means the drive exists.  patch by
hpeyerl@novatel.cuc.ab.ca (who owns several of these historical
artifacts)
1993-04-15 06:39:00 +00:00
deraadt bee6f373e4 fixed various bugs like cdattach() returning garbage. 1993-04-12 12:10:28 +00:00
deraadt d0d3380f80 small fixes 1993-04-12 10:15:21 +00:00
deraadt 2c98ef3b72 new scsi subsystem.
changes also in config/mkioconf.c
	i386/isa/wd.c, fd.c, and all scsi drivers.
1993-04-12 08:19:28 +00:00
deraadt f262b564a2 new scsi subsystem.
changes also in config/mkioconf.c & sys/scsi/*
1993-04-12 08:17:23 +00:00
cgd 506ea71fe9 was saying "not responding" on failed probe. that's bogus. 1993-04-10 21:09:13 +00:00
glass 034707f9e5 fixed to be compliant, subservient, and to take advantage of the newly
hacked config(8)
1993-04-10 12:04:35 +00:00
cgd fa76d62392 have probe return size of io space on successful return, rather
than simply 1.
1993-04-09 16:43:56 +00:00
cgd c2176edbac have probe return size of io space on successful return, rather
than simply 1.
1993-04-09 16:25:07 +00:00
cgd 2bbe287e49 make printing of i/o addresses a bit prettier, and fix off-by-one error. 1993-04-09 16:24:26 +00:00
cgd cf15785585 from Rodney W. Grimes (rgrimes@agora.rain.com) (patchkit patch 117):
This patch adds the symbol names to icu.s that vmstat expects
the interrupt counters to be called.  It also adds code to config
so that the names of the interrupts are written at the end of vectors.s
so vmstat can report real device names.  It also cleans up and enables
the logging of stray interrupts.  The counters for false interrupts
are added but the fix for them is not (the fix I have is not done
very good.) A false interrupt is when a device asserts it's interrupt
signal, then removes it before the 8259 can latch it.  This is the number
one cause of stray IRQ7's and IRQ15's.

        Additional device probe information is now printed.  This includes
ending I/O address (many drivers do not return the correct value from a
probe this still needs to be fixed), memory address and size, driver
flags passed in by config.
1993-04-09 13:43:40 +00:00
deraadt b9bd4b25de dmesg output at boottime now tries to print out information as
soon as it is available. The output looks much more like Sunos.
1993-04-08 08:26:46 +00:00
glass 0d718ac79e attempting to open an already opened tape drive should get you EBUSY, not
ENXIO.
1993-04-08 00:20:02 +00:00
deraadt de24d978d5 wd7000 device driver, put in IO_WDS entry in isa.h. You can now build a
kernel with it. Hope your dma works better than mine <grr>
1993-04-06 20:58:01 +00:00
deraadt a2b4863160 ripped out a message 1993-04-06 12:09:55 +00:00
deraadt 9b67a6d7ad Mod-barsoom wd additions. config program + kernel config files changed too.
fd support had to change slightly too.
1993-04-06 10:06:28 +00:00
deraadt c3d2e42be0 added: incomplete wd7000-asc scsi controller device driver. 1993-04-06 10:04:46 +00:00
cgd c32e85d3c3 moved closing #endif to include comselect 1993-03-27 09:24:42 +00:00
cgd f23291fb78 added support for microtime routines by Steve McCanne (mccanne@ee.lbl.gov) 1993-03-23 08:12:09 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00