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

Re: [MiNT] virtual memory



Hello!

> > And at last the tables can be swapable too.
> 
> This won't work, especially for global memory (which is where I started
> running into problems).

I don't see the problem. Can you explain it me please?

> Each process needs to see the global memory in 
> it's MMU table.

Yes.

> Unless we want to restrict the size of virtual memory (I
> don't), that means that each process needs at a fully populated global
> table.  -That- table will take 2,163,200 bytes.

No, here I disagree. What about the idea: the table is big as it's
needed. Global memory is mapped to all MMU tables on the same place. For
that it would be very easy that one root level pointer always point to the
global memory table. The global memory table is shared for all processes.
And if it's out of space another root level pointer is used for a second
global table.

> Maybe I mis-spoke.  I am not re-writing the entire MMU table on a context
> switch.  I am changing the bits in the level 3 tables associated with up to two
> processes - the one being switched out and the one being switched in.
> Entries for processes not involved in the context switch will not have
> their entires modified.

And are visible to the new process in this case? I can't see how you will
make the table consistent per process without overlapping or collisions.

Or is you approach what we have one 4 GB virtual address space and all
applications use the same space? Application 1 use 0 - 32 MB, app 2 33 -
64 MB and so on?


Tschuess
   ...Frank

--
ATARI FALCON 040 // MILAN 060
-----------------------------------------
http://www.cs.uni-magdeburg.de/~fnaumann/
e-Mail: fnaumann@freemint.de