; Mesa-NovaDefs.asm; edited by Johnsson, April 6, 1979 5:15 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 hardMRE = 20 ; non zero if MRE should trap to Nova Code currentPSB = 21 readyList = 22 currentState = 23 bootPageTable = 24 Emulate = 25 oSTOP = 1 oME = 2 oMXD = 3 oMRE = 4 oMXW = 5 oNOTIFY = 6 oBCAST = 7 oREQUEUE = 10 CVA = 40 ; Array of pointers to Naked CVs ACTIVE = 453 ; Active interrupt mask INTPC = 500 ; Saved PC on interrupt ; swat interface (OS 16 only) callSwatTrap = 77402