Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jan 2001 11:19:03 +0100
From:      Nicolas Souchu <nsouch@alcove.fr>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        "Donald J . Maddox" <dmaddox@sc.rr.com>, freebsd-hackers@FreeBSD.org
Subject:   Re: more info about: odd result of pci_read_config
Message-ID:  <20010121111903.B10148@ontario.alcove-int>
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
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);
> }

On -stable, it calls directly pci_cfgread() with the cfg.

My viapm driver is a kmodule. Could it be that PCI_READ_CONFIG is not
correctly resolved and returns ENXIO which is 0x6?

I'll try to wire it in the kernel.

Nicholas

-- 
Nicolas.Souchu@alcove.fr
Alcôve - Open Source Software Engineer - http://www.alcove.fr


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?20010121111903.B10148>