-- FILE: RamDefs.mesa Last Edited by Mitchell, October 31, 1979 10:34 AM
DIRECTORY
PrivateRamDefs: FROM "PrivateRamDefs";
RamDefs: DEFINITIONS =
BEGIN -- module body
-- C O M P I L E - T I M E C O N S T A N T S A N D T Y P E S
BootLocusVector: TYPE = PrivateRamDefs.BootLocusVector;
MuImage: TYPE = POINTER TO PrivateRamDefs.PackedMuFile;
-- T H E I N T E R F A C E
LoadRamAndBoot: PROCEDURE[m: MuImage, boot: BOOLEAN] RETURNS [constDiffs: CARDINAL];
-- loads the ram from the MuImage, checks the constants and returns number of constant mismatches. If boot=TRUE, also does a silent boot: first, a silent boot is done to guarantee that the machine is in ground state (everything running in ROM0 - ok for Mesa?) and then, after loading the ram image, another silent boot is done as specified in the blv field of the MuImage.
ReadBlv: PROCEDURE[m: MuImage] RETURNS [BootLocusVector];
NoEtherNetBoard: ERROR;
SilentBoot: PROCEDURE[blv: BootLocusVector];
-- check to see that a silent boot is possible (I.e., that Alto has an EtherNet board), sets boot locus vector and does the StartIO to cause a silent boot.
StartIO: PROCEDURE[ac0: UNSPECIFIED] RETURNS[fromAc0: CARDINAL];
-- Do an SIO with ac0 passed in the Alto AC0.
MuFileAlreadyOpen: ERROR;
SuspiciousPackedMuFile: ERROR;
ReadPackedMuFile: PROCEDURE[name: STRING] RETURNS[theImage: MuImage];
-- Read and swap in a Packed Mu file and check it to increase our confidence that it is a valid MuImage as prepared by the program PackMu.Run.
ReleaseMuImage: PROCEDURE[theImage: MuImage];
-- Release the FileHandle for the current packed MuImage. IF muSeg#NIL, then swap it out first and get rid of the segment. Then release the file.
END. --RamDefs
Edit Log
Remark: Sturgis: 5-Jun-79 18:26:33: any comments earlier than October 1, 1978 placed in the Juniper History Log.
Changed by Mitchell: October 29, 1979 3:10 PM
added ReadBlv procedure as an INLINE procedure.
Changed by Mitchell: October 31, 1979 10:34 AM
had to reimplement ReadBlv as a non-inline procedure in RamLoad because it forced clients to have PrivateRamDefs on their disk to use the inline procedure.
Changed by Mitchell: DTAcrType