|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 6297 (0x1899)
Types: TextFile
Names: »stackdump.new«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦3b20aab50⟧ »EurOpenD3/network/snmp/kip-snmp.91.tar.Z«
└─⟦b503a39fe⟧
└─⟦this⟧ »kip/doc/stackdump.new«
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.