summaryrefslogtreecommitdiffstats
path: root/c-user
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-09 08:57:38 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-12 10:22:16 +0100
commitb71fb436fd085b647c0c39a08d30226ff5267edc (patch)
treeadea70edb47175cf993e7a2158882e27444b29c2 /c-user
parentc-user: Move "Multiprocessing Configuration" (diff)
downloadrtems-docs-b71fb436fd085b647c0c39a08d30226ff5267edc.tar.bz2
c-user: Move "PCI Library Configuration"
Update #3836.
Diffstat (limited to 'c-user')
-rw-r--r--c-user/config/index.rst53
-rw-r--r--c-user/config/libpci.rst55
2 files changed, 56 insertions, 52 deletions
diff --git a/c-user/config/index.rst b/c-user/config/index.rst
index 1413920..a389d71 100644
--- a/c-user/config/index.rst
+++ b/c-user/config/index.rst
@@ -26,58 +26,7 @@ Configuring a System
scheduler-clustered
device-driver
mpci
-
-PCI Library Configuration
-=========================
-
-This section defines the system configuration parameters supported by
-``rtems/confdefs.h`` related to configuring the PCI Library for RTEMS.
-
-The PCI Library startup behaviour can be configured in four different ways
-depending on how ``CONFIGURE_PCI_CONFIG_LIB`` is defined:
-
-.. index:: PCI_LIB_AUTO
-
-``PCI_LIB_AUTO``
- 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.
-
-.. index:: PCI_LIB_READ
-
-``PCI_LIB_READ``
- 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 enumerated, it is therefore required that a BIOS or
- a boot loader has set up configuration space prior to booting into RTEMS.
-
-.. index:: PCI_LIB_STATIC
-
-``PCI_LIB_STATIC``
- 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 ``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 are 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, has smaller
- footprint and does not require dynamic memory allocation.
-
-.. index:: PCI_LIB_PERIPHERAL
-
-``PCI_LIB_PERIPHERAL``
- Used to enable the PCI peripheral configuration. It is similar to
- ``PCI_LIB_STATIC``, but it will never write the configuration to the PCI
- devices since PCI peripherals are not allowed to access PCI configuration
- space.
-
-Note that selecting ``PCI_LIB_STATIC`` or ``PCI_LIB_PERIPHERAL`` but not
-defining ``pci_hb`` will reuslt in link errors. Note also that in these modes
-Plug & Play is not performed.
+ libpci
Event Recording Configuration
=============================
diff --git a/c-user/config/libpci.rst b/c-user/config/libpci.rst
new file mode 100644
index 0000000..b62a56c
--- /dev/null
+++ b/c-user/config/libpci.rst
@@ -0,0 +1,55 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+
+PCI Library Configuration
+=========================
+
+This section defines the system configuration parameters supported by
+``rtems/confdefs.h`` related to configuring the PCI Library for RTEMS.
+
+The PCI Library startup behaviour can be configured in four different ways
+depending on how ``CONFIGURE_PCI_CONFIG_LIB`` is defined:
+
+.. index:: PCI_LIB_AUTO
+
+``PCI_LIB_AUTO``
+ 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.
+
+.. index:: PCI_LIB_READ
+
+``PCI_LIB_READ``
+ 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 enumerated, it is therefore required that a BIOS or
+ a boot loader has set up configuration space prior to booting into RTEMS.
+
+.. index:: PCI_LIB_STATIC
+
+``PCI_LIB_STATIC``
+ 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 ``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 are 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, has smaller
+ footprint and does not require dynamic memory allocation.
+
+.. index:: PCI_LIB_PERIPHERAL
+
+``PCI_LIB_PERIPHERAL``
+ Used to enable the PCI peripheral configuration. It is similar to
+ ``PCI_LIB_STATIC``, but it will never write the configuration to the PCI
+ devices since PCI peripherals are not allowed to access PCI configuration
+ space.
+
+Note that selecting ``PCI_LIB_STATIC`` or ``PCI_LIB_PERIPHERAL`` but not
+defining ``pci_hb`` will reuslt in link errors. Note also that in these modes
+Plug & Play is not performed.