I don't know what you're trying to do but I would never define a PC in the
LPA for a lot of reasons. The most basic of these is that LPA routines are
callable by the EP=or EPLOC= parameter on LOAD, LINK, XCTL and ATTACH
services. When called from these services the traditional linkage is
significantly different than PC linkage.  Of course, you might want to be
callable by a LOAD, LINK, XCTL and ATTACH service which means you would have
a separate entry point defined for the PC routine. I use a jump table at the
start of a program to define multiple entry points. 

To define system level PC routine, I normally acquire a CSA control block
that can be found by a system level name/token. Another approach is to use a
word in the ECVT that has been assigned to you. I don't remember the
procedure but a vendor can get one word in the ECVT assigned by IBM to that
vendor. You may use another method. But regardless of the method used to
anchor the control block, the small CSA control block would contain the
EPA/Length and PC assignments. I always define reusable LXs, so I keep the
LX number in there as well. I think reusable LXs are simpler but you have to
check control register 0 to make sure the feature is available.  I then
acquire key 0 SP=241 (CSA non-fetch protected) storage and I do a LOAD ADDR=
into that CSA storage. I can now define the PC. Each time you need to
refresh the PC routine, you'll need to release the old storage, load a fresh
copy and redefine the PC. If you use a reusable PC number, the PC number
(low 32 bits) will remain the same (unless you change it)  but a the
sequence number (high 32 bits architecturally passed in r15) will be
incremented by one. For that reason, I always use R15 as the PC register and
I save the sequence number and PC number in a double word so I can load it
into R15 and do a PC 0(R15).

Since you're getting a D6-22 and you're sure the PC is defined, I suspect
that the defining  address space has terminated. MVS has to have an address
space to own a resource. When you acquire an LX and define a range of PC
routines,  tables are created in real storage and are assigned to the
defining address space. The PCAUTH server defines your PC tables in the
private SQA of the PCAUTH address space. They are disconnected and released
from real storage whenever the address space terminates. If you want PC
routines to persist for the duration of an IPL, you need to schedule an SRB
into a system address space to define the required PCs. The choice of system
address space is yours. The non-space switch PC won't execute In the system
address space. It will execute under the DU control blocks (SRB or TCB) in
the address space of the caller.  

Kenneth

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Chuck Arney
Sent: Sunday, July 07, 2013 3:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

Did your dynamic LPA replace a module that was already established as the PC
routine?  The book says you can't do that, as the PC linkage tables are not
updated by the dynamic LPA service.  If you are replacing a module defined
as a PC you would have to remove the PC and redefine it with the new module
address.  

Chuck Arney
Arney Computer Systems

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of esst...@juno.com
Sent: Sunday, July 07, 2013 3:08 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

Chuck Areny
"It should work just fine Paul"

Well I tend to agree, I seem to get the old 0D6-22 Abend when I try To PC to
the routine.
I first thought PC number was incorrect however I listed my PC Numbers and
respective PC number is correct. Thats why I posted this question.

Thanks For the Response, I will recheck the code.
Paul D'Angelo

---------- Original Message ----------
From: Chuck Arney <ch...@arneycomputer.com>
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services
Date: Sun, 7 Jul 2013 14:12:34 -0500

It should work just fine Paul.

Chuck Arney
Arney Computer Systems

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of esst...@juno.com
Sent: Sunday, July 07, 2013 12:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Dynamic LPA Services

i have been woking with the Dynamic LPA services of z/OS (CSVDYLPA).
Im abel to add, delete, and invoke  modules that were dynamically added to
"LPA" using CSYDYLPA and CSVQUERY.

However after re-reading the description of CSVDYLPA, its not really LPA,
its more Common storage. 

So my question is - Should I be able to invoke a Dynamically Added Module as
a Non Space Switching PC Routine. 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to