Nous venons de voir comment porter le noyau Linux sur notre carte FPGA. Si on reprend les critères d'un bon portage du noyau Linux énoncés à la section 5.2, mon travail arrive en première position :
Tableau 5.5. Évaluation des travaux
portage | généricité | non contraignant | non intrusif | classement |
---|---|---|---|---|
mon travail | ++ | ++ | ++ | 1 |
Mind | + | + | + | 2 |
Avnet | - | -- | - | 3 |
MontaVista | -- | - | -- | 4 |
Bien évidemment, cela peut sembler peu objectif, puisque je fais ma propre évaluation. Cependant, mon travail se base sur celui de Mind, tout en améliorant la généricité, en diminuant les contraintes et en limitant l'intrusion. Mind ayant été classé premier précédemment, il est logique que mes améliorations placent ce travail en première position. Le référencement de toutes les modifications effectuées confirme mes observations :
Tableau 5.6. Modifications faites sur le noyau
portage | nombre d'ajouts | nombre de suppressions | fichiers modifiés | pilotes disponibles |
---|---|---|---|---|
mon travail | 2624 | 28 | 22 | UARTLite, XEmac |
Mind | 2976 | 46 | 26 | UARTLite, XEmac |
mon travail | 7977 | 50 | 40 | UARTLite, XEmac, SystemACE |
Avnet | 14981 | 1935 | 102 | UARTLite, XEmac, SystemACE |
MontaVista | 1100656 | 985417 | 6710 | UARTLite, XEmac, SystemACE, I2C, TouchScreen, SPI, Keyb, GPIO |
Finalement, ce travail permet aux développeurs de SMP de maîtriser l'adaptation du noyau Linux pour les Virtex-II Pro et Virtex-4 FX, notamment en ce qui concerne les contraintes sur l'architecture. Enfin, je voudrais signaler que contrairement aux ports de MontaVista et d'Avnet, mon travail et celui de Mind n'utilisent pas de codes sources provenant de Xilinx, qui ne sont malheureusement pas libres[18].