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