-- DiskDriversPack.pack -- Last edit by: -- Yokota March 20, 1981 10:20 AM MakeLP & MakeRP are moved from Resident to ResidentCool. -- Gobbel January 31, 1981 11:33 AM Moved frame packs into PilotKernelFrames.pack. -- Gobbel January 19, 1981 3:41 PM Discard AltoFileInterlock, move SA4000Impl.Start to initialization -- Levin 28-Apr-82 11:54:30 Flush AltoFileInterlock; move its contents to ResidentCool. DiskDrivers: SEGMENT = BEGIN Resident: CODE PACK = BEGIN -- The only resident driver code is that for the system volume (to prevent -- monitor deadlocks caused by a page fault while in that monitor lock) and -- the code is callable from the page fault path (i.e., the Filer) - the -- driver procs getPageAddress, requestIO. WARNING: this packaging ASSUMES -- that the SA4000 is the system volume! DiskChannelImpl EXCEPT Initialization, ResidentCool; DiskDriverSharedImpl EXCEPT Initialization; SA4000Impl EXCEPT Initialization, ResidentCool; END; ResidentCool: CODE PACK = -- goes in display memory on Dandelion BEGIN DiskChannelImpl [ErrorHalt, AwaitStateChange, GetDriveAttributes, GetDriveTag, GetNextDrive, GetPageNumber, SetDriveState, SetDriveTag, Create, Delete, GetAttributes, GetPageAddress, CreateCompletionObject, RegisterDrive, MakeLP, MakeRP, Idle, Restart, Suspend]; SA4000Impl [ErrorHalt, GetPageNumber, ChangeState]; SA800Impl [GetNextRequest, GetPageAddress, RequestIO]; END; SwappableDiskDrivers: CODE PACK = BEGIN FloppyChannelImpl EXCEPT Initialization; SA800Impl EXCEPT Initialization, ResidentCool; END; Initialization: CODE PACK = BEGIN DiskChannelImpl [MAIN]; DiskDriverSharedImpl [MAIN]; FloppyChannelImpl [MAIN, RegisterDrives]; SA4000Impl [InitGlobals, MAIN, RegisterDrives, Start]; SA800Impl [MAIN, RegisterDriverProcs]; DiskDrivers.StartChainPlug; END; END;