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.
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 ~ {
Description of the procedure.
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.