1ECPS:VM : Extended Control Program Support : VM/370 2 - AND - 3Extended VM Assists - Partial Privop Simulation And Virtual Interval Timer 4 5************ CHANGE LOG **************** 607/07/03 : Changed description for configuration and commands 7 ECPS:VM changed to ECPSVM (config) 8 ecpsvm changed to ecpsvm (command) 9 10 - PARTIAL IMPLEMENTATION DOCUMENTATION - 11 12************************* 13 14Affected operating systems : 15 16VM/370 Release 6 (PTFs required - PLC 029 works fine) 17 18up to 19 20VM/SP 6 (with or without HPO option) 21 22--- VM/XA SF, VM/XA SP, VM/ESA and z/VM do NOT use these Assists, 23 but rely on the SIE instruction to perform some of these functions. 24 25A VM/SP Guest (or VM/370 Guest with 4K Storage key updates) running under 26[z/]VM[/[XA|ESA]] will NOT have access to either the CP assists or VM Assists. 27The ECPS:VM Feature is disabled when running under SIE. 28 29************************ 30 31How to enable VM Assists : 32 33In the HERCULES.CNF file, in the configuration section : 34 35ECPSVM YES|NO|LEVEL n (where n is the requested level.) 36 37If "YES" is specified, the most appropriate level is returned (Level 20) 38 39n Doesn't affect the operations of the assist but what level is reported to 40 the program. 41 42 - CAUTION - Use the 'n' form is not recommended, and is only provided 43 for engineering use. 44 45********** 46 47New panel command : 'ecpsvm' 48 49Subcommands : 50 51ecpsvm stats : Shows ECPS:VM Call/Hit statistics 52ecpsvm enable/disable feature : Enable/Disable named feature 53ecpsvm help : (guess) 54ecpsvm debug [feature|ALL|CPASSIST|VMASSIST] : Turn on debugging messages for a specific feature 55ecpsvm nodebug [feature|ALL|CPASSIST|VMASSIST] : Turn off... 56ecpsvm level [nn] : Force ECPS:VM to report a certain support level 57 (or display the current support level) 58 59NOTE : ecpsvm disable does NOT entirelly disables CP ASSISTS. If it did (i.e. generate a program interrupt whenever a E6xx instruction is invoked) VM would abend immediatelly. Rather, ommit the ECPSVM statement in the configuration file. 60 61To determine the feature names, type "ecpsvm enable ALL". 62 All the enabled features will be listed. 63 64the ecpsvm command is NOT case sensitive 65 66********** 67 68Determining if the assist is used by VM : 69 70Use the 2 following CLASS A commands : 71 72CP QUERY CPASSIST 73CP QUERY SASSIST 74 75Both queries should return 'ON'. 76 77Also use the following CLASS G Command : 78 79CP QUERY SET 80 812nd line should indicate : 82 83ASSIST ON SVC TMR 84 85*********** 86 87Technical information 88 89the CP Assists provides The VM SCP with various microcoded instructions to shorten the supervisor pathlength. All microcoded instructions are priviledged instructions and have an opcode of E6xx. They are native representation of what the SCP would do in a similar case. For all cases where the assist is not able to resolve a situation, the E6XX instructions resolve to a no-op, thus leaving the responsability of the task to the original CP Code. 90 91The VM Assists alters the behaviour of certain priviledged instructions when executed in problem state (controled by the Problem State bit in the PSW) either by completely simulating the instruction (when feasable), Branching directly to the CP support module for that instruction (therefore bypassing Program interruption processing and instruction decoding), or generating a Program interruption otherwise. 92 93The VM Virtual Interval Timer assist allows updating of a Virtual Machine virtual interval timer directly by the microcode. 94 95Both CP And VM Assists are controled by real Control Register 6 which control availability, and behaviour of the assists. 96 97************ 98 99Troubleshooting 100 101In the event that a certain CP or VM Assist disrupts normal operations, it is possible to selectivelly disable each discrete component. The best method is to disable ALL VM and CP Assists (Except STEVL and SSM if done prior to IPL) and to enable each feature until the problem occurs. If it is unknown whether the problem lies in the VM or CP Assist, it is also possible to enable/disable the entire group of assists. 102 103See the EVM ENA|DISA Commands. 104 105EVM STA allows to see how often each assist is invoked. The hit and hit ration makes it possible to determine how effective the assists are. 106 107A Low hit ratio may be normal in some situations (for example, the LPSW Hit ration will be very low when running VM under VM, because most PSW switches cannot be resolved by the assist) 108 109A Low invocation count simply shows that in THAT particular situation, the related assist is not used often (For example, there are very few LCTLs when running CMS). 110 111Some assists are just invoked once at IPL (STEVL). This is normal behaviour. 112 113************ 114 115Implemented Assists : 116 117CP ASSISTS : 118FREEX, FRETX (CP Free Storage management) 119DISP0, DISP1, DISP2 (CP Dispatching) 120PGLOCK, PGULOCK (Real frame locking/unlocking) 121TRANBRNG, TRANLOCK (Virtual frame addressing/locking) 122SCNRU, SCNVU (Real/Virtual Device control block scan) 123STEVL (Store ECPS:VM support level) 124 125VM ASSISTS : 126Virtual Interval Timer 127LPSW Simulation 128SSM Simulation 129SVC Simulation 130LCTL Simulation 131 132Non-Implemented assists : 133 134CP ASSISTS : 135FREE/FRET : (Original (up to level 19) 136 CP Storage Management - replaced by FREEX/FRETX) 137CCWGN, DFCCW, DNCCW, UXCCW : CCW/CSW Translation assists (Soon) 138LCSPG : Locate Changed Shared Page (Soon) 139VIPT, VIST : Virtual Translation Page/Segment Invalidation (Soon) 140LINK/RETURN (SVC 8/SVC 12) (Soon) 141Prefered Machine Assists (Insufficient information) 142.. Maybe others ... 143 144VM ASSISTS : 145V=R Shadow Table Bypass assists (Including LRA instruction) 146 (note : The V=R Shadow Table Bypass assist is a feature which requires the guest program 147 to be aware of the feature (Page 0 Relocation)) 148SIO (In progress - Partial sim) 149DIAG (In progress - Partial sim) 150IUCV (In Progress - Partial sim - VM/SP4 or later only) 151STxSM (Almost never invoked - ECMODE Only) 152ISK/SSK/ISKE/SSKE/IVSK (Extended Key Ops assist) 153VM Assists for MVS 154.. Maybe others ... 155 156***************** 157BUGS & Caveats : 158 159ECPS:VM will NOT work in an AP or MP system. An AP or MP generated system 160locks the control blocks being manipulated by the assisted functions 161(VMBLOK, RDEVBLOK, VDEVBLOK, etc..). However, the current ECPS:VM 162implementation doesn't lock any of those structures. Therefore, CP will 163fairly quickly abend because it will find some of the control blocks 164to not have been locked when they should (various LOKXXX abends). 165 166Consequently, ECPS:VM must be disabled when a AP or MP system is used. 167 168***************** 169 170Have Fun, 171 172--Ivan 173