[comp.arch] call gates

baum@Apple.COM (Allen J. Baum) (10/07/88)

[]

The HP Spectrum has a call gate mechanism, using the GATEWAY instruction.
This is an unconditional, PC-rel. branch & link. It changes privilege levels
to that of a field in the page table entry of the GATEWAY instruction. This
is used ( I think) by jumping to a special page of gateway instructions,
which can then jump and promote your to a particular privilege level.

There are details about executing the delay slot so that the sequence:
     JMP gate
     JMP back (in delay slot)
gate:GATEWAY
back:my code

won't cause a priviege level change, executing in your own code. See the
HP Precision Architecture Handbook (HP# 5954-9906) for details, or
get someone from HP to post....
--
{decwrl,hplabs}!nsc!baum@apple.com		(408)973-3385