Commit Graph

289 Commits

Author SHA1 Message Date
mycroft cc84859459 Map the EISA registers correctly! 1998-08-15 02:30:56 +00:00
mycroft 196dfd7597 Always map the EISA configuration registers. 1998-08-15 02:26:31 +00:00
thorpej e9c5407d64 Only map the amount of space the device actually occupies.
Part of PR #5279, Martin Musemann.
1998-08-15 01:59:25 +00:00
thorpej b170caf730 Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4.  Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
1998-08-12 18:51:52 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
kleink f83df102e6 Regen. 1998-07-01 21:59:20 +00:00
kleink 87ee222a07 Add vendor IDs for Hewlett-Packard, Interphase and Mylex; add a product ID
for the Interphase Seahawk 4811 FDDI Controller.
1998-07-01 21:57:32 +00:00
cgd e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
matt cfbb5f3f21 Add bus_dma(9) support for the DEFxA FDDI driver 1998-05-21 20:44:02 +00:00
thorpej f80f6601b0 Fix a typo in the bus_dma changes. 1998-03-17 21:30:38 +00:00
leo d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
thorpej 4399060ec9 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-17 03:02:30 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
thorpej 9c183e53cb Slight change to previous. 1998-01-12 08:57:20 +00:00
thorpej b731c12641 Adjust for config changes. 1998-01-12 08:51:09 +00:00
thorpej c574630ead Add device classes. 1998-01-12 08:48:28 +00:00
mycroft b0cf8e166d Update copyright. 1998-01-09 21:16:36 +00:00
mycroft 1434d2e50d Map the I/O region correctly, but reading its address from the EISA config
space.
1998-01-09 20:55:17 +00:00
thorpej 12b9ab0fd5 Regen. 1998-01-09 06:46:47 +00:00
thorpej 9b7afe221e Put RCS IDs into the generated files, in the correct place. 1998-01-09 06:46:26 +00:00
thorpej 106bb71744 Regen: back out RCS ID related changes. 1998-01-08 00:33:49 +00:00
thorpej eac46118ba Back out RCS ID related changes. 1998-01-08 00:33:33 +00:00
perry c915c7718d regened with RCSIDs in place 1998-01-05 19:25:06 +00:00
perry 127f6582ff make script insert RCS ids into generated files 1998-01-05 19:24:28 +00:00
thorpej 03a0c2d900 Implement a simple queueing mechanism that makes these drivers much
more robust in resource shortage situations, basically identical to
code I added to the "ahc" driver some time ago.

Thanks to Brad Spencer for the testing help.
1997-11-04 05:58:22 +00:00
thorpej 8001991ed8 When creating ecbs, be a little more informative about why we couldn't
should creation/initialization of a ecb fail.  Also, don't panic in
these situations.  Instead, simply return an error condition and allow
the caller to deal with it.  It may be the case that we were able to
create one ecb what we can grab, and continue to hobble along.
1997-10-29 00:18:21 +00:00
thorpej 10708da893 Pull down from marc-pcmcia branch:
Minor tweaks to deal with PCMCIA differences, and support for power
management.
1997-10-14 21:28:37 +00:00
enami 7f3eb8e4fb Declare EISAVERBOSE by defopt in files.eisa. Include opt_eisaverbose.h
in eisa.c.
1997-09-13 08:48:59 +00:00
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