diff --git a/en/projects/busdma/index.sgml b/en/projects/busdma/index.sgml index dc3fa3ca9f..c39da26bd1 100644 --- a/en/projects/busdma/index.sgml +++ b/en/projects/busdma/index.sgml @@ -1,806 +1,806 @@ - + %includes; Done"> In progress"> Not done"> Resolved"> Unresolved"> %developers; ]> &header;

Contents

Project Goal

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.

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.

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.

Tasks are sorted first by status, then by date.

Platform Support Status

Task Responsible Last updated Status Details
alpha &a.gallatin; December 10, 2002 &status.wip; Support for mbuf and uio load routines present, but untested. Pending availability of mainstream network interface drivers to perform testing. In addition, there may be problems with large amounts of memory.
ia64 &a.marcel; December 10, 2002 &status.wip; All the primitives are in place, but network interface drivers are required for testing the mbuf and uio load routines. In addition, there may be problems for systems with large amounts of memory.
i386 &a.sam; December 9, 2002 &status.done; Fully supported.
powerpc Hiten Pandya <hiten@unixdaemons.com> January 15, 2003 &status.done; Fully supported.
sparc64 &a.tmm; January 6, 2003 &status.done; Fully supported.

Network Interface Driver Status

Task Responsible Last updated Status Notes
if_ar     &status.new; kvtop()
if_bge     &status.new; vtophys()
if_cs     &status.new;  
if_dc     &status.new; vtophys()
if_de     &status.new; vtophys()
if_ed     &status.new;   kvtop()
if_em &a.pdeuskar; December 19, 2002 &status.wip; vtophys()
if_en     &status.new; vtophys()
if_fxp &a.mux; December 9, 2002 &status.wip; vtophys()
if_fwe     &status.new;  
if_gem &a.tmm; January 6, 2003 &status.done;  
if_gx     &status.new; vtophys()
if_hme &a.tmm; January 6, 2003 &status.done;  
if_idt     &status.new; vtophys()
if_lge     &status.new; vtophys()
if_lmc     &status.new; vtophys()
if_lnc     &status.new; vtophys()
if_mn     &status.new; vtophys()
if_my     &status.new; vtophys()
if_nge     &status.new; vtophys()
if_pcn     &status.new; vtophys()
if_pdq     &status.new; mostly busdma, except for vtophys()
if_rl &a.wpaul; December 9, 2002 &status.done;  
if_sf     &status.new; vtophys()
if_sis &a.wpaul; December 9, 2002 &status.done;  
if_sk     &status.new; vtophys()
if_sr     &status.new; vtophys()
if_ste     &status.new; vtophys()
if_ti     &status.new;  
if_tl     &status.new;  
if_tx     &status.new;  
if_txp     &status.new;  
if_vr Christian S.J. Peron <maneo@bsdpro.com> January 20, 2003 &status.wip;  
if_wb     &status.new;  
if_xl &a.mux; December 17, 2002 &status.done;  

Storage Device Driver Status

Task Responsible Last updated Status Notes
aac   December 9, 2002 &status.done; Not 64-bit-safe
adv   December 9, 2002 &status.done;  
aha   December 9, 2002 &status.done;  
ahb   December 9, 2002 &status.done;  
aic7xxx   December 9, 2002 &status.done;  
amd   December 14, 2002 &status.done;  
amr   December 9, 2002 &status.done;  
asr &a.obrien; January 4, 2003 &status.new; vtophys()
ata   December 9, 2002 &status.done;  
buslogic     &status.new; vtophys()
ciss   December 9, 2002 &status.done;  
ct     &status.new;  
dpt     &status.new; vtophys()
ida   December 9, 2002 &status.done;  
iir     &status.new; vtophys()
isp   December 9, 2002 &status.done;  
mlx   December 9, 2002 &status.done;  
mly   December 9, 2002 &status.done;  
mpt   December 9, 2002 &status.done;  
ncr     &status.new; vtophys()
pst     &status.new; vtophys()
stg   December 9, 2002 &status.done; At least, it looks like it may well be.
sym   December 19, 2002 &status.done;  
trm &a.cognet; December 9, 2002 &status.wip; vtophys()
twe   December 9, 2002 &status.done;  

Miscellaneous Device Driver Status

- - - + + +
Task Responsible Last updated Status Notes
agp     &status.done; &a.cognet; January 23, 2003 &status.wip; vtophys()
bktr &a.cognet; January 15, 2003 &status.wip; vtophys()
cs     &status.new;  
digi     &status.new; vtophys()
drm     &status.new; vtophys()
exca &a.imp; December 9, 2002 &status.done;  
fb     &status.new; vtophys()
firewire     &status.new; vtophys()
hea     &status.new; vtophys()
hfa     &status.new; vtophys()
hifn &a.sam; December 9, 2002 &status.done;  
meteor     &status.new; vtophys()
musycc     &status.new; vtophys()
ubsec &a.sam; December 9, 2002 &status.done; vtophys() is used in debugging printf
usb &a.joe; December 10, 2002 &status.new; vtophys()
wds   December 9, 2002 &status.done;  

Documentation Status

Task Responsible Last updated Status Notes
manpages for the busdma API Hiten Pandya <hiten@unixdaemons.com> January 15, 2003 &status.wip;  
&footer;