summaryrefslogtreecommitdiffstats
path: root/images
diff options
context:
space:
mode:
authorMarçal Comajoan Cara <mcomajoancara@gmail.com>2018-11-18 11:11:04 +0100
committerJoel Sherrill <joel@rtems.org>2018-11-19 13:11:55 -0600
commitae05a2783765b26f66d087bc8325f4a241260fd4 (patch)
treed5b8f37f537545e472dbb983e789057535f2a6ce /images
parent0bb0b8d570c6bb866f158e3a91f94b0463ae290e (diff)
downloadrtems-docs-ae05a2783765b26f66d087bc8325f4a241260fd4.tar.bz2
Improve SPARC Calling Overview Webpage conversion
Fixed tables, typos, redrawn images and converted ASCII art to ditaa and PNG, and improved the overall format. This work was part of GCI 2018. Closes #3567.
Diffstat (limited to 'images')
-rw-r--r--images/cpu_supplement/sample_stack_contents.ditaa77
-rw-r--r--images/cpu_supplement/sample_stack_contents.pngbin0 -> 209774 bytes
-rw-r--r--images/cpu_supplement/sparcwin.pngbin0 -> 41386 bytes
-rw-r--r--images/cpu_supplement/stack_frame_contents.ditaa35
-rw-r--r--images/cpu_supplement/stack_frame_contents.pngbin0 -> 31475 bytes
5 files changed, 112 insertions, 0 deletions
diff --git a/images/cpu_supplement/sample_stack_contents.ditaa b/images/cpu_supplement/sample_stack_contents.ditaa
new file mode 100644
index 0000000..583b7ff
--- /dev/null
+++ b/images/cpu_supplement/sample_stack_contents.ditaa
@@ -0,0 +1,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)
+ | | . |
diff --git a/images/cpu_supplement/sample_stack_contents.png b/images/cpu_supplement/sample_stack_contents.png
new file mode 100644
index 0000000..a69cf8d
--- /dev/null
+++ b/images/cpu_supplement/sample_stack_contents.png
Binary files differ
diff --git a/images/cpu_supplement/sparcwin.png b/images/cpu_supplement/sparcwin.png
new file mode 100644
index 0000000..3ac5cb1
--- /dev/null
+++ b/images/cpu_supplement/sparcwin.png
Binary files differ
diff --git a/images/cpu_supplement/stack_frame_contents.ditaa b/images/cpu_supplement/stack_frame_contents.ditaa
new file mode 100644
index 0000000..c608d56
--- /dev/null
+++ b/images/cpu_supplement/stack_frame_contents.ditaa
@@ -0,0 +1,35 @@
+ low addresses
+
+ +-------------------------+
+ %sp --> | 16 words for storing |
+ | LOCAL and IN registers |
+ +-------------------------+
+ | one:-word pointer to |
+ | aggregate return value |
+ +-------------------------+
+ | 6 words for callee |
+ | to store register |
+ | arguments |
+ +-------------------------+
+ | outgoing parameters |
+ | past the 6th, if any |
+ +-------------------------+
+ | space, if needed, for |
+ | compiler temporaries |
+ | and saved floating- |
+ | point registers |
+ +-------------------------+
+
+ +-------------------------+
+ | space dynamically |
+ | allocated via the |
+ | alloca() library call |
+ +-------------------------+
+ | space, if needed, for |
+ | automatic arrays, |
+ | aggregates, and |
+ | addressable scalar |
+ | automatics |
+ +-------------------------+
+ %fp -->
+ high addresses
diff --git a/images/cpu_supplement/stack_frame_contents.png b/images/cpu_supplement/stack_frame_contents.png
new file mode 100644
index 0000000..ec5f7a5
--- /dev/null
+++ b/images/cpu_supplement/stack_frame_contents.png
Binary files differ