// LoadIfs.cm
// Copyright Xerox Corporation 1979, 1980, 1981, 1982, 1983
// Last modified September 20, 1983  3:28 PM by Taft

// The first group (up to "X/Q") consists of resident code that must
// be resident and be executed in bank 0 even on an XM Alto.
// This includes all modules that execute S-group opcodes,
// generate pointers to code, or fool with the stack in non-standard ways.

// The next two groups (from "X/Q" to "I/Q") are code that must be resident
// on a non-XM Alto for performance reasons, but may be moved to extended
// memory on an XM Alto, if there is enough of it.  In general, all Bcpl
// modules are OK to move, but watch out for procedure values that have
// already been copied into other places by the time XM initialization occurs.
// Code between "L/Q" and "I/Q" is Leaf resident code, which is discarded
// if the Leaf server is not to be enabled.

// The last group (from "I/Q" to the end of the resident) is resident
// initialization that is executed before overlays and vmem work.
// This code is thrown away at the end of InitIFSPart2.
// Note that LoadRam and beyond are discarded early in InitIfsPart1.

// Overlays should be loaded most frequently executed first, since
// on a 128K Alto the first 63 overlays are loaded into XM and the
// remainder swap from disk.

BLDR.RUN/FBRID 2770/W 3200/N 4401/C IFS/S ↑
Ifs IfsResUtilA IfsBcplRuntime IfsDDMgrRes IfsDirKey ↑
PupAl1A PupAlEthA Context ContextSched IfsExtendStack IfsCallProc ↑
IfsInterrupt AltoQueue AltoTimer AltoByteBlt RingBytes TimeConvA ↑
IfsFastStreamsA BfsMl IfsBcplTricks IfsCalls Calendar IfsVMemA TfsA ↑
X/Q ↑
IfsResUtilB/I IfsEventMgr IfsVMemRes IfsVMemMain IfsVMemFileRes IfsOverlays IfsBTreeRes ↑
IfsRSMgrRes IfsTelnetRes IfsSpyRes IfsMailRes IfsMiscRes IfsPressRes IfsLookupFileRes ↑
PupBSPProt PupBSPStreams PupBSPBlock PupBSPA PupRTP Pup1B PupRoute PupAlEthB ↑
Alloc FastStreamsB IfsDVec IfsIsf TfsBase ↑
L/Q ↑
IfsLeafRes IfsLeafVMemRes ↑
I/Q ↑
IfsInitRes IfsInitCommon Pup1OpenClose ↑
IfsOvCopy IfsOverlaysInit IfsVMemInit IfsVMemSwap ↑
IfsIsfInit IfsContextInit ContextSchInit ↑
IfsOpen IfsCreate1 IfsGetCreate IfsDDMgrSwap ↑
IfsCmdScan CmdScanEdit CmdScanAux CmdScanDisplay ↑
StringStreams StringUtil Template IfsSwapUtil ↑
IfsDisksOEP IfsFtpOEP IfsRsMgrOEP IfsDirOEP IfsBTreeOEP IfsLeafOEP ↑
StringOEP FtpOEP IfsMailOEP IfsMiscOEP IfsTelnetOEP IfsSwapUtilOEP ↑
CmdScanOEP DiskStreamsOEP IfsBackupOEP KeywordOEP IfsPressOEP IfsCopyDiskOEP ↑
GrapevineOEP ↑
TfsInit TfsNewDisk TfsWrite TfsCreate TfsClose TfsDDMgr ↑
LoadRam IfsRamTest Random IfsMc ↑
TfsWrite/B 0/P TfsWrite IfsDDMgrSwap ↑
DiskStreams/B 0/P DiskStreams ↑
DiskStreamsMain/B 0/P DiskStreamsMain ↑
DiskStreamsAux/B 0/P DiskStreamsAux TfsCreate ↑
DirOpen/B 0/P IfsDirOpen ↑
DirDelRen/B 0/P IfsDirDelRen ↑
DirLookup/B 0/P IfsDirLookup KPMTemplateA ↑
DirParse/B 0/P IfsDirParse ↑
DirUtil/B 0/P IfsDirUtil ↑
DirAdmin/B 0/P IfsDirAdmin ↑
BTreeSwap/B 0/P IfsBTreeSwap TfsClose IfsRsMgrRare ↑
BTreeRead/B 0/P BTreeRead ↑
BTreeWrite0/B 0/P BTreeWrtMs0 ↑
BTreeWrite1/B 0/P BTreeWrtMs1 ↑
BTreeWrite2/B 0/P BTreeWrtMs2 ↑
BTreeDelete/B 0/P BTreeDel BTreeCheck ↑
SwapUtil1/B 0/P IfsSwapUtil StringStreams StringUtil KPMTemplateB IfsCtxMgr ↑
SwapUtil2/B 0/P Template IfsTimeIO ↑
SwapUtil3/B 0/P TimeConvB IfsPrintError ↑
VMemSwap/B 0/P IfsVMemSwap IfsVMemFileSwap IfsIsfInit ↑
RSMgr/B 0/P IfsRsMgrSwap IfsContextInit IfsVersion ↑
PupLevel1BSPSwap/B 0/P Pup1OpenClose PupBSPOpenClose ↑
PupRTPSwap/B 0/P PupRTPOpenClose ↑
FtpMailServ/B 0/P IfsFtpServ FtpServProt FtpUtilB FtpUtilA ↑
FtpMailProt/B 0/P FtpServProtFile FtpServProtMail ↑
FtpStoreRet/B 0/P IfsFtpStore IfsFtpRetrieve IfsMailAnonAccess ↑
FtpCmdUtil/B 0/P IfsFtpCmd IfsFtpUtil ↑
FtpXfer/B 0/P IfsFtpXfer Keyword ↑
FtpPListProt/B 0/P FtpPListProt FtpPlistImp1 ↑
FtpPListImpl/B 0/P FtpPListImp2 ↑
MailStoreRet/B 0/P IfsMailStore IfsMailRetrieve ↑
MailJob/B 0/P IfsMailJob FtpUserProt ↑
MailSort/B 0/P IfsMailSort ↑
MailForward/B 0/P IfsMailForward FtpUserProtMail ↑
MailUtil/B 0/P IfsMailUtil ↑
MailCompose/B 0/P IfsMailCompose IfsNameLookup ↑
MiscMailServ/B 0/P IfsMiscSwap IfsMailMisc ↑
BootServ/B 0/P IfsBootServ EtherBootLoader IfsBootA ↑
NameServ/B 0/P IfsNameServ IfsNameA ↑
EFTPSend/B 0/P IfsServSend PupEFTPSend PupEFTPCommon IfsBootSend ↑
EFTPReceive/B 0/P IfsServReceive PupEFTPReceive IfsTimeServ ↑
LeafSwap/B 0/P IfsLeafSwap IfsSequinReaper ↑
LeafReadWrite/B 0/P IfsLeafRead IfsLeafWrite ↑
LeafOpenClose/B 0/P IfsLeafOpen IfsLeafClose IfsLookupFileSwap ↑
LeafVMemOpen/B 0/P IfsLeafVMemOpen GrapevineEnquire ↑
LeafVMemClose/B 0/P IfsLeafRare IfsLeafVMemClose ↑
LeafVPBI/B 0/P IfsLeafVPBIUtil ↑
Sequin/B 0/P IfsSequinSwap ↑
SequinFeed/B 0/P IfsSequinFeed IfsSequinUtil ↑
TelnetTop/B 0/P IfsTelnet IfsTelnetProt ↑
TelnetList/B 0/P IfsTelnetList ↑
TelnetListAux/B 0/P IfsTelnetListAux IfsTelnetMemStat IfsTelnetServStat ↑
TelnetDel/B 0/P IfsTelnetDel IfsTelnetLeafMemStat ↑
TelnetFileUtil/B 0/P IfsTelnetFileUtil KeywordInit ↑
TelnetInit2/B 0/P IfsTelnetInit2 IfsTelnetLogin ↑
CmdScan/B 0/P IfsCmdScan IfsTelnetDirStat ↑
CmdScanEdit/B 0/P CmdScanEdit CmdScanTty ↑
CmdScanAux/B 0/P CmdScanAux ↑
Password/B 0/P IfsLogConn Password ↑
CachedDIF/B 0/P IfsCachedDIF ↑
AccessGroup/B 0/P IfsAccessControl IfsGroupName ↑
Grapevine1/B 0/P GrapevineLocate ↑
Grapevine2/B 0/P GrapevineNameInfo GrapevineProtocol ↑
CopyDiskJob/B 0/P IfsCopyDiskJob ↑
CopyDiskRare/B 0/P IfsCopyDiskRare IfsCopyDiskInit IfsBackupCmd1 ↑
BackupJob1/B 0/P IfsBackupJob1 ↑
BackupJob2/B 0/P IfsBackupJob2 ↑
BackupCopy/B 0/P IfsBackupCopy IfsBackupUtil ↑
BackupCmd2/B 0/P IfsBackupCmd2 ↑
BackupCmd3/B 0/P IfsBackupCmd3 ↑
BackupCmd45/B 0/P IfsBackupCmd4 IfsBackupCmd5 ↑
BackupRestore/B 0/P IfsBackupRestore ↑
BootRare/B 0/P IfsBootRare IfsLookupFileInit ↑
NameRare/B 0/P IfsNameRare IfsHeapSort ↑
NameInstall/B 0/P IfsNameInstall ↑
TimeRare/B 0/P IfsTimeRare IfsBootInstall ↑
PressSend/B 0/P IfsPressSend ↑
PressRare/B 0/P IfsPressRare IfsTelnetPressShow ↑
TelnetPress/B 0/P IfsTelnetPress ↑
TelnetChange1/B 0/P IfsTelnetChange IfsTelnetChangeDir1 ↑
TelnetChange2/B 0/P IfsTelnetChangeDir2 ↑
TelnetChange3/B 0/P IfsTelnetPassword IfsTelnetGroup ↑
TelnetAdmin/B 0/P IfsTelnetAdmin IfsTelnetShow ↑
TelnetDisks/B 0/P IfsTelnetDisks ↑
TelnetDiskStat/B 0/P IfsTelnetDiskStat ↑
TelnetProtect/B 0/P IfsTelnetProtect ↑
TelnetStat/B 0/P IfsTelnetStat IfsTelnetLeafStat ↑
TelnetSysParam1/B 0/P IfsTelnetSysParam1 ↑
TelnetSysParam2/B 0/P IfsTelnetSysParam2 ↑
MailCommand/B 0/P IfsMailCommand ↑
MailStatus/B 0/P IfsMailStatus IfsMailUndeliv ↑
AllocSpy/B 0/P IfsAllocSpy IfsAllocSpyStack ↑
VMemSpy/B 0/P IfsVMemSpy IfsMemoryError ↑
Open/B 0/P IfsOpen ↑
TfsInit/B 0/P TfsInit ↑
GetCreate/B 0/P IfsGetCreate TfsDDMgr ↑
Create1/B 0/P IfsCreate1 IfsExtend IfsDirCheck IfsDirCompareRecords ↑
Create2/B 0/P IfsCreate2 ↑
TfsNewDisk/B 0/P TfsNewDisk ↑
AltoDirs/B 0/P Dirs DirScanA DiskStreamsScan ↑
InitSwap/B 0/P IfsInitSwap IfsInitCommon IfsOvXMInit ↑
PupInit/B 0/P Pup1Init PupDummyGate PupAlEthInit ↑
FtpInit1/B 0/P FtpUtilInit IfsFtpInit IfsMailInit IfsMiscInit ↑
FtpInit2/B 0/P FtpPListInit IfsBackupInit ↑
TelnetInit1/B 0/P IfsTelnetInit1 IfsPrintErrorInit ↑
LeafInit/B 0/P IfsLeafInit IfsRsMgrInit IfsEventMgrInit IfsInterruptInit
// Normal number of errors = 5

ListSyms/O Ifs