(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

578. Programando os chips Intel (i82586 and i82593)

Estes chips são usados num número de placas, a saber, a 3c507 ('86), a Intel EtherExpress 16 ('86), Microdyne's exos205t ('86), a Z-Note ('93), e a Racal-Interlan ni5210 ('86).

Russ Nelson escreve: `A maioria das placas baseadas na 82586 podem usar novamente bastante de seu código. Na verdade, mais que os adaptadores baseados 8390. Há somente três diferenças entre elas:

  • O código para obter o endereço Ethernet,
  • O código para acionar CA na 82586, e
  • O código para reconfigurar a 82586.

A Intel EtherExpress 16 é uma exceção, pois a I/O mapeia a 82586. Sim, a I/O a mapeia. Bastante desajeitadamente, mas funciona.

Garrett Wollman fez um programa de controle AT&T para BSD que usa o direito autoral da BSD. A verão mais recente que eu tenho (Set. '92) só usa um buffer simples de transmissão. Você pode e deve fazer melhor que isto se você tem memória. Os adaptadores da AT&T e 3c507 têm; a ni5210 não tem.

As pessoas da Intel me deram uma grande dica em como enfileirar pacotes de transmissão múltipla. Você configura uma lista de blocos de início NOP-> XMIT-> NOP-> XMIT-> NOP-> XMIT->) e então você configura o próximo indicador de todos os blocos NOP para eles mesmos. Agora você começa a unidade de comando nesta cadeia. Ela continuamente processa o bloco NOP primeiro. Para transmitir um pacote, você coloca no próximo bloco de transmissão, então aponta o NOP para ele. Para transmitir o próximo pacote você coloca no próximo bloco de transmissão e aponta o NOP anterior para it. Desta maneira, você não tem que esperar pelo término da transmissão anterior, e você pode enfileirar múltiplos pacotes sem nenhuma ambigüidade no que diz respeito a aceitação, e você pode evitar a unidade de comando de demora de início.'


Página seguinte Página anterior Índice