Load To Global with PC_cp

It is/was my understanding that a Service Provider Address Space 
could issue a Load To Global for a program *and* use that program 
as a Non Space Switching PC routine (PC_cp).

Is my understanding incorrect ?

In My Service Provider Address Space I issued the following Macro
R7 Has the Address Of The Name of the Program To Load...                    
*                                                                       
         LOAD  EPLOC=(R7),                                             
               GLOBAL=(YES,P),ERRET=ZERR14,EOM=YES                      
                                                                       
*                                                                       
         STM   R15,R1,SVLOADZ         Save Registers From Load          
*
*
I follow the previous macro with a SETDEF macro as follows:
         LR    R2,R0               Address Of Loaded Module             
*                                                                       
         ETDEF TYPE=SET,ETEADR=ETD2,ROUTINE=(2),RAMODE=31,             
               STATE=SUPERVISOR,PC=STACKING,SSWITCH=NO,                
               SASN=NEW,ASCMODE=PRIMARY,                               
               PKM=OR,                                                
               AKM=(0:15),EKM=(0:15)                                    


The Program Call Number for this routine is X'0000DD04'.
Routines 0000DD00 thru 0000DD03 are space switching routines.

When My user program executes, It issues a PC instruction to call the Non Space 
Switching PC routine. The user program Abends with a x'0D6' and interrupt code 
of x'22'. Register 14 did in fact have the right PC# 0000DD04

This appears to be a Linkage Translation Exception
A linkage index (LX) translation exception occurred; the program interruption 
code is X'22'

So I said To Myself - Self, What is a Linkage Translation Exception ?
Looking At Principals Of Operation (POP) I see that a Linkage Translation 
Exception can occur under two conditions.
1)The linkage-table entry designated by the linkage-index part of the PC
  number is beyond the end of the linkage table as designated by the 
  linkage-table designation used.

2)Bit 0 of the linkage-table entry is not zero.


For the first condition The Linkage-Index is 00DD00.
And I have invoked PC# 0000DD00 thru 0000DD03 as space switching routines PC_ss.

My Non Space Swithcing routine is associated with PC# 0000DD04.
So I ruled that condition out.

The second condition refers to a Non Zero Bit In the Linkage Table.
Im not understanding how my Cross Memory Setup would affect the Linkage Table 
in this way.
Actually I am really courious to know How I affected The Linkage Table.


So ... Can some one Explaing  why I am Abending with a 0D6 - 22
For A Non Space Switching Routine PC_cp that was loaded to common storage
via a Load To Global ?

Im not understanding this. 

Should I be able to issue a Load To Global and expect it to be the
target of a Non Space Switching PC Routine from Other users.    


SYSTEM COMPLETION CODE=0D6  REASON CODE=00000022                  
 TIME=22.58.35  SEQ=04217  CPU=0000  ASID=0024                    
 PSW AT TIME OF ERROR  078D0000   9DC00F6A  ILC 4  INTC 22        
   ACTIVE LOAD MODULE           ADDRESS=1DC003E8  OFFSET=00000B82 
   NAME=XMSDRIVP                                                  
   DATA AT PSW  1DC00F64 - 000058E0  C3B0B218  E000D203           
   GR 0: 00000000   1: 1DC008E4                                   
      2: 1DC008E4   3: 1DC008E4                                   
      4: 006D09B0   5: 006FF438                                   
      6: 1DC00E80   7: 1DC00958                                   
      8: 006E2EC8   9: 006FF6F8                                   
      A: 00000000   B: 006FF438                                   
      C: 1DC003E8   D: 1DC006D4                                   
      E: 0000DD04   F: 00000000                                   
 END OF SYMPTOM DUMP                                              



Thank You
Paul D'Angelo
---------------------------------------------------

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

Reply via email to