Re: intel-iommu: CONFIG_DMAR*=y kills my box

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: mark gross
Date: Monday, April 28, 2008 - 5:11 pm

On Sat, Apr 26, 2008 at 04:21:24PM +0200, Gabriel C wrote:

The quickest way is to replace the time_after call in the macro with a
counter to 3_000_000_000 (3-billion) and don't forget to increment it
each time through the IOMMU_WAIT_OP loop to see where its hanging.

You need an ITP and some insight into the workings of BIOS.  (I wouldn't
bother digging any deeper than seeing which DMAR setup step failed in the
early startup of the intel-iommu code.  See IOMMU_WAIT_OP.  It should
use TSC instead of Jiffies.  Your system is stuck in that macro.  Most
likely because your BIOS is buggering up its side of the IOMMU DMAR
equation.

Basically what is happening is that the register set and poll protocol
for talking to the iommu is failing on the poll part of the protocol.
As this is happening in early boot before timers are running you get
stuck there.

I've had this happen on a number of systems so far, and so far its
always a bios thing.  I've put some effort in adding code to detect such
things Like using the TSC instead of jiffies to detect the failure case,
and then trying to un-wrap the DMAR setup code.  I got the TSC thing to
work, which would replace the black screen startup hang with a call to
panic, but unwrapping the DMAR setup safely has been harder for me to
get working.

--mgross

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
intel-iommu: CONFIG_DMAR*=y kills my box, Gabriel C, (Sat Apr 26, 7:21 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, Gabriel C, (Sat Apr 26, 10:27 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Mon Apr 28, 5:11 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Mon Apr 28, 5:29 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, Gabriel C, (Mon Apr 28, 6:20 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Tue Apr 29, 3:53 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, Gabriel C, (Tue Apr 29, 4:04 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, Andrew Morton, (Tue May 6, 1:15 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Wed May 7, 1:58 pm)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Thu May 8, 7:43 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Thu May 8, 9:45 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Thu May 8, 10:54 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, Gabriel C, (Thu May 8, 10:56 am)
Re: intel-iommu: CONFIG_DMAR*=y kills my box, mark gross, (Thu May 8, 11:55 am)