[net.micro.amiga] paging on Amiga: maybe

gnu@l5.uucp (John Gilmore) (09/24/85)

In article <527@tymix.UUCP>, granvold@tymix.UUCP (Tom Granvold) writes:
>     Exactly what, if any, kind if MMU does the Amiga have? Will it
>     support virtual memory and page faults?

No system based on the 68000 can offer true page faults unless it hangs
the processor while some-other-processor fetches the page (i.e. for a
large fraction of a second).  Putting a 68010 in an Amiga is certainly
doable (they're pin-compatible) but will require minor changes to their
firmware and operating system.  There will be no visible difference to
user programs.

If they were really smart, they'd have written the software to test at
power-up whether a 68000 or 68010 was installed, and deal accordingly.
You can test it by doing a TRAP instruction and seeing how many bytes
are pushed on the stack.  To support a 68010, you have to change the
bus error [page fault] handler, plus anywhere that builds a fake
interrupt stack frame and then does an "rte" to it.  An extra plus is
that this work will make dropping in a 68020 pretty easy.

Given a 68010, any MMU that can make an address invalid, and then later
make it valid, can offer page faults.  How *easy* it is to do this with
the MMU can be a factor in whether anyone will attempt it, though.