MesaRuntime.notes -- Copyright (C) 1985 by Xerox Corporation. All rights reserved. last edited by Levin on March 11, 1983 5:35 pm Restructuring of MesaRuntime Interfaces: Original interfaces: BitBlt Boot BootFile BootSwap ByteBlt Checksum CPSwapDefs DebuggerSwap Environment Frame Inline MiscAlpha Mopcodes PageMap PrincOps PrincOpsRuntime Process ProcessInternal ProcessOperations ProcessPriorities PSB Runtime RuntimeInternal RuntimePrograms SDDefs Snapshot SubSys TemporaryBooting TemporarySignals TimeStamp Trap Utilities XferTrap New interfaces in MesaRuntime.df: MesaRuntimeInit, which replaces: RuntimePrograms Process, which replaces: Process ProcessPriorities PrincOps, which replaces: BitBlt Environment [LongNumber, Comparison] MiscAlpha Mopcodes PageMap [types] PrincOps PrincOpsRuntime [types] PSB SDDefs PrincOpsUtils, which replaces: Frame Inline PageMap [operations] PrincOpsRuntime [GetFrame] ProcessInternal ProcessOperations Runtime [ Copy, GlobalFrame, ValidateGlobalFrame, InvalidGlobalFrame, ValidateFrame, InvalidFrame, IsBound] RuntimeInternal [ EnterGlobalFrame, RemoveGlobalFrame, DeletedFrame, Codebase, Code, EntryVector, MakeFsi, FrameSize] System [GetClockPulses] Trap XferTrap RuntimeError, which replaces: Runtime [ BoundsFault, ControlFault, DivideCheck, LinkageFault, PointerFault, PortFault, StartFault, StackError, UnboundProcedure, ZeroDivisor] RuntimeInternal [ResumeError, SendMsgSignal] TemporarySignals New interfaces in Tentacles.df: BootFile BootStartList DebuggerSwap, which replaces: CPSwapDefs DebuggerSwap Runtime [CallDebugger, Interrupt] RuntimeInternal [WorryCallDebugger] GermSwap, which replaces: Boot BootSwap Runtime [GetBuildTime] LoadStateFormat The following are eliminated: ByteBlt - part of Trinity instruction set; put private version in Communication Checksum - move to BasicHeads.TrapSupportImpl if necessary Environment - parts are moved to Inline and VM; Block and BitAddress are discarded Runtime - Loader provides equivalents for: LoadConfig, NewConfig, RunConfig SelfDestruct, NullProgram ConfigError, ConfigErrorType Loader probably provides: GetBcdTime, GetTableBase SafeStorage provides NEW UnNewConfig, GetCaller no longer supported RuntimeInternal - FlushLargeFrames is internal to frame fault handling (in VM) No longer supported (or needed): CleanMapLog, Bug, StartTrace, StopTrace, CantSwap, CAbort SubSys - subsumed by Loader Snapshot - provided at a higher-level TemporaryBooting - supplied by higher-level Booting interface TimeStamp - provided at a higher-level Utilities - subsumed by VM and Trinity instruction set Note 1: We assume a higher-level Time interface that provides the Pulse/Microsecond conversion from System and GMT-related stuff. The time zone parameters are handled by the File system (!) because of the dependence on physical volumes (ugh). The power on/off facilities from System can also be provided at a higher level, perhaps through the same interface.