[net.followup] VM

gelfand@valid.UUCP (Brooks Gelfand) (10/09/86)

References: <455@valid.UUCP> <653@glasgow.glasgow.UUCP> <494@sunybcs.UUCP> <336@comp.lancs.ac.uk> <432@argus.UUCP> <344@comp.lancs.ac.uk> <598@valid.UUCP> <3018@mit-eddie.MIT.EDU>

> >... This is like pulling the power cord on a 
> >real machine. Not much chance to do any recovery or go down gracefully.
> 
> I'll bet the real IBM 370 has a power-fail interrupt.  Does the virtual
> 370 have this?  It seems like just the thing to use when the user aborts
> a program.
> -- 
>     Barry Margolin
>     ARPA: barmar@MIT-Multics
>     UUCP: ..!genrad!mit-eddie!barmar

You are correct. The real 370 does have a power fail interrupt. It is part
of the Machine-Check Handling system. A power interrupt is indicated
by setting bit 8, the warning bit, in the MCIC (Machine Check Interrupt
Code) found at location X'E8' (232-239) in real storage. The current PSW is 
stored at location X'30' and the New Machine Check PSW is loaded from
location X'70'. For a full discussion of the actions the real hardware takes
during a Machine Check, you are referred to Chapter 11 of IBM Systems/370
Principles of Operation (GA22-7000-9), affectionately known as the POO.

In a virtual machine running CMS loading the PSW at location X'70'
places the machine in a wait state with all interrupts, save the 
Machine Check Interrupt, disabled. 

In the real machine, which is running CP, control is passed to module
DMKMCH, when the PSW at location X'70' is loaded. Since the warning
bit is not one of the conditions that this module wants to deal with,
the entire system is placed in a wait state with all interrupts disabled.

This is as far as I can to take the description fo what happens
during a power failure. Perhaps  some more knowledgeable net users
from IBM or Amdahl could elaborate further.

Brooks Gelfand