Initial project page for driver busdma conversion. This is really just

a first pass with a brief description, and some initial status.  Status
is split into two areas: platform support (i386, sparc64, etc), and
driver support (network interfaces, storage, ...).  For each, the level
of support is in the process of being documented, and for drivers under
active work, that is listed along with the task owner.  Providing
support for PAE on i386, as well as high performance driver support on
non-i386 platforms, will require the conversion of many of the important
system drivers.  We'll need to inventory the relevant drivers, and then
have maintainers update them to use the proper interfaces.
This commit is contained in:
Robert Watson 2002-12-09 17:30:54 +00:00
parent d0a56a51cb
commit dd3aac9980
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=15246
2 changed files with 241 additions and 0 deletions

View file

@ -0,0 +1,203 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$FreeBSD$">
<!ENTITY title "FreeBSD busdma driver conversion project">
<!ENTITY email 'mux'>
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
<!-- Status levels -->
<!ENTITY status.done "<font color=green>Done</font>">
<!ENTITY status.wip "<font color=blue>In progress</font>">
<!ENTITY status.stalled "<font color=purple>Stalled</font>">
<!ENTITY status.new "<font color=red>Not Started</font>">
<!ENTITY status.resolved "<font color=green>Resolved</font>">
<!ENTITY status.unresolved "<font color=red>Unresolved</font>">
<!-- The list of contributors was moved to a seperate file so that it can
be used by other documents in the FreeBSD web site. -->
<!ENTITY % developers SYSTEM "../../developers.sgml"> %developers;
]>
<html>
&header;
<h2>Contents</h2>
<ul>
<li><a href="#goal">Project Goal</a></li>
<li><a href="#platform-status">Platform Support Status</a></li>
<li><a href="#ifnet-status">Network Interface Driver Status</a></li>
<li><a href="#storage-status">Storage Device Driver Status</a></li>
<li><a href="#misc-status">Miscellaneous Device Driver Status</a></li>
</ul>
<a name="goal"></a>
<h2>Project Goal</h2>
<p>The busdma interfaces permit hardware device drivers to operate
on a variety of platforms avoiding the encoding of platform-specific
access methods into drivers. This lowers the maintenance costs
for drivers across platforms, and improves the chances that a driver
will "just work" on a new platform. Modifying a driver to make use
of busdma is relatively straight forward, but does require
familiarity with both the device driver and busdma primitives.
For busdma to be used in FreeBSD, two sets of changes are generally
required: adaptation of the busdma implementation to run on all
platforms, and adaptation of drivers to use the framework. As such,
status information on this project is broken down into platform
support, and driver support (sorted by category). Completing
this work requires a thorough audit of the system device drivers,
then prioritized conversion of drivers.</p>
<p>The task list below is not intended to be complete, but does
represent a set of relevant and/or important components of the
overall work. The "Responsible" field identifies a developer who
has expressed willingness to be responsible for completing the
identified task; this doesn't preclude others working on it,
but suggests that coordination with the responsible party might
be appropriate so as to avoid unnecessary duplication of work,
and to maximize forward progress. If beginning work on a new
area of substantial size, or one that appears unclaimed, it may
be worth dropping an e-mail to &a.mux; to see if any progress
has been made.</p>
<p>The definition of the date field varies depending on the status
of a task. For completed tasks, it refers to the date completed
or reported completed. For in-progress tasks, it refers to the
date of the last update of the entry. For stalled tasks, it
refers to the date that the task was declared stalled. For
new tasks, it refers to the date the task was added to the list.</p>
<p>Tasks are sorted first by status, then by date.</p>
<a name="platform-status"></a>
<h2>Platform Support Status</h2>
<table border=3>
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
<th> Details </th>
</tr>
<tr>
<td>alpha</td>
<td></td>
<td></td>
<td>&status.wip;</td>
<td></td>
</tr>
<tr>
<td>ia64</td>
<td></td>
<td></td>
<td>&status.new;</td>
<td></td>
</tr>
<tr>
<td>i386</td>
<td>&a.sam;</td>
<td>December 9, 2002</td>
<td>&status.done;</td>
<td>Fully supported.</td>
</tr>
<tr>
<td>powerpc</td>
<td></td>
<td></td>
<td>&status.new;</td>
<td></td>
</tr>
<tr>
<td>sparc64</td>
<td>&a.mux;</td>
<td>December 9, 2002</td>
<td>&status.wip;</td>
<td>Mbuf busdma interfaces not yet implemented.</td>
</tr>
</table>
<a name="ifnet-status"></a>
<h2>Network Interface Driver Status</h2>
<table border=3>
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
</tr>
<tr>
<td> if_dc </td>
<td> </td>
<td> December 9, 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> if_fxp </td>
<td> &a.mux; </td>
<td> December 9, 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> if_rl </td>
<td> &a.wpaul; </td>
<td> December 9, 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> if_sis </td>
<td> &a.wpaul; </td>
<td> December 9, 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> if_xl </td>
<td> &a.mux; </td>
<td> December 9, 2002 </td>
<td> &status.wip; </td>
</tr>
</table>
<a name="storage-status"></a>
<h2>Storage Device Driver Status</h2>
<table border=3>
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
</tr>
</table>
<a name="misc-status"></a>
<h2>Miscellaneous Device Driver Status</h2>
<table border=3>
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Status </th>
</tr>
</table>
&footer;
</body>
</html>

View file

@ -0,0 +1,38 @@
BODY {
}
BODY TD {
font-size: 13px;
}
BODY SMALL {
width: 615px;
font-size: 11px;
}
.heading {
font-size: 15px;
background-color: #cbd2ec;
}
.section {
font-size: 15px;
font-weight: bold;
background-color: #e7e9f7;
}
.notes {
font-size: 13px;
font-weight: normal;
}
.main {
width: 615px;
height: auto;
text-align: justify;
}
.list {
width: 550px;
height: auto;
}