0
|
1
|
|
2 build/start.o_gcc: file format elf32-littlearm
|
|
3
|
|
4
|
|
5 Disassembly of section .text:
|
|
6
|
|
7 00000000 <_uart_putc>:
|
|
8 0: e52db004 push {fp} ; (str fp, [sp, #-4]!)
|
|
9 4: e28db000 add fp, sp, #0
|
|
10 8: e24dd014 sub sp, sp, #20
|
|
11 c: e50b0010 str r0, [fp, #-16]
|
|
12 10: e59f301c ldr r3, [pc, #28] ; 34 <_uart_putc+0x34>
|
|
13 14: e50b3008 str r3, [fp, #-8]
|
|
14 18: e51b3010 ldr r3, [fp, #-16]
|
|
15 1c: e6ef2073 uxtb r2, r3
|
|
16 20: e51b3008 ldr r3, [fp, #-8]
|
|
17 24: e5c32000 strb r2, [r3]
|
|
18 28: e24bd000 sub sp, fp, #0
|
|
19 2c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
|
|
20 30: e12fff1e bx lr
|
|
21 34: 101f1000 .word 0x101f1000
|
|
22
|
|
23 00000038 <_puts>:
|
|
24 38: e92d4800 push {fp, lr}
|
|
25 3c: e28db004 add fp, sp, #4
|
|
26 40: e24dd008 sub sp, sp, #8
|
|
27 44: e50b0008 str r0, [fp, #-8]
|
|
28 48: ea000006 b 68 <_puts+0x30>
|
|
29 4c: e51b3008 ldr r3, [fp, #-8]
|
|
30 50: e5d33000 ldrb r3, [r3]
|
|
31 54: e1a00003 mov r0, r3
|
|
32 58: ebfffffe bl 0 <_uart_putc>
|
|
33 5c: e51b3008 ldr r3, [fp, #-8]
|
|
34 60: e2833001 add r3, r3, #1
|
|
35 64: e50b3008 str r3, [fp, #-8]
|
|
36 68: e51b3008 ldr r3, [fp, #-8]
|
|
37 6c: e5d33000 ldrb r3, [r3]
|
|
38 70: e3530000 cmp r3, #0
|
|
39 74: 1afffff4 bne 4c <_puts+0x14>
|
|
40 78: e24bd004 sub sp, fp, #4
|
|
41 7c: e8bd8800 pop {fp, pc}
|
|
42
|
|
43 00000080 <_putint>:
|
|
44 80: e92d4800 push {fp, lr}
|
|
45 84: e28db004 add fp, sp, #4
|
|
46 88: e24dd018 sub sp, sp, #24
|
|
47 8c: e50b0010 str r0, [fp, #-16]
|
|
48 90: e50b1014 str r1, [fp, #-20] ; 0xffffffec
|
|
49 94: e50b2018 str r2, [fp, #-24] ; 0xffffffe8
|
|
50 98: e59f3078 ldr r3, [pc, #120] ; 118 <_putint+0x98>
|
|
51 9c: e50b300c str r3, [fp, #-12]
|
|
52 a0: e51b3010 ldr r3, [fp, #-16]
|
|
53 a4: e3530000 cmp r3, #0
|
|
54 a8: 0a000001 beq b4 <_putint+0x34>
|
|
55 ac: e51b0010 ldr r0, [fp, #-16]
|
|
56 b0: ebfffffe bl 38 <_puts>
|
|
57 b4: e3a0301c mov r3, #28
|
|
58 b8: e50b3008 str r3, [fp, #-8]
|
|
59 bc: ea00000b b f0 <_putint+0x70>
|
|
60 c0: e51b2014 ldr r2, [fp, #-20] ; 0xffffffec
|
|
61 c4: e51b3008 ldr r3, [fp, #-8]
|
|
62 c8: e1a03332 lsr r3, r2, r3
|
|
63 cc: e203300f and r3, r3, #15
|
|
64 d0: e51b200c ldr r2, [fp, #-12]
|
|
65 d4: e0823003 add r3, r2, r3
|
|
66 d8: e5d33000 ldrb r3, [r3]
|
|
67 dc: e1a00003 mov r0, r3
|
|
68 e0: ebfffffe bl 0 <_uart_putc>
|
|
69 e4: e51b3008 ldr r3, [fp, #-8]
|
|
70 e8: e2433004 sub r3, r3, #4
|
|
71 ec: e50b3008 str r3, [fp, #-8]
|
|
72 f0: e51b3008 ldr r3, [fp, #-8]
|
|
73 f4: e3530000 cmp r3, #0
|
|
74 f8: aafffff0 bge c0 <_putint+0x40>
|
|
75 fc: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
|
|
76 100: e3530000 cmp r3, #0
|
|
77 104: 0a000001 beq 110 <_putint+0x90>
|
|
78 108: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8
|
|
79 10c: ebfffffe bl 38 <_puts>
|
|
80 110: e24bd004 sub sp, fp, #4
|
|
81 114: e8bd8800 pop {fp, pc}
|
|
82 118: 00000000 .word 0x00000000
|
|
83
|
|
84 0000011c <get_pde>:
|
|
85 11c: e52db004 push {fp} ; (str fp, [sp, #-4]!)
|
|
86 120: e28db000 add fp, sp, #0
|
|
87 124: e24dd00c sub sp, sp, #12
|
|
88 128: e50b0008 str r0, [fp, #-8]
|
|
89 12c: e51b3008 ldr r3, [fp, #-8]
|
|
90 130: e1a03a23 lsr r3, r3, #20
|
|
91 134: e50b3008 str r3, [fp, #-8]
|
|
92 138: e59f3020 ldr r3, [pc, #32] ; 160 <get_pde+0x44>
|
|
93 13c: e5932000 ldr r2, [r3]
|
|
94 140: e51b3008 ldr r3, [fp, #-8]
|
|
95 144: e1a03103 lsl r3, r3, #2
|
|
96 148: e0823003 add r3, r2, r3
|
|
97 14c: e5933000 ldr r3, [r3]
|
|
98 150: e1a00003 mov r0, r3
|
|
99 154: e24bd000 sub sp, fp, #0
|
|
100 158: e49db004 pop {fp} ; (ldr fp, [sp], #4)
|
|
101 15c: e12fff1e bx lr
|
|
102 160: 00000000 .word 0x00000000
|
|
103
|
|
104 00000164 <set_bootpgtbl>:
|
|
105 164: e52db004 push {fp} ; (str fp, [sp, #-4]!)
|
|
106 168: e28db000 add fp, sp, #0
|
|
107 16c: e24dd01c sub sp, sp, #28
|
|
108 170: e50b0010 str r0, [fp, #-16]
|
|
109 174: e50b1014 str r1, [fp, #-20] ; 0xffffffec
|
|
110 178: e50b2018 str r2, [fp, #-24] ; 0xffffffe8
|
|
111 17c: e50b301c str r3, [fp, #-28] ; 0xffffffe4
|
|
112 180: e51b3010 ldr r3, [fp, #-16]
|
|
113 184: e1a03a23 lsr r3, r3, #20
|
|
114 188: e50b3010 str r3, [fp, #-16]
|
|
115 18c: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
|
|
116 190: e1a03a23 lsr r3, r3, #20
|
|
117 194: e50b3014 str r3, [fp, #-20] ; 0xffffffec
|
|
118 198: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
|
|
119 19c: e1a03a23 lsr r3, r3, #20
|
|
120 1a0: e50b3018 str r3, [fp, #-24] ; 0xffffffe8
|
|
121 1a4: e3a03000 mov r3, #0
|
|
122 1a8: e50b300c str r3, [fp, #-12]
|
|
123 1ac: ea000029 b 258 <set_bootpgtbl+0xf4>
|
|
124 1b0: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
|
|
125 1b4: e1a03a03 lsl r3, r3, #20
|
|
126 1b8: e50b3008 str r3, [fp, #-8]
|
|
127 1bc: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4
|
|
128 1c0: e3530000 cmp r3, #0
|
|
129 1c4: 1a000004 bne 1dc <set_bootpgtbl+0x78>
|
|
130 1c8: e51b3008 ldr r3, [fp, #-8]
|
|
131 1cc: e3833b01 orr r3, r3, #1024 ; 0x400
|
|
132 1d0: e383300e orr r3, r3, #14
|
|
133 1d4: e50b3008 str r3, [fp, #-8]
|
|
134 1d8: ea000003 b 1ec <set_bootpgtbl+0x88>
|
|
135 1dc: e51b3008 ldr r3, [fp, #-8]
|
|
136 1e0: e3833b01 orr r3, r3, #1024 ; 0x400
|
|
137 1e4: e3833002 orr r3, r3, #2
|
|
138 1e8: e50b3008 str r3, [fp, #-8]
|
|
139 1ec: e51b3010 ldr r3, [fp, #-16]
|
|
140 1f0: e35300ff cmp r3, #255 ; 0xff
|
|
141 1f4: 8a000007 bhi 218 <set_bootpgtbl+0xb4>
|
|
142 1f8: e59f3074 ldr r3, [pc, #116] ; 274 <set_bootpgtbl+0x110>
|
|
143 1fc: e5932000 ldr r2, [r3]
|
|
144 200: e51b3010 ldr r3, [fp, #-16]
|
|
145 204: e1a03103 lsl r3, r3, #2
|
|
146 208: e0823003 add r3, r2, r3
|
|
147 20c: e51b2008 ldr r2, [fp, #-8]
|
|
148 210: e5832000 str r2, [r3]
|
|
149 214: ea000006 b 234 <set_bootpgtbl+0xd0>
|
|
150 218: e59f3058 ldr r3, [pc, #88] ; 278 <set_bootpgtbl+0x114>
|
|
151 21c: e5932000 ldr r2, [r3]
|
|
152 220: e51b3010 ldr r3, [fp, #-16]
|
|
153 224: e1a03103 lsl r3, r3, #2
|
|
154 228: e0823003 add r3, r2, r3
|
|
155 22c: e51b2008 ldr r2, [fp, #-8]
|
|
156 230: e5832000 str r2, [r3]
|
|
157 234: e51b3010 ldr r3, [fp, #-16]
|
|
158 238: e2833001 add r3, r3, #1
|
|
159 23c: e50b3010 str r3, [fp, #-16]
|
|
160 240: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
|
|
161 244: e2833001 add r3, r3, #1
|
|
162 248: e50b3014 str r3, [fp, #-20] ; 0xffffffec
|
|
163 24c: e51b300c ldr r3, [fp, #-12]
|
|
164 250: e2833001 add r3, r3, #1
|
|
165 254: e50b300c str r3, [fp, #-12]
|
|
166 258: e51b200c ldr r2, [fp, #-12]
|
|
167 25c: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
|
|
168 260: e1520003 cmp r2, r3
|
|
169 264: 3affffd1 bcc 1b0 <set_bootpgtbl+0x4c>
|
|
170 268: e24bd000 sub sp, fp, #0
|
|
171 26c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
|
|
172 270: e12fff1e bx lr
|
|
173 ...
|
|
174
|
|
175 0000027c <_flush_all>:
|
|
176 27c: e52db004 push {fp} ; (str fp, [sp, #-4]!)
|
|
177 280: e28db000 add fp, sp, #0
|
|
178 284: e24dd00c sub sp, sp, #12
|
|
179 288: e3a03000 mov r3, #0
|
|
180 28c: e50b3008 str r3, [fp, #-8]
|
|
181 290: e51b3008 ldr r3, [fp, #-8]
|
|
182 294: ee083f17 mcr 15, 0, r3, cr8, cr7, {0}
|
|
183 298: e24bd000 sub sp, fp, #0
|
|
184 29c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
|
|
185 2a0: e12fff1e bx lr
|
|
186
|
|
187 000002a4 <load_pgtlb>:
|
|
188 2a4: e92d4800 push {fp, lr}
|
|
189 2a8: e28db004 add fp, sp, #4
|
|
190 2ac: e24dd018 sub sp, sp, #24
|
|
191 2b0: e50b0018 str r0, [fp, #-24] ; 0xffffffe8
|
|
192 2b4: e50b101c str r1, [fp, #-28] ; 0xffffffe4
|
|
193 2b8: ee103f10 mrc 15, 0, r3, cr0, cr0, {0}
|
|
194 2bc: e50b3008 str r3, [fp, #-8]
|
|
195 2c0: e51b3008 ldr r3, [fp, #-8]
|
|
196 2c4: e1a03823 lsr r3, r3, #16
|
|
197 2c8: e6ef3073 uxtb r3, r3
|
|
198 2cc: e203300f and r3, r3, #15
|
|
199 2d0: e54b3009 strb r3, [fp, #-9]
|
|
200 2d4: e55b3009 ldrb r3, [fp, #-9]
|
|
201 2d8: e3530007 cmp r3, #7
|
|
202 2dc: 0a000004 beq 2f4 <load_pgtlb+0x50>
|
|
203 2e0: e55b3009 ldrb r3, [fp, #-9]
|
|
204 2e4: e353000f cmp r3, #15
|
|
205 2e8: 0a000001 beq 2f4 <load_pgtlb+0x50>
|
|
206 2ec: e59f0070 ldr r0, [pc, #112] ; 364 <load_pgtlb+0xc0>
|
|
207 2f0: ebfffffe bl 38 <_puts>
|
|
208 2f4: e59f306c ldr r3, [pc, #108] ; 368 <load_pgtlb+0xc4>
|
|
209 2f8: e50b3010 str r3, [fp, #-16]
|
|
210 2fc: e51b3010 ldr r3, [fp, #-16]
|
|
211 300: ee033f10 mcr 15, 0, r3, cr3, cr0, {0}
|
|
212 304: e3a03004 mov r3, #4
|
|
213 308: e50b3010 str r3, [fp, #-16]
|
|
214 30c: e51b3010 ldr r3, [fp, #-16]
|
|
215 310: ee023f50 mcr 15, 0, r3, cr2, cr0, {2}
|
|
216 314: e59f3050 ldr r3, [pc, #80] ; 36c <load_pgtlb+0xc8>
|
|
217 318: e5933000 ldr r3, [r3]
|
|
218 31c: e50b3010 str r3, [fp, #-16]
|
|
219 320: e51b3010 ldr r3, [fp, #-16]
|
|
220 324: ee023f30 mcr 15, 0, r3, cr2, cr0, {1}
|
|
221 328: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4
|
|
222 32c: e50b3010 str r3, [fp, #-16]
|
|
223 330: e51b3010 ldr r3, [fp, #-16]
|
|
224 334: ee023f10 mcr 15, 0, r3, cr2, cr0, {0}
|
|
225 338: ee113f10 mrc 15, 0, r3, cr1, cr0, {0}
|
|
226 33c: e50b3010 str r3, [fp, #-16]
|
|
227 340: e51b2010 ldr r2, [fp, #-16]
|
|
228 344: e59f3024 ldr r3, [pc, #36] ; 370 <load_pgtlb+0xcc>
|
|
229 348: e1823003 orr r3, r2, r3
|
|
230 34c: e50b3010 str r3, [fp, #-16]
|
|
231 350: e51b3010 ldr r3, [fp, #-16]
|
|
232 354: ee013f10 mcr 15, 0, r3, cr1, cr0, {0}
|
|
233 358: ebffffc7 bl 27c <_flush_all>
|
|
234 35c: e24bd004 sub sp, fp, #4
|
|
235 360: e8bd8800 pop {fp, pc}
|
|
236 364: 00000014 .word 0x00000014
|
|
237 368: 55555555 .word 0x55555555
|
|
238 36c: 00000000 .word 0x00000000
|
|
239 370: 0080300d .word 0x0080300d
|
|
240
|
|
241 00000374 <clear_bss>:
|
|
242 374: e92d4800 push {fp, lr}
|
|
243 378: e28db004 add fp, sp, #4
|
|
244 37c: e59f2018 ldr r2, [pc, #24] ; 39c <clear_bss+0x28>
|
|
245 380: e59f3018 ldr r3, [pc, #24] ; 3a0 <clear_bss+0x2c>
|
|
246 384: e0633002 rsb r3, r3, r2
|
|
247 388: e59f0010 ldr r0, [pc, #16] ; 3a0 <clear_bss+0x2c>
|
|
248 38c: e3a01000 mov r1, #0
|
|
249 390: e1a02003 mov r2, r3
|
|
250 394: ebfffffe bl 0 <memset>
|
|
251 398: e8bd8800 pop {fp, pc}
|
|
252 ...
|
|
253
|
|
254 000003a4 <start>:
|
|
255 3a4: e92d4800 push {fp, lr}
|
|
256 3a8: e28db004 add fp, sp, #4
|
|
257 3ac: e24dd008 sub sp, sp, #8
|
|
258 3b0: e59f00a0 ldr r0, [pc, #160] ; 458 <start+0xb4>
|
|
259 3b4: ebfffffe bl 38 <_puts>
|
|
260 3b8: e3a00000 mov r0, #0
|
|
261 3bc: e3a01000 mov r1, #0
|
|
262 3c0: e3a02601 mov r2, #1048576 ; 0x100000
|
|
263 3c4: e3a03000 mov r3, #0
|
|
264 3c8: ebfffffe bl 164 <set_bootpgtbl>
|
|
265 3cc: e3a00102 mov r0, #-2147483648 ; 0x80000000
|
|
266 3d0: e3a01000 mov r1, #0
|
|
267 3d4: e3a02601 mov r2, #1048576 ; 0x100000
|
|
268 3d8: e3a03000 mov r3, #0
|
|
269 3dc: ebfffffe bl 164 <set_bootpgtbl>
|
|
270 3e0: e59f3074 ldr r3, [pc, #116] ; 45c <start+0xb8>
|
|
271 3e4: e50b3008 str r3, [fp, #-8]
|
|
272 3e8: e59f3070 ldr r3, [pc, #112] ; 460 <start+0xbc>
|
|
273 3ec: e51b2008 ldr r2, [fp, #-8]
|
|
274 3f0: e1520003 cmp r2, r3
|
|
275 3f4: 8a000001 bhi 400 <start+0x5c>
|
|
276 3f8: e59f0064 ldr r0, [pc, #100] ; 464 <start+0xc0>
|
|
277 3fc: ebfffffe bl 0 <cprintf>
|
|
278 400: e59f0060 ldr r0, [pc, #96] ; 468 <start+0xc4>
|
|
279 404: e3a01000 mov r1, #0
|
|
280 408: e3a02601 mov r2, #1048576 ; 0x100000
|
|
281 40c: e3a03000 mov r3, #0
|
|
282 410: ebfffffe bl 164 <set_bootpgtbl>
|
|
283 414: e3a00209 mov r0, #-1879048192 ; 0x90000000
|
|
284 418: e3a01201 mov r1, #268435456 ; 0x10000000
|
|
285 41c: e3a02302 mov r2, #134217728 ; 0x8000000
|
|
286 420: e3a03001 mov r3, #1
|
|
287 424: ebfffffe bl 164 <set_bootpgtbl>
|
|
288 428: e59f303c ldr r3, [pc, #60] ; 46c <start+0xc8>
|
|
289 42c: e5932000 ldr r2, [r3]
|
|
290 430: e59f3038 ldr r3, [pc, #56] ; 470 <start+0xcc>
|
|
291 434: e5933000 ldr r3, [r3]
|
|
292 438: e1a00002 mov r0, r2
|
|
293 43c: e1a01003 mov r1, r3
|
|
294 440: ebfffffe bl 2a4 <load_pgtlb>
|
|
295 444: ebfffffe bl 0 <jump_stack>
|
|
296 448: ebfffffe bl 374 <clear_bss>
|
|
297 44c: ebfffffe bl 0 <kmain>
|
|
298 450: e24bd004 sub sp, fp, #4
|
|
299 454: e8bd8800 pop {fp, pc}
|
|
300 458: 0000002c .word 0x0000002c
|
|
301 45c: 800f0000 .word 0x800f0000
|
|
302 460: 00000000 .word 0x00000000
|
|
303 464: 00000048 .word 0x00000048
|
|
304 468: ffff0000 .word 0xffff0000
|
|
305 ...
|