Intel PCI User Manual

Page of 406
Receive and Transmit Description
36
Software Developer’s Manual
Table 3-7. Transmit Descriptor (TDESC) Layout
3.3.3
Legacy Transmit Descriptor Format
To select legacy mode operation, bit 29 (TDESC.DEXT) should be set to 0b. In this case, the 
descriptor format is defined as shown in 
. The address and length must be supplied by 
software. Bits in the command byte are optional, as are the Checksum Offset (CSO), and 
Checksum Start (CSS) fields.
Table 3-8. Transmit Descriptor (TDESC) Layout – Legacy Mode
Table 3-9. Transmit Descriptor Legacy Descriptions
63
30
29
28
24 23
20 19
0
0
Buffer Address [63:0]
8
NR
DEXT
NR
DTYP
NR
63
48 47
40 39 36 35 32 31 24 23
16 15
0
0
Buffer Address [63:0]
8
Special
CSS
RSV
STA
CMD
CSO
Length
Transmit Descriptor 
Legacy
Description
Buffer Address
Buffer Address
Address of the transmit descriptor in the host memory. Descriptors with a 
null address transfer no data. If they have the RS bit in the command byte 
set (TDESC.CMD), then the DD field in the status word (TDESC.STATUS) is 
written when the hardware processes them.
Length
Length is per segment. 
The maximum length associated with any single legacy descriptor is 16288 
bytes. Although a buffer as short as one byte is allowed, the total length of 
the packet, before padding and CRC insertion must be at least 48 bytes. 
Length can be up to a default value of 16288 bytes per descriptor, and 
16288 bytes total. In other words, the length of the buffer pointed to by one 
descriptor, or the sum of the lengths of the buffers pointed to by the 
descriptors can be as large as the maximum allowed transmit packet.
Descriptors with zero length transfer no data. If they have the RS bit in the 
command byte set (TDESC.CMD), then the DD field in the status word 
(TDESC.STATUS) is written when the hardware processes them.
CSO
Checksum Offset
The Checksum offset field indicates where, relative to the start of the packet, 
to insert a TCP checksum if this mode is enabled. (Insert Checksum bit (IC) 
is set in TDESC.CMD). Hardware ignores CSO unless EOP is set in 
TDESC.CMD. CSO is provided in unit of bytes and must be in the range of 
the data provided to the Ethernet controller in the descriptor. (CSO < length - 
1).
Should be written with 0b for future compatibility.