On Sat, 19 Mar 2011 10:17:55 -0700 "Keith E. Moe" <[email protected]> wrote:

:>>The documentation that I can find is not really very helpful. Or I just 
don't understand it. But I'm wondering what, if any, is the relationship 
:>>between PSAAOLD and either the home address space or the primary address 
space. I know that a PC can do a space switch. In that case, 
:>>the primary address space becomes the "switched to" address space. The 
"switched from" address space (I think) becomes the secondary 
:>>address space. And the home address space stays the same. So, if I write 
some code which is invoked
:>> via a PC-ss instruction (not likely!), is PSAAOLD updated to point to the 
new primary address space? Or is it left as-is? I only ask because the 
:>>address is not mentioned in the Principles of Operation, but a comment in 
the DSECT says "fixed by architecture". Which indicates to me that 
:>>the hardware uses or modifies it in some way which is not documented.

:>>What brought this on is a product which works on z/OS 1.10, but abends with 
an S0C4-11 on z/OS 1.12. The code appears to be using a 
:>>pointer to the job's ASCB to look at some data in the job's SSIB. However, 
it appears that the primary address space is not the job's, but the 
:>>Master Scheduler's. This is for an *OMVSEX substep which I __think__ is 
going through termination. Needless to say that using TCB pointers 
:>>from one ASCB while a different ASCB is actually the primary is fairly well 
a guaranteed S0C4-11 
:>>since TCBs are not at the same virtual address in all address spaces (in 
primary addressing mode as this code is).

:>>Perhaps another question I should ask is: Is there a simple way to determine 
if a given ASCB address is the current Primary Address 
:>>Space's ASCB?

:>In z/OS 1.12, DIE (Disabled Interrupt Exit) routines now run with 
PASN=SASN=master with the HASN = to the interrupted address space.  If the 
:>product is attempting to reference any portion of the interrupted address 
space, it will need to switch to HOME mode.

Much much simpler to use ARMODE to reference HOME.

:>IBM documents that DIE routine are not "allowed" to reference any portion of 
the private area, since there is no guarantee what address space 
:>or mode the interrupted routine may be running in.  While this is technically 
true, until 1.12, the DIE routine could reference the private area of the 
:>interrupted address space.  But now such references are to the Master Address 
Space.

Which means in the future the HASID may not be what is expected. SO, buyer
beware.

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to