Date: Sat, 20 Jan 2001 19:41:19 -0500 From: "Donald J . Maddox" <dmaddox@sc.rr.com> To: John Baldwin <jhb@FreeBSD.org> Cc: "Donald J . Maddox" <dmaddox@sc.rr.com>, freebsd-hackers@FreeBSD.org, Nicolas Souchu <nsouch@alcove.fr> Subject: Re: more info about: odd result of pci_read_config Message-ID: <20010120194119.A2547@cae88-102-101.sc.rr.com> In-Reply-To: <XFMail.010120163511.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Sat, Jan 20, 2001 at 04:35:11PM -0800 References: <20010120192739.A2127@cae88-102-101.sc.rr.com> <XFMail.010120163511.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for clearing that one up :) I feel a lot better now :)
Now - do you understand why Nicolas' code always returns 0x6? ;-)
On Sat, Jan 20, 2001 at 04:35:11PM -0800, John Baldwin wrote:
> Look in /sys/compile/<foo> after compiling a kernel, it should be in pci_if.*
> It's a function that ues kobj to lookup the pci_read_config method in the
> parent bus. Look in the PCI code to find the real pci_read_config...
>
> >From sys/dev/pci/pci.c:
>
> DEVMETHOD(pci_read_config, pci_read_config_method),
>
> static u_int32_t
> pci_read_config_method(device_t dev, device_t child, int reg, int width)
> {
> struct pci_devinfo *dinfo = device_get_ivars(child);
> pcicfgregs *cfg = &dinfo->cfg;
>
> return PCIB_READ_CONFIG(device_get_parent(dev),
> cfg->bus, cfg->slot, cfg->func,
> reg, width);
> }
>
> This calls pcib_read_config in the PCI bus driver:
>
> DEVMETHOD(pcib_read_config, nexus_pcib_read_config),
>
> nexus_pcib_read_config(device_t dev, int bus, int slot, int func,
> int reg, int bytes)
> {
> return(pci_cfgregread(bus, slot, func, reg, bytes));
> }
>
> --
>
> John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
> PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
> "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010120194119.A2547>
