Date: Fri, 20 Jan 2012 13:25:17 -0500 From: John Baldwin <jhb@freebsd.org> To: Matthieu Volat <mazhe@alkumuna.eu> Cc: freebsd-stable@freebsd.org Subject: Re: 9.0-Release and Asus P5-NE motherboard Message-ID: <201201201325.17907.jhb@freebsd.org> In-Reply-To: <20120120182552.683bba8b.mazhe@alkumuna.eu> References: <20120120142128.0c6ba578.mazhe@alkumuna.eu> <201201200928.55558.jhb@freebsd.org> <20120120182552.683bba8b.mazhe@alkumuna.eu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, January 20, 2012 12:25:52 pm Matthieu Volat wrote: > On Fri, 20 Jan 2012 09:28:55 -0500 > John Baldwin <jhb@freebsd.org> wrote: > > > On Friday, January 20, 2012 8:21:28 am Matthieu Volat wrote: > > > Hello, > > > > > > For a week, I have been trying to boot the FreeBSD 9 installation media > > (usb, cdrom) on a computer with an Asus P5-NE motherboard (amd64, nvidia MCP51 > > controller), but the kernel fails to initialize correctly. > > > > I think the problem is with the nvidia chipset and MSI support. There's not > > an easy way to fix it via a tunable unfortunately. You can try hacking > > sys/dev/pci/pci.c to disable this code: > > > > #if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) > > /* > > * Enable the MSI mapping window for all HyperTransport > > * slaves. PCI-PCI bridges have their windows enabled via > > * PCIB_MAP_MSI(). > > */ > > if (cfg->ht.ht_slave != 0 && cfg->ht.ht_msimap != 0 && > > !(cfg->ht.ht_msictrl & PCIM_HTCMD_MSI_ENABLE)) { > > device_printf(pcib, > > "Enabling MSI window for HyperTransport slave at pci%d:%d:%d:%d\n", > > cfg->domain, cfg->bus, cfg->slot, cfg->func); > > cfg->ht.ht_msictrl |= PCIM_HTCMD_MSI_ENABLE; > > WREG(cfg->ht.ht_msimap + PCIR_HT_COMMAND, cfg->ht.ht_msictrl, > > 2); > > } > > #endif > > > > -- > > John Baldwin > > Thanks, you are absolutely right, I compiled a kernel disabling MSI-X support and it booted. > > I wonder how this worked previously and not now. From what I see, there is a blacklist to disable unsupported chipsets... In 8.2 we did not have that chunk of code. Some HT chipsets are fixed by this code, some are not. Linux has a lot of quirks for enabling MSI with different HT chipsets that have not been ported to FreeBSD yet. However, I'm largely tempted to just blacklist the chipsets that don't work rather than adding lots of quirks. > Maybe this chipset should be added as a workaround (I wonder if I'm the only one with the problem)... No, there are a few other folks who have run into this, it's just not easy to fix, and I have no way of testing possible fixes. :( > The only references I found about MCP51 and MSI-X (<http://lists.freebsd.org/pipermail/svn-src-head/2010-November/022551.html>) seems to indicates that the chipset should work, but maybe with extra code... > > I'm willing to test patches & so if somebody wants to have a look. > > -- > Matthieu Volat <mazhe@alkumuna.eu> > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201201325.17907.jhb>