News for hackers. Stuff that matters.
Re:Busy Being Born (2004) by Taniwha on Monday May 17, 2021 @12:33AM (#27180067)
The Lisa had a base&bounds MMU (a bit like a pdp-11) not a full paging MMU - we ported pre-sysVr2 (ie pre paging) Unix to it
Re:Busy Being Born (2004) by cmrdporcupine on Monday May 17, 2021 @10:51AM (#27184109)
I need to read up on the Lisa MMU some more, it's interesting because my impression was that 68k in general was not friendly to these things as it was not possible to recover from a bus error.

Is the idea that you couldn't demand page, but that there'd be memory protection of some kind through the MMU for the entire process by rewriting addresses?

I remember reading that some workstation vendors ran two 68k CPUs in parallel in order to make it possible to recover from a bus error. Until the 68010 was released with the fix for this.

Re:Busy Being Born (2004) by Taniwha on Tuesday May 18, 2021 @08:39PM (#27203207)
I used to port Unix to 68ks - there were several ways to get around this issue - 68010s could happily take a page fault, or you could use the (tacky and expensive) two 68k thing (few did, it was a real pain).

For a traditional swapping kernel (ie anything prior to SVr2) the only time you ever needed to be able to recover from a page fault was when you did automatic stack extension, there was a simple solution to this, have the compiler emit a "tst n(sp)", or similar instruction at every subroutine entry - because it was an instruction without side effects the kernel could recognise it, extend the stack space (by enough extra to be able to do the next call, hence the 'n') and resume execution by faking the appropriate kernel stack frame