[uClinux-dev] uClinux on S3C4510-SNDS100 architecture

David McCullough davidm at snapgear.com
Mon Mar 31 12:22:42 EST 2003


Jivin Erwin Authried lays it down ...
> Am Mon, 2003-03-31 um 16.11 schrieb David McCullough:
> > 
> > > Also I have had several problems with it:
> > > 
> > > a) maybe anyone knows how to restart an ARM machine with 'reboot'
> > > successfully?
> > 
> > No idea sorry.  On coldfire (has no HW reset instruction) we just jump
> > back through the rom startup.  You may be able to use a watchdog timer
> > if one is present.
> You can write your machine specific reset code in
> include/asm-armnommu/arch-*/system.h. A jump to the rom-start may be
> sufficient if no reset instruction is available.
> 
> > 
> > > b) when I start my app and it terminates on signal (say Ctrl-C), the
> > > memory is not freed properly. When I start large app (~650Kb) and
> > > terminate it several times, out of memory error occurs. Is it right?
> > 
> > No.
> I think that might be possible because of increasing fragmentation.


True,  forgot about that case.  A "cat /proc/meminfo" will determine if
that is the case here.


> > Is the memory freed properly when they exit normally ?
> > 
> > Are you building with -msingle-pic-base/XIP ?  If so then you might need to
> > fixup the is_in_rom function in linux-2.4.x/arch/armnommu/mm/memory.c
> > to return true if the address is in your ROMFS memory area.
> > 
> Are you sure that is_in_rom is still in use? The only occurence that I
> found is in do_munmap() in mmnommu/mmap.c.


if MAGIC_ROM_PTR is in use (ie., XIP) then yes.

The problem with it occurs if it falsely says that something is in ROM.
This will stop it from running kfree on the memory as it assumes it was
a magic mmap into the romfs filesystem and doesn't need freeing.


Cheers,
Davidm

-- 
David McCullough:    Ph: +61 7 3435 2815  http://www.SnapGear.com
davidm at snapgear.com  Fx: +61 7 3891 3630  Custom Embedded Solutions + Security



More information about the uClinux-dev mailing list