DIRECTORY Atom; PBusCacheProg3: CEDAR PROGRAM IMPORTS Atom EXPORTS ~ BEGIN C: PROC [c: CARD] RETURNS [rc: REF ANY] = {rc _ NEW[CARD _ c]}; Atom.PutProp[$PBusEmul, $PKList, LIST[ LIST[$Wait, C[100]], -- wait for the DBus and the memory controller to be intialized LIST[$SetMode,C[0]], -- test in Kernel mode LIST[$SetByteSelect,C[0FH]], -- Word selection LIST[$IOWrite,C[9H],C[01234567H]], --AID register LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$SetMode,C[1]], -- test in User mode LIST[$SetByteSelect,C[0FH]], -- Word selection LIST[$ReadAndCheck,C[00112289H],C[01234567H]], LIST[$Write,C[00112288H],C[89ABCDEFH]], -- Now I'm owner LIST[$SetMode,C[0]], -- test in Kernel mode LIST[$IOReadAndCheck,C[9H],C[01234567H]], -- for waiting some cycle LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$SetMode,C[1]], -- test in User mode LIST[$Write,C[0011228AH],C[0AABBCCDDH]], -- WriteSingle gen LIST[$SetMode,C[0]], -- test in Kernel mode LIST[$IOReadAndCheck,C[9H],C[01234567H]], $StopSimul, $Nop, LIST[$Jump, $Nop] ]]; END. μPBusCacheProg3.mesa Copyright Σ 1987, 1988 by Xerox Corporation. All rights reserved. Created by Jean Gastinel, May 21, 1988 6:20:57 pm PDT Jean Gastinel May 25, 1988 12:08:25 pm PDT Testing for OwnerShip Terminate Simul ΚΒ˜codešœ™KšœB™BKšœ5™5Kšœ+™+K™—K™K™KšΟk ˜ Kšœ˜KšΡbln Οnœœ˜Kšœ˜ Kšœ˜šœ˜K˜—˜KšŸœœœœœœ œœ˜?K˜K˜šœ!œ˜&KšœœΟc?˜VK˜Kšœ™Kšœœ ˜0Kšœœ œ˜4K™Kšœœ# ˜8Kšœœ(˜.K™Kšœœ ˜.Kšœœ œ˜4Kšœœ+˜1Kšœœ% ˜=K˜Kšœ˜Kšœœ ˜0Kšœœ( ˜IKšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ(˜.Kšœœ ˜.K˜K˜Kšœœ& ˜>K˜K™Kšœœ ˜0K™Kšœœ(˜.Kš ˜Kšœ˜Kšœ ˜ K˜Kšœœ ˜Kšœ˜K˜——K˜Kšœ˜—…— ²