The entry table was reorganized to define the Non Space Switching PC Routine into slot 00. The original Occupant of SLot 00 replaced Slot 04.
My LXRES macro did not spedify an LXSIZE since I took the default I changed the LXRES to explicitly specify LXSIZE: LA R2,1 Request 1 LX ST R2,LXCOUNT Request 1 LX LXRES LXLIST=LXL,SYSTEM=NO,REUSABLE=NO,LXSIZE=12 I am running on z/OS 1.6- Yes Its an Older System. REUSE Is not available on this LPAR. I decided to dump the Entry Table (see below). I was expecting the Non Space Switching PC Routine in ETE entry 00to be loaded at a much higher Address Space. PC# DD00 Routine PC_cp was loaded at 9C31A340 PC# DD01 Routine PC_SS was loaded at 9DC00050 PC# DD02 Routine PC_SS was loaded at 9DC01098 PC# DD03 Routine PC_SS was loaded at 9DC02BB0 PC# DD04 Routine PC_SS was loaded at 9DC03000 Entry Table ----------- C5E3C4C5 E2C3E3C1 C2D3C540 00000000 01000005 00800000 00000000 9C31A340 FFFF8001 00000000 81000000 00000000 00000000 00000000 00000000 01C00000 00000000 9DC00050 00C00080 00000000 90800000 00000000 00000000 00000000 00000000 02C00000 00000000 9DC01098 80C08080 1DC00718 91800000 00000000 00000000 00000000 00000000 03C00000 00000000 9DC02BB0 80C08080 1DC00718 80000000 00000000 00000000 00000000 00000000 04C00000 00000000 9DC03000 00C00080 00000000 90800000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 D7C36DD3 D6C1C46D D3C9E2E3 E7D4E2C3 D6D5D5D7 1DC01D2E 1DC01DC8 E7D4E2C3 D6D5D540 1DC01C1E 1DC01DB0 E7D4E2C4 C9E2C3D7 1DC01C76 1DC01DB0 E7D4E2C2 C1E2C9C3 1DC01CD2 1DC01DB0 D4D6D5E2 E6D3D440 1DC01BC6 1DC01DB0 FFFFFFFF FFFFFFFF 00000000 00340000 E7D4E2C4 C5C6F5F0 F0406040 C3A88393 89958740 A39640F1 F0F2F440 E2A381A3 85404040 40404040 40404040 40404040 00340000 E7D4E2C4 C5C6F5F1 F0406040 D3968184 89958740 40FFFFFF FFFFFFFF FF404040 40404040 40404040 40404040 40404040 Regarding - replacing the Load To Global with CSVDLPA. Jim Muldurs and Peter contributions are well taken. I would like to get the basic Non Space Switching routine to "work" first. Paul D'Angelo ---------- Original Message ---------- From: Rob Scott <[email protected]> To: [email protected] Subject: Re: Load To Global with PC_cp Date: Sun, 17 Feb 2013 16:59:09 +0000 I would guess that something is wrong with the creation of the ETEs. To debug this, I would be tempted to move the definition of the new PC into the first block of 4 ETEs and retry - if that works then see what happens to the PC routine that now occupies slot #5. Rob Scott Lead Developer Rocket Software 77 Fourth Avenue . Suite 100 . Waltham . MA 02451-1468 . USA Tel: +1.781.684.2305 Email: [email protected] Web: www.rocketsoftware.com -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of [email protected] Sent: 17 February 2013 15:45 To: [email protected] Subject: Re: Load To Global with PC_cp The Responses have been interesting. With Respect to ETDEF SET,HEADER=, it is Not being used at this time.,, The Question about the Header prompted me to check the source code. There are 5 PC Routines corresponding to 5 PC Numbers 0000DD00-0000DD04 There are 5 seperate ETDEF TYPE=SET instructions. The Header Is Not altered. DC CL12'ETDESCTABLE ' Eye Catcher ETDESC ETDEF TYPE=INITIAL ETD1 ETDEF TYPE=ENTRY,ROUTINE=0,AKM=(8,9),EKM=(9) ETD2 ETDEF TYPE=ENTRY,ROUTINE=0,AKM=(8,9),EKM=(9) ETD3 ETDEF TYPE=ENTRY,ROUTINE=0,AKM=(8,9),EKM=(9) ETD4 ETDEF TYPE=ENTRY,ROUTINE=0,AKM=(8,9),EKM=(9) ETD5 ETDEF TYPE=ENTRY,ROUTINE=0,AKM=(8,9),EKM=(9) ETDEF TYPE=FINAL ---------- Original Message ---------- From: Rob Scott <[email protected]> To: [email protected] Subject: Re: Load To Global with PC_cp Date: Sun, 17 Feb 2013 11:33:13 +0000 What value do you have on the NUMETE keyword on the ETDEF SET,HEADER=xxxx statement? Rob Scott Lead Developer Rocket Software 77 Fourth Avenue . Suite 100 . Waltham . MA 02451-1468 . USA Tel: +1.781.684.2305 Email: [email protected] Web: www.rocketsoftware.com -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of [email protected] Sent: 16 February 2013 16:15 To: [email protected] Subject: Load To Global with PC_cp 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 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
