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

[MiNT] Trans.: Re: MMU usage in MiNT, fork/mmap



Sorry for double post, Evan.

----- Message transféré de Xavier Joubert <xavier.joubert@free.fr> -----
   Date : Thu,  7 Apr 2005 23:30:27 +0200
     De : Xavier Joubert <xavier.joubert@free.fr>
Adresse de retour :Xavier Joubert <xavier.joubert@free.fr>
  Sujet : Re: [MiNT] MMU usage in MiNT, fork/mmap
      À : "Evan K. Langlois" <Evan@CoolRunningConcepts.com>

Hi Evan,


Selon "Evan K. Langlois" <Evan@CoolRunningConcepts.com>:
> OK, I remember some older machines doing that - think my 3b2 works that
> way.  That's gotta be a real performance killer though having to copy a
> process at fork and again at every task switch.  Is anyone actively

You don't have to copy any data. A mere switch between two MMU trees is enough.

> working on a real virtual address space for MiNT?  I have a feeling this
> will eventually be necessary.

I wrote a full virtual memory engine for TOS some years ago. ASM sources are
available on Patrice Mandin's site (
http://membres.lycos.fr/pmandin/download/src/sysinc.zip ). I was young. I
didn't know mmap() at this time. I would write many things differently today.

It's been a long time I would like to work on implementing this in MiNT. But I
never found time to study current code. We need to implement a virtual address
space first. To be clean, this should interact closely with disk cache
management.

> How different are the MMUs between the different processors?  Looks like
> I need to get that stupid cross-compiler working soon.

040 and 060 MMUs are a subset of 030 MMU. Don't use any 030 specific stuff.

Each processor family (030, 040 and 060) has different way to configure its MMU
and to recover from access fault. We need a code path for each.

MMU trees are compatible.


Best regards,


Xavier
----- Fin du message transféré -----