1

XEROX 1108 USER'S GUIDE
1

XEROX 1108 USER'S GUIDE
MP CODES
1

MP CODES
1

9.	MP CODES
6


There are two types of Maintenance Panel codes: progress codes and error codes.  Progress codes appear in the maintenance panel at various stages of initialization.  Error codes are traps which freeze or blink the error number in the maintenance panel.  All errors except the 9000-range errors are fatal.
All MP codes less than 9000 are generated by non-Lisp programs implemented directly in microcode or in Mesa, a high-level programming language used at Xerox.  MP codes from 9000 to 9999 are generated by an error in the Lisp system code. A summary of all possible MP code ranges is presented below.  However, only those MP codes likely to arise during operation of a Lisp work station are identified in this document.

2

Summary of Maintenance Panel Code Ranges
1

0000-0199	Pre-boot Diagnostics
0200-0499	Boot Diagnostics
0500-0699	Input Output Processor
0700-0899	Disk Diagnostics (written in microcode)
0900-0999	Pilot Operating System 
1000-6999	Hardware Diagnostics
7000-8887	STAR
8888-8888	MP Lamp Test
9000-9999	Lisp

2

Pre-boot Diagnostics
1

0000 - 0199	Pre-boot Error Codes
1

0096	Insufficient real memory (<1MByte) for Lisp
0149	Usually right after power-on.  Disk not ready.  Safe and effective to 0-boot from this state.
2

Boot Diagnostics
1

0200	Boot Diagnostics Progress Code
1

0200	Normal booting phase 2
0201 - 0299	Boot Diagnostics Error Codes
1

0201	CP error in reading from boot device (to recover, try hitting B-RESET once or twice)
0202	Null Mesa germ installed in physical volume
0203	Broken rigid disk boot chain (possibly intermittent)
0204	Illegal IOP port command
0205	CP Trap (CS parity or double-bit memory error)
0206	Null diagnostic microcode in physical volume
0207	Null Pilot/Mesa emulator microcode in physical volume
0208	Null Mesa germ installed in physical volume
0217	Inconsistent Virtual Memory.  Requires reinstallation or try another partition.
2

Input Output Processor Codes
1

0500 - 0502	Domino Progress Codes
1

Domino is the program that runs in the Input/Output Processor (IOP) and handles the floppy disk, keyboard, mouse and RS232.
0500	StartDomino	Domino has started
0501	InitReadTOD	Domino starting to read the TOD clock
0502	InitReadTODdone	Reading of TOD clock 	completed (next MP number from Lisp)
0505 - 0599	Domino Error Codes
1

0505	 CSParity	CS	parity  error was detected
0506	BurdockCPDisabled	Burdock attempted to use EtherKludge
0507	CPBurdockDisabled	CP attempted to use EtherKludge
0508	IOPBreak	An IOP break with no IOP kernel
0509	IllegalIOPIntr	Illegal IOP interrupt
0510	BadMapEntry	Incorrect vm Map entry in IOP access.
0511	NoCPDmaComplete	CP DMA operation failed to complete
0512	NoCPDmaChannel	CP DMA channel not specified
0513	ReadCPPortDead	CP not responding to Read CPPort
0514	WriteCPPortDead	CP not responding to Write CPPort
0520	StackOverflow	A task's stack has overflowed
0565	InvToneCmd	Invalid keyboard tone generator command
0570	InvProcCmd	Invalid command value in Processor CSB
0571	UnImplCmd	Unimplemented command in Processor CSB
0572	SetTODError	The Time-Of-Day could not be set 
0576	LSEPCtlOVR	LSEP Control CSB overrun
0580	NoValidCommand	Invalid floppy IOCB command
0581	UnImplFloppyCmd	Unimplemented floppy IOCB command
0582	InvalidEscapeCmd	Invalid Escape floppy command
0583	CommandTrack	Floppy track register is not correct
0584	TrackToBig	Floppy track number is too large
0585	BadDmaChannel	Couldn't program Floppy DMA
0586	NoDmaEndCount1	External DMA End Count not set
0587	NoDmaEndCount2	Internal DMA End Count not set
2

Pilot Operating System Codes
1

The  Pilot Operating System is used only during operation of the Installation Utility and the Lisp system Tool.
0900 - 0999	Pilot Error Codes
1

0915	Pilot breakpoint:	
	Can signify any number of problems, such as: bad page on the rigid disk,  cannot read the floppy disk, or a hardware failure. To recover, try running ALAG.  If ALAG passes and its Media Scan test shows no new bad pages, the floppy disk (software installation) is suspect.
0937	Trying to find out the time and date:
	Pilot will hang in this state if no time server is responding, and the time has not been set on the machine since power-up. Time can be set from within Lisp (with SETTIME), by 2-booting the Installation Utility floppy, or by 5-booting the EI Fixed Disk Diagnostics floppy.
0981	Trying to discover Ethernet Pup host number:	
	Will hang in this state if non-Lisp  code   tries   to perform Pup operations and no Pup ID Server responds, or processor ID is not registered.  See network administrator.
2

Lisp Codes 
1

9000 -9299	Interlisp-D Microcode Error Codes
1

Most of these errors are indicative of some serious problem; Lisp software attempts to cause regular breaks when these occur. 
9001	CSParErr	Control store parity error; a hardware error
9002	StackErr	Hardware stack overflow
9003	IBEmptyErr	Instruction fetch unit empty error
9004	VirtAddrErr	Attempt to reference virtual address >22 bits
9005	EmuMemErr	Double bit memory error or non-existent memory
9013	NegPcError	Inconsistent PC at FnCall
9014	applyUfn	Arg to apply not integer
9016	notFreeTrap	Stack allocation error
9024	-	Page fault in the page fault handler.
9048	-	ReFOvr page fault under page fault
9049	-	Ghost context switch
9051	BadUfnTable 	An entry in \UFNtable is invalid
9120	MiscErr	Misc. Opcode; no such register
9121	MiscErr	Misc.Opcode; bad 2nd byte
9127	PcNegError	Inconsistent PC at Punt
9136	CycleMask	Bad caller
9129	M1Loc	Microcode error
9130	M2Loc	Microcode error
9131	M3Loc	Microcode error
9300 - 9399	Lisp System Code Errors
1

These codes generally indicate an error state in Lisp system code that cannot be handled in the break package.  Most  are unexpected and  indicate a serious error. It is  possible to use TeleRaid (described in the Lisp Library documentation) to find out more information, providing you have a networked machine with other 1108 machines on the same network.   To become a Teleraid server (and allow other machines to look at your state), press the UNDO key. When the cursor changes into "TeleRaid", go to another machine and run the TeleRaid user. 
Even if you can't use TeleRaid, you can convert several of these codes into a Lisp break, providing  the state of the system is reasonably consistent and the error occurred under user code (rather than, say, the garbage collector.) To attempt to enter a break, type PROP'S-B. Some other options are described below, followed by the list of the Lisp system codes.
Summary of TeleRaid server commands:
PROP'S-B	Attempt to enter Break.  If 	error is in a 	special system context, will change cursor to "CANT", indicating refusal to enter break. 
PROP'S-D	Perform Hard Reset-clear stack, flush all non-restartable processes.
PROP'S-N	Continue from error.  This is usually not possible, except for code 9318, or when you got a 9915 error by typing PROP'S-C while the Raid interrupt was enabled.
PROP'S-P	Display Pup host number (in decimal) in maintenance panel.
The 9300 Series Codes are:
9302	Invalid Vmem:	
	Indicates an attempt to boot an image that is not a valid Lisp sysout, or which is inconsistent from having some, but not all, of its dirty pages written. Can happen if you boot instead of calling LOGOUT.  Usually caught sooner as code 0217.

9303	No place for IOCB page at startup:
	This error should never happen.

9304	Map out of bounds: 
	Indicates an attempt to use a pointer larger than the virtual address space of the machine.  Usually means garbage was fetched from somewhere that should have contained a pointer. 

9305	Invalid address: 
	Indicates an attempt to use a pointer that does not refer to an existing (allocated) part of virtual memory.  Usually means garbage was fetched from somewhere that should have contained a pointer.  This error can often be converted to a break with the PROP'S-B TeleRaid command.
9306	Invalid virtual page:
9307	Unavailable page on real page chain: Signals an inconsistent state in page fault handler.
9308	Loop in \SELECTREALPAGE: 
	Signals an inconsistent state in page fault handler.
9309	Attempt to allocate already existing page (from call to \NEWPAGE).
9310	\DONEWPAGE failed to allocate new map page.
9311	Locked page occupies a file page needed to lock another:
	Signals a bad state in virtual memory system.
9312	Arg to CLOCK0 not an integer box.
9313	Fault on resident page: 
	Processor took a page fault for a page that appears to be resident.
9314	PageFault on stack: 
	Shouldn't happen, as stack is resident.
9318	Error in uninterruptable system code: 
	An error that ordinarily would enter a break (e.g., a type test failure), but in a piece of code that should not be user-interruptable.  This is generally a sign that some datum used by system code has been smashed, but this is not always fatal.  If you cannot diagnose the error with TeleRaid, type PROP'S-N after entering the TeleRaid server; Lisp will go ahead and attempt to enter at the break anyway, from which (if it succeeds) you might be able to glean more information about the problem.
9319	Stack full: 
	Signals a hard stack overflow. A soft stack overflow (Lisp break "STACK FULL") occurs when the stack is mostly used up; if you proceed beyond that point without resetting you can completely fill the stack and get this code. Press STOP to perform a HARDRESET  to  clear  the stack, or run TeleRaid to find out what caused the stack to overflow.

9320	MDS full: 
	Storage space is  completely exhausted. A continuable Lisp break "STORAGE FULL" occurs when MDS is nearly full. 
9321	Unknown UFN: 
	Indicates an attempt to execute an unimplemented opcode. This usually means that the processor is trying to execute random memory, or took a wild jump somewhere.  Can be  a microcode or hardware error.
9322	Atoms full: 
	The limit on number of litatoms (216) has been reached. a continuable STORAGE FULL error will occur first.
9323	Pnames full: 
	There is no more space for storing the pnames of litatoms. This is unlikely to occur unless you create an extraordinary number of litatoms with very long pnames.
9324	Stack frame use count overflow: 
	The program has attempted to create more than 200 references to the same stack frame.
9400 - 9899	Unassigned
1

9900 - 9924	 Raid or Alto Error Codes
1

These codes are displayed when an attempt is made to call Raid, or the Alto operating system. The only one that is likely to ever occur is 9915, call to RAID.  Note that if you have the Raid interrupt enabled (by default on PROP'S-C), you will get a 9915 error by typing that interrupt character.
9905	NOOPSUBR
9906	\BACKGROUNDSUBR
9907	\CHECKBCPLPASSWORD
9908	DISKPARTITION
9909	DSPBOUT
9910	\DSPRATE
9911	\GATHERSTATS
9912	\GETPACKETBUFFER 
9913	\LISPFINISH
9914	\MOREVMEMFILE
9915	RAID
9916	\READRAWPBI 
9917	\WRITERAWPBI
9918	SETSCREENCOLOR
9919	SHOWDISPLAY
9920	\PUPLEVEL1STATE
9921	\WRITESTATS
9922	\CONTEXTSWITCH
9923	\COPYSYS0SUBR
9924	\WRITEMAP
[This page intentionally left blank.]
�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC  ) STARTINGPAGE# 91) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC  )) (180 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (144 216 468 36) NIL) (TEXT NIL NIL (144 228 324 528) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC  )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC  )) (144 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (144 216 468 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (144 756 468 36) NIL) (TEXT NIL NIL (144 228 324 510) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (180 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (144 216 468 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (144 756 468 36) NIL) (TEXT NIL NIL (144 228 324 510) NIL)))))������"�)����D�������äì�����������T���������.�f�œD��������œ��������������������������1����D��������`�D�������������������������.����D�"������D�������������������������2����D�"�������T�D���������������T���������.�T�TD�
������D�������������������������1����D��������T�D�������������������������4�T�ØD�
�������x���D�������������������������1����D��������T�D�������������������������4�T�xD�
�������x���D�������������������������1�T�xD�
�������x�D�������������������������1����D��������`�D�������������������������1����D��������T�D�������������������������1����D��������`�D�������������������������1����D�"�������`�D�������������������������.�T�TD�
���������������������������������.����D�������D�������������������������.�T�TD�$������D�������������������������<����D�������������PAGEHEADING�	VERSOHEAD���������������<����D�������������PAGEHEADING�	RECTOHEAD���������������;����D�����������PAGEHEADING�FOOTINGR���������������;����D�����������PAGEHEADING�FOOTINGV���������������1�T�xD���������x�D�������������������������4�T�ÌD��������x��Ì�D�������������������������1����D���������T�D�������������������������1�T�xD��������x�D�������������������������4�T�ØD��������x��Ø�D�������������������������1�T�xD��������x�D�������������������������.�T�TD����������������������������������.�T�TD�������D�������������������������1����D���������`�D�������������������������(�T�TD������������������������������.�T�TD��������D�������������������������(��������������������������������������������MODERN�
���������MODERN����������MODERN����������MODERN����������MODERN����������MODERN�
���������?�1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))�
�������������������HRULE.GETFN��MODERN���������������������������������������HRULE.GETFN��MODERN�
�������������������������������������	���������������HRULE.GETFN��MODERN�
������������������������	���������������HRULE.GETFN��MODERN�
���������������������!�������������!�����HRULE.GETFN�?�1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))�
���������������������"���������������1������������¡����������������������������HRULE.GETFN��MODERN�
������������������������)���������������HRULE.GETFN��MODERN�
��������������������������������������������������!�������������2�������������"��������������������������������������������������������������������������������HRULE.GETFN��MODERN�
���������������������������������������HRULE.GETFN��MODERN���������������������
���!���������������HRULE.GETFN��MODERN������������������������1�������������c���������������HRULE.GETFN��MODERN�
���������������������������������������HRULE.GETFN��MODERN���������������������
���$���������������HRULE.GETFN��MODERN����������������������������������
���)���������������HRULE.GETFN��MODERN������������������������Z�������������1�������������:��������������������������4�������������2�������������;�������������1�������������U���������������HRULE.GETFN��MODERN�
���������������������������������������HRULE.GETFN��MODERN���������������������
���"���������������HRULE.GETFN��MODERN������������������������|����������
���$�������������7�������������P����������
�������������	�����HRULE.GETFN��MODERN������������������������-�������������<�������������7�������������.�������������*�������������7�������������9�������������1�������������5�������������7�������������1�������������8�������������7�������������6�������������3�������������)�������������0�������������7�������������4�������������7�������������1�������������/�������������3�������������3���������������HRULE.GETFN��MODERN���������������������������������������HRULE.GETFN��MODERN������������������������p����������
�������������	�����HRULE.GETFN��MODERN�������������������������������������������������+�������������������������3�������������­���������������HRULE.GETFN��MODERN�
���������������������������������������HRULE.GETFN��MODERN���������������������
���-����������	�����HRULE.GETFN��MODERN�������������������������������������;�������������&�������������3�������������?�������������>�������������*�������������'�������������(�������������-�������������*��������������������������3�������������,�������������'�������������(��������������������������������������������������������������
���$���������������HRULE.GETFN��MODERN�����������������������$������������k���������� ���%��������������������������N�������������©�������������D���������������������������������������ó��������������������������(�������������!���������������������������������������¶����������������������������������������������������������������_��������������������������6�������������H�������������1�������������>�������������/�������������'��������������������������E��������������������������)�������������,������������ò�������������������������Y���������������������������������������r��������������������������Ë��������������������������#���������������������G��������������������������£�������������&�������������W����������
�������������	�����HRULE.GETFN��MODERN���������������������
���&���������������HRULE.GETFN��MODERN�
�����������������������)�����������������������������������������������������������������
������������������������������������������������������������������������������
����������������������������������������������������������������������������������������������������������������������������������&������������+¬zº