Commit Graph

41 Commits

Author SHA1 Message Date
thorpej 35a40fda4b Implement a simple generic PCI-ISA bridge driver. This driver exists
primarily to nicely print version information about your PCI chipset
(try with "options PCIVERBOSE").  Eventually, it may be used to
enable/disable features/bugs of a given PCI chipset.  In addition, this
driver uses the PCI-ISA bridge callback mechanism to logically attach the
ISA bus to the PCI-ISA bridge.
1996-11-28 02:53:45 +00:00
thorpej 30612943e3 Implement a simple generic PCI-Host bridge driver. At the moment, this
driver is a place-holder, which will nicely print version information
about your PCI chipset (try with "options PCIVERBOSE").  Eventually,
this can be used to enable/disable features/bugs of individual PCI
chipsets.
1996-11-28 02:49:01 +00:00
fvdl 753949629e Make this compile again if PCI_CONF_MODE is defined (unused label). 1996-10-24 12:32:29 +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 bd73314ed9 backout previous kprintf changes 1996-10-13 03:19:38 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
cgd 79e0a8a2b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:15:08 +00:00
mycroft 30c174cdcf Use a more standard and more sane error cleanup convention... 1996-03-27 06:49:54 +00:00
cgd da3136aba8 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) deprecate the pci_map_* functions, and provide them only
	    as compatibility interfaces (in pci_compat.c) which will
	    eventually go away, implemented as wrappers around
	    the functions described above.
	(5) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
1996-03-27 04:01:10 +00:00
cgd 0926920201 (1) 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)
(2) 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:37:59 +00:00
cgd c8487c701e reorganize mapping register definitions 1996-03-04 19:30:50 +00:00
cgd 591c6fd2cd make PCI bus match/attach and sub-device attachment machine-independent.
(remove that code from this file.)
1996-02-28 01:50:02 +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
cgd 0d41f58879 fix a pasto 1995-07-27 21:39:59 +00:00
mycroft fc427776a7 Add stuff for I/O mapping. 1995-07-27 00:29:02 +00:00
cgd 3722386a41 use new pcireg.h macros 1995-06-18 02:36:41 +00:00
mycroft 1922f9e648 Use the memory mapping set up by the BIOS. 1995-06-05 03:07:34 +00:00
cgd 471cfd3fc5 define pcicd, pciattach() here now. 1995-05-23 03:43:58 +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
mycroft e25c1817cf kernel_pmap --> pmap_kernel() 1995-04-10 13:08:28 +00:00
mycroft 38c309142a Clean up deleted files. 1995-01-27 05:46:40 +00:00
cgd 249527c4f1 move mi pci files to /sys/dev 1995-01-27 05:46:39 +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 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +00:00
mycroft ff315ba9a4 Don't turn on the SCE bit in the enable register. 1994-12-28 19:45:41 +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 29414c5a0a Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:34:50 +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 e4bc47c9fc Remove bogus attempt to map the interrupt pins here. The BIOS is supposed to
do it anyway.
1994-09-06 01:25:22 +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