-- FILE: RamDefs.mesa Last Edited by Swinehart, March 15, 1980 4:19 PM
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,
bank: [0..2]←0] 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. On 3K RAM machines, loads image into whichever microcode RAM bank is specified. Caution: if bank#0 AND boot, destroys locations 0 and 1 in bank 0.
ReadBlv: PROCEDURE[m: MuImage] RETURNS [BootLocusVector] = INLINE
BEGIN RETURN [m.blv] END;
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.
RamConfiguration: TYPE= {rom1ram0, rom1ram1, rom2ram1, rom1ram3};
ReadRamConfiguration: PROCEDURE RETURNS [RamConfiguration];
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.
Changed by Mitchell: DTAcrType
Changed by Swinehart: bank argument to LoadRamAndBoot, add RamConfiguration type, ReadRamConfiguration procedure