DIRECTORY SCUtils, Rope, SCPmCode, Sisyph USING [Context, Store]; SCInit: CEDAR PROGRAM IMPORTS SCUtils, SCPmCode, Sisyph ~ BEGIN SetCacheParms: PUBLIC PROC [cx: Sisyph.Context, numBitsPerByte, numBytesPerWord, numCyclesPerLine, numMemLines, numIOLines, numFIFOLines: NAT] ~ { numWordsPerCycle: NAT _ 2; -- this is fixed by the bus architecture BEGIN Sisyph.Store[cx, "numBitsPerByte", NEW[NAT _ numBitsPerByte]]; Sisyph.Store[cx, "numBytesPerWord", NEW[NAT _ numBytesPerWord]]; Sisyph.Store[cx, "numWordsPerCycle", NEW[NAT _ numWordsPerCycle]]; Sisyph.Store[cx, "numCyclesPerLine", NEW[NAT _ numCyclesPerLine]]; Sisyph.Store[cx, "numMemLines", NEW[NAT _ numMemLines]]; Sisyph.Store[cx, "numIOLines", NEW[NAT _ numIOLines]]; Sisyph.Store[cx, "numFIFOLines", NEW[NAT _ numFIFOLines]]; Sisyph.Store[cx, "numStackBits", NEW[NAT _ SCPmCode.NumStackBits]]; Sisyph.Store[cx, "numPCBits", NEW[NAT _ SCPmCode.NumPCBits]]; END; BEGIN numBitsPerWord: NAT _ numBitsPerByte*numBytesPerWord; numBitsPerCycle: NAT _ numBitsPerWord*numWordsPerCycle; numBitsPerLine: NAT _ numBitsPerCycle*numCyclesPerLine; numWordsPerLine: NAT _ numWordsPerCycle*numCyclesPerLine; logNumWordsPerLine: NAT _ SCUtils.Log2[numWordsPerLine]; numPageBits: NAT _ (22*numBitsPerWord)/32; numBlockBits: NAT _ numBitsPerWord-numPageBits-logNumWordsPerLine; numDevIdBits: NAT _ (10*numBitsPerCycle)/64; numBitsPerHeader: NAT _ 7+numDevIdBits+numBitsPerWord; Sisyph.Store[cx, "numBitsPerWord", NEW[NAT _ numBitsPerWord]]; Sisyph.Store[cx, "numBitsPerCycle", NEW[NAT _ numBitsPerCycle]]; Sisyph.Store[cx, "numBitsPerLine", NEW[NAT _ numBitsPerLine]]; Sisyph.Store[cx, "numWordsPerLine", NEW[NAT _ numWordsPerLine]]; Sisyph.Store[cx, "logNumWordsPerLine", NEW[NAT _ logNumWordsPerLine]]; Sisyph.Store[cx, "numPageBits", NEW[NAT _ numPageBits]]; Sisyph.Store[cx, "numBlockBits", NEW[NAT _ numBlockBits]]; Sisyph.Store[cx, "numDevIdBits", NEW[NAT _ numDevIdBits]]; Sisyph.Store[cx, "numBitsPerHeader", NEW[NAT _ numBitsPerHeader]]; END; }; END. vSCInit.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Pradeep Sindhu, June 5, 1987 6:01:20 pm PDT Initialize Sisyph context variables for SCLogic Define all the independent variables Sisyph.Store[cx, "CWSOldNewVPagePattern", ""]; Sisyph.Store[cx, "CWSOldNewVBlockPattern", ""]; Sisyph.Store[cx, "StatusClearVPagePattern", ""]; Sisyph.Store[cx, "StatusClearVBlockPattern", ""]; Sisyph.Store[cx, "NullVPagePattern", ""]; Sisyph.Store[cx, "NullVBlockPattern", ""]; Sisyph.Store[cx, "FaultAIdStatusMaskVPagePattern", ""]; Sisyph.Store[cx, "FaultAIdStatusMaskVBlockPattern", ""]; Sisyph.Store[cx, "StatusSetVPagePattern", ""]; Sisyph.Store[cx, "StatusSetVBlockPattern", ""]; Sisyph.Store[cx, "ModesVPagePattern", ""]; Sisyph.Store[cx, "ModesVBlockPattern", ""]; Sisyph.Store[cx, "CWSOldNewRPagePattern", ""]; Sisyph.Store[cx, "CWSOldNewRBlockPattern", ""]; Sisyph.Store[cx, "StatusClearRPagePattern", ""]; Sisyph.Store[cx, "StatusClearRBlockPattern", ""]; Sisyph.Store[cx, "NullRPagePattern", ""]; Sisyph.Store[cx, "NullRBlockPattern", ""]; Sisyph.Store[cx, "FaultAIdStatusMaskRPagePattern", ""]; Sisyph.Store[cx, "FaultAIdStatusMaskRBlockPattern", ""]; Sisyph.Store[cx, "StatusSetRPagePattern", ""]; Sisyph.Store[cx, "StatusSetRBlockPattern", ""]; Sisyph.Store[cx, "ModesRPagePattern", ""]; Sisyph.Store[cx, "ModesRBlockPattern", ""]; Define all the dependent variables Κ˜codešœ ™ Kšœ Οmœ1™Kšœ$žœžœ˜@Kšœ%žœžœ˜BKšœ%žœžœ˜BKšœ žœžœ˜8Kšœžœžœ˜6Kšœ!žœžœ˜:Kšœ!žœžœ˜CKšœžœžœ˜=K˜Kšœ.™.Kšœ/™/Kšœ0™0Kšœ1™1Kšœ)™)Kšœ*™*K™Kšœ7™7Kšœ8™8Kšœ.™.Kšœ/™/Kšœ*™*Kšœ+™+K™Kšœ.™.Kšœ/™/Kšœ0™0Kšœ1™1Kšœ)™)Kšœ*™*K™Kšœ7™7Kšœ8™8Kšœ.™.Kšœ/™/Kšœ*™*Kšœ+™+Kšžœ˜—K˜K™"šž˜Kšœžœ"˜5Kšœžœ#˜7Kšœžœ$˜7Kšœžœ%˜9Kšœžœ!˜8Kšœ žœ˜*Kšœžœ1˜BKšœžœ˜,Kšœžœ!˜6K˜K˜Kšœ#žœžœ˜>Kšœ$žœžœ˜@Kšœ#žœžœ˜>Kšœ$žœžœ˜@Kšœ'žœžœ˜FKšœ žœžœ˜8Kšœ!žœžœ˜:Kšœ!žœžœ˜:Kšœ%žœžœ˜BKšžœ˜—K˜——K˜Kšžœ˜—…—Φk