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