XEROXPARC6 March 1984To:Dolphin Users and Maintenance PersonnelFrom:Edward FialaSubject:Dolphin Booting and Maintenance Panel CodesFiled On:[Indigo]MPCodes.Bravo, .PressThe purpose of this memo is to provide enough information to diagnose malfunctions to the extentthat MP codes permit, covering Pilot, Cedar, and Alto microcode systems. Lisp and Smalltalkpresently use the same MP codes as Alto, but note that Cedar now has diverged from Pilot to thepoint that its MP codes are no longer similar.This revision incorporates changes in booting procedures and maintenance panel codes associated withthe Pilot 11.0 (Klamath) and Cedar 5.0 releases. It is still inaccurate and incomplete for Tor (5700)configurations. Please report discrepancies or omissions. The original version of this memo was on 10October 1980 by Hal Murray. I have revised it and extended it periodically.Please note that MP codes produced during booting by Initial (one of the microprograms discussedbelow) changed about 1 June 1982 and about 10 January 1983; a few revisions also were made inJanuary 1984. If you are using Pilot or Alto emulator microcode produced before 1 June 1982, thenthis document will be inaccurate with respect to Initial. If you ether boot Initial (which happens ifyou have just powered up, and your SA4000 disk is not yet up to speed), then this memo should beaccurate. There are only a few changes in Initial's MP codes between 8.0 and 11.0 Pilot releases, andbetween 4.0 and 5.0 Cedar releases.I have included a recent summary of MP codes shown by Pilot and Cedar software, but this is NOTauthoritative with regard to MP codes generated by software--only microcode-generated MP codes arereliably described in this document. An authoritative document for Pilot MP codes is the[Idun]11.0>*>PilotMP.mesa source file; for Cedar, the equivalent file is[Indigo]*>MPCodes.mesa, I think.Some recent changes in MP codes and booting procedures are as follows:1) Cedar now boots BasicCedarD0 from both the disk and the Ethernet; Iago is usedinstead of Othello; Othello is no longer needed by Cedar users. The MP codes shown byBasicCedarD0 are all different.2) Othello is still used by Pilot, but the MP codes shown by both the 11.0 germ andOthello are enriched and changed slightly from 10.0. 928 (waiting for boot server) nowappears in the MP until a boot server responds; 930 (Pilot control and Mesa runtimecomponents being initialized) is usually not seen now; and 975 (initializing transactions)no longer appears.3) Dolphin microcode files are now obtained from one of the following places:[Indigo]Klamath>11.0 microcode[Indigo]Trinity>8.0 to 10.0 microcode[Indigo]Cedar>Cedar microcode (compatible with Pilot 6.0)'bp(E`S&+^qX Zr q' Xrq Vr q+ TyrF qX Q&: O=R Mr_ K. H6_ Fk X D,; BL ?d` =] ; T :B% 89 S 6o=) 4# 12,3 /hC -? +V.W" ** &F#$I!Y/' FRSSJM"s  "s M"s+ ?X2Dolphin Booting and Maintenance Panel Codes2[Indigo]Alto>Alto microcodeNote that the initial microcode for Cedar (=Pilot 7.0), for PIlot 8.0 to 10.0, and for Pilot11.0 are mutually incompatible because the location and format of the Pilot germ, germrequest, and switches differ.Files of interest are as follows:InitialAltoD0.ebDisk initial microcode for default Alto boot.InitialPilotD0.ebDisk initial microcode for default Pilot or Cedar boot.Initial.eb3 mb boot server initial microcode.EtherInitialD0.eb10 mb boot server initial microcode (not ready yet)PilotD0.ebPilot microcode for workstations (UTVFC), used bothfor ether boot and disk boot.CedarD0.ebCedar microcode for workstations (UTVFC), used bothfor ether boot and disk boot.PilotTor.ebPilot 5700 microcode (UIB).AltoD0.eb3 mb boot server Alto microcode (UTVFC).Alto5700.eb3 mb boot server Alto microcode (UIB).These files may appear elsewhere outside PARC, and the 5700 and Tor named files maynot appear on [Indigo].4) It is now possible to 3 mb ether boot Pilot or Cedar while holding the "BS" and "p"keys (current release) or the "BS" and "v" keys (AlphaMesa release). 10 mb etherbooting is being worked on. A summary of keyboard boot features is given later in thisdocument.5) During ether loading of a file by Initial, the MP code shown is now 740 + 2 x lowfour bits of boot file number.6) Pilot microcode released after 11 May 1983 will crash with an MP code of 220 + pipetask when an io task memory reference experiences a page or write protect fault.Emulator references are still passed to software.7) Pilot microcode released after 11 May 1983 will crash with an MP code of 137 when aMX (monitor exit) or MW (monitor exit and wait) opcode is executed and the selectedmonitor is already unlocked.BootingA Dolphin bootstrap takes place in five or six stages, as follows:(1) Hardware loads the Boot microcode from an EPROM;(2) Boot (EPROM microcode) tests the processor and loads Initial;(3) Initial microcode tests the map and storage and loads an emulator;(4) Pilot or Alto microcode initializes itself, then loads and starts the Pilot Germ or Alto breath-of-life program;(5a) Pilot Germ reads in the physical volume or Ethernet boot file. The Ethernet boot file isBasicCedarD0 for Cedar users, OthelloD0 for others.(5b) Alto breath-of-life program reads in the Alto OS from the 3 mb Ethernet or the disk. TheAlto OS completes the bootstrap. fp+Gfbq"s _#9]E[YL!V"s-T"s1S "s#QN"s3O "s3"sMK "s$"sJ#HY "sF"s(D "s&B% H@[<V;/"9TR74K2L.-)-5+E1'2$& S$> %p qB4pq9pq;Kpqpqpq =p qB  3 pqF V x ;]Dolphin Booting and Maintenance Panel Codes3(6a) BasicCedarD0 or OthelloD0 completes an ether boot; other boot files are also possible on aphysical volume boot.Lisp and Smalltalk booting is similar but won't be discussed here.Hardware BootA bootstrap may be initiated in the following ways:(1) by pushing and releasing the start (power-on) button;(2) from the test hardware (Midas);(3) from a TOD clock (not standard equipment);(4) from a watchdog timer (not standard equipment);(5) by executing the Boot function in a microinstruction;(6) pushing the keyboard boot button while the UTVFC microcode is running normally (CSLkeyboards only).In addition to these normal methods of booting, if your machine is sick, it might spontaneously bootitself when a fault happens while the fault task is running--the Dolphin hardare does this. If theproblem is really bad, it may reboot over and over.On machines with CSL keyboards, repeat booting may occur when the display is turned off; the backchannel reports continuous null in this case, perceived by microcode as "boot button depressed". Thisdoesn't happen with Star keyboards.Also, some deficiencies in error handling by Initial cause certain classes of recoverable hardwarefailures (disk and Ethernet problems) to reboot the machine rather than recovering from the error.The reboot discards any keyboard control interpreted by Initial.While you depress the start button, the hardware shows 8888 in the MP as a light test. When yourelease the power-on button, the machine will then run through the boot sequence discussed above.During the hardware boot, you might see either 8808 or 8880 in the MP if RM or IMX parity errorsare detected by the hardware during loading. Control is transferred to location 0 after loading.EPROM Boot MicrocodeBoot is a tiny diagnostic and bootstrap loader limited (for reasons discussed in the D0 HardwareManual Section 4.10) to 1024 instructions and 16 immediately accessible RM registers; other registerscan be referenced using the stack pointer, however. Its function is to test parts of the machine neededfor the next stage of the boot thoroughly but quickly, reporting any failures on the MP. If these testsare passed, it then boots the Initial microcode from an io device; the SA4000 disk and the 3 mbEthernet are boot devices; 5700 (Tor) configurations use a variant Initial that boots from floppy disk;and 10 mb Ethernet booting will probably be made available at some point. Because loading Initialfrom the disk or Ethernet requires most of the processor to work, the tests performed by Boot mustinclude most of the machine. However, the map and storage are not needed during the boot of Initial,so these parts of the machine are not tested. Also, many processor functions needed only by theemulator are not tested by Boot.Boot runs a few processor tests to find out whether or not the processor is healthy enough to continueloading. Many machines malfunction when first powered up, then work correctly. If the processor fp+Gfbqp qpq(`S \B Wp TVq3R9P#N.M,3Ka9I.) G DZ/5 BH @3 =S V ;D" 9# 6KB 4W 2@ /DJ -z># +Y ) U $p !Ysq\ Q W b /:% dg P b  Y :O o [ 3P @^Dolphin Booting and Maintenance Panel Codes4tests fail, Boot will show an error MP code (0000 to 0039) for a second or so and then reboot.Otherwise, registers are initialized.Then Boot determines whether or not it was started from the maintenance panel (i.e., by Midas duringdebugging). If so, it will show the MP code 0002 and read the Kernel debugging program over theprinter interface from Midas.Otherwise, Boot tries to read the first program on the SA4000 boot record directly into the microstore.When Boot starts this, it will show 0040 in the MP. If you see this (or 0041 or 0046 which frequentlyfollow immediately), your processor is at least somewhat alive.InitialAltoD0.eb and InitialPilotD0.eb are two standard microcode configurations which might beinstalled on the local disk. The initial microcode file lives in a special reserved portion of the disk(cylinder 0 on the SA4000), so you won't see it among your Alto or Pilot files. Each of these is theconcatenation of Initial and AltoD0 with different starting addresses for Initial. Unless redirected bythe keyboard boot feature, InitialAltoD0.eb will boot Alto microcode and OS from the local disk, whileInitialPilotD0.eb will boot Pilot microcode and physical volume boot file from the local disk.However, if Initial is unable to read Alto or Pilot microcode from the local disk, it will invoke a 3 mbether boot.If the disk won't work (0041 to 0045, 0047 to 0048) or isn't ready yet (0046), Boot will try to obtainInitial.Eb from the Ethernet; when this decision is made, a one second pause allows you to read theMP; if the reason for the boot is NOT a button push, the delay is extended to one minute to prevent asick machine from hogging the boot servers. When ether booting starts, 0060 (trying to ether boot)will appear in the MP; other 006x MP codes indicate ether boot problems. While waiting for a bootserver to respond and while transmitting Initial microcode from the boot server, 004x slowly alternateswith 006x, so that you can see both the reason why the disk boot failed and the current ether bootindication.Unfortunately, many machines experience a short period of unreliability after being powered on, butthen work correctly. These machines encounter the one minute wait intended to prevent a sickmachine from hogging the boot servers, and this can be frustrating, if you are waiting for the machineto become ready. If your machine does this, keep pushing and releasing the start button until you seea healthy 0060.The standard trick for forcing an ether boot is to turn power off and then back on. It takes the diskabout two minutes to become ready again. If you push the start button before the disk is ready, youshould get to the Alto NetExec.Note that Initial is loaded directly into the microstore without using either the map or storage. fp+Gf bqA `S% \E [M YL U61 Tf RE? NP MC% K>O IsX GP E+3 DU BI >-9 = '< ;AP 9wc 7W 5?( 4] 2L .G -T +E Z ){M ' $>sq'! "s9+  7X  AKDolphin Booting and Maintenance Panel Codes5Initial MicrocodeInitial is primarily responsible for testing and initializing the map and storage, reporting any failuresin the MP, then loading and starting an emulator. For Pilot, Initial also loads the germ, but the Altoemulator itself loads the breath-of-life program. Initial should also test whatever was not tested byBoot, but it doesn't presently do so. Much of the machine is unfortunately not tested at all by anyprogram during the boot sequence.Initial has several entry points which determine the emulator booted later and the io device used forthe boot; the file which has each starting address is also shown:InitialPilotD0.ebSA4000 Pilot physical volume boot;InitialAltoD0.ebSA4000 partition 1 Alto start;Initial.eb3 mb Ethernet Alto start;EtherInitialD0.eb10 mb Ethernet Pilot boot (undebugged);--3 mb Ethernet Pilot boot;--3 mb Ethernet AlphaMesa Pilot boot;--10 mb Ethernet AlphaMesa Pilot boot (undebugged);--SA4000 partition 2 Alto start.Other entries are used by test programs. If the keyboard boot feature has been used to modify thedefault boot, then Initial will automatically restart itself at the appropriate starting address and clearthe keyboard information.The 'Ethernet Alto start' entry point later will cause the Alto emulator, breath-of-life packet, andNetExec to be obtained from the Ethernet also. The 'SA4000 Pilot boot' starting address will boot thePilot microcode and germ installed on your SA4000; the Pilot germ must be compatible with Initial.Shortly after Initial receives control, it puts 0700 ('starting map test') into the MP very briefly followedby 0400 ('starting storage test'); if you see 0040 then 0700 or 0400 (without an intervening 0060), yourRDC is at least somewhat healthy since Initial was loaded from the disk. Initial first tests the map; itwill hang with the 'bad map' MP code (0702) displayed, if the map is imperfect.Then Initial tests storage and uses only 'good' pages. 0400 is seen in the MP during storage testing,which lasts about 3 seconds with 8 96k-word storage boards.If Initial detects any storage imperfection, it will do additional testing, and 0400 will be shown for 4 to9 seconds (timing approximately proportional to the amount of storage). If the number of pages withcorrectable failures exceeds 1/8 of all pages, and if the amount of good storage is less than 128k words,then the entire test will be repeated allowing pages with soft failures to be used; otherwise, onlyperfect pages are used. After all testing is complete, four numbers will be shown in the MP for about1.0 seconds each:1) 0400+ 1 if 1st storage board imperfect,+ 2 if 2nd imperfect,+ 4 if 3rd imperfect+ 8 if 4th imperfect,+ 16 if 5th imperfect,+ 32 if 6th imperfect,+ 64 if 7th imperfect,+128 if 8th imperfect.This interpretation is for the 96k-word storage boards with 16k RAMs. Each such boardoccupies 128k words of real address space but implements only the first 96k words of the fp+Gf b ^q%E \$C [(> YL&> W! TN REAPzQ"NQL QKQ'IPQGQ#EQ1CQ B%L @[K > ;E 9T/7 7Y 4O 2L26 0i .O +ED" ){; & U $>K "s'B [ -9 u#K  < VT ?]*Dolphin Booting and Maintenance Panel Codes6space. Hence, the bits actually represent imperfections in the existing storage of each128k-word bank of storage.2) Hard bad page count (some uncorrectable failures). This count, and the imperfectboard indication previously, are incomplete if a page with hard errors is thought to be anon-existent page. The current algorithm is very unlikely to make this mistake.3) Soft bad page count (correctable failures only).4) Blk and Syndrome bits for the last failure detected by the error correction hardware.This is shown as four octal characters BSSS, where the first character of the MP code isthe two Blk.0 and Blk.1 bits and the last three characters are the Syndrome.Only 400 is shown when all storage boards are perfect.Even when some storage is bad, unless the amount of 'good' storage is reduced by failures to less than64k words, initialization will continue normally following the bad-page MP codes.When the storage test has finished, consecutive map entries enumerate pages of 'good' storage andstorage has been zeroed; map entries above the last good page are initialized to Vacant. The counts ofgood pages and hard and soft bad pages and the bad-board word are stored in high RM words wherethey will not be smashed by Pilot or Alto. A Pilot opcode allows these test results to be accessed andreported.On an Alto disk boot, Initial then puts 0720 into the MP and continues reading the SA4000 bootrecord. But this time the emulator from the boot record is placed into storage rather than directly intothe microstore. On a 3 mb ether boot, it instead shows 0758 (Star or CSL), or 0762 (Tor) in the MPand reads Alto.Eb from the Ethernet into storage. When it is going to start Pilot, Initial instead shows0725 in the MP; this kind of boot is more complicated since it has to locate and load the germ as wellas the emulator microcode.At the end of file, the microcode image in storage is loaded and started with LoadRAM.Emulator MicrocodeEarly in initialization both Pilot and Alto emulators show the MP code 'Start device init' (0104) barelylong enough to see. Seeing 0104 means that Initial tested and zeroed storage, loaded the microcodeimage into storage from the disk or Ethernet and then from storage into the microstore, transferredcontrol to it, and executed at least the first few microinstructions successfully.After initializing io microcode, Pilot and Cedar then show the number of pages found to be good byInitial; this will be up long enough to see (~ 0.4 seconds). Microcode initialization then finishes bystarting the Germ, which will show 0900 (Pilot) or 0810 (Cedar) followed by the sequences given later.Note that Initial must be compatible with the Pilot or Cedar Germ, and there were incompatiblechanges in 6.0, 8.0, and 11.0 Pilot releases.Since a germ and OthelloD0 or BasicCedarD0 compatible with Initial can be directly booted from theEthernet, there is a booting difficulty only when an incompatible germ and boot file are wanted.In this case, one must presently boot the obsolete Pilot germ by means of the Alto NetExec. From the AltoNetExec, a MesaNetExec corresponding to the Pilot release is booted; then the "Othello" command is issued tothe MesaNetExec to boot OthelloD0. The possibilities are: fp+GfbqF`S];[IZ PW3TN SUQNL N6 K>a IsQ F#> D7=* Bl*5 @+< > ;eN 9X 7B! 627 4:E! 2p .V )p &sq"F $ U "B! !R :( d  _ A$: v- 5- :(9xxrcx _ x : @\wDolphin Booting and Maintenance Panel Codes7CedarMesaNetExec6.0 = Rubicon = CedarMesaNetExec8.0 to 10.0 = Trinity to SierraAlphaMesaNetExec11.0 = KlamathBeginning with Cedar 5.0, Iago in BasicCedarD0 performs functions equivalent to Othello, which is nolonger needed by Cedar users.For the 96k-word storage boards using 16k RAMs, the MP will show 96K/256 pages/board which is384 x number of storage boards (i.e., 0768, 1152, 1536, 1920, 2304, or 2688). Some MPs will show thisvalue plus 1 occasionally for unknown reasons.The Alto emulator has several different entry points, as discussed below. After 0104, on a disk boot,0118 (GotBreathOfLife) is shown for 0.3 seconds after the first page from the disk boot record hasbeen read successfully. On an Ethernet boot, 0114 (start booting the NetExec) is shown, then 0118when the breath-of-life has been received from the Ethernet boot server. Finally, on both disk andEthernet bootstraps, the the number of good pages found by Initial is shown. Then the finalmicrocode overlay is loaded and started at the breath-of-life program's disk or ether boot address.An emulator is usually started by Initial, but Lisp and Smalltalk are started directly, preserving theAlto PC and disk partition. When Initial doesn't immediately precede an emulator, the number ofgood pages displayed will be correct unless you have run the Audio or Jasmine microcode since youlast booted the hardware--these io drivers smash the results left earlier by Initial.When started at its normal entry point, the Alto emulator will boot the OS from SA4000 partition 1only if you have not used the keyboard boot button kludge (which is only available with CSLkeyboards, not with Star or Tor terminals).Keyboard-Controlled BootingThe entry point selected in the .Eb file is overruled when you have carried out a keyboard boot withone of the key selections interpreted by Initial. Keyboard control is only available to you only in thefollowing circumstance:1) You have a CSL microswitch keyboard; Dallas keyboards don't have a keyboard bootbutton. Keyboard control is not available when you push the power-on button.2) You have a UTVFC terminal and the UTVFC task for one of the standard emulators isrefreshing the display normally at the instant the keyboard boot button is depressed. (This isnecessary because the keystrokes are interpreted by the emulator that is running when thekeyboard boot button is depressed, not by Initial.). If the UTVFC task isn't running, thekeyboard boot button will be ignored.3) The key selection exactly matches one expected by Initial; extra keys depressed may (ormay not) invalidate the selection.Note that you may release the depressed keys as soon as you have released the keyboard boot button.If Initial cannot interpret the keystroke combination, it passes it on unchanged to the default emulator.The Alto emulator, for example, will switch from partition 1 to partition 2 if the "0" key is depressed,but "0" is ignored by Initial. fp+Gf:bAr"s:` "s:_"s \1qF Zf V3* U*a S_. O^ N#M LX20 Jc HM F*9 C7/ A` ?a >&U :'; 8&5 7+ 0p -zq+9 +\ )x& Hx%Mx" Nx ?GxtDxGx%xsqx " '<  _ $D ; @[Dolphin Booting and Maintenance Panel Codes8Since an emulator has to be running to effect keyboard control, you may have to cycle power, if yourmachine won't disk boot normally, to force an ether boot and get to the Alto NetExec; then holddown an appropriate keystroke combination and push the keyboard boot button.Here is a list of interpreted keystroke combinations:7Storage test boot. Initial's map and storage tests will repeat until a failure isdetected; then the four MP codes describing the failure will be shown insequence indefinitely.BSAlto 3mb ether boot.dAlto partition 1 disk boot.0Alto partition 2 disk boot. This only works when the Alto emulator is booted bydefault because this keystroke is interpreted by the Alto emulator, not by Initial.d pPilot disk (SA4000) boot. Pilot is booted using the Pilot microcode and germinstalled on your disk.pPilot disk (SA4000) boot.BS pPilot 3mb ether boot.BS vAlphaMesa Pilot 3mb ether boot.e pPilot 10 mb ether boot (not implemented yet).e vAlphaMesa Pilot 10 mb ether boot (not implemented yet).Microcode CoordinationIf you install microcode on your disk, you can be reasonably sure that it won't change out from underyou, but if you ether boot, you will get whatever microcode is currently installed for your type ofmachine on the nearby boot servers.Note that all boot servers try to automatically keep their boot files up-to-date. This makes it hard tohave two different versions of the microcode available in different geographic locations. It is possible todefeat the automatic update heuristics. See Hal Murray if you really need to know more.The two microcode systems you might want to install on your disk as initial microcode (not includingLisp and Smalltalk) are:InitialAltoD0.Eb, the concatenation of Initial.Eb and AltoD0; it will by default load themicrostore with Alto and Alto-style Mesa emulators and start the Alto emulator at itsnormal starting address after running Initial. Various keyboard combinations can be usedon a CSL keyboard to overrule the default boot.InitialPilotD0.Eb, also the concatenation of Initial.Eb and AltoD0, but with a differentstarting address; it will be default boot Pilot using the pilot microcode and germ installedon the Pilot portion the disk; the pilot microcode can be either PilotD0.Eb orCedarD0.Eb. The Tor system uses a variation of InitialPilotD0 with which I am not veryfamiliar.Note that different versions of these files exist for 6.0, 8.0, and 11.0 Pilot releases; Cedar uses theRubicon version. fp+Gf bqL `S$; ^L [5xW @ UE TxQ xO xM 4 LG xJ C H6xF$ xD xB x? (x= . 7p 4:qI 2p[ 0# -_ +9"r *+X &q#!sq $!}@@T/=5'NKC X D ?\#Dolphin Booting and Maintenance Panel Codes9(Details of installing microcode and such are described in the Othello document for Pilot users, andthis is done by a command file for Cedar.)Normal MP Code SequencesWhile you push the power-on button, you should see 8888 in the MP. As soon as you release thepower-on button, you should see one of the sequences given below; these are viewable sequences--numbers not left up long enough to see are not mentioned. On a boot initiated by pushing thekeyboard boot button, you won't see 8888."[n, n]" below indicates that the sequence repeats for awhile, usually during ether booting. "x" as in"9x0" indicates that the digit represented by the "x" can't be determined because of flickering.If your hardware is working properly, the following sequences are reasonable:[46 60] 700 400 758 104 114 118 NP.3 mb Alto boot[46 60] 700 400 762 104 114 118 NP.3 mb 5700 Alto boot40 700 400 720 104 118 NP.Alto disk boot40 700 400 725 104 NP [910 920] 930 940 9x0 990.6.0 to 10.0 Othello disk boot40 700 400 742 760 104 NP 900 928 [910 920] 940 9x0 990.11.0 Othello 3 mb boot40 700 400 742 744 104 NP 900 928 [910 920] 940 9x0 990.11.0 AlphaMesa Othello 3 mb boot40 700 400 725 104 NP [910 920] 930 940 9x0 990.Cedar BasicCedarD0 disk boot40 700 400 742 744 104 NP 900 928 [910 920] 940 9x0 990.Cedar BasicCedarD0 3 mb bootIf your hardware is working properly, but your disk is not yet up to speed, you get the 3 mb Alto bootsequence given above. In this case, if your boot server is busy, "46, 60" may repeat several timesbefore continuing with the rest of the sequence. 700 is up barely long enough to see.If you have just powered up your machine, it might get a 22 or 24. I am also suspicious that amicrocode bug in the boot microcode may be causing 84 (unexpected wakeup from task 16b). After asecond or so, your Dolphin will automatically reboot, but this time 46 will stay in the MP for a minuteor so. If you get tired of waiting, poke the button again.40 is from Boot, 700 to NP from Initial, 900 to 930 from the Pilot germ, the rest from OthelloD0. Ifyou are booting Tajo directly, the numbers after 930 may be different.On Pilot ether booting, 742 is shown while Pilot microcode is being read into storage from the 3mbEthernet, 760 or 744 while reading the Pilot germ; these numbers are 740 + 2 x low four bits of bootfile number. 928, which means "waiting for boot server to respond," may or may not be visible. fp+Gf bqF `S* Z p Vq^ T:& S:# QN) MS L-3 HMxF#4^ xD7#4^xBl4^ x?04^x>84^x<884^x904^x784^ 51a 3gN 1V .*C ,__ *>) (; &,a $aF M %"B Z0/ ?JDolphin Booting and Maintenance Panel Codes10If Your Machine Won't Boot...If your machine won't boot or boots very slowly, it is important to go through the following check list:1) If you have just powered up, make sure your display is turned on--the emulator won't runif the display is powered off, and you obviously won't be able to see anything.2) If you have a CSL keyboard, sometimes the keyboard microcomputer will power-on in abad state; if this happens, you can have all kinds of trash happen on the backchannel--erroneous keystrokes, mouse button clicks, and mouse movement. To fix this, push thekeyboard boot button.3) Otherwise, watch the MP while the problem is happening. The detailed sequence ofnumbers may indicate what is going wrong. You will have to get your head down low toobserve the numbers on the MP reliably; people have frequently reported numbers to mewith 1's translated into 7's, and some other observation errors are occasionally made.In the following pages, a # indicates a final MP code. The machine will hang with this number in theMP until you boot again. All other MP codes are either errors that will be retried automatically orsimple indications of progress.MP Codes from Hardware8888Lamp test (shown while the start or power-on button is down). It can also occurwhen the microcode is repeatedly resetting the MP and counting up to a number <1000. An "8" is what appears in a MP digit when all of it is illuminated, and thishappens when the MP is counting through all states of the digit faster than the eyecan follow.8808#RM parity error. The MP freezes with this code, indicating (??) a failure during thehardware boot.8880#IMX or control store parity error. The MP freezes with this code indicating (??) afailure of the hardware boot.0888#This can occur when the microcode is repeatedly resetting the MP and counting upto a number < 1000 faster than the eye can follow.0088#This can occur when the microcode is repeatedly resetting the MP and counting upto a number < 100 faster than the eye can follow.0008#This can occur when the microcode is repeatedly resetting the MP and counting upto a number < 10 faster than the eye can follow. fp+G?f b ^qNx[:RxYoOxUVxT3(/xRh:xPxM,QxKaNxI'.xGV DZ] BH @ ;p 89qmE m6oFm4Jm2@m1 /DmJ m-z +mMm) (m/!m&O2 $m/!m"1 m/!m%0 ?I-Dolphin Booting and Maintenance Panel Codes11MP Codes from Rev L EPROMs0000One of the first instructions in the EPROM clears the MP; seeing this number meansthat the ALU all-zeroes, all-ones, or GoTo tests failed.0001The ALU all-zeroes, all-ones, and GoTo tests passed. You should never see thissince some other error should happen or the MP should change to 0040 when RDCbooting starts.0002Midas boot.0004 to 0015One of the preliminary ALU tests failed. See Boot.mc for the details. This MPcode list may be buggy in this area.0004XOR failure using 0 constant.0005XOR failure using 0 from T.0006ALU failure using 125b constant.0007ALU failure using 125b from T.0008ALU failure using 252b constant.0009ALU failure using 252b from T.0010ALU failure using 125000b constant.0011ALU failure using 125000b from T.0012ALU failure using 52400b constant.0013ALU failure using 52400b from T.0014ALU failure using 177400b constant.0015ALU failure using 177400b from T.0016Mismatch after write then read of an RM register via the stack.0017The contents of an RM register have changed.0018Register read and compare error using the Stack.0020 to 0035A fault happened. The MP contains 20 plus the contents of the Parity register. Afault in the fault handler will reboot the machine, so you may not get to see thesecodes. The value shown is 20d + (1 if memory error) + (2 if RM parity error) +(4 if control store parity error) + (8 if stack overflow or underflow).0020A Breakpoint microinstruction (i.e., one containing the SetFault function) wasexecuted.0021Memory error. Since the EPROM code doesn't touch the map or storage, this isprobably an H4 Parity error.0022RM register parity error.0024Control Store parity error.0022 and 0024 are to be expected if you have just powered up your machine. (The bias on theRAM chips hasn't been pumped up yet.) This will invoke a one minute delay to avoid hogging theboot servers when something is broken. Poke the button again if you want faster service.0028Stack error.0040Starting to load microcode from RDC.0041Can't find RDC. (Will now try to ether boot)0042SA4000 disk read error.0043SA4000 seek timed out.0044SA4000 disk checksum failure. fp+G?f bt ^qm%rq(m\8 [m,#mYLImW Um RE mPz9smN#q K>m Ism Gm Em Dm BIm @~m# >m! <m" ;m 9Tm# 7m! 4m? 2Lm, 0m0 - m$-m+EKm){9m'G %m(&m$ "Pmrq/m  m mRsKusP Y qm mrq m rq m m Vm ?]7Dolphin Booting and Maintenance Panel Codes120045SA4000 bad Control Store address--attempt to load into EPROM area.0046SA4000 disk not ready. (Will now try to ether boot)0047The label word which should contain a link to the next page of microcode to beloaded has an invalid disk address.Most disk errors (0042, 0043, 0044, 0045, 0047) can be caused by simple transient read problems.The RDC task simply retries all of them while the emulator task is counting down a timer. If thetimer runs out, you will see 0048.0048Didn't load microcode from RDC within 1 second. (Will now try to ether boot)0060Trying to load microcode via Ethernet.0061#Can't find Ethernet board.0062Bad Ethernet checksum while reading microcode.0063Bad Control Store address--attempt to load into EPROM area.0064Hardware error (bad status) at end of packet.0065#Timeout after 15 tries at about 10 seconds each.If ether booting doesn't work, the MP will slowly alternate between 006x and 004x so that youcan see both what was wrong with the disk and what is wrong with the Ethernet. If the etherboot eventually times out, you will see 0065 alternating with the bad disk code.0070 to 0085An unnexpected wakeup happened. The MP contains 70 plus the number of theoffending task.0071Unexpected wakeup for task 1.0072Unexpected wakeup for task 2.0073Unexpected wakeup for task 3.0074Unexpected wakeup for task 4. (RDC or Ethernet output.)0075Unexpected wakeup for task 5.0076Unexpected wakeup for task 6.0077Unexpected wakeup for task 7.0078Unexpected wakeup for task 10B. (Ethernet input.)0079Unexpected wakeup for task 11B.0080Unexpected wakeup for task 12B.0081Unexpected wakeup for task 13B.0082Unexpected wakeup for task 14B.0083Unexpected wakeup for task 15B.0084Unexpected wakeup for task 16B (timer task).0085Unexpected wakeup for task 17B (fault task).If you get one of these, one of the IO controllers is probably broken. For example, its reset logicis not working, or the wakeup logic on the RDC or Ethernet board is generating the wrong tasknumber.0104Loading SCB Initial from floppy disk--don't confuse this MP code withStartDeviceInit (also 0104) from emulators; the preceding sequence of MP codesdisambiguates them. fp+G?f bqm7rq `Sm3 ^m1m\#Z sCXUus:V" Sqmrq. R"m& PWm Nm. Lm0rq Jm- I-m0FsHDUBP @[q m/m> <m :m 90m 7fmrq 5m 3m 2m 0;m2 .qm ,m *m )m 'Fm %|m, #m,!sLH#us/} qmE;F m9m ?P4#Dolphin Booting and Maintenance Panel Codes13MP Codes from InitialFault handler MP codes in the range 100 to 255 may also happen when running the new Initial;these are in a different table because they are common to Initial, Pilot, and Alto.0700Start map test.0702#Bad map.0400Start storage test. 0401 to 0655Failures detected on one or more boards. MP shows for about 1.0 seconds:0400+ 1 if storage board 1 had failures+ 2 if board 2+ 4 if board 3+ 8 if board 4+ 16 if board 5+ 32 if board 6+ 64 if board 7+128 if board 8.The above is the interpretation for the 96k-word storage boards; +1 actually means'the first 128k words'; +2 'the second 128k words'; etc. NHardBadCount of hard bad pages (ones with uncorrectable failures), where pages are 25616-bit words; shown after 0401-0655. NSoftBadCount of soft bad pages (only correctable failures); shown after NHardBad. BlkSyndromeA four character octal number in which the first character is the value of Blk[0:1]and the last three characters are the Syndrome of the last storage failure detectedby the error correction hardware; shown after NSoftBad. A translation table fromvalues of BlkSyndrome to chip positions on the storage boards is given in a tablelater.0701#Not enough memory. (Initial requires 64K words.)0720Starting to load emulator microcode from disk.0721#No RDC.0722#RDC Read error.0725Starting to boot Pilot from disk.0730 to 0736 appear during floppy disk booting which only happens on Tor and ESSconfigurations, which have different Initial microcode.0730Start floppy disk loader.0731#Mesa never ready.0732#Illegal for floppy disk booting.0733#Bad floppy disk status.0734#Execute input channel transfer not found.0735#Loader ended.0736#Invalid FIFO type.0741#Can't find UTVFC or UIB.When Initial starts ether booting, it puts 740+2*low four bits of the boot file number. IfEtherLoad can't load that file within a reasonable length of time it will give up and bump theMP by one.0742Trying to load PilotD0.eb or AlphaMesaPilotD0.eb from the 3 mb Ethernet. fp+G?f b^sC\S Yoqm Wm Um T m!mREmPz$mNmLmKmIPmGmEmCmB%'+m@[8 > m-m<$ : mE 90 m@m7f%.m5-$m3=m2 0;m1 -m. +m *m (=m!%s P#7 !6qm km m m  m) Am vm m rqr:sHoJ  qm : ?]L,Dolphin Booting and Maintenance Panel Codes140743#Timeout trying to load PilotD0.eb or AlphaMesaPilotD0.eb.0744Trying to load D0.eg or AlphaMesaD0.eg from the 3 mb Ethernet.0745#Timeout trying to load D0.eg or AlphaMesaD0.eg.0746Trying to load PilotTor.eb from the 3 mb Ethernet.0747#Timeout trying to load PilotTor.eb.0758Trying to load AltoD0.Eb from the Ethernet.0759#Timeout trying to load AltoD0.Eb.0762Trying to load Alto5700.Eb from the Ethernet.0763#Timeout trying to load Alto5700.Eb.0809#Pilot Microcode not installed on SA4000. (Try to ether boot.)0810#Germ not installed on SA4000. (Try to ether boot.)0811#Physical Boot Volume not set on SA4000. (Try to ether boot.)0812#Label check from SA4000. (Try to ether boot.) fp+G?f bqm9 _m> ]m/ [m2 YLm# Vm+ Tm! Rm- Qm# Nim> Lm3 Jm= I m. H9IdDolphin Booting and Maintenance Panel Codes15Syndrome Translation Table for 256k Storage Boards using 64k RAMsInitial records Blk and Syndrome for the last error correction fault of its storage test and showsthese as a single octal number with Blk.0 and Blk.1 displayed in the first character andSyndrome in the last three characters. If the Syndrome is not in the table below, then it is not asingle error, so no single chip can be identified. Blk.0 and Blk.1 are irrelevant for the 256kstorage boards.Syn-Bad BitSynBad Bitdrome0-63dLocationdrome0-63dLocation(octal) (c.0 to c.7)(octal)(c.0 to c.7) 1c.7U9717230U70 2c.6U10717446U60 4c.5U11717762U51 70U155200c.0U160 10c.4U1272061U111 1316U14821217U101 1532U13821433U91 1648U12121749U81 20c.3U1262279U158 268U8423325U151 3224U6723541U141 3440U5723657U125 3756U482475U92 40c.2U14325321U66 464U11325537U56 5220U12225653U47 5436U11226613U116 5752U10227229U106 6712U15927445U96 7328U15227761U86 7544U1423073U156 7660U13231319U149100c.1U15331535U1391062U8231651U12311218U6832611U9511434U5833227U6911750U4933443U5912710U12433759U5013326U1143467U9313542U11535223U8313658U10535439U1041476U15735755U9415322U15036715U8715538U14037331U7115654U10337547U6116614U8537663U52 fp+G?f bA^s-5\D[aYLCW TqX)W1 RE@)W19 Pz)W1 M@)W2L9 K>@)W2L9 Is@)W2L9 G@)W2L9 E@)W2L9 D@)W2L9 BI@)W2L9 @~@)W2L9 >@)W2L9 <@)W2L9 ;@)W2L9 9T@)W2L9 7@)W2L9 5@)W2L9 3@)W2L9 2)@)W2L9 0_@)W2L9 .@)W2L9 ,@)W2L9 *@)W2L9 )4@)W2L9 'i@)W2L9 %@)W2L9 #@)W2L9 " @)W2L9 ?@)W2L9 t@)W2L9 @)W2L9 @)W2L9 @)W2L9 J@)W2L9 @)W2L9 @)W2L9 @)W2L9  @)W2L9 U@)W2L9 :YDDolphin Booting and Maintenance Panel Codes16Syndrome Translation Table for 96k Storage Boards using 16k RAMsInitial records Blk and Syndrome for the last error correction fault of its storage test and showsthese as a single octal number with Blk.0 and Blk.1 displayed in the first character andSyndrome in the last three characters. If the Syndrome is not in the table below, then it is not asingle error, so no single chip can be identified.Syn-Bad BitBlkBlkBlkdrome0-63d)=0=1=2(octal) (c.0 to c.7) 1c.7U082U143U143 2c.6U104U165U165 4c.5U103U164U164 70U003U003U065 10c.4U081U142U142 1316U005U005U067 1532U065U126U126 1648U067U128U128 20c.3U020U020U082 268U011U011U073 3224U013U013U075 3440U073U134U134 3756U075U136U136 40c.2U042U042U104 464U007U007U069 5220U009U009U071 5436U069U130U130 5752U071U132U132 6712U015U015U077 7328U017U017U079 7544U077U138U138 7660U079U140U140100c.1U041U041U1031062U026U026U08811218U028U028U09011434U088U149U14911750U090U151U15112710U034U034U09613326U036U036U09813542U096U157U15713658U098U159U1591476U030U030U09215322U032U032U09415538U092U153U15315654U094U155U155 fp+G?f b@^s-5\D[aYL2 UqX%.* T%.* RE N%.* M%.* K>%.* Is%.* G%.* E%.* D%.* BI%.* @~%.* >%.* <%.* ;%.* 9T%.* 7%.* 5%.* 3%.* 2)%.* 0_%.* .%.* ,%.* *%.* )4%.* 'i%.* %%.* #%.* " %.* ?%.* t%.* %.* %.* %.* J%.* %.* %.* %.*R :X2Dolphin Booting and Maintenance Panel Codes17Syn-Bad BitBlkBlkBlkdrome0-63d)=0=1=2(octal) (c.0 to c.7)16614U038U038U10017230U040U040U10217446U100U161U16117762U102U163U163200c.0U019U019U0812061U025U025U08721217U027U027U08921433U087U148U14821749U089U150U1502279U033U033U09523325U035U035U09723541U095U156U15623657U097U158U1582475U029U029U09125321U031U031U09325537U091U152U15225653U093U154U15426613U037U037U09927229U039U039U10127445U099U160U16027761U101U162U1623073U004U004U06631319U006U006U06831535U066U127U12731651U068U129U12932611U012U012U07433227U014U014U07633443U074U135U13533759U076U137U1373467U008U008U07035223U010U010U07235439U070U131U13135755U072U133U13336715U016U016U07837331U018U018U08037547U078U139U13937663U080U141U141 fp+G?f bqX%.* `S%.* ^ [%.* YL%.* W%.* U%.* S%.* R"%.* PW%.* N%.* L%.* J%.* I-%.* Gb%.* E%.* C%.* B%.* @7%.* >m%.* <%.* :%.* 9 %.* 7B%.* 5x%.* 3%.* 1%.* 0%.* .M%.* ,%.* *%.* (%.* '#%.* %X%.* #%.* !%.* %.* .%.* c%.* %.* R%MDolphin Booting and Maintenance Panel Codes18MP Codes from Cedar and Pilot MicrocodeFault handler MP codes in the range 100 to 255 may also happen when running Pilot; these arein a different table because they are common to Initial, Pilot, and Alto.0104Start device initialization.NPagesNumber of 'good' pages found by Initial, shown briefly after initializing devices andjust before loading the final microcode overlay. This number will be garbage unlessyou ran the new Initial the last time you booted, and it will be garbage if you ranJasmine or Audio microcode since last booting.MP Codes From Alto Emulator MicrocodeFault handler MP codes in the range 100 to 255 may also happen when running Alto; these arein a different table because they are common to Initial, Pilot, and Alto.Assembly switches allow the Alto emulator to be assembled for direct startup from Midas with nomicrocode overlays and no requirement for running Initial first. The 0100 MP code onlyhappens in this debugging configuration, which must do its own map and storage test andinitialization.0100Start map and storage test and initialization.0101#Not enough memory. (You need 512 pages or 128K words--more than the 64kwords required by Initial.)0104Start device initialization.0105Started UTVFC initialization (invisible).0106Finished loaded or flushing CSL keyboard overlay (invisible--only happens onsystems with CSL keyboard overlays; debugging systems and some Lisp andSmalltalk systems don't have such an overlay).0107Finished display initialization (invisible--this will be 0106 with no CSL keyboardoverlay).0110Started disk boot (invisible).0111#Timeout waiting for disk status.0112#Hardware error reading disk (after 10 retries).0114Start booting the NetExec.0118Breath-of-life read successfully from disk or Ethernet.NPagesThe number of 'good' 256-word pages determined by Initial is put in the MP justbefore the final microcode overlay overwrites initialization; it normally remains inthe MP until you boot or crash. The Alto emulator starts immediately after loadingthe final overlay. fp+G?f b'^sX\I ZCqm Wm6mU2smT% q#mRE. Ip%Fks'4DIB?@79>mF< :qm. 89m+m6o 3m 2m) 0;msm.q9 m,,q *ms(m)q 'Fm %|m #m/ !m m7 QmJm:m9m ?OaDolphin Booting and Maintenance Panel Codes19MP Codes from Pilot Germ and OthelloFault handler MP codes in the range 100 to 255 may also happen when running Pilot; these arein a different table because they are common to Initial, Pilot, and Alto. I think these MP codesare the same for both Rubicon and Trinity Pilot releases.0900Germ started loading boot file.0901#Germ allocation trap--out of frames.0902#Control fault. This might be an unexpected KFCB or trap, or it might indicate thatthe germ was put together incorrectly. 902 will be followed by a 999 sequence, asdiscussed below.0903#Start trap--attempt to start an already started module (Pilot bug).0904#Germ page or write protect fault (Pilot bug).0905#Germ incompatible with initial microcode.0906#Germ and running Pilot have different version numbers.0907#Germ reschedule error [A reschedule kfcb trap occurs when the reschedulemicrocode is entered with interrupts disabled, or while the requeuing microcode ortimeout scan microcode is running. This might be caused by a page or writeprotect fault, by failing to acquire a monitor lock, or by waiting on a conditionvariable. Since the germ disables interrupts until it is nearly done with its inload,page or write protect faults by the germ will cause this MP code.]0909#Germ SIGNAL or ERROR (Pilot bug).0910Germ action running (e.g., inLoad or outLoad). 910 normally alternates with 920while reading a boot file from the disk or Ethernet, and 920 is visible most of thetime.0911#Germ and physical volume have incompatible version numbers.0912#Germ and boot file have incompatible version numbers.0913#No physical boot file installed.0914#Boot file contains invalid data (e.g., bad checksum on ether boot).0915#Running TeleDebug server (frequently means couldn't get to CoPilot or no CoPiloton disk).0916#Boot file won't fit in storage.0917Talking to Ethernet debugger.0919Germ has returned to caller who has hung.0920Germ disk, floppy disk, or Ethernet driver running. 920 normally alternates with910 while reading a boot file; ether booting takes awhile, so be patient as long asthe 920 flickers occasionally.0921#Hard error on device being booted.0922#Timeout of boot.0923#Broken link in chained boot file. [Something about your germ or boot files iswrong. First execute the Othello Set Physical Volume Boot Files command; if thatfails to cure the problem, try refetching and reinstalling germ and boot files.]0924#No response from any boot server to Germ's request for an Ether boot file.0925Germ bad packet--unexpected packet sequence number or size.0926Germ trying to find a Pup/3 mb Ethernet 8-bit address.0927#Boot file ends prematurely (Try reinstalling).0928Waiting for any boot server to respond.0930Initializing Pilot Control and Mesa Runtime. This is the first thing that happensafter the germ gives control to the Pilot boot file. On 10.0 and earlier releases, this fp+G?f b$^sX\ S[9 Xxqm Vm$ Tm,rqmS3mQN OmC Mm- Km) J#m6 HYm-mF$.mDKmB5mA.J m?dB =m! :m<m908m7f 5m; 3m5 2m 0;mC .qm3m, *m )m 'Fm) $m:m"$/m! Hm" }m m@ m5m)' Sm6 m; m6 m. )m' mRm 9 V y?]VDolphin Booting and Maintenance Panel Codes20MP code was visible long enough to see, but it seems not to be seen with the 11.0germ and Othello.0931#Pilot and StartPilot have incompatible version numbers.0932#Trap before the trap handler has been set up (Pilot bug).0933#Pilot and Germ have incompatible version numbers.0934#Boot file's StartList contains bad data (Pilot bug).0935#Can't get to the debugger or too early in startup to find debugger. Try usingOthello's Set Debugger Pointers command.0936#Swap to debugger canceled because of H key switch. Waiting for microcodedebugger.0937Attempting to set the time from either the hardware clock or the Ethernet;sometimes get this MP code when you are trying to go to CoPilot but failed to bootCoPilot before booting your Client volume.0938#Running cleanup procedures, normally before a world swap.0939#System.PowerOff called, and no power control relay.0940Initializing Pilot Store component.0946#System logical volume needs scavenging [riskyRepair].0947Drive not ready. (Waiting for it to become ready.)0948#System physical volume needs scavenging.0949#Disk hardware error while scavenging system volume.0950Scavenging logical volume (wait awhile).0951Alternate feedback for progress during a pass of logical volume scavenging.0952Alternate feedback for additional passes during logical volume scavenging.0953#Debugger pointers have been set to a non-existent volume or to a volume withoutan installed debugger.0960Deleting temporary files from previous run.0965#Insufficient file space for data space backing storage (specify smaller size with bootswitch).0970Client and other non-bootloaded code being mapped.0980Initializing Pilot Communication component.0981Trying to find a Pup/3 mb 8-bit address.0990PilotClient.Run has been called.0990 is what you see after Pilot has finished initialization.999Following a 902, 907, and some other codes, the germ shows 999 followed by asequence of global frame addresses and byte PC's for local frames going backwardsfrom the current local frame to the top level. Each number is shown for severalseconds; the whole sequence ends with 0 and then repeats from the MP code whichpreceded 999. Each global frame and PC is shown as four numbers, like thefollowing:0GGG, 0GGG, 0PPP, 0PPPYou must concatenate the 6 G's and the 6 P's to get the complete decimal addressof the global frame and byte PC. fp+G?fmbqLm`S ^m7 \m9 Zm1 Y)m4 W^m&(mU( Sm3mQ P4mJmNiRmL* Jm9 I m3 Fkm# Dm5 Bm3 A m( ?Am3 <m( :mK 9 mJ 7Bm"-m5x 2m+ 1m6m/D ,m2 *m+ (=m( %m#s= bqmLm FmPmD m87mm 7m,$m  X ?VEDolphin Booting and Maintenance Panel Codes21MP Codes from Cedar Germ and BasicCedarD0Fault handler MP codes in the range 100 to 255 may also happen when running Cedar; these arein a different table because they are common to Initial, Pilot, Cedar, and Alto.0810Germ entered or reentered.0811Writing outLoad file.0812Loading boot file or outLoad file.0813Preserving/restoring vacant VM map entries.0814Germ transferred control back to client (who has hung).0815Teledebug server running.0817Unexpected trap or kernel function call (kfcb).0818Attempt to start an already started module.0821Unnamed ERROR.0822Germ and physical volum have incompatible versions.0823Germ and boot file have incompatible version numbers.0824No physical boot file installed.0825Hard error on device being booted.0826Operation on boot device not completed in expected time.0827Broken link in chained boot file. First try seting the physical volume boot file; ifthat fails to correct the problem, try reinstalling germ and boot files.0828No response to germ's request for ether boot file.0829Packet received from boot server with unexpected sequence number or size.Debugger-related codes (0830-0839)0830Cleaning up.0831Hanging.0832Can't world swap.Initialization codes (0840-?)0840Initialization started.0841Incorrect machine type.0842Incorrect microcode (release date from VERSION opcode not recent enough?).0845Mesa runtime initialized.0850VM initialized.0855Storage initialized.0860File initialized.0861Ethernet2 trying to find its Pup address.0862Ethernet host different at DeviceCleanup.TurnOn.0865Communication initialized.0870FS Initialized fp+G?f b)^sF\P ZCqm Xxm Vm" Tm+ Sm7 QNm Om/ Mm+ Km J#m3 HYm5 Fm Dm" Bm8 A.m(-m?dH =m2 ;mI 90s" 6qm 4m 2m 0_s -qm +m *+m9 (`m &m $m #m !6m) km0 m m V ?L|Dolphin Booting and Maintenance Panel Codes22Fault MP Codes from Initial, Cedar, Trinity Pilot, and AltoThe old Initial has different fault MP codes.115Unexpected Ethernet output task wakeup (Alto only).116No state vector error indicating process code inconsistency (Pilot only); rumor isthat this happens when a process that shouldn't page fault does.117Two MC2 errors; both MC2A and MC2B pipes indicate errors; since LogSE isillegal, this might mean two consecutive references experienced uncorrectablestorage failures. Alternatively, this been caused by violating the Output-Output-PStore4 Gotcha (microcode bug).119Stack overflow or underflow. For Pilot and Cedar, this can only happen duringmicrocode initialization because stack errors are subsequently passed through tosoftware. For the Alto emulator, this always crashes.0120 to 0135RM or CS parity error, possibly in combination with other errors. MP code is 120plus:1 if MC1 or MC2 error;2 if RM parity error;4 if CS parity error;8 if stack overflow or underflow.Many codes show a multiple of 20d + a task number, where the task assignments are givenbelow. The 'pipe task' is the one issuing the reference causing an error--this can determinedfrom the error pipe; the 'current task' is the one running when the fault aborted execution.Alto task assignments:SDD Pilot task assignments 0emulator 0emulator 1unused 1unused 2unused 2unused 3unused 3unused 4unused 41st MIOC or 2nd 3mb Ethernetoutput 5color display 52nd 3mb input or 3rd 10 mbEthernet 63 mb Ethernet output 6color display, 2nd MIOC, or 2nd10mb Ethernet 73 mb Ethernet input 71st 10mb Ethernet 8RDC (SA4000 controller) 81st 3mb Ethernet output 9unused 91st 3mb Ethernet input10UTVFC (display controller)10RDC (SA4000 controller)11unused11unused12unused12 UTVFC or UIB terminal controller13unused13unused14timers14 timers15fault task15 fault taskThe following codes imply no RM or CS parity error.0136MC12 error occurred but none of the reasons for it is indicated; i.e., neither H4PE,MOB, MC1A, MC1B, MC2A, nor MC2B errors are true. Conceivably, this can be fp+G?f b;_s- \qm3 YomBmW@ UmAmS< 3 mQqAmO Mm+#mK>-#mIs6 F m?mE mC@mAum?m=!;AsH9w^7?m5q7m2p/0;2m0/0;2m./0;2m-/0;2m+E/0;22){m'/ 0;22%m$/0;22"P m /0;2 m/0;2m/0;2m&/0;2m[/0;2m/0;#m/0;2m/0;m1/ 0; s3 qm5m *4$ ?](uDolphin Booting and Maintenance Panel Codes23caused by an MC1 fault on the reference following a PFetch4, if the PFetch4experiences error correction. Due to a hardware bug, the fault isn't started soonenough in this case, so an extra non-fault-task instruction is executed. If the extrainstruction is a reference it wipes out the MC1ErA and MC1ErB indicators.0137MX (monitor exit) or MW (monitor exit and wait) opcode executed but themonitor referred to was already unlocked [Pilot only].It is better to show the pipe task rather than the current task for H4PE and MOB errors, but forH4PE's the hardware doesn't indicate whether pipe A or pipe B was involved, and I couldn't findout whether or not the pipe is indicated correctly for MOB's.140 to 155Map out of bounds indicating virtual address greater than 22d bits. Code shown is140 + current task. All MOB faults are passed to software when running Pilot.160 to 175H4 parity error indicating bad parity on the processor bus used by Input, IOStore4,and IOStore16 references. Code shown is 160 + current task. This can neverhappen at present since these errors are ignored for all tasks by all microcodesystems. However, Initial has an entry point which causes any emulator to treatH4PE's as a crash condition, and if this entry point were used, these errors wouldcrash.180 to 195Some fault when the preceding instruction contains a LoadPage and the faulthandler decides to continue execution. This indicates a microcode bug and shouldbe reported. For Pilot, this cannot happen for the emulator; for Alto it is neversupposed to happen.200 to 215MC2 crash, indicating correctable storage failure of PFetch1, 2, or 4 with LogSEtrue in the map entry or an uncorrectable storage failure on any reference. Thecode shown is 200 plus the pipe task. Since LogSE is presently illegal, this codeshould indicate an uncorrectable storage failure; some microcode bugs may cause it(e.g., Output-Output-PStore4 Gotcha).220 to 235MC1 crash, indicating a page or write protect violation. The code shown is 220plus the pipe task. Pilot only reports MC1 crashes on io task references; emulatorMC1 faults are passed to software (except that MC1 faults when executing theLoadRAM-and-jump opcode will crash). MC1 faults always crash for Alto.240 to 255SetFault or Breakpoint crash. The code shown is 240 plus the current task. This isused by the microcode in a few places when impossible conditions are detected; forunused tasks, it represents an unexpected wakeup. fp+G?fmbq1m`SRm^<m\/ Z mCmXU6UsXSLR"= Oq mHmMG K m DmIPLmG>mE>mCAmB% ? m.m=Bm;F m:' 7 m1m5Pm3Rm2)(*m0_% - m6m+6m*+Hm(`G % m=m#Nm"-1 !?F% TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN  TIMESROMAN TIMESROMAN& /7>DJQX^agl$pv~j/u MPCodes.bravoFialaMarch 6, 1984 3:40 PM