Linux |
CentOS 4.8 |
|
outb(9) |
outb, outw, outl, outsb, outsw, outsl −
Ãcrire sur un port d’E/S. |
Cette famille de fonctions est utilisée pour des entrées/sorties de bas niveau. Elles ont principalement été conçues pour un usage interne au noyau, mais sont quand même utilisables avec des processus utilisateurs, à condition de suivre les instructions suivantes. Compiler le programme avec les options −O or −O2 ou équivalent. Ces fonctions sont en réalité des macros développées en ligne, et ne seront pas substituées sans valider l’optimisation. Ceci causerait des erreurs de références non résolues au moment de l’édition des liens. Utiliser ioperm(2) ou éventuellement iopl(2) pour demander au noyau d’autoriser l’application à accéder aux ports d’entrées/sorties en question. Une omission de cette étape déclencherait une faute de segmentation. |
Les macros in[bw] et out[bw] ont pour origine les
instructions équivalentes disponibles sur les
processeurs ix86 (alias ia32) qui permettent
d’accéder à l’espace
mémoire utilisé par les
périphériques. Sur d’autres
architectures (m68k en particulier), les espaces
mémoire système et
d’entrée-sortie sont
fusionnés (l’espace d’E/S utilise
un emplacement fixe) et ces macros se
développent en de classiques adressages
mémoire. |
outb et les autres fonctions dépendent du matériel. Les arguments port et value sont dans l’ordre inverse de la plupart des mnémoniques implémentés dans les assembleurs disponibles sous DOS |
ioperm(2), iopl(2) |
Christophe Blaess, 1997 Thierry Vignaud <tvignaud@mandrakesoft.com>, 2000 |
outb(9) |