Begin forwarded message:
From: Annick Fron info@afceurope.com Date: January 12, 2011 10:26:41 AM GMT+01:00 To: A friendly place where any question about pharo is welcome pharo-users@lists.gforge.inria.fr Subject: [Pharo-users] squeak vm without MMU Reply-To: A friendly place where any question about pharo is welcome pharo-users@lists.gforge.inria.fr
Hi,
Is it possible to use pharo on a processor with MMU (Memory Unit Management ) ? Namely my target OS is a Linux with the following differences : ============
The kernel is a collection of patches to make the standard Linux kernel run on CPUs that do not have an MMU. As a consequence you will encounter some differences between the kernel and the standard Linux behavior: u no fork() – consider using vfork() instead but beware of the difference of their semantics u no daemon() – it is usually implemented on top of fork and cannot be easily replaced without changing the semantics. u fixed stack size -- the stack of an application is set at execution time and cannot grow during runtime. The default stack size is 4k! It can be increased with the "-s" option of m68k-uClinux-elf2flat. u limited libc compared to glibc -- either add more to libc, or remove some functionality. u no support for ELF binary file format u very limited support for shared libraries due to missing MMU -- all applications get linked statically u mmap() is very inefficient u no paging -- applications have to be loaded completely into RAM, the heap is very susceptible to fragmentation. ======== Annick Fron
Sounds like it could be made to work. Pretty much the only hard requirement is that you need to be able to allocate a big *continuous* chunk of memory (image size + headroom).
- Bert -
On 13.01.2011, at 08:36, stephane ducasse wrote:
Begin forwarded message:
From: Annick Fron info@afceurope.com Date: January 12, 2011 10:26:41 AM GMT+01:00 To: A friendly place where any question about pharo is welcome pharo-users@lists.gforge.inria.fr Subject: [Pharo-users] squeak vm without MMU Reply-To: A friendly place where any question about pharo is welcome pharo-users@lists.gforge.inria.fr
Hi,
Is it possible to use pharo on a processor with MMU (Memory Unit Management ) ? Namely my target OS is a Linux with the following differences : ============
The kernel is a collection of patches to make the standard Linux kernel run on CPUs that do not have an MMU. As a consequence you will encounter some differences between the kernel and the standard Linux behavior: u no fork() – consider using vfork() instead but beware of the difference of their semantics u no daemon() – it is usually implemented on top of fork and cannot be easily replaced without changing the semantics. u fixed stack size -- the stack of an application is set at execution time and cannot grow during runtime. The default stack size is 4k! It can be increased with the "-s" option of m68k-uClinux-elf2flat. u limited libc compared to glibc -- either add more to libc, or remove some functionality. u no support for ELF binary file format u very limited support for shared libraries due to missing MMU -- all applications get linked statically u mmap() is very inefficient u no paging -- applications have to be loaded completely into RAM, the heap is very susceptible to fragmentation. ======== Annick Fron
vm-dev@lists.squeakfoundation.org