I have a design using the MPMC2 with a PowerPC and a CDMAC w/ LocalLink TEMAC on a Virtex4-FX. On the ppc I have Linux 2.6.22-rc2 running. The system can ping and simple UDP messaging has been working. When I attempted to perform TCP communication, the packets were never being received by another linux system. I took a look at the messages on the write and the 3rd and 4th byte of the ethernet destination are wrong. Added debug messages to the kernel to see the data that was being passed, and it was (of course) correct. After grabbing the physical addresses of the buffers, I once again checked them using xmd and it showed the same result.
The corruption occurs everytime, and different memory locations are being used. Is it possible that the CDMAC is doing some operation on the data and accidentally corrupting it?
TIA,
Mike Koss