On Jan 16, 2014 3:50 PM, "Ethan Dicks" <ethan.dicks at gmail.com> wrote:
I never tried it in any other machine, so I can't
speak to
compatibility issues, but because instruction restart really worked,
the 68010 _was_ used for early UNIX machines where a simple 68000
system wouldn't have worked
The MC68010 (and 012, 020, and 030) use instruction continuation, not
instruction restart. On a bus error or address error they write nearly the
entire non-architectural state of the processor into a rather large
exception frame on the stack. Most of that frame (sometimes known as the
stack puke) was undocumented. The fields that were documented were the ones
necessary to identify the faulted access, and optionally to complete the
access in the handler. On RTE, the processor would reload its state from
the frame, and unless the handler marked the access as completed jn the
frame, rerun the faulted memory access.
Unlike the MC68000 and MC68008, most of the chup test functionality of the
MC68010/012/020/030 was invoked by constructing a stack puke with special
values, and doing an RTE.
The MC68040 and MC68060 changed to an instruction restart model.