#include <machine/bus.h>
int
pci_activate(pci_chipset_tag_t pc, pcitag_t tag, device_t dev, int (*wakeup)(pci_chipset_tag_t pc, pcitag_t tag, ttdevice_t dev, pcireg_t reg));
int
pci_chipset_tag_create(pci_chipset_tag_t opc, uint64_t present, const struct pci_overrides *ov, void *ctx, pci_chipset_tag_t *pcp);
void
pci_chipset_tag_destroy(pci_chipset_tag_t pc);
pcireg_t
pci_conf_read(pci_chipset_tag_t pc, pcitag_t tag, int reg);
void
pci_conf_write(pci_chipset_tag_t pc, pcitag_t tag, int reg, pcireg_t val);
void
pci_conf_print(pci_chipset_tag_t pc, pcitag_t tag, void (*func)(pci_chipset_tag_t, pcitag_t, const pcireg_t *));
void
pci_conf_capture(pci_chipset_tag_t pc, pcitag_t tag, struct pci_conf_state *);
void
pci_conf_restore(pci_chipset_tag_t pc, pcitag_t tag, struct pci_conf_state *);
int
pci_find_device(struct pci_attach_args *pa, int (*func)(struct pci_attach_args *));
int
pci_get_capability(pci_chipset_tag_t pc, pcitag_t tag, int capid, int *offsetp, pcireg_t *valuep);
pcireg_t
pci_mapreg_type(pci_chipset_tag_t pc, pcitag_t tag, int reg);
int
pci_mapreg_map(struct pci_attach_args *pa, int reg, pcireg_t type, int busflags, bus_space_tag_t *tagp, bus_space_handle_t *handlep, bus_addr_t *basep, bus_size_t *sizep);
int
pci_mapreg_info(pci_chipset_tag_t pc, pcitag_t tag, int reg, pcireg_t type, bus_addr_t *basep, bus_size_t *sizep, int *flagsp);
int
pci_find_rom(struct pci_attach_args *pa, bus_space_tag_t bst, bus_space_handle_t bsh, int code, bus_space_handle_t *handlep, bus_space_size_t *sizep);
int
pci_intr_map(struct pci_attach_args *pa, pci_intr_handle_t *ih);
const char *
pci_intr_string(pci_chipset_tag_t pc, pci_intr_handle_t ih);
const struct evcnt *
pci_intr_evcnt(pci_chipset_tag_t pc, pci_intr_handle_t ih);
void *
pci_intr_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih, int level, int (*handler)(void *), void *arg);
void
pci_intr_disestablish(pci_chipset_tag_t pc, void *ih);
int
pci_set_powerstate(pci_chipset_tag_t pc, pcitag_t tag, pcireg_t newstate);
int
pci_get_powerstate(pci_chipset_tag_t pc, pcitag_t tag, pcireg_t *state);
int
pci_vpd_read(pci_chipset_tag_t pc, pcitag_t tag, int offset, int count, pcireg_t *data);
int
pci_vpd_write(pci_chipset_tag_t pc, pcitag_t tag, int offset, int count, pcireg_t *data);
pcitag_t
pci_make_tag(pci_chipset_tag_t pc, int bus, int device, int function);
void
pci_decompose_tag(pci_chipset_tag_t pc, pcitag_t tag, int *busp, int *devicep, int *functionp);
char *
pci_findvendor(pcireg_t id);
void
pci_devinfo(pcireg_t id, pcireg_t class, int show, char *cp, size_t len);
int
PCI_VENDOR(pcireg_t id);
int
PCI_PRODUCT(pcireg_t id);
int
PCI_REVISION(pcireg_t id);