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


Reply via email to