33#include <sys/kernel.h>
34#include <sys/module.h>
51 id = pci_get_devid(
dev);
64 device_set_desc(
dev,
"Host to PCI bridge");
75 bus_generic_probe(
dev);
82 device_add_child(
dev,
"agp", -1);
83 bus_generic_attach(
dev);
93 return (BUS_READ_IVAR(device_get_parent(
dev),
dev, which, result));
103static struct resource *
105 rman_res_t
start, rman_res_t end, rman_res_t
count, u_int flags)
116 return (bus_release_resource(
dev,
type,
rid, r));
140 device_printf(
dev,
"child %s requested pci_enable_busmaster\n",
141 device_get_nameunit(
child));
142 return (pci_enable_busmaster(
dev));
149 device_printf(
dev,
"child %s requested pci_disable_busmaster\n",
150 device_get_nameunit(
child));
151 return (pci_disable_busmaster(
dev));
158 device_printf(
dev,
"child %s requested pci_enable_io\n",
159 device_get_nameunit(
child));
167 device_printf(
dev,
"child %s requested pci_disable_io\n",
168 device_get_nameunit(
child));
169 return (pci_disable_io(
dev,
space));
176 device_printf(
dev,
"child %s requested pci_set_powerstate\n",
177 device_get_nameunit(
child));
178 return (pci_set_powerstate(
dev,
state));
185 device_printf(
dev,
"child %s requested pci_get_powerstate\n",
186 device_get_nameunit(
child));
187 return (pci_get_powerstate(
dev));
194 device_printf(
dev,
"child %s requested pci_assign_interrupt\n",
195 device_get_nameunit(
child));
196 return (PCI_ASSIGN_INTERRUPT(device_get_parent(
dev),
dev));
251 DEVMETHOD(device_shutdown, bus_generic_shutdown),
252 DEVMETHOD(device_suspend, bus_generic_suspend),
253 DEVMETHOD(device_resume, bus_generic_resume),
258 DEVMETHOD(bus_setup_intr, bus_generic_setup_intr),
259 DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr),
263 DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
264 DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
static int pci_hostb_disable_busmaster(device_t dev, device_t child)
static int pci_hostb_enable_busmaster(device_t dev, device_t child)
static void pci_hostb_write_config(device_t dev, device_t child, int reg, uint32_t val, int width)
static uint32_t pci_hostb_read_config(device_t dev, device_t child, int reg, int width)
static int pci_hostb_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
static int pci_hostb_disable_io(device_t dev, device_t child, int space)
static int pci_hostb_read_ivar(device_t dev, device_t child, int which, uintptr_t *result)
static int pci_hostb_attach(device_t dev)
static devclass_t pci_hostb_devclass
static int pci_hostb_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r)
static struct resource * pci_hostb_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags)
static int pci_hostb_enable_io(device_t dev, device_t child, int space)
static driver_t pci_hostb_driver
static int pci_hostb_find_next_extcap(device_t dev, device_t child, int capability, int start, int *capreg)
static int pci_hostb_get_powerstate(device_t dev, device_t child)
static int pci_hostb_find_next_htcap(device_t dev, device_t child, int capability, int start, int *capreg)
static int pci_hostb_find_extcap(device_t dev, device_t child, int capability, int *capreg)
static int pci_hostb_assign_interrupt(device_t dev, device_t child)
static int pci_hostb_probe(device_t dev)
static int pci_hostb_set_powerstate(device_t dev, device_t child, int state)
static int pci_hostb_find_htcap(device_t dev, device_t child, int capability, int *capreg)
static int pci_hostb_find_cap(device_t dev, device_t child, int capability, int *capreg)
static int pci_hostb_find_next_cap(device_t dev, device_t child, int capability, int start, int *capreg)
DRIVER_MODULE(hostb, pci, pci_hostb_driver, pci_hostb_devclass, 0, 0)
static device_method_t pci_hostb_methods[]
static void pci_assign_interrupt(device_t bus, device_t dev, int force_route)