DIRECTORY SoftcardBDVM, SoftcardBDVMCheck; SoftcardBDVMCheckImpl: CEDAR PROGRAM IMPORTS SoftcardBDVM EXPORTS SoftcardBDVMCheck ~ BEGIN commStart: CARD32 = 1E2000h; commLength: CARD32 = 10000h/2; -- in words softcardWordPageSize: CARD32 = 1000h; prevFirstPhiAd: CARD32 _ 0; Mismatch: SIGNAL ~ CODE; Check: PUBLIC PROC ~ { prevPagePhiAd: CARD32 _ SoftcardBDVM.RealFromAddress[[commStart]]; IF prevFirstPhiAd=0 THEN prevFirstPhiAd _ prevPagePhiAd ELSE IF prevFirstPhiAd#prevPagePhiAd THEN Mismatch; FOR realAd: CARD32 _ commStart+softcardWordPageSize, realAd+softcardWordPageSize UNTIL realAd>=commStart+commLength DO thisPagePhiAd: CARD32 _ SoftcardBDVM.RealFromAddress[[realAd]]; IF thisPagePhiAd#prevPagePhiAd+2*softcardWordPageSize THEN Mismatch; prevPagePhiAd _ thisPagePhiAd; ENDLOOP; }; END. ΰSoftcardBDVMCheckImpl.mesa Copyright Σ 1987 by Xerox Corporation. All rights reserved. Christian Le Cocq December 7, 1988 11:38:01 am PST Check of the Backdoor VM mapping coherence. Description of the procedure. Κm˜code•Mark outsideHeaderšœ™Kšœ<™