Home | History | Annotate | Download | only in pci
History log of /src/sys/arch/alpha/pci/cia_pci.c
RevisionDateAuthorComments
 1.36  11-Sep-2021  andvar sysinst/partitions.h: fix typos comments, also fix same typos in other files.
 1.35  25-Jun-2021  thorpej Use the default implementations of attach_hook(), bus_maxdevs(),
make_tag(), and decompose_tag().
 1.34  07-May-2021  thorpej Liberally sprinkle static around to get more symbols out of the
global namespace. A small bit of const poisoning in the TC code.
 1.33  02-Oct-2015  msaitoh branches: 1.33.34;
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.32  06-Feb-2012  matt branches: 1.32.6; 1.32.24;
Do a minor cleanup of alpha (this will make applying pullups post branching
easier).
u_int{8,16,32,64}_t -> uint{*}_t
Change all old-style definitions to C89 prototypes.
Whitespace cleanup.
Constification in db_disasm.c
 1.31  14-Jun-2011  matt branches: 1.31.2; 1.31.6;
Major cleanup of alpha device drivers.
Switch to CFATTACH_DECL_NEW.
struct device * -> device_t
struct cfdata * -> cfdata_t
Use of device_xname. No direct access to struct device members.
Use aprint* (not complete).
 1.30  15-Dec-2010  matt branches: 1.30.6;
Remove unneeded includes of <uvm/uvm_extern.h>
 1.29  14-Mar-2009  dsl branches: 1.29.4;
ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.28  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.27  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.26  15-May-2002  thorpej branches: 1.26.116; 1.26.124; 1.26.130;
Rename alpha_pci_decompose_tag() to pci_decompose_tag(). There *is*
some MI PCI code that uses it, and soon there will be more. (The rationale
for not making it available previously was that it could be mis-used, but
that's true of a lot of things.)
 1.25  29-Jun-2000  mrg branches: 1.25.2; 1.25.4;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.24  29-Jun-1999  ross branches: 1.24.2;
* sprintf -> snprintf
* add a few alpha_mb() ops as called for by folklore and rumour
 1.23  29-Jul-1998  thorpej branches: 1.23.10;
Split up using BWX for PCI config and bus access. Default to using BWX for
the former, but not the latter. Hopefully, this will address some problems
people have been experiencing w/ some devices on Pyxis systems when BWX
is used for bus access. (If it's not used for PCI config access, we can
get fatal machine checks while probing behind PCI-PCI bridges!!)
 1.22  04-Jun-1998  thorpej Add support for using BWX for PCI config space and PCI i/o and mem space
on the ALCOR2 and Pyxis. BWX is enabled iff:
- It hasn't been disabled by the user (patch `cia_use_bwx' or build cia.o
with the option "CIA_USE_BWX=0"),
- it's enabled in CIA_CSR_CNFG,
- we are running on an EV5-family processor,
- BWX is in the processor's capabilities mask.
 1.21  12-May-1998  thorpej Gah, typo.
 1.20  12-May-1998  thorpej Oops, and the writes, too.
 1.19  12-May-1998  thorpej Clean up the code that puts the PCI controller into config mode 1; no
functional difference.
 1.18  14-Oct-1997  cjs Make compile without DIAGNOSTIC set.
 1.17  15-Sep-1997  thorpej In addition to MAS_ABT, check TAR_ABT when doing configuration space
reads. This is necessary because of newer AlphaStation firmware doing
the Wrong Thing with target aborts behind PCI-PCI bridges, much like they
do the Wrong Thing with master aborts. Reported by Matthias Drochner.
 1.16  15-Sep-1997  thorpej Make sure to clear MAS_ABT if we received one.
 1.15  15-Sep-1997  thorpej branches: 1.15.2;
Use the symbolic name for "received master abort".
 1.14  13-Sep-1997  thorpej Apparently, new AlphaStation 500/600 firmware has the same problem with
PCI master aborts as eb164 firmware, so use the same workaround mechanism
on all system types (clear error register's master abort bit, and check
it after accessing configuration space), not just eb164's.

This also fixes a bug on eb164's - when making the Alpha port compile
again, I made an error that caused this to not be used on eb164 systems,
either. Thanks to Matt Jacob for pointing out this goof.
 1.13  02-Sep-1997  thorpej Apply a change made to other PCI chipsets:
don't expect/provide pci_decompose_tag to be a MI, public function. It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
 1.12  02-Sep-1997  thorpej Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
 1.11  07-Apr-1997  cgd branches: 1.11.2;
by default, provide RCS IDs for NetBSD/alpha kernel files in kernel binaries.
This can be disabled (to save a bit of space) with the NO_KERNEL_RCSIDS
options, which is present but commented out in the ALPHA config file.
In ELF-format kernels, these strings are present in the kernel binary but
are not loaded into memory. (In ECOFF-format kernels, there's no easy way
to keep them from being loaded, so they _are_ loaded into memory.)
 1.10  07-Apr-1997  cgd include machine/options.h
 1.9  07-Apr-1997  cgd clean up eb164 #ifdefs
 1.8  07-Apr-1997  cgd clean up NetBSD RCS ID strings
 1.7  23-Nov-1996  cgd branches: 1.7.2;
deal with the fact that apparently-common revisions of EB164 firmware
don't machine check when a PCI Master Abort is signalled. This can
happen, for instance, when configuration space for a device that isn't
present is examined. When this is detected, act like we normally would
when machine checks are posted while examining nonexistant devices.
 1.6  13-Nov-1996  cgd compile cleanly with:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
 1.5  13-Oct-1996  christos backout previous kprintf change
 1.4  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3  09-Jul-1996  cgd clean and update for new defintions, prototypes, etc.
 1.2  12-Apr-1996  cgd Replace with completely new version derived from APECS code. No serious
bugs to fix (that i know of), just doing it that way was easiest.
 1.1  23-Nov-1995  cgd wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.
 1.7.2.4  12-Aug-1997  cgd sync with -current as of August 11, 1997
 1.7.2.3  22-Jul-1997  cgd sync nwscons branch with changes in -current as of July 21, 1997
 1.7.2.2  06-Jun-1997  cgd sync nwscons with trunk
 1.7.2.1  01-Jun-1997  cgd sync the nwscons branch up with yesterday's version of the trunk.
Lots of conflicts/changes because of the RCS Id format changes.
Also, a few cleanups and corrections.
 1.11.2.5  15-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.4  22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.3  16-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.2  04-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.11.2.1  01-Sep-1997  thorpej Repair marc-pcmcia branch.
 1.15.2.2  15-Sep-1997  thorpej Use the symbolic name for "received master abort".
 1.15.2.1  15-Sep-1997  thorpej file cia_pci.c was added on branch bouyer-scsipi on 1997-09-15 22:35:55 +0000
 1.23.10.1  01-Jul-1999  thorpej Sync w/ -current.
 1.24.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.25.4.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.25.2.1  20-Jun-2002  nathanw Catch up to -current.
 1.26.130.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.26.124.1  28-Apr-2009  skrll Sync with HEAD.
 1.26.116.1  04-May-2009  yamt sync with head.
 1.29.4.1  05-Mar-2011  rmind sync with head
 1.30.6.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.31.6.1  18-Feb-2012  mrg merge to -current.
 1.31.2.1  17-Apr-2012  yamt sync with head
 1.32.24.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.32.6.1  03-Dec-2017  jdolecek update from HEAD
 1.33.34.2  01-Aug-2021  thorpej Sync with HEAD.
 1.33.34.1  13-May-2021  thorpej Sync with HEAD.

RSS XML Feed