summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/pci_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix an edge case wrt membase, but more changes neededimp2002-04-131-1/+1
|
* Fix warnings introduced in the PCI_ALLOW_UNSUPPORTED_IO_RANGE case.imp2002-02-261-6/+6
|
* Allow PCI_ALLOW_UNSUPPORTED_IO_RANGE to leave broken setups broken enoughphk2002-02-221-0/+18
| | | | to work.
* Put the stard/end adjustments back. They are needed. Also make startimp2002-02-191-2/+18
| | | | | == 0 a special case. I hope this fixes the real problem that phk and others were seeing.
* Don't claim to have routed an interrupt when the method actually returned anmsmith2002-02-121-2/+4
| | | | error.
* Make unsupported memory range message bootverbose onlyimp2002-02-091-4/+7
|
* Remove bogus range restrictions that attempted to restrict the rangeimp2002-02-081-14/+30
| | | | | | | | | | | | of I/O in 1.5. It looks like I got it right only for some of the cases. Instead, allow ISA addresses as a special case. Most PCI bridges decode this range. I need to investigate PCI bridges better to know if this is always true or not, but for now assume that it is since that seems to be the most common case. # We need to allocate addresses better for the pccard stuff... Submitted by: phk, mitsunaga-san
* Make PCI_ALLOW_UNSUPPORTED_IO_RANGE an option until the ISA addressimp2002-01-151-0/+5
| | | | | problem is fixed at the bridge level. This is needed for some newer laptops that have the cardbus bridge not on pci0.
* Experimental patch to try to properly clip the range of the memoryimp2001-11-261-0/+4
| | | | | | | | | | | | request to one that's supported by the bridge. I'm not 100% sure this is correct, but it makes it easier for the cardbus bridge to allocate its memory. Similar code is needed for the I/O range. Also, I'm not sure if I should be doing this based on memory or pmemory (but likely should do it based on some flag that tells us to prefetch or not). Talked about a long time ago with: msmith
* Add a standard hack in the spirit of PCI_ENABLE_IO_MODES to allow systemsbrooks2001-09-261-0/+4
| | | | | | | | with weird PCI-PCI bridge configurations to work. Defining PCI_ALLOW_UNSUPPORTED_IO_RANGE causes the sanity checks to pass even with out of range values. Reviewed by: msmith
* Next round of PCI subsystem updates:msmith2000-12-131-22/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Break out the /dev/pci driver into a separate file. - Kill the COMPAT_OLDPCI support. - Make the EISA bridge attach a bit more like the old code; explicitly check for the existence of eisa0/isa0 and only attach if they don't already exist. Only make one bus_generic_attach() pass over the bridge, once both busses are attached. Note that the stupid Intel bridge's class is entirely unpredictable. - Add prototypes and re-layout the core PCI modules in line with current coding standards (not a major whitespace change, just moving the module data to the top of the file). - Remove redundant type-2 bridge support from the core PCI code; the PCI-CardBus code does this itself internally. Remove the now entirely redundant header-class-specific support, as well as the secondary and subordinate bus number fields. These are bridge attributes now. - Add support for PCI Extended Capabilities. - Add support for PCI Power Management. The interface currently allows a driver to query and set the power state of a device. - Add helper functions to allow drivers to enable/disable busmastering and the decoding of I/O and memory ranges. - Use PCI_SLOTMAX and PCI_FUNCMAX rather than magic numbers in some places. - Make the PCI-PCI bridge code a little more paranoid about valid I/O and memory decodes. - Add some more PCI register definitions for the command and status registers. Correct another bogus definition for type-1 bridges.
* - We have access to our own device_t here, so use pci_read_configmsmith2000-12-121-25/+69
| | | | | | | | | | | | | | rather than finding our parent pcib and using its PCI_READ_CONFIG method. - Fix the defines for the 32-bit I/O decode registers, and properly process the 16-bit versions. Now we will correctly check that I/O resources behind the bridge are going to be decoded. - Bring the quirk for the Orion PCI:PCI bridge in here (since it seems to want to set the secondary/supplementary bus numbers). - Use PCI_SLOTMAX rather than a magic number.
* Next phase in the PCI subsystem cleanup.msmith2000-12-081-0/+334
- 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.
OpenPOWER on IntegriCloud