> On Mar 2, 2018, at 8:37 AM, Noel Chiappa via cctalk <firstname.lastname@example.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