mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-14 23:00:31 +08:00
parent
088a1f856f
commit
b71fb436fd
@ -26,58 +26,7 @@ Configuring a System
|
|||||||
scheduler-clustered
|
scheduler-clustered
|
||||||
device-driver
|
device-driver
|
||||||
mpci
|
mpci
|
||||||
|
libpci
|
||||||
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.
|
|
||||||
|
|
||||||
Event Recording Configuration
|
Event Recording Configuration
|
||||||
=============================
|
=============================
|
||||||
|
55
c-user/config/libpci.rst
Normal file
55
c-user/config/libpci.rst
Normal file
@ -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.
|
Loading…
x
Reference in New Issue
Block a user