Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Nov 2009 20:06:07 -0800
From:      David Wolfskill <david@catwhisker.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: Msg: no prefetched decode (going from stable/6 -> stable/7)
Message-ID:  <20091117040607.GG1589@albert.catwhisker.org>
In-Reply-To: <200911161538.26899.jhb@freebsd.org>
References:  <20091114052429.GF1649@albert.catwhisker.org> <200911161538.26899.jhb@freebsd.org>

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

--9Iq5ULCa7nGtWwZS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 16, 2009 at 03:38:26PM -0500, John Baldwin wrote:
> ...
> > Here's the tail end of diff -u pciconf.{6,7}:
> >=20
> > ...
> > -iwi0@pci2:3:0: class=3D0x028000 card=3D0x27218086 chip=3D0x42208086 re=
v=3D0x05=20
> hdr=3D0x00
> > +iwi0@pci0:2:3:0:       class=3D0x028000 card=3D0x27218086 chip=3D0x422=
08086=20
> rev=3D0x05 hdr=3D0x00
> >      vendor     =3D 'Intel Corporation'
> > -    device     =3D 'MPCI3B  driverIntel PRO/Wireless 2200BG'
> > +    device     =3D 'driverIntel PRO/Wireless 2200BG (MPCI3B)'
> >      class      =3D network
> > -pcib3@pci2:12:0:       class=3D0x060400 card=3D0x00000000 chip=3D0x002=
21011=20
> rev=3D0x04 hdr=3D0x01
> > +pcib3@pci0:2:12:0:     class=3D0x060400 card=3D0x00000000 chip=3D0x002=
21011=20
> rev=3D0x04 hdr=3D0x01
> >      vendor     =3D 'Digital Equipment Corporation'
> > -    device     =3D '21150-AA PCI to PCI Bridge'
> > +    device     =3D 'PCI-PCI Bridge (DC21150-AA)'
> >      class      =3D bridge
> >      subclass   =3D PCI-PCI
> > -xl1@pci3:1:0:  class=3D0x020000 card=3D0x905510b7 chip=3D0x905510b7 re=
v=3D0x30=20
> hdr=3D0x00
> > -    vendor     =3D '3COM Corp, Networking Division'
> > -    device     =3D '3C905-TX Fast Etherlink 10/100 PCI TX NIC'
> > -    class      =3D network
> > -    subclass   =3D ethernet
> > ...
> >  pcib3:   memory decode     0xfa000000-0xfbffffff
> > -pcib3:   prefetched decode 0xfff00000-0xfffff
> > -ACPI: Found matching pin for 3.5.INTA at func 0: 11
> > -ACPI: Found matching pin for 3.1.INTA at func 0: 11
> > -ACPI: Found matching pin for 3.2.INTA at func 0: 11
> > -ACPI: Found matching pin for 3.7.INTA at func 0: 11
> > -ACPI: Found matching pin for 3.8.INTA at func 0: 11
> > +pcib3:   no prefetched decode
>=20
> In this case, newer message is just more correct.  Notice that in the old=
=20
> printf the ending address is less than the starting address for the prefe=
tch=20
> range.  7 is just smart enough to print this out more correctly.  I do wo=
nder=20
> if 7 does better if you disable ACPI?  I'm curious if ACPI somehow thinks=
=20
> that the PCI device is not enabled.  Presumably it would not have made it=
=20
> this far though if that were the case.

OK; I haven't yet tried disabling ACPI.

> Can you do something like 'pciconf -r=20
> pci0:3:1:0 0x0:0x40' under a working (6) and broken (7+) kernel with the=
=20
> docking station attached?

Can do, thanks!  So, first, running:
FreeBSD g1-108.catwhisker.org 6.4-STABLE FreeBSD 6.4-STABLE #700 r199014: S=
at Nov  7 04:28:00 PST 2009     root@g1-101.catwhisker.org:/common/S1/obj/u=
sr/src/sys/CANARY  i386

I issued:

sudo pciconf -r pci2:12:0 0x0:0x40
sudo pciconf -r pci3:1:0 0x0:0x40

(The first was the address of the PCI-PCI bridge; the second, that of the
xl1 NIC.)

Result:

00221011 02900107 06040004 00012008
00000000 00000000 20030302 2280f1f1=20
fbf0fa00 0001fff1 00000000 00000000
00000000 000000dc 00000000 02060000=20
02000000=20
905510b7 02100117 02000030 00002008
0000fc81 fafffc00 00000000 00000000=20
00000000 00000000 00000000 905510b7
fb000000 000000dc 00000000 0a0a010b=20
00000000=20

Then, running:

FreeBSD g1-110.catwhisker.org 7.2-STABLE FreeBSD 7.2-STABLE #9 r199319: Mon=
 Nov 16 06:04:38 PST 2009     root@g1-108.catwhisker.org:/common/S2/obj/usr=
/src/sys/CANARY  i386

I first tried the same commands as above, and got:

00221011 82900107 06040004 00012008
00000000 00000000 20030302 2280f1f1=20
fbf0fa00 0001fff1 00000000 00000000
00000000 000000dc 00000000 06060000=20
02000000=20
pciconf: ioctl(PCIOCREAD): Operation not supported by device

Then I realized that the designation of the PCI-PCI bridge was different
under stable/7 than it was under stable/6, so I tried:

sudo pciconf -r pci0:2:12:0 0x0:0x40
sudo pciconf -r pci0:3:1:0 0x0:0x40

and got:

00221011 82900107 06040004 00012008
00000000 00000000 20030302 2280f1f1=20
fbf0fa00 0001fff1 00000000 00000000
00000000 000000dc 00000000 06060000=20
02000000=20
pciconf: ioctl(PCIOCREAD): Operation not supported by device

Was that useful?

It appears that "pci2:12:0 0x0:0x40" looks quite a bit like
"pci0:2:12:0 0x0:0x40".  Coincidence?  Aliases?

Peace,
david
--=20
David H. Wolfskill				david@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

--9Iq5ULCa7nGtWwZS
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (FreeBSD)

iEYEARECAAYFAksCIS4ACgkQmprOCmdXAD2CBwCfSPOZFymb/5T6JFLHO7EPRGyw
z3sAn0gA/IWAxUjgNgjv4Ov18AP0+ys/
=5ggg
-----END PGP SIGNATURE-----

--9Iq5ULCa7nGtWwZS--



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