diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2011-11-28 10:11:10 +0100 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2015-04-17 01:10:15 +0200 |
commit | a31845f7f9b4770cf9ddd8b6820641d2f4f4c1da (patch) | |
tree | 0d7f215ec45d7c4cf6f1293af72ece2fbde1ddc3 /doc/user/conf.t | |
parent | leon3,ngmp: simplify cpucounter initialization (diff) | |
download | rtems-a31845f7f9b4770cf9ddd8b6820641d2f4f4c1da.tar.bz2 |
LIBPCI: added PCI layer to cpukit/libpci
Diffstat (limited to 'doc/user/conf.t')
-rw-r--r-- | doc/user/conf.t | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t index fe714b42d4..ae2d9668ea 100644 --- a/doc/user/conf.t +++ b/doc/user/conf.t @@ -5273,6 +5273,59 @@ uses the Ada run-time. None. @c +@c === PCI Library === +@c +@section PCI Library + +This section defines the system configuration paramters supported +by @code{rtems/confdefs.h} related to configuring the PCI Library +for RTEMS. + +The PCI Library startup behaviour can be configured in four diffent +ways depending on how @code{CONFIGURE_PCI_CONFIG_LIB} is defined: + +@itemize @bullet +@findex PCI_LIB_AUTO +@item @code{PCI_LIB_AUTO} is used to enable the PCI auto configuration +software. PCI will be automatically probed, PCI buses enumerated, all +devices and bridges will be initialized using Plug & Play software +routines. The PCI device tree will be populated based on the PCI devices +found in the system, PCI devices will be configured by allocating address +region resources automatically in PCI space according to the BSP or host +bridge driver set up. + +@findex PCI_LIB_READ +@item @code{PCI_LIB_READ} is used to enable the PCI read configuration +software. The current PCI configuration is read to create the RAM +representation (the PCI device tree) of the PCI devices present. PCI devices +are assumed to already have been initialized and PCI buses enumrated, it is +therefore required that a BIOS or a boot loader has set up configuration space +prior to booting into RTEMS. + +@findex PCI_LIB_STATIC +@item @code{PCI_LIB_STATIC} is used to enable the PCI static configuration +software. The user provides a PCI tree with information how all PCI devices +are to be configured at compile time by linking in a custom +@code{struct pci_bus pci_hb} tree. The static PCI library will not probe PCI +for devices, instead it will assume that all devices defined by the user is +present, it will enumerate the PCI buses and configure all PCI devices in +static configuration accordingly. Since probe and allocation software is not +needed the startup is faster, have smaller footprint and does not require +dynamic memory allocation. + +@findex PCI_LIB_PERIPHERAL +@item @code{PCI_LIB_PERIPHERAL} is used to enable the PCI peripheral +configuration. It is similar to @code{PCI_LIB_STATIC}, but is will never write +the configuration to the PCI devices since PCI peripherals are not allowed to +access PCI configuration space. + +@end itemize + +Note that selecting PCI_LIB_STATIC or PCI_LIB_PERIPHERAL but not defining +@code{pci_hb} will reuslt in link errors. Note also that in these modes +Plug & Play is not performed. + +@c @c === Go Tasks === @c @section Go Tasks |