Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD Amiga - Memory restrictions



David Brownlee wrote:

>> Yes. The VM-limit per process is the main problem for all(?) m68k
>> ports.
>
>> [...]
>> If this is the only reason, and all m68k port maintainers agree, I
>> would happily sacrifice SunOS emulation support.
>
> If it's a build time "SunOS emulation _or_ larger VM" then I would
> definitely think GENERIC should switch to the larger VM by default.

I don't think that much is gained by it, but indeed I see no reason for
COMPAT_SUNOS in the GENERIC kernel. Did anybody ever use SunOS binaries on
NetBSD/amiga? On the other hand, COMPAT_LINUX is disabled.


> Does anyone know if all m68k platforms have the same limits? (Apart
> from sun2, for obvious reasons :)

I'm not sure about it. I always thought it depends on some MMU code in
sys/arch/m68k, which all 68k platforms share.

But after some source reading I found this in
sys/arch/amiga/include/vmparam.h:

#define USRSTACK        0x1E000000
[...]
#define MAXDSIZ         (224*1024*1024)         /* max data size */
[...]
#define VM_MIN_ADDRESS          ((vaddr_t)0)            /* user min */
#define VM_MAX_ADDRESS          ((vaddr_t)(USRSTACK))   /* user max */
#define VM_MAXUSER_ADDRESS      ((vaddr_t)(VM_MAX_ADDRESS))     /* same */

IMHO this restricts a NetBSD process to an address space below 0x20000000.
The maximum text, data and stack sizes are already chosen in a way to use
most of it, but this border was never crossed. Maybe it is required for
SunOS emulation, as Sun2 looks similarly.

Atari has 0xfff00000 as VM_MAX_ADDRESS. It also has COMPAT_SUNOS disabled in
GENERIC. Maybe we can easily change that?

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index