Re: NetBSD Amiga - Memory restrictions
Frank Wille <[email protected]> Tue, 28 Mar 2023 12:44:05 +0200
| Newsgroups | gmane.os.netbsd.ports.amiga |
|---|---|
| Organization | Privates Internet Ostwestfalen/Lippe e.V. |
| Message-ID | <[email protected]> |
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