*-----------------------------------------------------------
Title[PilotBootDefs.mc...June 18, 1982 1:57 PM...Taft];
* Definitions for microcode and Pilot boot file transfers.
*-----------------------------------------------------------
*-----------------------------------------------------------
* Register usage -- Alto Emulator registers
*-----------------------------------------------------------
SetRMRegion[AEmRegs];
* Used throughout Initial and Pilot booting:
Reserve[1]; * Skip over R400
RVN[BootDataPtr]; * Memory address for boot file transfer
* Used only during calls to BootTransfer:
RVN[IOCB]; * -> disk IOCB throughout boot sequence
RVN[DMBLink]; * Return link
RVN[BTemp0]; * Temporaries
RVN[BTemp1];
RVN[BTemp2];
*-----------------------------------------------------------
* Data structures
*-----------------------------------------------------------
* Pilot definitions, from Boot.mesa and PhysicalVolumeFormat.mesa:
* -- Root page of physical volume, at real disk address 0
* Descriptor: TYPE = MACHINE DEPENDENT RECORD [
MC[Desc.seal, 0]; * seal: CARDINAL ← 121212B,
MC[DescSealValue, 121212];
MC[Desc.currentVersion, 1]; * currentVersion: CARDINAL ← 6,
MC[DescCurrentVersionValue, 6];
* -- other stuff not referenced by microcode
* bootingInfo: PVBootFiles,
* ... ];
* PVBootFiles: TYPE = ARRAY BootFileType OF DiskFileID;
* BootFileType: TYPE = {hardMicrocode, softMicrocode, germ, pilot}
MC[Desc.bi.softMicrocode, 21]; * = @Descriptor.bootingInfo[softMicrocode]
MC[Desc.bi.germ, 32]; * = @Descriptor.bootingInfo[germ]
* DiskFileID: TYPE = MACHINE DEPENDENT RECORD [
MC[DFID.fID, 0]; * fID: File.ID,
MC[DFID.firstPage, 5]; * firstPage: File.PageNumber,
MC[DFID.da, 7]; * da: DiskAddress];