Rob Scott wrote >(a) The first will have LXRES SYSTEM=YES for the PC-cp - this will be >>automatically available to ALL address spaces >(b) The second will have LXRES SYSTEM=NO for the other PC-ss routines that >>your "selected" address spaces will use
Its interesting Rob recommended the reservation of two Linkage Indexs. In the Original Washington Systems Cross Memory Users Guide by Paul Doran and Udo Pimiskern, the above technique was suggested. (that was 1981) However with z/OS and Extended Addressability, this technique is not really discussed. The example in Extended Addressability for z/OS 1.6, shows two PC routines: one Space Switching and the other Non Space Switching. The exmple reserves a single Non System Linkage Index There is no mention of using 2 LXs ???? Where does z/OS Extended Addressability mention the use of 2 LXs in IBMs example ? Did I miss that section ? If I remember correctly a Non Reusable SYSTEM LX is not freed for Reuse. The LX becomes dormant, requireing some type of restart capability - on behalf of the Service Provider Address Space. If a Server Address Space Reserves a System Linkage Index for "ALL Address Space", what is the point of reserving a Non System Linkage for "Selected Address Spaces' ? What am I missing here ? Now returning to Rob Scotts recommendation, I would need to have two routines. One routine Reserves a System linkage for PC_cp and the second routine reserves a non Systems Linkage for Space Switching Routines PC_ss. Routine 1 Would Issue a sequence Of Instructions: LXRES SYSTEM=YES LA R2,1 ATSET AX=(R2) ETCRE ENTRIES=ETDESC1 Routine 2 Would Issue a sequence Of Instructions: AXRES AXLIST=AXL AXSET AX=AXVALUE LXRES SYSTEM=NO,LXLIST=LXL ETCRE ENTRIES=ETDESC2 Paul D'Angelo ---------- Original Message ---------- From: Rob Scott <[email protected]> To: [email protected] Subject: Re: Load To Global with PC_cp Date: Mon, 18 Feb 2013 14:57:04 +0000 >1)The primry responsibility of this Non-Space Switching Routine (PC_cp) was to allow a problem progrm to switch to Supervisor State and issue ATSET & ETCON. Then this PC routine *must* be part of an System-LX (its LXRES must specify SYSTEM=YES) - otherwise you have a chicken-and-egg scenario with authorization. If you are intending to have a single PC-cp to do ETCON+ATSET so that the caller can use non-SysLX PC-ss routines, then you will need to establish *two* linkage indexes : (a) The first will have LXRES SYSTEM=YES for the PC-cp - this will be automatically available to ALL address spaces (b) The second will have LXRES SYSTEM=NO for the other PC-ss routines that your "selected" address spaces will use If you go down this design route, it would probably be a good idea to have some sort of SAF check in the PC-cp 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: 18 February 2013 14:37 To: [email protected] Subject: Re: Load To Global with PC_cp 1)The primry responsibility of this Non-Space Switching Routine (PC_cp) was to allow a problem progrm to switch to Supervisor State and issue ATSET & ETCON. 2)The Server Address Space that issued the LXRES is Active. Paul D'Angelo ---------- Original Message ---------- From: Rob Scott <[email protected]> To: [email protected] Subject: Re: Load To Global with PC_cp Date: Mon, 18 Feb 2013 12:25:53 +0000 For LXRES with SYSTEM=NO and for stacking PCs, the code executing in the client : (1) Requires ATSET and ETCON when SASN=OLD (2) Requires ETCON when SASN=NEW 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 Binyamin Dissen Sent: 18 February 2013 10:05 To: [email protected] Subject: Re: Load To Global with PC_cp I do not believe that the client need issue the ETCON. Just the ATSET. On Mon, 18 Feb 2013 08:59:13 +0000 Rob Scott <[email protected]> wrote: :>Also - it is worth checking that the ATSET and ETCON that should have been issued by the client address space were successful :> :>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 Rob Scott :>Sent: 17 February 2013 22:44 :>To: [email protected] :>Subject: Re: Load To Global with PC_cp :> :>This might sound a bit of a stupid question but - is the address space that established the LX index still active? :> :>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 21:47 :>To: [email protected] :>Subject: Re: Load To Global with PC_cp :> :>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 :> :>---------------------------------------------------------------------- :>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 -- 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: 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
