Intel 82558 Manuale Utente

Pagina di 175
Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual  
83
 
 
Host Software Interface
The transmit DMA transfers the list of multicast addresses from memory to the execution machine 
through the transmit FIFO. The CU performs the following sequence:
1. Begins execution of the multicast setup action command.
2. Reads the multicast count field and saves it internally.
3. Initiates the transmit DMA with the multicast list address and byte count according to the 
multicast count field.
4. Waits for the transmit byte machine to complete the internal hash table update.
5. Completes the multicast setup action command.
The receive byte machine maintains a 64-bit hash table used for checking multicast addresses 
during reception. After the execution machine reads a multicast setup command, it clears the hash 
table and reads the bytes in groups of 6. Each group is hashed using CRC logic, and the bit in the 
hash table that bits 2 through 7 of the CRC register point to is set to one. A group that is not 
complete has no effect on the hash table. The execution machine notifies the CU after completion.
An incoming frame is accepted if it has a destination address with the significant bit in the most 
significant byte equal to 1 and after hashing points to a bit in the hash table whose value is one. The 
hash function is selecting bits 2 through 7 of the transmit CRC register. A software reset causes the 
hash table to become all zeros.
6.4.2.5
Transmit (100b)
Transmit commands can use either the simplified or flexible memory structure. The simplified 
structure expects the transmit data to reside entirely in the memory space immediately after the 
transmit command block (TCB). The flexible transmit structure allows multiple data buffers to be 
accessed through a transmit buffer descriptor (TBD) array. Both models require the use of one 
transmit command block per frame transmitted.
The 82558 introduced several new enhancements to the design of the software and hardware 
interface for transmits. Both the 82558 and the 82559 allow software to use either the original 
82557 compatible TCB format or the new extended TCB format. For the 82558 and 82559 devices, 
the TCB type used is determined by a configuration bit (
).
The format of the 82557 TCB (original TCB format) is illustrated in the figure below. There were a 
few additional capabilities added in the 82558 and 82559 that can be utilized through this 
command block interface. These new capabilities are highlighted.
Figure 19. Transmit Command Format
Offset
Command Word Bits 31:16
Status Word Bits 15:0
00h
EL
S
I
CID
000
NC
SF
100
C
X
OK
U
XXXXXXXXXXXX
04h
Link Address (A31:A0)
08h
Transmit Buffer Descriptor Array Address
TBD Number
Transmit Threshold
EOF 0
Transmit Command Block Byte Count