27extern int pci_bus_count(
void);
32extern uint32_t pci_invalid_address;
36 PCI_CONFIG_LIB_NONE = 0,
37 PCI_CONFIG_LIB_AUTO = 1,
38 PCI_CONFIG_LIB_STATIC = 2,
39 PCI_CONFIG_LIB_READ = 3,
40 PCI_CONFIG_LIB_PERIPHERAL = 4,
42extern const int pci_config_lib_type;
49extern int (*pci_config_lib_init)(void);
50extern void (*pci_config_lib_register)(
void *
config);
57extern int pci_config_init(
void);
62extern void pci_config_register(
void *
config);
68extern void pci_cfg_print(
void);
78#define SEARCH_CHILDREN 0
94extern int pci_for_each_child(
96 int (*func)(
struct pci_dev *,
void *arg),
112extern int pci_for_each_dev(
113 int (*func)(
struct pci_dev *,
void *arg),
123extern int pci_find_dev(uint16_t ven, uint16_t dev,
int index,
132extern int pci_get_dev(pci_dev_t pcidev,
struct pci_dev **ppdev);
136#define PCI_RES_MEMIO 2
137#define PCI_RES_MEM_PREFETCH 1
138#define PCI_RES_MEM (PCI_RES_MEMIO | PCI_RES_MEM_PREFETCH)
139#define PCI_RES_TYPE_MASK 0x3
140#define PCI_RES_IO32 0x08
141#define PCI_RES_FAIL 0x10
160#define RES2DEV(res) ((struct pci_dev *) \
161 ((uintptr_t)res - (uintptr_t)(res->bar * (sizeof(struct pci_res)))))
164#define PCI_DEV_BRIDGE 0x01
165#define PCI_DEV_RES_FAIL 0x02
168#define PCI_BUS_IO 0x01
169#define PCI_BUS_MEMIO 0x02
170#define PCI_BUS_MEM 0x04
171#define PCI_BUS_IO32 0x08
173#define BRIDGE_RES_COUNT 2
174#define BUS_RES_START BRIDGE_RES_COUNT
200 BRIDGE_RES_MEMIO = 3,
202 BRIDGE_RES_UNUSED1 = 5,
207#define DEV_RES_CNT (DEV_RES_ROM + 1)
211 struct pci_res resources[DEV_RES_CNT];
238#if defined(PCI_CFG_AUTO_LIB)
249#include <pci/cfg_auto.h>
250#include <pci/cfg_static.h>
251#include <pci/cfg_read.h>
252#include <pci/cfg_peripheral.h>
Definition: deflate.c:115
Definition: rtemscompat1.h:15