> On Mar 2, 2018, at 8:37 AM, Noel Chiappa via cctalk <[email protected]>
> 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