0
|
1
|
|
2 build/start.o: file format elf32-littlearm
|
|
3
|
|
4
|
|
5 Disassembly of section .text:
|
|
6
|
|
7 00000000 <_uart_putc>:
|
|
8 0: e24dd00c sub sp, sp, #12
|
|
9 4: e1a01000 mov r1, r0
|
|
10 8: e58d0008 str r0, [sp, #8]
|
|
11 c: e59f0018 ldr r0, [pc, #24] ; 2c <_uart_putc+0x2c>
|
|
12 10: e58d0004 str r0, [sp, #4]
|
|
13 14: e59d0008 ldr r0, [sp, #8]
|
|
14 18: e59d2004 ldr r2, [sp, #4]
|
|
15 1c: e5c20000 strb r0, [r2]
|
|
16 20: e58d1000 str r1, [sp]
|
|
17 24: e28dd00c add sp, sp, #12
|
|
18 28: e12fff1e bx lr
|
|
19 2c: 101f1000 .word 0x101f1000
|
|
20
|
|
21 00000030 <_puts>:
|
|
22 30: e92d4800 push {fp, lr}
|
|
23 34: e1a0b00d mov fp, sp
|
|
24 38: e24dd008 sub sp, sp, #8
|
|
25 3c: e1a01000 mov r1, r0
|
|
26 40: e58d0004 str r0, [sp, #4]
|
|
27 44: e58d1000 str r1, [sp]
|
|
28 48: eaffffff b 4c <_puts+0x1c>
|
|
29 4c: e59d0004 ldr r0, [sp, #4]
|
|
30 50: e5d00000 ldrb r0, [r0]
|
|
31 54: e3500000 cmp r0, #0
|
|
32 58: 0a000007 beq 7c <_puts+0x4c>
|
|
33 5c: eaffffff b 60 <_puts+0x30>
|
|
34 60: e59d0004 ldr r0, [sp, #4]
|
|
35 64: e5d00000 ldrb r0, [r0]
|
|
36 68: ebfffffe bl 0 <_uart_putc>
|
|
37 6c: e59d0004 ldr r0, [sp, #4]
|
|
38 70: e2800001 add r0, r0, #1
|
|
39 74: e58d0004 str r0, [sp, #4]
|
|
40 78: eafffff3 b 4c <_puts+0x1c>
|
|
41 7c: e1a0d00b mov sp, fp
|
|
42 80: e8bd8800 pop {fp, pc}
|
|
43
|
|
44 00000084 <_putint>:
|
|
45 84: e92d4800 push {fp, lr}
|
|
46 88: e1a0b00d mov fp, sp
|
|
47 8c: e24dd020 sub sp, sp, #32
|
|
48 90: e1a03002 mov r3, r2
|
|
49 94: e1a0c001 mov ip, r1
|
|
50 98: e1a0e000 mov lr, r0
|
|
51 9c: e50b0004 str r0, [fp, #-4]
|
|
52 a0: e50b1008 str r1, [fp, #-8]
|
|
53 a4: e50b200c str r2, [fp, #-12]
|
|
54 a8: e59f0098 ldr r0, [pc, #152] ; 148 <_putint+0xc4>
|
|
55 ac: e58d0010 str r0, [sp, #16]
|
|
56 b0: e51b0004 ldr r0, [fp, #-4]
|
|
57 b4: e3500000 cmp r0, #0
|
|
58 b8: e58d3008 str r3, [sp, #8]
|
|
59 bc: e58dc004 str ip, [sp, #4]
|
|
60 c0: e58de000 str lr, [sp]
|
|
61 c4: 0a000003 beq d8 <_putint+0x54>
|
|
62 c8: eaffffff b cc <_putint+0x48>
|
|
63 cc: e51b0004 ldr r0, [fp, #-4]
|
|
64 d0: ebfffffe bl 30 <_puts>
|
|
65 d4: eaffffff b d8 <_putint+0x54>
|
|
66 d8: e3a0001c mov r0, #28
|
|
67 dc: e58d000c str r0, [sp, #12]
|
|
68 e0: eaffffff b e4 <_putint+0x60>
|
|
69 e4: e59d000c ldr r0, [sp, #12]
|
|
70 e8: e3500000 cmp r0, #0
|
|
71 ec: ba00000c blt 124 <_putint+0xa0>
|
|
72 f0: eaffffff b f4 <_putint+0x70>
|
|
73 f4: e59d0010 ldr r0, [sp, #16]
|
|
74 f8: e51b1008 ldr r1, [fp, #-8]
|
|
75 fc: e59d200c ldr r2, [sp, #12]
|
|
76 100: e3a0300f mov r3, #15
|
|
77 104: e0031231 and r1, r3, r1, lsr r2
|
|
78 108: e7d00001 ldrb r0, [r0, r1]
|
|
79 10c: ebfffffe bl 0 <_uart_putc>
|
|
80 110: eaffffff b 114 <_putint+0x90>
|
|
81 114: e59d000c ldr r0, [sp, #12]
|
|
82 118: e2400004 sub r0, r0, #4
|
|
83 11c: e58d000c str r0, [sp, #12]
|
|
84 120: eaffffef b e4 <_putint+0x60>
|
|
85 124: e51b000c ldr r0, [fp, #-12]
|
|
86 128: e3500000 cmp r0, #0
|
|
87 12c: 0a000003 beq 140 <_putint+0xbc>
|
|
88 130: eaffffff b 134 <_putint+0xb0>
|
|
89 134: e51b000c ldr r0, [fp, #-12]
|
|
90 138: ebfffffe bl 30 <_puts>
|
|
91 13c: eaffffff b 140 <_putint+0xbc>
|
|
92 140: e1a0d00b mov sp, fp
|
|
93 144: e8bd8800 pop {fp, pc}
|
|
94 148: 00000000 .word 0x00000000
|
|
95
|
|
96 0000014c <get_pde>:
|
|
97 14c: e24dd008 sub sp, sp, #8
|
|
98 150: e1a01000 mov r1, r0
|
|
99 154: e58d0004 str r0, [sp, #4]
|
|
100 158: e59d0004 ldr r0, [sp, #4]
|
|
101 15c: e1a00a20 lsr r0, r0, #20
|
|
102 160: e58d0004 str r0, [sp, #4]
|
|
103 164: e59f0014 ldr r0, [pc, #20] ; 180 <get_pde+0x34>
|
|
104 168: e5900000 ldr r0, [r0]
|
|
105 16c: e59d2004 ldr r2, [sp, #4]
|
|
106 170: e7900102 ldr r0, [r0, r2, lsl #2]
|
|
107 174: e58d1000 str r1, [sp]
|
|
108 178: e28dd008 add sp, sp, #8
|
|
109 17c: e12fff1e bx lr
|
|
110 180: 00000000 .word 0x00000000
|
|
111
|
|
112 00000184 <set_bootpgtbl>:
|
|
113 184: e92d4830 push {r4, r5, fp, lr}
|
|
114 188: e28db008 add fp, sp, #8
|
|
115 18c: e24dd028 sub sp, sp, #40 ; 0x28
|
|
116 190: e1a0c003 mov ip, r3
|
|
117 194: e1a0e002 mov lr, r2
|
|
118 198: e1a04001 mov r4, r1
|
|
119 19c: e1a05000 mov r5, r0
|
|
120 1a0: e50b000c str r0, [fp, #-12]
|
|
121 1a4: e50b1010 str r1, [fp, #-16]
|
|
122 1a8: e50b2014 str r2, [fp, #-20] ; 0xffffffec
|
|
123 1ac: e58d3018 str r3, [sp, #24]
|
|
124 1b0: e51b000c ldr r0, [fp, #-12]
|
|
125 1b4: e1a00a20 lsr r0, r0, #20
|
|
126 1b8: e50b000c str r0, [fp, #-12]
|
|
127 1bc: e51b0010 ldr r0, [fp, #-16]
|
|
128 1c0: e1a00a20 lsr r0, r0, #20
|
|
129 1c4: e50b0010 str r0, [fp, #-16]
|
|
130 1c8: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec
|
|
131 1cc: e1a00a20 lsr r0, r0, #20
|
|
132 1d0: e50b0014 str r0, [fp, #-20] ; 0xffffffec
|
|
133 1d4: e3a00000 mov r0, #0
|
|
134 1d8: e58d0010 str r0, [sp, #16]
|
|
135 1dc: e58dc00c str ip, [sp, #12]
|
|
136 1e0: e58de008 str lr, [sp, #8]
|
|
137 1e4: e58d4004 str r4, [sp, #4]
|
|
138 1e8: e58d5000 str r5, [sp]
|
|
139 1ec: eaffffff b 1f0 <set_bootpgtbl+0x6c>
|
|
140 1f0: e59d0010 ldr r0, [sp, #16]
|
|
141 1f4: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec
|
|
142 1f8: e1500001 cmp r0, r1
|
|
143 1fc: 2a00002e bcs 2bc <set_bootpgtbl+0x138>
|
|
144 200: eaffffff b 204 <set_bootpgtbl+0x80>
|
|
145 204: e51b0010 ldr r0, [fp, #-16]
|
|
146 208: e1a00a00 lsl r0, r0, #20
|
|
147 20c: e58d0014 str r0, [sp, #20]
|
|
148 210: e59d0018 ldr r0, [sp, #24]
|
|
149 214: e3500000 cmp r0, #0
|
|
150 218: 1a000006 bne 238 <set_bootpgtbl+0xb4>
|
|
151 21c: eaffffff b 220 <set_bootpgtbl+0x9c>
|
|
152 220: e59d0014 ldr r0, [sp, #20]
|
|
153 224: e3a0100e mov r1, #14
|
|
154 228: e3811b01 orr r1, r1, #1024 ; 0x400
|
|
155 22c: e1800001 orr r0, r0, r1
|
|
156 230: e58d0014 str r0, [sp, #20]
|
|
157 234: ea000005 b 250 <set_bootpgtbl+0xcc>
|
|
158 238: e59d0014 ldr r0, [sp, #20]
|
|
159 23c: e3a01002 mov r1, #2
|
|
160 240: e3811b01 orr r1, r1, #1024 ; 0x400
|
|
161 244: e1800001 orr r0, r0, r1
|
|
162 248: e58d0014 str r0, [sp, #20]
|
|
163 24c: eaffffff b 250 <set_bootpgtbl+0xcc>
|
|
164 250: e51b000c ldr r0, [fp, #-12]
|
|
165 254: e35000ff cmp r0, #255 ; 0xff
|
|
166 258: 8a000006 bhi 278 <set_bootpgtbl+0xf4>
|
|
167 25c: eaffffff b 260 <set_bootpgtbl+0xdc>
|
|
168 260: e59d0014 ldr r0, [sp, #20]
|
|
169 264: e59f105c ldr r1, [pc, #92] ; 2c8 <set_bootpgtbl+0x144>
|
|
170 268: e5911000 ldr r1, [r1]
|
|
171 26c: e51b200c ldr r2, [fp, #-12]
|
|
172 270: e7810102 str r0, [r1, r2, lsl #2]
|
|
173 274: ea000005 b 290 <set_bootpgtbl+0x10c>
|
|
174 278: e59d0014 ldr r0, [sp, #20]
|
|
175 27c: e59f1040 ldr r1, [pc, #64] ; 2c4 <set_bootpgtbl+0x140>
|
|
176 280: e5911000 ldr r1, [r1]
|
|
177 284: e51b200c ldr r2, [fp, #-12]
|
|
178 288: e7810102 str r0, [r1, r2, lsl #2]
|
|
179 28c: eaffffff b 290 <set_bootpgtbl+0x10c>
|
|
180 290: e51b000c ldr r0, [fp, #-12]
|
|
181 294: e2800001 add r0, r0, #1
|
|
182 298: e50b000c str r0, [fp, #-12]
|
|
183 29c: e51b0010 ldr r0, [fp, #-16]
|
|
184 2a0: e2800001 add r0, r0, #1
|
|
185 2a4: e50b0010 str r0, [fp, #-16]
|
|
186 2a8: eaffffff b 2ac <set_bootpgtbl+0x128>
|
|
187 2ac: e59d0010 ldr r0, [sp, #16]
|
|
188 2b0: e2800001 add r0, r0, #1
|
|
189 2b4: e58d0010 str r0, [sp, #16]
|
|
190 2b8: eaffffcc b 1f0 <set_bootpgtbl+0x6c>
|
|
191 2bc: e24bd008 sub sp, fp, #8
|
|
192 2c0: e8bd8830 pop {r4, r5, fp, pc}
|
|
193 ...
|
|
194
|
|
195 000002cc <load_pgtlb>:
|
|
196 2cc: e92d4800 push {fp, lr}
|
|
197 2d0: e1a0b00d mov fp, sp
|
|
198 2d4: e24dd020 sub sp, sp, #32
|
|
199 2d8: e1a02001 mov r2, r1
|
|
200 2dc: e1a03000 mov r3, r0
|
|
201 2e0: e50b0004 str r0, [fp, #-4]
|
|
202 2e4: e50b1008 str r1, [fp, #-8]
|
|
203 2e8: ee100f10 mrc 15, 0, r0, cr0, cr0, {0}
|
|
204 2ec: e50b000c str r0, [fp, #-12]
|
|
205 2f0: e55b0009 ldrb r0, [fp, #-9]
|
|
206 2f4: e3500041 cmp r0, #65 ; 0x41
|
|
207 2f8: e58d2008 str r2, [sp, #8]
|
|
208 2fc: e58d3004 str r3, [sp, #4]
|
|
209 300: 1a000001 bne 30c <load_pgtlb+0x40>
|
|
210 304: eaffffff b 308 <load_pgtlb+0x3c>
|
|
211 308: eaffffff b 30c <load_pgtlb+0x40>
|
|
212 30c: e15b00ba ldrh r0, [fp, #-10]
|
|
213 310: e200000f and r0, r0, #15
|
|
214 314: e54b000d strb r0, [fp, #-13]
|
|
215 318: e55b000d ldrb r0, [fp, #-13]
|
|
216 31c: e3500007 cmp r0, #7
|
|
217 320: 0a000007 beq 344 <load_pgtlb+0x78>
|
|
218 324: eaffffff b 328 <load_pgtlb+0x5c>
|
|
219 328: e55b000d ldrb r0, [fp, #-13]
|
|
220 32c: e350000f cmp r0, #15
|
|
221 330: 0a000003 beq 344 <load_pgtlb+0x78>
|
|
222 334: eaffffff b 338 <load_pgtlb+0x6c>
|
|
223 338: e59f0074 ldr r0, [pc, #116] ; 3b4 <load_pgtlb+0xe8>
|
|
224 33c: ebfffffe bl 30 <_puts>
|
|
225 340: eaffffff b 344 <load_pgtlb+0x78>
|
|
226 344: e59f006c ldr r0, [pc, #108] ; 3b8 <load_pgtlb+0xec>
|
|
227 348: e58d000c str r0, [sp, #12]
|
|
228 34c: e59d000c ldr r0, [sp, #12]
|
|
229 350: ee030f10 mcr 15, 0, r0, cr3, cr0, {0}
|
|
230 354: e3a00004 mov r0, #4
|
|
231 358: e58d000c str r0, [sp, #12]
|
|
232 35c: e59d000c ldr r0, [sp, #12]
|
|
233 360: ee020f50 mcr 15, 0, r0, cr2, cr0, {2}
|
|
234 364: e59f0050 ldr r0, [pc, #80] ; 3bc <load_pgtlb+0xf0>
|
|
235 368: e5900000 ldr r0, [r0]
|
|
236 36c: e58d000c str r0, [sp, #12]
|
|
237 370: e59d000c ldr r0, [sp, #12]
|
|
238 374: ee020f30 mcr 15, 0, r0, cr2, cr0, {1}
|
|
239 378: e51b0008 ldr r0, [fp, #-8]
|
|
240 37c: e58d000c str r0, [sp, #12]
|
|
241 380: e59d000c ldr r0, [sp, #12]
|
|
242 384: ee020f10 mcr 15, 0, r0, cr2, cr0, {0}
|
|
243 388: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
|
|
244 38c: e58d000c str r0, [sp, #12]
|
|
245 390: e59d000c ldr r0, [sp, #12]
|
|
246 394: e59f1024 ldr r1, [pc, #36] ; 3c0 <load_pgtlb+0xf4>
|
|
247 398: e1800001 orr r0, r0, r1
|
|
248 39c: e58d000c str r0, [sp, #12]
|
|
249 3a0: e59d000c ldr r0, [sp, #12]
|
|
250 3a4: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
|
|
251 3a8: ebfffffe bl 3c4 <_flush_all>
|
|
252 3ac: e1a0d00b mov sp, fp
|
|
253 3b0: e8bd8800 pop {fp, pc}
|
|
254 3b4: 00000000 .word 0x00000000
|
|
255 3b8: 55555555 .word 0x55555555
|
|
256 3bc: 00000000 .word 0x00000000
|
|
257 3c0: 0080300d .word 0x0080300d
|
|
258
|
|
259 000003c4 <_flush_all>:
|
|
260 3c4: e24dd004 sub sp, sp, #4
|
|
261 3c8: e3a00000 mov r0, #0
|
|
262 3cc: e58d0000 str r0, [sp]
|
|
263 3d0: e59d0000 ldr r0, [sp]
|
|
264 3d4: ee080f17 mcr 15, 0, r0, cr8, cr7, {0}
|
|
265 3d8: e28dd004 add sp, sp, #4
|
|
266 3dc: e12fff1e bx lr
|
|
267
|
|
268 000003e0 <clear_bss>:
|
|
269 3e0: e92d4800 push {fp, lr}
|
|
270 3e4: e1a0b00d mov fp, sp
|
|
271 3e8: e24dd008 sub sp, sp, #8
|
|
272 3ec: e59f0018 ldr r0, [pc, #24] ; 40c <clear_bss+0x2c>
|
|
273 3f0: e59f1018 ldr r1, [pc, #24] ; 410 <clear_bss+0x30>
|
|
274 3f4: e0412000 sub r2, r1, r0
|
|
275 3f8: e3a01000 mov r1, #0
|
|
276 3fc: ebfffffe bl 0 <memset>
|
|
277 400: e58d0004 str r0, [sp, #4]
|
|
278 404: e1a0d00b mov sp, fp
|
|
279 408: e8bd8800 pop {fp, pc}
|
|
280 ...
|
|
281
|
|
282 00000414 <start>:
|
|
283 414: e92d4800 push {fp, lr}
|
|
284 418: e1a0b00d mov fp, sp
|
|
285 41c: e24dd010 sub sp, sp, #16
|
|
286 420: e59f00bc ldr r0, [pc, #188] ; 4e4 <start+0xd0>
|
|
287 424: ebfffffe bl 30 <_puts>
|
|
288 428: e3a00601 mov r0, #1048576 ; 0x100000
|
|
289 42c: e3a0e000 mov lr, #0
|
|
290 430: e58d0008 str r0, [sp, #8]
|
|
291 434: e1a0000e mov r0, lr
|
|
292 438: e1a0100e mov r1, lr
|
|
293 43c: e59d2008 ldr r2, [sp, #8]
|
|
294 440: e1a0300e mov r3, lr
|
|
295 444: e58de004 str lr, [sp, #4]
|
|
296 448: ebfffffe bl 184 <set_bootpgtbl>
|
|
297 44c: e3a00102 mov r0, #-2147483648 ; 0x80000000
|
|
298 450: e59d1004 ldr r1, [sp, #4]
|
|
299 454: e59d2008 ldr r2, [sp, #8]
|
|
300 458: e59d3004 ldr r3, [sp, #4]
|
|
301 45c: ebfffffe bl 184 <set_bootpgtbl>
|
|
302 460: e3a0080f mov r0, #983040 ; 0xf0000
|
|
303 464: e3800102 orr r0, r0, #-2147483648 ; 0x80000000
|
|
304 468: e50b0004 str r0, [fp, #-4]
|
|
305 46c: e51b0004 ldr r0, [fp, #-4]
|
|
306 470: e59f1070 ldr r1, [pc, #112] ; 4e8 <start+0xd4>
|
|
307 474: e1500001 cmp r0, r1
|
|
308 478: 8a000003 bhi 48c <start+0x78>
|
|
309 47c: eaffffff b 480 <start+0x6c>
|
|
310 480: e59f0064 ldr r0, [pc, #100] ; 4ec <start+0xd8>
|
|
311 484: ebfffffe bl 0 <cprintf>
|
|
312 488: eaffffff b 48c <start+0x78>
|
|
313 48c: e3a008ff mov r0, #16711680 ; 0xff0000
|
|
314 490: e38004ff orr r0, r0, #-16777216 ; 0xff000000
|
|
315 494: e3a02601 mov r2, #1048576 ; 0x100000
|
|
316 498: e3a01000 mov r1, #0
|
|
317 49c: e58d1000 str r1, [sp]
|
|
318 4a0: e59d3000 ldr r3, [sp]
|
|
319 4a4: ebfffffe bl 184 <set_bootpgtbl>
|
|
320 4a8: e3a00209 mov r0, #-1879048192 ; 0x90000000
|
|
321 4ac: e3a01201 mov r1, #268435456 ; 0x10000000
|
|
322 4b0: e3a02302 mov r2, #134217728 ; 0x8000000
|
|
323 4b4: e3a03001 mov r3, #1
|
|
324 4b8: ebfffffe bl 184 <set_bootpgtbl>
|
|
325 4bc: e59f002c ldr r0, [pc, #44] ; 4f0 <start+0xdc>
|
|
326 4c0: e5900000 ldr r0, [r0]
|
|
327 4c4: e59f1028 ldr r1, [pc, #40] ; 4f4 <start+0xe0>
|
|
328 4c8: e5911000 ldr r1, [r1]
|
|
329 4cc: ebfffffe bl 2cc <load_pgtlb>
|
|
330 4d0: ebfffffe bl 0 <jump_stack>
|
|
331 4d4: ebfffffe bl 3e0 <clear_bss>
|
|
332 4d8: ebfffffe bl 0 <kmain>
|
|
333 4dc: e1a0d00b mov sp, fp
|
|
334 4e0: e8bd8800 pop {fp, pc}
|
|
335 ...
|