kern/118842: [apic] Boot failure with apic enabled (FreeBSD 7)
David Naylor
naylor.b.david at gmail.com
Thu Jul 17 21:30:04 UTC 2008
The following reply was made to PR kern/118842; it has been noted by GNATS.
From: David Naylor <naylor.b.david at gmail.com>
To: Luoqi Chen <Luoqi.Chen at brion.com>
Cc: "bug-followup at FreeBSD.org" <bug-followup at freebsd.org>,
"dragonsa at highveldmail.co.za" <dragonsa at highveldmail.co.za>,
"jhb at freebsd.org" <jhb at freebsd.org>
Subject: Re: kern/118842: [apic] Boot failure with apic enabled (FreeBSD 7)
Date: Thu, 17 Jul 2008 22:46:04 +0200
--nextPart2810632.UEoOsYPp01
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
IT WORKS!!!
I applied the below patch on FreeBSD-Current (cvsup today) and it works. =20
I am still getting lots of "ata0: stat0=3D0x80 err=3D0x80 lsb=3D0x80 msb=3D=
0x80"=20
messages and the primary console does not change to grey when switching fro=
m=20
kernel messages to userland (does not happen when apic disable). =20
Both hard drives are detected and all the CPU's are detected and working. =
=20
There was a problem previously with ad8 disconnecting and reconnecting. It=
=20
had caused the computer to slow down and even crash once. So far it does n=
ot=20
appear to be a problem...
Thank you :-)
David
On Thursday 17 July 2008 11:44:00 Luoqi Chen wrote:
> I've identified the cause: the SATA device in nForce chipset has the
> HyperTransport MSI mapping capability, and we unconditionally enable the
> MSI->HT mapping even though we don't use MSI in our ATA driver, this like=
ly
> confused the device.
>
> John, it is unclear to me why we enable the MSI->HT mapping at all given
> that we always allocate MSI addresses from local APIC. To utilize HT
> interrupt mechanism, shouldn't we be programming MSI with addresses from
> the HT MSI mapping capability register (the device's or that of a parent
> bridge)?
>
> For those who are having the same problem, please try commenting out the
> MSI mapping enabling code and see if it works for you,
>
> Index: pci.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/sys/dev/pci/pci.c,v
> retrieving revision 1.355.2.2
> diff -u -r1.355.2.2 pci.c
> --- pci.c 12 Feb 2008 20:20:56 -0000 1.355.2.2
> +++ pci.c 17 Jul 2008 09:36:12 -0000
> @@ -564,9 +564,11 @@
> (long long)addr);
> }
>
> +#if 0
> /* Enable MSI -> HT mapping. */
> val |=3D PCIM_HTCMD_MSI_ENABLE;
> WREG(ptr + PCIR_HT_COMMAND, val, 2);
> +#endif
> break;
> }
> break;
>
> Thanks
> -lq
--nextPart2810632.UEoOsYPp01
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
iD8DBQBIf6+RUaaFgP9pFrIRAvu3AJ9Yno10lfwHzG0PYONnaHjIZyGZ9wCghuTp
1dpaz7mAE2Gm7/oKXv4A++Q=
=Rju4
-----END PGP SIGNATURE-----
--nextPart2810632.UEoOsYPp01--
More information about the freebsd-bugs
mailing list