Commit Graph

1633 Commits

Author SHA1 Message Date
cgd 432b9ff657 add support for the alpha 1996-04-12 06:34:36 +00:00
cgd 51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
cgd e6456e7285 on non-i386 systems, include <machine/intr.h> (per charles's proposal on
tech-kern (?)), to get the IPL_* and IST_* types.  pass the machine-dependent
cookie given at attach time on to sub-devices, so they can use it to access
the interrupt functions properly.
1996-04-11 22:25:44 +00:00
cgd a391172983 include a machine-specific header from ARCH/isa/isa_machdep.h, to define
the isa_chipset_tag_t type, and to define or prototype:
	isa_attach_hook()
	isa_intr_establish()
	isa_intr_disestablish()
i.e. the machine-dependent functions to be used my MI ISA code.
Remove prototypes for the latter two functions from this file.
1996-04-11 22:20:50 +00:00
cgd 01c4e7fb64 include raster_op.c and raster_text.c if 'raster' is defined, as well
as if 'rasterconsole' is defined.  Alpha uses 'raster' to pull in the
raster text and operation code, but doesn't use this console emulator,
etc.
1996-04-11 21:54:38 +00:00
cgd 789a455ab4 if no DDB, define Debugger() to be a panic. 1996-04-10 23:01:13 +00:00
gwr 32d12d3be4 Make the ring size configurable in the tty driver.
Make the pseudo-interrupt functions return void.
Call the tty layer at spltty (to be safe).
1996-04-10 21:44:35 +00:00
mycroft 0609135a66 Add explicit return types. 1996-04-10 19:03:46 +00:00
cgd 4889b6bcc2 use the new interfaces for interrupt attachment, etc. 1996-04-09 22:47:00 +00:00
cgd d645bb042d make the EISA code look a bit more like the PCI code, in the way
the bus is configured, interrupts are handled, etc.  machine-dependent
header (machine/eisa/eisa_machdep.h) defines eisa_chipset_tag_t and
eisa_intr_handle_t types, and the following functions:
	eisa_attach_hook()
	eisa_maxslots()
	eisa_intr_map()
	eisa_intr_string()
	eisa_intr_establish()
	eisa_intr_disestablish()
Don't define the interrupt establish/disestablish functions directly
in terms of the ISA functions any more (on some wacked out systems,
there can be a difference).
1996-04-09 22:46:11 +00:00
jonathan 57fd0e266b Fixes for -Wall -Wmissing-prototypes:
include <sys/systm.h> to get a prototyped declaration of printf().
	include <machine/autoconf.h> for port-specific typedefs.
	Remove unused variables.
1996-04-09 20:50:06 +00:00
cgd f85f062d77 spaces vs. tabs 1996-04-09 20:07:16 +00:00
pk 696daec742 Make this compile if LEDEBUG id defined. 1996-04-09 15:21:59 +00:00
thorpej 43411d2e96 Convert to use <machine/bus.h>. 1996-04-09 00:46:15 +00:00
jonathan 282688d407 Fixes for -Wall -Wmissing-prototypes:
remove unused variable "xfer" from the copy{to,from}buf_gap2() functions.
1996-04-08 20:11:46 +00:00
jonathan 45b229da22 fixes for -Wall -Wmissing-prototypes:
prototype the forward declaration of lewritereg().
1996-04-08 20:09:56 +00:00
jonathan 8ae2ddf4ad fixes for -Wall -Wmissing-prototypes:
add "return (0);" to cnstop()'s emtpy body.
1996-04-08 19:57:30 +00:00
mycroft 740637ad71 If we dequeue a packet due to excessive collisions, make sure we check
to see if the queue length has dropped to 0.
1996-04-08 19:02:19 +00:00
ragge a24af7a7c2 Added prototypes to everything. Made all files compile with -Wall. 1996-04-08 18:32:26 +00:00
ragge 86c328d230 Drivers for DZ11/DZV11/DZQ11 serial cards.
Written (mostly) by Ken Wellsch.
1996-04-08 17:22:20 +00:00
cgd 80efcebba5 kill some pasted spaces. 1996-04-06 02:04:00 +00:00
mycroft 78746c0d27 Regen. 1996-04-04 21:47:52 +00:00
mycroft 691dea75ae Add some NCR chips. 1996-04-04 21:46:33 +00:00
cgd 402f77d443 remove tricky open-coded variants of config_found(), by using the
child device pointer now returned by config_found().  (previously,
the code played games to get that pointer; now they are unnecesary.)
1996-04-04 07:08:10 +00:00
mycroft 9c6e05d835 Minor optimization, and do a CLRCH after (re)selection just to be safe. 1996-04-03 15:58:13 +00:00
mycroft b82447e3e1 * Change message priorities so that ABORT comes after IDENTIFY.
* Add an ACB_RESET flag, so that a BUS DEVICE RESET can be queued within the
driver.
* If ACB_ABORT or ACB_RESET is set during reselection, schedule a message and
assert ATN.
* Optimize aic_datain_pio(), aic_dataout_pio() and aicintr() somewhat.
* Schedule a timeout only when we select the target, so that commands can't
time out prematurely.
1996-04-03 10:33:45 +00:00
mycroft 70f35ac052 Don't wait for a command complete interrupt when enabling mailbox out
interrupts.
1996-04-03 09:45:45 +00:00
mycroft f0d8cbb1cb Don't wait for the host adapter to be idle before enabling or disabling
mailbox out interrupts.
1996-04-03 08:48:46 +00:00
mycroft 5e078e5ec8 Implement ncr_print(). 1996-04-03 08:44:15 +00:00
thorpej 52fee18c6f New SCSI media changer driver, written from scratch by me. Some
influence from the old driver (written by Stefan Grefen) and from
an autochanger driver written by the Systems Programming Group at the
University of Utah Computer Science Department (currently residing
in src/sys/arch/hp300/dev/ac.c).
1996-04-03 00:25:21 +00:00
cgd babc8db2c1 fix inverted sense of tests in DE500 media select function. (Would
auto-detect as 100Mbps if 10Mbps, 10Mbps if 100Mbps.)
1996-04-01 19:37:54 +00:00
mycroft d0742ed3c5 Several things:
1) If we get an unexpected disconnect, issue a REQUEST SENSE, as recommended
by the SCSI-2 spec.  If the target created a contingent allegiance condition,
this will clear it.  Also, if it happened while sending a SDTR or WDTR message,
disable negotiation for that target.
2) Since some lame devices still don't deal correctly, make sure we deassert
ATN if our last message out is interrupted.  If we get a MESSAGE PARITY ERROR,
we'll reassert ATN anyway.  This should ensure that we never have to send a
MESSAGE NO OPERATION.
3) Set AIC_ABORTING only when actually sending a BUS DEVICE RESET or ABORT,
so we get better error detection.
4) Other internal reorganization of no consequence.
1996-04-01 07:24:37 +00:00
jtk 55960650f7 add include file for function prototypes 1996-03-31 22:50:11 +00:00
pk 2f3ec93250 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:38:29 +00:00
mycroft 004f5e8d39 Fix a slight biff with 16-bit DMA in last change. 1996-03-31 20:51:43 +00:00
christos b8e757d588 - remove unused variable
- add missing argument to printf statement
1996-03-30 23:08:29 +00:00
christos e1930da21b Remove dependencies to dev_conf.h and the file itself. 1996-03-30 23:05:46 +00:00
christos 1e2c047be7 - Don't use dev_conf.h
- Remove unnecessary prototypes
- Fix ioctl arguments
- Don't use kprintf(...TO_LOG...); directly. This does not set the log
  priority, and uses priority of the previous message. Use log() with %:
1996-03-30 22:51:23 +00:00
christos 94d26d3017 - Eliminate scsi_conf.h
- Fix prototypes
- Fix PR/2248 [Problems with HP scanjet...]
1996-03-30 21:47:00 +00:00
christos beec8ba94c Eliminate scsi_conf.h. 1996-03-30 21:44:50 +00:00
mycroft 778f21db6a Use `{in.out}b(iobase + ...' rather than including the base address in
the register definitions.
1996-03-30 16:13:24 +00:00
mycroft 72f4fb5692 Fix return type of wds_sense(). 1996-03-30 07:40:11 +00:00
mycroft 78681855e4 This version is deprecated. 1996-03-30 05:36:32 +00:00
cgd 5c2768088c make sure that chipset tags are used properly (because the alpha cares),
and include <machine/intr.h> on the alpha, for interrupt information.
(i386 will probably switch to this eventually.)
1996-03-30 05:10:29 +00:00
mycroft 59e1daefcd Working WD7000 and TMC-7000 driver, from Julian Highfield, with additional work by me.
Needs some refinement, but it works.
1996-03-29 20:53:30 +00:00
mrg 1180bee580 eliminate unused variables. 1996-03-29 14:50:12 +00:00
mycroft fc8683fbaa Eliminate random warnings. 1996-03-29 00:24:58 +00:00
mycroft 5c3bc6f120 Use %p as appropriate. 1996-03-29 00:11:42 +00:00
mycroft 15fd04d5a4 Really implement ahcprint(). 1996-03-28 22:39:08 +00:00
mycroft 44baed59ef Fix the mailbox unlock code for CF and CP. 1996-03-28 18:19:05 +00:00
cgd 80ed7f1dc8 remove inappropriate an potentially confusing comments ("unnecessary?") from
the pa_device and pa_function members of the pci_attach_args structure.
1996-03-28 02:16:23 +00:00
cgd 87328287b7 modify these to provide a new, better-specified PCI interface
(soon to be documented on mailing lists; eventually in section 9 manual
pages), most importantly:
	(1) support interrupt pin swizzling on non-i386 systems with
	    PCI-PCI bridges (per PPB spec; done, but meaningless, on i386).
	(2) provide pci_{io,mem}_find(), to determine what I/O or memory
	    space is described by a given PCI configuration space
	    mapping register.
	(3) provide pci_intr_map(), pci_intr_string(), and
	    pci_intr_{,dis}establish() to manipulate and print info about
	    PCI interrupts.
	(4) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
1996-03-27 04:08:24 +00:00
cgd d37d07a75b modify these to use the new PCI interfaces:
(1) use pci_{io,mem}_find(), to determine what I/O or memory
	    space is described by a given PCI configuration space
	    mapping register, and bus_{io,mem}_map() to map it.
	(2) use pci_intr_map(), pci_intr_string(), and
	    pci_intr_{,dis}establish() to manipulate and print info about
	    PCI interrupts.
	(5) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
1996-03-27 04:06:53 +00:00
cgd dbdbd735b8 Update these (as minimally as possible) to work with new PCI interfaces:
(1) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
(use of other PCI functions, etc., left unchanged.)
1996-03-27 04:03:05 +00:00
cgd 4b535677ab fix pasto: sdminphys -> cdminphys in comment. 1996-03-27 01:11:41 +00:00
mycroft f20498187e SDUNIT -> CDUNIT in last. 1996-03-27 00:48:50 +00:00
cgd 72060dc6fa add definitions for the BIST/Header Type/Latency Timer/Cache Line Size
configuration space register, and use it to determine whether or not
a given PCI device uses multiple functions.
1996-03-27 00:13:50 +00:00
mycroft 5ed22a9852 Put back dk_establish() for now. 1996-03-26 22:22:19 +00:00
mycroft 5f57f43753 Increase *OUTSTANDING.
Remove old dk_establish() garbage.
Support the `ancient' bit in both drivers.
1996-03-26 20:32:06 +00:00
mycroft 60a21c451b Format police. 1996-03-26 17:06:46 +00:00
gwr 639d64d73b Allow the machine-dependent code to define a fast comparsion function
for ethernet addresses via the macro ETHER_CMP. (see sun3/dev/if_le.c)
Add a comment explaining the LANCE_REVC_BUG work-around section.
1996-03-26 14:54:56 +00:00
jonathan 2bd6015194 Fixup after the "New device attachment scheme": change {mainbus,tc,ioasic}cd
to {mainbus,tc,ioasic}_cd.

Change ioasic config name from "lance   " to "lance". Correct for
pmaxes, perhaps not for Alphas.

Boots and runs under load on a 5000/200. Hangs during boot on an ioasic
decstation; pmax  autoconfig needs fixing.

Add Decstation-3100 baseboard support (untested).
1996-03-26 13:44:07 +00:00
mycroft 8d60d04ffa Remove dead variables. 1996-03-25 07:11:12 +00:00
mycroft 3ab38e9ad4 Display the right sync period for fast devices. 1996-03-25 00:18:09 +00:00
mycroft dac7f9a885 Fix up a couple of printf()s. 1996-03-24 22:23:56 +00:00
mycroft e2f1ed6ef2 Various, including:
* Display as much revision info as we can get.
* Fix a race condition that could cause interrupts to be lost.
* Handle `out of mailbox' conditions (much) more gracefully.
* Schedule timeouts more safely.
* Add diagnostic code to (correctly) detect if a CCB times out before its
outgoing mailbox is emptied.
1996-03-24 22:20:41 +00:00
mycroft caeb897758 Fix trivial oversight in last. 1996-03-24 07:36:11 +00:00
mrg 2c329c900b %d -> %ld in a few places... 1996-03-24 01:26:57 +00:00
gwr daef0ae82a The ramdisk is now a pseudo-device. 1996-03-22 23:02:02 +00:00
cgd caf3bddd6f make this a little bit closer to the pcivar.h header; no reason to
be gratuitously different in some places.  (just cosmetic changes.)
1996-03-22 03:31:33 +00:00
cgd 780657a591 don't export eisa_cd. Drivers shouldn't need it, and, indeed, if they
do, they're probably doing thing the Wrong Way.
1996-03-22 02:43:54 +00:00
gwr 3143afbd6a Fix typo 1996-03-21 22:37:26 +00:00
scottr 3166ff9f2f Add a SDEV_NOLUNS quirk for the Epson OMD-5010 removable MO cartridge drive. 1996-03-21 03:29:40 +00:00
is ab622e51f5 - Zeroth version of M68060 support (dont want to cause emulation traps for
the "Fast Assembler Version of the copy loop)
- Yet another sanity check included: initialize unused receive buffers to
  zero sender id; and test for sender hardware id of zero in the receiver.
  Gives us better error messages in case flaky hardware causes spurious
  receive interupts.
1996-03-20 13:28:50 +00:00
mycroft 78de5226a1 lto3b -> _lto3b 1996-03-19 03:28:45 +00:00
mycroft e819063285 Define a full set of [234][bl]tol() and lto[234][bl]() conversion functions,
inlined.
Use sized types in protocol structures.
Make the definition of scsi_sense_data less ugly.
1996-03-19 03:05:15 +00:00
gwr 79eb9fbf61 Deal with devices that are slow to get off the bus. 1996-03-18 23:09:02 +00:00
gwr 4e6633ab9a Fix two bugs pointed out by Leo Weppelman:
(1) Did not initialize cs->cs_rr0 anywhere
(2) Have to read rr1 before the data it applies to
1996-03-18 23:06:02 +00:00
ragge 8fa15eb73f Ubareset are now possible, devices that wants it now set it up
during autoconfig. ifubareset (if_reset) no longer used, actually
it's just a normal ubareset and is now handled like that.
1996-03-18 16:47:24 +00:00
hpeyerl 9785218963 Fix for NEC D3847 1.6gB drive which reported itself at lun[1-7]. 1996-03-18 16:19:58 +00:00
cgd b55176ea0c since this driver tries to block its interrupt with spltty(), it must
attach that interrupt with IPL_TTY.
1996-03-18 09:14:32 +00:00
jonathan 5bccfd6764 Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach asc_ca and struct cfdriver asc_cd.
Change cfdriver references from "XXXcd"  to "XXX_cd".
1996-03-18 01:39:47 +00:00
ragge 6275c70064 Convert all devices according to the changes to config. 1996-03-17 22:56:15 +00:00
jonathan 3175cdba0b Additional fixes to complete the NetBSD/1.1B config changes:
change tc_submatch() to compile with the new device-attach scheme:
the TC bus uses a 'submatch' function which checks device locators
and then calls a match function.
Instead of calling cf->cf_driver->cd_match(), we now need to call
cf->cf_attach->ca_match().
1996-03-17 22:09:17 +00:00
jonathan d1c70894b8 Additional fixes to complete the NetBSD/1.1B config changes:
Rename the extern declaration of `tccd' and `ioasiccd' in
src/sys/dev/tc/{tvar.h,ioasicvar.h", respectively, to be
`tc_cd' and `ioasic_cd', to match the 1.1B-style definitions.
1996-03-17 21:37:45 +00:00
cgd b5c1728e22 clean up <machine/bus.h> changes a bit; no real functional change.
prototype lpt_port_test().
1996-03-17 13:40:29 +00:00
cgd 179f65d15e Add #ifdef's at the right places, on NCOM_ISA and NCOM_COMMULTI, to
only include the relevant code in the probe & attach functions.  Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).
1996-03-17 13:38:14 +00:00
cgd 94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
cgd 9d4db41a9f change the name of com's attachment to commulti, and provide flags
for that and the isa attachment in com.h (in addition to the flag for
the presence of 'com' itself).
1996-03-17 07:30:25 +00:00
pk 12bcc82160 Parentheses are your friends. 1996-03-17 02:06:50 +00:00
thorpej 3cd14f7597 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:00:30 +00:00
cgd 4835a9fbc1 spacing nit 1996-03-17 01:47:52 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
thorpej 532e997971 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:57:14 +00:00
thorpej de7c200585 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:53:54 +00:00
thorpej 6d9ea4cf59 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
cgd 9f762df4e4 clean up a comment, delete unnecessary local variable in probe 1996-03-17 00:26:12 +00:00
cgd 2355d951e4 update for changes eisadevs contents 1996-03-17 00:18:59 +00:00
cgd 6dcbcf9649 clean up descriptions a bit 1996-03-17 00:18:46 +00:00
cgd afb1eb7adc update for changes eisadevs contents 1996-03-17 00:15:08 +00:00
cgd 97dc4ccd6c add entries for the AMI 4801 SCSI controller, and add product numbers/names
for the BusLogic 74x[BC] SCSI controllers.
1996-03-17 00:13:56 +00:00
christos bca6f430a9 Make operator precedence explicit by parethesizing. 1996-03-16 23:19:14 +00:00
christos d2e6849829 fix printf() formats 1996-03-16 23:19:08 +00:00
cgd 88b335392c rename asic_addr and nic_addr to asic_base and nic_base, in softc, as
they're base I/O ports, not really addresses.  rather than using those
softc fields directly, assign local variables (asicbase, nicbase) to have
their values, and use those.  (consistency, plus better optimization
potential in some cases.)
1996-03-16 07:24:15 +00:00
cgd 87abc9cdc7 Move contents of edprobe() into ed_find() -- they'll be used by edattach()
eventually.  rename the probe functions for the various boards to 'find' for
consistency/correctness (but the generic8390 check is still a 'probe').
Add protos for ed_find(), ed_probe_generic8390(), ed_find_WD80x3(),
ed_find_3Com(), and ed_find_Novell().  Fix one minor space nit.
1996-03-16 06:41:20 +00:00
cgd 4beac8eab6 convert NIC_GET and NIC_PUT to take NIC base port address, rather than softc. 1996-03-16 06:18:39 +00:00
cgd f3bac4c1fb print out hardware type, and print firmware version more precisely.
Information about structures & commands to do this gleaned from
the FreeBSD bt driver.
1996-03-16 05:33:28 +00:00
cgd c3361cbc2c prototype bt_cmd(), using varargs/stdarg (ooh, ahh!). Fix up resulting
pointer warnings.
1996-03-16 04:37:40 +00:00
jtk 8b3873367f add MediaVision Jazz16 chipset support. It must be configured with
'flags 1' on the sb? kernel configuration file line (because it frobs a
noncontiguous IO port to configure the Jazz16 extensions).

Also, remove static sb_device structure and fill in user's buffer on
each request.
1996-03-16 04:00:09 +00:00
cgd 76f1f884eb convert to not assume existence of softc at probe time. 1996-03-16 03:20:25 +00:00
cgd 8b404fdede A foolish consistency... General cleanup: get rid of spaces and tabs at
ends of lines, turn aligned blocks of eight spaces into tabs, name all
softc elements with the "sc_" prefix, and call the softc by the commonly
used name, "sc", when passing it around.
1996-03-16 02:54:27 +00:00
cgd 6668fa09a3 Change register definitions to be offset from the I/O base, rather than
complete I/O addresses.  Access ports via "iobase + REGISTER."
1996-03-16 02:02:54 +00:00
cgd 2b96f0705b delete unused cruft (the 'software conventions' chunk). 1996-03-16 02:00:43 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
christos e023a87a11 Bring prototypes into scope. 1996-03-14 19:05:07 +00:00
christos 357fb0e430 - add and fix prototypes and warnings.
- remove nested comment in header file.
1996-03-14 19:02:30 +00:00
cgd d5d2502bcb fix types on a bunch of variables (were u_long's, now are U_INT32s or ncrcmds,
and a few other fixes).  print pointers with %p, rather than casting to
(unsigned), which breaks on the Alpha.
1996-03-14 05:21:20 +00:00
cgd ba6d1cb2dd These devices don't actually need softc's that are supersets of 'struct
device.'  No point in adding that complexity + space if they're not needed,
so axe them.
1996-03-14 04:02:58 +00:00
cgd 005569a6b3 include pcireg before pcivar.h 1996-03-14 03:04:17 +00:00
cgd 7fda077700 (1) provide #defines for cf_loc[] entries for devices that attach to
pcibus and pci.
(2) remove the #ifdef i386 from pci.c, and provide a machine-dependent
    hook (pci_md_attach_hook()) to do any machine-dependent attachment
    gunk, e.g. on the i386 printing out the configuration mode (if bus 0)
(3) don't pass max device number for a given bus in, use
    PCI_MAX_DEVICE_NUMBER, which can be defined on a per-machine basis.
    (defaults to 32.  on i386, it's 32 if pci conf mode == 1, 16 if 2.)
1996-03-14 02:35:32 +00:00
cgd 68b00a8e52 RCS Id police 1996-03-14 02:30:30 +00:00
cgd 8d2afa9f27 RCS ID police; get rid of Id keyword. 1996-03-11 23:06:04 +00:00
cgd 2013e4059a kill extraneous empty line in comment block at start of file 1996-03-11 23:05:47 +00:00
thorpej 94fc5cf4ce Resolve conflicts from merge. 1996-03-11 21:41:28 +00:00
thorpej 2e4812fa65 New snapshot of DEC PDQ-based FDDI driver, from Matt Thomas. 1996-03-11 21:04:02 +00:00
cgd ba91a74bb6 mostly convert to use interfaces provided by <machine/bus.h>. (For now,
assumes that pci_map_mem/pci_map_io provide interfaces which utilitize
bus_{io,mem}_handle_t's, or types which are compatible.  This works on the
i386, and will change eventually anyway.)
1996-03-11 18:57:04 +00:00
cgd 046633ffe1 Move INT32, U_INT32, TIMEOUT definitions to ncr_reg.h, and add definitions
for U_INT8, INT16, U_INT16 definitions.  Convert structs and
    definitions in ncr_reg.h (e.g. ncrcmd, the chip register layout, etc.)
    to use these definitions.
Add INB_OFF, INL_OFF, and OUTL_OFF macros to access specified offsets into
    I/O or memory space.  Convert register dumps (etc.), and cache snoop
    test to use these new macros, so that nothing accesses the device
    I/O or memory space directly.  (Register dumps now come from I/O space
    if NCR_IOMAPPED.  They used to bogusly use memory space.)
Add a new relocation type for script entries, RELOC_KVAR.  Allow scripts
    access to mono_time.tv_sec, mono_time, and ncr_cache via this
    mechanism, and convert scripts to use it.  An ncrcmd is only 32 bits
    wide, and KVAs may be > 32 bits wide (e.g. on Alpha), leading to
    linker problems.  This is a safer way to do this anyway; relocation is
    more deterministic this way, and doesn't rely on KVAs not looking like
    other relocation types.
Panic if an unmatched relocation other than 'zero' is specified.  That's
    now a script bug.  (This used to be used to convert KVAs of kernel
    variables referenced in the script to PCI bus physical addresses,
    and that is now handled by RELOC_KVAR relocations.)
Figure out and print the model of chip.
1996-03-11 16:13:57 +00:00
cgd 6f00e88e73 mostly convert to use interfaces provided by <machine/bus.h>. (For now,
assumes that pci_map_mem/pci_map_io provide interfaces which utilitize
bus_{io,mem}_handle_t's, or types which are compatible.  This works on the
i386, and will change eventually anyway.)
1996-03-11 15:07:06 +00:00
cgd 85286bff2f convert these to use new <machine/bus.h> interfaces. This involved
substantial reworking of the multi-port drivers, as they need to frob
bits in the io-port spaces of their children.  As a result, the
commulti->com attachment interface is substantially more complex.
(This may be fixable in the future by making some of the code common,
but as long as io-port allocation checking is planned, it's necessary.)
1996-03-10 09:01:20 +00:00
ragge 3a07f941ba Check on which SBI we are frobbing, not always 0. 1996-03-09 23:38:34 +00:00
cgd 5bfb840114 Fix copyright year 1996-03-09 23:37:14 +00:00
thorpej f350b1aa9d Fill in the missing pieces and make the NetBSD version of Matt Thomas's
DEFPA FDDI driver actually compile and link.
1996-03-09 03:46:21 +00:00
cgd 85288c6a61 Include comvar.h, for comprobe1() prototype and for commulti_attach_args.
Remove multiple identical definitions for the arg struct used by multiport
boards' to attach slave com ports.
1996-03-09 01:03:59 +00:00
cgd a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
cgd 56edbfc4f9 define the common structure used to attach 'com' units as slaves to
multiport cards.  prototype comprobe1(), which is used by multiport card
drivers.
1996-03-09 01:01:33 +00:00
cgd 645d83b763 minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES
macro where appropriate.  No point in hard-coding numbers in multiple places.
At the very least, this makes the drivers slightly easier to diff/understand.
1996-03-09 00:09:04 +00:00
cgd 2c11ad408c convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
1996-03-08 22:17:58 +00:00
cgd fe4037750a convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the board
will use.
1996-03-08 22:03:26 +00:00
cgd 5e7aedd067 remember the bus_chipset_tag_t given by our parent, and pass it on to
children.  use I/O space access routines defined in <machine/bus.h>
when examining I/O space for slot ID information.
1996-03-08 20:39:32 +00:00
cgd b1d3f7607c remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:36:21 +00:00
cgd a38dcb7018 remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:34:25 +00:00
cgd 5087096150 pass a bus_chipset_tag_t (defined in <machine/bus.h>) to the bus when
attaching, and to the devices when attaching them.  #include <machine/bus.h>
to make this backward compatible with old #include requirements.
Also, clean up idempotency so that isa/eisa/pci "var.h" headers are
consistent (make them all idempotent).
1996-03-08 20:25:22 +00:00
ragge 6e51b1e47e Support for VAX 8600/8650 added. Works with lots of Unibus adapters,
and will probably work with Massbus adapters as well. (Not tested,
but it's the same code as for 11/780). Ubareset's may cause crashes
on 8600 also like 11/780, but they are more uncommon. No support
for console RL02 yet, but it's likely to come.
1996-03-07 23:22:34 +00:00
christos d318abdbc4 prototypes for ccd audio and ncr5380 1996-03-07 15:00:07 +00:00
leo 6da2ce259c Allow for a machine dependent match function - rd_match_hook() 1996-03-07 10:25:28 +00:00
cgd 1b4f4ed21d regen 1996-03-05 23:16:20 +00:00
cgd c5830eb792 add a bunch of device IDs & driver names & descriptions, thanks to
Jonathan Stone.
1996-03-05 23:15:59 +00:00
cgd d43ef3b959 split device info into driver name and human readable description. 1996-03-05 23:15:05 +00:00
thorpej 8f4177ba60 Add another broken drive that doesn't deal with LUNs properly to The List.
Fixes PR 1961, from Kevin P. Neal.
1996-03-05 01:45:42 +00:00
thorpej a8573feb51 Normalize SCSI autoconfiguration output.
From Chris Demetriou <cgd@NetBSD.ORG>.  Fixes PR #1958.
1996-03-05 00:15:09 +00:00
cgd c8487c701e reorganize mapping register definitions 1996-03-04 19:30:50 +00:00
cgd 272d9f69d2 fix aux argument to config_found() for secondary bus. 1996-03-04 17:02:46 +00:00
cgd acabb62791 the i386 port no longer attaches isa, eisa, and pci at root. 1996-03-04 03:29:12 +00:00
ragge 827892239a Add support for DW780. Note that ubareset's don't work properly.
This is not a problem on other Unibus adapters, but DW780's do
ubareset's more often. This needs to be fixed by someone someday.
1996-03-02 14:09:57 +00:00
cgd 7c61fe7779 change printing of unknown device names when not (BUS)VERBOSE slightly 1996-03-02 02:44:25 +00:00
cgd 0d2cc07e1c remove some colons to be slightly more friendly to things trying to
parse autoconfiguration output.
1996-03-02 02:28:48 +00:00
cgd 91f3357fe9 clean up some diagnostic printfs 1996-03-02 02:25:40 +00:00
cgd a4d39f5063 fix uninitialized variable; it shouldn't have been a variable at all.
(when probing to see if a device is there, always probe function 0.)
1996-03-02 02:03:55 +00:00
cgd 25d3eceab3 regen for changed tcdevs 1996-03-02 01:21:20 +00:00
cgd 305d9a88f6 typo in KZTSA-AA 1996-03-02 01:20:58 +00:00
cgd 9f36679a47 generated files 1996-03-02 01:17:58 +00:00
cgd c1c41f6bfc add ability to define TCVERBOSE, and get "human names" about "known"
but unconfigured (or unsupported) devices printed at boot time.
The device list is woefully incomplete, because i didn't put much time
in it, and because i don't know good "human names" for many TC devices.
1996-03-02 01:16:47 +00:00
cgd f33acccd57 if not EISAVERBOSE, don't say that vendor/product is "unknown," just say
what it is.
1996-03-02 01:09:37 +00:00
cgd 8806ff8c86 oops; spaces -> tabs 1996-03-02 01:09:13 +00:00
cgd c7241fb1ce if not PCIVERBOSE, don't say that vendor/product is "unknown," just say
what it is.
1996-03-02 01:07:47 +00:00
mycroft 97fbc0015b Add bit definition for auto-initialize mode. 1996-03-01 22:27:09 +00:00
mycroft d8026ad9ef Oops; switched two bits. 1996-03-01 04:35:27 +00:00
mycroft f3b29ca5d2 Remove two unneeded `if's. 1996-03-01 04:13:25 +00:00
mycroft 546ad9e88b Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
gwr 950eda2d54 Replace DEBUG with NCR5380_DEBUG and do not define it by default. 1996-03-01 01:42:04 +00:00
gwr 6957383c25 Remove obsolete comment. 1996-02-29 19:37:53 +00:00
gwr 99e8401680 Add support for CapsLock and NumLock toggles. 1996-02-29 19:32:14 +00:00
cgd b213396977 fix arguments to ahbmatch to properly reflect reality. provide prototyped
declarations for ahbmatch and ahbattach.
1996-02-28 20:29:48 +00:00
cgd 2e86958f9b make PCI bus match/attach and sub-device attachment machine-independent,
add definition of 'ppb' (PCI-PCI bridge) device.
1996-02-28 01:47:06 +00:00
cgd 47e551efff Preliminary support for PCI-PCI bridges. Recognize a PCI-PCI bridge
and attach the secondary pci bus as a 'pci' device.  Note that this support
is incomplete and will not yet work for ports other than that i386.  (The
i386 can rely on the PCI interrupt 'line' information to determine
interrupt mapping, which is not necessarily possible on other systems.)
1996-02-28 01:46:32 +00:00
cgd f1f9317dfb make PCI bus match/attach and sub-device attachment machine-independent. 1996-02-28 01:44:41 +00:00
gwr 92d99153a3 Kill two mis-matched and unnecessary declarations. 1996-02-28 01:44:17 +00:00
cgd 3ca5707161 make ISA bus match/attach, and sub-device configuration machine-independent. 1996-02-28 01:43:45 +00:00
thorpej ee8a2c002f Copyright assigned to The NetBSD Foundation. 1996-02-28 01:01:17 +00:00
cgd 311a14c618 add a comment (XXX) about eisa's attachment. 1996-02-27 22:39:28 +00:00
jtc 8bd51c47b9 Copyright assigned to the NetBSD Foundation 1996-02-27 22:28:09 +00:00
cgd 4e07b4b16f eisabus attribute moved to conf/files 1996-02-27 22:00:25 +00:00
cgd cb8f484a57 tcbus attribute moved to conf/files 1996-02-27 22:00:04 +00:00
cgd a21351b381 use config_found_sm(), rather than config_search+config_attach()+glue, to
attach subdevices.
1996-02-27 21:48:52 +00:00
cgd 3f2d99e7a2 fix first args in tcprint() invocations. Fix for this (and several previous
commits) from Jonathan.  This is why one (I) shouldn't commit code w/o
having any sane way to test it.
1996-02-27 07:07:26 +00:00
cgd 8c79f5dd54 one more minor oops; print our name, not parent's, when doing unconfigured dev 1996-02-27 03:22:44 +00:00
cgd 09c7841a66 fix bug in previous commits. also, do submatch checking for all devices,
not just option slot devices.
1996-02-27 03:19:43 +00:00
cgd ecc22fbecd use #defines for bus speed constants, print speed on attach 1996-02-27 01:37:32 +00:00
cgd 3c43b4317d alphabetize device list 1996-02-27 01:31:33 +00:00
cgd 7f4f1d2406 be consistent when talking about eisa_attach_args 1996-02-27 00:31:30 +00:00
cgd 4bd7608739 Better EISA autoconfiguration, per PR 1959. 1996-02-27 00:20:54 +00:00
cgd 897baa5642 machine-generated files 1996-02-26 23:47:18 +00:00
cgd 9b53b5770d list of all EISA devices that we know about (for smarter 'unconfigured'
printing if 'options EISAVERBOSE'), and files to turn the list into c source.
From my PR (1959).
1996-02-26 23:46:17 +00:00
cgd c0251e2a9d (1) rename some structures & structure members, for consistency with
planned changes in other sections of code.
(2) expands the use of config_found() in tcattach() in-line, so that
    tcsubmatch can be invoked there, rather than being invoked by
    individual drivers.
(3) tcbus_attach_args now includes a turbochannel speed flag.
(4) compare a string in tcbus_attach_args against tc bus driver name,
    to better allow attachment of multiple busses to the same parent.
1996-02-26 23:38:38 +00:00
scottr 4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
cgd 5a1e1bb682 don't need isa/isareg.h or pci/pci{reg,var}.h. 1996-02-25 22:56:30 +00:00
pk 3d182fe265 Use CPU-type macros 1996-02-25 21:53:49 +00:00
cgd 6be793f659 use mono_time, rather than time, to keep track of timeouts. time can change
unpredictably.
1996-02-24 21:09:38 +00:00
mycroft 40d57df71a Switch byte order of ID and configuration registers for 14f and 34f. 1996-02-24 05:27:49 +00:00
mycroft ad355be572 Add a SDEV_AUTOSAVE quirk for the DEC RZ55. 1996-02-22 23:37:27 +00:00
mycroft 3ec5928403 Keep the terminal count information around, as it's self-clearing. 1996-02-22 06:21:48 +00:00
gwr 012b23ca17 fix a trace message 1996-02-22 04:06:03 +00:00
gwr a19a024e59 Do not mark target/LUN busy until we commit to working with it,
after the check for reselections.  (From Matthias Pfaller, PR 2105)
Also improve the selection code WRT concurrent reselection.
1996-02-22 03:10:47 +00:00
mycroft a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft 947cae817e Do not allow the gain to be changed on an original SoundBlaster. 1996-02-20 11:48:50 +00:00
mycroft d1b5c90fd6 Check for errors while changing gain. 1996-02-20 11:47:22 +00:00
mycroft 015ee926f6 Fix mono volume adjustment. 1996-02-20 11:15:15 +00:00
mycroft 5f732f379e Trivial (and probably not very good) implementation of SIGIO. 1996-02-20 10:00:31 +00:00
mycroft b5f3c5cbdc XXX This is a kluge.
Check to see if the DMA transfer is finished; if not, don't do interrupt
processing.
1996-02-20 04:19:24 +00:00
mycroft 4d6412e7bf Move the terminal count check into a separate function. 1996-02-20 04:17:05 +00:00
christos cd5249589d if_ep.c: Recognize 3c595 1996-02-19 20:18:40 +00:00
christos c456eaedc6 pcidevs was changed. 1996-02-19 20:09:24 +00:00
christos b6e5342075 Add 3c595 id 1996-02-19 20:08:25 +00:00
mycroft 5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft 5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
pk b9de283ae6 Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
gwr ce56580f30 Attach should get unit from _dev.dv_unit not sc_unit 1996-02-19 04:36:13 +00:00
gwr e9d6e59c62 Fix two bugs found by Bill Studenmund:
Driver can not use tp->t_sc for its own purposes
Attach should take the unit number from _dev.dv_unit
1996-02-19 04:34:01 +00:00
mycroft 91e913b297 Handle EOF a little differently. 1996-02-19 00:06:07 +00:00
mycroft c5326f656e Change variable name to avoid GCC warning. 1996-02-18 23:21:48 +00:00
mycroft 760b34026c Declare a variable... 1996-02-18 22:19:44 +00:00
mycroft ba2ac1b587 Clean this up a bit. 1996-02-18 22:17:37 +00:00
mycroft 2dfda50bb9 Minor tweak; make sure window size is 0 on close. 1996-02-18 20:44:40 +00:00
mycroft 8f0f40e8b3 Missed some prototyping foo. 1996-02-18 20:41:18 +00:00
mycroft 342c383728 Truncate to the window size in ssminphys(), not ssread(). 1996-02-18 20:38:44 +00:00
mycroft 294879d4ee Add SCSI scanner support by Kenneth Stailey and Joachim Koenig-Baltes,
hacked a bit.  Needs more work.
1996-02-18 20:32:40 +00:00
mycroft 23726708b0 Minor change. 1996-02-18 20:30:53 +00:00
jtk 47286969ae Add bass/treble input filter adjustment controls to SB (Pro) driver 1996-02-18 16:36:44 +00:00
mycroft e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
jtk 45eee6c55b remove #ifdef notdef made unnecessary by previous changes (PR#1597)
put in missing "if (error)" that caused tape IO to always fail.
(closes PR#2086)
1996-02-17 16:00:22 +00:00
mycroft 203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
jtk 03f1e1432a fix compile error from gusprobe() cleanup 1996-02-17 04:49:50 +00:00
mycroft 121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
jtk 28feffd508 avoid panic'ing when driver gets confused--just spit out a message and
keep going.
Improve error messages to include device name.
use STATIC for function declarations/definitions so it's easier to get a
useful symbol table by flipping a switch.
1996-02-17 03:35:22 +00:00
jtk 4f3fc10939 Fix PR#2060 (add AUDIO_PERROR ioctl to query # of playback drops), also
fix semantics of AUDIO_WERROR (now returns a count).

Also repair audio driver back to "real-time mode" where user must
provide data quickly enough for real time audio or silence is played
until user catches up.  Add optional "play all" mode (additional bit in
mode field) to play all samples provided, with silence when needed to
avoid buffer underrun.
1996-02-17 02:28:56 +00:00
mycroft 7847c9efee Various:
* Snap the sample rate when setting it, and remember only the time constant.
* Set the time constant when changing between play/record.
* Always return the actual sample rate with AUDIO_GETINFO.
1996-02-16 10:10:21 +00:00
mycroft 19f59bf3c2 Prototype the probe and attach functions. 1996-02-16 08:18:32 +00:00
mycroft 9cbadb3ec2 Remove incorrect comment. From Mike Long, PR 1277. 1996-02-16 08:12:33 +00:00
mycroft 7af4edd731 Various, including:
* Add more delays while writing registers.
* Replace sc_dma{in,out}_inprogress with sc_dmadir.
* Eliminate the need for sc_locked.
* Add more DPRINTF()s.
1996-02-16 08:07:40 +00:00
mycroft 8ba7909bb4 Eliminate sc_silence, and handle output interrupts somewhat differently.
From John Kohl, slightly edited.
1996-02-16 02:25:43 +00:00
christos 0bc63f486d scsi prototypes 1996-02-14 21:46:52 +00:00
thorpej 91bd533c48 Avoid deref'ing a bad pointer in ccdopen(). This could happen if
any partition other than RAW_PART is opened before configuring the
ccd.  Bug pointed out by Matthew Green.
1996-02-11 18:04:01 +00:00
ragge 29719357a6 Remove csralloc(), not usable anymore.
Add ubasetvec() to steal interrupt vectors for device drivers that
need more than one vector. Add prototype for it.
1996-02-11 13:24:50 +00:00
hpeyerl fb81581990 detatch this spelling mistake from this source file. 1996-02-10 22:27:22 +00:00
christos ee08b72ef4 Hayes ESP register definition 1996-02-10 20:23:40 +00:00
christos 11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
christos 30c34c327f vnd.c: Typo (disk_deta{t,}ch) It was detach in the header file and
detatch everywhere else. Reverted to the english spelling.
       Also fixed the rest of the prototype warnings while I was at it.
ic/ncr5380sbc.c: Don't declare Debugger()... I have to clean this
		 everywhere :-(
1996-02-10 00:11:44 +00:00
mycroft 28bf676a23 Read the 14f/34f registers in 8-bit mode. 1996-02-09 17:38:09 +00:00
briggs f18f32d2e1 PR#2048. Prototype st_erase(). 1996-02-09 14:51:34 +00:00
mycroft 47246947c7 Adjust the low and high watermarks. Based on a suggestion from Lennart
Augustsson.
1996-02-08 03:05:34 +00:00
thorpej b686e830b8 Fix typo, from Thorsten Frueauf <frueauf@ira.uka.de>. 1996-02-06 18:15:19 +00:00
scottr 54c51d4393 Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>.  Closes PR #1864.
1996-02-05 23:01:50 +00:00
scottr ae06fdb589 Allow blocksize of NBPG/2 to NBPG for higher sampling rates. From
Lennart Augustsson <augustss@cs.chalmers.se>, closes PR 2013.
1996-02-05 21:32:26 +00:00
scottr 186d69c204 Don't adjust the number of blocks in the ring buffer if the driver
is currently outputting silence.  Fix from Lennart Augustsson
<augustss@cs.chalmers.se>, closes PR #2010.
1996-02-05 21:11:10 +00:00
jtc 3ae2aedf4d Fix error in copyright notice 1996-02-05 02:18:48 +00:00
jtc 240e22087c Received copyright assignment 1996-02-05 00:10:32 +00:00
christos d4f46b2259 cnputc returns void 1996-02-04 02:04:08 +00:00
mycroft cfefb732a0 Fix type errors. 1996-02-02 22:57:43 +00:00
mycroft 0103e26fd8 Fix #includes. 1996-02-02 18:59:16 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
jonathan 8b3d92f17f Resolve pmax and alpha IOCTL asic driver differences, pass 1:
Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h.  The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.
Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.
Use the device address in the attach_args structure, instead of
using the deprecated BUS_CVTADDR macro.

Change the Mach derived asc driver to use "SCSI_PHASE_xxx" instead of
"ASC_PHASE_xxx",  as the latest version of the Mach driver does.
1996-02-02 02:33:34 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej 732dd94a83 Add experimental data mirroring support, derived from code written by
Satoshi Asami and Nisha Talagala.  For details on using data mirroring,
see the ccd(4) manual page.
1996-02-01 20:47:13 +00:00
jonathan c72cd6e76c Set sc->sc_cookie appropriately for the ioasic and TC option cases.
Tested on Decstation: ioasic, kn02 baseboard, and TC option card.

Add untested for pmax 3100/5100 baseboard ethernet.
1996-02-01 06:12:16 +00:00
briggs e5ece749b2 Handle COMMAND ABORTED by forcing a retry. PR#2003, but with some more
diagnostic info.
1996-01-31 15:16:06 +00:00
cgd 40628fb3e8 update for new version of 'pcidevs' 1996-01-31 00:45:25 +00:00
cgd 8a3babe178 update/clean entries for Adaptec PCI scsi chips/boards. 1996-01-31 00:43:02 +00:00
gwr f2e57c6dc8 Eliminate remaining direct references to the z8530 chip
to allow the MD access functions to do delays, etc.
1996-01-30 22:34:52 +00:00
thorpej 919f6728ab Accept DIOCEJECT as a synonym for CDIOCEJECT. Implement DIOCLOCK
separately from CDIOCALLOW and CDIOCPREVENT, even though they perform
basically the same function (with a different interface XXX).
1996-01-30 18:28:02 +00:00
thorpej c7a20f0ee3 Implement DIOCLOCK and DIOCEJECT. DIOCEJECT is limited to removable
media.  Fixes PR #1975.
1996-01-30 18:24:47 +00:00
gwr c2c1c1b11a Move struct definitions to MD code. 1996-01-24 19:21:40 +00:00
gwr a3c19fb08a Oops, I didn't mean to check in that file. 1996-01-24 16:03:31 +00:00
gwr c68a32fc95 New "child" drivers for Sun keyboard and mouse attached to z8530sc. 1996-01-24 01:15:34 +00:00
gwr ca633a9f35 Reorganized, machine-independent z8530 driver, based on the sparc/sun3 zs.
Uses autoconfig to attach keyboard, mouse, or tty.  (See z8530.doc)
1996-01-24 01:07:21 +00:00
gwr 5886eb474f Use the function pointers sc_pio_in, sc_pio_out to call the PIO functions
for transfers in data phase so those functions may be MD implementations
that do "pseudo-DMA" if desired.  Also correct some comments.
1996-01-23 19:47:00 +00:00
cgd 0d743e5a05 update PCIVERBOSE code in various ways:
(1) remove the 'UNSUPP' keyword from the device list,
	    because it can't be reasonably used (becuase different
	    devices may be supported on different machines, for
	    good reason).
	(2) enhance pci_devinfo so that class/subclass information
	    is optional (so pci_devinfo can be used by drivers that
	    match classes of devices, and want to look up the
	    devices' names easily).
	(3) more known vendors and devices.
1996-01-22 21:08:09 +00:00
mycroft 02317d25bb Make the panic message for ISA clone devices more informative. 1996-01-16 07:52:38 +00:00
christos d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +00:00
thorpej f08d96426e Oops. Fix RCS id. 1996-01-13 02:06:30 +00:00
thorpej e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
thorpej 8068d9eeb2 Handle cases like the following:
- controller calls scsi_done() with error XS_TIMEOUT
	- scsi_done() calls sddone()
	- sddone() calls disk_unbusy()
	- scsi_done() calls controller to retry command (missing the
	  call to disk_busy())
	- controller calls scsi_done()
	- scsi_done() calls sddone()
	- sddone() calls disk_busy(), which panics because of the imbalance.
Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional
boolean argument ("complete") to the device's "done" routine, with a
value of `0' passed from the previous call to "done", and add an additional
call to "done" when the xfer resources are freed.
1996-01-12 22:43:26 +00:00
pk 59dd89e3b1 LUN deficient device: Tandberg 3600 (Ken Raeburn; PR#1933). 1996-01-12 11:32:37 +00:00
thorpej 48bb61e0d7 Use WTDBPRINT() instead of DEBUG() for driver debugging printf()s..
Fixes PR #1927, from Erik Bertelsen <erik@arhpc214.uni-c.dk>
1996-01-12 00:54:23 +00:00
thorpej 5b51ec5cc8 Honor cache request and implement erase command, and add the SCSI tape
device configuration page.  Fixes PRs 807, 1201, and 1705.
From John Kohl <jtk@kolvir.blrc.ma.us>.
1996-01-11 03:36:34 +00:00
hpeyerl 5e81dcd27a Make it a tad more obvious that this is a 3c505 driver. 1996-01-10 18:21:52 +00:00
chuck 75caa8c729 Imported from OpenBSD/FreeBSD:
Add support for the SMC8416 (EtherEZ) ISA ethernet card.
	The 8416 has an 8K shared mem (the old driver assumed 16K
	and failed at attach time).
1996-01-10 16:49:22 +00:00
mycroft 3441f118d5 Make sure we disk_busy() for every transfer we start. 1996-01-08 21:21:56 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
mycroft 0b6a86dfe5 Make the block size always a whole number of samples. 1996-01-07 06:21:02 +00:00
pk 0548b8e5ad SCSI sense `info' field is a signed value (from John Kohl; PR#1597). 1996-01-05 16:03:35 +00:00
pk de0584fa25 Avoid zero blocksize (from David Huang; PR#1770). 1996-01-05 13:16:30 +00:00
jonathan 3b6b27f9d5 Commit trivial changes from Mach MK84 to force sup'ables source to be updated:
Drop spurious interrupts in asc_intr().   Read back the pending SCSI command
so asc_intr() can add it to the asc SCSI log.
1996-01-04 17:43:23 +00:00
thorpej efb493a4e0 Back out the rint/tint hook stuff, and remove need to LEINTR_UNIT. The
hp300 was the last to use it.
1996-01-02 21:51:56 +00:00
thorpej 1bd3fee124 Switch to David Jones' new machine-independent NCR5380 driver. It's been
in use by the sun3 port for some time, and is now used by the sparc port.
1996-01-01 22:24:30 +00:00
thorpej 19c3f6d999 Add another broken CD-ROM drive to The List (Chinon CDS-525), per PR #1686.
From Kortelainen Mika <k125374@cs.tut.fi>.
1995-12-31 02:40:53 +00:00
thorpej 0df0df026b Add hooks at the top of the tint and rint functions, conditionally called
if the CPP symbols LE_TINT_HOOK and LE_RINT_HOOK are defined, respectively.
The hooks are called by jumping though the sc_tint_hook and sc_rint_hook
members of the softc, and take the softc as an argument.  Only ports which
need these hooks need to declare them in the softc.
1995-12-30 20:59:17 +00:00
thorpej 17eb6e2bc1 Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
thorpej 3ee815f0ce Squish a couple of rogue old-style RCS ids. 1995-12-28 08:58:15 +00:00
chopps fd9084650c make changed from pr#1824 from Ignatios Souvatzis 1995-12-27 07:51:40 +00:00