Article 144842 of comp.os.vms: In article <25117.316e11dc@ecs.umass.edu>, jhwelch@ecs.umass.edu wrote: > In article <4khamt$182@gap.cco.caltech.edu>, stan@bombay.gps.caltech.edu ("Stan") writes: > > : $ > > : >>> D/I 14 C > > : >>> C > > As for the specifics of what, how, and why this is, the manual is silent. > > Can anyone explain what this is doing? [I presume it is to adjust the > > quorum on a cluster that has already lost quorum and hung.] It generates a software interrupt that triggers a routine that can adjust the votes in a cluster. > Yes, it causes quorum to be recalculated. The D/I is depositing > the value C into internal register 14. I wonder what other values > in that register will cause to happen? You'll probably see no effect for anything other than C. If you happened to do a BOOT/2 or BOOT/R5:2 (set bit 1 of boot flags) a >>> D/I 14 E will trigger XDELTA, which is used for debugging device drivers and other high IPL stuff. IPR register 14 is the software interrupt request register. A value (1-F) deposited into that register generates a software interrupt at that IPL. Software interrupts work the same as hardware interrupts except there is no hardware behind the interrupt (except the SIRR and another associated register SISR) and hardware interrupts are at higher priority. The normal use is internally by system routines and device drivers. A device interrupt is at a very high IPL (around 16 hex or so) and you want to be at this IPL for only a very short time. Typically a hardware device driver will service the device registers and lower its IPL for further processing. It lowers it by doing the instruction that does the the same thing as the console >>> D/I 14 xx and does a REI. The software interrupt takes place as soon as nothing at a higher level is going on and the the driver can finish its work. Other software interrupts correspond to such things as the scheduler, the pagefault routines etc. The reason most values won't seem to do anything is some routine is triggered by the request, sees that nothing needs to be done by looking on some queue (unless some system routine or driver also made the same request) and exiting. Values C and E are exceptions in that they trigger routines that look for console input. -Mike