Commit Graph

97 Commits

Author SHA1 Message Date
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