This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Net crasch on mpc850
- From: "Luoqi Chen" <lchen at onetta dot com>
- To: "Daniel Lidsten" <Daniel dot Lidsten at combitechsystems dot com>,<ecos-discuss at sources dot redhat dot com>
- Date: Thu, 8 Aug 2002 16:14:20 -0700
- Subject: RE: [ECOS] Net crasch on mpc850
> From: Daniel Lidsten [mailto:Daniel.Lidsten@combitechsystems.com]
> Sent: Wednesday, August 07, 2002 2:50 AM
> To: ecos-discuss@sources.redhat.com
> Subject: [ECOS] Net crasch on mpc850
>
>
> Hi,
>
> I am having some net trouble with my mpc850. Every time i
> download a large amount of data (100-200kb) to the board then
> it crasches, sometime at the beginning of the download and
> sometimes later on, but always during download. It is always
> the same address that gets the TLB miss (0xC800 0000). My
> first thought was that my buffers was to small so i increased
> them to be 16 (instead of 4) but it didnt help. It is also
> very hard to see which function that causes the crasch. At
> crasch time LR points to a function called "copyin" that is
> located in "support.c". However, i cannot figure out how to
> see who called that function.
>
> A thing worth mentioning is that i have created a section
> called ioRAM that is noncached and lies outside the ordinary
> cached RAM area. All ethernet buffers are located on this
> area. The reason for this is that neighter the serial port or
> the ethernet driver will work on a area that is cached.
>
There was a bug in SCC ethernet driver that mistakenly
invalidated data cache for the transmit buffer instead of
flushing it: search for line
HAL_DCACHE_INVALIDATE(txbd->buffer, txbd->length);
in file devs/eth/powerpc/quicc/current/src/if_quicc.c,
it should be replaced with
HAL_DCACHE_FLUSH(txbd->buffer, txbd->length);
I'm not sure if this has been fixed in the CVS repository
lately.
The SMC serial driver handles the cache correctly.
-lq
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss