[linux-cirrus] Re: ep93xx kernels at 0x8000 versus 0x00218000 ?

  • From: Robin.Page@xxxxxxxxxxxx
  • To: linux-cirrus@xxxxxxxxxxxxx
  • Date: Fri, 18 Mar 2005 04:55:46 -0600

Using a 2.4.21 Kernel launched from redboot I have seen  a number of 
kernel crashes during kernel startup when attached to our network. We are 
running a heavy load of  real time network traffic, which may explain why 
I was seeing them so frequently.
I have since changed the redboot script to launch linux, so that it 
disables all network receive before launching the kernel. (on the EP9301 
this is by clearing the RXCtl register)

load -v -r -b 0x1000000 ramdisk.gz
load -v -r -b 0x218000 vmlinux.bin
mfill -b 0x80010000 -l 4 -p 0
exec -r 0x1000000 0x218000

fingers crossed, so far this seems to have done the trick.


Robin Page
Senior Software Engineer
Telex Communications (UK) Limited.
Tel: +44 1562 741515
www.midasconsoles.com

"Debugging is twice as hard as writing the code in the first place.
   Therefore, if you write the code as cleverly as possible, you are,
     by definition, not smart enough to debug it."  --Brian W. Kernighan




tomw <tomw@xxxxxxxxxxxxx> 
Sent by: linux-cirrus-bounce@xxxxxxxxxxxxx
18/02/2005 19:07
Please respond to
linux-cirrus@xxxxxxxxxxxxx


To
linux-cirrus@xxxxxxxxxxxxx
cc

Subject
[linux-cirrus] Re: ep93xx kernels at 0x8000 versus 0x00218000 ?






Actually there is a patch to the older versions of redboot that shuts
off ethernet DMA ( actually it shuts off all DMA ) right before Redboot
jumps to invoking the Linux Kernel. Shutting off the ethernet as stated,
may work, but the problem lies in Redboot. If the DMA is not shut off
you will get random crashes after the Kernel starts ( mostly associated
with the reception of broadcast or multicast packets ( or any packets
that meet the recieve filter requirements of how Redboot originally set
up the interface ).

This usually manifests itself with a random crash slightly after the
Kernel is completely started ( which varies based on your network
traffic load/timing )...
If you are hard up to test the Kernel and apps and want to defer
fixing/re-building Redboot you can put a filtering bridge/router in
front of the eval board witch will hide the packets from the board...
( I suggest this only as a temporary development measure to allow you to
finish whatever it was you were doing when you noticed the crashes :)

TomW

On Thu, 2005-02-17 at 23:41, Manfred Gruber wrote:
> Am Donnerstag, 17. Februar 2005 19:40 schrieb Liberty Young:
> > So, my 2.6 builds are even segfaulting on the edb9301. The application
> > in questions is debian stable's bash, and it works just fine in a 2.4
> > build.
> 
> I saw such strange segfaults too.(Kernel 2.6, Redboot from Cirrus 
changed by 
> me)
> 
> My Problem was that the ethernet controller had to be switched off, 
because 
> its DMA is running and it could write memory in the .text segment.
> 
> Regards manfred
> 
> 
-- 
TomW






Other related posts: