-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathslower_boot2.dis
138 lines (123 loc) · 4.97 KB
/
slower_boot2.dis
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
slower_boot2.elf: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000000f0 20041f00 20041f00 00001f00 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .ARM.attributes 00000022 00000000 00000000 00001ff0 2**0
CONTENTS, READONLY
slower_boot2.elf: file format elf32-littlearm
Disassembly of section .text:
20041f00 <_stage2_boot>:
20041f00: b500 push {lr}
20041f02: 4b32 ldr r3, [pc, #200] ; (20041fcc <literals>)
20041f04: 2021 movs r0, #33 ; 0x21
20041f06: 6058 str r0, [r3, #4]
20041f08: 6898 ldr r0, [r3, #8]
20041f0a: 2102 movs r1, #2
20041f0c: 4388 bics r0, r1
20041f0e: 6098 str r0, [r3, #8]
20041f10: 60d8 str r0, [r3, #12]
20041f12: 6118 str r0, [r3, #16]
20041f14: 6158 str r0, [r3, #20]
20041f16: 4b2e ldr r3, [pc, #184] ; (20041fd0 <literals+0x4>)
20041f18: 2100 movs r1, #0
20041f1a: 6099 str r1, [r3, #8]
20041f1c: 2104 movs r1, #4
20041f1e: 6159 str r1, [r3, #20]
20041f20: 2101 movs r1, #1
20041f22: 22f0 movs r2, #240 ; 0xf0
20041f24: 5099 str r1, [r3, r2]
20041f26 <program_sregs>:
20041f26: 492b ldr r1, [pc, #172] ; (20041fd4 <literals+0x8>)
20041f28: 6019 str r1, [r3, #0]
20041f2a: 2101 movs r1, #1
20041f2c: 6099 str r1, [r3, #8]
20041f2e: 2035 movs r0, #53 ; 0x35
20041f30: f000 f844 bl 20041fbc <read_flash_sreg>
20041f34: 2202 movs r2, #2
20041f36: 4290 cmp r0, r2
20041f38: d014 beq.n 20041f64 <skip_sreg_programming>
20041f3a: 2106 movs r1, #6
20041f3c: 6619 str r1, [r3, #96] ; 0x60
20041f3e: f000 f834 bl 20041faa <wait_ssi_ready>
20041f42: 6e19 ldr r1, [r3, #96] ; 0x60
20041f44: 2101 movs r1, #1
20041f46: 6619 str r1, [r3, #96] ; 0x60
20041f48: 2000 movs r0, #0
20041f4a: 6618 str r0, [r3, #96] ; 0x60
20041f4c: 661a str r2, [r3, #96] ; 0x60
20041f4e: f000 f82c bl 20041faa <wait_ssi_ready>
20041f52: 6e19 ldr r1, [r3, #96] ; 0x60
20041f54: 6e19 ldr r1, [r3, #96] ; 0x60
20041f56: 6e19 ldr r1, [r3, #96] ; 0x60
20041f58: 2005 movs r0, #5
20041f5a: f000 f82f bl 20041fbc <read_flash_sreg>
20041f5e: 2101 movs r1, #1
20041f60: 4208 tst r0, r1
20041f62: d1f9 bne.n 20041f58 <program_sregs+0x32>
20041f64 <skip_sreg_programming>:
20041f64: 2100 movs r1, #0
20041f66: 6099 str r1, [r3, #8]
20041f68 <dummy_read>:
20041f68: 491b ldr r1, [pc, #108] ; (20041fd8 <literals+0xc>)
20041f6a: 6019 str r1, [r3, #0]
20041f6c: 2100 movs r1, #0
20041f6e: 6059 str r1, [r3, #4]
20041f70: 491a ldr r1, [pc, #104] ; (20041fdc <literals+0x10>)
20041f72: 481b ldr r0, [pc, #108] ; (20041fe0 <literals+0x14>)
20041f74: 6001 str r1, [r0, #0]
20041f76: 2101 movs r1, #1
20041f78: 6099 str r1, [r3, #8]
20041f7a: 21eb movs r1, #235 ; 0xeb
20041f7c: 6619 str r1, [r3, #96] ; 0x60
20041f7e: 21a0 movs r1, #160 ; 0xa0
20041f80: 6619 str r1, [r3, #96] ; 0x60
20041f82: f000 f812 bl 20041faa <wait_ssi_ready>
20041f86: 2100 movs r1, #0
20041f88: 6099 str r1, [r3, #8]
20041f8a <configure_ssi>:
20041f8a: 4916 ldr r1, [pc, #88] ; (20041fe4 <literals+0x18>)
20041f8c: 4814 ldr r0, [pc, #80] ; (20041fe0 <literals+0x14>)
20041f8e: 6001 str r1, [r0, #0]
20041f90: 2101 movs r1, #1
20041f92: 6099 str r1, [r3, #8]
20041f94 <check_return>:
20041f94: bc01 pop {r0}
20041f96: 2800 cmp r0, #0
20041f98: d000 beq.n 20041f9c <vector_into_flash>
20041f9a: 4700 bx r0
20041f9c <vector_into_flash>:
20041f9c: 4812 ldr r0, [pc, #72] ; (20041fe8 <literals+0x1c>)
20041f9e: 4913 ldr r1, [pc, #76] ; (20041fec <literals+0x20>)
20041fa0: 6008 str r0, [r1, #0]
20041fa2: c803 ldmia r0, {r0, r1}
20041fa4: f380 8808 msr MSP, r0
20041fa8: 4708 bx r1
20041faa <wait_ssi_ready>:
20041faa: b503 push {r0, r1, lr}
20041fac: 6a99 ldr r1, [r3, #40] ; 0x28
20041fae: 2004 movs r0, #4
20041fb0: 4201 tst r1, r0
20041fb2: d0fb beq.n 20041fac <wait_ssi_ready+0x2>
20041fb4: 2001 movs r0, #1
20041fb6: 4201 tst r1, r0
20041fb8: d1f8 bne.n 20041fac <wait_ssi_ready+0x2>
20041fba: bd03 pop {r0, r1, pc}
20041fbc <read_flash_sreg>:
20041fbc: b502 push {r1, lr}
20041fbe: 6618 str r0, [r3, #96] ; 0x60
20041fc0: 6618 str r0, [r3, #96] ; 0x60
20041fc2: f7ff fff2 bl 20041faa <wait_ssi_ready>
20041fc6: 6e18 ldr r0, [r3, #96] ; 0x60
20041fc8: 6e18 ldr r0, [r3, #96] ; 0x60
20041fca: bd02 pop {r1, pc}
20041fcc <literals>:
20041fcc: 40020000 .word 0x40020000
20041fd0: 18000000 .word 0x18000000
20041fd4: 00070000 .word 0x00070000
20041fd8: 005f0300 .word 0x005f0300
20041fdc: 00002221 .word 0x00002221
20041fe0: 180000f4 .word 0x180000f4
20041fe4: a0002022 .word 0xa0002022
20041fe8: 10000100 .word 0x10000100
20041fec: e000ed08 .word 0xe000ed08