Re: WARNING: at drivers/iommu/dmar.c:484 warn_invalid_dmar withIntel Motherboard

From: Chris Wright
Date: Tue Jul 09 2013 - 20:06:48 EST


* Guenter Roeck (linux@xxxxxxxxxxxx) wrote:
> On Tue, Jul 09, 2013 at 04:22:52PM -0700, Chris Wright wrote:
> > * Guenter Roeck (linux@xxxxxxxxxxxx) wrote:
> > > On Tue, Jul 09, 2013 at 03:05:39PM -0600, Bjorn Helgaas wrote:
> > > > [+cc Joerg, David, iommu list]
> > > >
> > > > On Tue, Jul 9, 2013 at 2:24 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > > > > I started seeing this problem after updating the BIOS trying fix another issue,
> > > > > though I may have missed it earlier.
> > > > >
> > > > > I understand this is a BIOS bug. Would be great if someone can pass this on
> > > > > to Intel BIOS engineers.
> > > >
> > > > Maybe. It'd be nice if Linux handled it better, though.
> > > >
> > > If anyone has an idea how to do that, I'll be happy to write a patch.
> >
> > I'm not sure there's much you can do. The BIOS is saying there's a DMAR
> > unit, and then saying the registers are at addr 0x0. The kernel is
> > simply warning you about the invalid DMAR table entry.
> >
> > One thing I've seen is the BIOS zeroing the base register address when
> > VT-d is disabled in BIOS. So, Guenter, a "fix" may be simply enabling
> > VT-d in the BIOS.
>
> Ah, yes, I think I may have that disabled. I'll check it tonight.
>
> Does that really warrant a traceback, or would a warning message be more
> appropriate (possibly telling the user to enable VT-d) ?

Bottom line, the BIOS is providing what we're seeing as invalid tables.
If it's a BIOS attempt to disable VT-d is hard to glean from invalid
tables, and not all BIOS give interface to enable/disable VT-d.

It is a warning message, BTW. Guess I'd be inclined to leave as it is.

thanks,
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/