diff --git a/fr/projects/busdma/index.sgml b/fr/projects/busdma/index.sgml new file mode 100644 index 0000000000..5e7762a1bd --- /dev/null +++ b/fr/projects/busdma/index.sgml @@ -0,0 +1,1095 @@ + + + + + %includes; + + +Fait"> +En progrès"> +Pas fait"> +Résolu"> +Non résolu"> + + + + %developers; + +]> + + + + + &header; + +

Contenus

+ + + +

But du projet

+ +

busdma

+

Les interfaces busdma permettent aux pilotes de périphériques matériels + d'opérer sur une variété de plateformes, évitant le codage de méthodes + spécifiques à la plateforme dans ces pilotes. Ceci fait baisser le coût de + la maintenance des pilotes sur ces plateformes et accroît les chances qu'un + pilote fonctionne "tel que" pour une nouvelle plateforme. Modifier un pilote + pour qu'il utilise busdma est relativement simple, mais requiert d'être familiarisé à + la fois avec le pilote de périphérique et les primitives busdma. + Pour utiliser busdma dans FreeBSD, deux types de changements sont généralement requis : + l'adaptation de busdma pour fonctionner sur toutes les plateformes et + l'adaptation des pilotes pour utiliser cet environnement de travail. En tant que telle, + l'information actuelle de ce projet de décompose en support de la plateforme + et en support des pilotes (triés par catégorie). L'achèvement de ce travail + requiert l'audit complet du système de pilotes de périphériques, puis la + conversion des pilotes par priorités.

+ +

INTR_MPSAFE

+

Les pilotes du matériel enregistrent leur traitement d'interruptions + avec la fonction bus_setup_intr(). Positionner le flag + INTR_MPSAFE informe le code d'interruption système d'appeler + la routine d'interruption sans détenir le mutex "Géant". Ceci permet d'obtenir + un gain significatif de performances sur les systèmes multi-processeurs.

+

Les pilotes peuvent positionner ce flag même s'ils ne sont pas complètement + verrouillés tant que leur routine d'interruption prend soin de ne pas toucher + aux autres structures de données du pilote. Un moyen simple de réaliser cela est + de vérifier et de vider les registres d'interruptions matérielles et ensuite + ordonnancer le traitement des interruptions par une file d'attente de tâches ou + un thread noyau.

+ +

verrou SMPng

+

Les pilotes doivent utiliser des mutex et des verrous sx pour protéger + leurs structures de données et registres matériels des threads concurrents. + Les opérations mutex sont assez coûteuses, aussi une bonne stratégie + devrait combiner autant d'opérations atomiques que possible durant l'acquisition + d'un seul mutex.

+ +

sécurité p!=a

+

Le support du PAE Intel requiert que les pointeurs et les représentations + physiques des adresses soient de tailles différentes. Cela signifie que les + pilotes doivent être écrits en utilisant vm_paddr_t ou bus_addr_t plutôt + qu'en supposant que les adresses physiques puissent être représentées par un + void *. De plus, le format des chaînes de caractères et les casts doivent + être manipulés avec soin.

+ +

La liste des tâches ci-dessous ne prétend pas être exhaustive, mais + représente une série de composants appropriés et/ou importants du + travail global. Le champ "Responsable" identifie un développeur qui a + exprimé le désir d'être responsable pour mener à bien la tâche identifiée; + ce qui n'empêche pas les autres d'y travailler, mais suggère que la + coordination avec le responsable de cette partie est recommandée pour éviter + la duplication des travaux et optimiser l'avancement du travail. Si des + travaux débutent sur une nouvelle partie importante, ou non assignée, + il est conseillé d'envoyer un courrier électronique à &a.mux; pour vérifier + si des progrès n'ont pas déjà été faits.

+ +

La définition du champ date varie en fonction de l'état de la tâche. + Pour les tâches achevées, elle se réfère à la date d'achèvement ou du + rapport d'achèvement. Pour les tâches en cours, elle se réfère à la + date de la dernière mise à jour de l'entrée. Pour les tâches bloquées, + elle se réfère à la date à laquelle elle a été déclarée bloquée. Pour les nouvelles + tâches, elle se réfère à la date à laquelle elle a été ajoutée à la liste.

+ +

Les tâches sont triées par état, puis par date.

+ + +

Etat du support des plates-formes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tâche Responsable Dernière mise à jour Etat Détails
alpha&a.gallatin;10 Décembre 2002&status.done;Problèmes éventuels avec les systèmes disposant d'une + grande quantité de mémoire
amd64&a.peter;1er Juillet 2003&status.done;Pleinement supporté.
ia64&a.marcel;10 Décembre 2002 + &status.done;Problèmes éventuels avec les systèmes disposant d'une + grande quantité de mémoire
i386&a.sam;9 Décembre 2002&status.done;Pleinement supporté.
powerpc&a.hmp;15 Janvier 2003&status.done;Pleinement supporté.
sparc64&a.tmm;6 Janvier 2003&status.done;Pleinement supporté.
+ + +

Etat des pilotes interfaces réseaux

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pilote Responsable Dernière mise à jour busdma INTR_MPSAFE SMPng locked a!=p Notes
if_ar     &status.new; &status.new; &status.new; &status.new; kvtop()
if_bge &a.will; 2 Juillet 2003 &status.wip; &status.new; &status.new; &status.done; vtophys()
if_cs     &status.new; &status.new; &status.new; &status.new;  
if_dc &a.mux; 17 Avril 2003 &status.done; &status.new; &status.new; &status.new;  
if_de &a.mux;   &status.new; &status.new; &status.new; &status.new; vtophys()
if_ed     &status.new; &status.new; &status.new; &status.new; kvtop()
if_em &a.pdeuskar; 19 Décembre 2002 &status.done; &status.new; &status.new; &status.done;  
if_en &a.harti; 4 Mars 2003 &status.done; &status.new; &status.new; &status.new;   +
if_fxp &a.mux; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.done;  
if_fwe     &status.new; &status.new; &status.new; &status.new;  
if_gem &a.tmm; 6 Janvier 2003 &status.done; &status.new; &status.new; &status.new;  
if_gx     &status.new; &status.new; &status.new; &status.new; vtophys()
if_hme &a.tmm; 6 Janvier 2003 &status.done; &status.new; &status.new; &status.new;  
if_idt     &status.new; &status.new; &status.new; &status.new; vtophys()
if_lge     &status.new; &status.new; &status.new; &status.new; vtophys()
if_lmc     &status.new; &status.new; &status.new; &status.new; vtophys()
if_lnc &a.obrien;   &status.new; &status.new; &status.new; &status.new; vtophys(). Contactez &a.phk; pour info/matériel svp.
if_mn     &status.new; &status.new; &status.new; &status.new; vtophys(). Contactez &a.phk; pour info/matériel svp.
if_my     &status.new; &status.new; &status.new; &status.new; vtophys()
if_nge     &status.new; &status.new; &status.new; &status.new; vtophys()
if_pcn &a.obrien;   &status.new; &status.new; &status.new; &status.new; vtophys()
if_pdq     &status.new; &status.new; &status.new; &status.new; la plupart du busdma sauf vtophys()
if_rl &a.wpaul; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
if_sf     &status.new; &status.new; &status.new; &status.new; vtophys()
if_sis &a.wpaul; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
if_sk     &status.new; &status.new; &status.new; &status.new; vtophys()
if_sr     &status.new; &status.new; &status.new; &status.new; vtophys()
if_ste     &status.new; &status.new; &status.new; &status.new; vtophys()
if_ti     &status.new; &status.new; &status.new; &status.new;  
if_tl     &status.new; &status.new; &status.new; &status.new;  
if_tx &a.mux; 19 Avril 2003 &status.done; &status.new; &status.new; &status.done; vtophys()
if_txp     &status.new; &status.new; &status.new; &status.new;  
if_vr Christian S.J. Peron <maneo@bsdpro.com> 20 Janvier 2003 &status.wip; &status.new; &status.new; &status.new;  
if_wb     &status.new; &status.new; &status.new; &status.new;  
if_xl &a.mux; 17 Décembre 2002 &status.done; &status.new; &status.new; &status.done;  
+ + +

Etat des pilotes périphériques de stockage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pilote Responsable Dernière mise à jour busdma INTR_MPSAFE SMPng locked a!=p Notes
aac &a.scottl; 8 Février 2003 &status.done; &status.done; &status.done; &status.done; compatible PCI-64, problème avec architecture endian
adv   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
aha   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
ahb   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
aic7xxx   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
amd   14 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
amr   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
asr &a.obrien; 4 Janvier 2003 &status.new; &status.new; &status.new; &status.new; vtophys()
ata   9 Décembre 2002 &status.done; &status.new; &status.new; &status.done;  
buslogic     &status.new; &status.new; &status.new; &status.new; vtophys()
ciss   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
ct     &status.new; &status.new; &status.new; &status.new;  
dpt     &status.new; &status.new; &status.new; &status.new; vtophys()
ida   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
iir     &status.new; &status.new; &status.new; &status.new; vtophys()
isp   8 Février 2003 &status.done; &status.done; &status.new; &status.new;  
mlx &a.scottl; 8 Février 2003 &status.done; &status.wip; &status.wip; &status.new;  
mly &a.scottl; 8 Février 2003 &status.done; &status.wip; &status.wip; &status.new;  
mpt   9 Décembre 2002 &status.done; &status.done; &status.new; &status.new;  
ncr     &status.new; &status.new; &status.new; &status.new; vtophys(). Contactez &a.phk; svp, pour une éventuelle source + de matériel.
pst     &status.new; &status.new; &status.new; &status.new; vtophys()
stg   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new; Au moins, il semble être ce qu'il devrait être.
sym   19 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
trm &a.cognet; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
twe   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
+ +

Etat des pilotes divers périphériques

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pilote Responsable Dernière mise à jour busdma INTR_MPSAFE SMPng locked a!=p Notes
agp &a.cognet; 23 Janvier 2003 &status.wip; &status.new; &status.new; &status.new; vtophys()
bktr &a.cognet; 15 Janvier 2003 &status.wip; &status.new; &status.new; &status.new; vtophys()
cs     &status.new; &status.new; &status.new; &status.new;  
digi     &status.new; &status.new; &status.new; &status.new; vtophys()
drm &a.anholt; 17 Février 2003 &status.wip; &status.wip; &status.wip; &status.new; vtophys()
exca &a.imp; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
fb     &status.new; &status.new; &status.new; &status.new; vtophys()
firewire &a.simokawa; 17 Avril 2003 &status.done; &status.new; &status.new; &status.done; vtophys()
hea     &status.new; &status.new; &status.new; &status.new; vtophys()
hfa     &status.new; &status.new; &status.new; &status.new; vtophys()
hifn &a.sam; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
meteor     &status.new; &status.new; &status.new; &status.new; vtophys()
musycc     &status.new; &status.new; &status.new; &status.new; vtophys(). Contactez &a.phk; pour info/matériel svp.
pcm &a.cognet; 20 Février 2003 &status.done; &status.done; &status.new; &status.new;  
ubsec &a.sam; 9 Décembre 2002 &status.done; &status.new; &status.new; &status.new; vtophys() est utilisé par printf en débuggage
usb &a.dwhite; 1er Juillet 2003 &status.new; &status.new; &status.new; &status.new; vtophys()
wds   9 Décembre 2002 &status.done; &status.new; &status.new; &status.new;  
+ + +

Etat de la documentation

+ + + + + + + + + + + + + + + + + +
Tâche Responsable Dernière mise à jour Etat Notes
Pages de manuel pour l'API busdma &a.hmp; 15 Janvier 2003 &status.done;  
+ + &footer; + + diff --git a/fr/projects/busdma/style.css b/fr/projects/busdma/style.css new file mode 100644 index 0000000000..beecc6f17a --- /dev/null +++ b/fr/projects/busdma/style.css @@ -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; +}