M5200E-4
K
A
DAK
MPC5200 FEC Device Driver
MPC5200 FEC Ethernet
Device Driver Data Sheet (continued)
Parameters (continued)
The driver's private receive and transmit data buffers are allocated using
the standard KwikNet memory allocation services. Each buffer will be at
least 1520 bytes in size, rounded up if necessary to meet your alignment
and cache line requirements. Your KwikNet memory allocation method
(see the OS property page in Chapter 2.3 of the KwikNet TCP/IP Stack
User's Guide) must provide enough memory to meet the storage
requirements that you have specified.
The BestComm microcode requires 4-byte alignment of receive and
transmit buffers. Unfortunately, since Ethernet headers are 14 bytes long,
the data in each received Ethernet frame will be halfword aligned, leading
to serious data processing inefficiencies. All receive and transmit buffers
must be aligned on an n-byte boundary where n is defined by symbols
DD_RCVALIGN and DD_TXALIGN in header file M5200E.H to be 4.
To avoid data caching issues, the driver also ensures that its receive and
transmit buffers are cache line aligned. The driver must always copy the
entire received Ethernet frame from its private receive buffer to a Kwik Net
packet buffer to ensure proper long alignment of the data for processing by
KwikNet. The driver must also copy the entire outgoing Ethernet frame
from a KwikNet packet buffer to a private transmit buffer to ensure proper
alignment of the frame for processing by the BestComm microcode.
Warning
KwikNet packet buffers must be aligned to meet or exceed this
driver's receive alignment requirement. Hence, you must ensure that
the "Receive buffer alignment" specified on the Ethernet property page
of your KwikNet Network Parameter File is a multiple of the value
assigned to DD_RCVALIGN in header file M5200E.H.