![](https://secure.gravatar.com/avatar/e44e79f675fe80210f0cab4806c62fd8.jpg?s=120&d=mm&r=g)
Hi, I am not very good in reading the microcode, and would appreciate very much if someone could help me out here! I have been trying to get the peth driver to run on the monta vista 2.4.18 kernel. So far, I think I have ported and run the control-plane apps and libraies without any problem. (octmac.o, giga_drv.o, ue.o, rs_udebug, rtmapp, and peth.o). However, I am not sure what to do with the microcode on the data plane side. It appears that the main difference between 2.3.99 and 2.4.18 kernel is that they occupy different SDRAM location. So I made the modification to the MV kernel by: 1. Reserve 0xC600000 - 0xC8000000 for data-plane use 2. Map 0xC6000000 - 0xC8000000 to the IO mem 0xD8000000 - 0xDA000000 I thought if I redefine the following: #define SDRAM_NONCACHE_QWD_START 0xC00100 // 96MB #define SDRAM_NONCACHE_QWD_END 0x400000 // 32MB in the mem_map.h file of L3Fwd16, then the microcode should work fine. Apparently, it seems that the RTM works, and the peth poller thread receives packets from the microcode, but the packet content is not correct. So the xmit and recv are not working... Is there something else I should change in the mircocode too?? This is the output of the peth debug after a "ping" packet to port 0: pethPoller: head= c4, tail= a0 pethPoller: nextDesc = a4, descFlags = 1f01 pethPoller: rewriting headTail: a400a0 pethPoller: unlocked queue pethPoller: ingressPort = 0 unit: 0 pethRecv: descriptor = 0xc4 pethRecv: descFlags = 1f01, len = 32 ff ff ff ff 98 75 0b c0 08 00 06 04 98 75 0b c0 00 00 00 00 01 05 5f 7f 09 00 08 09 0e 0f 10 11 16 17 18 19 1e 1f 20 21 pethFreeDescriptor: descriptor = c4 pethFreeDescriptor: descriptor = c4 ... But I am expecting the data to be something like: 00 00 ca fe ba be 00 e0 98 75 0b c0 08 00 45 00 00 54 00 00 40 00 40 01 36 a0 01 02 01 01 01 02 01 05 08 00 50 b0 d9 41 ... Thanks, Charles
participants (1)
-
Charles Chiou