-
Notifications
You must be signed in to change notification settings - Fork 2
/
kernel.list
265 lines (218 loc) · 7.89 KB
/
kernel.list
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
tmp/kernel.elf: file format elf32-littlearm
Disassembly of section .init:
00008000 <_start>:
8000: ea000055 b 815c <main>
Disassembly of section .text:
00008004 <st_sleep>:
8004: e59f1024 ldr r1, [pc, #36] ; 8030 <st_get_timestamp+0xc>
8008: e5911000 ldr r1, [r1]
800c: e0800001 add r0, r0, r1
00008010 <sleep_loop$>:
8010: e59f1018 ldr r1, [pc, #24] ; 8030 <st_get_timestamp+0xc>
8014: e5911000 ldr r1, [r1]
8018: e1510000 cmp r1, r0
801c: 3afffffb bcc 8010 <sleep_loop$>
8020: e1a0f00e mov pc, lr
00008024 <st_get_timestamp>:
8024: e59f0004 ldr r0, [pc, #4] ; 8030 <st_get_timestamp+0xc>
8028: e1c000d0 ldrd r0, [r0]
802c: e1a0f00e mov pc, lr
8030: 20003004 andcs r3, r0, r4
00008034 <gpio_set_function>:
8034: e3500035 cmp r0, #53 ; 0x35
8038: 93510007 cmpls r1, #7
803c: 81a0f00e movhi pc, lr
8040: e59f2094 ldr r2, [pc, #148] ; 80dc <gpio_blink+0x2c>
00008044 <gpio_set_function_loop$>:
8044: e3500009 cmp r0, #9
8048: 8240000a subhi r0, r0, #10
804c: 82822004 addhi r2, r2, #4
8050: 8afffffb bhi 8044 <gpio_set_function_loop$>
8054: e0800080 add r0, r0, r0, lsl #1
8058: e3a03007 mov r3, #7
805c: e1a03013 lsl r3, r3, r0
8060: e1a01011 lsl r1, r1, r0
8064: e5920000 ldr r0, [r2]
8068: e1c00003 bic r0, r0, r3
806c: e0800001 add r0, r0, r1
8070: e5820000 str r0, [r2]
8074: e1a0f00e mov pc, lr
00008078 <gpio_output>:
8078: e3500035 cmp r0, #53 ; 0x35
807c: 93510001 cmpls r1, #1
8080: 81a0f00e movhi pc, lr
8084: e3510001 cmp r1, #1
8088: 159f2050 ldrne r2, [pc, #80] ; 80e0 <gpio_blink+0x30>
808c: 059f2050 ldreq r2, [pc, #80] ; 80e4 <gpio_blink+0x34>
00008090 <gpio_output_loop$>:
8090: e350001f cmp r0, #31
8094: 82400020 subhi r0, r0, #32
8098: 82822004 addhi r2, r2, #4
809c: 8afffffb bhi 8090 <gpio_output_loop$>
80a0: e3a01001 mov r1, #1
80a4: e1a01011 lsl r1, r1, r0
80a8: e5821000 str r1, [r2]
80ac: e1a0f00e mov pc, lr
000080b0 <gpio_blink>:
80b0: e52de004 push {lr} ; (str lr, [sp, #-4]!)
80b4: e1a03000 mov r3, r0
80b8: e52d1004 push {r1} ; (str r1, [sp, #-4]!)
80bc: e3a01001 mov r1, #1
80c0: ebffffec bl 8078 <gpio_output>
80c4: e49d0004 pop {r0} ; (ldr r0, [sp], #4)
80c8: ebffffcd bl 8004 <st_sleep>
80cc: e1a00003 mov r0, r3
80d0: e3a01000 mov r1, #0
80d4: ebffffe7 bl 8078 <gpio_output>
80d8: e49df004 pop {pc} ; (ldr pc, [sp], #4)
80dc: 20200000 eorcs r0, r0, r0
80e0: 20200028 eorcs r0, r0, r8, lsr #32
80e4: 2020001c eorcs r0, r0, ip, lsl r0
000080e8 <misc_morse_pattern>:
80e8: e52de004 push {lr} ; (str lr, [sp, #-4]!)
80ec: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
80f0: e52d5004 push {r5} ; (str r5, [sp, #-4]!)
80f4: e52d6004 push {r6} ; (str r6, [sp, #-4]!)
80f8: e52d7004 push {r7} ; (str r7, [sp, #-4]!)
80fc: e1a04000 mov r4, r0
8100: e3a05000 mov r5, #0
8104: e3a06003 mov r6, #3
8108: e1a07001 mov r7, r1
0000810c <morse_loop$>:
810c: e1a00004 mov r0, r4
8110: e3a01000 mov r1, #0
8114: e0851005 add r1, r5, r5
8118: e1a00130 lsr r0, r0, r1
811c: e0100006 ands r0, r0, r6
8120: 0a000006 beq 8140 <morse_end$>
8124: e0010097 mul r1, r7, r0
8128: e3a0002f mov r0, #47 ; 0x2f
812c: ebffffdf bl 80b0 <gpio_blink>
8130: e2855001 add r5, r5, #1
8134: e1a00007 mov r0, r7
8138: ebffffb1 bl 8004 <st_sleep>
813c: eafffff2 b 810c <morse_loop$>
00008140 <morse_end$>:
8140: e0870087 add r0, r7, r7, lsl #1
8144: ebffffae bl 8004 <st_sleep>
8148: e49d7004 pop {r7} ; (ldr r7, [sp], #4)
814c: e49d6004 pop {r6} ; (ldr r6, [sp], #4)
8150: e49d5004 pop {r5} ; (ldr r5, [sp], #4)
8154: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
8158: e49df004 pop {pc} ; (ldr pc, [sp], #4)
0000815c <main>:
815c: e3a0d902 mov sp, #32768 ; 0x8000
8160: e3a0002f mov r0, #47 ; 0x2f
8164: e3a01001 mov r1, #1
8168: ebffffb1 bl 8034 <gpio_set_function>
816c: e3a00023 mov r0, #35 ; 0x23
8170: e3a01001 mov r1, #1
8174: ebffffae bl 8034 <gpio_set_function>
8178: e3a00023 mov r0, #35 ; 0x23
817c: e3a01001 mov r1, #1
8180: ebffffbc bl 8078 <gpio_output>
8184: e3a0002f mov r0, #47 ; 0x2f
8188: e3a01000 mov r1, #0
818c: ebffffb9 bl 8078 <gpio_output>
8190: e59f40a8 ldr r4, [pc, #168] ; 8240 <morse+0x18>
00008194 <loop$>:
8194: e3a00041 mov r0, #65 ; 0x41
8198: e1a01004 mov r1, r4
819c: eb000021 bl 8228 <morse>
81a0: e3a0004e mov r0, #78 ; 0x4e
81a4: e1a01004 mov r1, r4
81a8: eb00001e bl 8228 <morse>
81ac: e3a00044 mov r0, #68 ; 0x44
81b0: e1a01004 mov r1, r4
81b4: eb00001b bl 8228 <morse>
81b8: e3a00052 mov r0, #82 ; 0x52
81bc: e1a01004 mov r1, r4
81c0: eb000018 bl 8228 <morse>
81c4: e3a00045 mov r0, #69 ; 0x45
81c8: e1a01004 mov r1, r4
81cc: eb000015 bl 8228 <morse>
81d0: e3a00041 mov r0, #65 ; 0x41
81d4: e1a01004 mov r1, r4
81d8: eb000012 bl 8228 <morse>
81dc: e3a00053 mov r0, #83 ; 0x53
81e0: e1a01004 mov r1, r4
81e4: eb00000f bl 8228 <morse>
81e8: e0840084 add r0, r4, r4, lsl #1
81ec: e1a00080 lsl r0, r0, #1
81f0: ebffff83 bl 8004 <st_sleep>
81f4: eaffffe6 b 8194 <loop$>
000081f8 <letter_to_pattern>:
81f8: e3500061 cmp r0, #97 ; 0x61
81fc: a2400020 subge r0, r0, #32
8200: e350005a cmp r0, #90 ; 0x5a
8204: c1a0f00e movgt pc, lr
8208: e2500041 subs r0, r0, #65 ; 0x41
820c: 41a0f00e movmi pc, lr
8210: e2400041 sub r0, r0, #65 ; 0x41
8214: e1a00100 lsl r0, r0, #2
8218: e59f1024 ldr r1, [pc, #36] ; 8244 <morse+0x1c>
821c: e0811000 add r1, r1, r0
8220: e5910000 ldr r0, [r1]
8224: e1a0f00e mov pc, lr
00008228 <morse>:
8228: e52de004 push {lr} ; (str lr, [sp, #-4]!)
822c: e52d1004 push {r1} ; (str r1, [sp, #-4]!)
8230: ebfffff0 bl 81f8 <letter_to_pattern>
8234: e49d1004 pop {r1} ; (ldr r1, [sp], #4)
8238: ebffffaa bl 80e8 <misc_morse_pattern>
823c: e49df004 pop {pc} ; (ldr pc, [sp], #4)
8240: 000249f0 strdeq r4, [r2], -r0
8244: 00008248 andeq r8, r0, r8, asr #4
Disassembly of section .data:
00008248 <letter_a>:
8248: 0000000d andeq r0, r0, sp
0000824c <letter_b>:
824c: 00000057 andeq r0, r0, r7, asr r0
00008250 <letter_c>:
8250: 00000077 andeq r0, r0, r7, ror r0
00008254 <letter_d>:
8254: 00000017 andeq r0, r0, r7, lsl r0
00008258 <letter_e>:
8258: 00000001 andeq r0, r0, r1
0000825c <letter_f>:
825c: 00000075 andeq r0, r0, r5, ror r0
00008260 <letter_g>:
8260: 0000001f andeq r0, r0, pc, lsl r0
00008264 <letter_h>:
8264: 00000055 andeq r0, r0, r5, asr r0
00008268 <letter_i>:
8268: 00000005 andeq r0, r0, r5
0000826c <letter_j>:
826c: 000000fd strdeq r0, [r0], -sp
00008270 <letter_k>:
8270: 00000037 andeq r0, r0, r7, lsr r0
00008274 <letter_l>:
8274: 0000005d andeq r0, r0, sp, asr r0
00008278 <letter_m>:
8278: 0000000f andeq r0, r0, pc
0000827c <letter_n>:
827c: 00000007 andeq r0, r0, r7
00008280 <letter_o>:
8280: 0000003f andeq r0, r0, pc, lsr r0
00008284 <letter_p>:
8284: 0000007d andeq r0, r0, sp, ror r0
00008288 <letter_q>:
8288: 000000df ldrdeq r0, [r0], -pc ; <UNPREDICTABLE>
0000828c <letter_r>:
828c: 0000001d andeq r0, r0, sp, lsl r0
00008290 <letter_s>:
8290: 00000015 andeq r0, r0, r5, lsl r0
00008294 <letter_t>:
8294: 00000003 andeq r0, r0, r3
00008298 <letter_u>:
8298: 00000035 andeq r0, r0, r5, lsr r0
0000829c <letter_v>:
829c: 000000d5 ldrdeq r0, [r0], -r5
000082a0 <letter_w>:
82a0: 0000003d andeq r0, r0, sp, lsr r0
000082a4 <letter_x>:
82a4: 000000d7 ldrdeq r0, [r0], -r7
000082a8 <letter_y>:
82a8: 000000f7 strdeq r0, [r0], -r7
000082ac <letter_z>:
82ac: 0000005f andeq r0, r0, pc, asr r0