-- PilotKernelPack.pack -- This file specifies the code pack merging for all of PilotKernel. -- Yokota March 23, 1981 6:07 PM DiskDrivers.AltoFileInterlock is put into DISCARD CODE PACK (DiscardAltoFileInterlock). VMMgr.SpaceCreate and SpaceDelete are put into a separate code pack (SpaceCreateDelete). MesaRuntime.ProcessesHot is moved to ResidentCool. UserTerminalDriver.ResidentCool is added to ResidentCool. Packs in ResidentCool are rearranged. -- Knutsen February 18, 1981 12:50 PM Added new code pack HighStoreResident. Renamed code segments. -- Gobbel January 31, 1981 11:04 AM Created from old TestPilotPack.pack -- Knutsen January 22, 1981 7:01 AM New pack MesaRuntime.Traps. Renamed code packs Frame* to FrameImpl*. FrameImpl GFrame now resident. Moved ResidentCool to be second. Sorted swappable non-Store code packs by config name (only) [careful here!]. Improved documentation. -- Gobbel January 19, 1981 4:28 PM Created ResidentCool code pack. Deleted VMMgrCommon code pack. Added MapLogging code pack. -- Levin 28-Apr-82 11:58:25 Flush DiskDrivers.AltoFileInterlock -- THE ORDER OF THE CODE PACKS BELOW IS CRUCIAL. -- DO NOT REARRANGE THE ORDER OF ANYTHING UNLESS YOU -- ARE SURE OF THE CONSEQUENCES. In general, new packs will probably be -- be placed later in the sequence, rather than earlier. -- This file is used to merge all of the other CODE packaging specifications -- so as minimize breakage. This file is used as the next to the last .pack -- file in the collection of files concatenated into the final packaging -- specification. (PilotKernelFrames.pack must be last.) ResidentAndLowStore: SEGMENT MERGES Control, DiskDrivers, Filer, MesaRuntime, Misc, Swapper, UserTerminalDriver = -- All resident code must go in this segment. Swappable code from the rest -- of Pilot (excluding FileMgr, Transactions, and VMMgr) goes here too. BEGIN Resident: CODE PACK = -- must be first! -- This pack merges all of the resident code of the modules in this segment which goes in PrincOps real memory: BEGIN Control.ResidentSystem; DiskDrivers.Resident; Filer.Resident; MesaRuntime.Resident; -- Misc.Resident; Misc.Resident is moved to ResidentCool Swapper.Resident; UserTerminalDriver.Resident; END; ResidentCool: CODE PACK = -- must be second! -- This pack merges all of the resident code of the modules in this segment which goes in non-PrincOps real memory: BEGIN -- The order has been chosen to ensure that the COLDEST procedures end up in -- regular memory in case the display bank overflows. This permits "easy" -- detection of performance problems related to executing out of the display bank. Swapper.ResidentCool; Misc.ResidentCool; MesaRuntime.ResidentCool; Filer.ResidentCool; MesaRuntime.ProcessesHot; -- Since Star often uses these procedures UserTerminalDriver.ResidentCool; Control.ResidentCool; DiskDrivers.ResidentCool; END; -- Swappable code packs for everything but FileMgr, Transactions, and VMMgr: -- FOR A GIVEN CONFIG, THE ORDER IN WHICH THE PACKS ARE -- MENTIONED IS IMPORTANT! -- Place new packs together with the other packs of the same -- config. (If there are cross-config code packs, this rule will be violated.) Control.SwappableSystem; DiskDrivers.SwappableDiskDrivers; Filer.LabelHacking; MesaRuntime.FrameImplHot; MesaRuntime.FrameImplCold; -- MesaRuntime.ProcessesHot; ProcessesHot is put into ResidentCool MesaRuntime.ProcessesCold; MesaRuntime.InLoadOutLoad; MesaRuntime.Signals; MesaRuntime.SnapshotMisc; MesaRuntime.Traps; Misc.Nodes; Misc.ByteBlt; Misc.HeapPruning; Misc.Attributes; Misc.CreateDelete; Misc.Recreating; Misc.Checking; Misc.Streams; Swapper.SwappableSwapperHot; Swapper.SwappableSwapperWarm; UserTerminalDriver.UserTerminalDriverSwappable; ResidentInitialization: CODE PACK = BEGIN Control.Initialization; DiskDrivers.Initialization; Filer.Initialization; MesaRuntime.Initialization; Misc.Initialization; Swapper.Initialization; UserTerminalDriver.Initialization END; END; --of segment ResidentAndLowStore-- HighStore: SEGMENT MERGES FileMgr, Transactions, VMMgr = -- This segment merges all of the code in the FileMgr, Transactions, and VMMgr configs. BEGIN FileMgr.FileHelperProcess; -- should be first! VMMHelperProcess: CODE PACK = -- should be second! { VMMgr.VMMHelperProcess; FileMgr.VMMHelperProcs }; FileMgr.FileAttributes; FileMgr.FileSetSize; FileMgr.VFMChangingSize; FileMgr.FileCreate; FileMgr.FileDelete; FileMgr.OtherFileStuff; FileMgr.Volume; FileMgr.PhysicalVolume; FileMgr.Othello; FileMgr.Scavenger; VMMgr.SpaceOpsCommon; VMMgr.SpaceMap; VMMgr.SpaceUnmap; VMMgr.SpaceCopying; VMMgr.SpaceRemap; VMMgr.SpaceStatusOps; VMMgr.SpaceCodeHacking; VMMgr.SpaceMisc; SpaceCreateDelete: CODE PACK = -- Star uses space Create & Delete in a short time. { VMMgr.SpaceCreate; VMMgr.SpaceDelete; }; TransactionsRunning: CODE PACK = { FileMgr.TransactionRelatedRunning; Transactions.RunningTransaction; VMMgr.SpaceTransactions }; TransactionsCommon: CODE PACK = -- Merged from AbortBeginCommitCommon, BegTransaction, Commit, -- VMMgr.SpaceTransactions. This assumes that commiting a transacion is the -- normal mode of operation and that aborting is "rare". { Transactions.AbortBeginCommitCommon; Transactions.BeginTransaction; Transactions.Commit }; TransactionsAborting: CODE PACK = { FileMgr.TransactionRelatedAborting; Transactions.Abort }; MapLogging: CODE PACK = { FileMgr.FileMapLogging; VMMgr.SpaceMapLogging }; FileMgr.FileMgrInitialization; Transactions.TransactionsInitialization; VMMgr.VMMgrInitialization; HighStoreResident: CODE PACK = -- Contrary to usual practice, this resident code pack is placed *last* so as not to pin the entry vectors of their procedures. (See notes in e.g. VMMgrPack.pack.) { --FileMgr.FileMgrResident; VMMgr.VMMgrResident }; END; --of segment HighStore--