Commit Graph

254 Commits

Author SHA1 Message Date
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
pk 013ac04cfb config.new => config 1997-07-20 20:30:46 +00:00
jtk 024b25a651 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all
EISA_UNKNOWN_SLOT uses in eisa code with the native names from
locators.h
1997-07-17 01:08:46 +00:00
perry 57e0b3811a regen 1997-07-12 16:53:10 +00:00
perry 2bf925fe32 add a couple of new device codes (from Jason Wright, pr 3853) 1997-07-12 14:41:05 +00:00
thorpej fbc0df0a1a Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:30:02 +00:00
thorpej fd9b64b81a Garbage-collect an unneeded #ifdef. 1997-05-08 04:39:35 +00:00
cgd 5cfcabc2fe compile when __BROKEN_INDIRECT_CONFIG isn't defined. 1997-04-18 00:50:33 +00:00
jonathan c1f72bba37 Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc. 1997-03-30 22:47:05 +00:00
mycroft 11117540d2 Use a temporary data structure for holding probe information, rather than a
full softc.
1997-03-29 02:32:30 +00:00
mycroft 080350dc0d Use a temporary data structure for holding probe information, rather than a
full softc.
1997-03-28 23:47:08 +00:00
thorpej 4c03c2945d Resolve conflicts from merge. 1997-03-24 00:35:02 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
cgd d999d514ce make these compile (and hopefully run; they're untested) on the Alpha 1997-03-13 01:10:34 +00:00
mikel ffe5d2d664 don't forget the bus_space tag; from Azuma Okamoto in PR kern/3290. 1997-03-05 08:02:03 +00:00
jonathan c7cec27edf Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

  * change epconfig() to take a short that encodes the chipset
    type (3c509, or Demon/Vortex/Boomerang).
  * add  distinct 3c509 and Demon/Vortex/Boomerang media-sense
    functions to back end.
  * Add EISA match/attach support for the 3c592 and 3c597
    (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

  * Assume that ISA and ISA PnP cards are 3c509-style, until
    proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
1997-02-18 10:51:06 +00:00
jonathan 82d682ac83 Correct low-order product code digits for 3Com 3c597 family. 1997-02-17 00:06:17 +00:00
jonathan fcdd1b0065 fix typo in 3Com 3c597 product description. 1997-02-16 20:10:31 +00:00
jonathan ac06c9aae3 Add product entries entries for 3c592, 3c597 (Demon).
(Assume revision zero until proof to the contrary.)
1997-02-16 20:01:14 +00:00
thorpej a8756f0775 Pass the bus PA (i/o address) to pdq_eisa_init() to avoid doing
arithmetic on bus space handles (which is strictly forbitten.
Pointed out by Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>
in PR #3216.
1997-02-13 00:08:27 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd 197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
jonathan 40bd2b1104 Fix front-ends of split uha driver to compile when DDB is not configured:
Propagate Debugger() macro from uha.c to uha_{eisa,isa}.c.
  update file names accordingly.
1996-11-15 22:53:36 +00:00
thorpej 16c4c5af26 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:24:37 +00:00
christos 86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos a9f11a46e4 printf -> kprintf, sprintf -> ksprintf 1996-10-10 19:54:10 +00:00
thorpej c996066313 Correct two prototypes so that this compiles without DDB defined. 1996-09-19 23:02:18 +00:00
thorpej 0d89093b48 This file is obsolete; the ahb driver now lives in ahb.c 1996-09-09 18:32:42 +00:00
mycroft 261a7626ca Oops. Copy out the right number of command bytes. 1996-09-07 04:59:06 +00:00
thorpej f6a91a9c52 Regen. 1996-09-06 18:01:37 +00:00
thorpej ea052e2547 Add the ETI NE3300 Ethernet card to the list of known EISA devices.
From Andrew Gillham <gillhaa@ghost.whirlpool.com>.
1996-09-06 18:01:07 +00:00
mycroft 80110252d0 Minor changes. 1996-09-01 00:54:34 +00:00
mycroft 91665cb6ef General cleanup, like other drivers. 1996-09-01 00:49:48 +00:00
mycroft 70944d2e2c Minor changes. 1996-09-01 00:20:20 +00:00
mycroft e8b5bd5b35 Update. 1996-09-01 00:10:55 +00:00
mycroft 0c0b33c781 General cleanup, like other drivers. 1996-09-01 00:09:30 +00:00
mycroft 44bb2d98e1 Split the UltraStor driver apart. 1996-08-31 20:26:48 +00:00
mycroft 06fdef11fd Split the BusLogic driver apart, and rename it to `bha (like BSDi). 1996-08-31 20:18:24 +00:00
thorpej c4366945e5 Quiet the ahc driver down a bit by only enabling some of less useful
messages #if defined(DEBUG) in the NetBSD case.
1996-08-28 23:39:40 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
soda 9d1a802eba disable AHA-284x product ID, because it is now handled by ahc_isa.c. 1996-08-05 21:18:56 +00:00
thorpej b2b02e6893 Regen. 1996-07-25 20:22:45 +00:00
thorpej e1e89fe37b Add two vendor definitions:
FSI	Fore Systems, Inc.
	INT	Intel

Add product definitions for the FORE Systems EISA ATM cards and the
Intel EtherExpress 32 Flash ethernet card.
1996-07-25 20:22:16 +00:00
explorer c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
cgd 35125fc8e0 add missing newline in printf. pointed out by Matt Thomas 1996-06-09 23:32:25 +00:00
cgd e36c62c4a0 print the note about what iomem is being used in a more appropriate place. 1996-06-08 00:11:32 +00:00
cgd 7afdc4e88d clean up import of new revision (June 7, 1996) from Matt Thomas. 1996-06-07 23:59:15 +00:00
thorpej bc16409b49 Remove some extra printfs, now that Matt has lessened my confusion. 1996-05-20 15:52:32 +00:00
thorpej 917f00ce2e RCD Id police. 1996-05-20 00:55:44 +00:00
thorpej b16ba91656 Regen (again; sigh) 1996-05-20 00:53:39 +00:00
thorpej 7d978a7915 Sure sign that Jason needs more coffee; fix ommision in my last correction. 1996-05-20 00:52:53 +00:00
thorpej f777a672d5 Add the DEFEA FDDI controller. 1996-05-20 00:44:11 +00:00
thorpej 0f38740b1c Regen. 1996-05-20 00:40:45 +00:00
thorpej 02f972a4be Ooops, restore the UltraStor 24f entry I accidentally deleted in the last
commit.
1996-05-20 00:39:55 +00:00
thorpej 72b01b6a3a Add Digital Equipment DEFEA cards. 1996-05-20 00:36:36 +00:00
thorpej 4d9ddd9e3b Use eisadevs data to display model string. 1996-05-20 00:34:03 +00:00
thorpej e5106dfb88 Update to the Digital Equipment PDQ-based FDDI controllers, from
Matt Thomas.  Now includes support for EISA (DEFEA) and first-cut of
support for TurboChannel (DEFTA) cards.
1996-05-20 00:20:39 +00:00
mycroft 24f67ca9da Regen. 1996-05-17 19:28:28 +00:00
mycroft e6f188bb5a Add entries for UltraStor 24f. 1996-05-17 19:27:48 +00:00
mycroft 2001bba8c5 Fix bogus argument to bus_io_unmap(). 1996-05-16 06:39:34 +00:00
mycroft f952cd37cd Slight redux of EISA crap. 1996-05-16 06:30:22 +00:00
mycroft 19b0b9502f New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:44:13 +00:00
thorpej 527edf030d Be more careful with types. 1996-05-14 22:21:05 +00:00
mycroft 6e2250caf3 Use intr.h. 1996-05-12 23:38:08 +00:00
thorpej f004654691 Update Herb's e-mail address; beer.org feels a lot more friendly. 1996-05-10 05:27:53 +00:00
mycroft 5b8d7c943e ahb -> sc 1996-05-05 03:12:47 +00:00
christos 6670b9fef5 - include <sys/systm.h>
- remove unused variables
1996-05-03 19:07:18 +00:00
thorpej 0b637e93a8 Convert the Etherlink III (ep) driver to use <machine/bus.h>. 1996-04-30 22:29:56 +00:00
thorpej aff40e2a72 Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver.  Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
1996-04-25 02:15:42 +00:00
cgd 432b9ff657 add support for the alpha 1996-04-12 06:34:36 +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
cgd f85f062d77 spaces vs. tabs 1996-04-09 20:07:16 +00:00
cgd 80efcebba5 kill some pasted spaces. 1996-04-06 02:04:00 +00:00
christos b8e757d588 - remove unused variable
- add missing argument to printf statement
1996-03-30 23:08:29 +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
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 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
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 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 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
cgd acabb62791 the i386 port no longer attaches isa, eisa, and pci at root. 1996-03-04 03:29:12 +00:00
cgd 7c61fe7779 change printing of unknown device names when not (BUS)VERBOSE slightly 1996-03-02 02:44:25 +00:00
cgd 91f3357fe9 clean up some diagnostic printfs 1996-03-02 02:25:40 +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 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 311a14c618 add a comment (XXX) about eisa's attachment. 1996-02-27 22:39:28 +00:00
cgd 4e07b4b16f eisabus attribute moved to conf/files 1996-02-27 22:00:25 +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 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
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
mycroft 86939fd839 Fix typo. 1995-10-04 00:35:07 +00:00
mycroft 393a69d6db Modularize the CCB/MSCP/ACB/ECB handling a little. No functional changes. 1995-10-03 20:58:56 +00:00
thorpej 26419c5a8b Don't declare Debugger(). It's handled in <sys/systm.h> 1995-09-26 19:31:15 +00:00
mycroft 8887de9230 opri --> s 1995-08-12 22:58:01 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
cgd 830a91b2e9 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:16:44 +00:00
cgd af67271a66 try to actually (gasp!) describe the drivers. 1995-04-17 17:54:15 +00:00
cgd fac8a6879e MI EISA config.new file lists 1995-04-17 16:15:48 +00:00
cgd 8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
cgd d8b4389dc3 cast pointer to long when converting to integer type 1995-04-13 04:16:16 +00:00
mycroft 68c1a35cd9 Initialize host_stat and target_stat properly. 1995-01-18 04:20:16 +00:00
mycroft 87d587e640 Simplify some sanity checks. 1995-01-13 14:46:44 +00:00
mycroft 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
mycroft b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +00:00
mycroft 195574a7de Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:57:15 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft 996b2b5c54 Disable EISA reset, for now. 1994-08-22 21:53:23 +00:00
mycroft b0db502d9c Remove diagnostic. 1994-08-07 10:49:06 +00:00
mycroft fb500c4d07 Redo some of the EISA config stuff. 1994-07-28 02:39:21 +00:00
mycroft 4ac4810048 Normalize. 1994-07-27 13:14:14 +00:00
mycroft 16878bf2f9 Enable IRQ probing. 1994-07-27 01:50:57 +00:00
mycroft a211907a8b Remove now-bogus cast. 1994-05-05 07:41:44 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd e0db92993a change timeout/untimeout/wakeup/sleep/tsleep args to void * 1994-04-29 23:15:51 +00:00
mycroft 689156a240 Change structure member names. 1994-04-20 22:39:33 +00:00
mycroft 55efebae3e Fix return values from some interrupt routines. 1994-04-08 18:22:15 +00:00
mycroft 3f5e4f423f Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
1994-04-07 06:48:19 +00:00
mycroft 25317c76f3 Increase ahb_send_mbox timeout. 1994-04-05 08:53:00 +00:00
mycroft 9a9b1d99fa Minor code cleanup. 1994-04-02 08:04:26 +00:00
mycroft ea6d9af1c2 Print out board revision info. 1994-03-30 04:07:48 +00:00
mycroft e1d51562a9 New SCSI system, based on Julian's more recent work. 1994-03-29 04:30:15 +00:00
mycroft d5a269b4dd Put controller target in scsi_switch. 1994-03-25 07:38:51 +00:00
mycroft 15d0f84500 Fix bug in last change. 1994-03-12 04:10:03 +00:00
mycroft d884f7c425 Update to match config(8). 1994-03-12 03:34:02 +00:00
mycroft 367c93feb4 Updates to match config(8). 1994-03-10 20:52:09 +00:00
mycroft a618881dd7 #include cpu.h in all files which use spl*(). 1994-03-08 12:21:10 +00:00
mycroft 92d7ef960c Use KERNBASE, not 0xfe000000. 1994-01-03 23:53:29 +00:00
davidb ddefd2e1b8 Fixed bug where with two or more SCSI controllers of the same type, you
could not have devices at the same ID on each bus.
This patch not directly applicable to magnum branch, which is using Julian's
new SCSI code.
1993-12-20 23:27:28 +00:00
mycroft f2a0b4b335 Canonicalize all #includes, and add pio.h where appropriate. 1993-12-20 09:05:17 +00:00
cgd 7b2afa7fe6 incorporate changes from 0-9-base to 0-9-ALPHA 1993-07-28 02:20:34 +00:00
mycroft 331148c31a Make these files GCC 2 happy. 1993-07-17 16:20:24 +00:00
deraadt f6779cbdce minor silliness related to two or more controllers 1993-06-09 22:36:40 +00:00
cgd 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +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
deraadt 11dce888dd fixed silly typo. 1993-05-02 20:14:48 +00:00
cgd c08b444d52 id for scsi_attach must be an int. 1993-04-26 11:54:23 +00:00
deraadt 6bee5294bc ioconf changes, see previous cvs's that dumped core 1993-04-15 07:57:50 +00:00
glass 6eb0490333 NDDB made a re-appearance.... 1993-04-15 07:11:01 +00:00
deraadt f262b564a2 new scsi subsystem.
changes also in config/mkioconf.c & sys/scsi/*
1993-04-12 08:17:23 +00:00