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

Reply via email to