Intel 82559 ユーザーズマニュアル

ページ / 175
84
Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual  
 
 
Host Software Interface
Link Address
This is the 32-bit address of the next command block. It is added to the CU base to 
obtain the actual address.
EL (Bit 31)
If this bit is set to one, it indicates that this command block is the last one on the CBL. 
The CU will go from the active to the idle state after the execution of the CB is finished. 
This transition will always cause an interrupt with the CNA/CI bit set in the SCB.
S (Bit 30)
If this bit is set to one, the CU will be suspended after the completion of this CB. A CNA 
interrupt will be generated if the device is configured for this. The CU transitions from the 
active to the suspended state after the execution of the CB.
I (Bit 29)
If the I bit is set to one, the device generates an interrupt after the execution of the CB is 
finished. If I is not set to one, the CX interrupt will not be generated.
CID (Bits 28:24)
The CNA Interrupt Delay field is only present on 82558 and later generation controllers. 
(It is not a valid field for the 82557, unless special microcode is downloaded to this 
device.) The CID indicates the length of time CNA interrupts are delayed by the device.
Bits 23:21
These bits are reserved and should all be set to 0.
NC
0: CRC and Source Address are inserted by the controller. If the “No Source Address 
Insertion” (NSAI) bit is set by the configure command, then only the CRC is inserted by 
the controller. Normally, this bit should be set because it is desirable to have the device 
compute and insert the CRC automatically.
1: CRC and Source Address are not inserted by the controller and are assumed to come 
from memory.
SF
This bit indicates whether the device is operating in simplified or flexible mode.
0 = Simplified Mode. All transmit data is in the TCB, and the TBD array address field 
must equal all 1s.
1 = Flexible Mode. Data is in the TCB (optional) and in a linked list of the TBDs.
CMD (Bits 18:16)
This is the transmit command, which has a value of 100b.
C (Bit 15)
The C bit indicates that the transmit DMA has completed processing the last byte of data 
associated with the TCB. This is not the actual completion of the transmit command as 
the C bit indicates in other action commands. The actual completion of a transmit 
command occurs when the frame is actually sent out on the wire. At the end of actual 
transmission, no further status is posted in the TCB, but the transmit statistical counters 
are updated.
OK (Bit 13)
The OK bit indicates that the command was executed without error. If it equals 1, no error 
occurred (command executed OK). If the OK bit is zero and the C bit is set, then an error 
occurred.
NOTE: For the transmit command, the OK bit is always set when the C bit is set.
U (Bit 12)
The U bit indicates that one or more underruns were encountered by this or previously 
transmitted frames since the last TCB status update. Since there is no mechanism for 
indicating underruns during or at the end of frame transmission, this bit is set in addition 
to the transmit underruns statistical counter for software management purposes.
Bits 11:0
These bits must be set to all zeros.
TBD Array 
Address
In flexible mode, this is a 32-bit address pointing to the first TBD in a contiguous list of 
TBDs called the TBD array. A TBD is two Dwords, a transmit buffer pointer and buffer 
size data. In simplified mode this field should be set by software to a null pointer 
(0FFFFFFFFh).
TBD Number
In flexible mode, this represents the number of transmit buffers in the contiguous TBD 
array. It should have a one to one correspondence of TBDs and buffers in the array. If the 
device finds the TBD number equal to 0, it assumes the TBD array address is a null 
pointer and the EOF bit is set. The 82558 and 82559 have a special dynamic TBD mode 
that the 82557 does not have. If the dynamic TBD mode is enabled (in the configure 
command), software should write a value of FFh into this field. Software should also 
mark each TBD as valid or invalid. In the 82557, the TBD number is the only indication 
that the TBD is the last associated with a particular transmit frame.