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