|
NAME : HCPMCVBK
DESCRIPTION: VIRTUAL MACHINE CHECK BLOCK
DSECT : MCVBK
FUNCTION : HCPMCVBK MAINTAINS THE DESCRIPTION OF A MACHINE CHECK
INCIDENT BEFORE THE INTERRUPT IS REFLECTED TO THE GUEST.
THERE ARE THREE TYPES OF MCVBKS MAINTAINED IN THE SYSTEM.
MCVBK (DYNAMICALLY ALLOCATED MCVBK)
STORAGE IS OBTAINED FOR A DYNAMICALLY ALLOCATED
MCVBK WHEN REQUIRED. IT HAS TWO USES. THE CONTROL
PROGRAM BUILDS MCVBKS WHEN SOME SYSTEM INCIDENT,
THAT IS NOT A REAL MACHINE CHECK, IS TO BE
REFLECTED TO THE GUEST AS A MACHINE CHECK. IT IS
ALSO USED TO MAKE COPIES OF MCVBKS TO ALLOW THE
REFLECTION OF MACHINE CHECKS TO A GUEST TO OCURR
ASYNCHRONOUSLY WITH OTHER CP FUNCTION.
MCVBK (CPU MCVBK)
WE REFER TO THIS MCVBK AS THE 'CPU MCVBK' BECAUSE
EACH CPU OWNS ONE, AND ALSO TO DISTINGUISH IT FROM
THE 'SYSTEM TERMINATION MCVBK' DESCRIBED BELOW.
THE CPU MCVBK CONTAINS A DESCRIPTION OF A REAL ERROR
INCIDENT (IF ANY) CURRENTLY IN PROGRESS ON THIS
CPU. IT IS NEEDED MAINLY FOR THE BENEFIT OF THE
VIRTUAL SIDE OF THE SYSTEM (HCPGMCMC) SO THAT
MACHINE CHECKS CAN BE REFLECTED TO GUESTS. HCPMCH
CALLS HCPGMCMC AND PASSES THE CPU MCVBK CONTAINING
THE DESCRIPTION OF THE INCIDENT. THE CPU MCVBK IS
ANCHORED IN THE PREFIX PAGE BY 'PFXMCVBK'.
DATA IS PLACED IN THE MCVBK AT THE START OF AN
INCIDENT AND IS CLEARED AT THE END OF THE INCIDENT
SO THAT THE BLOCK REMAINS EMPTY UNTIL THE NEXT
INCIDENT.
MCVBK (SYSTEM TERMINATION MCVBK)
THERE ARE ALSO 'SYSTEM TERMINATION' MCVBKS (THERE
ARE 32 IN THE SYSTEM). THEY ARE PERMANENTLY ALLO-
CATED IN A WORK AREA HCPWRKMV AND REMAIN INTACT
ACROSS A SYSTEM TERMINATION AND SOFTWARE-RE-IPL.
THEY ARE USED TO PASS REAL MACHINE CHECK (OR OTHER
SYSTEM INCIDENT) DESCRIPTIONS TO INDIVIDUAL VMDBKS
IN THE V=R GUEST CONFIGURATION SO THAT MACHINE
CHECKS MAY BY REFLECTED TO THE V=R GUEST AFTER THE
SYSTEM HAS RE-IPL'D.
AT SYSTEM TERMINATION TIME, HCPWRP CALLS HCPMCWMD.
HCPMCWMD GATHERS INFORMATION FROM THE INDIVIDUAL
CPU MCVBK'S (AND OTHER SOURCES) AND PLACE IT IN THE
SYSTEM TERMINATION MCVBKS (ONE SYSTEM TERMINATION
MCVBK IS USED TO RECORD THE STATE OF ONE REAL CPU).
AFTER THE SOFTWARE-RE-IPL THESE MCVBKS ARE PASSED
TO HCPGMCGS SO THAT A MACHINE CHECK CAN BE
REFLECTED TO THE V=R GUEST IF APPROPRIATE.
LOCATED BY : HCPWRKMC (ANCHOR) SYSTEM TERMINATION PERMANENT MCVBKS
VMDMCV FIELD OF HCPVMDBK
PFXMCVBK FIELD OF HCPPFXBK (PERMANENTLY ALLOCATED)
MCVNEXT FORWARD CHAIN
CHCMCV FIELD OF HCPCHCBK
CREATED BY : HCPGMC TO SEPARATE MCVBKS RECEIVED INTO ELEMENTARY MACHINE
CHECKS AND TO GENERATE MCVBKS FOR MACHINE CHECK
REFLECTION TO A GUEST.
HCPMCH TO COPY PERMANENTLY ALLOCATED MCVBK.
HCPMCW WHEN GUEST WAS RUNNING ON A PROCESSOR THAT IS RESET.
TO COPY MCVBK RECEIVED FROM HCPALL.
HCPMPS ACQUIRES PERMANENTLY ALLOCATED MCVBK FOR EACH
PROCESSOR.
HCPRFC CREATES A CRW MCVBK.
HCPVDB CREATES A CRW MCVBK.
HCPVOF CREATES A CRW MCVBK.
HCPVSC CREATES A CRW MCVBK.
DELETED BY : HCPMCH DELETES MCVBKS CREATED BY HCPMCH
HCPMCW DELETES MCVBKS CREATED BY HCPMCW
HCPMCV DELETES MCVBK AFTER REFLECTING MACHINE CHECK TO THE
GUEST
HCPMPS RETURNS PERMANENTLY ALLOCATED MCVBK FOR EACH
PROCESSOR.
RELOCATION CONSIDERATIONS : This control block is relocated as part of a live
guest relocation (LGR). The bits and fields that
need to be relocated are defined in the
corresponding LGRMCVBK COPY file. Whenever changes
are made to this control block, consideration must
be given to any effects these changes will have on
a relocation. If any new fields or bits are
defined, they may need to be relocated. If
existing bits or fields are changed, corresponding
modifications may be required in the LGR version of
this control block. Consider also the effects of
these changes on a relocation involving a back-level
release of CP.
| |