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

