DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T s

⟦7de013321⟧ TextFile

    Length: 6297 (0x1899)
    Types: TextFile
    Names: »stackdump.new«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦3b20aab50⟧ »EurOpenD3/network/snmp/kip-snmp.91.tar.Z« 
        └─⟦b503a39fe⟧ 
            └─⟦this⟧ »kip/doc/stackdump.new« 

TextFile

Here is a typical continuously dumping stack packet:

[B ] S: 220 D: 255
    02 58 44 73 74 61 63 6B 20 64 75 6D 70 00 00 06    XDstack dump    
    3A 00 06 FA 70 20 00 00 00 16 10 00 06 FA 46 20   :   p         F  
    00 00 06 40 2A 00 06 FA 28 00 06 FD C2 00 06 FD      @*   (        
    CC 00 06 F8 00 00 06 DA BE 00 00 00 01 DC 00 00                    
    00 00 7F 00 00 00 00 33 0D 00 00 01 00 00 00 80          3         
    02 38 00 32 38 40 00 00 00 01 00 80 02 0D 0D 32    8 28@         2 
    01 28 01 01 00 01 00 80 02 FE B9 32 FE 28 01 02    (         2 (   
    00 01 00 80 02 DE E0 32 DE 28 01 02 00 01 00 80          2 (       
    02 F2 0A 32 F2 28 01 02 00 01 00 80 02 F1 7C 32      2 (        |2 
    F1 28 01 03 00 01 00 80 02 F8 93 32 F8 28 01 03    (         2 (   
    00 01 00 80 02 EC 81 32 EC 28 01 04 00 01 00 80          2 (       
    02 E7 03 32 E7 28 01 03 00 01 00 80 02 13 2B 32      2 (        +2 
    13 28 01 03 00 01 00 80 02 0D 28 32 0D 28 01 01    (        (2 (   
    00 01 00 80 02 23 4D 32 23 28 01 01 00 01 00 80        #M2#(       
    02 44 01 32 C8 89 01 05 00 01 00 80 02 38 0A 33    D 2         8 3 
    01 98 01 01 00 01 00 80 02 DF 01 33 05 98 01 06              3     
    00 01 00 08 00 89 D0 14 63 00 00 00 00 00 00 00           c        
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                    


Here are the details:

02   58 | 44 | 73   74   61   63   6B   20   64   75   6D   70 | 00   00   06
<- 01 -> <02> <---------------------------- 03 ---------------> <---- 04 ----

3A | 00   06   FA   70 | 20   00 | 00   00   16   10 | 00   06   FA   46 | 20
--> <------ 05 -------> <- 06 --> <------- 07 ------> <------- 08 ------> <09

00 | 00   06   40   2A | 00   06   FA   28 | 00   06   FD   C2 | 00   06   FD
--> <------ 10 -------> <------- 11 ------> <------ 12 -------> <----- 13 ---

01 - data count (plus DDP hop count if this was a long DDP).
02 - type of Kinetics lap packet: 0x44 = 'D' is the diagnostic type.
03 - ASCII "stack dump" for stack packet.

****
All addresses that refer to PROM locations or RAM locations
used by the PROM are dependent on the revision level of the PROM.
The following addresses are based on the PROM known by the
version 3.0 and the checksum 6EEC.
****
04 - 0x63A is first true stack address: from the PROM, this is
     the return address after the call to the stack packet routine.
     The call is from the routine "nultrap" which is the default
     exception handler used for every type of exception/interrupt
     except specifically the AppleTalk/8530 and the Ethernet chip
     and whatever else might be specifically replaced.
05 - From the PROM, 0x6FA70 is a return address in the exception vectors
     after the "jsr nultrap" which is also used to indicate which
     exception/interrupt occurred.
     Here is the magic formula:
		The vectors start at 0x6FA28.
		Each vector is 6 bytes, the length of the "jsr nultrap".
		0x6FA70 - 0x6FA28 = 0x48 = 72
		(72. - 6) / 6 = 11.
     Exception vector 11. is the ***********
     I have included a table at the end of this mail which tells all
     in terms of which vectors are used for what.
***
At this point, the remainder of the stack is interpreted
according to type of exception that occurs. Consult the
Motorola 68000 manual for details.
***
06 - 0x2000 is the processor status at the time of the Ethernet interrupt.
07 - 0x1610 is the interrupted instruction location in the PROM.
Apparently, this exception happened in the middle of a previous exception:
08 - 0x6FA46 is the return address for the exception "illegal instruction".
09 - 0x2000  is the processor priority at the time of this exception.
10 - 0x6402A is the return address from the initial call to "main".
11 - 0x6FA28 is the first piece of data in the data segment (directly above
     the stack).

     Exception Table for PROM 6EEC
     =====================================

	6FA3A	|  2: Bus error (long format stack dump)
	6FA40	|  3: Address error (long format stack dump)
	6FA46	|  4: Illegal instruction
	6FA4C	|  5: Zero divide
	6FA52	|  6: CHK instruction
	6FA58	|  7: TRAPV instruction
	6FA5E	|  8: Privilege violation
	6FA64	|  9: Trace
	6FA6A	| 10: Line 1010 emulator
	6FA70	| 11: Line 1111 emulator
	6FA76	| 12: Unused
	6FA7C	| 13: Unused
	6FA82	| 14: Unused
	6FA88	| 15: Unused
	6FA8E	| 16: Level 2 dispatcher
	6FA94	| 17: Unused
	6FA9A	| 18: Unused
	6FAA0	| 19: Unused
	6FAA6	| 20: Unused
	6FAAC	| 21: Unused
	6FAB2	| 22: Unused
	6FAB8	| 23: Unused
	6FABE	| 24: Spurious Interrupt
	6FAC4	| 25: Level 1 Interrupt Autovector
	6FACA	| 26: Level 2 Interrupt Autovector
	6FAD0	| 27: Level 3 Interrupt Autovector
	6FAD6	| 28: Level 4 Interrupt Autovector
	6FADC	| 29: Level 5 Interrupt Autovector
	6FAE2	| 30: Level 6 Interrupt Autovector
	6FAE8	| 31: Level 7 Interrupt Autovector
	6FAEE	| 32: TRAP 00 Instruction Vectors
	6FAF4	| 33: TRAP 01 Instruction Vectors
	6FAFA	| 34: TRAP 02 Instruction Vectors
	6FB00	| 35: TRAP 03 Instruction Vectors
	6FB06	| 36: TRAP 04 Instruction Vectors
	6FB0C	| 37: TRAP 05 Instruction Vectors
	6FB12	| 38: TRAP 06 Instruction Vectors
	6FB18	| 39: TRAP 07 Instruction Vectors
	6FB1E	| 40: TRAP 08 Instruction Vectors
	6FB24	| 41: TRAP 09 Instruction Vectors
	6FB2A	| 42: TRAP 10 Instruction Vectors
	6FB30	| 43: TRAP 11 Instruction Vectors
	6FB36	| 44: TRAP 12 Instruction Vectors
	6FB3C	| 45: TRAP 13 Instruction Vectors
	6FB42	| 46: TRAP 14 Instruction Vectors
	6FB48	| 47: TRAP 15 Instruction Vectors
	6FB4E	| 48: Ethernet service
	6FB54	| 49: Deadman timer service
	6FB5A	| 50: Timeout service
	6FB60	| 51: Applebus service
	6FB66	| 52: Q-bus host service
	6FB6C	| 53: Multibus host service
	6FB72	| 54: Unused
	6FB78	| 55: Unused
	6FB7E	| 56: Unused
	6FB84	| 57: Unused
	6FB8A	| 58: Unused
	6FB90	| 59: Unused
	6FB96	| 60: Unused
	6FB9C	| 61: Unused
	6FBA2	| 62: Unused
	6FBA8	| 63: Unused


Short Format Stack Dump:
15		       0
  Status Register
  Program Counter High
  Program Counter Low

Long Format Stack Dump:
15			0
  Information word
  Access address high
  Access address low
  Instruction Register
  Status Register
  Program Counter High
  Program Counter Low

Of the information word:
bit 3 is 1 if the access was made by an instruction fetch,
bit 4 is 1 if the access was made by a read.