-- BootChannel.mesa (last edited by: Taft on: January 4, 1981 2:54 PM)
DIRECTORY
Boot: FROM "Boot" USING [Location],
Environment: FROM "Environment" USING [PageCount, PageNumber];
BootChannel: DEFINITIONS =
BEGIN OPEN Environment;
Operation: TYPE = {read,-- read
write,-- write
rawRead};-- raw read: read (single) boot page with no label verify
Create: PROCEDURE [pLocation: POINTER TO Boot.Location, operation: Operation,
dFirst64KStorage:
LONG DESCRIPTOR FOR ARRAY OF WORD]
RETURNS [handle: Handle];
-- Create boot channel from specification of device.
-- dFirst64KStorage should be used for allocating IOCB’s, etc. in the first 64K. It is guaranteed to be 16-word aligned.
-- (When germ resides in first 64K, dHardwareState and dCSBStorage need not be LONG).
Handle: TYPE = PROCEDURE [page: PageNumber, count: PageCount];
Transfer: PROCEDURE [handle: Handle, page: PageNumber, count: PageCount] =
INLINE BEGIN handle[page, count] END;
-- Initiates transfer of the next sequential count pages to/from the boot file starting at the specified (virtual memory) page. The transfer may not have completed when Transfer returns.
-- The client may call Transfer with count=transferWait to wait until all initiated transfers have completed.
-- When all transfers have been completed, Transfer is called with count=transferCleanup. At this time, the BootChannel should perform any necessary cleanup.
transferWait: PageCount = LAST[PageCount];
transferCleanup: PageCount = 0;
END.
LOG
Time: December 18, 1978 9:34 AMBy: McJonesAction: Create file
Time: July 30, 1979 4:32 PMBy: McJonesAction: Added substructure and disk variant to Location
Time: September 19, 1979 6:39 PMBy: McJonesAction: Move Location, DiskFileID, DiskAddress to Boot
Time: October 5, 1979 6:09 PMBy: McJonesAction: Move dHardwareState from Open to Create
Time: October 13, 1979 4:30 PMBy: McJonesAction: Combine TransferPage, Wait into Apply
Time: November 16, 1979 10:25 AMBy: McJonesAction: Runs: drop Open, Wait; add count to Transfer
Time: January 17, 1980 2:46 PMBy: GobbelAction: SA4000 booting: added rawRead to Operation type
Time: February 4, 1980 8:51 AMBy: KnutsenAction: Added F64K allocator, cleanup call of Transfer.
Time: February 4, 1980 8:51 AMBy: McJonesAction: Drop hardware state
Time: January 4, 1981 2:54 PMBy: TaftAction: add transferWait, transferCleanup