DIRECTORY CacheOps, Dragon, DragOpsCross, LizardCache, LizardHeart, LizardLiver; LizardRosemary2: CEDAR DEFINITIONS = BEGIN Simulation: TYPE = REF SimulationRec; SimulationRec: TYPE = RECORD [ processor: LizardHeart.Processor _ NIL, control: LizardHeart.Control _ nextInst, euCache: LizardCache.CacheBase, lastInstrOps: LIST OF REF ANY -- RegStore, CacheTrans -- _ NIL ]; CacheTrans: TYPE = REF CacheTransRec; CacheTransRec: TYPE = RECORD [ instr: INT, cmd: Dragon.PBusCommands, addr, data: Dragon.Word, fault: Dragon.PBusFaults ]; RegStore: TYPE = REF RegStoreRec; RegStoreRec: TYPE = RECORD [ instr: INT, reg: DragOpsCross.ProcessorRegister, data: Dragon.Word ]; StartNewLizard: PROC [ m: REF -- CacheOps.VM -- ] RETURNS [ sim: Simulation ]; DoInstruction: PROC [ sim: Simulation ]; SuccessHalt: ERROR; Breakpoint: SIGNAL; ClusterInst: TYPE = RECORD [ cycle: INT, instr: INT, trapped: BOOL, -- this instruction was aborted trapPC: Dragon.HexWord, -- if aborted, then why? pc: Dragon.HexWord, op: DragOpsCross.Inst, alpha, beta, gamma, delta: Dragon.HexByte ]; CheckSynchProc: TYPE = PROC [ data: REF, -- had better contain a REF Simulation, if you please clusterInst: ClusterInst ] RETURNS [deltaInstrCount: INT _ 1]; CheckSynch: CheckSynchProc; CSProcRec: TYPE = RECORD [proc: CheckSynchProc]; csProcRec: CSProcRec; -- for easy replacement END. ÆLizardRosemary2.mesa Copyright c 1984 by Xerox Corporation. All rights reserved. Last edited by Curry, April 17, 1984 10:11:39 am PST Last edited by McCreight, March 12, 1986 6:02:31 pm PST Êc˜šœ™Jšœ Ïmœ1™