Commit Graph

1102 Commits

Author SHA1 Message Date
veego
034ed50ead Add the Matrox Millenium and regen the header files. 1997-01-01 14:56:19 +00:00
jonathan
0ede4558bc Use the same symbolic cnames for 100Mbit media as epconfig(). 1996-12-31 21:26:10 +00:00
jonathan
259ce9f178 * make sure 100mbit media-present bits don't collied with 3c509
CONFIG_CNTRL bits by making the "conn" argument to epconfig()
   a u_int, not a u_int16_t, and by defining 100mbit media
   bits in the upper 16 bits.

A redesigned interface that fixes this properly is in the pipeline.
1996-12-30 19:18:28 +00:00
jonathan
1d7f16f4d9 * Accept 100baseT4, MII variants of 3c595 as 3c595-model devices,
rather than unknown.

* Look for 100mbit interfaces, and for any present, set corresponding
  bits in `conn' argument to epconfig(). epconfig() will now print
  100Mbit media by name.
1996-12-29 13:42:58 +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
leo
91c17fedfa The atari has a pci_machdep.h file. 1996-12-01 21:02:18 +00:00
jtk
15aad8e10b forgot to regenerate these after committing pcidevs for its NetBSD header tag 1996-11-30 15:16:22 +00:00
jtk
ebc2675469 add Cirrus CL-7541, 7543 and ACC 2188; regen .h files 1996-11-28 16:29:59 +00:00
thorpej
c645414c6e Regen. 1996-11-28 00:49:48 +00:00
thorpej
5d9878b0be Fill out the Intel section of this a bit, and note the URL of a
periodically updated list of PCI vendor/product codes.
1996-11-28 00:46:35 +00:00
cgd
828f1f3aa1 Provide a routine so that ISA/EISA bridges can set up a callback so
that their child busses can be attached after the PCI bus
autoconfiguration for their parent bus is done.

This works because:
	(1) there can be at most one ISA/EISA bridge per PCI bus, and
	(2) any ISA/EISA bridges must be attached to primary PCI
	    busses (i.e. bus zero).

That boils down to: there can only be one of these outstanding
at a time, it is cleared when configuring PCI bus 0 before any
subdevices have been found, and it is run after all subdevices
of PCI bus 0 have been found.

This (or something like it) is needed because there are some (legacy)
PCI devices which can show up as ISA/EISA devices as well (the prime
example of which are VGA controllers).  If you attach ISA from a
PCI-ISA/EISA bridge, and the bridge is seen before the video board is,
the board can show up as an ISA device, and that can (bogusly)
complicate the PCI device's attach code, or make the PCI device not be
properly attached at all.

This could be done with machine-dependent code, but as more ports
add support for PCI (and PCI-ISA/EISA bridges) more will need it.
The i386 port could (perhaps should) be converted to use it as well.
1996-11-23 21:58:16 +00:00
cgd
f1482e61d8 cast pointers to long, not int, and fix the resulting printf format goof. 1996-11-23 21:42:28 +00:00
perry
a797b925b2 Incorporate updated version of fixes from FreeBSD submitted in PR
2841, plus some fixes to make the patches work on the Alpha. Seems to
improve the NCR driver a lot. We probably should try to incorporate
any updates that have happened since, too.
1996-11-20 21:26:48 +00:00
cgd
71f1ac1e29 print ptrdiff_t's by casting to long and printing with %l<whatever>.
(This fixes problems with the printf format fixes i checked in yesterday.
ptrdiff_t is an 'int' on the i386 but a 'long' on the alpha, so the cast
really is necessary...  *sigh*)
1996-11-14 20:33:04 +00:00
cgd
2bf9f4b20a fix a bunch of printf format botches 1996-11-13 19:34:31 +00:00
thorpej
4ad70417a0 Centralize the declaration of the "en" driver (Efficient Networks, Inc.
155Mb/sec ATM interface).
1996-11-12 23:58:01 +00:00
jonathan
79b026a8f3 * Add command struct and modifier definitions for controlling the
ISA-compatible port space of PCI buslogic cards.

* Add call to bha_pci.c to disable the ISA-compatible ports of a PCI
  device.  The ISA-compatible ports are enabled by default, which
  causes the card to be autoconfigured a second time as an ISA device,
  which appears to deadlock the card.

* Change bha_cmd() to return the number of bytes it actually received
  in response to a command, or -1 on error.

*  Use heuristics (checking for bha-only registers, and checking the size
   of the response to BHA_INQURE_EXTENDED) to bha_find, to make sure the
   bha driver never matches an aha (Adaptec    1542 or compatible) device.

A single kernel should now boot on either Adaptec or BusLogic controllers,
provided we always probe for BusLogic devices before Adaptec devices,
but this has not yet been verified.
1996-11-05 03:04:28 +00:00
cgd
2ab4192195 update alpha_XXX_dmamap() invocations to match prototype. 1996-10-25 21:33:30 +00:00
cgd
702e7ec138 make script_kvars an array of unsigned longs, and cast when assigning the
elements, to avoid warnings (with -Wcast-qual) about 'volatile'
qualifiers being discarded.
1996-10-25 00:33:00 +00:00
cgd
2e7c250f84 update drivers to use the new NetBSD/alpha DMA mapping hack, since
the old one is not workable with the new bus.h.
1996-10-23 04:37:31 +00:00
thorpej
546c8abcee 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:56:24 +00:00
jonathan
3bd4c6caee regen from pcidevs 1.20 1996-10-19 13:04:51 +00:00
jonathan
7717235f4c Add productId for RealTek 8029 PCI ethernet board. 1996-10-19 13:01:49 +00:00
christos
7ad3f1a832 regen 1996-10-15 23:42:42 +00:00
christos
c354418add Use the official 3com part names; from Curt Sampson 1996-10-15 23:41:56 +00:00
christos
898d3e0b34 regen 1996-10-13 22:21:15 +00:00
christos
b3de746da6 Apply PR/2840: Recognize more 3com models... 1996-10-13 22:19:19 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
95e30eafe7 printf -> kprintf, sprintf -> ksprintf 1996-10-10 19:58:18 +00:00
christos
bf78c76b40 - move a variable declaration that is unused under NetBSD into the ifdef
for FreeBSD
- printf -> kprintf, sprintf -> ksprintf
1996-10-10 19:55:48 +00:00
christos
9cbe3b9d5f - printf -> kprintf, sprintf -> ksprintf
- include systm.h
1996-10-10 19:53:03 +00:00
christos
9cc736c839 - printf -> kprintf, sprintf -> ksprintf
- remove unused variables.
- fix cleanup code in case of probe failure.
1996-10-10 19:52:10 +00:00
gibbs
b9c06e6fa3 dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
  Remove intrinsic knowledge about SDTR and WDTR messages and replace it
  with a generic message system that allows the kernel driver to handle
  SDTR, WDTR and any other type of extended message it chooses too.  This
  makes the sequencer code much simpler, makes extended message handling
  debuggable since the bulk of the work is in the kernel driver, and saves
  lots of instruction space.

  Regen microcode header file.

dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
  Add code to handle WDTR and SDTR negotiation in light of the changes in
  the message interface to the sequencer.  Don't reject targets that
  negotiate async by sending an SDTR with a 0 offset.  Use an sdtr message
  with 0,0 to negotiate async when a target suggests a period that is too
  long for us to handle.  Some tape and cdrom drives don't like us doing
  the message reject that we did in the past.

  Fix a problem with handing the QUEUE FULL condition.

  Fix a race condition (most likely the cause of the SCB paging problems) that
  might allow the sequencer to get unpaused before the condition that caused
  it to be paused (a SEQINT) was handled.

  Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
  by "Dan Willis" <dan@plutotech.com>.

dev/pci/ahc_pci.c:
  Add support for the 2940AU, an aic7860 based controller.

dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
  Add product IDs for the 2940AU, aic7860 and aic7855.

  Regen data file.

scsi/scsi_message.h:
  Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
  extended messages.

Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
1996-10-08 03:04:02 +00:00
christos
169edbf5a3 Don't epstop() at the and of the attach 1996-09-29 11:20:32 +00:00
christos
e76a4ef86b New cyclades driver from Timo Rossi. 1996-09-24 17:59:33 +00:00
christos
7c744984f3 New cyclades driver from Timo Rossi. 1996-09-24 17:47:14 +00:00
cgd
4463616051 put set of 'channel' field of scsi_link in the right #ifdef 1996-09-20 22:38:37 +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
06fdef11fd Split the BusLogic driver apart, and rename it to `bha (like BSDi). 1996-08-31 20:18:24 +00:00
cgd
a84c80e23c regen for new pcidevs 1996-08-29 21:36:01 +00:00
cgd
d29b00b3c3 add entry for the IBM 82351 PCI-PCI Bridge 1996-08-29 21:34:22 +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
cgd
00209d1db1 remove include of <sys/types.h> (it's implied by including
<sys/param.h>, and historically has been), and add include of
<sys/systm.h> for prototypes.
1996-08-27 16:24:18 +00:00
cgd
de2285c4d2 #undef assert before defining it, so the new libkern definition doesn't
conflict with this one.
1996-08-27 01:00:00 +00:00
cgd
6b5b72905d regen for new pcidevs 1996-08-26 20:20:02 +00:00
cgd
8080fdf200 add ids for the PGXGB (TGA2), and DGLPB (OPPO). 1996-08-26 20:12:16 +00:00
cgd
3c435c25c4 regen for new pcidevs 1996-08-23 04:36:41 +00:00
cgd
6269a2a911 add an entry for the FORE PCA-200e 1996-08-23 04:35:41 +00:00
mycroft
121dfd8f1b Change PCI_MAPREG_{MEM,IO}_SIZE() to use the standard `x & -x' trick to select
the lowest bit set.  This isn't any more or less valid according to the PCI
spec, but it deals with lame devices that don't implement all of the top
bits.
1996-08-10 15:42:33 +00:00
mycroft
988597c420 Eliminate reference to stddef.h. 1996-08-10 09:25:11 +00:00
cgd
f160e92962 revert PCI_MAPREG_IO_ADDR_MASK and PCI_MAPREG_IO_SIZE_MASK to their old
values, i.e. 0xfffffffe and 0xffffffff respectively.  The changed
definitions were incorrect, according to the PCI Local Bus Specification
(Revision 2.0).  Further rationale and a workaround for the broken
devices that instigated the change provided in a message to
current-users@netbsd.org, dated Mon, 05 Aug 1996 22:06:58 -0400,
message ID 16773.839297218@ux2.sp.cs.cmu.edu>.
1996-08-06 02:11:25 +00:00
mycroft
a2aa46e1c4 Add PCI_MAPREG_{IO,MEM}_SIZE(), and use them. 1996-07-26 07:13:52 +00:00
mycroft
53f21c73fb Changes PCI_MAPREG_IO_ADDR_MASK to 0xfffe. 1996-07-26 06:35:35 +00:00
cgd
b23ddc2150 regen for updated pcidevs 1996-07-15 22:55:14 +00:00
cgd
da383d28de clean up, sort a few entries. Add many new entries, based on information
gleaned from the XFree86 3.1.2E release.
1996-07-15 22:52:16 +00:00
cgd
effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
cgd
ec9e01a05f #ifdefs are not allowed in macro invocations. 1996-07-14 20:13:08 +00:00
cgd
4285a42e76 alphabetize by driver name 1996-07-14 19:13:22 +00:00
explorer
c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
chuck
254ec3a7ef pci specific code for the eni155p card 1996-06-22 02:00:31 +00:00
chuck
d96712ec4b regenerate to fix "generated from" comment
(next commit pcidevs first, then regenerate)
1996-06-22 01:58:54 +00:00
chuck
cf4c02966d add product code for efficient networks eni155p atm card and regenerate 1996-06-22 01:55:43 +00:00
cgd
b2dca977c5 FPA probe would always return zero, because of incorrect return statement.
Patch provided by Peter Galbavy in PR 2555.
1996-06-17 18:29:18 +00:00
cgd
b1b4f705ba convert alpha vtophys() #defines to use __alpha_bus_XXX_dmamap(), to
get rid of the nasty (vtophys(va) | 0x40000000) expressions, and to make
the code more correct.
1996-06-03 20:30:21 +00:00
thorpej
bc16409b49 Remove some extra printfs, now that Matt has lessened my confusion. 1996-05-20 15:52:32 +00:00
thorpej
722d0da592 RCS Id police. 1996-05-20 00:56:39 +00:00
thorpej
fee0e539c4 Fix conflicts from import, clean up a few printfs, and use the
generic PCI vendor/product definitions, rather than home-grown versions.
1996-05-20 00:30:49 +00:00
mycroft
0cb9c8e106 Regen. 1996-05-16 07:07:57 +00:00
mycroft
19f4141a4e Add another ID for BusLogic cards. 1996-05-16 07:04:58 +00:00
mycroft
19b0b9502f New version, with changes from Justin Gibbs and Noriyuki Soda. 1996-05-16 03:44:13 +00:00
thorpej
2cd534aa06 Don't include <machine/intr.h> twice on the Alpha. 1996-05-14 22:23:38 +00:00
thorpej
16f2a8fbf0 Regenerate. 1996-05-13 06:04:43 +00:00
thorpej
7846c3d45b Add an LSI Logic vendor id, and an S3 product id. Provide more detail
on a couple of S3 and UMC product ids.  From Shelby Noonan <shelby@og.org>
1996-05-13 06:02:18 +00:00
mycroft
cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
thorpej
b5823eb83d Squish a straggling inb(), and tweak so that this compiles on the Alpha. 1996-05-12 22:23:31 +00:00
thorpej
afd45c1aaf Value returned by pci_conf_read() is a pcireg_t, so don't try to store
it in a u_short.
1996-05-12 18:48:21 +00:00
thorpej
7484bd0c7f Don't use home-grown macros to extract PCI vendor and product IDs.
Also, be truthful; We're actually looking for Configuration Base IO
Address, not Configuration Base Memory Address.
1996-05-12 02:46:15 +00:00
thorpej
6f3fb2ce0b Fix a think-o (my fault) that caused LANCE register offsets to be wrong.
While I'm here, convert driver to use <machine/bus.h> and the new PCI
I/O space interface (the new PCI interrupt interface was already in-use).
Also, correct a "corrected" printf.
1996-05-12 02:30:03 +00:00
mycroft
50c94f92ce There was no need to change ac_ipaddr here. 1996-05-11 14:00:15 +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
christos
c66a107a1f #ifdef FreeBSD out unit which is not used by NetBSD. 1996-05-07 23:23:23 +00:00
christos
d3340fa469 - Add an XXX declaration to kvtop
- Add a missing argument to printf
1996-05-07 23:22:25 +00:00
thorpej
edbe37b13e Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:17:18 +00:00
thorpej
c1e45dd1f7 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Add a real PCI front-end for PCnet-PCI Ethernet cards.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:03:02 +00:00
thorpej
2d1c62d1ed Regenerate; pcidevs changed. 1996-05-07 02:01:00 +00:00
thorpej
0ba5a212d0 Add ID for AMD PCnet-PCI Ethernet. 1996-05-07 01:59:45 +00:00
christos
6670b9fef5 - include <sys/systm.h>
- remove unused variables
1996-05-03 19:07:18 +00:00
christos
5a4851d776 - fix printf format strings
- #ifdef out unused variables/functions
- parenthesize
1996-05-03 17:39:49 +00:00
christos
2d0606e988 remove unused variables 1996-05-03 17:33:49 +00:00
christos
021d3e082f Remove unused printf arguments 1996-05-03 17:32:20 +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
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
mycroft
5e078e5ec8 Implement ncr_print(). 1996-04-03 08:44:15 +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
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
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
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
cgd
4835a9fbc1 spacing nit 1996-03-17 01:47:52 +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
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
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
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
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
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
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
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
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
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
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
cgd
3c43b4317d alphabetize device list 1996-02-27 01:31:33 +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
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
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
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
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
3ee815f0ce Squish a couple of rogue old-style RCS ids. 1995-12-28 08:58:15 +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
tls
69d57286dc merge latest Thomas version with our minimal changes 1995-12-23 06:22:46 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
christos
7a68425190 Don't use the softc at probe time on pci devices because it has not been
allocated yet. Thanks Charles...
1995-11-12 20:55:26 +00:00
christos
ffa8bfeda1 pcidevs was changed 1995-11-10 19:36:29 +00:00
christos
c3ae59171a - pcidevs: add 3c590 and adaptec ultra
- aic7xxx.c: fix the probe routines to use pcidevs.h
1995-11-10 19:36:08 +00:00
pk
4ad1c05d71 DV_NULL should be DV_DULL. 1995-10-23 15:42:50 +00:00
pk
bcff7be6b7 DV_DISK => DV_NULL (from Mike Long; PR#1607). 1995-10-22 20:45:07 +00:00
mycroft
dbce1a97aa Add specs for ahc driver. 1995-10-10 12:16:54 +00:00
mycroft
b216bead49 Add an Adaptec 2940 driver, by John Aycock and Justin Gibbs, ported to NetBSD by Stefan
Grefen, with several bug fixes by me.
1995-10-09 09:49:30 +00:00
mycroft
0bc6ad73eb Fix an oversight in the minphys routine. 1995-10-02 16:48:36 +00:00
mycroft
b5beeaaca9 Incorporate recent changes from Wolfgang and Stefan. 1995-10-01 20:51:34 +00:00
mycroft
4fec83b441 Fix oversights in previous change.
Remove ugly casts and correct spelling.
1995-08-19 04:58:44 +00:00
cgd
b0dc5d3d7f local adaptations, and fix a could of compilation errors 1995-08-19 04:35:18 +00:00
cgd
1c8b202de7 use I/O ports on the i386 1995-08-19 04:27:31 +00:00
cgd
9980150670 Generic FDDI support by Matt Thomas. Support for DEC "PDQ" FDDI chipset
and for the PCI attachment of said chipset ("if_fpa"), also from Matt Thomas.
Arguably, pdq* doesn't belong in sys/dev/ic, but it's going to be shared by
various bus attachment devices at some point in the future, and there's no
other place that seems to fit as well.
1995-08-19 00:59:47 +00:00
cgd
8b417fd28b add 'fpa' for Matt Thomas's driver for DEC PCI FDDI boards. alphabetize. 1995-08-19 00:44:48 +00:00
cgd
c9dbf2d1d2 clean up 7/26 de snapshot import 1995-08-17 18:04:55 +00:00
cgd
a2e0a97608 check for null subclass pointer. From Todd Mummert 1995-08-16 04:54:50 +00:00
mycroft
80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
mycroft
e04a2a7a7f Add needs-flags for pci_subr.c. 1995-07-27 04:43:19 +00:00
mycroft
fc427776a7 Add stuff for I/O mapping. 1995-07-27 00:29:02 +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
267dd7012f merge updated version from Matt Thomas, which includes dc21041 support.
There are a couple of questionable changes in here, that i'm going to
hammer out of him in the next week or so...
1995-07-24 03:54:14 +00:00
cgd
bbe407930b header file got renamed 1995-06-28 03:26:36 +00:00
cgd
6907f7f64d fix reference to incorrect struct (paste-o) 1995-06-21 03:56:09 +00:00
cgd
9526317aa1 vendor IDs for Acer and SIS 1995-06-20 04:50:43 +00:00
cgd
4f7335a75a macros to split out various parts of PCI registers, adjust constants
to match.  (now, comparisons are comparisons, code doing them doesn't
have to mask.)  define types for the various parts of the registers'
contents, where practical.
1995-06-18 01:34:01 +00:00
cgd
c4640b104d define and call "pci_devinfo()", which creates a string from the
vendor & product IDs and class information, which is printed if device
isn't found.  Optionally (via "PCIVERBOSE" option) does table lookup
to try to see if it knows what the device really is (informational only...).
1995-06-18 01:28:23 +00:00
cgd
e86a68a339 prototype for pci_devinfo function 1995-06-18 01:26:50 +00:00
cgd
c644446a99 add include for the alpha, alphabetize 1995-06-18 01:24:40 +00:00
cgd
8ced60f181 make a comment reflect the way things should be done 1995-06-18 01:23:11 +00:00
cgd
2cfceff6b5 built from pcidevs list 1995-06-18 01:09:14 +00:00
cgd
27adbb1130 learn about some PCI vendor and product numbers. not yet used 1995-06-18 01:07:04 +00:00
cgd
ae76c070ec oops; forgot this in last commit 1995-06-17 23:06:44 +00:00
cgd
6f13f2448a more appropriate name, as this only has PCI support subroutines. 1995-06-17 22:40:26 +00:00
cgd
3349ad1b56 update from matt thomas 1995-06-06 23:31:24 +00:00
cgd
dede989b85 enable the de driver 1995-06-05 01:03:45 +00:00
cgd
d0d9fe6333 set a shutdown hook 1995-06-05 01:03:30 +00:00
cgd
96caf354eb kill old Id, add NetBSD Id 1995-06-05 00:47:42 +00:00
cgd
551bcffab9 dc21040 driver, from Matt Thomas 1995-06-05 00:38:18 +00:00
cgd
bad826164e split single-subdevice lookup & attachment into a subroutine
(pci_attach_subdev()).  remove pciattach() function and the pcicd cfdriver
struct, the former because thre are a lot of attachment actions which really
are machine-dependent (perhaps even "most"), and the latter because now that
both pcimatch() and pciattach() are machine-dependent it's bad style to
declare them here and it gains nothing.
1995-05-23 03:43:06 +00:00
cgd
af67271a66 try to actually (gasp!) describe the drivers. 1995-04-17 17:54:15 +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
5f252bb8ea config.new files description for PCI mi files. 1995-04-17 07:46:10 +00:00
jtc
db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +00:00
mycroft
c937d3b9f2 Patch from Wolfgang to fix a missing spl. 1995-02-01 09:32:45 +00:00
cgd
87ed227cb4 include files from the correct places. 1995-01-27 05:44:29 +00:00
mycroft
52f079131b Incorporate recent changes from Wolfgang. Recognize the 815. 1995-01-16 21:48:35 +00:00
mycroft
290ed068ab Remove many of the `static's, to facilitate debugging. 1995-01-04 09:02:32 +00:00
mycroft
8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft
f8183b2d0e Make a wrapper match function to check the bus and device numbers, rather
than insisting that every driver do it.
1994-11-04 09:42:18 +00:00
mycroft
94cde915db Rename pciprobe() to pcimatch(), and move it to pci_machdep.c. 1994-11-03 22:27:16 +00:00
mycroft
e06bd72a85 Always use direct configuration. 1994-11-03 22:15:19 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
andrew
5a13863a4b Default to decent performance. 1994-10-27 02:04:18 +00:00
andrew
fc67924047 Merge changes from Wolfgang Stanglmeier's 941012 release. 1994-10-27 02:02:00 +00:00
mycroft
6ddbe860c2 Update from Wolfgang Stanglemeier. 1994-10-01 06:27:56 +00:00
mycroft
3c3258eb6d Make this work. 1994-08-11 04:54:13 +00:00
mycroft
55b11feb0a Update some comments. 1994-08-10 04:37:52 +00:00
mycroft
8dbfcf9e2e Add NCR 53c8XX driver, originally from Wolfgang Stanglmeier. 1994-08-09 22:20:44 +00:00
mycroft
6df721be97 Add PCI autoconfiguration support. 1994-08-09 00:47:46 +00:00