Home | History | Annotate | Download | only in pci
History log of /src/sys/arch/prep/pci/prep_pciconf_direct.c
RevisionDateAuthorComments
 1.10  19-Oct-2016  nonaka Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.9  02-Oct-2015  msaitoh branches: 1.9.2;
PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.8  01-Jul-2011  dyoung branches: 1.8.12; 1.8.30;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7  18-Jun-2011  matt struct device * -> device_t
struct cfdata * -> cfdata_t
use device accessors, use device_private.
some softc/device_t splits (macppc needs a bunch more)
aprint*_dev used considerably more
 1.6  17-Oct-2007  garbled branches: 1.6.52;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.5  09-Jun-2006  garbled branches: 1.5.16; 1.5.24; 1.5.34; 1.5.36; 1.5.38; 1.5.40;
Completely rework how we look up PCI interrupts on prep:

1) Rather than build an array of the pci->intr mappings, build a proplib
tree.
2) add a SIMPLEQ of device properties to the pci_chipset_tag to hold the
proplib trees of each bus.
3) Move the interrupt routing code from pci_conf_interrupt to pci_map_intr()
4) Deal properly with non-native PCI bridge chips that are not recognized
by the prep firmware, and therefore are not noted in the residual data.

The major win of this restructure is #4. Hopefully I haven't broken
anything. Tested on a 7248-100, 7043-140 and 7024-E20.
 1.4  11-Dec-2005  christos branches: 1.4.4; 1.4.8; 1.4.14;
merge ktrace-lwp.
 1.3  15-Jul-2003  lukem branches: 1.3.16;
__KERNEL_RCSID()
 1.2  18-Mar-2003  matt branches: 1.2.2;
Switch/adapt to new bus space infrastructure.
 1.1  24-Feb-2002  kleink branches: 1.1.2; 1.1.8;
In order to support both indirect PCI configuration space access as well
as direct-mapped PCI configuration space access (such as implemented on
the IBM 27-82650 PCI Host Bridge), switch to a function vector based
PCI configuration space access implementation. The appropriate PCI
chipset tag is provided by platform-specific code.
 1.1.8.2  16-Mar-2002  jdolecek Catch up with -current.
 1.1.8.1  24-Feb-2002  jdolecek file prep_pciconf_direct.c was added on branch kqueue on 2002-03-16 15:59:23 +0000
 1.1.2.2  28-Feb-2002  nathanw Catch up to -current.
 1.1.2.1  24-Feb-2002  nathanw file prep_pciconf_direct.c was added on branch nathanw_sa on 2002-02-28 04:11:30 +0000
 1.2.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1  03-Aug-2004  skrll Sync with HEAD
 1.3.16.2  27-Oct-2007  yamt sync with head.
 1.3.16.1  21-Jun-2006  yamt sync with head.
 1.4.14.1  19-Jun-2006  chap Sync with head.
 1.4.8.1  26-Jun-2006  yamt sync with head.
 1.4.4.1  09-Sep-2006  rpaulo sync with head
 1.5.40.1  25-Oct-2007  bouyer Sync with HEAD.
 1.5.38.1  18-Oct-2007  yamt sync with head.
 1.5.36.1  06-Nov-2007  matt sync with HEAD
 1.5.34.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.5.24.2  10-May-2007  garbled convert printf's to aprint_*.
 1.5.24.1  01-May-2007  garbled Convert prep to use the new generic powerpc PCI stuff. There are
probably a few more things that can be made generic here. Tested on
7248-100.
 1.5.16.1  23-Oct-2007  ad Sync with head.
 1.6.52.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.30.2  05-Dec-2016  skrll Sync with HEAD
 1.8.30.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.8.12.1  03-Dec-2017  jdolecek update from HEAD
 1.9.2.1  04-Nov-2016  pgoyette Sync with HEAD

RSS XML Feed