summaryrefslogtreecommitdiffstats
path: root/sys/alpha/pci/tsunami_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* recover from namespace collision caused by un-static'ing pci_alloc_resource()gallatin2002-02-281-1/+1
| | | | in rev 1.187 of sys/dev/pci/pci.c
* Make sure that all resource allocation is handled in the pcib device, notdfr2001-05-231-2/+3
| | | | | | | | the chipset. This is already how the multi-hose systems handle resource allocation and it fixes a bug where dense and bwx memory allocations were not handled properly. Reviewed by: gallatin
* Next phase in the PCI subsystem cleanup.msmith2000-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | - Move PCI core code to dev/pci. - Split bridge code out into separate modules. - Remove the descriptive strings from the bridge drivers. If you want to know what a device is, use pciconf. Add support for broadly identifying devices based on class/subclass, and for parsing a preloaded device identification database so that if you want to waste the memory, you can identify *anything* we know about. - Remove machine-dependant code from the core PCI code. APIC interrupt mapping is performed by shadowing the intline register in machine- dependant code. - Bring interrupt routing support to the Alpha (although many platforms don't yet support routing or mapping interrupts entirely correctly). This resulted in spamming <sys/bus.h> into more places than it really should have gone. - Put sys/dev on the kernel/modules include path. This avoids having to change *all* the pci*.h includes.
* Convert the pcib_{read,write}_config args from signed to unsigned,gallatin2000-12-011-4/+4
| | | | | | | | | | | like the args to the config space accessors these functions replaced. This reduces the likelyhood of overflow when the args are used in macros on the alpha. This prevents memory management faults when probing the pci bus on sables, multias and nonames. Approved by: dfr Tested by: Bernd Walter <ticso@cicely8.cicely.de>
* Introduce explicit break statements in the various chipsets'gallatin2000-08-311-0/+4
| | | | | | | | | | foo_pcib_[read|write]_config() functions rather than relying on a break or return being in the CFG macro. This fixes a panic later in the boot process on a UP1000. From inspection, it looks like this fixes a similar problem in the tsunami code. Approved by: dfr
* * Completely rewrite the alpha busspace to hide the implementation fromdfr2000-08-281-79/+192
| | | | | | | | | | | | the drivers. * Remove legacy inx/outx support from chipset and replace with macros which call busspace. * Rework pci config accesses to route through the pcib device instead of calling a MD function directly. With these changes it is possible to cleanly support machines which have more than one independantly numbered PCI busses. As a bonus, the new busspace implementation should be measurably faster than the old one.
* Handle PCI devices that actually use an ISA IRQ for the cia and tsunamijhb2000-05-101-2/+3
| | | | | | | | chipsets. An example of this is the USB controller on these chipsets. With this, I can now use USB devices on the test Alpha I am borrowing at the moment. Reviewed by: dfr, obrien
* Make devices behind PPBs work on DS10s (and any other single pchip tsunamis)gallatin2000-01-201-9/+1
| | | | | | I was wagering on DEC being elegant & numbering PCI buses normally on machines with one pchip. It looks like they went with consistent -- buses behind ppbs begin with bus 2.
* Improve the mapping between the hardware PCI bus numbering on multi-hosegallatin1999-12-141-9/+73
| | | | | | | | | | | | | | tsunami systems and the PCI bus-numbering system of FreeBSD. Eg, the former allows for 2 PCI bus 2's (one each on hoses 0 and 1) while the latter needs to give each PCI bus a unique monotonically increasing number. It has been fairly well tested and correctly maps machines with a ppb on hose 1 as well as machines with ppbs on both hoses. DS10s remain untested, as I do not have a pci card with a ppb which will pass POST in a tsunami. This is a house of cards.
* Remove the 'ivars' arguement to device_add_child() andmdodd1999-12-031-1/+1
| | | | | | | | | | | | | | | | device_add_child_ordered(). 'ivars' may now be set using the device_set_ivars() function. This makes it easier for us to change how arbitrary data structures are associated with a device_t. Eventually we won't be modifying device_t to add additional pointers for ivars, softc data etc. Despite my best efforts I've probably forgotten something so let me know if this breaks anything. I've been running with this change for months and its been quite involved actually isolating all the changes from the rest of the local changes in my tree. Reviewed by: peter, dfr
* allow pci_ioctl to work with multi-hose alphas.gallatin1999-10-121-1/+14
| | | | | | | | Rather than teaching pci_ioctl about hoses, we just pass down a magic number & let the platform code figure out what the hose is based on what the bus number is. concept approved by dfr
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add support for the DEC_ST6600 family of alphas. This includes thegallatin1999-05-261-0/+106
Compaq XP1000, AlphaServer DS20, AlphaServer DS10, and DP264 This has been tested *only* on XP1000's. I'll be interested to hear from owners of other types of DEC_ST6600 alphas. I'd like to thank Don Rice of Compaq for providing the documentation required to support this platform on FreeBSD. I'd also like to thank Doug Rabson for newbus, and for helping me get a multiple hoses working with newbus. Reviewed by: Doug Rabson <dfr@nlsystems.com>
OpenPOWER on IntegriCloud