Skip to content

Instantly share code, notes, and snippets.

@pietrushnic
Created August 15, 2014 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pietrushnic/f83d5d0e5d8d1b75d4c2 to your computer and use it in GitHub Desktop.
Save pietrushnic/f83d5d0e5d8d1b75d4c2 to your computer and use it in GitHub Desktop.
build/cbfs/fallback/bootblock.debug: file format elf32-littlearm
Disassembly of section .rom:
00010000 <_rom>:
10000: ea000022 b 10090 <reset>
10004: deadbeef .word 0xdeadbeef
10008: deadbeef .word 0xdeadbeef
1000c: deadbeef .word 0xdeadbeef
00010010 <_cbfs_master_header>:
...
00010090 <reset>:
10090: e10f0000 mrs r0, CPSR
10094: e3c0001f bic r0, r0, #31
10098: e38000d3 orr r0, r0, #211 ; 0xd3
1009c: e3c00c01 bic r0, r0, #256 ; 0x100
100a0: e12ff000 msr CPSR_fsxc, r0
100a4: ee101fb0 mrc 15, 0, r1, cr0, cr0, {5}
100a8: e2011003 and r1, r1, #3
100ac: e3510000 cmp r1, #0
100b0: 1a00000d bne 100ec <wait_for_interrupt>
100b4: e59f0038 ldr r0, [pc, #56] ; 100f4 <.Stack>
100b8: e59f1038 ldr r1, [pc, #56] ; 100f8 <.Stack_size>
100bc: e0400001 sub r0, r0, r1
100c0: e59f102c ldr r1, [pc, #44] ; 100f4 <.Stack>
100c4: e59f2030 ldr r2, [pc, #48] ; 100fc <.Stack_size+0x4>
000100c8 <init_stack_loop>:
100c8: e5802000 str r2, [r0]
100cc: e2800004 add r0, r0, #4
100d0: e1500001 cmp r0, r1
100d4: 1afffffb bne 100c8 <init_stack_loop>
000100d8 <call_bootblock>:
100d8: e59fd014 ldr sp, [pc, #20] ; 100f4 <.Stack>
100dc: e3a00000 mov r0, #0
100e0: e92d0007 push {r0, r1, r2}
100e4: e3cdd007 bic sp, sp, #7
100e8: fa000449 blx 11214 <main>
000100ec <wait_for_interrupt>:
100ec: e320f003 wfi
100f0: e1a0f00e mov pc, lr
000100f4 <.Stack>:
100f4: 0007ff00 .word 0x0007ff00
000100f8 <.Stack_size>:
100f8: 0003ff00 .word 0x0003ff00
100fc: deadbeef .word 0xdeadbeef
00010100 <__id_start>:
10100: 2d302e34 .word 0x2d302e34
10104: 33333636 .word 0x33333636
10108: 3038672d .word 0x3038672d
1010c: 35646132 .word 0x35646132
10110: 0032 .short 0x0032
00010112 <vendor>:
10112: 5241 .short 0x5241
10114: 744c204d .word 0x744c204d
10118: 2e64 .short 0x2e64
...
0001011b <part>:
1011b: 51 .byte 0x51
1011c: 20554d45 .word 0x20554d45
10120: 564d5241 .word 0x564d5241
10124: 00360037 .word 0x00360037
10128: 00240000 .word 0x00240000
1012c: 001b0000 .word 0x001b0000
10130: 00000000 .word 0x00000000
10134: 0040 .short 0x0040
00010136 <bootblock_cpu_init>:
10136: 4770 bx lr
00010138 <stage_exit>:
10138: b510 push {r4, lr}
1013a: 4604 mov r4, r0
1013c: f000 f89b bl 10276 <dcache_clean_all>
10140: f000 f893 bl 1026a <icache_invalidate_all>
10144: 47a0 blx r4
10146: bd10 pop {r4, pc}
00010148 <dcache_op_mva>:
10148: b510 push {r4, lr}
1014a: ee30 4f10 mrc 15, 1, r4, cr0, cr0, {0}
1014e: 2304 movs r3, #4
10150: f004 0407 and.w r4, r4, #7
10154: 3402 adds r4, #2
10156: fa03 f404 lsl.w r4, r3, r4
1015a: 4263 negs r3, r4
1015c: 4003 ands r3, r0
1015e: f3bf 8f4f dsb sy
10162: 1808 adds r0, r1, r0
10164: e00e b.n 10184 <dcache_op_mva+0x3c>
10166: 2a04 cmp r2, #4
10168: d006 beq.n 10178 <dcache_op_mva+0x30>
1016a: 2a05 cmp r2, #5
1016c: d007 beq.n 1017e <dcache_op_mva+0x36>
1016e: 2a03 cmp r2, #3
10170: d107 bne.n 10182 <dcache_op_mva+0x3a>
10172: ee07 3f3e mcr 15, 0, r3, cr7, cr14, {1}
10176: e004 b.n 10182 <dcache_op_mva+0x3a>
10178: ee07 3f3a mcr 15, 0, r3, cr7, cr10, {1}
1017c: e001 b.n 10182 <dcache_op_mva+0x3a>
1017e: ee07 3f36 mcr 15, 0, r3, cr7, cr6, {1}
10182: 191b adds r3, r3, r4
10184: 4283 cmp r3, r0
10186: d3ee bcc.n 10166 <dcache_op_mva+0x1e>
10188: f3bf 8f6f isb sy
1018c: bd10 pop {r4, pc}
0001018e <dcache_foreach>:
1018e: e92d 4ef3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r9, sl, fp, lr}
10192: ee30 1f30 mrc 15, 1, r1, cr0, cr0, {1}
10196: 2300 movs r3, #0
10198: 2704 movs r7, #4
1019a: 9101 str r1, [sp, #4]
1019c: 2103 movs r1, #3
1019e: fb01 f203 mul.w r2, r1, r3
101a2: 9901 ldr r1, [sp, #4]
101a4: fa21 f202 lsr.w r2, r1, r2
101a8: f002 0207 and.w r2, r2, #7
101ac: 3a02 subs r2, #2
101ae: 2a02 cmp r2, #2
101b0: d84a bhi.n 10248 <dcache_foreach+0xba>
101b2: 005a lsls r2, r3, #1
101b4: ee40 2f10 mcr 15, 2, r2, cr0, cr0, {0}
101b8: f3bf 8f6f isb sy
101bc: ee50 af10 mrc 15, 2, sl, cr0, cr0, {0}
101c0: ee30 9f10 mrc 15, 1, r9, cr0, cr0, {0}
101c4: f3c9 3c4e ubfx ip, r9, #13, #15
101c8: f3c9 06c9 ubfx r6, r9, #3, #10
101cc: f009 0907 and.w r9, r9, #7
101d0: f10c 0c01 add.w ip, ip, #1
101d4: f109 0902 add.w r9, r9, #2
101d8: 3601 adds r6, #1
101da: fa07 f909 lsl.w r9, r7, r9
101de: f3bf 8f4f dsb sy
101e2: 2100 movs r1, #0
101e4: f00a 0a0e and.w sl, sl, #14
101e8: e02a b.n 10240 <dcache_foreach+0xb2>
101ea: f10b 0b01 add.w fp, fp, #1
101ee: 0864 lsrs r4, r4, #1
101f0: d1fb bne.n 101ea <dcache_foreach+0x5c>
101f2: f1cb 0b20 rsb fp, fp, #32
101f6: 464d mov r5, r9
101f8: fa01 fb0b lsl.w fp, r1, fp
101fc: e000 b.n 10200 <dcache_foreach+0x72>
101fe: 3401 adds r4, #1
10200: 086d lsrs r5, r5, #1
10202: d1fc bne.n 101fe <dcache_foreach+0x70>
10204: 2801 cmp r0, #1
10206: ea4b 0b0a orr.w fp, fp, sl
1020a: fa02 f404 lsl.w r4, r2, r4
1020e: ea4b 0404 orr.w r4, fp, r4
10212: d003 beq.n 1021c <dcache_foreach+0x8e>
10214: d308 bcc.n 10228 <dcache_foreach+0x9a>
10216: 2802 cmp r0, #2
10218: d108 bne.n 1022c <dcache_foreach+0x9e>
1021a: e002 b.n 10222 <dcache_foreach+0x94>
1021c: ee07 4f5e mcr 15, 0, r4, cr7, cr14, {2}
10220: e004 b.n 1022c <dcache_foreach+0x9e>
10222: ee07 4f56 mcr 15, 0, r4, cr7, cr6, {2}
10226: e001 b.n 1022c <dcache_foreach+0x9e>
10228: ee07 4f5a mcr 15, 0, r4, cr7, cr10, {2}
1022c: 3201 adds r2, #1
1022e: 4562 cmp r2, ip
10230: d203 bcs.n 1023a <dcache_foreach+0xac>
10232: 4634 mov r4, r6
10234: f04f 0b00 mov.w fp, #0
10238: e7d9 b.n 101ee <dcache_foreach+0x60>
1023a: 3101 adds r1, #1
1023c: 42b1 cmp r1, r6
1023e: d201 bcs.n 10244 <dcache_foreach+0xb6>
10240: 2200 movs r2, #0
10242: e7f6 b.n 10232 <dcache_foreach+0xa4>
10244: f3bf 8f6f isb sy
10248: 3301 adds r3, #1
1024a: 2b07 cmp r3, #7
1024c: d1a6 bne.n 1019c <dcache_foreach+0xe>
1024e: e8bd 8efc ldmia.w sp!, {r2, r3, r4, r5, r6, r7, r9, sl, fp, pc}
00010252 <tlb_invalidate_all>:
10252: 2300 movs r3, #0
10254: ee08 3f17 mcr 15, 0, r3, cr8, cr7, {0}
10258: ee08 3f16 mcr 15, 0, r3, cr8, cr6, {0}
1025c: ee08 3f15 mcr 15, 0, r3, cr8, cr5, {0}
10260: f3bf 8f6f isb sy
10264: f3bf 8f4f dsb sy
10268: 4770 bx lr
0001026a <icache_invalidate_all>:
1026a: 2300 movs r3, #0
1026c: ee07 3f15 mcr 15, 0, r3, cr7, cr5, {0}
10270: f3bf 8f6f isb sy
10274: 4770 bx lr
00010276 <dcache_clean_all>:
10276: 2000 movs r0, #0
10278: f7ff bf89 b.w 1018e <dcache_foreach>
0001027c <dcache_clean_invalidate_all>:
1027c: 2001 movs r0, #1
1027e: f7ff bf86 b.w 1018e <dcache_foreach>
00010282 <dcache_invalidate_all>:
10282: 2002 movs r0, #2
10284: f7ff bf83 b.w 1018e <dcache_foreach>
00010288 <dcache_clean_by_mva>:
10288: 2204 movs r2, #4
1028a: f7ff bf5d b.w 10148 <dcache_op_mva>
0001028e <dcache_clean_invalidate_by_mva>:
1028e: 2203 movs r2, #3
10290: f7ff bf5a b.w 10148 <dcache_op_mva>
00010294 <dcache_invalidate_by_mva>:
10294: 2205 movs r2, #5
10296: f7ff bf57 b.w 10148 <dcache_op_mva>
0001029a <dcache_mmu_disable>:
1029a: b508 push {r3, lr}
1029c: f7ff ffee bl 1027c <dcache_clean_invalidate_all>
102a0: ee11 3f10 mrc 15, 0, r3, cr1, cr0, {0}
102a4: f023 0305 bic.w r3, r3, #5
102a8: ee01 3f10 mcr 15, 0, r3, cr1, cr0, {0}
102ac: f3bf 8f6f isb sy
102b0: bd08 pop {r3, pc}
000102b2 <dcache_mmu_enable>:
102b2: b510 push {r4, lr}
102b4: ee11 4f10 mrc 15, 0, r4, cr1, cr0, {0}
102b8: f7ff ffe0 bl 1027c <dcache_clean_invalidate_all>
102bc: f044 0305 orr.w r3, r4, #5
102c0: ee01 3f10 mcr 15, 0, r3, cr1, cr0, {0}
102c4: f3bf 8f6f isb sy
102c8: bd10 pop {r4, pc}
000102ca <armv7_invalidate_caches>:
102ca: b5f8 push {r3, r4, r5, r6, r7, lr}
102cc: 2300 movs r3, #0
102ce: ee07 3fd5 mcr 15, 0, r3, cr7, cr5, {6}
102d2: ee30 6f30 mrc 15, 1, r6, cr0, cr0, {1}
102d6: 2400 movs r4, #0
102d8: 2703 movs r7, #3
102da: fb07 f304 mul.w r3, r7, r4
102de: fa26 f303 lsr.w r3, r6, r3
102e2: f003 0307 and.w r3, r3, #7
102e6: 3b01 subs r3, #1
102e8: 2b03 cmp r3, #3
102ea: d820 bhi.n 1032e <armv7_invalidate_caches+0x64>
102ec: e8df f003 tbb [pc, r3]
102f0: 0c100c02 .word 0x0c100c02
102f4: 0063 lsls r3, r4, #1
102f6: f043 0301 orr.w r3, r3, #1
102fa: ee40 3f10 mcr 15, 2, r3, cr0, cr0, {0}
102fe: f3bf 8f6f isb sy
10302: f7ff ffb2 bl 1026a <icache_invalidate_all>
10306: e012 b.n 1032e <armv7_invalidate_caches+0x64>
10308: 0063 lsls r3, r4, #1
1030a: ee40 3f10 mcr 15, 2, r3, cr0, cr0, {0}
1030e: e00a b.n 10326 <armv7_invalidate_caches+0x5c>
10310: 0065 lsls r5, r4, #1
10312: f045 0301 orr.w r3, r5, #1
10316: ee40 3f10 mcr 15, 2, r3, cr0, cr0, {0}
1031a: f3bf 8f6f isb sy
1031e: f7ff ffa4 bl 1026a <icache_invalidate_all>
10322: ee40 5f10 mcr 15, 2, r5, cr0, cr0, {0}
10326: f3bf 8f6f isb sy
1032a: f7ff ffaa bl 10282 <dcache_invalidate_all>
1032e: 3401 adds r4, #1
10330: 2c07 cmp r4, #7
10332: d1d2 bne.n 102da <armv7_invalidate_caches+0x10>
10334: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr}
10338: f7ff bf8b b.w 10252 <tlb_invalidate_all>
0001033c <raise>:
1033c: 2000 movs r0, #0
1033e: 4770 bx lr
00010340 <__aeabi_unwind_cpp_pr0>:
10340: 4770 bx lr
00010342 <__aeabi_unwind_cpp_pr1>:
10342: 4770 bx lr
00010344 <memcpy>:
10344: e1500001 cmp r0, r1
10348: 01a0f00e moveq pc, lr
1034c: e92d4011 push {r0, r4, lr}
10350: e2522004 subs r2, r2, #4
10354: ba000033 blt 10428 <memcpy+0xe4>
10358: e210c003 ands ip, r0, #3
1035c: f5d1f000 pld [r1]
10360: 1a000038 bne 10448 <memcpy+0x104>
10364: e211c003 ands ip, r1, #3
10368: 1a000042 bne 10478 <memcpy+0x134>
1036c: e252201c subs r2, r2, #28
10370: e92d01e0 push {r5, r6, r7, r8}
10374: ba000013 blt 103c8 <memcpy+0x84>
10378: e210c01f ands ip, r0, #31
1037c: e26c3020 rsb r3, ip, #32
10380: 10d34002 sbcsne r4, r3, r2
10384: 2a000003 bcs 10398 <memcpy+0x54>
10388: e28f4048 add r4, pc, #72 ; 0x48
1038c: e0522003 subs r2, r2, r3
10390: e084f00c add pc, r4, ip
10394: f5d1f000 pld [r1]
10398: e2522060 subs r2, r2, #96 ; 0x60
1039c: f5d1f01c pld [r1, #28]
103a0: ba000002 blt 103b0 <memcpy+0x6c>
103a4: f5d1f03c pld [r1, #60] ; 0x3c
103a8: f5d1f05c pld [r1, #92] ; 0x5c
103ac: f5d1f07c pld [r1, #124] ; 0x7c
103b0: e8b151f8 ldm r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
103b4: e2522020 subs r2, r2, #32
103b8: e8a051f8 stmia r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
103bc: aafffffa bge 103ac <memcpy+0x68>
103c0: e3720060 cmn r2, #96 ; 0x60
103c4: aafffff9 bge 103b0 <memcpy+0x6c>
103c8: e212c01c ands ip, r2, #28
103cc: e26cc020 rsb ip, ip, #32
103d0: 108ff00c addne pc, pc, ip
103d4: ea000012 b 10424 <memcpy+0xe0>
103d8: e320f000 nop {0}
103dc: e4913004 ldr r3, [r1], #4
103e0: e4914004 ldr r4, [r1], #4
103e4: e4915004 ldr r5, [r1], #4
103e8: e4916004 ldr r6, [r1], #4
103ec: e4917004 ldr r7, [r1], #4
103f0: e4918004 ldr r8, [r1], #4
103f4: e491e004 ldr lr, [r1], #4
103f8: e08ff00c add pc, pc, ip
103fc: e320f000 nop {0}
10400: e320f000 nop {0}
10404: e4803004 str r3, [r0], #4
10408: e4804004 str r4, [r0], #4
1040c: e4805004 str r5, [r0], #4
10410: e4806004 str r6, [r0], #4
10414: e4807004 str r7, [r0], #4
10418: e4808004 str r8, [r0], #4
1041c: e480e004 str lr, [r0], #4
10420: 2affffdc bcs 10398 <memcpy+0x54>
10424: e8bd01e0 pop {r5, r6, r7, r8}
10428: e1b02f82 lsls r2, r2, #31
1042c: 14d13001 ldrbne r3, [r1], #1
10430: 24d14001 ldrbcs r4, [r1], #1
10434: 24d1c001 ldrbcs ip, [r1], #1
10438: 14c03001 strbne r3, [r0], #1
1043c: 24c04001 strbcs r4, [r0], #1
10440: 24c0c001 strbcs ip, [r0], #1
10444: e8bd8011 pop {r0, r4, pc}
10448: e26cc004 rsb ip, ip, #4
1044c: e35c0002 cmp ip, #2
10450: c4d13001 ldrbgt r3, [r1], #1
10454: a4d14001 ldrbge r4, [r1], #1
10458: e4d1e001 ldrb lr, [r1], #1
1045c: c4c03001 strbgt r3, [r0], #1
10460: a4c04001 strbge r4, [r0], #1
10464: e052200c subs r2, r2, ip
10468: e4c0e001 strb lr, [r0], #1
1046c: baffffed blt 10428 <memcpy+0xe4>
10470: e211c003 ands ip, r1, #3
10474: 0affffbc beq 1036c <memcpy+0x28>
10478: e3c11003 bic r1, r1, #3
1047c: e35c0002 cmp ip, #2
10480: e491e004 ldr lr, [r1], #4
10484: 0a000033 beq 10558 <memcpy+0x214>
10488: ca000065 bgt 10624 <memcpy+0x2e0>
1048c: e252201c subs r2, r2, #28
10490: ba000024 blt 10528 <memcpy+0x1e4>
10494: e210c01f ands ip, r0, #31
10498: e26cc020 rsb ip, ip, #32
1049c: 10dc4002 sbcsne r4, ip, r2
104a0: 3042200c subcc r2, r2, ip
104a4: 3a000021 bcc 10530 <memcpy+0x1ec>
104a8: e92d03e0 push {r5, r6, r7, r8, r9}
104ac: f5d1f000 pld [r1]
104b0: e2522060 subs r2, r2, #96 ; 0x60
104b4: f5d1f01c pld [r1, #28]
104b8: ba000002 blt 104c8 <memcpy+0x184>
104bc: f5d1f03c pld [r1, #60] ; 0x3c
104c0: f5d1f05c pld [r1, #92] ; 0x5c
104c4: f5d1f07c pld [r1, #124] ; 0x7c
104c8: e8b100f0 ldm r1!, {r4, r5, r6, r7}
104cc: e1a0342e lsr r3, lr, #8
104d0: e2522020 subs r2, r2, #32
104d4: e8b15300 ldm r1!, {r8, r9, ip, lr}
104d8: e1833c04 orr r3, r3, r4, lsl #24
104dc: e1a04424 lsr r4, r4, #8
104e0: e1844c05 orr r4, r4, r5, lsl #24
104e4: e1a05425 lsr r5, r5, #8
104e8: e1855c06 orr r5, r5, r6, lsl #24
104ec: e1a06426 lsr r6, r6, #8
104f0: e1866c07 orr r6, r6, r7, lsl #24
104f4: e1a07427 lsr r7, r7, #8
104f8: e1877c08 orr r7, r7, r8, lsl #24
104fc: e1a08428 lsr r8, r8, #8
10500: e1888c09 orr r8, r8, r9, lsl #24
10504: e1a09429 lsr r9, r9, #8
10508: e1899c0c orr r9, r9, ip, lsl #24
1050c: e1a0c42c lsr ip, ip, #8
10510: e18ccc0e orr ip, ip, lr, lsl #24
10514: e8a013f8 stmia r0!, {r3, r4, r5, r6, r7, r8, r9, ip}
10518: aaffffe9 bge 104c4 <memcpy+0x180>
1051c: e3720060 cmn r2, #96 ; 0x60
10520: aaffffe8 bge 104c8 <memcpy+0x184>
10524: e8bd03e0 pop {r5, r6, r7, r8, r9}
10528: e212c01c ands ip, r2, #28
1052c: 0a000007 beq 10550 <memcpy+0x20c>
10530: e1a0342e lsr r3, lr, #8
10534: e491e004 ldr lr, [r1], #4
10538: e25cc004 subs ip, ip, #4
1053c: e1833c0e orr r3, r3, lr, lsl #24
10540: e4803004 str r3, [r0], #4
10544: cafffff9 bgt 10530 <memcpy+0x1ec>
10548: e3520000 cmp r2, #0
1054c: aaffffd5 bge 104a8 <memcpy+0x164>
10550: e2411003 sub r1, r1, #3
10554: eaffffb3 b 10428 <memcpy+0xe4>
10558: e252201c subs r2, r2, #28
1055c: ba000024 blt 105f4 <memcpy+0x2b0>
10560: e210c01f ands ip, r0, #31
10564: e26cc020 rsb ip, ip, #32
10568: 10dc4002 sbcsne r4, ip, r2
1056c: 3042200c subcc r2, r2, ip
10570: 3a000021 bcc 105fc <memcpy+0x2b8>
10574: e92d03e0 push {r5, r6, r7, r8, r9}
10578: f5d1f000 pld [r1]
1057c: e2522060 subs r2, r2, #96 ; 0x60
10580: f5d1f01c pld [r1, #28]
10584: ba000002 blt 10594 <memcpy+0x250>
10588: f5d1f03c pld [r1, #60] ; 0x3c
1058c: f5d1f05c pld [r1, #92] ; 0x5c
10590: f5d1f07c pld [r1, #124] ; 0x7c
10594: e8b100f0 ldm r1!, {r4, r5, r6, r7}
10598: e1a0382e lsr r3, lr, #16
1059c: e2522020 subs r2, r2, #32
105a0: e8b15300 ldm r1!, {r8, r9, ip, lr}
105a4: e1833804 orr r3, r3, r4, lsl #16
105a8: e1a04824 lsr r4, r4, #16
105ac: e1844805 orr r4, r4, r5, lsl #16
105b0: e1a05825 lsr r5, r5, #16
105b4: e1855806 orr r5, r5, r6, lsl #16
105b8: e1a06826 lsr r6, r6, #16
105bc: e1866807 orr r6, r6, r7, lsl #16
105c0: e1a07827 lsr r7, r7, #16
105c4: e1877808 orr r7, r7, r8, lsl #16
105c8: e1a08828 lsr r8, r8, #16
105cc: e1888809 orr r8, r8, r9, lsl #16
105d0: e1a09829 lsr r9, r9, #16
105d4: e189980c orr r9, r9, ip, lsl #16
105d8: e1a0c82c lsr ip, ip, #16
105dc: e18cc80e orr ip, ip, lr, lsl #16
105e0: e8a013f8 stmia r0!, {r3, r4, r5, r6, r7, r8, r9, ip}
105e4: aaffffe9 bge 10590 <memcpy+0x24c>
105e8: e3720060 cmn r2, #96 ; 0x60
105ec: aaffffe8 bge 10594 <memcpy+0x250>
105f0: e8bd03e0 pop {r5, r6, r7, r8, r9}
105f4: e212c01c ands ip, r2, #28
105f8: 0a000007 beq 1061c <memcpy+0x2d8>
105fc: e1a0382e lsr r3, lr, #16
10600: e491e004 ldr lr, [r1], #4
10604: e25cc004 subs ip, ip, #4
10608: e183380e orr r3, r3, lr, lsl #16
1060c: e4803004 str r3, [r0], #4
10610: cafffff9 bgt 105fc <memcpy+0x2b8>
10614: e3520000 cmp r2, #0
10618: aaffffd5 bge 10574 <memcpy+0x230>
1061c: e2411002 sub r1, r1, #2
10620: eaffff80 b 10428 <memcpy+0xe4>
10624: e252201c subs r2, r2, #28
10628: ba000024 blt 106c0 <memcpy+0x37c>
1062c: e210c01f ands ip, r0, #31
10630: e26cc020 rsb ip, ip, #32
10634: 10dc4002 sbcsne r4, ip, r2
10638: 3042200c subcc r2, r2, ip
1063c: 3a000021 bcc 106c8 <memcpy+0x384>
10640: e92d03e0 push {r5, r6, r7, r8, r9}
10644: f5d1f000 pld [r1]
10648: e2522060 subs r2, r2, #96 ; 0x60
1064c: f5d1f01c pld [r1, #28]
10650: ba000002 blt 10660 <memcpy+0x31c>
10654: f5d1f03c pld [r1, #60] ; 0x3c
10658: f5d1f05c pld [r1, #92] ; 0x5c
1065c: f5d1f07c pld [r1, #124] ; 0x7c
10660: e8b100f0 ldm r1!, {r4, r5, r6, r7}
10664: e1a03c2e lsr r3, lr, #24
10668: e2522020 subs r2, r2, #32
1066c: e8b15300 ldm r1!, {r8, r9, ip, lr}
10670: e1833404 orr r3, r3, r4, lsl #8
10674: e1a04c24 lsr r4, r4, #24
10678: e1844405 orr r4, r4, r5, lsl #8
1067c: e1a05c25 lsr r5, r5, #24
10680: e1855406 orr r5, r5, r6, lsl #8
10684: e1a06c26 lsr r6, r6, #24
10688: e1866407 orr r6, r6, r7, lsl #8
1068c: e1a07c27 lsr r7, r7, #24
10690: e1877408 orr r7, r7, r8, lsl #8
10694: e1a08c28 lsr r8, r8, #24
10698: e1888409 orr r8, r8, r9, lsl #8
1069c: e1a09c29 lsr r9, r9, #24
106a0: e189940c orr r9, r9, ip, lsl #8
106a4: e1a0cc2c lsr ip, ip, #24
106a8: e18cc40e orr ip, ip, lr, lsl #8
106ac: e8a013f8 stmia r0!, {r3, r4, r5, r6, r7, r8, r9, ip}
106b0: aaffffe9 bge 1065c <memcpy+0x318>
106b4: e3720060 cmn r2, #96 ; 0x60
106b8: aaffffe8 bge 10660 <memcpy+0x31c>
106bc: e8bd03e0 pop {r5, r6, r7, r8, r9}
106c0: e212c01c ands ip, r2, #28
106c4: 0a000007 beq 106e8 <memcpy+0x3a4>
106c8: e1a03c2e lsr r3, lr, #24
106cc: e491e004 ldr lr, [r1], #4
106d0: e25cc004 subs ip, ip, #4
106d4: e183340e orr r3, r3, lr, lsl #8
106d8: e4803004 str r3, [r0], #4
106dc: cafffff9 bgt 106c8 <memcpy+0x384>
106e0: e3520000 cmp r2, #0
106e4: aaffffd5 bge 10640 <memcpy+0x2fc>
106e8: e2411001 sub r1, r1, #1
106ec: eaffff4d b 10428 <memcpy+0xe4>
000106f0 <memmove>:
106f0: e050c001 subs ip, r0, r1
106f4: 8152000c cmphi r2, ip
106f8: 9affff11 bls 10344 <memcpy>
106fc: e92d4011 push {r0, r4, lr}
10700: e0811002 add r1, r1, r2
10704: e0800002 add r0, r0, r2
10708: e2522004 subs r2, r2, #4
1070c: ba000033 blt 107e0 <memmove+0xf0>
10710: e210c003 ands ip, r0, #3
10714: f551f004 pld [r1, #-4]
10718: 1a000038 bne 10800 <memmove+0x110>
1071c: e211c003 ands ip, r1, #3
10720: 1a000041 bne 1082c <memmove+0x13c>
10724: e252201c subs r2, r2, #28
10728: e92d01e0 push {r5, r6, r7, r8}
1072c: ba000013 blt 10780 <memmove+0x90>
10730: e210c01f ands ip, r0, #31
10734: 10dc4002 sbcsne r4, ip, r2
10738: 2a000004 bcs 10750 <memmove+0x60>
1073c: e28f404c add r4, pc, #76 ; 0x4c
10740: e052200c subs r2, r2, ip
10744: e26cc020 rsb ip, ip, #32
10748: e084f00c add pc, r4, ip
1074c: f551f004 pld [r1, #-4]
10750: e2522060 subs r2, r2, #96 ; 0x60
10754: f551f020 pld [r1, #-32]
10758: ba000002 blt 10768 <memmove+0x78>
1075c: f551f040 pld [r1, #-64] ; 0x40
10760: f551f060 pld [r1, #-96] ; 0x60
10764: f551f080 pld [r1, #-128] ; 0x80
10768: e93151f8 ldmdb r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
1076c: e2522020 subs r2, r2, #32
10770: e92051f8 stmdb r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
10774: aafffffa bge 10764 <memmove+0x74>
10778: e3720060 cmn r2, #96 ; 0x60
1077c: aafffff9 bge 10768 <memmove+0x78>
10780: e212c01c ands ip, r2, #28
10784: e26cc020 rsb ip, ip, #32
10788: 108ff00c addne pc, pc, ip
1078c: ea000012 b 107dc <memmove+0xec>
10790: e320f000 nop {0}
10794: e5313004 ldr r3, [r1, #-4]!
10798: e5314004 ldr r4, [r1, #-4]!
1079c: e5315004 ldr r5, [r1, #-4]!
107a0: e5316004 ldr r6, [r1, #-4]!
107a4: e5317004 ldr r7, [r1, #-4]!
107a8: e5318004 ldr r8, [r1, #-4]!
107ac: e531e004 ldr lr, [r1, #-4]!
107b0: e08ff00c add pc, pc, ip
107b4: e320f000 nop {0}
107b8: e320f000 nop {0}
107bc: e5203004 str r3, [r0, #-4]!
107c0: e5204004 str r4, [r0, #-4]!
107c4: e5205004 str r5, [r0, #-4]!
107c8: e5206004 str r6, [r0, #-4]!
107cc: e5207004 str r7, [r0, #-4]!
107d0: e5208004 str r8, [r0, #-4]!
107d4: e520e004 str lr, [r0, #-4]!
107d8: 2affffdc bcs 10750 <memmove+0x60>
107dc: e8bd01e0 pop {r5, r6, r7, r8}
107e0: e1b02f82 lsls r2, r2, #31
107e4: 15713001 ldrbne r3, [r1, #-1]!
107e8: 25714001 ldrbcs r4, [r1, #-1]!
107ec: 2551c001 ldrbcs ip, [r1, #-1]
107f0: 15603001 strbne r3, [r0, #-1]!
107f4: 25604001 strbcs r4, [r0, #-1]!
107f8: 2540c001 strbcs ip, [r0, #-1]
107fc: e8bd8011 pop {r0, r4, pc}
10800: e35c0002 cmp ip, #2
10804: c5713001 ldrbgt r3, [r1, #-1]!
10808: a5714001 ldrbge r4, [r1, #-1]!
1080c: e571e001 ldrb lr, [r1, #-1]!
10810: c5603001 strbgt r3, [r0, #-1]!
10814: a5604001 strbge r4, [r0, #-1]!
10818: e052200c subs r2, r2, ip
1081c: e560e001 strb lr, [r0, #-1]!
10820: baffffee blt 107e0 <memmove+0xf0>
10824: e211c003 ands ip, r1, #3
10828: 0affffbd beq 10724 <memmove+0x34>
1082c: e3c11003 bic r1, r1, #3
10830: e35c0002 cmp ip, #2
10834: e5913000 ldr r3, [r1]
10838: 0a000032 beq 10908 <memmove+0x218>
1083c: ba000063 blt 109d0 <memmove+0x2e0>
10840: e252201c subs r2, r2, #28
10844: ba000023 blt 108d8 <memmove+0x1e8>
10848: e210c01f ands ip, r0, #31
1084c: 10dc4002 sbcsne r4, ip, r2
10850: 3042200c subcc r2, r2, ip
10854: 3a000021 bcc 108e0 <memmove+0x1f0>
10858: e92d03e0 push {r5, r6, r7, r8, r9}
1085c: f551f004 pld [r1, #-4]
10860: e2522060 subs r2, r2, #96 ; 0x60
10864: f551f020 pld [r1, #-32]
10868: ba000002 blt 10878 <memmove+0x188>
1086c: f551f040 pld [r1, #-64] ; 0x40
10870: f551f060 pld [r1, #-96] ; 0x60
10874: f551f080 pld [r1, #-128] ; 0x80
10878: e9311380 ldmdb r1!, {r7, r8, r9, ip}
1087c: e1a0e403 lsl lr, r3, #8
10880: e2522020 subs r2, r2, #32
10884: e9310078 ldmdb r1!, {r3, r4, r5, r6}
10888: e18eec2c orr lr, lr, ip, lsr #24
1088c: e1a0c40c lsl ip, ip, #8
10890: e18ccc29 orr ip, ip, r9, lsr #24
10894: e1a09409 lsl r9, r9, #8
10898: e1899c28 orr r9, r9, r8, lsr #24
1089c: e1a08408 lsl r8, r8, #8
108a0: e1888c27 orr r8, r8, r7, lsr #24
108a4: e1a07407 lsl r7, r7, #8
108a8: e1877c26 orr r7, r7, r6, lsr #24
108ac: e1a06406 lsl r6, r6, #8
108b0: e1866c25 orr r6, r6, r5, lsr #24
108b4: e1a05405 lsl r5, r5, #8
108b8: e1855c24 orr r5, r5, r4, lsr #24
108bc: e1a04404 lsl r4, r4, #8
108c0: e1844c23 orr r4, r4, r3, lsr #24
108c4: e92053f0 stmdb r0!, {r4, r5, r6, r7, r8, r9, ip, lr}
108c8: aaffffe9 bge 10874 <memmove+0x184>
108cc: e3720060 cmn r2, #96 ; 0x60
108d0: aaffffe8 bge 10878 <memmove+0x188>
108d4: e8bd03e0 pop {r5, r6, r7, r8, r9}
108d8: e212c01c ands ip, r2, #28
108dc: 0a000007 beq 10900 <memmove+0x210>
108e0: e1a0e403 lsl lr, r3, #8
108e4: e5313004 ldr r3, [r1, #-4]!
108e8: e25cc004 subs ip, ip, #4
108ec: e18eec23 orr lr, lr, r3, lsr #24
108f0: e520e004 str lr, [r0, #-4]!
108f4: cafffff9 bgt 108e0 <memmove+0x1f0>
108f8: e3520000 cmp r2, #0
108fc: aaffffd5 bge 10858 <memmove+0x168>
10900: e2811003 add r1, r1, #3
10904: eaffffb5 b 107e0 <memmove+0xf0>
10908: e252201c subs r2, r2, #28
1090c: ba000023 blt 109a0 <memmove+0x2b0>
10910: e210c01f ands ip, r0, #31
10914: 10dc4002 sbcsne r4, ip, r2
10918: 3042200c subcc r2, r2, ip
1091c: 3a000021 bcc 109a8 <memmove+0x2b8>
10920: e92d03e0 push {r5, r6, r7, r8, r9}
10924: f551f004 pld [r1, #-4]
10928: e2522060 subs r2, r2, #96 ; 0x60
1092c: f551f020 pld [r1, #-32]
10930: ba000002 blt 10940 <memmove+0x250>
10934: f551f040 pld [r1, #-64] ; 0x40
10938: f551f060 pld [r1, #-96] ; 0x60
1093c: f551f080 pld [r1, #-128] ; 0x80
10940: e9311380 ldmdb r1!, {r7, r8, r9, ip}
10944: e1a0e803 lsl lr, r3, #16
10948: e2522020 subs r2, r2, #32
1094c: e9310078 ldmdb r1!, {r3, r4, r5, r6}
10950: e18ee82c orr lr, lr, ip, lsr #16
10954: e1a0c80c lsl ip, ip, #16
10958: e18cc829 orr ip, ip, r9, lsr #16
1095c: e1a09809 lsl r9, r9, #16
10960: e1899828 orr r9, r9, r8, lsr #16
10964: e1a08808 lsl r8, r8, #16
10968: e1888827 orr r8, r8, r7, lsr #16
1096c: e1a07807 lsl r7, r7, #16
10970: e1877826 orr r7, r7, r6, lsr #16
10974: e1a06806 lsl r6, r6, #16
10978: e1866825 orr r6, r6, r5, lsr #16
1097c: e1a05805 lsl r5, r5, #16
10980: e1855824 orr r5, r5, r4, lsr #16
10984: e1a04804 lsl r4, r4, #16
10988: e1844823 orr r4, r4, r3, lsr #16
1098c: e92053f0 stmdb r0!, {r4, r5, r6, r7, r8, r9, ip, lr}
10990: aaffffe9 bge 1093c <memmove+0x24c>
10994: e3720060 cmn r2, #96 ; 0x60
10998: aaffffe8 bge 10940 <memmove+0x250>
1099c: e8bd03e0 pop {r5, r6, r7, r8, r9}
109a0: e212c01c ands ip, r2, #28
109a4: 0a000007 beq 109c8 <memmove+0x2d8>
109a8: e1a0e803 lsl lr, r3, #16
109ac: e5313004 ldr r3, [r1, #-4]!
109b0: e25cc004 subs ip, ip, #4
109b4: e18ee823 orr lr, lr, r3, lsr #16
109b8: e520e004 str lr, [r0, #-4]!
109bc: cafffff9 bgt 109a8 <memmove+0x2b8>
109c0: e3520000 cmp r2, #0
109c4: aaffffd5 bge 10920 <memmove+0x230>
109c8: e2811002 add r1, r1, #2
109cc: eaffff83 b 107e0 <memmove+0xf0>
109d0: e252201c subs r2, r2, #28
109d4: ba000023 blt 10a68 <memmove+0x378>
109d8: e210c01f ands ip, r0, #31
109dc: 10dc4002 sbcsne r4, ip, r2
109e0: 3042200c subcc r2, r2, ip
109e4: 3a000021 bcc 10a70 <memmove+0x380>
109e8: e92d03e0 push {r5, r6, r7, r8, r9}
109ec: f551f004 pld [r1, #-4]
109f0: e2522060 subs r2, r2, #96 ; 0x60
109f4: f551f020 pld [r1, #-32]
109f8: ba000002 blt 10a08 <memmove+0x318>
109fc: f551f040 pld [r1, #-64] ; 0x40
10a00: f551f060 pld [r1, #-96] ; 0x60
10a04: f551f080 pld [r1, #-128] ; 0x80
10a08: e9311380 ldmdb r1!, {r7, r8, r9, ip}
10a0c: e1a0ec03 lsl lr, r3, #24
10a10: e2522020 subs r2, r2, #32
10a14: e9310078 ldmdb r1!, {r3, r4, r5, r6}
10a18: e18ee42c orr lr, lr, ip, lsr #8
10a1c: e1a0cc0c lsl ip, ip, #24
10a20: e18cc429 orr ip, ip, r9, lsr #8
10a24: e1a09c09 lsl r9, r9, #24
10a28: e1899428 orr r9, r9, r8, lsr #8
10a2c: e1a08c08 lsl r8, r8, #24
10a30: e1888427 orr r8, r8, r7, lsr #8
10a34: e1a07c07 lsl r7, r7, #24
10a38: e1877426 orr r7, r7, r6, lsr #8
10a3c: e1a06c06 lsl r6, r6, #24
10a40: e1866425 orr r6, r6, r5, lsr #8
10a44: e1a05c05 lsl r5, r5, #24
10a48: e1855424 orr r5, r5, r4, lsr #8
10a4c: e1a04c04 lsl r4, r4, #24
10a50: e1844423 orr r4, r4, r3, lsr #8
10a54: e92053f0 stmdb r0!, {r4, r5, r6, r7, r8, r9, ip, lr}
10a58: aaffffe9 bge 10a04 <memmove+0x314>
10a5c: e3720060 cmn r2, #96 ; 0x60
10a60: aaffffe8 bge 10a08 <memmove+0x318>
10a64: e8bd03e0 pop {r5, r6, r7, r8, r9}
10a68: e212c01c ands ip, r2, #28
10a6c: 0a000007 beq 10a90 <memmove+0x3a0>
10a70: e1a0ec03 lsl lr, r3, #24
10a74: e5313004 ldr r3, [r1, #-4]!
10a78: e25cc004 subs ip, ip, #4
10a7c: e18ee423 orr lr, lr, r3, lsr #8
10a80: e520e004 str lr, [r0, #-4]!
10a84: cafffff9 bgt 10a70 <memmove+0x380>
10a88: e3520000 cmp r2, #0
10a8c: aaffffd5 bge 109e8 <memmove+0x2f8>
10a90: e2811001 add r1, r1, #1
10a94: eaffff51 b 107e0 <memmove+0xf0>
10a98: ffffffff ; <UNDEFINED> instruction: 0xffffffff
10a9c: ffffffff ; <UNDEFINED> instruction: 0xffffffff
10aa0: 00000000 .word 0x00000000
10aa4: e2522004 subs r2, r2, #4
10aa8: ba00002c blt 10b60 <memset+0xa0>
10aac: e3530002 cmp r3, #2
10ab0: b4c01001 strblt r1, [r0], #1
10ab4: d4c01001 strble r1, [r0], #1
10ab8: e4c01001 strb r1, [r0], #1
10abc: e0822003 add r2, r2, r3
00010ac0 <memset>:
10ac0: e2103003 ands r3, r0, #3
10ac4: 1afffff6 bne 10aa4 <memmove+0x3b4>
10ac8: e1811401 orr r1, r1, r1, lsl #8
10acc: e1811801 orr r1, r1, r1, lsl #16
10ad0: e1a03001 mov r3, r1
10ad4: e3520010 cmp r2, #16
10ad8: ba00001c blt 10b50 <memset+0x90>
10adc: e92d40f0 push {r4, r5, r6, r7, lr}
10ae0: e1a04001 mov r4, r1
10ae4: e1a05001 mov r5, r1
10ae8: e1a06001 mov r6, r1
10aec: e1a07001 mov r7, r1
10af0: e1a0c001 mov ip, r1
10af4: e1a0e001 mov lr, r1
10af8: e3520060 cmp r2, #96 ; 0x60
10afc: c310001f tstgt r0, #31
10b00: da000008 ble 10b28 <memset+0x68>
10b04: e200c01f and ip, r0, #31
10b08: e26cc020 rsb ip, ip, #32
10b0c: e042200c sub r2, r2, ip
10b10: e1b0ce0c lsls ip, ip, #28
10b14: 28a000f0 stmiacs r0!, {r4, r5, r6, r7}
10b18: 48a00030 stmiami r0!, {r4, r5}
10b1c: e31c0101 tst ip, #1073741824 ; 0x40000000
10b20: e1a0c001 mov ip, r1
10b24: 14801004 strne r1, [r0], #4
10b28: e2522040 subs r2, r2, #64 ; 0x40
10b2c: a8a050fa stmiage r0!, {r1, r3, r4, r5, r6, r7, ip, lr}
10b30: a8a050fa stmiage r0!, {r1, r3, r4, r5, r6, r7, ip, lr}
10b34: cafffffb bgt 10b28 <memset+0x68>
10b38: 08bd80f0 popeq {r4, r5, r6, r7, pc}
10b3c: e3120020 tst r2, #32
10b40: 18a050fa stmiane r0!, {r1, r3, r4, r5, r6, r7, ip, lr}
10b44: e3120010 tst r2, #16
10b48: 18a000f0 stmiane r0!, {r4, r5, r6, r7}
10b4c: e8bd40f0 pop {r4, r5, r6, r7, lr}
10b50: e3120008 tst r2, #8
10b54: 18a0000a stmiane r0!, {r1, r3}
10b58: e3120004 tst r2, #4
10b5c: 14801004 strne r1, [r0], #4
10b60: e3120002 tst r2, #2
10b64: 14c01001 strbne r1, [r0], #1
10b68: 14c01001 strbne r1, [r0], #1
10b6c: e3120001 tst r2, #1
10b70: 14c01001 strbne r1, [r0], #1
10b74: e1a0f00e mov pc, lr
10b78: e320f000 nop {0}
10b7c: e320f000 nop {0}
00010b80 <mmu_disable_range>:
10b80: 0083 lsls r3, r0, #2
10b82: 4602 mov r2, r0
10b84: b530 push {r4, r5, lr}
10b86: 1809 adds r1, r1, r0
10b88: 461c mov r4, r3
10b8a: 2500 movs r5, #0
10b8c: e006 b.n 10b9c <mmu_disable_range+0x1c>
10b8e: f3bf 8f5f dmb sy
10b92: f844 5b04 str.w r5, [r4], #4
10b96: f3bf 8f5f dmb sy
10b9a: 3201 adds r2, #1
10b9c: 428a cmp r2, r1
10b9e: d3f6 bcc.n 10b8e <mmu_disable_range+0xe>
10ba0: 0502 lsls r2, r0, #20
10ba2: e007 b.n 10bb4 <mmu_disable_range+0x34>
10ba4: ee07 3f3a mcr 15, 0, r3, cr7, cr10, {1}
10ba8: ee08 2f77 mcr 15, 0, r2, cr8, cr7, {3}
10bac: 3001 adds r0, #1
10bae: 3304 adds r3, #4
10bb0: f502 1280 add.w r2, r2, #1048576 ; 0x100000
10bb4: 4288 cmp r0, r1
10bb6: d3f5 bcc.n 10ba4 <mmu_disable_range+0x24>
10bb8: bd30 pop {r4, r5, pc}
00010bba <mmu_config_range>:
10bba: 2a01 cmp r2, #1
10bbc: b570 push {r4, r5, r6, lr}
10bbe: d009 beq.n 10bd4 <mmu_config_range+0x1a>
10bc0: d302 bcc.n 10bc8 <mmu_config_range+0xe>
10bc2: 2a02 cmp r2, #2
10bc4: d124 bne.n 10c10 <mmu_config_range+0x56>
10bc6: e002 b.n 10bce <mmu_config_range+0x14>
10bc8: f640 4412 movw r4, #3090 ; 0xc12
10bcc: e004 b.n 10bd8 <mmu_config_range+0x1e>
10bce: f640 440a movw r4, #3082 ; 0xc0a
10bd2: e001 b.n 10bd8 <mmu_config_range+0x1e>
10bd4: f640 440e movw r4, #3086 ; 0xc0e
10bd8: 0083 lsls r3, r0, #2
10bda: 4602 mov r2, r0
10bdc: 461d mov r5, r3
10bde: 1809 adds r1, r1, r0
10be0: e008 b.n 10bf4 <mmu_config_range+0x3a>
10be2: ea44 5602 orr.w r6, r4, r2, lsl #20
10be6: f3bf 8f5f dmb sy
10bea: f845 6b04 str.w r6, [r5], #4
10bee: f3bf 8f5f dmb sy
10bf2: 3201 adds r2, #1
10bf4: 428a cmp r2, r1
10bf6: d3f4 bcc.n 10be2 <mmu_config_range+0x28>
10bf8: 0502 lsls r2, r0, #20
10bfa: e007 b.n 10c0c <mmu_config_range+0x52>
10bfc: ee07 3f3a mcr 15, 0, r3, cr7, cr10, {1}
10c00: ee08 2f77 mcr 15, 0, r2, cr8, cr7, {3}
10c04: 3001 adds r0, #1
10c06: 3304 adds r3, #4
10c08: f502 1280 add.w r2, r2, #1048576 ; 0x100000
10c0c: 4288 cmp r0, r1
10c0e: d3f5 bcc.n 10bfc <mmu_config_range+0x42>
10c10: bd70 pop {r4, r5, r6, pc}
00010c12 <mmu_init>:
10c12: ee12 3f50 mrc 15, 0, r3, cr2, cr0, {2}
10c16: f023 0303 bic.w r3, r3, #3
10c1a: ee02 3f50 mcr 15, 0, r3, cr2, cr0, {2}
10c1e: 2300 movs r3, #0
10c20: ee02 3f10 mcr 15, 0, r3, cr2, cr0, {0}
10c24: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff
10c28: ee03 3f10 mcr 15, 0, r3, cr3, cr0, {0}
10c2c: 4770 bx lr
00010c2e <die>:
10c2e: e7fe b.n 10c2e <die>
00010c30 <v7_outer_cache_enable>:
10c30: 4770 bx lr
00010c32 <v7_outer_cache_disable>:
10c32: 4770 bx lr
00010c34 <v7_outer_cache_flush_all>:
10c34: 4770 bx lr
00010c36 <v7_outer_cache_inval_all>:
10c36: 4770 bx lr
00010c38 <v7_outer_cache_flush_range>:
10c38: 4770 bx lr
00010c3a <v7_outer_cache_inval_range>:
10c3a: 4770 bx lr
00010c3c <default_baudrate>:
10c3c: f44f 30e1 mov.w r0, #115200 ; 0x1c200
10c40: 4770 bx lr
00010c42 <uart_baudrate_divisor>:
10c42: 4342 muls r2, r0
10c44: b508 push {r3, lr}
10c46: 0048 lsls r0, r1, #1
10c48: 4611 mov r1, r2
10c4a: f000 ea54 blx 110f4 <__aeabi_uidiv>
10c4e: 3001 adds r0, #1
10c50: 0840 lsrs r0, r0, #1
10c52: bd08 pop {r3, pc}
00010c54 <tohex16>:
10c54: 0b03 lsrs r3, r0, #12
10c56: 2b09 cmp r3, #9
10c58: d801 bhi.n 10c5e <tohex16+0xa>
10c5a: 3330 adds r3, #48 ; 0x30
10c5c: e000 b.n 10c60 <tohex16+0xc>
10c5e: 3357 adds r3, #87 ; 0x57
10c60: 700b strb r3, [r1, #0]
10c62: f3c0 2303 ubfx r3, r0, #8, #4
10c66: 2b09 cmp r3, #9
10c68: d801 bhi.n 10c6e <tohex16+0x1a>
10c6a: 3330 adds r3, #48 ; 0x30
10c6c: e000 b.n 10c70 <tohex16+0x1c>
10c6e: 3357 adds r3, #87 ; 0x57
10c70: 704b strb r3, [r1, #1]
10c72: f3c0 1303 ubfx r3, r0, #4, #4
10c76: 2b09 cmp r3, #9
10c78: d801 bhi.n 10c7e <tohex16+0x2a>
10c7a: 3330 adds r3, #48 ; 0x30
10c7c: e000 b.n 10c80 <tohex16+0x2c>
10c7e: 3357 adds r3, #87 ; 0x57
10c80: f000 000f and.w r0, r0, #15
10c84: 708b strb r3, [r1, #2]
10c86: 2809 cmp r0, #9
10c88: d801 bhi.n 10c8e <tohex16+0x3a>
10c8a: 3030 adds r0, #48 ; 0x30
10c8c: e000 b.n 10c90 <tohex16+0x3c>
10c8e: 3057 adds r0, #87 ; 0x57
10c90: 70c8 strb r0, [r1, #3]
10c92: 4770 bx lr
00010c94 <cbfs_get_header>:
10c94: b530 push {r4, r5, lr}
10c96: 4604 mov r4, r0
10c98: b087 sub sp, #28
10c9a: b938 cbnz r0, 10cac <cbfs_get_header+0x18>
10c9c: 4668 mov r0, sp
10c9e: f000 fa0b bl 110b8 <init_default_cbfs_media>
10ca2: b110 cbz r0, 10caa <cbfs_get_header+0x16>
10ca4: f04f 35ff mov.w r5, #4294967295 ; 0xffffffff
10ca8: e01d b.n 10ce6 <cbfs_get_header+0x52>
10caa: 466c mov r4, sp
10cac: 6863 ldr r3, [r4, #4]
10cae: 4620 mov r0, r4
10cb0: 4798 blx r3
10cb2: 2220 movs r2, #32
10cb4: 68e3 ldr r3, [r4, #12]
10cb6: f44f 1180 mov.w r1, #1048576 ; 0x100000
10cba: 4620 mov r0, r4
10cbc: 4798 blx r3
10cbe: 6963 ldr r3, [r4, #20]
10cc0: 4605 mov r5, r0
10cc2: 4620 mov r0, r4
10cc4: 4798 blx r3
10cc6: 1c6b adds r3, r5, #1
10cc8: d0ec beq.n 10ca4 <cbfs_get_header+0x10>
10cca: 786a ldrb r2, [r5, #1]
10ccc: 782b ldrb r3, [r5, #0]
10cce: ea43 2202 orr.w r2, r3, r2, lsl #8
10cd2: 78ab ldrb r3, [r5, #2]
10cd4: ea42 4203 orr.w r2, r2, r3, lsl #16
10cd8: 78eb ldrb r3, [r5, #3]
10cda: ea42 6203 orr.w r2, r2, r3, lsl #24
10cde: 4b03 ldr r3, [pc, #12] ; (10cec <cbfs_get_header+0x58>)
10ce0: ba12 rev r2, r2
10ce2: 429a cmp r2, r3
10ce4: d1de bne.n 10ca4 <cbfs_get_header+0x10>
10ce6: 4628 mov r0, r5
10ce8: b007 add sp, #28
10cea: bd30 pop {r4, r5, pc}
10cec: 4f524243 .word 0x4f524243
00010cf0 <cbfs_get_file>:
10cf0: e92d 46f0 stmdb sp!, {r4, r5, r6, r7, r9, sl, lr}
10cf4: 4689 mov r9, r1
10cf6: b08d sub sp, #52 ; 0x34
10cf8: 4604 mov r4, r0
10cfa: b928 cbnz r0, 10d08 <cbfs_get_file+0x18>
10cfc: a806 add r0, sp, #24
10cfe: f000 f9db bl 110b8 <init_default_cbfs_media>
10d02: b100 cbz r0, 10d06 <cbfs_get_file+0x16>
10d04: e078 b.n 10df8 <cbfs_get_file+0x108>
10d06: ac06 add r4, sp, #24
10d08: 4620 mov r0, r4
10d0a: f7ff ffc3 bl 10c94 <cbfs_get_header>
10d0e: 1c41 adds r1, r0, #1
10d10: d072 beq.n 10df8 <cbfs_get_file+0x108>
10d12: 7d45 ldrb r5, [r0, #21]
10d14: 7d02 ldrb r2, [r0, #20]
10d16: 7c46 ldrb r6, [r0, #17]
10d18: ea42 2505 orr.w r5, r2, r5, lsl #8
10d1c: 7d82 ldrb r2, [r0, #22]
10d1e: f890 a009 ldrb.w sl, [r0, #9]
10d22: 7ac3 ldrb r3, [r0, #11]
10d24: ea45 4502 orr.w r5, r5, r2, lsl #16
10d28: 7dc2 ldrb r2, [r0, #23]
10d2a: ea45 6502 orr.w r5, r5, r2, lsl #24
10d2e: 7c02 ldrb r2, [r0, #16]
10d30: ba2d rev r5, r5
10d32: ea42 2606 orr.w r6, r2, r6, lsl #8
10d36: 7c82 ldrb r2, [r0, #18]
10d38: ea46 4602 orr.w r6, r6, r2, lsl #16
10d3c: 7cc2 ldrb r2, [r0, #19]
10d3e: ea46 6602 orr.w r6, r6, r2, lsl #24
10d42: 7a02 ldrb r2, [r0, #8]
10d44: ba36 rev r6, r6
10d46: ea42 2a0a orr.w sl, r2, sl, lsl #8
10d4a: 7a82 ldrb r2, [r0, #10]
10d4c: 4620 mov r0, r4
10d4e: ea4a 4a02 orr.w sl, sl, r2, lsl #16
10d52: ea4a 6a03 orr.w sl, sl, r3, lsl #24
10d56: 6863 ldr r3, [r4, #4]
10d58: fa9a fa8a rev.w sl, sl
10d5c: 4798 blx r3
10d5e: e046 b.n 10dee <cbfs_get_file+0xfe>
10d60: 482d ldr r0, [pc, #180] ; (10e18 <cbfs_get_file+0x128>)
10d62: 4669 mov r1, sp
10d64: 2208 movs r2, #8
10d66: f000 f96f bl 11048 <memcmp>
10d6a: 4607 mov r7, r0
10d6c: b150 cbz r0, 10d84 <cbfs_get_file+0x94>
10d6e: 4628 mov r0, r5
10d70: 4631 mov r1, r6
10d72: f000 ea3e blx 111f0 <__aeabi_uidivmod>
10d76: b111 cbz r1, 10d7e <cbfs_get_file+0x8e>
10d78: 0073 lsls r3, r6, #1
10d7a: 1a59 subs r1, r3, r1
10d7c: e000 b.n 10d80 <cbfs_get_file+0x90>
10d7e: 4631 mov r1, r6
10d80: 186d adds r5, r5, r1
10d82: e034 b.n 10dee <cbfs_get_file+0xfe>
10d84: 9a05 ldr r2, [sp, #20]
10d86: f105 0118 add.w r1, r5, #24
10d8a: 68e3 ldr r3, [r4, #12]
10d8c: 4620 mov r0, r4
10d8e: ba12 rev r2, r2
10d90: 3a18 subs r2, #24
10d92: 4798 blx r3
10d94: 1c42 adds r2, r0, #1
10d96: 4601 mov r1, r0
10d98: d01c beq.n 10dd4 <cbfs_get_file+0xe4>
10d9a: 4638 mov r0, r7
10d9c: 5c0b ldrb r3, [r1, r0]
10d9e: f819 2000 ldrb.w r2, [r9, r0]
10da2: 4293 cmp r3, r2
10da4: d113 bne.n 10dce <cbfs_get_file+0xde>
10da6: 3001 adds r0, #1
10da8: 2b00 cmp r3, #0
10daa: d1f7 bne.n 10d9c <cbfs_get_file+0xac>
10dac: 9a05 ldr r2, [sp, #20]
10dae: 4620 mov r0, r4
10db0: 9b02 ldr r3, [sp, #8]
10db2: ba17 rev r7, r2
10db4: ba1e rev r6, r3
10db6: 6923 ldr r3, [r4, #16]
10db8: 4798 blx r3
10dba: 68e3 ldr r3, [r4, #12]
10dbc: 4629 mov r1, r5
10dbe: 4620 mov r0, r4
10dc0: 19ba adds r2, r7, r6
10dc2: 4798 blx r3
10dc4: 6963 ldr r3, [r4, #20]
10dc6: 4605 mov r5, r0
10dc8: 4620 mov r0, r4
10dca: 4798 blx r3
10dcc: e01f b.n 10e0e <cbfs_get_file+0x11e>
10dce: 6923 ldr r3, [r4, #16]
10dd0: 4620 mov r0, r4
10dd2: 4798 blx r3
10dd4: 9b02 ldr r3, [sp, #8]
10dd6: 4631 mov r1, r6
10dd8: ba1a rev r2, r3
10dda: 9b05 ldr r3, [sp, #20]
10ddc: ba1b rev r3, r3
10dde: 18d3 adds r3, r2, r3
10de0: 18ed adds r5, r5, r3
10de2: 4628 mov r0, r5
10de4: f000 ea04 blx 111f0 <__aeabi_uidivmod>
10de8: b109 cbz r1, 10dee <cbfs_get_file+0xfe>
10dea: 19ad adds r5, r5, r6
10dec: 1a6d subs r5, r5, r1
10dee: 4555 cmp r5, sl
10df0: d304 bcc.n 10dfc <cbfs_get_file+0x10c>
10df2: 6963 ldr r3, [r4, #20]
10df4: 4620 mov r0, r4
10df6: 4798 blx r3
10df8: 2500 movs r5, #0
10dfa: e008 b.n 10e0e <cbfs_get_file+0x11e>
10dfc: 2318 movs r3, #24
10dfe: 68a7 ldr r7, [r4, #8]
10e00: 4620 mov r0, r4
10e02: 4669 mov r1, sp
10e04: 462a mov r2, r5
10e06: 47b8 blx r7
10e08: 2818 cmp r0, #24
10e0a: d0a9 beq.n 10d60 <cbfs_get_file+0x70>
10e0c: e7f1 b.n 10df2 <cbfs_get_file+0x102>
10e0e: 4628 mov r0, r5
10e10: b00d add sp, #52 ; 0x34
10e12: e8bd 86f0 ldmia.w sp!, {r4, r5, r6, r7, r9, sl, pc}
10e16: bf00 nop
10e18: 0001127a .word 0x0001127a
00010e1c <cbfs_get_file_content>:
10e1c: b538 push {r3, r4, r5, lr}
10e1e: 461c mov r4, r3
10e20: 4615 mov r5, r2
10e22: f7ff ff65 bl 10cf0 <cbfs_get_file>
10e26: b10c cbz r4, 10e2c <cbfs_get_file_content+0x10>
10e28: 2300 movs r3, #0
10e2a: 6023 str r3, [r4, #0]
10e2c: b338 cbz r0, 10e7e <cbfs_get_file_content+0x62>
10e2e: 7b42 ldrb r2, [r0, #13]
10e30: 7b03 ldrb r3, [r0, #12]
10e32: ea43 2302 orr.w r3, r3, r2, lsl #8
10e36: 7b82 ldrb r2, [r0, #14]
10e38: ea43 4302 orr.w r3, r3, r2, lsl #16
10e3c: 7bc2 ldrb r2, [r0, #15]
10e3e: ea43 6302 orr.w r3, r3, r2, lsl #24
10e42: ba1b rev r3, r3
10e44: 42ab cmp r3, r5
10e46: d119 bne.n 10e7c <cbfs_get_file_content+0x60>
10e48: b15c cbz r4, 10e62 <cbfs_get_file_content+0x46>
10e4a: 7a42 ldrb r2, [r0, #9]
10e4c: 7a03 ldrb r3, [r0, #8]
10e4e: ea43 2302 orr.w r3, r3, r2, lsl #8
10e52: 7a82 ldrb r2, [r0, #10]
10e54: ea43 4302 orr.w r3, r3, r2, lsl #16
10e58: 7ac2 ldrb r2, [r0, #11]
10e5a: ea43 6302 orr.w r3, r3, r2, lsl #24
10e5e: ba1b rev r3, r3
10e60: 6023 str r3, [r4, #0]
10e62: 7d42 ldrb r2, [r0, #21]
10e64: 7d03 ldrb r3, [r0, #20]
10e66: ea43 2302 orr.w r3, r3, r2, lsl #8
10e6a: 7d82 ldrb r2, [r0, #22]
10e6c: ea43 4302 orr.w r3, r3, r2, lsl #16
10e70: 7dc2 ldrb r2, [r0, #23]
10e72: ea43 6302 orr.w r3, r3, r2, lsl #24
10e76: ba1b rev r3, r3
10e78: 18c0 adds r0, r0, r3
10e7a: bd38 pop {r3, r4, r5, pc}
10e7c: 2000 movs r0, #0
10e7e: bd38 pop {r3, r4, r5, pc}
00010e80 <cbfs_decompress>:
10e80: b538 push {r3, r4, r5, lr}
10e82: 461c mov r4, r3
10e84: b998 cbnz r0, 10eae <cbfs_decompress+0x2e>
10e86: 460b mov r3, r1
10e88: e004 b.n 10e94 <cbfs_decompress+0x14>
10e8a: f813 1c01 ldrb.w r1, [r3, #-1]
10e8e: 3c01 subs r4, #1
10e90: f802 1c01 strb.w r1, [r2, #-1]
10e94: 4610 mov r0, r2
10e96: 4619 mov r1, r3
10e98: b12c cbz r4, 10ea6 <cbfs_decompress+0x26>
10e9a: f003 0503 and.w r5, r3, #3
10e9e: 3201 adds r2, #1
10ea0: 3301 adds r3, #1
10ea2: 2d00 cmp r5, #0
10ea4: d1f1 bne.n 10e8a <cbfs_decompress+0xa>
10ea6: 4622 mov r2, r4
10ea8: f7ff ec22 blx 106f0 <memmove>
10eac: e000 b.n 10eb0 <cbfs_decompress+0x30>
10eae: 2400 movs r4, #0
10eb0: 4620 mov r0, r4
10eb2: bd38 pop {r3, r4, r5, pc}
00010eb4 <cbfs_load_optionrom>:
10eb4: b5f0 push {r4, r5, r6, r7, lr}
10eb6: b087 sub sp, #28
10eb8: 4605 mov r5, r0
10eba: 460f mov r7, r1
10ebc: 4616 mov r6, r2
10ebe: 491c ldr r1, [pc, #112] ; (10f30 <cbfs_load_optionrom+0x7c>)
10ec0: 2211 movs r2, #17
10ec2: a801 add r0, sp, #4
10ec4: 461c mov r4, r3
10ec6: f7ff ea3e blx 10344 <memcpy>
10eca: 4638 mov r0, r7
10ecc: f10d 0107 add.w r1, sp, #7
10ed0: f7ff fec0 bl 10c54 <tohex16>
10ed4: 4630 mov r0, r6
10ed6: a903 add r1, sp, #12
10ed8: f7ff febc bl 10c54 <tohex16>
10edc: a901 add r1, sp, #4
10ede: 4628 mov r0, r5
10ee0: 2230 movs r2, #48 ; 0x30
10ee2: 2300 movs r3, #0
10ee4: f7ff ff9a bl 10e1c <cbfs_get_file_content>
10ee8: 4601 mov r1, r0
10eea: b908 cbnz r0, 10ef0 <cbfs_load_optionrom+0x3c>
10eec: 2000 movs r0, #0
10eee: e01d b.n 10f2c <cbfs_load_optionrom+0x78>
10ef0: b1e4 cbz r4, 10f2c <cbfs_load_optionrom+0x78>
10ef2: 7803 ldrb r3, [r0, #0]
10ef4: 7840 ldrb r0, [r0, #1]
10ef6: 794a ldrb r2, [r1, #5]
10ef8: ea43 2000 orr.w r0, r3, r0, lsl #8
10efc: 788b ldrb r3, [r1, #2]
10efe: ea40 4003 orr.w r0, r0, r3, lsl #16
10f02: 78cb ldrb r3, [r1, #3]
10f04: ea40 6003 orr.w r0, r0, r3, lsl #24
10f08: 790b ldrb r3, [r1, #4]
10f0a: ba00 rev r0, r0
10f0c: ea43 2302 orr.w r3, r3, r2, lsl #8
10f10: 798a ldrb r2, [r1, #6]
10f12: ea43 4302 orr.w r3, r3, r2, lsl #16
10f16: 79ca ldrb r2, [r1, #7]
10f18: ea43 6302 orr.w r3, r3, r2, lsl #24
10f1c: 4622 mov r2, r4
10f1e: ba1b rev r3, r3
10f20: f7ff ffae bl 10e80 <cbfs_decompress>
10f24: 2800 cmp r0, #0
10f26: d0e1 beq.n 10eec <cbfs_load_optionrom+0x38>
10f28: 4620 mov r0, r4
10f2a: e7ff b.n 10f2c <cbfs_load_optionrom+0x78>
10f2c: b007 add sp, #28
10f2e: bdf0 pop {r4, r5, r6, r7, pc}
10f30: 00011283 .word 0x00011283
00010f34 <cbfs_load_stage>:
10f34: b570 push {r4, r5, r6, lr}
10f36: 2210 movs r2, #16
10f38: 2300 movs r3, #0
10f3a: f7ff ff6f bl 10e1c <cbfs_get_file_content>
10f3e: 4604 mov r4, r0
10f40: b910 cbnz r0, 10f48 <cbfs_load_stage+0x14>
10f42: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff
10f46: bd70 pop {r4, r5, r6, pc}
10f48: 7841 ldrb r1, [r0, #1]
10f4a: 7803 ldrb r3, [r0, #0]
10f4c: 7b62 ldrb r2, [r4, #13]
10f4e: ea43 2101 orr.w r1, r3, r1, lsl #8
10f52: 7883 ldrb r3, [r0, #2]
10f54: 7d65 ldrb r5, [r4, #21]
10f56: 78c0 ldrb r0, [r0, #3]
10f58: ea41 4103 orr.w r1, r1, r3, lsl #16
10f5c: 7b23 ldrb r3, [r4, #12]
10f5e: 7be6 ldrb r6, [r4, #15]
10f60: ea43 2202 orr.w r2, r3, r2, lsl #8
10f64: 7ba3 ldrb r3, [r4, #14]
10f66: ea41 6000 orr.w r0, r1, r0, lsl #24
10f6a: f104 011c add.w r1, r4, #28
10f6e: ea42 4203 orr.w r2, r2, r3, lsl #16
10f72: 7d23 ldrb r3, [r4, #20]
10f74: ea42 6206 orr.w r2, r2, r6, lsl #24
10f78: ea43 2305 orr.w r3, r3, r5, lsl #8
10f7c: 7da5 ldrb r5, [r4, #22]
10f7e: ea43 4305 orr.w r3, r3, r5, lsl #16
10f82: 7de5 ldrb r5, [r4, #23]
10f84: ea43 6305 orr.w r3, r3, r5, lsl #24
10f88: f7ff ff7a bl 10e80 <cbfs_decompress>
10f8c: 4603 mov r3, r0
10f8e: 2800 cmp r0, #0
10f90: d0d7 beq.n 10f42 <cbfs_load_stage+0xe>
10f92: 7b60 ldrb r0, [r4, #13]
10f94: 7b22 ldrb r2, [r4, #12]
10f96: 7e61 ldrb r1, [r4, #25]
10f98: ea42 2000 orr.w r0, r2, r0, lsl #8
10f9c: 7ba2 ldrb r2, [r4, #14]
10f9e: ea40 4002 orr.w r0, r0, r2, lsl #16
10fa2: 7be2 ldrb r2, [r4, #15]
10fa4: ea40 6002 orr.w r0, r0, r2, lsl #24
10fa8: 7e22 ldrb r2, [r4, #24]
10faa: 1818 adds r0, r3, r0
10fac: ea42 2201 orr.w r2, r2, r1, lsl #8
10fb0: 7ea1 ldrb r1, [r4, #26]
10fb2: ea42 4201 orr.w r2, r2, r1, lsl #16
10fb6: 7ee1 ldrb r1, [r4, #27]
10fb8: ea42 6201 orr.w r2, r2, r1, lsl #24
10fbc: 2100 movs r1, #0
10fbe: 1ad2 subs r2, r2, r3
10fc0: f7ff ed7e blx 10ac0 <memset>
10fc4: 7960 ldrb r0, [r4, #5]
10fc6: 7923 ldrb r3, [r4, #4]
10fc8: ea43 2000 orr.w r0, r3, r0, lsl #8
10fcc: 79a3 ldrb r3, [r4, #6]
10fce: ea40 4003 orr.w r0, r0, r3, lsl #16
10fd2: 79e3 ldrb r3, [r4, #7]
10fd4: ea40 6003 orr.w r0, r0, r3, lsl #24
10fd8: bd70 pop {r4, r5, r6, pc}
00010fda <cbfs_simple_buffer_map>:
10fda: b5f8 push {r3, r4, r5, r6, r7, lr}
10fdc: 4604 mov r4, r0
10fde: 6805 ldr r5, [r0, #0]
10fe0: 461e mov r6, r3
10fe2: 6840 ldr r0, [r0, #4]
10fe4: 68a7 ldr r7, [r4, #8]
10fe6: eb03 0c00 add.w ip, r3, r0
10fea: 45bc cmp ip, r7
10fec: d302 bcc.n 10ff4 <cbfs_simple_buffer_map+0x1a>
10fee: f04f 35ff mov.w r5, #4294967295 ; 0xffffffff
10ff2: e00a b.n 1100a <cbfs_simple_buffer_map+0x30>
10ff4: 182d adds r5, r5, r0
10ff6: 688f ldr r7, [r1, #8]
10ff8: 4608 mov r0, r1
10ffa: 4629 mov r1, r5
10ffc: 47b8 blx r7
10ffe: 42b0 cmp r0, r6
11000: d1f5 bne.n 10fee <cbfs_simple_buffer_map+0x14>
11002: 6863 ldr r3, [r4, #4]
11004: 60e0 str r0, [r4, #12]
11006: 181b adds r3, r3, r0
11008: 6063 str r3, [r4, #4]
1100a: 4628 mov r0, r5
1100c: bdf8 pop {r3, r4, r5, r6, r7, pc}
0001100e <cbfs_simple_buffer_unmap>:
1100e: 6842 ldr r2, [r0, #4]
11010: 68c3 ldr r3, [r0, #12]
11012: 1ad3 subs r3, r2, r3
11014: 6802 ldr r2, [r0, #0]
11016: 18d2 adds r2, r2, r3
11018: 4291 cmp r1, r2
1101a: d102 bne.n 11022 <cbfs_simple_buffer_unmap+0x14>
1101c: 6043 str r3, [r0, #4]
1101e: 2300 movs r3, #0
11020: 60c3 str r3, [r0, #12]
11022: 2000 movs r0, #0
11024: 4770 bx lr
00011026 <run_address>:
11026: b508 push {r3, lr}
11028: 4780 blx r0
1102a: bd08 pop {r3, pc}
0001102c <memchr>:
1102c: b510 push {r4, lr}
1102e: 4603 mov r3, r0
11030: 1882 adds r2, r0, r2
11032: b2c9 uxtb r1, r1
11034: e003 b.n 1103e <memchr+0x12>
11036: 7804 ldrb r4, [r0, #0]
11038: 3301 adds r3, #1
1103a: 428c cmp r4, r1
1103c: d003 beq.n 11046 <memchr+0x1a>
1103e: 4293 cmp r3, r2
11040: 4618 mov r0, r3
11042: d1f8 bne.n 11036 <memchr+0xa>
11044: 2000 movs r0, #0
11046: bd10 pop {r4, pc}
00011048 <memcmp>:
11048: 2300 movs r3, #0
1104a: b530 push {r4, r5, lr}
1104c: 4604 mov r4, r0
1104e: 4618 mov r0, r3
11050: e003 b.n 1105a <memcmp+0x12>
11052: 5ce5 ldrb r5, [r4, r3]
11054: 5cc8 ldrb r0, [r1, r3]
11056: 3301 adds r3, #1
11058: 1a28 subs r0, r5, r0
1105a: 4293 cmp r3, r2
1105c: d001 beq.n 11062 <memcmp+0x1a>
1105e: 2800 cmp r0, #0
11060: d0f7 beq.n 11052 <memcmp+0xa>
11062: bd30 pop {r4, r5, pc}
00011064 <emu_rom_open>:
11064: 2000 movs r0, #0
11066: 4770 bx lr
00011068 <emu_rom_map>:
11068: f501 3080 add.w r0, r1, #65536 ; 0x10000
1106c: 4770 bx lr
0001106e <emu_rom_unmap>:
1106e: 2000 movs r0, #0
11070: 4770 bx lr
00011072 <emu_rom_close>:
11072: 2000 movs r0, #0
11074: 4770 bx lr
00011076 <emu_rom_read>:
11076: b510 push {r4, lr}
11078: 4608 mov r0, r1
1107a: 461c mov r4, r3
1107c: f502 3180 add.w r1, r2, #65536 ; 0x10000
11080: 461a mov r2, r3
11082: f7ff e960 blx 10344 <memcpy>
11086: 4620 mov r0, r4
11088: bd10 pop {r4, pc}
0001108a <init_emu_rom_cbfs_media>:
1108a: 4b06 ldr r3, [pc, #24] ; (110a4 <init_emu_rom_cbfs_media+0x1a>)
1108c: 6043 str r3, [r0, #4]
1108e: 4b06 ldr r3, [pc, #24] ; (110a8 <init_emu_rom_cbfs_media+0x1e>)
11090: 6143 str r3, [r0, #20]
11092: 4b06 ldr r3, [pc, #24] ; (110ac <init_emu_rom_cbfs_media+0x22>)
11094: 60c3 str r3, [r0, #12]
11096: 4b06 ldr r3, [pc, #24] ; (110b0 <init_emu_rom_cbfs_media+0x26>)
11098: 6103 str r3, [r0, #16]
1109a: 4b06 ldr r3, [pc, #24] ; (110b4 <init_emu_rom_cbfs_media+0x2a>)
1109c: 6083 str r3, [r0, #8]
1109e: 2000 movs r0, #0
110a0: 4770 bx lr
110a2: bf00 nop
110a4: 00011065 .word 0x00011065
110a8: 00011073 .word 0x00011073
110ac: 00011069 .word 0x00011069
110b0: 0001106f .word 0x0001106f
110b4: 00011077 .word 0x00011077
000110b8 <init_default_cbfs_media>:
110b8: 4b05 ldr r3, [pc, #20] ; (110d0 <init_default_cbfs_media+0x18>)
110ba: 6043 str r3, [r0, #4]
110bc: 4b05 ldr r3, [pc, #20] ; (110d4 <init_default_cbfs_media+0x1c>)
110be: 6143 str r3, [r0, #20]
110c0: 4b05 ldr r3, [pc, #20] ; (110d8 <init_default_cbfs_media+0x20>)
110c2: 60c3 str r3, [r0, #12]
110c4: 4b05 ldr r3, [pc, #20] ; (110dc <init_default_cbfs_media+0x24>)
110c6: 6103 str r3, [r0, #16]
110c8: 4b05 ldr r3, [pc, #20] ; (110e0 <init_default_cbfs_media+0x28>)
110ca: 6083 str r3, [r0, #8]
110cc: 2000 movs r0, #0
110ce: 4770 bx lr
110d0: 00011065 .word 0x00011065
110d4: 00011073 .word 0x00011073
110d8: 00011069 .word 0x00011069
110dc: 0001106f .word 0x0001106f
110e0: 00011077 .word 0x00011077
000110e4 <uart_platform_base>:
110e4: 4800 ldr r0, [pc, #0] ; (110e8 <uart_platform_base+0x4>)
110e6: 4770 bx lr
110e8: 10009000 .word 0x10009000
000110ec <udelay>:
110ec: 4770 bx lr
000110ee <init_timer>:
110ee: 2000 movs r0, #0
110f0: 4770 bx lr
110f2: ffff 2001 vaddl.u<illegal width 64> q9, d15, d1
000110f4 <__aeabi_uidiv>:
110f4: e2512001 subs r2, r1, #1
110f8: 012fff1e bxeq lr
110fc: 3a000036 bcc 111dc <__aeabi_uidiv+0xe8>
11100: e1500001 cmp r0, r1
11104: 9a000022 bls 11194 <__aeabi_uidiv+0xa0>
11108: e1110002 tst r1, r2
1110c: 0a000023 beq 111a0 <__aeabi_uidiv+0xac>
11110: e311020e tst r1, #-536870912 ; 0xe0000000
11114: 01a01181 lsleq r1, r1, #3
11118: 03a03008 moveq r3, #8
1111c: 13a03001 movne r3, #1
11120: e3510201 cmp r1, #268435456 ; 0x10000000
11124: 31510000 cmpcc r1, r0
11128: 31a01201 lslcc r1, r1, #4
1112c: 31a03203 lslcc r3, r3, #4
11130: 3afffffa bcc 11120 <__aeabi_uidiv+0x2c>
11134: e3510102 cmp r1, #-2147483648 ; 0x80000000
11138: 31510000 cmpcc r1, r0
1113c: 31a01081 lslcc r1, r1, #1
11140: 31a03083 lslcc r3, r3, #1
11144: 3afffffa bcc 11134 <__aeabi_uidiv+0x40>
11148: e3a02000 mov r2, #0
1114c: e1500001 cmp r0, r1
11150: 20400001 subcs r0, r0, r1
11154: 21822003 orrcs r2, r2, r3
11158: e15000a1 cmp r0, r1, lsr #1
1115c: 204000a1 subcs r0, r0, r1, lsr #1
11160: 218220a3 orrcs r2, r2, r3, lsr #1
11164: e1500121 cmp r0, r1, lsr #2
11168: 20400121 subcs r0, r0, r1, lsr #2
1116c: 21822123 orrcs r2, r2, r3, lsr #2
11170: e15001a1 cmp r0, r1, lsr #3
11174: 204001a1 subcs r0, r0, r1, lsr #3
11178: 218221a3 orrcs r2, r2, r3, lsr #3
1117c: e3500000 cmp r0, #0
11180: 11b03223 lsrsne r3, r3, #4
11184: 11a01221 lsrne r1, r1, #4
11188: 1affffef bne 1114c <__aeabi_uidiv+0x58>
1118c: e1a00002 mov r0, r2
11190: e12fff1e bx lr
11194: 03a00001 moveq r0, #1
11198: 13a00000 movne r0, #0
1119c: e12fff1e bx lr
111a0: e3510801 cmp r1, #65536 ; 0x10000
111a4: 21a01821 lsrcs r1, r1, #16
111a8: 23a02010 movcs r2, #16
111ac: 33a02000 movcc r2, #0
111b0: e3510c01 cmp r1, #256 ; 0x100
111b4: 21a01421 lsrcs r1, r1, #8
111b8: 22822008 addcs r2, r2, #8
111bc: e3510010 cmp r1, #16
111c0: 21a01221 lsrcs r1, r1, #4
111c4: 22822004 addcs r2, r2, #4
111c8: e3510004 cmp r1, #4
111cc: 82822003 addhi r2, r2, #3
111d0: 908220a1 addls r2, r2, r1, lsr #1
111d4: e1a00230 lsr r0, r0, r2
111d8: e12fff1e bx lr
111dc: e12fff1f bx pc
111e0: e1a00000 nop ; (mov r0, r0)
111e4: e3500000 cmp r0, #0
111e8: 13e00000 mvnne r0, #0
111ec: ea00001b b 11260 <____aeabi_idiv0_from_arm>
000111f0 <__aeabi_uidivmod>:
111f0: e3510000 cmp r1, #0
111f4: 0afffff8 beq 111dc <__aeabi_uidiv+0xe8>
111f8: e92d4003 push {r0, r1, lr}
111fc: ebffffbc bl 110f4 <__aeabi_uidiv>
11200: e8bd4006 pop {r1, r2, lr}
11204: e0030092 mul r3, r2, r0
11208: e0411003 sub r1, r1, r3
1120c: e12fff1e bx lr
00011210 <__aeabi_idiv0>:
11210: 4770 bx lr
11212: 46c0 nop ; (mov r8, r8)
00011214 <main>:
11214: b508 push {r3, lr}
11216: ee11 3f10 mrc 15, 0, r3, cr1, cr0, {0}
1121a: f423 53c0 bic.w r3, r3, #6144 ; 0x1800
1121e: f023 0305 bic.w r3, r3, #5
11222: ee01 3f10 mcr 15, 0, r3, cr1, cr0, {0}
11226: f3bf 8f6f isb sy
1122a: f7ff f84e bl 102ca <armv7_invalidate_caches>
1122e: ee11 3f10 mrc 15, 0, r3, cr1, cr0, {0}
11232: f443 53c0 orr.w r3, r3, #6144 ; 0x1800
11236: ee01 3f10 mcr 15, 0, r3, cr1, cr0, {0}
1123a: f3bf 8f6f isb sy
1123e: 2000 movs r0, #0
11240: 4903 ldr r1, [pc, #12] ; (11250 <main+0x3c>)
11242: f7ff fe77 bl 10f34 <cbfs_load_stage>
11246: b108 cbz r0, 1124c <main+0x38>
11248: f7fe ff76 bl 10138 <stage_exit>
1124c: e7fe b.n 1124c <main+0x38>
1124e: bf00 nop
11250: 00011268 .word 0x00011268
00011254 <stage_entry>:
11254: b508 push {r3, lr}
11256: f7ff ffdd bl 11214 <main>
1125a: ffff ffff ; <UNDEFINED> instruction: 0xffffffff
1125e: ffff f004 vaddl.u<illegal width 64> <illegal reg q15.5>, d15, d4
00011260 <____aeabi_idiv0_from_arm>:
11260: e51ff004 ldr pc, [pc, #-4] ; 11264 <____aeabi_idiv0_from_arm+0x4>
11264: 00011211 .word 0x00011211
11268: 6c6c6166 .word 0x6c6c6166
1126c: 6b636162 .word 0x6b636162
11270: 6d6f722f .word 0x6d6f722f
11274: 67617473 .word 0x67617473
11278: 0065 .short 0x0065
1127a: 414c .short 0x414c
1127c: 49484352 .word 0x49484352
11280: 70004556 .word 0x70004556
11284: 58586963 .word 0x58586963
11288: 582c5858 .word 0x582c5858
1128c: 2e585858 .word 0x2e585858
11290: 006d6f72 .word 0x006d6f72
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment