Chapter 4. Shadow-Table-Bypass Assist
The shadow-table-bypass assist enhances thepertDrmance-uf virttrai--ma:chines virtual = real option is specified in Virtual Machine
Facility/370(VM/370) pro-gram pl"oducts. VM/370 normally employs shadow tables for
virtual machines operatingin the Ee mcOde with DAY on. Shadow tables are segment tables and page tables. used by the dynamic-address,. translation (DAT) facility of thereallllachine for
directtranslation of logical addresses of the virtual machine to real addressesQf -the real machine. For
machineswith the virtual=-real option, however,
most addressestranslated through the shadow tables give the same result as if they were
translated only throughthe virtual-:-.tnachine translation tables. Two specific techniques are used. in different to exploit this character.istic of the. shadow tables of machines having the virtual = real option.
1.In the true shadow-table-bypass technique, the
virtual,..machine segment and page tables are
used directly by the real-machine DAT
mechanism. Hence, no distinct shadow tables
exist, and the virtual-machine-segment table
origin and length are used wherever the generalVM/370 design calls for the values of the
shadow segment-table origin and length. because the VM/370 does not map
the first 4K bytes of the virtual-machine
storage to the first 4K bytes of real storage, this
technique requires that those page-table entries
of the virtual machine which refer to the first
4K bytes be modified byVM/370 so that this
remapping can be accomplished without
separate shadow tables.
2. In the single-processor-mode technique used for
a virtual = real virtual machine runningMVS, 253 of the 256 page tables of the virtual
machine are used directly, and only three of the
page tables of the virtual machine have distinct
counterpart shadow page tables. The shadowed
tables are the tables that contain some entry
having a real page-frame address for which
prefixing or reverse prefixing of the virtual
machine applies. Thus, single-processor mode
is only a partial bypass of the shadow tables. A
separate shadow segment table is maintained,
253 of whose entries refer directly to virtual
page tables in the storage of the virtual
machine.
The shadow-table-bypass assist improves
performance of certain virtual machines having the
virtual = real option by executing seven specific
virtual-machine instructicns and one type ofvirttlal-maehine pro-g-l"amint€l":}"uptiondirectiy without requiring any intervention or assistance by
theVM/370 control program.
The assisted instructions are:
INVALIDATE PAGE TABLE ENTRYLOAD CONTROL LOAD REAL ADDRESS PURGE TLB STORE THEN AND SYSTEM MASK STORE THEN OR SYSTEM MASK TEST PROTECTION The virtual-machine program interruption is for
page-fault reflection and consists in taking a
program interruption for a page-translation
condition directly in the virtual machine.
Relation of Shadow-Table-Bypass
Assist to Other Assists
The shadow-table-bypass assist(STBA) is related
to the virtual-machine assist(VMA) and to the
expanded virtual-machine assist(EVMA) which is
part ofECPS:VM/370. All three assists use bits 0, 1, 3, 5, and 8-28 of control register 6 as follows:
Bit Meaning
oWhen the bit is zero, assists are inactive; when
the bit is one, VMA is active; when it is one
and bit 6 of control register 6 is one, EVMA is
active; when it is one and bit 8 of the assist
control word is one,STBA is active.
1 Virtual-machine problem-state bit.
3When the bit is zero, only operation codes for System/370 are assisted.
5\Vheil the bit is one, shadow-table validation is
active; when it is zero, the page-fault-reflection
function is performed if bits 8 and 11 of the
assist control word are both ones.
8-28 Bits 8-28 are bits 8-28 of the address of the
virtual-machine parameter list (MICBLOK)
aligned on a doubleword boundary.
In addition, these assists use the following words
of the virtual-machine parameter list:Offset (Hex) Field Symbol Use 0 MICRSEG Real segment-table address
4 MICCREG Address of ECBLOK
8MICVPSW Address of virtual PSW bits 0-15 14 MICACF Assist control word
None of the eight functions of the shadow
table-bypass assist is active unless (1) bit0 of
control register 6 is one, (2) bit8 of the assist
control word is one, and (3) a specific bit of bits
9-15 of the assist control word is one. The specific
activation bit depends on the function.(See Figure
22.) Six bits are used for eight functions. Each bit
Shadow-Tabie-Bypass Assist 31
The shadow-table-bypass assist enhances the
Facility/370
virtual machines operating
direct
machines
most addresses
translated only through
1.
virtual,..machine segment and page tables are
used directly by the real-machine DAT
mechanism. Hence, no distinct shadow tables
exist, and the virtual-machine-segment table
origin and length are used wherever the general
shadow segment-table origin and length.
the first 4K bytes of the virtual-machine
storage to the first 4K bytes of real storage, this
technique requires that those page-table entries
of the virtual machine which refer to the first
4K bytes be modified by
remapping can be accomplished without
separate shadow tables.
2. In the single-processor-mode technique used for
a virtual = real virtual machine running
machine are used directly, and only three of the
page tables of the virtual machine have distinct
counterpart shadow page tables. The shadowed
tables are the tables that contain some entry
having a real page-frame address for which
prefixing or reverse prefixing of the virtual
machine applies. Thus, single-processor mode
is only a partial bypass of the shadow tables. A
separate shadow segment table is maintained,
253 of whose entries refer directly to virtual
page tables in the storage of the virtual
machine.
The shadow-table-bypass assist improves
performance of certain virtual machines having the
virtual = real option by executing seven specific
virtual-machine instructicns and one type of
the
The assisted instructions are:
INVALIDATE PAGE TABLE ENTRY
page-fault reflection and consists in taking a
program interruption for a page-translation
condition directly in the virtual machine.
Relation of Shadow-Table-Bypass
Assist to Other Assists
The shadow-table-bypass assist
to the virtual-machine assist
expanded virtual-machine assist
part of
Bit Meaning
o
the bit is one, VMA is active; when it is one
and bit 6 of control register 6 is one, EVMA is
active; when it is one and bit 8 of the assist
control word is one,
1 Virtual-machine problem-state bit.
3
5
active; when it is zero, the page-fault-reflection
function is performed if bits 8 and 11 of the
assist control word are both ones.
8-28 Bits 8-28 are bits 8-28 of the address of the
virtual-machine parameter list (MICBLOK)
aligned on a doubleword boundary.
In addition, these assists use the following words
of the virtual-machine parameter list:
4 MICCREG Address of ECBLOK
8
None of the eight functions of the shadow
table-bypass assist is active unless (1) bit
control register 6 is one, (2) bit
control word is one, and (3) a specific bit of bits
9-15 of the assist control word is one. The specific
activation bit depends on the function.
22.) Six bits are used for eight functions. Each bit
Shadow-Tabie-Bypass Assist 31