// 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