Chris Craddock wrote:
As for running in key 8 in an SRB, it is certainly NOT necessary (there are mixed key 
instructions for safely moving data to/from caller storage) and furthermore it is 
actually a bad idea for a number of reasons. First, it is a fairly unusual condition for 
an SRB to run in - potentially causing serious astonishment (I.e. Generally a bad idea) 
in called code, but here's my personal favorite dingbat reason... Running an SRB in a 
user key is a probable integrity violation if the SRB uses user key storage for work 
areas, save areas etc. So the ostensible "ooh it is safer in user key" is just 
a crock.

For the record, I have never once run an SRB in anything but a system PSW key, 
and wouldn't. There's just no reason to


In the olden days, all SRBs were short-lived, non-preemptible, routines
that did system-related things like I/O completion, cross-memory POST,
queuing of an IRB exit to a TCB, and so forth. Such SRBs still exist and
they normally run in key zero.

The emergence of client SRBs and enclave SRBs has changed things in
recent years. Such preemptible-class SRBs are just another unit of work
under which application code can run. Enclave SRBs are particularly
popular right now because they can be (legally) marked eligible for
dispatch on a zIIP.

Our infrastructure allows our "application" code to run in either an
enclave SRB if zIIPs are present or in TCB mode otherwise. Unless it
specifically inspects the contents of PSATOLD, the application should
not be able to detect (or care) in which type of dispatchable unit it
happens to be running. We do everything we can to make the environments
identical in every way to keep all program behaviors identical, to
minimize environment-specific code, and avoid "surprises". There is just
no way we're going to force non-key zero code to run in key zero just
because it happens to be dispatched in an enclave SRB. In this case, key
zero execution is both unnecessary and undesirable...

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
[email protected]
http://www.phoenixsoftware.com/

Reply via email to