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).
On 13.01.2011, at 08:36, stephane ducasse wrote:
Begin forwarded message:
Date: January 12, 2011 10:26:41 AM GMT+01:00
To: A friendly place where any question about pharo is welcome <[hidden email]>
Subject: [Pharo-users] squeak vm without MMU
Reply-To: A friendly place where any question about pharo is welcome <[hidden email]>
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