source: rtems/cpukit/libpci/pci_cfg.c

Last change on this file was 1b33b9d, checked in by Joel Sherrill <joel@…>, on 03/18/22 at 15:03:47

cpukit/libpci: Change license to BSD-2

Updates #3053.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/*  PCI Configuration Library
4 *
5 *  COPYRIGHT (c) 2010 Cobham Gaisler AB.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#include <pci/cfg.h>
30
31/* Number of buses. This is set from respective library */
32int pci_bus_cnt = 0;
33
34/* PCI Address assigned to BARs which failed to fit into the PCI Window or
35 * is disabled by any other cause.
36 */
37uint32_t pci_invalid_address = 0;
38
39/* PCI System type. Configuration Library setup this */
40enum pci_system_type pci_system_type = PCI_SYSTEM_NONE;
41
42/* PCI Endianness.
43 *
44 * Host driver or BSP must override this be writing here if bus is defined
45 * as non-standard big-endian.
46 */
47int pci_endian = PCI_LITTLE_ENDIAN;
48
49/* Configure PCI devices and bridges, and setup the RAM data structures
50 * describing the PCI devices currently present in the system
51 */
52int pci_config_init(void)
53{
54        if (pci_config_lib_init)
55                return pci_config_lib_init();
56        else
57                return 0;
58}
59
60void pci_config_register(void *config)
61{
62        if (pci_config_lib_register)
63                pci_config_lib_register(config);
64}
65
66/* Return the number of PCI busses available in the system, note that
67 * there are always one bus (bus0) after the PCI library has been
68 * initialized and a driver has been registered.
69 */
70int pci_bus_count(void)
71{
72        return pci_bus_cnt;
73}
Note: See TracBrowser for help on using the repository browser.