Steve Thompson wrote: > BTW, there are a few instructions on IBM systems that are not > documented. One of those is, SIGH (ok, SIE :) ). You can't SIE an > SIE either (this is part of the Interpretive Execution Facility).
Actually, the original SIE was documented in "IBM System/370 Extended Architecture — Interpretive Execution" (SA22-7095-00). You can find it at http://bitsavers.org/pdf/ibm/370/princOps/SA22-7095-0_370-XA_Interpretive_Execution_Jan84.pdf. The storage operand of the SIE instruction is the state-description block (SDB), the original format of which (described in SA22-7095) is no longer supported. Alas, the documentation of current versions of the SDB are not publicly available. However, various customers made use of the original-recipe SIE. As I recall, Stanford Linear Accelerator Center (SLAC) made use of SIE to dispatch a Wylbur guest (thus isolating the rest of the OS from Wylbur's proclivity to wildly branch while in supervisor state). Since the operand of the SIE instruction is not another instruction, I'm not sure what you mean by "You can't SIE an SIE either ..." The SIE firmware certainly allows multiple levels of interpretive execution: PR/SM issues SIE to dispatch a logical partition (a 1st-level guest), and zVM running in a partition issues SIE to dispatch a virtual-machine guest (a 2nd-level guest). Conceivably — given a really smart VM guest, and access to the current SIE doc — you could dispatch additional levels of guest configurations.