; Mesa-NovaDefs.asm; edited by Johnsson, January 18, 1978 2:21 PM ; structure of monitor locks lockqueue = 0 ; lock: {locked, unlocked}, ; queue: POINTER [0..77777B] TO PSB ; structure of PSBs ; PSB: TYPE = RECORD [ link = 0 ; link: PSBptr, -- must be 0 !! cleanUpLink = 1 ; cleanUpLink: PSBptr, timeout = 2 ; timeout: INTEGER bitsandpriority = 3 ; enterfailed, detached: BOOLEAN, ; fill: [0..37B], state = 600 ; state: {frameReady, frameTaken, dead, alive} timeoutAllowed = 100 ; timeoutAllowed: BOOLEAN, abortPending = 40 ; abortPending: BOOLEAN, timeoutPending = 20 ; timeoutPending: BOOLEAN, waitingOnCV = 10 ; waitingOnCV: BOOLEAN, priority = 7 ; priority: [0..7], frame = 4 ; frame: FrameHandle] lPSB = 5 ; structure of StateVector stk0 = 0 stkp = 10 dest = 11 source = 12 lStateVector = 11. ; structure of Frame pc = 1 ; fixed addresses SDC = 20 currentPSB = 21 readyList = 22 currentState = 23 bootPageTable = 24 Emulate = 25 oSTOP = 1 oME = 4 oMRE = 5 oMXW = 6 oMXD = 7 oNOTIFY = 10 oBCAST = 11 oREQUEUE = 12 CVA = 40 ; Array of pointers to Naked CVs ACTIVE = 453 ; Active interrupt mask INTPC = 500 ; Saved PC on interrupt