Thanks. Yes, adding MODE=SUP to my KEY=ZERO MODESET would obviously solve
the problem, short-term. I have resisted that for three reasons, listed
below roughly in order of importance as I see it. I would welcome comments
on my logic.

1. How do I get back to problem state? I don't want to run the whole
application, which runs for days at a time, mostly in LE C++, in supervisor
state. Using MODESET/SVC 107 to get back defeats the whole purpose of this
exercise. If I don't mind the SVC 107 I could just forget the SPKA entirely
and simply use MODESET KEY=NZERO. Am I correct that there is no "simple"
machine instruction that sets the Problem bit off?
2. I believe in least privilege. I never run supervisor state when program
state will do. It seems a shame to run supervisor state just to work around
an MVS gotcha.
3. I wonder if adding MODE=SUP to MODESET KEY=ZERO slows it down
significantly. Does it double the path length in MVS?

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Binyamin Dissen
Sent: Tuesday, December 13, 2016 9:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Question on SPKA and Control Register 3

Yep, it is a bug.

The PSW key mask has key 0 and key9  after the combination. Not key 8. I
would not expect MODESET to alter the key mask.

Of course, I have never found the occasion to run key zero problem state
(since it doesn't prevent overlays). I would use supervisor state and switch
out of key when needed.


On Tue, 13 Dec 2016 08:27:41 -0800 Charles Mills <charl...@mcn.org> wrote:

:>Just to continue the experiment and confirm my conclusion, all I have to
do :>to get the below to "work" is remove the last MODESET:
:>
:>         MODESET KEY=NZERO         Make sure we are in Key 8
:>         MODESET MODE=PROB         Allow SPKA 8
:>*  ***   MODESET KEY=ZERO          Get access to CSA
:>         SPKA  X'80'(0)            *** Total experiment ***
:>
:>So I rest my case: a MODESET leaves you in a state where you can do any
SPKA :>you want so long as it is for the key you already are in.
:>
:>Or, turning this from a complaint to the underlying question: if you had
:>code that was executed *very* frequently and needed to be in Key 0
briefly, :>what would you do? Is there any way to avoid the SVC when
returning to Key :>8?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to