I'm basing everything  I'm doing on the Principles of Operations manual
(POM). The Z/Architecture is the final authority for any program even MVS.
The linkage for PC instructions are handled by the linkage stack which fully
supports 128 bit PSW and 64 bit  registers. If it didn't, nothing that I'm
doing would work. I've had STORAGE abends (B78 etc) and they get
communicated to my RTM exit and the exit handles the 64 bit retry by
retrying into a 31 bit stub that BSMs to the actual retry.  It's important
that I mention that even in PC calls, I insure that all parameters are below
the bar. And if a problem ever did occur, I would simply start relocating PC
calls below the bar as well. This methodology works for BLDL so I can't see
why it wouldn't work for STORAGE. I've been running RMODE64 since shortly
after 1.13 became available without incident related to RMODE64 except
program bugs. All of this probably works because the RMODe64 programs define
a 31 bit RTM exit and 31 bit retries.

I understand your objection to LOAD with ADDR=. The fact that the code is
not identified can be problematic. But the nucleus solves this problem by
using load tables (CVT, SVT, SFT, etc) and provides a service, NUCLKUP. I
have simply adopted that methodology; a load table with a RESOLVE command
that is also PC intelligent. It's not difficult to extract the LTOR and
resolve the entry tables. The POM describes the architecture very
thoroughly.

I actually don't use ADDR64=. During server initialization, I have to load
the code to verify whether or not the code has changed. Since all of the
code is self-relocating (no ESDs or RLDs), if it has changed, I simply MVCL
it into the common memory object.  At the end of initialization, I also DAT
protect the code area so that essentially, except for the fact that it can't
be identified, it's just like an LPA above the bar. If there were a way to
identify RMODE64 code, I would use it. 

Kenneth

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Peter Relson
Sent: Thursday, July 11, 2013 6:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Dynamic LPA Services

RMODE64: Perhaps you are not aware that z/OS provides support for RMODE 64
routines only when they call no system services.
If that was your case, then great. But apparently it isn't since you
mentioned STORAGE and ESTAEX and CSVQUERY which certainly do not document
that they support RMODE 64 invocation. You are taking a risk. Is it worth
it?

Presumably you are using LOAD with ADDR64 rather than LOAD with ADDR. 
Perhaps I misread your original post, but I thought it said LOAD with ADDR.

I still fully stand by the statement that lOAD with ADDR= to common storage
should not be used for programs any longer. LOAD with ADDR64, it is true,
has no dynamic LPA equivalent so to the extent you have a routine that
properly qualifies, there can be benefit.

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
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