tonyw wrote:It can't be implemented simply by "fixing" and recompiling the kernel. It needs just about every system component to be modified and recompiled. The result is not likely to give a great improvement, since the 32-bit address space means that a program can't, EVER, address more than 4 GB of address space. When you leave out the permanently-assigned areas for CPU registers, I/O and so on, we are back to about 3 GB, and that's not much better than 2 GB.
"Every system component to be modified and recompiled"?!? I don't believe that. Are you saying that all sources in AmigaOS use:
Code: Select all
LONG buf;
buf=AllocMem(n);
if(buf>0) {
//ok
}
//or
if(buf<=0) fail();
Hardly. I know the code isn't that stupid since you've been working on it for over 10 years. And it doesn't matter if pointers are LONG (instead of ULONG) in a a lot of places as long as one only check for ==null or !=null.
Since you most likely have changed all AllocMem to AllocSysObject (or whatever it was) surely all those incorrect if's was changed as well. Just turn the switch to 4GB and be done with it!! 3,5GB is a lot better than 1,5GB which is what we have today. Isn't not 2GB->3GB as you suggested, it's 1,5GB->3,5GB which is a huge deal.