doc/ru/projects/busdma/index.sgml
Hiroki Sato 5305bb945d www cleanup mega commit:
- Move includes.nav*.sgml to share/sgml/navibar.ent and
   <lang>/share/sgml/navibar.l10n.ent.

 - Move includes.sgml and includes.xsl to
   share/sgml/common.ent, share/sgml/header.ent, <lang>/share/sgml/l10n.ent,
   and <lang>/share/sgml/header.l10n.ent.

 - Move most of XSLT libraries to share/sgml/*.xsl and
   <lang>/share/sgml/*.xsl.

 - Move news.xml and other *.xml files for the similar purpose
   to share/sgml/*.xml and <lang>/share/sgml/*.xml.

 - Switch to use a custom DTD for HTML document.  Now we use
   "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension", which is
   HTML 4.01 + some entities previously pulled via
   "<!ENTITY % includes SYSTEM "includes.sgml"> %includes;" line.
   The location of entity file will be resolved by using catalog file.

 - Add DOCTYPE declearation to XML documents.  This makes the followings
   possible:

   * Use of &foo; entities for SGML in an XML file instead of defining
     {$foo} as the same content.

   * &symbolic; entities for Latin characters.

 - Duplicated information between SGML and XML, or English and
   translated doc, has been removed as much as possible.
2006-08-19 21:26:51 +00:00

1283 lines
31 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
The FreeBSD Russian Documentation Project
$FreeBSDru: frdp/www/ru/projects/busdma/index.sgml,v 1.10 2005/06/16 17:00:05 andy Exp $
Original revision: 1.102
-->
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/ru/projects/busdma/index.sgml,v 1.6 2005/10/05 20:59:56 simon Exp $">
<!ENTITY title "ðÒÏÅËÔ ÁÄÁÐÔÁÃÉÉ ÄÒÁÊ×ÅÒÏ× FreeBSD Ë busdma É SMPng">
<!ENTITY email 'mux'>
<!ENTITY % navinclude.developers "INCLUDE">
<!-- Status levels -->
<!ENTITY status.na "<font color=green>îÅ ÐÒÉÍÅÎÉÍÏ</font>">
<!ENTITY status.done "<font color=green>÷ÙÐÏÌÎÅÎÏ</font>">
<!ENTITY status.wip "<font color=blue>÷ÙÐÏÌÎÑÅÔÓÑ</font>">
<!ENTITY status.untested "<font color=orange>ôÒÅÂÕÅÔ ÔÅÓÔÉÒÏ×ÁÎÉÑ</font>">
<!ENTITY status.new "<font color=red>îÅ ÓÄÅÌÁÎÏ</font>">
<!ENTITY status.unknown "<font color=red>îÅÉÚ×ÅÓÔÎÏ</font>">
<!-- The list of contributors was moved to a separate file so that it can
be used by other documents in the FreeBSD web site. -->
<!ENTITY % developers SYSTEM "../../developers.sgml"> %developers;
]>
<html>
&header;
<h2>óÏÄÅÒÖÁÎÉÅ</h2>
<ul>
<li><a href="#goal">ãÅÌØ ÐÒÏÅËÔÁ</a></li>
<li><a href="#resources">éÎÆÏÒÍÁÃÉÏÎÎÙÅ ÒÅÓÕÒÓÙ É ÓÓÙÌËÉ</a></li>
<li><a href="#platform-status">óÏÓÔÏÑÎÉÅ ÐÏ ÐÏÄÄÅÒÖËÅ ÐÌÁÔÆÏÒÍ</a></li>
<li><a href="#ifnet-status">óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÓÅÔÅ×ÙÈ
ÉÎÔÅÒÆÅÊÓÏ×</a></li>
<li><a href="#storage-status">óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÕÓÔÒÏÊÓÔ×
ÈÒÁÎÅÎÉÑ</a></li>
<li><a href="#misc-status">óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÒÁÚÎÙÈ ÕÓÔÒÏÊÓÔ×</a></li>
<li><a href="#doc-status">óÏÓÔÏÑÎÉÅ ÐÏ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÀ</a></li>
</ul>
<a name="goal"></a>
<h2>ãÅÌØ ÐÒÏÅËÔÁ</h2>
<p><b>busdma</b></p>
<p>éÎÔÅÒÆÅÊÓÙ busdma ÐÏÚ×ÏÌÑÀÔ ÄÒÁÊ×ÅÒÁÍ ÁÐÐÁÒÁÔÎÙÈ ÕÓÔÒÏÊÓÔ× ÒÁÂÏÔÁÔØ ÎÁ
ÒÁÚÌÉÞÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÂÅÚ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ËÏÄÉÒÏ×ÁÎÉÑ ÓÐÅÃÉÆÉÞÎÙÈ ÄÌÑ
ÁÐÐÁÒÁÔÎÙÈ ÐÌÁÔÆÏÒÍ ÍÅÔÏÄÏ× ÄÏÓÔÕÐÁ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ × ÄÒÁÊ×ÅÒÁÈ. üÔÏ
ÓÎÉÖÁÅÔ ÚÁÔÒÁÔÙ ÎÁ ÐÏÄÄÅÒÖËÕ ÄÒÁÊ×ÅÒÏ× ÄÌÑ ÒÁÚÎÙÈ ÐÌÁÔÆÏÒÍ, É Õ×ÅÌÉÞÉ×ÁÅÔ
×ÅÒÏÑÔÎÏÓÔØ ÔÏÇÏ, ÞÔÏ ÄÒÁÊ×ÅÒ ÂÕÄÅÔ "ÐÒÏÓÔÏ ÒÁÂÏÔÁÔØ" ÎÁ ÎÏ×ÏÊ ÐÌÁÔÆÏÒÍÅ.
íÏÄÉÆÉËÁÃÉÑ ÄÒÁÊ×ÅÒÁ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ busdma Ñ×ÌÑÅÔÓÑ ÄÏÓÔÁÔÏÞÎÏ
ÏÐÒÅÄÅÌ£ÎÎÙÍ ÐÒÏÃÅÓÓÏÍ, É ÎÅ ÔÒÅÂÕÅÔ ÇÌÕÂÏËÉÈ ÚÎÁÎÉÊ ÎÉ ÄÒÁÊ×ÅÒÁ
ÕÓÔÒÏÊÓÔ×Á, ÎÉ ÆÕÎËÃÉÊ busdma. äÌÑ busdma, ÉÓÐÏÌØÚÕÅÍÏÇÏ ×Ï FreeBSD, ËÁË
ÐÒÁ×ÉÌÏ, ÔÒÅÂÕÅÔÓÑ ×ÎÅÓÅÎÉÅ ÉÚÍÅÎÅÎÉÊ Ä×ÕÈ ÔÉÐÏ×: ÁÄÁÐÔÁÃÉÑ ÒÅÁÌÉÚÁÃÉÉ
busdma Ë ÒÁÂÏÔÅ ÎÁ ×ÓÅÈ ÐÌÁÔÆÏÒÍÁÈ, É ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÄÒÁÊ×ÅÒÏ× Ë
ÉÓÐÏÌØÚÏ×ÁÎÉÀ ÜÔÏÊ ÔÅÈÎÏÌÏÇÉÉ. ôÁËÉÍ ÖÅ ÏÂÒÁÚÏÍ ÉÎÆÏÒÍÁÃÉÑ Ï ÓÏÓÔÏÑÎÉÉ
ÜÔÏÇÏ ÐÒÏÅËÔÁ ÒÁÚÂÉÔÁ ÎÁ ÐÏÄÄÅÒÖËÕ ÐÌÁÔÆÏÒÍ É ÐÏÄÄÅÒÖËÕ ÄÒÁÊ×ÅÒÏ×
(ÏÔÓÏÒÔÉÒÏ×ÁÎÎÙÈ ÐÏ ËÁÔÅÇÏÒÉÑÍ). äÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÜÔÏÊ ÒÁÂÏÔÙ ÎÅÏÂÈÏÄÉÍ
ÔÝÁÔÅÌØÎÙÊ ÁÕÄÉÔ ÓÉÓÔÅÍÎÙÈ ÄÒÁÊ×ÅÒÏ× ÕÓÔÒÏÊÓÔ×, Á ÚÁÔÅÍ ÐÒÉÌÏÖÅÎÉÅ ÕÓÉÌÉÊ
Ë ÐÒÅÏÂÒÁÚÏ×ÁÎÉÀ ÄÒÁÊ×ÅÒÏ×.</p>
<p><b>INTR_MPSAFE</b></p>
<p>äÒÁÊ×ÅÒÙ ÏÂÏÒÕÄÏ×ÁÎÉÑ ÒÅÇÉÓÔÒÉÒÕÀÔ Ó×ÏÉ ÏÂÒÁÂÏÔÞÉËÉ ÐÒÅÒÙ×ÁÎÉÊ ÐÒÉ ÐÏÍÏÝÉ
ÆÕÎËÃÉÉ <code>bus_setup_intr()</code>. õÓÔÁÎÏ×ËÁ ÆÌÁÇÁ
<code>INTR_MPSAFE</code> ÕËÁÚÙ×ÁÅÔ ËÏÄÕ ÏÂÒÁÂÏÔËÉ ÐÒÅÒÙ×ÁÎÉÊ ÓÉÓÔÅÍÙ ÎÁ
×ÙÚÏ× Å£ ÐÒÏÃÅÄÕÒÙ ÂÅÚ ×ËÌÀÞÅÎÉÑ ÓÅÍÁÆÏÒÁ Giant. üÔÏ ÄÁ£Ô ÚÎÁÞÉÔÅÌØÎÙÊ
ÐÒÉÒÏÓÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ × SMP-ÓÉÓÔÅÍÁÈ.</p>
<p>äÒÁÊ×ÅÒÙ ÍÏÇÕÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÜÔÏÔ ÆÌÁÇ, ÄÁÖÅ ÅÓÌÉ ÏÎÉ ÎÅ Ñ×ÌÑÀÔÓÑ
ÐÏÌÎÏÓÔØÀ ÉÚÏÌÉÒÏ×ÁÎÎÙÍÉ, ÅÓÌÉ ÔÏÌØËÏ ÉÈ ÏÂÒÁÂÏÔÞÉË ÐÒÅÒÙ×ÁÎÉÊ ÎÅ
ÏÂÒÁÝÁÅÔÓÑ Ë ÄÒÕÇÉÍ ÓÔÒÕËÔÕÒÁÍ ÄÁÎÎÙÈ × ÄÒÁÊ×ÅÒÅ. ðÒÏÓÔÙÍ ÓÐÏÓÏÂÏÍ
ÏÂÅÓÐÅÞÉÔØ ÜÔÏ Ñ×ÌÑÅÔÓÑ ÐÒÏ×ÅÒËÁ É ÓÂÒÏÓ ÒÅÇÉÓÔÒÏ× ÓÏÓÔÏÑÎÉÑ ÁÐÐÁÒÁÔÎÙÈ
ÐÒÅÒÙ×ÁÎÉÊ, Á ÚÁÔÅÍ ÐÌÁÎÉÒÏ×ÁÎÉÅ ÏÂÒÁÂÏÔËÉ ÐÒÅÒÙ×ÁÎÉÑ × ÏÞÅÒÅÄÉ ÚÁÄÁÞ
(taskqueue) ÉÌÉ ÐÏÔÏËÅ ×ÙÐÏÌÎÅÎÉÑ ÑÄÒÁ (kernel thread).</p>
<p><b>ïÔÄÅÌÅÎÉÅ SMPng</b></p>
<p>äÒÁÊ×ÅÒÙ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÅÍÁÆÏÒÙ É sx-ÂÌÏËÉÒÏ×ËÉ ÄÌÑ ÚÁÝÉÔÙ
ÓÏÂÓÔ×ÅÎÎÙÈ ÓÔÒÕËÔÕÒ ÄÁÎÎÙÈ É ÁÐÐÁÒÁÔÎÙÈ ÒÅÇÉÓÔÒÏ× ÏÔ ÐÁÒÁÌÌÅÌØÎÏ
×ÙÐÏÌÎÑÀÝÉÈÓÑ ÐÏÔÏËÏ×. ïÐÅÒÁÃÉÉ Ó ÓÅÍÁÆÏÒÁÍÉ ÎÅÓËÏÌØËÏ ÒÅÓÕÒÓÏ£ÍËÉ, ÔÁË
ÞÔÏ ÈÏÒÏÛÅÊ ÓÔÒÁÔÅÇÉÅÊ Ñ×ÌÑÅÔÓÑ ËÏÍÂÉÎÉÒÏ×ÁÎÉÅ ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÏÇÏ
ËÏÌÉÞÅÓÔ×Á ÁÔÏÍÁÒÎÙÈ ÏÐÅÒÁÃÉÊ × ÏÄÎÕ ÏÐÅÒÁÃÉÀ ÚÁÈ×ÁÔÁ ÓÅÍÁÆÏÒÁ.</p>
<p><b>ÐÏÄÄÅÒÖËÁ p!=a</b></p>
<p>ðÏÄÄÅÒÖËÁ Intel PAE ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÕËÁÚÁÔÅÌÉ É ÆÉÚÉÞÅÓËÉÅ ÁÄÒÅÓÁ ÉÍÅÌÉ
ÒÁÚÎÙÊ ÒÁÚÍÅÒ. üÔÏ ÚÎÁÞÉÔ, ÞÔÏ ÄÒÁÊ×ÅÒÙ ÄÏÌÖÎÙ ÂÙÔØ ÐÉÓÁÔØÓÑ Ó
ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ vm_paddr_t ÉÌÉ bus_addr_t, ÂÅÚ ÐÒÅÄÐÏÌÏÖÅÎÉÊ Ï ÔÏÍ, ÞÔÏ
ÆÉÚÉÞÅÓËÉÅ ÁÄÒÅÓÁ ÍÏÇÕÔ ÂÙÔØ ÐÒÅÄÓÔÁ×ÌÅÎÙ ÐÒÉ ÐÏÍÏÝÉ void *. ëÒÏÍÅ ÔÏÇÏ,
ÓÔÒÏËÉ ÆÏÒÍÁÔÏ× É ÏÐÅÒÁÃÉÉ ÐÒÉ×ÅÄÅÎÉÑ ÔÉÐÏ× ÄÏÌÖÎÙ ÐÒÉÍÅÎÑÔØÓÑ Ó
ÏÓÔÏÒÏÖÎÏÓÔØÀ.</p>
<p>ðÅÒÅÞÅÎØ ÚÁÄÁÞ ÎÉÖÅ ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÌÎÙÍ, ÎÏ ÐÒÅÄÓÔÁ×ÌÑÅÔ ÓÏÂÏÊ ÎÁÂÏÒ
ÉÍÅÀÝÉÈ ÏÔÎÏÛÅÎÉÅ Ë ÄÅÌÕ É/ÉÌÉ ×ÁÖÎÙÈ ËÏÍÐÏÎÅÎÔÏ× ÏÂÝÅÊ ÒÁÂÏÔÙ. ðÏÌÅ
"ïÔ×ÅÔÓÔ×ÅÎÎÙÊ" ÏÐÒÅÄÅÌÑÅÔ ÒÁÚÒÁÂÏÔÞÉËÁ, ËÏÔÏÒÙÊ ÉÚßÑ×ÉÌ ÖÅÌÁÎÉÅ ÏÔ×ÅÞÁÔØ
ÚÁ ×ÙÐÏÌÎÅÎÉÅ ËÏÎËÒÅÔÎÏÊ ÚÁÄÁÞÉ; ÜÔÏ ÎÅ ÉÓËÌÀÞÁÅÔ ÕÞÁÓÔÉÑ ÄÒÕÇÉÈ, ÎÏ
ÐÒÅÄÐÏÌÁÇÁÅÔ ËÏÏÒÄÉÎÁÃÉÀ Ó ÏÔ×ÅÔÓÔ×ÅÎÎÙÍ ÄÌÑ ÉÚÂÅÖÁÎÉÑ ÎÅÎÕÖÎÏÇÏ
ÄÕÂÌÉÒÏ×ÁÎÉÑ ÒÁÂÏÔÙ É ÍÁËÓÉÍÁÌØÎÏ ÂÙÓÔÒÏÇÏ ÐÒÏÄ×ÉÖÅÎÉÑ ×ÐÅÒ£Ä. åÓÌÉ
ÎÁÞÁÔÁ ÎÏ×ÁÑ ÒÁÂÏÔÁ ÐÒÉÌÉÞÎÏÇÏ ÏÂߣÍÁ, ÉÌÉ ÚÁÑ×ÌÅÎÎÁÑ ÏËÁÚÁÌÁÓØ
ÎÅ×ÏÓÔÒÅÂÏ×ÁÎÎÏÊ, ÔÏ ÓÔÏÉÔ ÏÐÏ×ÅÓÔÉÔØ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ &a.mux;, ÞÔÏÂÙ
×ÙÑÓÎÉÔØ, ÉÍÅÌÏÓØ ÌÉ Ä×ÉÖÅÎÉÅ ×ÐÅÒ£Ä.</p>
<p>óÍÙÓÌ ÐÏÌÑ ÄÁÔÙ ÍÅÎÑÅÔÓÑ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÓÏÓÔÏÑÎÉÑ ÒÁÂÏÔÙ. äÌÑ
×ÙÐÏÌÎÅÎÎÙÈ ÒÁÂÏÔ ÏÎÁ ÏÚÎÁÞÁÅÔ ÄÁÔÕ ÏËÏÎÞÁÎÉÑ ÉÌÉ ÓÏÏÂÝÅÎÉÑ ÏÂ ÏËÏÎÞÁÎÉÉ.
äÌÑ ÚÁÄÁÞ, ÎÁÈÏÄÑÝÉÈÓÑ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ, ÏÎÏ ÏÂÏÚÎÁÞÁÅÔ ÄÁÔÕ
ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ ÐÏ ÚÁÄÁÞÅ. äÌÑ ÏÓÔÁÎÏ×É×ÛÉÈÓÑ ÚÁÄÁÞ ÏÎÁ
ÏÚÎÁÞÁÅÔ ÄÁÔÕ, ËÏÇÄÁ ÜÔÁ ÚÁÄÁÞÁ ÂÙÌÁ ÏÂßÑ×ÌÅÎÁ ÚÁÂÒÏÛÅÎÎÏÊ. äÌÑ ÎÏ×ÙÈ
ÚÁÄÁÞ ÜÔÏ ÐÏÌÅ ÏÚÎÁÞÁÅÔ ÄÁÔÕ ÄÏÂÁ×ÌÅÎÉÑ ÚÁÄÁÞÉ Ë ÓÐÉÓËÕ.</p>
<p>úÁÄÁÞÉ ÏÔÓÏÒÔÉÒÏ×ÁÎÙ ÐÏ ÓÏÓÔÏÑÎÉÀ, Á ÚÁÔÅÍ ÐÏ ÄÁÔÅ.</p>
<a name="resources"></a>
<h2>éÎÆÏÒÍÁÃÉÏÎÎÙÅ ÒÅÓÕÒÓÙ É ÓÓÙÌËÉ</h2>
<p>îÁÂÏÒ ÓÔÒÁÎÉà ÓÐÒÁ×ÏÞÎÏÊ ÓÉÓÔÅÍÙ, Ó×ÑÚÁÎÎÙÈ Ó ÜÔÉÍ ÐÒÏÅËÔÏÍ, ÍÏÖÎÏ
ÎÁÊÔÉ ÚÄÅÓØ:</p>
<ul>
<li>òÁÓÛÉÒÅÎÉÑ ÆÉÚÉÞÅÓËÉÈ ÁÄÒÅÓÏ× - <a
href="http://www.freebsd.org/cgi/man.cgi?query=pae&amp;apropos=0&amp;sektion=4&amp;manpath=FreeBSD+6.0-current">
pae(4)</a></li>
<li>éÎÔÅÒÆÅÊÓ ÏÔÏÂÒÁÖÅÎÉÑ DMA, ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÁÒÈÉÔÅËÔÕÒÙ É ÛÉÎÙ - <a
href="http://www.freebsd.org/cgi/man.cgi?query=busdma&amp;apropos=0&amp;sektion=9&amp;manpath=FreeBSD+6.0-current">
bus_dma(9)</a></li>
<li>íÁÛÉÎÎÏ-ÚÁ×ÉÓÉÍÁÑ ÞÁÓÔØ ÓÉÓÔÅÍÙ ×ÉÒÔÕÁÌØÎÏÊ ÐÁÍÑÔÉ (VM) - <a
href="http://www.freebsd.org/cgi/man.cgi?query=pmap&amp;apropos=0&amp;sektion=9&amp;manpath=FreeBSD+6.0-current">
pmap(9)</a></li>
<li>æÕÎËÃÉÉ ÕÐÒÁ×ÌÅÎÉÑ ÒÅÓÕÒÓÁÍÉ - <a
href="http://www.freebsd.org/cgi/man.cgi?query=rman&amp;apropos=0&amp;sektion=9&amp;manpath=FreeBSD+6.0-current">
rman(9)</a></li>
</ul>
<a name="platform-status"></a>
<h2>óÏÓÔÏÑÎÉÅ ÐÏ ÐÏÄÄÅÒÖËÅ ÐÌÁÔÆÏÒÍ</h2>
<table class="tblbasic">
<tr>
<th>úÁÄÁÞÁ</th>
<th>ïÔ×ÅÔÓÔ×ÅÎÎÙÊ</th>
<th>ðÏÓÌÅÄÎÅÅ ÏÂÎÏ×ÌÅÎÉÅ</th>
<th>óÏÓÔÏÑÎÉÅ</th>
<th>ðÒÉÍÅÞÁÎÉÑ</th>
</tr>
<tr>
<td>alpha</td>
<td>&a.gallatin;</td>
<td>10 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>÷ ÓÉÓÔÅÍÁÈ Ó ÂÏÌØÛÉÍ ÏÂߣÍÏÍ ÏÐÅÒÁÔÉ×ÎÏÊ ÐÁÍÑÔÉ ÍÏÇÕÔ ÂÙÔØ
ÐÒÏÂÌÅÍÙ.</td>
</tr>
<tr>
<td>amd64</td>
<td>&a.peter;</td>
<td>1 ÉÀÌÑ 2003</td>
<td>&status.done;</td>
<td>ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÌÎÏÓÔØÀ.</td>
</tr>
<tr>
<td>ia64</td>
<td>&a.marcel;</td>
<td>10 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>÷ ÓÉÓÔÅÍÁÈ Ó ÂÏÌØÛÉÍ ÏÂߣÍÏÍ ÏÐÅÒÁÔÉ×ÎÏÊ ÐÁÍÑÔÉ ÍÏÇÕÔ ÂÙÔØ
ÐÒÏÂÌÅÍÙ.</td>
</tr>
<tr>
<td>i386</td>
<td>&a.sam;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÌÎÏÓÔØÀ.</td>
</tr>
<tr>
<td>powerpc</td>
<td>&a.hmp;</td>
<td>15 ÑÎ×ÁÒÑ 2003</td>
<td>&status.done;</td>
<td>ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÌÎÏÓÔØÀ.</td>
</tr>
<tr>
<td>sparc64</td>
<td>&a.tmm;</td>
<td>6 ÑÎ×ÁÒÑ 2003</td>
<td>&status.done;</td>
<td>ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÌÎÏÓÔØÀ.</td>
</tr>
</table>
<a name="ifnet-status"></a>
<h2>óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÓÅÔÅ×ÙÈ ÉÎÔÅÒÆÅÊÓÏ×</h2>
<table class="tblbasic">
<tr>
<th>äÒÁÊ×ÅÒ</th>
<th>ïÔ×ÅÔÓÔ×ÅÎÎÙÊ</th>
<th>ðÏÓÌÅÄÎÅÅ ÏÂÎÏ×ÌÅÎÉÅ</th>
<th>busdma</th>
<th>INTR_MPSAFE</th>
<th>ïÔÄÅÌÅÎÉÅ SMPng</th>
<th>a!=p</th>
<th>óÏÓÔÏÑÎÉÅ 4.x</th>
<th>úÁÍÅÞÁÎÉÑ</th>
</tr>
<tr>
<td>if_ar</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>kvtop()</td>
</tr>
<tr>
<td>if_bge</td>
<td>&a.wpaul;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_cp</td>
<td>&a.rik;</td>
<td>24 ÉÀÎÑ 2004</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_cs</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_ct</td>
<td>&a.rik;</td>
<td>24 ÉÀÎÑ 2004</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_cx</td>
<td>&a.rik;</td>
<td>24 ÉÀÎÑ 2004</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_dc</td>
<td>&a.mux;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.untested;</td>
<td>&status.new;</td>
<td>ðÏÄ ×ÏÐÒÏÓÏÍ ÉÓÐÏÌØÚÏ×ÁÎÉÅ MTX_RECURSE × ÓÌÕÞÁÅ MPSAFE</td>
</tr>
<tr>
<td>if_de</td>
<td>&a.mux;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_ed</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>kvtop()</td>
</tr>
<tr>
<td>if_em</td>
<td>&a.pdeuskar;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_en</td>
<td>&a.harti;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.untested;</td>
<td>&status.new;</td>
<td>âÌÏËÉÒÏ×ËÁ ÒÅÁÌÉÚÏ×ÁÎÁ; ÅÝ£ ÎÅ ÐÏÍÅÞÅÎÁ ËÁË INTR_MPSAFE?</td>
</tr>
<tr>
<td>if_ep</td>
<td>&a.imp;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.na;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.na;</td>
<td>íØÀÔÅËÓ ÐÏÍÅÞÅÎ ËÁË MTX_RECURSE.</td>
</tr>
<tr>
<td>if_ex</td>
<td>&a.imp;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.na;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.na;</td>
<td>ÐÏÌÎÏÓÔØÀ ÎÅ ÉÓÓÌÅÄÏ×ÁÎÁ.</td>
</tr>
<tr>
<td>if_fatm</td>
<td>&a.harti;</td>
<td>20 ÉÀÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.untested;</td>
<td>&status.untested;</td>
<td>&status.untested;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_fxp</td>
<td>&a.mux;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_fwe</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_gem</td>
<td>&a.tmm;</td>
<td>6 ÑÎ×ÁÒÑ 2003</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_hatm</td>
<td>&a.harti;</td>
<td>20 ÉÀÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.untested;</td>
<td>&status.untested;</td>
<td>&status.untested;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_hme</td>
<td>&a.tmm;</td>
<td>30 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_idt</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_lge</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_lnc</td>
<td>&a.obrien;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(). ðÏÖÁÌÕÊÓÔÁ, ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ/ÏÂÏÒÕÄÏ×ÁÎÉÑ
ÏÂÒÁÔÉÔÅÓØ Ë &a.phk;.</td>
</tr>
<tr>
<td>if_mn</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(). ðÏÖÁÌÕÊÓÔÁ, ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ/ÏÂÏÒÕÄÏ×ÁÎÉÑ
ÏÂÒÁÔÉÔÅÓØ Ë &a.phk;.</td>
</tr>
<tr>
<td>if_my</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_nge</td>
<td>&nbsp;</td>
<td>16 ÓÅÎÔÑÂÒÑ 2004</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_pcn</td>
<td>&a.obrien;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(); ÂÌÏËÉÒÏ×ËÁ ÒÅÁÌÉÚÏ×ÁÎÁ; ÎÅ ÐÏÍÅÞÅÎÏ ËÁË INTR_MPSAFE?
Mutex ÐÏÍÅÞÅÎ ËÁË MTX_RECURSE.</td>
</tr>
<tr>
<td>if_pdq</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>ÐÏ ÂÏÌØÛÅÊ ÞÁÓÔÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ busdma, ËÒÏÍÅ vtophys()</td>
</tr>
<tr>
<td>if_re</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.na;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_rl</td>
<td>&a.wpaul;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_sf</td>
<td>&nbsp;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(); ÂÌÏËÉÒÏ×ËÁ ÒÅÁÌÉÚÏ×ÁÎÁ; ÎÅ ÐÏÍÅÞÅÎÏ ËÁË INTR_MPSAFE?
Mutex ÐÏÍÅÞÅÎ ËÁË MTX_RECURSE.</td>
</tr>
<tr>
<td>if_sis</td>
<td>&a.wpaul;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>íØÀÔÅËÓ ÐÏÍÅÞÅÎ ËÁË MTX_RECURSE.</td>
</tr>
<tr>
<td>if_sk</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_sr</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_ste</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_ti</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_tl</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_tx</td>
<td>&a.mux;</td>
<td>19 ÁÐÒÅÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.untested;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>if_txp</td>
<td>&a.will;</td>
<td>18 ÉÀÌÑ 2003</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_vr</td>
<td>&nbsp;</td>
<td>23 ÁÐÒÅÌÑ 2004</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_wb</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_wi</td>
<td>&a.sam;, &a.imp;</td>
<td>4 ÎÏÑÂÒÑ 2003</td>
<td>&status.unknown;</td>
<td>&status.done;</td>
<td>&status.unknown;</td>
<td>&status.unknown;</td>
<td>&status.unknown;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>if_xl</td>
<td>&a.mux;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
</table>
<a name="storage-status"></a>
<h2>óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÕÓÔÒÏÊÓÔ× ÈÒÁÎÅÎÉÑ</h2>
<table class="tblbasic">
<tr>
<th>äÒÁÊ×ÅÒ</th>
<th>ïÔ×ÅÔÓÔ×ÅÎÎÙÊ</th>
<th>ðÏÓÌÅÄÎÅÅ ÏÂÎÏ×ÌÅÎÉÅ</th>
<th>busdma</th>
<th>INTR_MPSAFE</th>
<th>ïÔÄÅÌÅÎÉÅ SMPng</th>
<th>a!=p</th>
<th>óÏÓÔÏÑÎÉÅ 4.x</th>
<th>ðÒÉÍÅÞÁÎÉÑ</th>
</tr>
<tr>
<td>aac</td>
<td>&a.scottl;</td>
<td>31 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>îÅ ÐÏÌÎÏÓÔØÀ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÒÑÄÏË ÓÌÅÄÏ×ÁÎÉÑ ÂÁÊÔÏ× endian</td>
</tr>
<tr>
<td>adv</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>aha</td>
<td>&nbsp;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>éÓÐÏÌØÚÕÅÔ BUSDMA, ÎÏ ÍÏÖÅÔ ÐÕÔÁÔØ ÁÄÒÅÓ ÛÉÎÙ Ó ÁÄÒÅÓÏÍ ÈÏÓÔÁ</td>
</tr>
<tr>
<td>ahb</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ahc</td>
<td>&a.gibbs;</td>
<td>31 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ahd</td>
<td>&a.gibbs;</td>
<td>31 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>amd</td>
<td>&nbsp;</td>
<td>14 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>amr</td>
<td>&a.scottl;</td>
<td>30 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>asr</td>
<td>&nbsp;</td>
<td>4 ÑÎ×ÁÒÑ 2003</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(). ôÒÅÂÕÅÔ ÂÏÌØÛÏÊ ÐÅÒÅÄÅÌËÉ. öÅÌÁÔÅÌØÎÁ ÎÏ×ÁÑ
ÔÅÈÎÏÌÏÇÉÑ I2O.</td>
</tr>
<tr>
<td>ata</td>
<td>&a.sos;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>buslogic</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>ciss</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ct</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>dpt</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>ida</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>iir</td>
<td>&nbsp;</td>
<td>30 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>ôÒÅÂÕÅÔ ÂÏÌØÛÉÈ ÕÓÉÌÉÊ ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó API busdma.</td>
</tr>
<tr>
<td>isp</td>
<td>&nbsp;</td>
<td>8 ÆÅ×ÒÁÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ips</td>
<td>&a.scottl;</td>
<td>30 ÑÎ×ÁÒÑ 2005</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>mlx</td>
<td>&a.scottl;</td>
<td>8 ÆÅ×ÒÁÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>mly</td>
<td>&a.scottl;</td>
<td>8 ÆÅ×ÒÁÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>mpt</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ncr</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(). ðÏÖÁÌÕÊÓÔÁ, ÏÂÒÁÔÉÔÅÓØ Ë &a.phk; ÄÌÑ ×ÙÑÓÎÅÎÉÑ
×ÏÚÍÏÖÎÏÓÔÉ ÐÏÌÕÞÉÔØ ÏÂÏÒÕÄÏ×ÁÎÉÅ.</td>
</tr>
<tr>
<td>pst</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>stg</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>ðÏ ËÒÁÊÎÅÊ ÍÅÒÅ ×ÙÇÌÑÄÉÔ ËÁË ÈÏÒÏÛÏ ÒÁÂÏÔÁÀÝÉÊ.</td>
</tr>
<tr>
<td>sym</td>
<td>&nbsp;</td>
<td>19 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>trm</td>
<td>&a.cognet;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>twe</td>
<td>&nbsp;</td>
<td>9 ÄÅËÁÂÒÑ 2002</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>wds</td>
<td>&nbsp;</td>
<td>2 ÆÅ×ÒÁÌÑ 2005</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
</table>
<a name="misc-status"></a>
<h2>óÏÓÔÏÑÎÉÅ ÐÏ ÄÒÁÊ×ÅÒÁÍ ÒÁÚÎÙÈ ÕÓÔÒÏÊÓÔ×</h2>
<table class="tblbasic">
<tr>
<th>äÒÁÊ×ÅÒ</th>
<th>ïÔ×ÅÔÓÔ×ÅÎÎÙÊ</th>
<th>ðÏÓÌÅÄÎÅÅ ÏÂÎÏ×ÌÅÎÉÅ</th>
<th>busdma</th>
<th>INTR_MPSAFE</th>
<th>ÏÔÄÅÌÅÎÉÅ SMPng</th>
<th>a!=p</th>
<th>ÓÏÓÔÏÑÎÉÅ 4.x</th>
<th>ðÒÉÍÅÞÁÎÉÑ</th>
</tr>
<tr>
<td>agp</td>
<td>&a.cognet;</td>
<td>23 ÑÎ×ÁÒÑ 2003</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>bktr</td>
<td>&a.cognet;</td>
<td>15 ÑÎ×ÁÒÑ 2003</td>
<td>&status.wip;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>digi</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>drm</td>
<td>&a.anholt;</td>
<td>27 ÏËÔÑÂÒÑ 2003</td>
<td>&status.wip;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.wip;</td>
<td>&status.wip;</td>
<td>vtophys(). âÌÏËÉÒÏ×ËÕ ÎÕÖÎÏ ÎÅÍÎÏÇÏ ÐÅÒÅÓÍÏÔÒÅÔØ.</td>
</tr>
<tr>
<td>fb</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>firewire</td>
<td>&a.simokawa;</td>
<td>17 ÁÐÒÅÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>hfa</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys()</td>
</tr>
<tr>
<td>hifn</td>
<td>&a.sam;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>musycc</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys(). ðÏÖÁÌÕÊÓÔÁ, ÚÁ ÉÎÆÏÒÍÁÃÉÅÊ/ÏÂÏÒÕÄÏ×ÁÎÉÅÍ ÏÂÒÁÔÉÔÅÓØ
Ë &a.phk;.</td>
</tr>
<tr>
<td>pcm</td>
<td>&a.cognet;</td>
<td>20 ÆÅ×ÒÁÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>ubsec</td>
<td>&a.sam;</td>
<td>13 ÁÐÒÅÌÑ 2004</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>vtophys() ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ÏÔÌÁÄËÉ printf</td>
</tr>
<tr>
<td>usb</td>
<td>&a.jmg;</td>
<td>24 ÉÀÌÑ 2003</td>
<td>&status.done;</td>
<td>&status.new;</td>
<td>&status.new;</td>
<td>&status.untested;</td>
<td>&status.new;</td>
<td>a!=p ÄÏÌÖÎÏ ÒÁÂÏÔÁÔØ, ÏÄÎÁËÏ ÔÒÅÂÕÅÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÅ
ÔÅÓÔÉÒÏ×ÁÎÉÅ</td>
</tr>
</table>
<a name="doc-status"></a>
<h2>óÏÓÔÏÑÎÉÅ ÐÏ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÀ</h2>
<table class="tblbasic">
<tr>
<th>úÁÄÁÞÁ</th>
<th>ïÔ×ÅÔÓÔ×ÅÎÎÙÊ</th>
<th>ðÏÓÌÅÄÎÅÅ ÏÂÎÏ×ÌÅÎÉÅ</th>
<th>óÏÓÔÏÑÎÉÅ</th>
<th>ðÒÉÍÅÞÁÎÉÑ</th>
</tr>
<tr>
<td>ÓÐÒÁ×ÏÞÎÙÅ ÓÔÒÁÎÉÃÙ ÐÏ busdma API</td>
<td>&a.hmp;</td>
<td>15 ÑÎ×ÁÒÑ 2003</td>
<td>&status.done;</td>
<td>&nbsp;</td>
</tr>
</table>
&footer;
</body>
</html>