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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to