I do (a SYSUDUMP). I looked at the DUCT values and it was still in
BSA-reduced authority mode and the return address looked good. But Jim
Mulder spotted my error (the abending BSA should be BSA R5,0).
Thanks, Gary
Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone +1.613.523.5500 x216
Email: [email protected]
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any attachments is confidential and may be subject to copyright or other intellectual property protection. If you are not the intended recipient, you are not authorized to use or disclose this information, and we request that you notify us by reply mail or telephone and delete the original message from your mail system.
__________
On 2015-12-15 19:42, John P. Baker wrote:
Gary,
Do you have a storage dump available?
John P. Baker
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On
Behalf Of Gary Weinhold
Sent: Tuesday, December 15, 2015 6:05 PM
To: [email protected]
Subject: BSA (Branch and Set Authority)
I decided to start looking at the BSA instruction as part of a solution to
accessing memory in various keys using key 0.
I'm running a reentrant program from an authorized library (so it's loaded in
key 0) in problem state; I get a S0D3 abend, which I assume is PIC 13 Special
Operation exception, executing the following code:
LARL R6,BSA_RA Address for reduced authority routine
OILH R6,X'8000' Mark address 31-bit
LLILF R5,X'00C00090' preserve PKM, switch to Key 9
BSA R5,R6 Off to Reduced Authority routine
BSA_BA DS 0H Return to base authority
...
BSA_RA DS 0H Reduced authority routine
SR R6,R6 zero R6 in order to return
BSA R5,R6 Return to base authority
DC X'00DEAD00' If something unpredicted happens
I abend S0D3 in the BSA_RA routine on the BSA instruction. Until I had the
program in key 0 memory, I abended S0C4 as I entered the BSA_RA routine at the
SR R6,R6 instruction because the program was loaded in key 8 fetch-protected
memory.
The only reason listed for a Special Operation exception for BSA is if
R6 is non-zero when returning to base authority. And the dump shows it is
zero, and PSW is not updated with the address of BSA_BA.
Does anyone have any ideas of what probably obvious thing I'm missing here?
Regards, Gary