blob: 583b7ffe4db81a52a58ed31502dbc2bb4207c927 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
REGISTER WINDOWS
+----+-----+------------+
| g0 | r00 | 0x00000000 | global
| g1 | r01 | 0x00000006 | registers
| g2 | r02 | 0x00091278 |
g0:- g7 | g3 | r03 | 0x0008ebd0 |
| g4 | r04 | 0x00000000 | (NOTE: 'save' and 'trap' decrements CWP,
| g5 | r05 | 0x00000000 | i.e. moves it up on this diagram. 'restore'
| g6 | r06 | 0x00000000 | and 'rett' increments CWP, i.e. down)
| g7 | r07 | 0x00000000 |
+----+-----+------------+
CWP (2) | o0 | r08 | 0x00000002 |
| o1 | r09 | 0x00000000 | MEMORY
| o2 | r10 | 0x00000001 |
o0:- o7 | o3 | r11 | 0x00000001 | stack growth
| o4 | r12 | 0x000943d0 |
| o5 | r13 | 0x0008b400 | ^
| sp | r14 | 0xdffff9a0 | ----\ |
| o7 | r15 | 0x00062abc | | | addresses
+----+-----+----------- + | +----+------------+ virtual physical
| l0 | r16 | 0x00087c00 | \---> | l0 | 0x00000000 | 0xdffff9a0 0x000039a0 top of frame 0
| l1 | r17 | 0x00027fd4 | | l1 | 0x00000000 | 0xdffff9a4 0x000039a4
| l2 | r18 | 0x00000000 | | l2 | 0x0009df80 | 0xdffff9a8 0x000039a8
l0:- l7 | l3 | r19 | 0x00000000 | | l3 | 0x00097660 | 0xdffff9ac 0x000039ac
| l4 | r20 | 0x00000000 | | l4 | 0x00000014 | 0xdffff9b0 0x000039b0
| l5 | r21 | 0x00097678 | | l5 | 0x00000001 | 0xdffff9b4 0x000039b4
| l6 | r22 | 0x0008b400 | | l6 | 0x00000004 | 0xdffff9b8 0x000039b8
| l7 | r23 | 0x0008b800 | | l7 | 0x0008dd60 | 0xdffff9bc 0x000039bc
+----+----+-----+------------+ +----+------------+
CWP+1 (3) | o0 | i0 | r24 | 0x00000002 | | i0 | 0x00091048 | 0xdffff9c0 0x000039c0
| o1 | i1 | r25 | 0x00000000 | | i1 | 0x00000011 | 0xdffff9c4 0x000039c4
| o2 | i2 | r26 | 0x0008b7c0 | | i2 | 0x00091158 | 0xdffff9c8 0x000039c8
i0:- i7 | o3 | i3 | r27 | 0x00000019 | | i3 | 0x0008d370 | 0xdffff9cc 0x000039cc
| o4 | i4 | r28 | 0x0000006c | | i4 | 0x0008eac4 | 0xdffff9d0 0x000039d0
| o5 | i5 | r29 | 0x00000000 | | i5 | 0x00000000 | 0xdffff9d4 0x000039d4
| o6 | fp | r30 | 0xdffffa00 | ----\ | fp | 0x00097660 | 0xdffff9d8 0x000039d8
| o7 | i7 | r31 | 0x00040468 | | | i7 | 0x00000000 | 0xdffff9dc 0x000039dc
+----+----+-----+------------+ | +----+------------+
| | 0x00000001 | 0xdffff9e0 0x000039e0 parameters
| | 0x00000002 | 0xdffff9e4 0x000039e4
| | 0x00000040 | 0xdffff9e8 0x000039e8
| | 0x00097671 | 0xdffff9ec 0x000039ec
| | 0xdffffa68 | 0xdffff9f0 0x000039f0
| | 0x00024078 | 0xdffff9f4 0x000039f4
| | 0x00000004 | 0xdffff9f8 0x000039f8
| | 0x0008dd60 | 0xdffff9fc 0x000039fc
+----+----------+------------+ | +----+------------+
| l0 | | 0x00087c00 | \---> | l0 | 0x00091048 | 0xdffffa00 0x00003a00 top of frame 1
| l1 | | 0x000c8d48 | | l1 | 0x0000000b | 0xdffffa04 0x00003a04
| l2 | | 0x000007ff | | l2 | 0x00091158 | 0xdffffa08 0x00003a08
| l3 | | 0x00000400 | | l3 | 0x000c6f10 | 0xdffffa0c 0x00003a0c
| l4 | | 0x00000000 | | l4 | 0x0008eac4 | 0xdffffa10 0x00003a10
| l5 | | 0x00088000 | | l5 | 0x00000000 | 0xdffffa14 0x00003a14
| l6 | | 0x0008d5e0 | | l6 | 0x000c6f10 | 0xdffffa18 0x00003a18
| l7 | | 0x00088000 | | l7 | 0x0008cd00 | 0xdffffa1c 0x00003a1c
+----+----+-----+------------+ +----+------------+
CWP+2 (4) | i0 | o0 | | 0x00000002 | | i0 | 0x0008cb00 | 0xdffffa20 0x00003a20
| i1 | o1 | | 0x00000011 | | i1 | 0x00000003 | 0xdffffa24 0x00003a24
| i2 | o2 | | 0xffffffff | | i2 | 0x00000040 | 0xdffffa28 0x00003a28
| i3 | o3 | | 0x00000000 | | i3 | 0x0009766b | 0xdffffa2c 0x00003a2c
| i4 | o4 | | 0x00000000 | | i4 | 0xdffffa68 | 0xdffffa30 0x00003a30
| i5 | o5 | | 0x00064c00 | | i5 | 0x000253d8 | 0xdffffa34 0x00003a34
| i6 | o6 | | 0xdffffa70 | ----\ | i6 | 0xffffffff | 0xdffffa38 0x00003a38
| i7 | o7 | | 0x000340e8 | | | i7 | 0x00000000 | 0xdffffa3c 0x00003a3c
+----+----+-----+------------+ | +----+------------+
| | 0x00000001 | 0xdffffa40 0x00003a40 parameters
| | 0x00000000 | 0xdffffa44 0x00003a44
| | 0x00000000 | 0xdffffa48 0x00003a48
| | 0x00000000 | 0xdffffa4c 0x00003a4c
| | 0x00000000 | 0xdffffa50 0x00003a50
| | 0x00000000 | 0xdffffa54 0x00003a54
| | 0x00000002 | 0xdffffa58 0x00003a58
| | 0x00000002 | 0xdffffa5c 0x00003a5c
| | . |
| | . | .. etc (another 16 bytes)
| | . |
|