MesaRuntime.notes
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.