On Mar 2, 2018, at 8:37 AM, Noel Chiappa via cctalk
<cctalk at classiccmp.org> wrote:
From: Jerry Weiss
Typically execution of the RESET instruction in a
user program is
treated as a NOP
Yeah, that's not documented in most PDP-11 CPU manuals, either. It's one of
the things that makes the PDP-11 impossible to virtualize; only HALT and SPL
trap, IIRC. M[TF]P[ID] doesn't, I think, and neither does WAIT or RT[IT],
IIRC.
RTI/RTT are used in the debugger, so they need to work in user mode. They refuse to raise
your privilege level, though. But an RTI in user mode that returns to user mode is
perfectly ok so it is valid.
The move from/to previous are also valid, by deliberate design. This works because the
previous mode is explicitly encoded in the PSW, and just like the current mode, cannot be
raised by user mode RTI. It is why the kernel usually sets current == previous == user
when constructing the PSW for a process.
What does the Architecture handbook say about WAIT and RESET in non-kernel modes? I
don't have mine at hand unfortunately.
paul