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

Virtual Memory (Was Re: Kernel 1.14.7 available)



> I meant real paging to avoid memory fragmentation _and_ virtual memory.
> The memory is paged now, but free pages aren't remapped to one large free
> block, so the memory fragmentation occurs.
> 
> BTW. 1.12.3? Uh.... could you upgrade to _at_least_ 1.12.6? :)
> 
> Konrad M.Kokoszkiewicz

Hello,
I was gone for some weeks and unable to read my e-mails so that I answer now to
 this one month old mail !
I don't know how far your new VM is from ready, but if your aim is to change it
completly I think I can help you, as I did a patch some years ago to let my MiNT
kernel use virtual memory. It works on my Falcon and has some interesting 
features (IMO):
1 It uses original data that was already in the MiNT kernel for tha VM (Yes,
  some of the MiNT memory handling routs were VM aware !
  e.g. Look for init_swap in mem.c)
  So it looks and works better (In My Own Humble Opinion) than the current VM,
  (the VM is not handled by the kernel as TT-RAM but as an other kind of RAM
   everywhere it was possible so that you won't have VM when you would like to
   get the faster TT-Ram). 

2 It can do memory paging even if virtual memory is disabled so no more fragmen
  tation.

3 Memory protection still works even if virtual memory is enabled.

I didn't release it because of a TOS- 4.04 bug wich I wasn't able to solve fast
enough:
whatever xbios call you do the Blitter is always enabled by the Xbios, and the
Multitos AES allocates its buffers from TT-RAM (the only place I handled V-RAM
as TT-RAM was in TOS Mxalloc memory allocation).
As the DMA & Blitter aren't PMMU-aware you cannot do DMA transfers from or to 
paged memory and you can write to bad memory locations by simply moving your
mouse !
One way to solve this problems would have been to create a patch for the Falcon
4.02 and 4.04 Xbios to let us disable the Blitter, but I was to busy to do this
and when I got some time, the new VM were released. I saw no needs to release
mine. (I didn't know that it didn't work ok in all situations.)
To the current state I have a 1.12h3 (yes, what an old kernel ;-) )with Virtual
memory but it works only in text mode (or maybe with X11 but I didn't try).
If there is some need for my VM patch I can work on it to solve my Falcon
blitter problems, and look to a more recent kernel to see if my patch is still
ok on it.

Cheers, Eddy.

P.S.
I think my patch should work ok on a TT, as this one as no Blitter,
unfortunately I have no TT and although I have relative diffs of my VM routs
I'm not sure these diffs will apply ok on a kernel more recent than my old one.

P.P.S
If somebody had a better idea to solve my problem it could help me.