The other situations which cause shadow table invalidation arise from the simulation of privileged instructions in DBKPRV. Flags are set in
theVMBLOK whenever the virtual machine loads either control register 0 or 1, and DBKPRV calls DMKVATAB to perform whatever maintenance is
required.When control register 1 is loaded by the virtual machine, DBKVATAB must re-copy the virtual segment table into first-level storage
and invalidate the entire shadow segment table.ihen control register 0 is loaded, DMKVATAB examines the relocation-architecture control bits to
determine if they have changed, (such that the format of the virtual
page and segment tables no longer matches that of the shadow tables). If
the format has not changed, the shadow tables are left intact;
otherwise, all of the shadow tables must be returned to free storage and
another set, in the new format, must be allocated and initialized. The
same actions can result from modifying the control registers via theCP console functions, in which case DMKVATAB is called from DBKCDB. The
privileged operation,PTLB, also causes the virtual segment tables to be
re-copied and all of the shadow page tables to be invalidated because
the shadow tables are the logical equivalent of the translation
look-aside buffer.DMKPRV provides virtual interrogation of the reference and change
bits in the virtual storage keys, which involve the privileged15K, SSK, and RRB. The privileged instruction LRA is simulated via DMKVATLA, which searches the virtual page and segment
tables to translate a third-level storage address to a second-level
storage address, returning a condition code indicator toDBKPRV, or
forcing an interruption if the tables are incorrectly formatted.Most error situations that occur in the virtual machine are handled
by means of the extendedprogram interruptions associated with the real
address translation hardware.Whenever a virtual relocating machine loads control registers 0 or 1 with an invalid value, D8KVAT releases
all of the shadow tables exactly as if the hardware controls had
changed. The shadow control registers are set valid, with the shadow
segment table re-allocated at aminimum size and all segments marked unavailable. Flag bits are set in the VBBLOK to indicate that the
shadow tables are artificially valid, andDBKV1TSX reflects a
translation specification exception to the virtualmachine as soon as it
is dispatched.While it is possible for the virtual machine to enter an
interruption loop (if the newPSi is also a translate mode PSi), the
cited process prevents the occurrence of a disabled loop withinCP, which would result if the virtual machine is never dispatched.
FREESTORAGE MANAGEMENT DMKFRE is responsible for the management of free storage, and CP uses it
to obtain free storage forI/O tasks, CCW strings, various I/O buffers,
etc. It is used, in fact, for practically all such applications except
real channel, control unit, and device blocks, and the CORTABLE.
Block sizes of30 doublewords or less, constituting about 99 per cent
of all calls for free storage, are grouped into10 subpool sizes (3
doublewords each), and are handled byLIFO (push-down stack) logic.
Blocks of greater than30 double words are strung off a chained list in
the classic manner.1-120 IBM V!/370 Systel Logic and Problem Deteraination--VoluBe 1
the
required.
and invalidate the entire shadow segment table.
determine if they have changed, (such that the format of the virtual
page and segment tables no longer matches that of the shadow tables). If
the format has not changed, the shadow tables are left intact;
otherwise, all of the shadow tables must be returned to free storage and
another set, in the new format, must be allocated and initialized. The
same actions can result from modifying the control registers via the
privileged operation,
re-copied and all of the shadow page tables to be invalidated because
the shadow tables are the logical equivalent of the translation
look-aside buffer.
bits in the virtual storage keys, which involve the privileged
tables to translate a third-level storage address to a second-level
storage address, returning a condition code indicator to
forcing an interruption if the tables are incorrectly formatted.
by means of the extended
address translation hardware.
all of the shadow tables exactly as if the hardware controls had
changed. The shadow control registers are set valid, with the shadow
segment table re-allocated at a
shadow tables are artificially valid, and
translation specification exception to the virtual
is dispatched.
interruption loop (if the new
cited process prevents the occurrence of a disabled loop within
FREE
to obtain free storage for
etc. It is used, in fact, for practically all such applications except
real channel, control unit, and device blocks, and the CORTABLE.
Block sizes of
of all calls for free storage, are grouped into
doublewords each), and are handled by
Blocks of greater than
the classic manner.