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

Re: Virtual Memory (Was Re: Kernel 1.14.7 available)



morfan@etu.info.unicaen.fr%INTERNET wrote:
> 
> > 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).

Well, TOS only defines ST-RAM and alternate RAM. Alternate RAM is all
RAM
which is not ST compatible, no matter how fast.
 
> 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.)

This is not a TOS bug. Falcon TOS doesn't allow to "switch off" the
blitter
because there are no replacement calls within the VDI which would be
called
instead.

AFAIK the only solution to this is to either completely replace Atari's
VDI by something else like NVDI, or to do some severe hacking on all VDI
calls which do raster transfers.


> 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.