<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Can anybody elaborate more on what the VMS power failure options
      are?  OPC$CRASH sure looks like a crash, but what happens before
      the belly up?<br>
    </p>
    <div class="moz-cite-prefix">Some time ago (at least a decade), I
      started looking at re-enabling the Tops-20's power failure code
      with an eye towards making some changes to the KLH10
      micro-engine.  So clearly, at a minimum, I would have needed to
      catch a SIGPWR and then do something useful with it, which then
      meant some nosing around in APRSRV and SCHED and some other
      monitor code.</div>
    <div class="moz-cite-prefix">
      <p>At one point, Tops-20 appears to actually have been able to
        save what it was doing and cleanly resume on power up; in other
        words, not crash.  Some hardware was able to detect a power fail
        and cause an APR generated PI.  Any running process was
        dismissed, the front end was notified and any disk I/O was
        completed.  The caches were shut off.  That leaves the volatile
        structures.  Assuming you were running with core (MA20's), you
        could survive the power outage.  A power on would generate an
        interrupt which checked whether the power off handling was
        completed.  If so, away you went.</p>
      <p>I don't ever remember ever that working at Columbia, which
        stands to reason since we were running semi-conductor memory. 
        We only had a single MA20 to increase the total memory of one
        particular system to 3.75 MW (the rest was MF20).</p>
      <p>However, the code itself is still there.  Fully supporting the
        power fail would have then involved the 20 signaling the
        micro-engine (perhaps by doing a CONO to the Idler device with a
        magic bit set), that it was done.  KLH10 would then have had
        save about 34 MB of memory and exit.</p>
      <p>It wasn't clear what volatile structures in the micro-engine
        needed to be preserved, so I stopped there and turned to other
        things.  If the host operating supported sleep, maybe not much. 
        You can't just 'sleep' Tops-20 because on resumption, the
        keep-alive counters won't have been updated and it will
        immediately crash.   It has to know the power went out.</p>
      <p>If you don't have a UPS, you may not have a lot of time to do
        things.  Depending on the power supply and capacitor usage and
        discharge, you might have only milliseconds.  I would imagine
        that's plenty for SSD storage, it might not be enough for
        rotating media.<br>
      </p>
    </div>
    <blockquote type="cite"
      cite="mid:25E057BB-1E04-489D-8F8C-94E491785E79@riseup.net">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <hr width="100%" size="2">On 5/30/20 1:14 PM, Supratim Sanyal
      wrote:<br>
      <div><span style="background-color: rgba(255, 255, 255, 0);"><br>
        </span></div>
      <span style="background-color: rgba(255, 255, 255, 0);"></span>Good
      afternoon everyone,
      <div><br>
      </div>
      <div>What are you guys doing to get something like OPC$CRASH
        invoked when a UPS signals it is on battery?</div>
      <div><br>
      </div>
      <div>I have serial connectivity to TTAx ports on a Microvax
        3100-80 running OVMS 7.3. Recommendations on a UPS?</div>
      <div><br>
      </div>
      <div>Generally how do you get a VAX to shut down immediately on
        UPS going on battery?</div>
      <div><br>
      </div>
      <div>Thanks in advance</div>
      <div>Supratim <br>
        <div>
          <div><br>
            <div id="AppleMailSignature" dir="ltr">
              <div>
                <div><span style="background-color: rgba(255, 255, 255,
                    0);"><br>
                  </span></div>
                <div><span style="background-color: rgba(255, 255, 255,
                    0);">---</span></div>
                <div><span style="background-color: rgba(255, 255, 255,
                    0);">Supratim Sanyal, W1XMT</span></div>
                <div><span style="background-color: rgba(255, 255, 255,
                    0);">39.19151 N, 77.23432 W</span></div>
                <div><span style="background-color: rgba(255, 255, 255,
                    0);">QCOCAL::SANYAL via <a
                      href="http://www.update.uu.se/~bqt/hecnet.html"
                      moz-do-not-send="true">HECnet</a></span></div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>