-- GV.bootmesa   	pilot.bootmesa with modifications to frameweights.
-- Hankins	 1-Aug-84 13:04:32	for Klamath (hope it's correct!)


-- WARNING: If a procedure is RESIDENT, the entry vector for its containing module must also be RESIDENT.  If a procedure is IN, the entry vector for its containing module must be IN or RESIDENT.

WART: PilotControl;

RESIDENT:
  CODEPACK [KernelResidentBooting, KernelSpecialResident, KernelResidentRunFast],
  CODEPACK [HighStoreSpecialResident, HighStoreResidentRunFast],
  FRAMEPACK [ResidentFrames],
  CODEPACK [BasicHeadsResident, BasicHeadsSpecialResident],
  FRAMEPACK [BasicHeadsResidentFrames];

-- The IN section describes those CODE PACKS which are initially loaded. A CODE
-- PACK must be initially IN if it is required for initialization, or if it
-- provides code which is needed to swap in code which is not initially in.
-- In practice, this means all of the code associated with mapping.

IN:
  CODEPACK [BasicHeadsInitialization],
  CODEPACK [SwappableBasicHeads], -- may contain EVs for swappable heads init.
  CODEPACK [HighStoreInitialization],
  CODEPACK [KernelBasicsInitialization],
  CODEPACK [ScavengerInitialization],
  CODEPACK [ByteBlt],  -- contains EV for Stream initialization.
  CODEPACK [Floppy],   -- contains EV for FloppyChannel initialization.
  -- The following packs are necessary to provide the mapping function so that
  -- the packs which are not initially IN can be brought in.
  -- This is a copy of all of the swappable packs
  -- in HighStorePack and KernelBasicsPack.KernelBasicsInitialMerge.
  -- Alphabetical order, please.
  CODEPACK [
    BcdInfoOps, BuildingVolumes, ByteBlt, CloseVolume,
    CommonLabelOperations, FileAttributes, FileCreateDelete,
    FileCreation, FileDelete, FileMakePermanentOrTemporary,
    FileMapSeldomUsed, FileSetSize, FileVolumeMisc, GetBSData,
    HeapSetSizeAttributes, HeapZoneChecking, HighStoreBugAndCatchCode,
    IAmPilot, InLoadOutLoad, LVScavenger, LVScavengerConversion,
    ManipulateVolumeData, ModulePerfAndLinkInfo, NewUnnewModule, ObjAllocCommon,
    OpenVolume, Othello, OtherAccess, OtherObjAlloc,
    PhysicalVolumeScavenger, Pinning, PVOnlineOffline,
    ScavengerBugAndCatchCode, ScavengerMiscUtilities, ScavengerPublicProcs,
    SignalProcessing, SnapshotMisc, SpaceAllocation, SpaceCodeHacking,
    SpaceCopying, SpaceCopyingHelper, SpaceLargeRuns, SpaceMap, SpaceMapLogging,
    SpaceMisc, SpaceProcesses, SpaceSpecialCreates, SpaceStatusOps, SpaceUnmap,
    Streams, SwappableDiskDrivers, SwappableProcess, SwappableSystem,
    TempFileManipulation, Traps, UnimplementedStream,
    UserTerminalDriverSwappable, UtilityPilotBootFileBackingStore,
    VamVfmCommon, VMDataMapImplPinned, VMDriverSwappable,
    VolTableCommon, VolTableSeldomUsed, VolumeCommon, VolumeConsistencyOps],
  FRAMEPACK[SwappableHotFrames, SwappableCoolFrames,InitializationFrames];
-- END of IN section --

NOTRAP: PilotControl, Traps;

-- Process Data Area:	

PROCESSES: 140;  	-- pilot is 75
    -- FEWER PROCESSES WILL SAVE YOU RESIDENT MEMORY AND INCREASE PERFORMANCE.
    -- The number was 100, I upped it to 120, wasn't enough. 

STATEVECTORSIZE: 20;  -- (D0 and Dandelion)

-- Priority levels 3, 4, 6, and 7 are reserved for Pilot.  If you add a
-- faultable process at one of those levels, you must also add a state
-- vector for it.
STATEVECTORCOUNT: 0, 1;  -- Client Low.
STATEVECTORCOUNT: 1, 3;  -- Client Main.
STATEVECTORCOUNT: 2, 2;  -- Client High.
STATEVECTORCOUNT: 3, 3;
  -- PageFaultLow:  1 for basic Swapper processes + 1 for OperationHandler +
  -- 1 for process calling the debugger (typically faults when forked).
STATEVECTORCOUNT: 4, 1;  -- PageFaultHigh: 1 for basic Swapper processes.
STATEVECTORCOUNT: 5, 1;  -- Faultable real time devices
STATEVECTORCOUNT: 6, 2;  -- Real Time Processes + 1 for SA800Requester.
STATEVECTORCOUNT: 7, 1;  -- FrameFaultProcess.
-- services and old gv are diff but oldgv and oldpilot were same so using new pilot.

-- these are diff in pilot (19), in services there are (41), old pilot (15)

FRAMEPAGES: 35;
FRAMEWEIGHT: 0, 20;
FRAMEWEIGHT: 1, 32;
FRAMEWEIGHT: 2, 16;
FRAMEWEIGHT: 3, 24;
FRAMEWEIGHT: 4, 16;
FRAMEWEIGHT: 5, 15;
FRAMEWEIGHT: 6, 22;
FRAMEWEIGHT: 7, 8;
FRAMEWEIGHT: 8, 5;
FRAMEWEIGHT: 9, 5;
FRAMEWEIGHT: 10, 14;
FRAMEWEIGHT: 11, 2;
FRAMEWEIGHT: 12, 2;
FRAMEWEIGHT: 13, 1;
FRAMEWEIGHT: 14, 1;
FRAMEWEIGHT: 15, 1;
FRAMEWEIGHT: 16, 1;
FRAMEWEIGHT: 17, 1;
FRAMEWEIGHT: 18, 1;
FRAMEWEIGHT: 19, 0;
FRAMEWEIGHT: 20, 0;
FRAMEWEIGHT: 21, 0;
FRAMEWEIGHT: 22, 0;
FRAMEWEIGHT: 23, 0;
FRAMEWEIGHT: 24, 0;
FRAMEWEIGHT: 25, 0;
FRAMEWEIGHT: 26, 0;
FRAMEWEIGHT: 27, 0;
FRAMEWEIGHT: 28, 0;
FRAMEWEIGHT: 29, 0;
FRAMEWEIGHT: 30, 0;  -- "30" = PrincOps.LastAVSlot.

LOADSTATEMODULES: 500;  -- number of unused initial entries.
LOADSTATEBCDS: 40;  -- number of unused initial entries.

	
MDSBASE: 1000B;
CODEBASE: 1400B;


-- LOG:

-- Hankins	modify Pilot.bootmesa based on old GV.bootmesa (only frameweights are diff).