On 2015-07-04 17:08, Jules Richardson wrote:
On 07/03/2015 06:59 PM, Johnny Billquist wrote:
I find it hard to believe it was a plain 68K in
there. That CPU have some
serious issues that makes it close to impossible to implement virtual
memory or proper usermode protection.
(Yes, it can be done, but the amount of hardware required means most did
not. I think SUN did it with their own MMU, and an extra CPU in there.
Trying to remember who else - I seem to remember one other company who
actually used a plain 68K, and it was not Unisys.)
Essentially, the 68010 is pretty much the minimum of processor needed to
make a sane system to run Unix on.
I've got a few Torch boards which use a plain ol' m68k (either 8 or
10MHz depending on the variant) and they were capable of running Uniplus+.
There's very little other logic on the boards, although they do have a
local Z80 (they were designed to run Torch's CP/M variant too), so I
suppose it's possible that could be employed somehow to provide the
necessary support for the m68k.
How hard can it be to understand/believe that the 68000 cannot be used
without some serious hardware hacking? Not something most companies did.
The problems revolve around the fact that instructions cannot be
properly restarted on the 68000. Not enough context is saved. This in
turn means you cannot do demand paging, as that will cause a memory
exception trap, from which you cannot recover.
(The tricks done by those who did fix this consists of having a second
processor which gets interrupted when you get a page fault, and the
second processor do all the work related to the page fault, while the
primary processor just stalls until the memory is available, at which
point it can continue. There is no limits to how long the CPU can wait
for memory to return data on a read.)
Also, there is no MMU from Motorola for the 68000, so you would have to
design your own.
In addition, there is also a potential privilege escalation problem with
the 68K if I remember right. You always have full access to the whole
processor status word in that CPU. I can't remember what the scope of
that issue is. It might only be information leak, or it might be that
you can elevate yourself as well.
These problems were all addresses in the 68010.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol