BootChannel.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Taft, January 4, 1981 2:54 PM
Birrell, October 28, 1983 3:50 pm
Russ Atkinson (RRA) February 13, 1985 4:43:47 pm PST
DIRECTORY
BootFile USING [Location],
PrincOps USING [PageCount, PageNumber];
BootChannel: DEFINITIONS = BEGIN OPEN PrincOps;
Operation: TYPE = {
read, -- read
write, -- write
rawRead}; -- raw read: read (single) boot page with no label verify
Create: PROC [pLocation: POINTER TO BootFile.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 = PROC [page: PageNumber, count: PageCount];
Transfer: PROC [handle: Handle, page: PageNumber, count: PageCount] = INLINE {
handle[page, count];
};
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 AM By: McJones Action: Create file
Time: July 30, 1979 4:32 PM By: McJones Action: Added substructure and disk variant to Location
Time: September 19, 1979 6:39 PM By: McJones Action: Move Location, DiskFileID, DiskAddress to Boot
Time: October 5, 1979 6:09 PM By: McJones Action: Move dHardwareState from Open to Create
Time: October 13, 1979 4:30 PM By: McJones Action: Combine TransferPage, Wait into Apply
Time: November 16, 1979 10:25 AM By: McJones Action: Runs: drop Open, Wait; add count to Transfer
Time: January 17, 1980 2:46 PM By: Gobbel Action: SA4000 booting: added rawRead to Operation type
Time: February 4, 1980 8:51 AM By: Knutsen Action: Added F64K allocator, cleanup call of Transfer.
Time: February 4, 1980 8:51 AM By: McJones Action: Drop hardware state
Time: January 4, 1981 2:54 PM By: Taft Action: add transferWait, transferCleanup
Time: October 28, 1983 3:47 pm By: Birrell Action: Tioga formatting and Cedar 5.0 conversion