Walt Farrell wrote:
>I don't think you've proven that SRQEACEE is still what you expect. You've 
>shown us SRQERSVA, where you saved a copy of SRQEACEE, and a copy of the ACEE 
>address. And SRQERSVA is apparently still good. But you haven't actually shown 
>us SRQEACEE (unless it is defined as being at SRQERSVA, which seems unlikely), 
>and when you loaded SRQEACEE you got 0 (as shown by what's in R4).
>So it seems like something _has_ stepped on SRQEACEE.

I meant that R4 was *pointing* at zeroes. The contents of R4 == SRQEACEE.

>(It is also not clear where you got the ACEE address from in the first place; 
>that is also important, and often done incorrectly in cross-memory code, and 
>it would be good to see that code.)

Good question. I'm convinced because I've verified that the ACEE eyecatcher is 
visible back in the PC handler when I can "see" the HASN, and here's the code 
that gets the ACEE, also from that module:

         L     R4,PSAAOLD         callers ascb
         USING ASCB,R4            short term addressability

         L     R5,ASCBASXB        ascb extension
         USING ASXB,R5
         MVC   SRQEACEE,ASXBSENV  addr of ACEE in secondary space

         ICM   R1,15,TCBSENV      ACEE this task
         BZ    *+8                usually there
         ST    R1,SRQEACEE        retain ESM preference

>(And, as another list member pointed out, an ASN is not the same as an ALET, 
>so your usage of SRQESASN seems suspect.)

Yeah, that part is clearly wrong; see below, where I reply to Rob.

Rob Scott wrote:
>Your code has :
>LH    R1,SRQESASN      Get caller's SASN
>SAR   R4,R1            Set that in AR4

>Access registers should contain ALET values - not a hex ASID value.

>"ESAR" returns the ASID value (copied from CR3) - it does NOT contain the ALET 
>value for the SASN.

That's clearly part of my confusion. Makes sense; seemed too simple. So I'm 
sort of going in circles here: I need an ALET, ok...so I can find the STOKEN 
from the ASSB and use ALESERV to get the ALET? That's where I started. 

Is ASID ==> STOKEN (via LOCASID/ASSBSTKN) ==> ALESERV expected to always work, 
modulo permissions (not an issue here, we have EAX authority to all address 
spaces)? That's what I thought I was doing.

>You also state that "another module" tries to reference data in the SASN - how 
>and where is that module called and what is the cross-memory environment when 
>it executes?

It's a lower-level module in the same STC. There's the code that handles the PC 
(on the "STC side" of the PC), which creates and queues the request. Later on, 
the request block gets pulled off the stack and the RACROUTE is done then. So 
by then, we're long past having the same HASN (I finally understand!).


I do feel like I'm making (very slow!) progress, thanks to all the helpful 
folks here. I think tomorrow I will try to back up and sort of start over from 
the "OK, it works fine for batch" point. Now that I understand a bit more about 
what I'm doing, hopefully I'll get past my mistakes.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to