Browse Prior Art Database

Method to Provide a Generic Facility for Waiting on Specific Asynchro Nous Interrupts

IP.com Disclosure Number: IPCOM000039263D
Original Publication Date: 1987-May-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Rogers, MD: AUTHOR

Abstract

A method is described for use in a non-multitasking virtual machine environment, where the virtual machine has priority interrupt levels (and sublevels per level) defined for it, to wait for a specific asynchronous interrupt to come in. The method invokes the creation of four primitives (WAITINT, POSTINT, SETCNT, QRYCNT) which allow the caller to specify a particular interrupt level and sublevel as input. When a program reaches a point where it must be guaranteed that a particular asynchronous interrupt has come in in order to continue, it calls WAITINT with the interrupt level/sublevel as input. When the interrupt comes in, the interrupt handler calls POSTINT to flag that the interrupt has come in. At this point, the WAITing program is allowed to run again.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 60% of the total text.

Page 1 of 1

Method to Provide a Generic Facility for Waiting on Specific Asynchro Nous Interrupts

A method is described for use in a non-multitasking virtual machine environment, where the virtual machine has priority interrupt levels (and sublevels per level) defined for it, to wait for a specific asynchronous interrupt to come in. The method invokes the creation of four primitives (WAITINT, POSTINT, SETCNT, QRYCNT) which allow the caller to specify a particular interrupt level and sublevel as input. When a program reaches a point where it must be guaranteed that a particular asynchronous interrupt has come in in order to continue, it calls WAITINT with the interrupt level/sublevel as input. When the interrupt comes in, the interrupt handler calls POSTINT to flag that the interrupt has come in. At this point, the WAITing program is allowed to run again. WAITINT and POSTINT are implemented as subroutines which manipulate a counter per interrupt level/sublevel. The counters are all initially zero. WAITINT decrements the specified counter, while POSTINT increments it. SETCNT sets a particular counter to zero. This is useful on error recovery, where a counter got POSTINT'ed but was never WAITINT'ed on. QRYCNT returns the current value of a counter. Note that if WAITINT is called, and the interrupt has already come in and been POSTINT'ed, then WAITINT will return immediately to the caller. If the interrupt has NOT already come in, then WAITINT calls a system service to unready t...