The problem described sounds not very interesting to me, because the target area of the CSRSI service is simply moved above the bar.
What I would find much more interesting is: how would a true 64 bit program call the CSRSI service by temporarily establishing AMODE 31? The target areas of CSRSI or even all parms of CSRSI must be in areas below the bar, but they must be filled before and examined after the AMODE switch, while in AMODE 64. Is it possible to show with some lines of code, how this could be done? Not that I would need it know, but I did such things some 20 years ago, when migrating from AMODE 24 to AMODE 31, and I would like to know how it could be done today. For example, if we have a compiler on zLinux or z/OS, that produces true 64 bit code, and I would like to make the CSRSI service available to it through a small ASSEMBLER interface - is this possible? CSRSI is needed to create UUIDs on zArch, IIRC - you need to extract the LPAR number to get a unique machine id. Kind regards Bernd Am 20.12.2012 23:00, schrieb Edward Jaffe:
On 12/20/2012 12:36 PM, [email protected] wrote:I have a program that loads CSRSI, It obtains Storage for the response area, and invokes CSRSI via a Call I wanted to replace the STORAGE MACRO with IAVR64 So I believe the program could be re-wriiten as follows: * LOAD EP=CSRSI Load CSRSI Function ST R0,CSRSI@ Save Address Of CSRSI Function * IARV64 REQUEST=GETSTOR,SEGMENT==AD(MAXSIZE), ORIGIN=ORIGIN,MF=E,IARV64,COMPLETE) * LG R0,ORIGIN Get Starting Address Of Memory Object STG R0,CSRSI_INFO@ Store Mem-Obj Address for CSRSI SYSSTATE AMODE64=YES,ARCHLVL=2 L R15,CSRSI@ Load R15 with CSRSI Address CALL (R15),(CSRSI_TYPE,CSRSI_INFOLEN,CSRSI_INFO@,CSRSI_RC) LTR R15,R15 Examine Return code BNZ BAD_CSRSI No, ExitMultiple issues here. If this service *could* be called in 64-bit mode, then you would probably need to use LGF with LINKINST=BASSM to invoke it and probably using PLIST8 for the parm list. But, that is all moot because the service supports 24- and 31-bit addresses only. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 http://www.phoenixsoftware.com/
