Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2007 20:13:17 +0200
From:      Kurt Jaeger <lists@c0mplx.org>
To:        "Don L. Belcher" <don@siad.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: PCI to PCI Bridge initialization fails or is corrupted
Message-ID:  <20070928181317.GA12479@home.c0mplx.org>
In-Reply-To: <46FD2CFF.4000300@siad.net>
References:  <46F5B918.5040804@siad.net> <46FD2CFF.4000300@siad.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

> If somebody could point out to me where the prefetch decode
> occurs in the code, this would be a big help.

I assume you have

sys/dev/pci/pci_pci.c, version 1.49

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/pci/pci_pci.c?rev=1.49;content-type=text%2Fplain

In line 183f, sc->pmembase is set:

	sc->pmembase  = PCI_PPBMEMBASE(pci_read_config(dev, PCIR_PMBASEH_1, 4),
            pci_read_config(dev, PCIR_PMBASEL_1, 2));

and if sc->pmembase is set, the function call to pcib_is_prefetch_open()
leads to the result you are looking for in line 267:

        if (pcib_is_prefetch_open(sc)) 
            device_printf(dev, "  prefetched decode 0x%jx-0x%jx\n",
              (uintmax_t)sc->pmembase, (uintmax_t)sc->pmemlimit);

But why the pci_read_config() returns something different, I do not know.

-- 
pi@c0mplx.org           +49 171 3101372                        13 years to go !



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070928181317.GA12479>