*----------------------------------------------------------- Title[BootDefs.mc...November 23, 1982 1:08 PM...Taft]; * Definitions for microcode and Pilot boot file transfers. *** Pilot-only version *** *----------------------------------------------------------- *----------------------------------------------------------- * Register usage -- Alto Emulator registers *----------------------------------------------------------- SetRMRegion[BBRegs]; * BitBlt registers used as temporaries * Used throughout Initial and Pilot booting: 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]; * Note: disk and ether drivers for Initial microcode use additional registers. *----------------------------------------------------------- * 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];