I'm very rusty ( 15+ years since I last used this) ...  but can you use
your 31 bit code to access a symbol relating to a 31/64 bit data item?
I only used 31 bit, but I think I used to get a block of storage from the
dump with a 64 bit address into my buffer in 31 bit address.
You have to use the correct ESSY block.
I could be deluded
Colin

On Thu, 22 Sept 2022 at 11:55, Binyamin Dissen <[email protected]>
wrote:

> Looking at my code:
>
> The 31bit access call is
>
>          IHBOPLTX ,                                                    +
>                (ABDPL,                  ..ABDPL                        +
>                =A(ADPLSACC),            ..TYPE OF CALL: ACCESS STOR    +
>                MY_ADPLPACC),            ..ACCESS STORAGE PARM LIST     +
>                MF=(E,PLIST)
>          L     R15,ADPLSERV             LOCATE IPCS SERVICE ROUTINE
>          BASR  R14,R15
>
> The 64bit access call is:
>
>          IHBOPLTX ,                                                    +
>                (ABDPL,                  ..ABDPL                        +
>                =A(ADPLSMAP),            ..TYPE OF CALL: MAP SERVICE    +
>                XMSP),                   ..ACCESS STORAGE PARM LIST     +
>                MF=(E,PLIST)
>          L     R15,ADPLSERV             LOCATE IPCS SERVICE ROUTINE
>          BASR  R14,R15
>
> Formatting the request is left as an exercise for the OP
>
>
>
> On Wed, 21 Sep 2022 15:49:21 -0500 David Janicek <[email protected]>
> wrote:
>
> :>Hi all.  I am new to this list but I have searched the archives for an
> answer to my question already without any luck.
> :>
> :>I am responsible for maintaining an IBM IPCS VERBX (verb exit) that
> analyzes our application dumps and points out any inconsistencies in it.
> We are in the process of moving some of our data above the bar (ATB) and I
> need to update the VERBX to analyze that data.  Unfortunately the IBM doc
> has virtually nothing on how to access 64bit storage in an IPCS dump via a
> VERBX.  I searched the internet and the only clue I found was a 7 year old
> post on this site by Don Poitras.  He listed a routine in C that would
> access 64bit (and 31bit) storage.  I have tried to mimic that code in
> assembler but I haven't gotten it to work yet.  I am posting my code at the
> end of this listing.  My hope is that someone will either point out the
> error of my ways or, instead, simply post their code that does the same
> thing.  When I attempt to access 64bit storage, I get the following
> messages:
> :>
> :>Dump analysis will be incomplete.
> :>  XSSP passed by exit PLATFORM is not valid.
> :>  Equate Symbol record failed consistency check.
> :>
> :>Here's my code that I'm using.  Thanks in advance for your time on this.
> :>
> :>
> :>Access64BitBlock Entry ,
> :>*
> :>         Lmg   R2,R3,0(R1)         -> storage address and length to get
> :>*
> :>         Cli   WS_Es64,0           have we initialized storage yet?
> :>         Jne   Access64BitBlock100 Yes->Don't do it again
> :>*
> :>         La    R14,WS_Es64         Copy
> :>         La    R15,WS_Es64$          skeleton
> :>         La    R0,C_Es64               to
> :>         Lgr   R1,R15                    working
> :>         Mvcl  R14,R0                      storage
> :>*
> :>         Mvc   WS_Es64AST,=Al2(ZZZASTCV) CPU ASID
> :>         Lgf   R0,WS_SSAsid        Set owning
> :>         St    R0,WS_Es64AS1         asid
> :>         Mvi   WS_Es64DTY,ZZZDTYU  Set as area
> :>*
> :>         Mvc   WS_Xs64(WS_Xs64$),C_Xs64 copy skeleton
> :>         Oi    WS_Xs64PFL1,WS_Xs64BIT64 Indicate 64bit
> :>         Mvc   WS_Xs64Code,=Al2(WS_Xs64Acc) set to access storage
> :>         Mvc   WS_Xs64Modn,C_PlatFormVar
> :>         La    R0,WS_Es64          Link them
> :>         St    R0,WS_Xs64Esr         together
> :>*
> :>         CallFunc Function=StorageObtain,                              +
> :>               Param=4096,                                             +
> :>               Mf=(E,WS_StorageObtainParms)
> :>         St    R15,WS_Xs64Buf      Save buffer address
> :>*
> :>Access64BitBlock100 Ds 0h
> :>         Stg   R2,WS_Es64LAD       Set address to obtain
> :>         Stg   R3,WS_Es64DLE       Set length to obtain
> :>*
> :>         Sam31 ,                   This call requires 31 bit amode
> :>         SysState Amode64=NO
> :>*
> :>         Lg    R4,WS_Abdpl@        -> IPCS parameter area
> :>         Using Abdpl,R4
> :>*
> :>         L     R15,AdplServ        -> IPCS Service Routine
> :>         Call  (15),               go get the requested storage        +
> :>               (Abdpl,=A(AdplSSym),WS_Xs64),                           +
> :>               Mf=(E,WS_P64Parms)
> :>*
> :>         Sam64 ,                   Get back in 64bit mode
> :>         SysState Amode64=YES
> :>         Drop  R4
> :>*
> :>         Ltr   R15,R15             Did it work?
> :>         Llgt  R15,WS_Xs64Buf      -> returned storage
> :>         Jz    Access64BitBlock    Continue if successful
> :>         Sgr   R15,R15             Indicate storage not found
> :>Access64BitBlock900 Ds 0h
> :>*
> :>         Exit  ,
> :>*
> :>C_Es64   BlsrEssy Dsect=NO,ABITS=64
> :>C_Xs64   BlsrXssp Dsect=NO
> :>*
> :>         BeginWS ,
> :>*
> :>         SysState Amode64=NO
> :>WS_P64Parms Call ,(,,),Mf=L
> :>         SysState Amode64=YES
> :>*
> :>WS_Es64  BlsrEssy Dsect=NO,ABITS=64
> :>WS_Es64$ Equ   *-WS_Es64
> :>WS_Xs64  BlsrXssp Dsect=NO
> :>WS_Xs64$ Equ   *-WS_Xs64
> :>*
> :>         EndWS ,
> :>
> :>----------------------------------------------------------------------
> :>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
>
> ----------------------------------------------------------------------
> 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