[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



later,
chris

---------- Forwarded message ----------
Date: Tue, 24 Feb 2004 09:50:02 -0600
From: richard.brunner at amd.com
To: linux-kernel at vger.kernel.org
Subject: RE: IOMMUs was Re: Intel vs AMD x86-64


> -----Original Message-----
&gt; From: Andi Kleen [<a  rel="nofollow" href="mailto:ak";>mailto:ak</a> at suse.de] 

 
&gt; On Opteron the IOMMU code (ab)uses the built in AGPv3 GART in 
&gt; the CPU, which 
&gt; was originally intended for AGP. AMD converted it to be able 
&gt; to remap PCI especially for Linux, which I think deserves applause.
&gt; 
&gt; It works surprisingly well even though it was not designed as 
&gt; a real IOMMU. Of course one of the main advantages of a real 
&gt; IOMMU - preventing arbitary memory corruption from broken 
&gt; devices - is lost because the remapping table is just a hole 
&gt; in the memory. I'm 
&gt; secretly hoping that when there is more support for Linux at 
&gt; chipset vendors they will someday add a bit to isolate all 
&gt; traffic that doesn't go through the GART from the main 
&gt; memory. This way you could get a much more reliable system 
&gt; that can tolerate broken PCI devices at a moderate 
&gt; performance penalty.

Andi is being modest. It was he and Andrea Arcangeli who convinced 
me we had a problem. We found a way to trick the AGP
GART hardware into helping, and then they turned it into a 
&quot;real&quot; solution and helped us work the warts out of the BIOS 
to enable it.

-
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  <a  rel="nofollow" href="http://vger.kernel.org/majordomo-info.html";>http://vger.kernel.org/majordomo-info.html</a>
Please read the FAQ at  <a  rel="nofollow" href="http://www.tux.org/lkml/";>http://www.tux.org/lkml/</a>


</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<hr>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<ul>
<li>Prev by Date:
<strong><a href="msg00880.html">[ale] Linux vs XP Embedded</a></strong>
</li>
<li>Next by Date:
<strong><a href="msg00882.html">[ale] ALE NW presentation for March</a></strong>
</li>
<li>Previous by thread:
<strong><a href="msg00949.html">[ale] Laptop questions before purchase.</a></strong>
</li>
<li>Next by thread:
<strong><a href="msg00882.html">[ale] ALE NW presentation for March</a></strong>
</li>
<li>Index(es):
<ul>
<li><a href="maillist.html#00881"><strong>Date</strong></a></li>
<li><a href="threads.html#00881"><strong>Thread</strong></a></li>
</ul>
</li>
</ul>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
</body>
</html>