Dave's IPCS page :: IPCS wishlist

You can't always get what you want
But if you try sometimes you just might find
You get what you need
-- from the Rolling Stones song You can't Always get What you want.

Here are a few things I wish IPCS could do:

Stripping the high order bit

I've done a copy and paste of a fullword address that has the high order bit set. A list fails:
IP LIST 81217C68. ASID(X'00F6') LENGTH(X'1000') AREA
81217C68. LENGTH(X'1000')==>Storage not available
You have to manually take off the x'80' high order bit for the LIST to work:
IP LIST 01217C68. ASID(X'00F6') LENGTH(X'1000') AREA
01217C68.                   47F0F058 00000000 |        .00.....|
01217C70. C1E3D9E2 D4C5D6E3 F0F461F1 F061F0F3 |ATRSMEOT04/10/03|
01217C80. 40C8C2C2 F7F7F0F8 C9C5C1D5 E4C3F0F1 | HBB7708IEANUC01|
This isn't the best example since removing the x'80' is simple when the rest of the nibble is zero but sometimes a dump will have "10000000", "20000000", etc. and it gets to be a pain to do this every time.

Support HLASM ADATA files

Information from an IBM HLASM ADATA file would be available to use in IPCS on the dump you are working on. For example:

List command output alignment

The IPCS LIST command helpfully aligns the output where starts in the correct column for the address:

+00000 00F9AB18.                   FCE00000 E2D4C3C1 |        .\..SMCA|
+00008 00F9AB20. 00000D69 807E3000 E7E7E7E7 00000000 |.....=..XXXX....|
+00018 00F9AB30. 00583969 01091300 00CF0438 00CF096C |...............%|
+00028 00F9AB40. 00000000 00000000 0002B05E 0000BC50 |...........;...&|
However I wish I had an option (maybe NOALIGN/NOA) so it would start at the first column and give me easier to use 16 byte increments like this when I wanted it to:
+00000 00f9ab18. fce00000 e2d4c3c1 00000d69 807e3000 |....SMCA.....=..|
+00010 00f9ab28. e7e7e7e7 00000000 00583969 01091300 |XXXX............|
+00020 00f9ab38. 00cf0438 00cf096c 00000000 00000000 |.......%........|

Virtual Storage location

Often times I'm looking at an Virtual Storage address and wonder where in memory it is. It would be nice if the WHERE command would tell you some more storage infomation like Private, CSA, SQA. If possible in CSA it could tell you who allocated it if the DIAG tracking was available.

The LIST command would optionally display the V/S location on the title line also:

A nice Virtual Storage map like the one SHOWMVS shows would be very helpful:

       Area   Start(hex)-End(hex)    Size(KB)   Size(MB)
    Reg. Ext.   12500000  7FFFFFFF   1797120K    1755.0M
     CSA Ext.   079D7000  124FFFFF    175268K     171.1M
    MLPA Ext.   079D3000  079D6FFF        16K        .0M
    FLPA Ext.   079D0000  079D2FFF        12K        .0M
    PLPA Ext.   03552000  079CFFFF     70136K      68.4M
     SQA Ext.   019F1000  03551FFF     28036K      27.3M
 R/W Nuc.Ext.   01977000  019F0FFF       488K        .4M
 R/O Nuc.Ext.   01000000  01976E1F      9691K       9.4M
      16M-line  ----------------------------------------
 R/O Nucleus    00FE4000  00FFFFFF       112K        .1M
 R/W Nucleus    00FD7000  00FE37B7        49K        .0M
         SQA    00E14000  00FD6FFF      1804K       1.7M
        PLPA    00C75000  00E13FFF      1660K       1.6M
        FLPA    00000000  00000000         0K        .0M
        MLPA    00C6C000  00C74FFF        36K        .0M
         CSA    00900000  00C6BFFF      3504K       3.4M
  Region V=V    00006000  008FFFFF      9192K       8.9M
  Region V=R    00000000  00000000         0K        .0M
  PSA+System    00000000  00006000        24K        .0M

I know that VSMDATA shows you a mapping but not as nice. You have to go look at two parts of the VSMDATA output to see it:

Over 4000 lines of VSMDATA output you see: 
     GLOBAL STORAGE MAP                                        
 ___________________________ 80000000  <- Top Of Storage       
:                           :                                  
:  Extended Private Storage :                                  
:___________________________: 7A00000  <- Ext. CSA Upper Bound 
|                           |                                  
|  Extended CSA             |                                  
|___________________________| 523C000  <- Ext. CSA Lower Bound 
|                           |                                  
|  Extended PLPA/FLPA/MLPA  |                                  
|___________________________| 2658000  <- Ext. SQA Upper Bound 
|                           |                                  
|  Extended SQA             |                                  
|___________________________| 19F0000  <- Ext. SQA Lower Bound 
|                           |                                  
|  Extended Nucleus         |                                  
|                           |                                  
=======================================<- 16M Line             
|  Nucleus                  |                                  
|___________________________|  FD7000  <- SQA Upper Bound      
|                           |                                  
|  SQA                      |                                  
|___________________________|  DC4000  <- SQA Lower Bound      
|                           |                                  
|  PLPA/FLPA/MLPA           |                                  
|___________________________|  C05000  <- CSA Upper Bound      
|                           |                                  
|  CSA                      |                                  
|___________________________|  800000  <- CSA Lower Bound      
:  Private Storage          :                                  
:  System Storage           :                                  
:___________________________:       0
Over paging down over thousands of lines of VSMDATA output you see: 
    LOCAL STORAGE MAP                                                 
|                           |80000000  <- Top of Ext. Private         
| Extended                  |                                         
| LSQA/SWA/229/230          |                                         
|___________________________|7F39C000  <- ELSQA Bottom                
|                           |                                         
| (Free Extended Storage)   | 9A00000  <- Max Ext. User Region Address
|___________________________| 7B57000  <- Ext. User Region Top        
|                           |                                         
| Extended User Region      |                                         
|___________________________| 7A00000  <- Ext. User Region Start      
:                           :                                         
: Extended Global Storage   :                                         
=======================================<- 16M Line                    
: Global Storage            :                                         
:___________________________:  800000  <- Top of Private              
|                           |                                         
| LSQA/SWA/229/230          |                                         
|___________________________|  7BC000  <- LSQA Bottom                 
|                           |                                         
| (Free Storage)            |  416000  <- Max User Region Address     
|___________________________|   87000  <- User Region Top             
|                           |                                         
| User Region               |                                         
|___________________________|    6000  <- User Region Start           
: System Storage            :                                         
:___________________________:       0


It would speed up processing a SYSTRACE to have the WHERE command issued for the fields that may have addresses so you don't have to copy&paste to the command line each fullword.

On April 11, 2008, Barbara Nitz wrote this on the IBM-Main newsgroup:
Speaking of IPCS's hidden qualities: A former colleague showed me an IPCS full command named SYSTRACW, which is NOT available to customers in the normal product (I checked). This looked suspiciously (if very much better)like my old rexx/verbx combinations that takes a system trace and does an IPCS where on the relevant addresses. Saves tons of time analyzing loops and time delays.

Select all on Active storage doesn't work

I don't know why this doesn't work:
setdef active 
select all 
BLS17546I ALL is not valid with ACTIVE storage 

ST REGS doesn't show ABEND

I'm sure there is a good reason for it but you see the registers at the time of the ABEND but no ABEND code. What the Format?

Determine in an assembler verbexit to know if SETDEF ACTIVE

You can jump through hoops but no easy way that I know of.

No command to show what dump you are in

You can display the name of the dump that it was written to (like the static SYS1.DUMPxx or dynamic SYS1.DUMP.yada.yada.yada) but not the name of the current dataset AFAIK.

Dump Index (option 4) enhancements

For reference, the dump index looks like:
 IPCS INVENTORY - IBMUSER.DDIR ---------------------------------------------
 Command ===>                                                               
 AC Dump Source                                                       Status
 _  DSNAME('SYS1.DUMP.D090522.T014240.SYSA.S00013') . . . . . . . . . CLOSED
    Title=SLIP DUMP ID=0005                                                 
 _  DSNAME('SYS1.DUMP.D090529.T193957.SYSA.S00005') . . . . . . . . . CLOSED
    No symptoms                                                             
Some enhancements:

Easy Browse

You see an address in a dump (like the PSW) and you would like to easily look backwards in the dump (like to find the eyecatcher for a program to get the offset in the module for the PSW). Currently you:

Return to the main IPCS page.

Last Updated: 2011-04-11
This web page is © 2011+ by David Alcock. All Rights Reserved.