I happened to be browsing PoOPS for another reason and noticed that TPROT is a privileged instruction. Reading the instruction details I couldn't really see any particular security exposure that could result from TPROT being usable in a non-privileged mode by unauthorized programs.
Reading about TPROT led me of course to IVSK, which is needed to extract the access and fetch bits for the block of storage to be tested with TPROT. Same question there, why is it privileged? It would seem that it is privileged because it is subject to the extraction-authority control, bit 36 of control register 0, which can obviously only be set by a privileged program like the operating system code. But why protect IVSK so closely (and probably by implication TPROT)? It would seem to me to be an obvious boon to careful programmers willing to code tests of their input argument addresses to verify that those addresses can be fetched from, and possibly also for some argument addresses whether they can be stored into. I really can't see the security exposure here. Can anyone explain the privilege requirement to me? TIA for helping to cure my ignorance. Peter This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system.