mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-05-24 08:24:11 +02:00
2403 lines
97 KiB
Plaintext
2403 lines
97 KiB
Plaintext
|
|
C:/Users/assem.KEVINTHOMAS/OneDrive/Documents/Embedded-Hacking/drivers/0x01_uart/build/0x01_uart.elf: file format elf32-littlearm
|
|
|
|
Sections:
|
|
Idx Name Size VMA LMA File off Algn
|
|
0 .text 000015a4 10000000 10000000 00001000 2**3
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
1 .rodata 00000144 100015a4 100015a4 000025a4 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
2 .ARM.exidx 00000008 100016e8 100016e8 000026e8 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
3 .binary_info 00000020 100016f0 100016f0 000026f0 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
4 .ram_vector_table 00000110 20000000 20000000 00004000 2**2
|
|
ALLOC
|
|
5 .uninitialized_data 00000000 20000110 20000110 00003860 2**0
|
|
CONTENTS
|
|
6 .data 0000013c 20000110 10001710 00003110 2**3
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
7 .tdata 00000000 2000024c 2000024c 00003860 2**0
|
|
CONTENTS, ALLOC, LOAD, DATA, THREAD_LOCAL
|
|
8 .tbss 00000000 2000024c 2000024c 00000000 2**0
|
|
ALLOC, THREAD_LOCAL
|
|
9 .bss 00000218 20000250 1000184c 00004250 2**3
|
|
ALLOC
|
|
10 .heap 00000800 20000468 1000184c 00004468 2**2
|
|
ALLOC, READONLY
|
|
11 .scratch_x 00000000 20080000 20080000 00003860 2**0
|
|
CONTENTS
|
|
12 .scratch_y 00000000 20081000 20081000 00003860 2**0
|
|
CONTENTS
|
|
13 .stack_dummy 00000800 20081000 20081000 00004000 2**5
|
|
ALLOC, READONLY
|
|
14 .flash_end 00000014 1000184c 1000184c 0000384c 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
15 .ARM.attributes 00000034 00000000 00000000 00003860 2**0
|
|
CONTENTS, READONLY
|
|
16 .comment 00000045 00000000 00000000 00003894 2**0
|
|
CONTENTS, READONLY
|
|
17 .debug_info 0001f3d3 00000000 00000000 000038d9 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
18 .debug_abbrev 0000539d 00000000 00000000 00022cac 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
19 .debug_loclists 0000f904 00000000 00000000 00028049 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
20 .debug_aranges 00000ab8 00000000 00000000 00037950 2**3
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
21 .debug_rnglists 00002de9 00000000 00000000 00038408 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
22 .debug_line 00015490 00000000 00000000 0003b1f1 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
23 .debug_str 00005507 00000000 00000000 00050681 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
24 .debug_frame 00001de0 00000000 00000000 00055b88 2**2
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
25 .debug_line_str 0000018f 00000000 00000000 00057968 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
|
|
C:/Users/assem.KEVINTHOMAS/OneDrive/Documents/Embedded-Hacking/drivers/0x01_uart/build/0x01_uart.elf: file format elf32-littlearm
|
|
|
|
|
|
Disassembly of section .text:
|
|
|
|
10000000 <__VECTOR_TABLE>:
|
|
10000000: 20082000 .word 0x20082000
|
|
10000004: 1000015d .word 0x1000015d
|
|
10000008: 1000011b .word 0x1000011b
|
|
1000000c: 1000011d .word 0x1000011d
|
|
10000010: 10000111 .word 0x10000111
|
|
10000014: 10000111 .word 0x10000111
|
|
10000018: 10000111 .word 0x10000111
|
|
1000001c: 10000111 .word 0x10000111
|
|
10000020: 10000119 .word 0x10000119
|
|
10000024: 10000119 .word 0x10000119
|
|
10000028: 10000119 .word 0x10000119
|
|
1000002c: 1000011f .word 0x1000011f
|
|
10000030: 10000111 .word 0x10000111
|
|
10000034: 10000119 .word 0x10000119
|
|
10000038: 10000121 .word 0x10000121
|
|
1000003c: 10000123 .word 0x10000123
|
|
10000040: 10000111 .word 0x10000111
|
|
10000044: 10000111 .word 0x10000111
|
|
10000048: 10000111 .word 0x10000111
|
|
1000004c: 10000111 .word 0x10000111
|
|
10000050: 10000111 .word 0x10000111
|
|
10000054: 10000111 .word 0x10000111
|
|
10000058: 10000111 .word 0x10000111
|
|
1000005c: 10000111 .word 0x10000111
|
|
10000060: 10000111 .word 0x10000111
|
|
10000064: 10000111 .word 0x10000111
|
|
10000068: 10000111 .word 0x10000111
|
|
1000006c: 10000111 .word 0x10000111
|
|
10000070: 10000111 .word 0x10000111
|
|
10000074: 10000111 .word 0x10000111
|
|
10000078: 10000111 .word 0x10000111
|
|
1000007c: 10000111 .word 0x10000111
|
|
10000080: 10000111 .word 0x10000111
|
|
10000084: 10000111 .word 0x10000111
|
|
10000088: 10000111 .word 0x10000111
|
|
1000008c: 10000111 .word 0x10000111
|
|
10000090: 10000111 .word 0x10000111
|
|
10000094: 10000111 .word 0x10000111
|
|
10000098: 10000111 .word 0x10000111
|
|
1000009c: 10000111 .word 0x10000111
|
|
100000a0: 10000111 .word 0x10000111
|
|
100000a4: 10000111 .word 0x10000111
|
|
100000a8: 10000111 .word 0x10000111
|
|
100000ac: 10000111 .word 0x10000111
|
|
100000b0: 10000111 .word 0x10000111
|
|
100000b4: 10000111 .word 0x10000111
|
|
100000b8: 10000111 .word 0x10000111
|
|
100000bc: 10000111 .word 0x10000111
|
|
100000c0: 10000111 .word 0x10000111
|
|
100000c4: 10000111 .word 0x10000111
|
|
100000c8: 10000111 .word 0x10000111
|
|
100000cc: 10000111 .word 0x10000111
|
|
100000d0: 10000111 .word 0x10000111
|
|
100000d4: 10000111 .word 0x10000111
|
|
100000d8: 10000111 .word 0x10000111
|
|
100000dc: 10000111 .word 0x10000111
|
|
100000e0: 10000111 .word 0x10000111
|
|
100000e4: 10000111 .word 0x10000111
|
|
100000e8: 10000111 .word 0x10000111
|
|
100000ec: 10000111 .word 0x10000111
|
|
100000f0: 10000111 .word 0x10000111
|
|
100000f4: 10000111 .word 0x10000111
|
|
100000f8: 10000111 .word 0x10000111
|
|
100000fc: 10000111 .word 0x10000111
|
|
10000100: 10000111 .word 0x10000111
|
|
10000104: 10000111 .word 0x10000111
|
|
10000108: 10000111 .word 0x10000111
|
|
1000010c: 10000111 .word 0x10000111
|
|
|
|
10000110 <__unhandled_user_irq>:
|
|
10000110: f3ef 8005 mrs r0, IPSR
|
|
10000114: 3810 subs r0, #16
|
|
|
|
10000116 <unhandled_user_irq_num_in_r0>:
|
|
10000116: be00 bkpt 0x0000
|
|
|
|
10000118 <isr_invalid>:
|
|
10000118: be00 bkpt 0x0000
|
|
|
|
1000011a <isr_nmi>:
|
|
1000011a: be00 bkpt 0x0000
|
|
|
|
1000011c <isr_hardfault>:
|
|
1000011c: be00 bkpt 0x0000
|
|
|
|
1000011e <isr_svcall>:
|
|
1000011e: be00 bkpt 0x0000
|
|
|
|
10000120 <isr_pendsv>:
|
|
10000120: be00 bkpt 0x0000
|
|
|
|
10000122 <isr_systick>:
|
|
10000122: be00 bkpt 0x0000
|
|
|
|
10000124 <__default_isrs_end>:
|
|
10000124: 7188ebf2 .word 0x7188ebf2
|
|
10000128: 100016f0 .word 0x100016f0
|
|
1000012c: 10001710 .word 0x10001710
|
|
10000130: 100001a0 .word 0x100001a0
|
|
10000134: e71aa390 .word 0xe71aa390
|
|
|
|
10000138 <__binary_info_header_end>:
|
|
10000138: ffffded3 .word 0xffffded3
|
|
1000013c: 10210142 .word 0x10210142
|
|
10000140: 000001ff .word 0x000001ff
|
|
10000144: 00001714 .word 0x00001714
|
|
10000148: ab123579 .word 0xab123579
|
|
|
|
1000014c <_entry_point>:
|
|
1000014c: f04f 0000 mov.w r0, #0
|
|
|
|
10000150 <_enter_vtable_in_r0>:
|
|
10000150: 491e ldr r1, [pc, #120] @ (100001cc <data_cpy_table+0x2c>)
|
|
10000152: 6008 str r0, [r1, #0]
|
|
10000154: c806 ldmia r0!, {r1, r2}
|
|
10000156: f381 8808 msr MSP, r1
|
|
1000015a: 4710 bx r2
|
|
|
|
1000015c <_reset_handler>:
|
|
1000015c: f04f 4050 mov.w r0, #3489660928 @ 0xd0000000
|
|
10000160: 6800 ldr r0, [r0, #0]
|
|
10000162: b110 cbz r0, 1000016a <hold_non_core0_in_bootrom+0x6>
|
|
|
|
10000164 <hold_non_core0_in_bootrom>:
|
|
10000164: f04f 0000 mov.w r0, #0
|
|
10000168: e7f2 b.n 10000150 <_enter_vtable_in_r0>
|
|
1000016a: a40d add r4, pc, #52 @ (adr r4, 100001a0 <data_cpy_table>)
|
|
1000016c: cc0e ldmia r4!, {r1, r2, r3}
|
|
1000016e: 2900 cmp r1, #0
|
|
10000170: d002 beq.n 10000178 <hold_non_core0_in_bootrom+0x14>
|
|
10000172: f000 f812 bl 1000019a <data_cpy>
|
|
10000176: e7f9 b.n 1000016c <hold_non_core0_in_bootrom+0x8>
|
|
10000178: 4915 ldr r1, [pc, #84] @ (100001d0 <data_cpy_table+0x30>)
|
|
1000017a: 4a16 ldr r2, [pc, #88] @ (100001d4 <data_cpy_table+0x34>)
|
|
1000017c: 2000 movs r0, #0
|
|
1000017e: e000 b.n 10000182 <bss_fill_test>
|
|
|
|
10000180 <bss_fill_loop>:
|
|
10000180: c101 stmia r1!, {r0}
|
|
|
|
10000182 <bss_fill_test>:
|
|
10000182: 4291 cmp r1, r2
|
|
10000184: d1fc bne.n 10000180 <bss_fill_loop>
|
|
|
|
10000186 <platform_entry>:
|
|
10000186: 4914 ldr r1, [pc, #80] @ (100001d8 <data_cpy_table+0x38>)
|
|
10000188: 4788 blx r1
|
|
1000018a: 4914 ldr r1, [pc, #80] @ (100001dc <data_cpy_table+0x3c>)
|
|
1000018c: 4788 blx r1
|
|
1000018e: 4914 ldr r1, [pc, #80] @ (100001e0 <data_cpy_table+0x40>)
|
|
10000190: 4788 blx r1
|
|
10000192: be00 bkpt 0x0000
|
|
10000194: e7fd b.n 10000192 <platform_entry+0xc>
|
|
|
|
10000196 <data_cpy_loop>:
|
|
10000196: c901 ldmia r1!, {r0}
|
|
10000198: c201 stmia r2!, {r0}
|
|
|
|
1000019a <data_cpy>:
|
|
1000019a: 429a cmp r2, r3
|
|
1000019c: d3fb bcc.n 10000196 <data_cpy_loop>
|
|
1000019e: 4770 bx lr
|
|
|
|
100001a0 <data_cpy_table>:
|
|
100001a0: 10001710 .word 0x10001710
|
|
100001a4: 20000110 .word 0x20000110
|
|
100001a8: 2000024c .word 0x2000024c
|
|
100001ac: 1000184c .word 0x1000184c
|
|
100001b0: 20080000 .word 0x20080000
|
|
100001b4: 20080000 .word 0x20080000
|
|
100001b8: 1000184c .word 0x1000184c
|
|
100001bc: 20081000 .word 0x20081000
|
|
100001c0: 20081000 .word 0x20081000
|
|
100001c4: 00000000 .word 0x00000000
|
|
100001c8: 4770 bx lr
|
|
100001ca: 0000 .short 0x0000
|
|
100001cc: e000ed08 .word 0xe000ed08
|
|
100001d0: 2000024c .word 0x2000024c
|
|
100001d4: 20000468 .word 0x20000468
|
|
100001d8: 1000117d .word 0x1000117d
|
|
100001dc: 10000235 .word 0x10000235
|
|
100001e0: 10001175 .word 0x10001175
|
|
|
|
100001e4 <_init>:
|
|
100001e4: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
100001e6: bf00 nop
|
|
|
|
100001e8 <register_tm_clones>:
|
|
100001e8: 4b06 ldr r3, [pc, #24] @ (10000204 <register_tm_clones+0x1c>)
|
|
100001ea: 4907 ldr r1, [pc, #28] @ (10000208 <register_tm_clones+0x20>)
|
|
100001ec: 1ac9 subs r1, r1, r3
|
|
100001ee: 1089 asrs r1, r1, #2
|
|
100001f0: bf48 it mi
|
|
100001f2: 3101 addmi r1, #1
|
|
100001f4: 1049 asrs r1, r1, #1
|
|
100001f6: d003 beq.n 10000200 <register_tm_clones+0x18>
|
|
100001f8: 4b04 ldr r3, [pc, #16] @ (1000020c <register_tm_clones+0x24>)
|
|
100001fa: b10b cbz r3, 10000200 <register_tm_clones+0x18>
|
|
100001fc: 4801 ldr r0, [pc, #4] @ (10000204 <register_tm_clones+0x1c>)
|
|
100001fe: 4718 bx r3
|
|
10000200: 4770 bx lr
|
|
10000202: bf00 nop
|
|
10000204: 2000024c .word 0x2000024c
|
|
10000208: 2000024c .word 0x2000024c
|
|
1000020c: 00000000 .word 0x00000000
|
|
|
|
10000210 <frame_dummy>:
|
|
10000210: b508 push {r3, lr}
|
|
10000212: 4b05 ldr r3, [pc, #20] @ (10000228 <frame_dummy+0x18>)
|
|
10000214: b11b cbz r3, 1000021e <frame_dummy+0xe>
|
|
10000216: 4905 ldr r1, [pc, #20] @ (1000022c <frame_dummy+0x1c>)
|
|
10000218: 4805 ldr r0, [pc, #20] @ (10000230 <frame_dummy+0x20>)
|
|
1000021a: f3af 8000 nop.w
|
|
1000021e: e8bd 4008 ldmia.w sp!, {r3, lr}
|
|
10000222: f7ff bfe1 b.w 100001e8 <register_tm_clones>
|
|
10000226: bf00 nop
|
|
10000228: 00000000 .word 0x00000000
|
|
1000022c: 20000428 .word 0x20000428
|
|
10000230: 100015a4 .word 0x100015a4
|
|
|
|
10000234 <main>:
|
|
10000234: f44f 32e1 mov.w r2, #115200 @ 0x1c200
|
|
10000238: 2101 movs r1, #1
|
|
1000023a: 2000 movs r0, #0
|
|
1000023c: b508 push {r3, lr}
|
|
1000023e: f000 f815 bl 1000026c <uart_driver_init>
|
|
10000242: 4808 ldr r0, [pc, #32] @ (10000264 <main+0x30>)
|
|
10000244: f000 f844 bl 100002d0 <uart_driver_puts>
|
|
10000248: 4807 ldr r0, [pc, #28] @ (10000268 <main+0x34>)
|
|
1000024a: f000 f841 bl 100002d0 <uart_driver_puts>
|
|
1000024e: f000 f821 bl 10000294 <uart_driver_is_readable>
|
|
10000252: 2800 cmp r0, #0
|
|
10000254: d0fb beq.n 1000024e <main+0x1a>
|
|
10000256: f000 f829 bl 100002ac <uart_driver_getchar>
|
|
1000025a: f000 f847 bl 100002ec <uart_driver_to_upper>
|
|
1000025e: f000 f82f bl 100002c0 <uart_driver_putchar>
|
|
10000262: e7f4 b.n 1000024e <main+0x1a>
|
|
10000264: 100015a4 .word 0x100015a4
|
|
10000268: 100015c8 .word 0x100015c8
|
|
|
|
1000026c <uart_driver_init>:
|
|
1000026c: b538 push {r3, r4, r5, lr}
|
|
1000026e: 4605 mov r5, r0
|
|
10000270: 460c mov r4, r1
|
|
10000272: 4807 ldr r0, [pc, #28] @ (10000290 <uart_driver_init+0x24>)
|
|
10000274: 4611 mov r1, r2
|
|
10000276: f000 fccb bl 10000c10 <uart_init>
|
|
1000027a: 4628 mov r0, r5
|
|
1000027c: 2102 movs r1, #2
|
|
1000027e: f000 f83d bl 100002fc <gpio_set_function>
|
|
10000282: 4620 mov r0, r4
|
|
10000284: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
|
|
10000288: 2102 movs r1, #2
|
|
1000028a: f000 b837 b.w 100002fc <gpio_set_function>
|
|
1000028e: bf00 nop
|
|
10000290: 40070000 .word 0x40070000
|
|
|
|
10000294 <uart_driver_is_readable>:
|
|
10000294: 4b04 ldr r3, [pc, #16] @ (100002a8 <uart_driver_is_readable+0x14>)
|
|
10000296: 6998 ldr r0, [r3, #24]
|
|
10000298: f3c0 1000 ubfx r0, r0, #4, #1
|
|
1000029c: f080 0001 eor.w r0, r0, #1
|
|
100002a0: f000 0001 and.w r0, r0, #1
|
|
100002a4: 4770 bx lr
|
|
100002a6: bf00 nop
|
|
100002a8: 40070000 .word 0x40070000
|
|
|
|
100002ac <uart_driver_getchar>:
|
|
100002ac: 4a03 ldr r2, [pc, #12] @ (100002bc <uart_driver_getchar+0x10>)
|
|
100002ae: 6993 ldr r3, [r2, #24]
|
|
100002b0: 06db lsls r3, r3, #27
|
|
100002b2: d4fc bmi.n 100002ae <uart_driver_getchar+0x2>
|
|
100002b4: 6810 ldr r0, [r2, #0]
|
|
100002b6: b2c0 uxtb r0, r0
|
|
100002b8: 4770 bx lr
|
|
100002ba: bf00 nop
|
|
100002bc: 40070000 .word 0x40070000
|
|
|
|
100002c0 <uart_driver_putchar>:
|
|
100002c0: 4a02 ldr r2, [pc, #8] @ (100002cc <uart_driver_putchar+0xc>)
|
|
100002c2: 6993 ldr r3, [r2, #24]
|
|
100002c4: 069b lsls r3, r3, #26
|
|
100002c6: d4fc bmi.n 100002c2 <uart_driver_putchar+0x2>
|
|
100002c8: 6010 str r0, [r2, #0]
|
|
100002ca: 4770 bx lr
|
|
100002cc: 40070000 .word 0x40070000
|
|
|
|
100002d0 <uart_driver_puts>:
|
|
100002d0: 7801 ldrb r1, [r0, #0]
|
|
100002d2: b141 cbz r1, 100002e6 <uart_driver_puts+0x16>
|
|
100002d4: 4a04 ldr r2, [pc, #16] @ (100002e8 <uart_driver_puts+0x18>)
|
|
100002d6: 6993 ldr r3, [r2, #24]
|
|
100002d8: 069b lsls r3, r3, #26
|
|
100002da: d4fc bmi.n 100002d6 <uart_driver_puts+0x6>
|
|
100002dc: 6011 str r1, [r2, #0]
|
|
100002de: f810 1f01 ldrb.w r1, [r0, #1]!
|
|
100002e2: 2900 cmp r1, #0
|
|
100002e4: d1f7 bne.n 100002d6 <uart_driver_puts+0x6>
|
|
100002e6: 4770 bx lr
|
|
100002e8: 40070000 .word 0x40070000
|
|
|
|
100002ec <uart_driver_to_upper>:
|
|
100002ec: f1a0 0361 sub.w r3, r0, #97 @ 0x61
|
|
100002f0: 2b19 cmp r3, #25
|
|
100002f2: bf9c itt ls
|
|
100002f4: 3820 subls r0, #32
|
|
100002f6: b2c0 uxtbls r0, r0
|
|
100002f8: 4770 bx lr
|
|
100002fa: bf00 nop
|
|
|
|
100002fc <gpio_set_function>:
|
|
100002fc: b410 push {r4}
|
|
100002fe: f44f 7480 mov.w r4, #256 @ 0x100
|
|
10000302: 4b0c ldr r3, [pc, #48] @ (10000334 <gpio_set_function+0x38>)
|
|
10000304: f853 2020 ldr.w r2, [r3, r0, lsl #2]
|
|
10000308: eb03 0380 add.w r3, r3, r0, lsl #2
|
|
1000030c: 00c0 lsls r0, r0, #3
|
|
1000030e: f082 0240 eor.w r2, r2, #64 @ 0x40
|
|
10000312: f100 4080 add.w r0, r0, #1073741824 @ 0x40000000
|
|
10000316: f503 5c80 add.w ip, r3, #4096 @ 0x1000
|
|
1000031a: f002 02c0 and.w r2, r2, #192 @ 0xc0
|
|
1000031e: f500 3020 add.w r0, r0, #163840 @ 0x28000
|
|
10000322: f503 5340 add.w r3, r3, #12288 @ 0x3000
|
|
10000326: f8cc 2000 str.w r2, [ip]
|
|
1000032a: 6041 str r1, [r0, #4]
|
|
1000032c: 601c str r4, [r3, #0]
|
|
1000032e: f85d 4b04 ldr.w r4, [sp], #4
|
|
10000332: 4770 bx lr
|
|
10000334: 40038004 .word 0x40038004
|
|
|
|
10000338 <panic>:
|
|
10000338: b40f push {r0, r1, r2, r3}
|
|
1000033a: b500 push {lr}
|
|
1000033c: b083 sub sp, #12
|
|
1000033e: 9c04 ldr r4, [sp, #16]
|
|
10000340: 4807 ldr r0, [pc, #28] @ (10000360 <panic+0x28>)
|
|
10000342: f001 f841 bl 100013c8 <__wrap_puts>
|
|
10000346: b13c cbz r4, 10000358 <panic+0x20>
|
|
10000348: a905 add r1, sp, #20
|
|
1000034a: 4620 mov r0, r4
|
|
1000034c: 9101 str r1, [sp, #4]
|
|
1000034e: f000 fef7 bl 10001140 <weak_raw_vprintf>
|
|
10000352: 4804 ldr r0, [pc, #16] @ (10000364 <panic+0x2c>)
|
|
10000354: f001 f838 bl 100013c8 <__wrap_puts>
|
|
10000358: 2001 movs r0, #1
|
|
1000035a: f000 ff09 bl 10001170 <_exit>
|
|
1000035e: bf00 nop
|
|
10000360: 100015fc .word 0x100015fc
|
|
10000364: 1000160c .word 0x1000160c
|
|
|
|
10000368 <hw_claim_or_assert>:
|
|
10000368: b570 push {r4, r5, r6, lr}
|
|
1000036a: 4686 mov lr, r0
|
|
1000036c: f3ef 8510 mrs r5, PRIMASK
|
|
10000370: b672 cpsid i
|
|
10000372: 4c12 ldr r4, [pc, #72] @ (100003bc <hw_claim_or_assert+0x54>)
|
|
10000374: e8d4 6fcf ldaexb r6, [r4]
|
|
10000378: 2001 movs r0, #1
|
|
1000037a: 2e00 cmp r6, #0
|
|
1000037c: d1fa bne.n 10000374 <hw_claim_or_assert+0xc>
|
|
1000037e: e8c4 0f46 strexb r6, r0, [r4]
|
|
10000382: 2e00 cmp r6, #0
|
|
10000384: d1f6 bne.n 10000374 <hw_claim_or_assert+0xc>
|
|
10000386: f3bf 8f5f dmb sy
|
|
1000038a: f04f 0c01 mov.w ip, #1
|
|
1000038e: 08c8 lsrs r0, r1, #3
|
|
10000390: f001 0307 and.w r3, r1, #7
|
|
10000394: fa0c f303 lsl.w r3, ip, r3
|
|
10000398: f81e c000 ldrb.w ip, [lr, r0]
|
|
1000039c: ea1c 0603 ands.w r6, ip, r3
|
|
100003a0: d108 bne.n 100003b4 <hw_claim_or_assert+0x4c>
|
|
100003a2: ea4c 0c03 orr.w ip, ip, r3
|
|
100003a6: f80e c000 strb.w ip, [lr, r0]
|
|
100003aa: e8c4 6f8f stlb r6, [r4]
|
|
100003ae: f385 8810 msr PRIMASK, r5
|
|
100003b2: bd70 pop {r4, r5, r6, pc}
|
|
100003b4: 4610 mov r0, r2
|
|
100003b6: f7ff ffbf bl 10000338 <panic>
|
|
100003ba: bf00 nop
|
|
100003bc: 200003db .word 0x200003db
|
|
|
|
100003c0 <next_striped_spin_lock_num>:
|
|
100003c0: 4a04 ldr r2, [pc, #16] @ (100003d4 <next_striped_spin_lock_num+0x14>)
|
|
100003c2: 7810 ldrb r0, [r2, #0]
|
|
100003c4: 1c43 adds r3, r0, #1
|
|
100003c6: b2db uxtb r3, r3
|
|
100003c8: 2b18 cmp r3, #24
|
|
100003ca: bf28 it cs
|
|
100003cc: 2310 movcs r3, #16
|
|
100003ce: 7013 strb r3, [r2, #0]
|
|
100003d0: 4770 bx lr
|
|
100003d2: bf00 nop
|
|
100003d4: 20000228 .word 0x20000228
|
|
|
|
100003d8 <spinlock_set_extexclall>:
|
|
100003d8: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000
|
|
100003dc: 6893 ldr r3, [r2, #8]
|
|
100003de: f043 5300 orr.w r3, r3, #536870912 @ 0x20000000
|
|
100003e2: 6093 str r3, [r2, #8]
|
|
100003e4: 4770 bx lr
|
|
100003e6: bf00 nop
|
|
|
|
100003e8 <spin_locks_reset>:
|
|
100003e8: 2100 movs r1, #0
|
|
100003ea: 4b04 ldr r3, [pc, #16] @ (100003fc <spin_locks_reset+0x14>)
|
|
100003ec: f103 0220 add.w r2, r3, #32
|
|
100003f0: e8c3 1f8f stlb r1, [r3]
|
|
100003f4: 3301 adds r3, #1
|
|
100003f6: 4293 cmp r3, r2
|
|
100003f8: d1fa bne.n 100003f0 <spin_locks_reset+0x8>
|
|
100003fa: 4770 bx lr
|
|
100003fc: 200003d0 .word 0x200003d0
|
|
|
|
10000400 <runtime_init_per_core_irq_priorities>:
|
|
10000400: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000
|
|
10000404: f04f 3280 mov.w r2, #2155905152 @ 0x80808080
|
|
10000408: f8c3 2400 str.w r2, [r3, #1024] @ 0x400
|
|
1000040c: f8c3 2404 str.w r2, [r3, #1028] @ 0x404
|
|
10000410: f8c3 2408 str.w r2, [r3, #1032] @ 0x408
|
|
10000414: f8c3 240c str.w r2, [r3, #1036] @ 0x40c
|
|
10000418: f8c3 2410 str.w r2, [r3, #1040] @ 0x410
|
|
1000041c: f8c3 2414 str.w r2, [r3, #1044] @ 0x414
|
|
10000420: f8c3 2418 str.w r2, [r3, #1048] @ 0x418
|
|
10000424: f8c3 241c str.w r2, [r3, #1052] @ 0x41c
|
|
10000428: f8c3 2420 str.w r2, [r3, #1056] @ 0x420
|
|
1000042c: f8c3 2424 str.w r2, [r3, #1060] @ 0x424
|
|
10000430: f8c3 2428 str.w r2, [r3, #1064] @ 0x428
|
|
10000434: f8c3 242c str.w r2, [r3, #1068] @ 0x42c
|
|
10000438: f8c3 2430 str.w r2, [r3, #1072] @ 0x430
|
|
1000043c: b662 cpsie i
|
|
1000043e: 4770 bx lr
|
|
|
|
10000440 <irq_set_enabled>:
|
|
10000440: 2301 movs r3, #1
|
|
10000442: f000 021f and.w r2, r0, #31
|
|
10000446: 4093 lsls r3, r2
|
|
10000448: 0940 lsrs r0, r0, #5
|
|
1000044a: b141 cbz r1, 1000045e <irq_set_enabled+0x1e>
|
|
1000044c: 0080 lsls r0, r0, #2
|
|
1000044e: f100 4060 add.w r0, r0, #3758096384 @ 0xe0000000
|
|
10000452: f500 4061 add.w r0, r0, #57600 @ 0xe100
|
|
10000456: f8c0 3180 str.w r3, [r0, #384] @ 0x180
|
|
1000045a: 6003 str r3, [r0, #0]
|
|
1000045c: 4770 bx lr
|
|
1000045e: 4a02 ldr r2, [pc, #8] @ (10000468 <irq_set_enabled+0x28>)
|
|
10000460: 3020 adds r0, #32
|
|
10000462: f842 3020 str.w r3, [r2, r0, lsl #2]
|
|
10000466: 4770 bx lr
|
|
10000468: e000e100 .word 0xe000e100
|
|
|
|
1000046c <irq_set_exclusive_handler>:
|
|
1000046c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
1000046e: 460d mov r5, r1
|
|
10000470: f3ef 8710 mrs r7, PRIMASK
|
|
10000474: b672 cpsid i
|
|
10000476: 4e12 ldr r6, [pc, #72] @ (100004c0 <irq_set_exclusive_handler+0x54>)
|
|
10000478: e8d6 2fcf ldaexb r2, [r6]
|
|
1000047c: 2301 movs r3, #1
|
|
1000047e: 2a00 cmp r2, #0
|
|
10000480: d1fa bne.n 10000478 <irq_set_exclusive_handler+0xc>
|
|
10000482: e8c6 3f42 strexb r2, r3, [r6]
|
|
10000486: 2a00 cmp r2, #0
|
|
10000488: d1f6 bne.n 10000478 <irq_set_exclusive_handler+0xc>
|
|
1000048a: f3bf 8f5f dmb sy
|
|
1000048e: 4b0d ldr r3, [pc, #52] @ (100004c4 <irq_set_exclusive_handler+0x58>)
|
|
10000490: f100 0410 add.w r4, r0, #16
|
|
10000494: 689b ldr r3, [r3, #8]
|
|
10000496: 4a0c ldr r2, [pc, #48] @ (100004c8 <irq_set_exclusive_handler+0x5c>)
|
|
10000498: f853 3024 ldr.w r3, [r3, r4, lsl #2]
|
|
1000049c: 4293 cmp r3, r2
|
|
1000049e: d003 beq.n 100004a8 <irq_set_exclusive_handler+0x3c>
|
|
100004a0: 4299 cmp r1, r3
|
|
100004a2: d001 beq.n 100004a8 <irq_set_exclusive_handler+0x3c>
|
|
100004a4: f000 fd34 bl 10000f10 <hard_assertion_failure>
|
|
100004a8: 4b06 ldr r3, [pc, #24] @ (100004c4 <irq_set_exclusive_handler+0x58>)
|
|
100004aa: 689b ldr r3, [r3, #8]
|
|
100004ac: f843 5024 str.w r5, [r3, r4, lsl #2]
|
|
100004b0: f3bf 8f5f dmb sy
|
|
100004b4: 2300 movs r3, #0
|
|
100004b6: e8c6 3f8f stlb r3, [r6]
|
|
100004ba: f387 8810 msr PRIMASK, r7
|
|
100004be: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
100004c0: 200003d9 .word 0x200003d9
|
|
100004c4: e000ed00 .word 0xe000ed00
|
|
100004c8: 10000111 .word 0x10000111
|
|
|
|
100004cc <lock_init>:
|
|
100004cc: 4b01 ldr r3, [pc, #4] @ (100004d4 <lock_init+0x8>)
|
|
100004ce: 440b add r3, r1
|
|
100004d0: 6003 str r3, [r0, #0]
|
|
100004d2: 4770 bx lr
|
|
100004d4: 200003d0 .word 0x200003d0
|
|
|
|
100004d8 <runtime_init_mutex>:
|
|
100004d8: b570 push {r4, r5, r6, lr}
|
|
100004da: 4c10 ldr r4, [pc, #64] @ (1000051c <runtime_init_mutex+0x44>)
|
|
100004dc: 4d10 ldr r5, [pc, #64] @ (10000520 <runtime_init_mutex+0x48>)
|
|
100004de: 42ac cmp r4, r5
|
|
100004e0: d20e bcs.n 10000500 <runtime_init_mutex+0x28>
|
|
100004e2: 26ff movs r6, #255 @ 0xff
|
|
100004e4: 6823 ldr r3, [r4, #0]
|
|
100004e6: b163 cbz r3, 10000502 <runtime_init_mutex+0x2a>
|
|
100004e8: f7ff ff6a bl 100003c0 <next_striped_spin_lock_num>
|
|
100004ec: 4601 mov r1, r0
|
|
100004ee: 4620 mov r0, r4
|
|
100004f0: f7ff ffec bl 100004cc <lock_init>
|
|
100004f4: 80a6 strh r6, [r4, #4]
|
|
100004f6: f3bf 8f5f dmb sy
|
|
100004fa: 3408 adds r4, #8
|
|
100004fc: 42ac cmp r4, r5
|
|
100004fe: d3f1 bcc.n 100004e4 <runtime_init_mutex+0xc>
|
|
10000500: bd70 pop {r4, r5, r6, pc}
|
|
10000502: f7ff ff5d bl 100003c0 <next_striped_spin_lock_num>
|
|
10000506: 4601 mov r1, r0
|
|
10000508: 4620 mov r0, r4
|
|
1000050a: f7ff ffdf bl 100004cc <lock_init>
|
|
1000050e: 7126 strb r6, [r4, #4]
|
|
10000510: f3bf 8f5f dmb sy
|
|
10000514: 3408 adds r4, #8
|
|
10000516: 42ac cmp r4, r5
|
|
10000518: d3e4 bcc.n 100004e4 <runtime_init_mutex+0xc>
|
|
1000051a: bd70 pop {r4, r5, r6, pc}
|
|
1000051c: 20000244 .word 0x20000244
|
|
10000520: 2000024c .word 0x2000024c
|
|
|
|
10000524 <sleep_until_callback>:
|
|
10000524: 4b0d ldr r3, [pc, #52] @ (1000055c <sleep_until_callback+0x38>)
|
|
10000526: 681a ldr r2, [r3, #0]
|
|
10000528: f3ef 8110 mrs r1, PRIMASK
|
|
1000052c: b672 cpsid i
|
|
1000052e: e8d2 cfcf ldaexb ip, [r2]
|
|
10000532: 2001 movs r0, #1
|
|
10000534: f1bc 0f00 cmp.w ip, #0
|
|
10000538: d1f9 bne.n 1000052e <sleep_until_callback+0xa>
|
|
1000053a: e8c2 0f4c strexb ip, r0, [r2]
|
|
1000053e: f1bc 0f00 cmp.w ip, #0
|
|
10000542: d1f4 bne.n 1000052e <sleep_until_callback+0xa>
|
|
10000544: f3bf 8f5f dmb sy
|
|
10000548: 2200 movs r2, #0
|
|
1000054a: 681b ldr r3, [r3, #0]
|
|
1000054c: e8c3 2f8f stlb r2, [r3]
|
|
10000550: f381 8810 msr PRIMASK, r1
|
|
10000554: bf40 sev
|
|
10000556: 2000 movs r0, #0
|
|
10000558: 2100 movs r1, #0
|
|
1000055a: 4770 bx lr
|
|
1000055c: 20000460 .word 0x20000460
|
|
|
|
10000560 <alarm_pool_irq_handler>:
|
|
10000560: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000564: ed2d 8b02 vpush {d8}
|
|
10000568: b085 sub sp, #20
|
|
1000056a: f3ef 8305 mrs r3, IPSR
|
|
1000056e: b2db uxtb r3, r3
|
|
10000570: 3b10 subs r3, #16
|
|
10000572: 089a lsrs r2, r3, #2
|
|
10000574: bf18 it ne
|
|
10000576: 2201 movne r2, #1
|
|
10000578: f04f 0101 mov.w r1, #1
|
|
1000057c: f003 0b03 and.w fp, r3, #3
|
|
10000580: bf18 it ne
|
|
10000582: 4daf ldrne r5, [pc, #700] @ (10000840 <alarm_pool_irq_handler+0x2e0>)
|
|
10000584: 4baf ldr r3, [pc, #700] @ (10000844 <alarm_pool_irq_handler+0x2e4>)
|
|
10000586: bf08 it eq
|
|
10000588: 4daf ldreq r5, [pc, #700] @ (10000848 <alarm_pool_irq_handler+0x2e8>)
|
|
1000058a: eb0b 0282 add.w r2, fp, r2, lsl #2
|
|
1000058e: f853 6022 ldr.w r6, [r3, r2, lsl #2]
|
|
10000592: fa01 f20b lsl.w r2, r1, fp
|
|
10000596: f505 5341 add.w r3, r5, #12352 @ 0x3040
|
|
1000059a: ed9f 8ba7 vldr d8, [pc, #668] @ 10000838 <alarm_pool_irq_handler+0x2d8>
|
|
1000059e: 9201 str r2, [sp, #4]
|
|
100005a0: 605a str r2, [r3, #4]
|
|
100005a2: e02f b.n 10000604 <alarm_pool_irq_handler+0xa4>
|
|
100005a4: 88b3 ldrh r3, [r6, #4]
|
|
100005a6: 041c lsls r4, r3, #16
|
|
100005a8: f140 8093 bpl.w 100006d2 <alarm_pool_irq_handler+0x172>
|
|
100005ac: 79b3 ldrb r3, [r6, #6]
|
|
100005ae: 2b00 cmp r3, #0
|
|
100005b0: f040 80dd bne.w 1000076e <alarm_pool_irq_handler+0x20e>
|
|
100005b4: f9b6 2008 ldrsh.w r2, [r6, #8]
|
|
100005b8: 2a00 cmp r2, #0
|
|
100005ba: f2c0 811e blt.w 100007fa <alarm_pool_irq_handler+0x29a>
|
|
100005be: 6973 ldr r3, [r6, #20]
|
|
100005c0: eb02 0242 add.w r2, r2, r2, lsl #1
|
|
100005c4: eb03 03c2 add.w r3, r3, r2, lsl #3
|
|
100005c8: e9d3 4702 ldrd r4, r7, [r3, #8]
|
|
100005cc: f1b7 3fff cmp.w r7, #4294967295
|
|
100005d0: bf08 it eq
|
|
100005d2: f1b4 3fff cmpeq.w r4, #4294967295
|
|
100005d6: d00e beq.n 100005f6 <alarm_pool_irq_handler+0x96>
|
|
100005d8: eb05 018b add.w r1, r5, fp, lsl #2
|
|
100005dc: 6aab ldr r3, [r5, #40] @ 0x28
|
|
100005de: 690a ldr r2, [r1, #16]
|
|
100005e0: 1ad2 subs r2, r2, r3
|
|
100005e2: 1ae3 subs r3, r4, r3
|
|
100005e4: 4293 cmp r3, r2
|
|
100005e6: d305 bcc.n 100005f4 <alarm_pool_irq_handler+0x94>
|
|
100005e8: 2301 movs r3, #1
|
|
100005ea: 6a2a ldr r2, [r5, #32]
|
|
100005ec: fa03 f30b lsl.w r3, r3, fp
|
|
100005f0: 4213 tst r3, r2
|
|
100005f2: d100 bne.n 100005f6 <alarm_pool_irq_handler+0x96>
|
|
100005f4: 610c str r4, [r1, #16]
|
|
100005f6: 4628 mov r0, r5
|
|
100005f8: f000 faca bl 10000b90 <timer_time_us_64>
|
|
100005fc: 42a0 cmp r0, r4
|
|
100005fe: 41b9 sbcs r1, r7
|
|
10000600: f2c0 80fb blt.w 100007fa <alarm_pool_irq_handler+0x29a>
|
|
10000604: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
10000608: 9a01 ldr r2, [sp, #4]
|
|
1000060a: 2b00 cmp r3, #0
|
|
1000060c: 9300 str r3, [sp, #0]
|
|
1000060e: 63ea str r2, [r5, #60] @ 0x3c
|
|
10000610: dbc8 blt.n 100005a4 <alarm_pool_irq_handler+0x44>
|
|
10000612: f8d6 8014 ldr.w r8, [r6, #20]
|
|
10000616: eb03 0943 add.w r9, r3, r3, lsl #1
|
|
1000061a: 4628 mov r0, r5
|
|
1000061c: eb08 07c9 add.w r7, r8, r9, lsl #3
|
|
10000620: e9d7 4a02 ldrd r4, sl, [r7, #8]
|
|
10000624: f000 fab4 bl 10000b90 <timer_time_us_64>
|
|
10000628: 42a0 cmp r0, r4
|
|
1000062a: eb71 010a sbcs.w r1, r1, sl
|
|
1000062e: dbb9 blt.n 100005a4 <alarm_pool_irq_handler+0x44>
|
|
10000630: f1ba 0f00 cmp.w sl, #0
|
|
10000634: f2c0 80c3 blt.w 100007be <alarm_pool_irq_handler+0x25e>
|
|
10000638: e9d7 3104 ldrd r3, r1, [r7, #16]
|
|
1000063c: 4a83 ldr r2, [pc, #524] @ (1000084c <alarm_pool_irq_handler+0x2ec>)
|
|
1000063e: 4293 cmp r3, r2
|
|
10000640: f000 80ed beq.w 1000081e <alarm_pool_irq_handler+0x2be>
|
|
10000644: 887a ldrh r2, [r7, #2]
|
|
10000646: f9b6 0008 ldrsh.w r0, [r6, #8]
|
|
1000064a: b292 uxth r2, r2
|
|
1000064c: ea42 4000 orr.w r0, r2, r0, lsl #16
|
|
10000650: 4798 blx r3
|
|
10000652: 4602 mov r2, r0
|
|
10000654: 460b mov r3, r1
|
|
10000656: ea52 0103 orrs.w r1, r2, r3
|
|
1000065a: f000 80b0 beq.w 100007be <alarm_pool_irq_handler+0x25e>
|
|
1000065e: 2b00 cmp r3, #0
|
|
10000660: f280 80d1 bge.w 10000806 <alarm_pool_irq_handler+0x2a6>
|
|
10000664: ebb4 0e02 subs.w lr, r4, r2
|
|
10000668: eb6a 0a03 sbc.w sl, sl, r3
|
|
1000066c: f938 3039 ldrsh.w r3, [r8, r9, lsl #3]
|
|
10000670: e9c7 ea02 strd lr, sl, [r7, #8]
|
|
10000674: 2b00 cmp r3, #0
|
|
10000676: db95 blt.n 100005a4 <alarm_pool_irq_handler+0x44>
|
|
10000678: 6971 ldr r1, [r6, #20]
|
|
1000067a: eb03 0243 add.w r2, r3, r3, lsl #1
|
|
1000067e: eb01 02c2 add.w r2, r1, r2, lsl #3
|
|
10000682: e9d2 7002 ldrd r7, r0, [r2, #8]
|
|
10000686: 45be cmp lr, r7
|
|
10000688: eb7a 0c00 sbcs.w ip, sl, r0
|
|
1000068c: ea4f 0243 mov.w r2, r3, lsl #1
|
|
10000690: db88 blt.n 100005a4 <alarm_pool_irq_handler+0x44>
|
|
10000692: 46b4 mov ip, r6
|
|
10000694: f82c 3f08 strh.w r3, [ip, #8]!
|
|
10000698: e006 b.n 100006a8 <alarm_pool_irq_handler+0x148>
|
|
1000069a: eb03 0043 add.w r0, r3, r3, lsl #1
|
|
1000069e: eb01 00c0 add.w r0, r1, r0, lsl #3
|
|
100006a2: 005a lsls r2, r3, #1
|
|
100006a4: e9d0 7002 ldrd r7, r0, [r0, #8]
|
|
100006a8: 45be cmp lr, r7
|
|
100006aa: 441a add r2, r3
|
|
100006ac: eb7a 0000 sbcs.w r0, sl, r0
|
|
100006b0: eb01 04c2 add.w r4, r1, r2, lsl #3
|
|
100006b4: db04 blt.n 100006c0 <alarm_pool_irq_handler+0x160>
|
|
100006b6: f931 3032 ldrsh.w r3, [r1, r2, lsl #3]
|
|
100006ba: 46a4 mov ip, r4
|
|
100006bc: 2b00 cmp r3, #0
|
|
100006be: daec bge.n 1000069a <alarm_pool_irq_handler+0x13a>
|
|
100006c0: f828 3039 strh.w r3, [r8, r9, lsl #3]
|
|
100006c4: 9b00 ldr r3, [sp, #0]
|
|
100006c6: f8ac 3000 strh.w r3, [ip]
|
|
100006ca: 88b3 ldrh r3, [r6, #4]
|
|
100006cc: 041c lsls r4, r3, #16
|
|
100006ce: f53f af6d bmi.w 100005ac <alarm_pool_irq_handler+0x4c>
|
|
100006d2: 6933 ldr r3, [r6, #16]
|
|
100006d4: f3ef 8210 mrs r2, PRIMASK
|
|
100006d8: b672 cpsid i
|
|
100006da: e8d3 0fcf ldaexb r0, [r3]
|
|
100006de: 2101 movs r1, #1
|
|
100006e0: 2800 cmp r0, #0
|
|
100006e2: d1fa bne.n 100006da <alarm_pool_irq_handler+0x17a>
|
|
100006e4: e8c3 1f40 strexb r0, r1, [r3]
|
|
100006e8: 2800 cmp r0, #0
|
|
100006ea: d1f6 bne.n 100006da <alarm_pool_irq_handler+0x17a>
|
|
100006ec: f3bf 8f5f dmb sy
|
|
100006f0: f64f 74ff movw r4, #65535 @ 0xffff
|
|
100006f4: 88b0 ldrh r0, [r6, #4]
|
|
100006f6: 2300 movs r3, #0
|
|
100006f8: 6931 ldr r1, [r6, #16]
|
|
100006fa: b200 sxth r0, r0
|
|
100006fc: 80b4 strh r4, [r6, #4]
|
|
100006fe: e8c1 3f8f stlb r3, [r1]
|
|
10000702: f382 8810 msr PRIMASK, r2
|
|
10000706: 4298 cmp r0, r3
|
|
10000708: f6ff af50 blt.w 100005ac <alarm_pool_irq_handler+0x4c>
|
|
1000070c: 4607 mov r7, r0
|
|
1000070e: 46a9 mov r9, r5
|
|
10000710: 6974 ldr r4, [r6, #20]
|
|
10000712: f106 0808 add.w r8, r6, #8
|
|
10000716: eb07 0e47 add.w lr, r7, r7, lsl #1
|
|
1000071a: eb04 03ce add.w r3, r4, lr, lsl #3
|
|
1000071e: e9d3 5002 ldrd r5, r0, [r3, #8]
|
|
10000722: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
10000726: 46c4 mov ip, r8
|
|
10000728: 2b00 cmp r3, #0
|
|
1000072a: db13 blt.n 10000754 <alarm_pool_irq_handler+0x1f4>
|
|
1000072c: 46b2 mov sl, r6
|
|
1000072e: 9700 str r7, [sp, #0]
|
|
10000730: e004 b.n 1000073c <alarm_pool_irq_handler+0x1dc>
|
|
10000732: f934 3036 ldrsh.w r3, [r4, r6, lsl #3]
|
|
10000736: 4694 mov ip, r2
|
|
10000738: 2b00 cmp r3, #0
|
|
1000073a: db09 blt.n 10000750 <alarm_pool_irq_handler+0x1f0>
|
|
1000073c: eb03 0643 add.w r6, r3, r3, lsl #1
|
|
10000740: eb04 02c6 add.w r2, r4, r6, lsl #3
|
|
10000744: e9d2 7102 ldrd r7, r1, [r2, #8]
|
|
10000748: 42bd cmp r5, r7
|
|
1000074a: eb70 0101 sbcs.w r1, r0, r1
|
|
1000074e: daf0 bge.n 10000732 <alarm_pool_irq_handler+0x1d2>
|
|
10000750: 4656 mov r6, sl
|
|
10000752: 9f00 ldr r7, [sp, #0]
|
|
10000754: f8ac 7000 strh.w r7, [ip]
|
|
10000758: f934 703e ldrsh.w r7, [r4, lr, lsl #3]
|
|
1000075c: f824 303e strh.w r3, [r4, lr, lsl #3]
|
|
10000760: 2f00 cmp r7, #0
|
|
10000762: dad8 bge.n 10000716 <alarm_pool_irq_handler+0x1b6>
|
|
10000764: 79b3 ldrb r3, [r6, #6]
|
|
10000766: 464d mov r5, r9
|
|
10000768: 2b00 cmp r3, #0
|
|
1000076a: f43f af23 beq.w 100005b4 <alarm_pool_irq_handler+0x54>
|
|
1000076e: 2300 movs r3, #0
|
|
10000770: 71b3 strb r3, [r6, #6]
|
|
10000772: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
10000776: f106 0808 add.w r8, r6, #8
|
|
1000077a: 1c58 adds r0, r3, #1
|
|
1000077c: d03d beq.n 100007fa <alarm_pool_irq_handler+0x29a>
|
|
1000077e: 461a mov r2, r3
|
|
10000780: 6977 ldr r7, [r6, #20]
|
|
10000782: e003 b.n 1000078c <alarm_pool_irq_handler+0x22c>
|
|
10000784: 4680 mov r8, r0
|
|
10000786: 1c59 adds r1, r3, #1
|
|
10000788: f43f af16 beq.w 100005b8 <alarm_pool_irq_handler+0x58>
|
|
1000078c: eb03 0143 add.w r1, r3, r3, lsl #1
|
|
10000790: eb07 00c1 add.w r0, r7, r1, lsl #3
|
|
10000794: f8b0 c002 ldrh.w ip, [r0, #2]
|
|
10000798: 461c mov r4, r3
|
|
1000079a: f41c 4f00 tst.w ip, #32768 @ 0x8000
|
|
1000079e: 469e mov lr, r3
|
|
100007a0: f937 3031 ldrsh.w r3, [r7, r1, lsl #3]
|
|
100007a4: d0ee beq.n 10000784 <alarm_pool_irq_handler+0x224>
|
|
100007a6: 4294 cmp r4, r2
|
|
100007a8: ed80 8b02 vstr d8, [r0, #8]
|
|
100007ac: d005 beq.n 100007ba <alarm_pool_irq_handler+0x25a>
|
|
100007ae: f8a8 3000 strh.w r3, [r8]
|
|
100007b2: 8932 ldrh r2, [r6, #8]
|
|
100007b4: f827 2031 strh.w r2, [r7, r1, lsl #3]
|
|
100007b8: 8134 strh r4, [r6, #8]
|
|
100007ba: 4672 mov r2, lr
|
|
100007bc: e7e3 b.n 10000786 <alarm_pool_irq_handler+0x226>
|
|
100007be: f838 3039 ldrh.w r3, [r8, r9, lsl #3]
|
|
100007c2: 8133 strh r3, [r6, #8]
|
|
100007c4: 6933 ldr r3, [r6, #16]
|
|
100007c6: f3ef 8210 mrs r2, PRIMASK
|
|
100007ca: b672 cpsid i
|
|
100007cc: e8d3 0fcf ldaexb r0, [r3]
|
|
100007d0: 2101 movs r1, #1
|
|
100007d2: 2800 cmp r0, #0
|
|
100007d4: d1fa bne.n 100007cc <alarm_pool_irq_handler+0x26c>
|
|
100007d6: e8c3 1f40 strexb r0, r1, [r3]
|
|
100007da: 2800 cmp r0, #0
|
|
100007dc: d1f6 bne.n 100007cc <alarm_pool_irq_handler+0x26c>
|
|
100007de: f3bf 8f5f dmb sy
|
|
100007e2: 8873 ldrh r3, [r6, #2]
|
|
100007e4: 6931 ldr r1, [r6, #16]
|
|
100007e6: f828 3039 strh.w r3, [r8, r9, lsl #3]
|
|
100007ea: 9b00 ldr r3, [sp, #0]
|
|
100007ec: 8073 strh r3, [r6, #2]
|
|
100007ee: 2300 movs r3, #0
|
|
100007f0: e8c1 3f8f stlb r3, [r1]
|
|
100007f4: f382 8810 msr PRIMASK, r2
|
|
100007f8: e6d4 b.n 100005a4 <alarm_pool_irq_handler+0x44>
|
|
100007fa: bf40 sev
|
|
100007fc: b005 add sp, #20
|
|
100007fe: ecbd 8b02 vpop {d8}
|
|
10000802: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
10000806: 4628 mov r0, r5
|
|
10000808: e9cd 2302 strd r2, r3, [sp, #8]
|
|
1000080c: f000 f9c0 bl 10000b90 <timer_time_us_64>
|
|
10000810: 9a02 ldr r2, [sp, #8]
|
|
10000812: 9b03 ldr r3, [sp, #12]
|
|
10000814: eb10 0e02 adds.w lr, r0, r2
|
|
10000818: eb43 0a01 adc.w sl, r3, r1
|
|
1000081c: e726 b.n 1000066c <alarm_pool_irq_handler+0x10c>
|
|
1000081e: 4608 mov r0, r1
|
|
10000820: 690b ldr r3, [r1, #16]
|
|
10000822: 9102 str r1, [sp, #8]
|
|
10000824: 4798 blx r3
|
|
10000826: 2800 cmp r0, #0
|
|
10000828: d0c9 beq.n 100007be <alarm_pool_irq_handler+0x25e>
|
|
1000082a: 9902 ldr r1, [sp, #8]
|
|
1000082c: e9d1 2300 ldrd r2, r3, [r1]
|
|
10000830: e711 b.n 10000656 <alarm_pool_irq_handler+0xf6>
|
|
10000832: bf00 nop
|
|
10000834: f3af 8000 nop.w
|
|
10000838: ffffffff .word 0xffffffff
|
|
1000083c: ffffffff .word 0xffffffff
|
|
10000840: 400b8000 .word 0x400b8000
|
|
10000844: 20000440 .word 0x20000440
|
|
10000848: 400b0000 .word 0x400b0000
|
|
1000084c: 10000561 .word 0x10000561
|
|
|
|
10000850 <runtime_init_default_alarm_pool>:
|
|
10000850: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000854: 4c36 ldr r4, [pc, #216] @ (10000930 <runtime_init_default_alarm_pool+0xe0>)
|
|
10000856: 6925 ldr r5, [r4, #16]
|
|
10000858: b12d cbz r5, 10000866 <runtime_init_default_alarm_pool+0x16>
|
|
1000085a: e8bd 4ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
1000085e: 210a movs r1, #10
|
|
10000860: 4834 ldr r0, [pc, #208] @ (10000934 <runtime_init_default_alarm_pool+0xe4>)
|
|
10000862: f7ff be33 b.w 100004cc <lock_init>
|
|
10000866: f8df 80e4 ldr.w r8, [pc, #228] @ 1000094c <runtime_init_default_alarm_pool+0xfc>
|
|
1000086a: 2103 movs r1, #3
|
|
1000086c: 4640 mov r0, r8
|
|
1000086e: f000 f97d bl 10000b6c <timer_hardware_alarm_claim>
|
|
10000872: 2603 movs r6, #3
|
|
10000874: f8c4 800c str.w r8, [r4, #12]
|
|
10000878: f7ff fda2 bl 100003c0 <next_striped_spin_lock_num>
|
|
1000087c: f04f 4c50 mov.w ip, #3489660928 @ 0xd0000000
|
|
10000880: 4b2d ldr r3, [pc, #180] @ (10000938 <runtime_init_default_alarm_pool+0xe8>)
|
|
10000882: 7026 strb r6, [r4, #0]
|
|
10000884: 4403 add r3, r0
|
|
10000886: 6123 str r3, [r4, #16]
|
|
10000888: f8dc 3000 ldr.w r3, [ip]
|
|
1000088c: 210f movs r1, #15
|
|
1000088e: 7063 strb r3, [r4, #1]
|
|
10000890: 6963 ldr r3, [r4, #20]
|
|
10000892: 8061 strh r1, [r4, #2]
|
|
10000894: 831d strh r5, [r3, #24]
|
|
10000896: f04f 0504 mov.w r5, #4
|
|
1000089a: f8a3 5078 strh.w r5, [r3, #120] @ 0x78
|
|
1000089e: f04f 0505 mov.w r5, #5
|
|
100008a2: f8a3 5090 strh.w r5, [r3, #144] @ 0x90
|
|
100008a6: f04f 0506 mov.w r5, #6
|
|
100008aa: f8a3 50a8 strh.w r5, [r3, #168] @ 0xa8
|
|
100008ae: f04f 0507 mov.w r5, #7
|
|
100008b2: 210e movs r1, #14
|
|
100008b4: f64f 72ff movw r2, #65535 @ 0xffff
|
|
100008b8: 2708 movs r7, #8
|
|
100008ba: f04f 0e0a mov.w lr, #10
|
|
100008be: f8a3 50c0 strh.w r5, [r3, #192] @ 0xc0
|
|
100008c2: f04f 0901 mov.w r9, #1
|
|
100008c6: f04f 0c0c mov.w ip, #12
|
|
100008ca: f04f 0b02 mov.w fp, #2
|
|
100008ce: f04f 0a09 mov.w sl, #9
|
|
100008d2: 200d movs r0, #13
|
|
100008d4: f04f 050b mov.w r5, #11
|
|
100008d8: f8a3 1168 strh.w r1, [r3, #360] @ 0x168
|
|
100008dc: 4917 ldr r1, [pc, #92] @ (1000093c <runtime_init_default_alarm_pool+0xec>)
|
|
100008de: 80a2 strh r2, [r4, #4]
|
|
100008e0: f8a3 e108 strh.w lr, [r3, #264] @ 0x108
|
|
100008e4: 60a1 str r1, [r4, #8]
|
|
100008e6: f8a3 b048 strh.w fp, [r3, #72] @ 0x48
|
|
100008ea: f8a3 a0f0 strh.w sl, [r3, #240] @ 0xf0
|
|
100008ee: f8a3 5120 strh.w r5, [r3, #288] @ 0x120
|
|
100008f2: f8a3 c138 strh.w ip, [r3, #312] @ 0x138
|
|
100008f6: f8a3 0150 strh.w r0, [r3, #336] @ 0x150
|
|
100008fa: f8a3 9030 strh.w r9, [r3, #48] @ 0x30
|
|
100008fe: f8a3 6060 strh.w r6, [r3, #96] @ 0x60
|
|
10000902: f8a3 70d8 strh.w r7, [r3, #216] @ 0xd8
|
|
10000906: 801a strh r2, [r3, #0]
|
|
10000908: 4b0d ldr r3, [pc, #52] @ (10000940 <runtime_init_default_alarm_pool+0xf0>)
|
|
1000090a: 4630 mov r0, r6
|
|
1000090c: f8c8 7020 str.w r7, [r8, #32]
|
|
10000910: 490c ldr r1, [pc, #48] @ (10000944 <runtime_init_default_alarm_pool+0xf4>)
|
|
10000912: 60dc str r4, [r3, #12]
|
|
10000914: f7ff fdaa bl 1000046c <irq_set_exclusive_handler>
|
|
10000918: 4649 mov r1, r9
|
|
1000091a: 4630 mov r0, r6
|
|
1000091c: f7ff fd90 bl 10000440 <irq_set_enabled>
|
|
10000920: 4b09 ldr r3, [pc, #36] @ (10000948 <runtime_init_default_alarm_pool+0xf8>)
|
|
10000922: 210a movs r1, #10
|
|
10000924: 641f str r7, [r3, #64] @ 0x40
|
|
10000926: 4803 ldr r0, [pc, #12] @ (10000934 <runtime_init_default_alarm_pool+0xe4>)
|
|
10000928: e8bd 4ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
1000092c: f7ff bdce b.w 100004cc <lock_init>
|
|
10000930: 2000022c .word 0x2000022c
|
|
10000934: 20000460 .word 0x20000460
|
|
10000938: 200003d0 .word 0x200003d0
|
|
1000093c: 0010ffff .word 0x0010ffff
|
|
10000940: 20000440 .word 0x20000440
|
|
10000944: 10000561 .word 0x10000561
|
|
10000948: 400b2000 .word 0x400b2000
|
|
1000094c: 400b0000 .word 0x400b0000
|
|
|
|
10000950 <alarm_pool_add_alarm_at_force_in_context>:
|
|
10000950: 4601 mov r1, r0
|
|
10000952: b5f0 push {r4, r5, r6, r7, lr}
|
|
10000954: 6900 ldr r0, [r0, #16]
|
|
10000956: f3ef 8710 mrs r7, PRIMASK
|
|
1000095a: b672 cpsid i
|
|
1000095c: e8d0 5fcf ldaexb r5, [r0]
|
|
10000960: 2401 movs r4, #1
|
|
10000962: 2d00 cmp r5, #0
|
|
10000964: d1fa bne.n 1000095c <alarm_pool_add_alarm_at_force_in_context+0xc>
|
|
10000966: e8c0 4f45 strexb r5, r4, [r0]
|
|
1000096a: 2d00 cmp r5, #0
|
|
1000096c: d1f6 bne.n 1000095c <alarm_pool_add_alarm_at_force_in_context+0xc>
|
|
1000096e: f3bf 8f5f dmb sy
|
|
10000972: f9b1 e002 ldrsh.w lr, [r1, #2]
|
|
10000976: 694c ldr r4, [r1, #20]
|
|
10000978: eb0e 0c4e add.w ip, lr, lr, lsl #1
|
|
1000097c: f1be 0f00 cmp.w lr, #0
|
|
10000980: ea4f 05cc mov.w r5, ip, lsl #3
|
|
10000984: 6908 ldr r0, [r1, #16]
|
|
10000986: eb04 0ccc add.w ip, r4, ip, lsl #3
|
|
1000098a: db3c blt.n 10000a06 <alarm_pool_add_alarm_at_force_in_context+0xb6>
|
|
1000098c: 5b66 ldrh r6, [r4, r5]
|
|
1000098e: 804e strh r6, [r1, #2]
|
|
10000990: 2600 movs r6, #0
|
|
10000992: e8c0 6f8f stlb r6, [r0]
|
|
10000996: f387 8810 msr PRIMASK, r7
|
|
1000099a: f8bc 0002 ldrh.w r0, [ip, #2]
|
|
1000099e: e9cc 2302 strd r2, r3, [ip, #8]
|
|
100009a2: 3001 adds r0, #1
|
|
100009a4: f3c0 000e ubfx r0, r0, #0, #15
|
|
100009a8: 2801 cmp r0, #1
|
|
100009aa: bf38 it cc
|
|
100009ac: 2001 movcc r0, #1
|
|
100009ae: 9b05 ldr r3, [sp, #20]
|
|
100009b0: f8ac 0002 strh.w r0, [ip, #2]
|
|
100009b4: f8cc 3010 str.w r3, [ip, #16]
|
|
100009b8: 9b06 ldr r3, [sp, #24]
|
|
100009ba: ea40 400e orr.w r0, r0, lr, lsl #16
|
|
100009be: f8cc 3014 str.w r3, [ip, #20]
|
|
100009c2: 690b ldr r3, [r1, #16]
|
|
100009c4: f3ef 8210 mrs r2, PRIMASK
|
|
100009c8: b672 cpsid i
|
|
100009ca: e8d3 cfcf ldaexb ip, [r3]
|
|
100009ce: 2701 movs r7, #1
|
|
100009d0: f1bc 0f00 cmp.w ip, #0
|
|
100009d4: d1f9 bne.n 100009ca <alarm_pool_add_alarm_at_force_in_context+0x7a>
|
|
100009d6: e8c3 7f4c strexb ip, r7, [r3]
|
|
100009da: f1bc 0f00 cmp.w ip, #0
|
|
100009de: d1f4 bne.n 100009ca <alarm_pool_add_alarm_at_force_in_context+0x7a>
|
|
100009e0: f3bf 8f5f dmb sy
|
|
100009e4: 888b ldrh r3, [r1, #4]
|
|
100009e6: 5363 strh r3, [r4, r5]
|
|
100009e8: f8a1 e004 strh.w lr, [r1, #4]
|
|
100009ec: 690b ldr r3, [r1, #16]
|
|
100009ee: e8c3 6f8f stlb r6, [r3]
|
|
100009f2: f382 8810 msr PRIMASK, r2
|
|
100009f6: 2201 movs r2, #1
|
|
100009f8: 68cb ldr r3, [r1, #12]
|
|
100009fa: 7809 ldrb r1, [r1, #0]
|
|
100009fc: f503 5301 add.w r3, r3, #8256 @ 0x2040
|
|
10000a00: 408a lsls r2, r1
|
|
10000a02: 605a str r2, [r3, #4]
|
|
10000a04: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000a06: 2300 movs r3, #0
|
|
10000a08: e8c0 3f8f stlb r3, [r0]
|
|
10000a0c: f387 8810 msr PRIMASK, r7
|
|
10000a10: f04f 30ff mov.w r0, #4294967295
|
|
10000a14: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000a16: bf00 nop
|
|
|
|
10000a18 <alarm_pool_cancel_alarm>:
|
|
10000a18: 4603 mov r3, r0
|
|
10000a1a: 8940 ldrh r0, [r0, #10]
|
|
10000a1c: ebb0 4f21 cmp.w r0, r1, asr #16
|
|
10000a20: dd37 ble.n 10000a92 <alarm_pool_cancel_alarm+0x7a>
|
|
10000a22: 6958 ldr r0, [r3, #20]
|
|
10000a24: 140a asrs r2, r1, #16
|
|
10000a26: eb02 0242 add.w r2, r2, r2, lsl #1
|
|
10000a2a: b510 push {r4, lr}
|
|
10000a2c: eb00 00c2 add.w r0, r0, r2, lsl #3
|
|
10000a30: 691c ldr r4, [r3, #16]
|
|
10000a32: f3ef 8c10 mrs ip, PRIMASK
|
|
10000a36: b672 cpsid i
|
|
10000a38: e8d4 efcf ldaexb lr, [r4]
|
|
10000a3c: 2201 movs r2, #1
|
|
10000a3e: f1be 0f00 cmp.w lr, #0
|
|
10000a42: d1f9 bne.n 10000a38 <alarm_pool_cancel_alarm+0x20>
|
|
10000a44: e8c4 2f4e strexb lr, r2, [r4]
|
|
10000a48: f1be 0f00 cmp.w lr, #0
|
|
10000a4c: d1f4 bne.n 10000a38 <alarm_pool_cancel_alarm+0x20>
|
|
10000a4e: f3bf 8f5f dmb sy
|
|
10000a52: 8842 ldrh r2, [r0, #2]
|
|
10000a54: b289 uxth r1, r1
|
|
10000a56: b292 uxth r2, r2
|
|
10000a58: 428a cmp r2, r1
|
|
10000a5a: d007 beq.n 10000a6c <alarm_pool_cancel_alarm+0x54>
|
|
10000a5c: 2200 movs r2, #0
|
|
10000a5e: 691b ldr r3, [r3, #16]
|
|
10000a60: e8c3 2f8f stlb r2, [r3]
|
|
10000a64: f38c 8810 msr PRIMASK, ip
|
|
10000a68: 2000 movs r0, #0
|
|
10000a6a: bd10 pop {r4, pc}
|
|
10000a6c: f442 4200 orr.w r2, r2, #32768 @ 0x8000
|
|
10000a70: 8042 strh r2, [r0, #2]
|
|
10000a72: 2101 movs r1, #1
|
|
10000a74: 2200 movs r2, #0
|
|
10000a76: 6918 ldr r0, [r3, #16]
|
|
10000a78: 7199 strb r1, [r3, #6]
|
|
10000a7a: e8c0 2f8f stlb r2, [r0]
|
|
10000a7e: f38c 8810 msr PRIMASK, ip
|
|
10000a82: 781c ldrb r4, [r3, #0]
|
|
10000a84: 68da ldr r2, [r3, #12]
|
|
10000a86: 4608 mov r0, r1
|
|
10000a88: f502 5301 add.w r3, r2, #8256 @ 0x2040
|
|
10000a8c: 40a1 lsls r1, r4
|
|
10000a8e: 6059 str r1, [r3, #4]
|
|
10000a90: bd10 pop {r4, pc}
|
|
10000a92: 2000 movs r0, #0
|
|
10000a94: 4770 bx lr
|
|
10000a96: bf00 nop
|
|
|
|
10000a98 <best_effort_wfe_or_timeout>:
|
|
10000a98: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
10000a9c: 4606 mov r6, r0
|
|
10000a9e: 460d mov r5, r1
|
|
10000aa0: b083 sub sp, #12
|
|
10000aa2: f3ef 8405 mrs r4, IPSR
|
|
10000aa6: b2e4 uxtb r4, r4
|
|
10000aa8: b13c cbz r4, 10000aba <best_effort_wfe_or_timeout+0x22>
|
|
10000aaa: 4b2d ldr r3, [pc, #180] @ (10000b60 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000aac: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000aae: 42aa cmp r2, r5
|
|
10000ab0: d21c bcs.n 10000aec <best_effort_wfe_or_timeout+0x54>
|
|
10000ab2: 2000 movs r0, #0
|
|
10000ab4: b003 add sp, #12
|
|
10000ab6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
10000aba: 4f2a ldr r7, [pc, #168] @ (10000b64 <best_effort_wfe_or_timeout+0xcc>)
|
|
10000abc: f8d7 900c ldr.w r9, [r7, #12]
|
|
10000ac0: f897 8000 ldrb.w r8, [r7]
|
|
10000ac4: 4648 mov r0, r9
|
|
10000ac6: f000 f863 bl 10000b90 <timer_time_us_64>
|
|
10000aca: f108 0804 add.w r8, r8, #4
|
|
10000ace: f859 3028 ldr.w r3, [r9, r8, lsl #2]
|
|
10000ad2: 1a1b subs r3, r3, r0
|
|
10000ad4: 1a30 subs r0, r6, r0
|
|
10000ad6: eb65 0101 sbc.w r1, r5, r1
|
|
10000ada: 4298 cmp r0, r3
|
|
10000adc: f171 0100 sbcs.w r1, r1, #0
|
|
10000ae0: db10 blt.n 10000b04 <best_effort_wfe_or_timeout+0x6c>
|
|
10000ae2: bf20 wfe
|
|
10000ae4: 4b1e ldr r3, [pc, #120] @ (10000b60 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000ae6: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000ae8: 42aa cmp r2, r5
|
|
10000aea: d3e2 bcc.n 10000ab2 <best_effort_wfe_or_timeout+0x1a>
|
|
10000aec: bf14 ite ne
|
|
10000aee: 2401 movne r4, #1
|
|
10000af0: 2400 moveq r4, #0
|
|
10000af2: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000af4: 42b3 cmp r3, r6
|
|
10000af6: bf34 ite cc
|
|
10000af8: 4620 movcc r0, r4
|
|
10000afa: f044 0001 orrcs.w r0, r4, #1
|
|
10000afe: b003 add sp, #12
|
|
10000b00: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
10000b04: f000 f84c bl 10000ba0 <time_us_64>
|
|
10000b08: 4286 cmp r6, r0
|
|
10000b0a: eb65 0101 sbc.w r1, r5, r1
|
|
10000b0e: 2900 cmp r1, #0
|
|
10000b10: db14 blt.n 10000b3c <best_effort_wfe_or_timeout+0xa4>
|
|
10000b12: 4b15 ldr r3, [pc, #84] @ (10000b68 <best_effort_wfe_or_timeout+0xd0>)
|
|
10000b14: 4638 mov r0, r7
|
|
10000b16: e9cd 3400 strd r3, r4, [sp]
|
|
10000b1a: 4632 mov r2, r6
|
|
10000b1c: 462b mov r3, r5
|
|
10000b1e: f7ff ff17 bl 10000950 <alarm_pool_add_alarm_at_force_in_context>
|
|
10000b22: 1e01 subs r1, r0, #0
|
|
10000b24: dd0a ble.n 10000b3c <best_effort_wfe_or_timeout+0xa4>
|
|
10000b26: 4b0e ldr r3, [pc, #56] @ (10000b60 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000b28: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000b2a: 42aa cmp r2, r5
|
|
10000b2c: d316 bcc.n 10000b5c <best_effort_wfe_or_timeout+0xc4>
|
|
10000b2e: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000b30: 42b3 cmp r3, r6
|
|
10000b32: d311 bcc.n 10000b58 <best_effort_wfe_or_timeout+0xc0>
|
|
10000b34: 480b ldr r0, [pc, #44] @ (10000b64 <best_effort_wfe_or_timeout+0xcc>)
|
|
10000b36: f7ff ff6f bl 10000a18 <alarm_pool_cancel_alarm>
|
|
10000b3a: e7b6 b.n 10000aaa <best_effort_wfe_or_timeout+0x12>
|
|
10000b3c: 4b08 ldr r3, [pc, #32] @ (10000b60 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000b3e: 6a5c ldr r4, [r3, #36] @ 0x24
|
|
10000b40: 42ac cmp r4, r5
|
|
10000b42: d3b6 bcc.n 10000ab2 <best_effort_wfe_or_timeout+0x1a>
|
|
10000b44: 1b64 subs r4, r4, r5
|
|
10000b46: bf18 it ne
|
|
10000b48: 2401 movne r4, #1
|
|
10000b4a: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000b4c: 42b3 cmp r3, r6
|
|
10000b4e: bf34 ite cc
|
|
10000b50: 4620 movcc r0, r4
|
|
10000b52: f044 0001 orrcs.w r0, r4, #1
|
|
10000b56: e7ad b.n 10000ab4 <best_effort_wfe_or_timeout+0x1c>
|
|
10000b58: 42aa cmp r2, r5
|
|
10000b5a: d1eb bne.n 10000b34 <best_effort_wfe_or_timeout+0x9c>
|
|
10000b5c: bf20 wfe
|
|
10000b5e: e7e9 b.n 10000b34 <best_effort_wfe_or_timeout+0x9c>
|
|
10000b60: 400b0000 .word 0x400b0000
|
|
10000b64: 2000022c .word 0x2000022c
|
|
10000b68: 10000525 .word 0x10000525
|
|
|
|
10000b6c <timer_hardware_alarm_claim>:
|
|
10000b6c: b410 push {r4}
|
|
10000b6e: 4b05 ldr r3, [pc, #20] @ (10000b84 <timer_hardware_alarm_claim+0x18>)
|
|
10000b70: 4c05 ldr r4, [pc, #20] @ (10000b88 <timer_hardware_alarm_claim+0x1c>)
|
|
10000b72: 4a06 ldr r2, [pc, #24] @ (10000b8c <timer_hardware_alarm_claim+0x20>)
|
|
10000b74: 42a0 cmp r0, r4
|
|
10000b76: bf14 ite ne
|
|
10000b78: 4618 movne r0, r3
|
|
10000b7a: 1c58 addeq r0, r3, #1
|
|
10000b7c: f85d 4b04 ldr.w r4, [sp], #4
|
|
10000b80: f7ff bbf2 b.w 10000368 <hw_claim_or_assert>
|
|
10000b84: 200003f0 .word 0x200003f0
|
|
10000b88: 400b8000 .word 0x400b8000
|
|
10000b8c: 10001610 .word 0x10001610
|
|
|
|
10000b90 <timer_time_us_64>:
|
|
10000b90: 4603 mov r3, r0
|
|
10000b92: 6a41 ldr r1, [r0, #36] @ 0x24
|
|
10000b94: 460a mov r2, r1
|
|
10000b96: 6a98 ldr r0, [r3, #40] @ 0x28
|
|
10000b98: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000b9a: 428a cmp r2, r1
|
|
10000b9c: d1fa bne.n 10000b94 <timer_time_us_64+0x4>
|
|
10000b9e: 4770 bx lr
|
|
|
|
10000ba0 <time_us_64>:
|
|
10000ba0: 4b03 ldr r3, [pc, #12] @ (10000bb0 <time_us_64+0x10>)
|
|
10000ba2: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000ba4: 460a mov r2, r1
|
|
10000ba6: 6a98 ldr r0, [r3, #40] @ 0x28
|
|
10000ba8: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000baa: 4291 cmp r1, r2
|
|
10000bac: d1fa bne.n 10000ba4 <time_us_64+0x4>
|
|
10000bae: 4770 bx lr
|
|
10000bb0: 400b0000 .word 0x400b0000
|
|
|
|
10000bb4 <busy_wait_us>:
|
|
10000bb4: b430 push {r4, r5}
|
|
10000bb6: 4a15 ldr r2, [pc, #84] @ (10000c0c <busy_wait_us+0x58>)
|
|
10000bb8: 6a53 ldr r3, [r2, #36] @ 0x24
|
|
10000bba: 469c mov ip, r3
|
|
10000bbc: 6a94 ldr r4, [r2, #40] @ 0x28
|
|
10000bbe: 6a53 ldr r3, [r2, #36] @ 0x24
|
|
10000bc0: 4563 cmp r3, ip
|
|
10000bc2: d1fa bne.n 10000bba <busy_wait_us+0x6>
|
|
10000bc4: 1902 adds r2, r0, r4
|
|
10000bc6: 4159 adcs r1, r3
|
|
10000bc8: f04f 0500 mov.w r5, #0
|
|
10000bcc: bf28 it cs
|
|
10000bce: 2501 movcs r5, #1
|
|
10000bd0: 4b0e ldr r3, [pc, #56] @ (10000c0c <busy_wait_us+0x58>)
|
|
10000bd2: 6a5b ldr r3, [r3, #36] @ 0x24
|
|
10000bd4: b1b5 cbz r5, 10000c04 <busy_wait_us+0x50>
|
|
10000bd6: 1c5a adds r2, r3, #1
|
|
10000bd8: bf08 it eq
|
|
10000bda: 461a moveq r2, r3
|
|
10000bdc: d008 beq.n 10000bf0 <busy_wait_us+0x3c>
|
|
10000bde: f04f 31ff mov.w r1, #4294967295
|
|
10000be2: 460a mov r2, r1
|
|
10000be4: 4809 ldr r0, [pc, #36] @ (10000c0c <busy_wait_us+0x58>)
|
|
10000be6: 6a43 ldr r3, [r0, #36] @ 0x24
|
|
10000be8: 428b cmp r3, r1
|
|
10000bea: d3fc bcc.n 10000be6 <busy_wait_us+0x32>
|
|
10000bec: 428b cmp r3, r1
|
|
10000bee: d107 bne.n 10000c00 <busy_wait_us+0x4c>
|
|
10000bf0: 4906 ldr r1, [pc, #24] @ (10000c0c <busy_wait_us+0x58>)
|
|
10000bf2: e002 b.n 10000bfa <busy_wait_us+0x46>
|
|
10000bf4: 6a48 ldr r0, [r1, #36] @ 0x24
|
|
10000bf6: 4298 cmp r0, r3
|
|
10000bf8: d102 bne.n 10000c00 <busy_wait_us+0x4c>
|
|
10000bfa: 6a88 ldr r0, [r1, #40] @ 0x28
|
|
10000bfc: 4290 cmp r0, r2
|
|
10000bfe: d3f9 bcc.n 10000bf4 <busy_wait_us+0x40>
|
|
10000c00: bc30 pop {r4, r5}
|
|
10000c02: 4770 bx lr
|
|
10000c04: 4299 cmp r1, r3
|
|
10000c06: d8ed bhi.n 10000be4 <busy_wait_us+0x30>
|
|
10000c08: e7f0 b.n 10000bec <busy_wait_us+0x38>
|
|
10000c0a: bf00 nop
|
|
10000c0c: 400b0000 .word 0x400b0000
|
|
|
|
10000c10 <uart_init>:
|
|
10000c10: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
10000c12: 4605 mov r5, r0
|
|
10000c14: 2006 movs r0, #6
|
|
10000c16: 460e mov r6, r1
|
|
10000c18: f000 f8e4 bl 10000de4 <clock_get_hz>
|
|
10000c1c: 2800 cmp r0, #0
|
|
10000c1e: d042 beq.n 10000ca6 <uart_init+0x96>
|
|
10000c20: 4a35 ldr r2, [pc, #212] @ (10000cf8 <uart_init+0xe8>)
|
|
10000c22: 4836 ldr r0, [pc, #216] @ (10000cfc <uart_init+0xec>)
|
|
10000c24: 4295 cmp r5, r2
|
|
10000c26: bf14 ite ne
|
|
10000c28: f04f 6280 movne.w r2, #67108864 @ 0x4000000
|
|
10000c2c: f04f 6200 moveq.w r2, #134217728 @ 0x8000000
|
|
10000c30: 4b33 ldr r3, [pc, #204] @ (10000d00 <uart_init+0xf0>)
|
|
10000c32: 4934 ldr r1, [pc, #208] @ (10000d04 <uart_init+0xf4>)
|
|
10000c34: 6002 str r2, [r0, #0]
|
|
10000c36: 601a str r2, [r3, #0]
|
|
10000c38: 688c ldr r4, [r1, #8]
|
|
10000c3a: ea32 0404 bics.w r4, r2, r4
|
|
10000c3e: d1fb bne.n 10000c38 <uart_init+0x28>
|
|
10000c40: 4b2d ldr r3, [pc, #180] @ (10000cf8 <uart_init+0xe8>)
|
|
10000c42: f44f 7180 mov.w r1, #256 @ 0x100
|
|
10000c46: 1aeb subs r3, r5, r3
|
|
10000c48: fab3 f383 clz r3, r3
|
|
10000c4c: 4a2e ldr r2, [pc, #184] @ (10000d08 <uart_init+0xf8>)
|
|
10000c4e: 095b lsrs r3, r3, #5
|
|
10000c50: 2006 movs r0, #6
|
|
10000c52: f822 1013 strh.w r1, [r2, r3, lsl #1]
|
|
10000c56: f000 f8c5 bl 10000de4 <clock_get_hz>
|
|
10000c5a: 00c3 lsls r3, r0, #3
|
|
10000c5c: fbb3 f3f6 udiv r3, r3, r6
|
|
10000c60: 3301 adds r3, #1
|
|
10000c62: 09da lsrs r2, r3, #7
|
|
10000c64: d120 bne.n 10000ca8 <uart_init+0x98>
|
|
10000c66: 2640 movs r6, #64 @ 0x40
|
|
10000c68: 2101 movs r1, #1
|
|
10000c6a: 6269 str r1, [r5, #36] @ 0x24
|
|
10000c6c: 62aa str r2, [r5, #40] @ 0x28
|
|
10000c6e: 6b2f ldr r7, [r5, #48] @ 0x30
|
|
10000c70: 07fb lsls r3, r7, #31
|
|
10000c72: d422 bmi.n 10000cba <uart_init+0xaa>
|
|
10000c74: 462b mov r3, r5
|
|
10000c76: 2200 movs r2, #0
|
|
10000c78: f853 1f2c ldr.w r1, [r3, #44]!
|
|
10000c7c: 2006 movs r0, #6
|
|
10000c7e: f503 5480 add.w r4, r3, #4096 @ 0x1000
|
|
10000c82: 6022 str r2, [r4, #0]
|
|
10000c84: 632f str r7, [r5, #48] @ 0x30
|
|
10000c86: f000 f8ad bl 10000de4 <clock_get_hz>
|
|
10000c8a: f240 3101 movw r1, #769 @ 0x301
|
|
10000c8e: 2203 movs r2, #3
|
|
10000c90: 0080 lsls r0, r0, #2
|
|
10000c92: fbb0 f0f6 udiv r0, r0, r6
|
|
10000c96: 6aeb ldr r3, [r5, #44] @ 0x2c
|
|
10000c98: f083 0370 eor.w r3, r3, #112 @ 0x70
|
|
10000c9c: f003 037e and.w r3, r3, #126 @ 0x7e
|
|
10000ca0: 6023 str r3, [r4, #0]
|
|
10000ca2: 6329 str r1, [r5, #48] @ 0x30
|
|
10000ca4: 64aa str r2, [r5, #72] @ 0x48
|
|
10000ca6: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
10000ca8: f64f 71fe movw r1, #65534 @ 0xfffe
|
|
10000cac: 428a cmp r2, r1
|
|
10000cae: d91b bls.n 10000ce8 <uart_init+0xd8>
|
|
10000cb0: 4622 mov r2, r4
|
|
10000cb2: f64f 71ff movw r1, #65535 @ 0xffff
|
|
10000cb6: 4e15 ldr r6, [pc, #84] @ (10000d0c <uart_init+0xfc>)
|
|
10000cb8: e7d7 b.n 10000c6a <uart_init+0x5a>
|
|
10000cba: f240 3201 movw r2, #769 @ 0x301
|
|
10000cbe: f505 5340 add.w r3, r5, #12288 @ 0x3000
|
|
10000cc2: 631a str r2, [r3, #48] @ 0x30
|
|
10000cc4: 6a6b ldr r3, [r5, #36] @ 0x24
|
|
10000cc6: 6aac ldr r4, [r5, #40] @ 0x28
|
|
10000cc8: 2006 movs r0, #6
|
|
10000cca: eb04 1483 add.w r4, r4, r3, lsl #6
|
|
10000cce: f000 f889 bl 10000de4 <clock_get_hz>
|
|
10000cd2: 4b0f ldr r3, [pc, #60] @ (10000d10 <uart_init+0x100>)
|
|
10000cd4: 02a4 lsls r4, r4, #10
|
|
10000cd6: fba3 2300 umull r2, r3, r3, r0
|
|
10000cda: 0adb lsrs r3, r3, #11
|
|
10000cdc: 2100 movs r1, #0
|
|
10000cde: fbb4 f0f3 udiv r0, r4, r3
|
|
10000ce2: f7ff ff67 bl 10000bb4 <busy_wait_us>
|
|
10000ce6: e7c5 b.n 10000c74 <uart_init+0x64>
|
|
10000ce8: f3c3 0345 ubfx r3, r3, #1, #6
|
|
10000cec: 4611 mov r1, r2
|
|
10000cee: eb03 1682 add.w r6, r3, r2, lsl #6
|
|
10000cf2: 461a mov r2, r3
|
|
10000cf4: e7b9 b.n 10000c6a <uart_init+0x5a>
|
|
10000cf6: bf00 nop
|
|
10000cf8: 40078000 .word 0x40078000
|
|
10000cfc: 40022000 .word 0x40022000
|
|
10000d00: 40023000 .word 0x40023000
|
|
10000d04: 40020000 .word 0x40020000
|
|
10000d08: 20000464 .word 0x20000464
|
|
10000d0c: 003fffc0 .word 0x003fffc0
|
|
10000d10: 8f2b7b75 .word 0x8f2b7b75
|
|
|
|
10000d14 <clock_configure_undivided>:
|
|
10000d14: eb00 0c40 add.w ip, r0, r0, lsl #1
|
|
10000d18: ea4f 0c8c mov.w ip, ip, lsl #2
|
|
10000d1c: f10c 4c80 add.w ip, ip, #1073741824 @ 0x40000000
|
|
10000d20: f50c 3c80 add.w ip, ip, #65536 @ 0x10000
|
|
10000d24: b5f0 push {r4, r5, r6, r7, lr}
|
|
10000d26: 4616 mov r6, r2
|
|
10000d28: f8dc 2004 ldr.w r2, [ip, #4]
|
|
10000d2c: 1f05 subs r5, r0, #4
|
|
10000d2e: f5b2 3f80 cmp.w r2, #65536 @ 0x10000
|
|
10000d32: bf38 it cc
|
|
10000d34: f44f 3280 movcc.w r2, #65536 @ 0x10000
|
|
10000d38: b2ed uxtb r5, r5
|
|
10000d3a: bf38 it cc
|
|
10000d3c: f8cc 2004 strcc.w r2, [ip, #4]
|
|
10000d40: 2d01 cmp r5, #1
|
|
10000d42: d92a bls.n 10000d9a <clock_configure_undivided+0x86>
|
|
10000d44: f44f 6700 mov.w r7, #2048 @ 0x800
|
|
10000d48: 4c25 ldr r4, [pc, #148] @ (10000de0 <clock_configure_undivided+0xcc>)
|
|
10000d4a: f50c 5240 add.w r2, ip, #12288 @ 0x3000
|
|
10000d4e: 6017 str r7, [r2, #0]
|
|
10000d50: f854 2020 ldr.w r2, [r4, r0, lsl #2]
|
|
10000d54: b9b2 cbnz r2, 10000d84 <clock_configure_undivided+0x70>
|
|
10000d56: f8dc 2000 ldr.w r2, [ip]
|
|
10000d5a: 2d01 cmp r5, #1
|
|
10000d5c: ea82 1246 eor.w r2, r2, r6, lsl #5
|
|
10000d60: f002 02e0 and.w r2, r2, #224 @ 0xe0
|
|
10000d64: f50c 5680 add.w r6, ip, #4096 @ 0x1000
|
|
10000d68: 6032 str r2, [r6, #0]
|
|
10000d6a: d92a bls.n 10000dc2 <clock_configure_undivided+0xae>
|
|
10000d6c: f44f 6100 mov.w r1, #2048 @ 0x800
|
|
10000d70: f844 3020 str.w r3, [r4, r0, lsl #2]
|
|
10000d74: f44f 3380 mov.w r3, #65536 @ 0x10000
|
|
10000d78: f50c 5200 add.w r2, ip, #8192 @ 0x2000
|
|
10000d7c: 6011 str r1, [r2, #0]
|
|
10000d7e: f8cc 3004 str.w r3, [ip, #4]
|
|
10000d82: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000d84: 6967 ldr r7, [r4, #20]
|
|
10000d86: fbb7 fef2 udiv lr, r7, r2
|
|
10000d8a: f10e 0e01 add.w lr, lr, #1
|
|
10000d8e: eb0e 0e4e add.w lr, lr, lr, lsl #1
|
|
10000d92: f1be 0e03 subs.w lr, lr, #3
|
|
10000d96: d2fc bcs.n 10000d92 <clock_configure_undivided+0x7e>
|
|
10000d98: e7dd b.n 10000d56 <clock_configure_undivided+0x42>
|
|
10000d9a: 2901 cmp r1, #1
|
|
10000d9c: d1d2 bne.n 10000d44 <clock_configure_undivided+0x30>
|
|
10000d9e: 2403 movs r4, #3
|
|
10000da0: f50c 5240 add.w r2, ip, #12288 @ 0x3000
|
|
10000da4: 6014 str r4, [r2, #0]
|
|
10000da6: f8dc 2008 ldr.w r2, [ip, #8]
|
|
10000daa: 07d2 lsls r2, r2, #31
|
|
10000dac: d5fb bpl.n 10000da6 <clock_configure_undivided+0x92>
|
|
10000dae: f8dc 2000 ldr.w r2, [ip]
|
|
10000db2: 4c0b ldr r4, [pc, #44] @ (10000de0 <clock_configure_undivided+0xcc>)
|
|
10000db4: ea82 1246 eor.w r2, r2, r6, lsl #5
|
|
10000db8: f002 02e0 and.w r2, r2, #224 @ 0xe0
|
|
10000dbc: f50c 5680 add.w r6, ip, #4096 @ 0x1000
|
|
10000dc0: 6032 str r2, [r6, #0]
|
|
10000dc2: 2201 movs r2, #1
|
|
10000dc4: f8dc 5000 ldr.w r5, [ip]
|
|
10000dc8: 404d eors r5, r1
|
|
10000dca: f005 0503 and.w r5, r5, #3
|
|
10000dce: 6035 str r5, [r6, #0]
|
|
10000dd0: fa02 f101 lsl.w r1, r2, r1
|
|
10000dd4: f8dc 2008 ldr.w r2, [ip, #8]
|
|
10000dd8: 420a tst r2, r1
|
|
10000dda: d0fb beq.n 10000dd4 <clock_configure_undivided+0xc0>
|
|
10000ddc: e7c6 b.n 10000d6c <clock_configure_undivided+0x58>
|
|
10000dde: bf00 nop
|
|
10000de0: 200003f4 .word 0x200003f4
|
|
|
|
10000de4 <clock_get_hz>:
|
|
10000de4: 4b01 ldr r3, [pc, #4] @ (10000dec <clock_get_hz+0x8>)
|
|
10000de6: f853 0020 ldr.w r0, [r3, r0, lsl #2]
|
|
10000dea: 4770 bx lr
|
|
10000dec: 200003f4 .word 0x200003f4
|
|
|
|
10000df0 <pll_init>:
|
|
10000df0: b470 push {r4, r5, r6}
|
|
10000df2: 9d03 ldr r5, [sp, #12]
|
|
10000df4: 6804 ldr r4, [r0, #0]
|
|
10000df6: 032d lsls r5, r5, #12
|
|
10000df8: ea45 4503 orr.w r5, r5, r3, lsl #16
|
|
10000dfc: 4b1b ldr r3, [pc, #108] @ (10000e6c <pll_init+0x7c>)
|
|
10000dfe: 2c00 cmp r4, #0
|
|
10000e00: fbb3 f3f1 udiv r3, r3, r1
|
|
10000e04: fbb2 f6f3 udiv r6, r2, r3
|
|
10000e08: db1f blt.n 10000e4a <pll_init+0x5a>
|
|
10000e0a: 4a19 ldr r2, [pc, #100] @ (10000e70 <pll_init+0x80>)
|
|
10000e0c: 4b19 ldr r3, [pc, #100] @ (10000e74 <pll_init+0x84>)
|
|
10000e0e: 4290 cmp r0, r2
|
|
10000e10: bf14 ite ne
|
|
10000e12: f44f 4280 movne.w r2, #16384 @ 0x4000
|
|
10000e16: f44f 4200 moveq.w r2, #32768 @ 0x8000
|
|
10000e1a: 4c17 ldr r4, [pc, #92] @ (10000e78 <pll_init+0x88>)
|
|
10000e1c: 601a str r2, [r3, #0]
|
|
10000e1e: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
10000e22: 601a str r2, [r3, #0]
|
|
10000e24: 68a3 ldr r3, [r4, #8]
|
|
10000e26: ea32 0303 bics.w r3, r2, r3
|
|
10000e2a: d1fb bne.n 10000e24 <pll_init+0x34>
|
|
10000e2c: 2221 movs r2, #33 @ 0x21
|
|
10000e2e: f500 5340 add.w r3, r0, #12288 @ 0x3000
|
|
10000e32: 3304 adds r3, #4
|
|
10000e34: 6001 str r1, [r0, #0]
|
|
10000e36: 6086 str r6, [r0, #8]
|
|
10000e38: 601a str r2, [r3, #0]
|
|
10000e3a: 6802 ldr r2, [r0, #0]
|
|
10000e3c: 2a00 cmp r2, #0
|
|
10000e3e: dafc bge.n 10000e3a <pll_init+0x4a>
|
|
10000e40: 2208 movs r2, #8
|
|
10000e42: 60c5 str r5, [r0, #12]
|
|
10000e44: 601a str r2, [r3, #0]
|
|
10000e46: bc70 pop {r4, r5, r6}
|
|
10000e48: 4770 bx lr
|
|
10000e4a: 6803 ldr r3, [r0, #0]
|
|
10000e4c: f003 033f and.w r3, r3, #63 @ 0x3f
|
|
10000e50: 428b cmp r3, r1
|
|
10000e52: d1da bne.n 10000e0a <pll_init+0x1a>
|
|
10000e54: 6883 ldr r3, [r0, #8]
|
|
10000e56: f3c3 030b ubfx r3, r3, #0, #12
|
|
10000e5a: 42b3 cmp r3, r6
|
|
10000e5c: d1d5 bne.n 10000e0a <pll_init+0x1a>
|
|
10000e5e: 68c3 ldr r3, [r0, #12]
|
|
10000e60: f403 23ee and.w r3, r3, #487424 @ 0x77000
|
|
10000e64: 42ab cmp r3, r5
|
|
10000e66: d1d0 bne.n 10000e0a <pll_init+0x1a>
|
|
10000e68: e7ed b.n 10000e46 <pll_init+0x56>
|
|
10000e6a: bf00 nop
|
|
10000e6c: 00b71b00 .word 0x00b71b00
|
|
10000e70: 40058000 .word 0x40058000
|
|
10000e74: 40022000 .word 0x40022000
|
|
10000e78: 40020000 .word 0x40020000
|
|
|
|
10000e7c <tick_start>:
|
|
10000e7c: 2301 movs r3, #1
|
|
10000e7e: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
10000e82: 0080 lsls r0, r0, #2
|
|
10000e84: f100 4080 add.w r0, r0, #1073741824 @ 0x40000000
|
|
10000e88: f500 1084 add.w r0, r0, #1081344 @ 0x108000
|
|
10000e8c: 6041 str r1, [r0, #4]
|
|
10000e8e: 6003 str r3, [r0, #0]
|
|
10000e90: 4770 bx lr
|
|
10000e92: bf00 nop
|
|
|
|
10000e94 <rom_func_lookup>:
|
|
10000e94: 2300 movs r3, #0
|
|
10000e96: 8adb ldrh r3, [r3, #22]
|
|
10000e98: 2200 movs r2, #0
|
|
10000e9a: e842 f200 tt r2, r2
|
|
10000e9e: 0252 lsls r2, r2, #9
|
|
10000ea0: d401 bmi.n 10000ea6 <rom_func_lookup+0x12>
|
|
10000ea2: 2110 movs r1, #16
|
|
10000ea4: 4718 bx r3
|
|
10000ea6: 2104 movs r1, #4
|
|
10000ea8: 4718 bx r3
|
|
10000eaa: bf00 nop
|
|
|
|
10000eac <runtime_init_bootrom_locking_enable>:
|
|
10000eac: 4a03 ldr r2, [pc, #12] @ (10000ebc <runtime_init_bootrom_locking_enable+0x10>)
|
|
10000eae: f8d2 3828 ldr.w r3, [r2, #2088] @ 0x828
|
|
10000eb2: 2b00 cmp r3, #0
|
|
10000eb4: d0fb beq.n 10000eae <runtime_init_bootrom_locking_enable+0x2>
|
|
10000eb6: f3bf 8f5f dmb sy
|
|
10000eba: 4770 bx lr
|
|
10000ebc: 400e0000 .word 0x400e0000
|
|
|
|
10000ec0 <runtime_init_boot_locks_reset>:
|
|
10000ec0: 2100 movs r1, #0
|
|
10000ec2: 4b04 ldr r3, [pc, #16] @ (10000ed4 <runtime_init_boot_locks_reset+0x14>)
|
|
10000ec4: 4a04 ldr r2, [pc, #16] @ (10000ed8 <runtime_init_boot_locks_reset+0x18>)
|
|
10000ec6: f3bf 8f5f dmb sy
|
|
10000eca: f843 1b04 str.w r1, [r3], #4
|
|
10000ece: 4293 cmp r3, r2
|
|
10000ed0: d1f9 bne.n 10000ec6 <runtime_init_boot_locks_reset+0x6>
|
|
10000ed2: 4770 bx lr
|
|
10000ed4: 400e080c .word 0x400e080c
|
|
10000ed8: 400e082c .word 0x400e082c
|
|
|
|
10000edc <xosc_init>:
|
|
10000edc: b410 push {r4}
|
|
10000ede: f44f 708d mov.w r0, #282 @ 0x11a
|
|
10000ee2: f44f 642a mov.w r4, #2720 @ 0xaa0
|
|
10000ee6: 4a06 ldr r2, [pc, #24] @ (10000f00 <xosc_init+0x24>)
|
|
10000ee8: 4b06 ldr r3, [pc, #24] @ (10000f04 <xosc_init+0x28>)
|
|
10000eea: 4907 ldr r1, [pc, #28] @ (10000f08 <xosc_init+0x2c>)
|
|
10000eec: 6014 str r4, [r2, #0]
|
|
10000eee: 60d0 str r0, [r2, #12]
|
|
10000ef0: 6019 str r1, [r3, #0]
|
|
10000ef2: 6853 ldr r3, [r2, #4]
|
|
10000ef4: 2b00 cmp r3, #0
|
|
10000ef6: dafc bge.n 10000ef2 <xosc_init+0x16>
|
|
10000ef8: f85d 4b04 ldr.w r4, [sp], #4
|
|
10000efc: 4770 bx lr
|
|
10000efe: bf00 nop
|
|
10000f00: 40048000 .word 0x40048000
|
|
10000f04: 4004a000 .word 0x4004a000
|
|
10000f08: 00fab000 .word 0x00fab000
|
|
|
|
10000f0c <first_per_core_initializer>:
|
|
10000f0c: 4770 bx lr
|
|
10000f0e: bf00 nop
|
|
|
|
10000f10 <hard_assertion_failure>:
|
|
10000f10: b508 push {r3, lr}
|
|
10000f12: 4801 ldr r0, [pc, #4] @ (10000f18 <hard_assertion_failure+0x8>)
|
|
10000f14: f7ff fa10 bl 10000338 <panic>
|
|
10000f18: 10001634 .word 0x10001634
|
|
|
|
10000f1c <runtime_run_initializers>:
|
|
10000f1c: b538 push {r3, r4, r5, lr}
|
|
10000f1e: 4c05 ldr r4, [pc, #20] @ (10000f34 <runtime_run_initializers+0x18>)
|
|
10000f20: 4d05 ldr r5, [pc, #20] @ (10000f38 <runtime_run_initializers+0x1c>)
|
|
10000f22: 42ac cmp r4, r5
|
|
10000f24: d204 bcs.n 10000f30 <runtime_run_initializers+0x14>
|
|
10000f26: f854 3b04 ldr.w r3, [r4], #4
|
|
10000f2a: 4798 blx r3
|
|
10000f2c: 42ac cmp r4, r5
|
|
10000f2e: d3fa bcc.n 10000f26 <runtime_run_initializers+0xa>
|
|
10000f30: bd38 pop {r3, r4, r5, pc}
|
|
10000f32: bf00 nop
|
|
10000f34: 10001560 .word 0x10001560
|
|
10000f38: 100015a0 .word 0x100015a0
|
|
|
|
10000f3c <runtime_init_early_resets>:
|
|
10000f3c: b410 push {r4}
|
|
10000f3e: 4807 ldr r0, [pc, #28] @ (10000f5c <runtime_init_early_resets+0x20>)
|
|
10000f40: 4c07 ldr r4, [pc, #28] @ (10000f60 <runtime_init_early_resets+0x24>)
|
|
10000f42: 4b08 ldr r3, [pc, #32] @ (10000f64 <runtime_init_early_resets+0x28>)
|
|
10000f44: 4a08 ldr r2, [pc, #32] @ (10000f68 <runtime_init_early_resets+0x2c>)
|
|
10000f46: 4909 ldr r1, [pc, #36] @ (10000f6c <runtime_init_early_resets+0x30>)
|
|
10000f48: 6004 str r4, [r0, #0]
|
|
10000f4a: 601a str r2, [r3, #0]
|
|
10000f4c: 688b ldr r3, [r1, #8]
|
|
10000f4e: ea32 0303 bics.w r3, r2, r3
|
|
10000f52: d1fb bne.n 10000f4c <runtime_init_early_resets+0x10>
|
|
10000f54: f85d 4b04 ldr.w r4, [sp], #4
|
|
10000f58: 4770 bx lr
|
|
10000f5a: bf00 nop
|
|
10000f5c: 40022000 .word 0x40022000
|
|
10000f60: efef3b7f .word 0xefef3b7f
|
|
10000f64: 40023000 .word 0x40023000
|
|
10000f68: 03f3fff6 .word 0x03f3fff6
|
|
10000f6c: 40020000 .word 0x40020000
|
|
|
|
10000f70 <runtime_init_usb_power_down>:
|
|
10000f70: 4b04 ldr r3, [pc, #16] @ (10000f84 <runtime_init_usb_power_down+0x14>)
|
|
10000f72: 6cdb ldr r3, [r3, #76] @ 0x4c
|
|
10000f74: f5b3 4f00 cmp.w r3, #32768 @ 0x8000
|
|
10000f78: d103 bne.n 10000f82 <runtime_init_usb_power_down+0x12>
|
|
10000f7a: f44f 2280 mov.w r2, #262144 @ 0x40000
|
|
10000f7e: 4b02 ldr r3, [pc, #8] @ (10000f88 <runtime_init_usb_power_down+0x18>)
|
|
10000f80: 64da str r2, [r3, #76] @ 0x4c
|
|
10000f82: 4770 bx lr
|
|
10000f84: 50110000 .word 0x50110000
|
|
10000f88: 50112000 .word 0x50112000
|
|
|
|
10000f8c <runtime_init_per_core_enable_coprocessors>:
|
|
10000f8c: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000
|
|
10000f90: 4b04 ldr r3, [pc, #16] @ (10000fa4 <runtime_init_per_core_enable_coprocessors+0x18>)
|
|
10000f92: f8d2 1d88 ldr.w r1, [r2, #3464] @ 0xd88
|
|
10000f96: 430b orrs r3, r1
|
|
10000f98: f8c2 3d88 str.w r3, [r2, #3464] @ 0xd88
|
|
10000f9c: ee10 0430 dcp_rcmp r0
|
|
10000fa0: 4770 bx lr
|
|
10000fa2: bf00 nop
|
|
10000fa4: 00300303 .word 0x00300303
|
|
|
|
10000fa8 <runtime_init_post_clock_resets>:
|
|
10000fa8: f06f 4160 mvn.w r1, #3758096384 @ 0xe0000000
|
|
10000fac: 4b04 ldr r3, [pc, #16] @ (10000fc0 <runtime_init_post_clock_resets+0x18>)
|
|
10000fae: 4a05 ldr r2, [pc, #20] @ (10000fc4 <runtime_init_post_clock_resets+0x1c>)
|
|
10000fb0: 6019 str r1, [r3, #0]
|
|
10000fb2: 6893 ldr r3, [r2, #8]
|
|
10000fb4: 43db mvns r3, r3
|
|
10000fb6: f033 4360 bics.w r3, r3, #3758096384 @ 0xe0000000
|
|
10000fba: d1fa bne.n 10000fb2 <runtime_init_post_clock_resets+0xa>
|
|
10000fbc: 4770 bx lr
|
|
10000fbe: bf00 nop
|
|
10000fc0: 40023000 .word 0x40023000
|
|
10000fc4: 40020000 .word 0x40020000
|
|
|
|
10000fc8 <runtime_init_bootrom_reset>:
|
|
10000fc8: b510 push {r4, lr}
|
|
10000fca: f245 2053 movw r0, #21075 @ 0x5253
|
|
10000fce: f7ff ff61 bl 10000e94 <rom_func_lookup>
|
|
10000fd2: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
10000fd6: 4603 mov r3, r0
|
|
10000fd8: 2004 movs r0, #4
|
|
10000fda: 4718 bx r3
|
|
|
|
10000fdc <runtime_init_per_core_bootrom_reset>:
|
|
10000fdc: b510 push {r4, lr}
|
|
10000fde: f245 2053 movw r0, #21075 @ 0x5253
|
|
10000fe2: f7ff ff57 bl 10000e94 <rom_func_lookup>
|
|
10000fe6: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
10000fea: 4603 mov r3, r0
|
|
10000fec: 2001 movs r0, #1
|
|
10000fee: 4718 bx r3
|
|
|
|
10000ff0 <runtime_init_spin_locks_reset>:
|
|
10000ff0: f7ff b9fa b.w 100003e8 <spin_locks_reset>
|
|
|
|
10000ff4 <runtime_init_install_ram_vector_table>:
|
|
10000ff4: 4914 ldr r1, [pc, #80] @ (10001048 <runtime_init_install_ram_vector_table+0x54>)
|
|
10000ff6: 4b15 ldr r3, [pc, #84] @ (1000104c <runtime_init_install_ram_vector_table+0x58>)
|
|
10000ff8: b570 push {r4, r5, r6, lr}
|
|
10000ffa: 1a5c subs r4, r3, r1
|
|
10000ffc: 10a6 asrs r6, r4, #2
|
|
10000ffe: 2e44 cmp r6, #68 @ 0x44
|
|
10001000: 4632 mov r2, r6
|
|
10001002: bf28 it cs
|
|
10001004: 2244 movcs r2, #68 @ 0x44
|
|
10001006: 4d12 ldr r5, [pc, #72] @ (10001050 <runtime_init_install_ram_vector_table+0x5c>)
|
|
10001008: 0092 lsls r2, r2, #2
|
|
1000100a: 4628 mov r0, r5
|
|
1000100c: f000 f9fa bl 10001404 <memcpy>
|
|
10001010: f5b4 7f86 cmp.w r4, #268 @ 0x10c
|
|
10001014: d813 bhi.n 1000103e <runtime_init_install_ram_vector_table+0x4a>
|
|
10001016: 4a0f ldr r2, [pc, #60] @ (10001054 <runtime_init_install_ram_vector_table+0x60>)
|
|
10001018: f1c6 0044 rsb r0, r6, #68 @ 0x44
|
|
1000101c: d012 beq.n 10001044 <runtime_init_install_ram_vector_table+0x50>
|
|
1000101e: 192b adds r3, r5, r4
|
|
10001020: 0841 lsrs r1, r0, #1
|
|
10001022: eb03 01c1 add.w r1, r3, r1, lsl #3
|
|
10001026: e9c3 2200 strd r2, r2, [r3]
|
|
1000102a: 3308 adds r3, #8
|
|
1000102c: 428b cmp r3, r1
|
|
1000102e: d1fa bne.n 10001026 <runtime_init_install_ram_vector_table+0x32>
|
|
10001030: 07c3 lsls r3, r0, #31
|
|
10001032: d504 bpl.n 1000103e <runtime_init_install_ram_vector_table+0x4a>
|
|
10001034: f020 0001 bic.w r0, r0, #1
|
|
10001038: 4430 add r0, r6
|
|
1000103a: f845 2020 str.w r2, [r5, r0, lsl #2]
|
|
1000103e: 4b06 ldr r3, [pc, #24] @ (10001058 <runtime_init_install_ram_vector_table+0x64>)
|
|
10001040: 609d str r5, [r3, #8]
|
|
10001042: bd70 pop {r4, r5, r6, pc}
|
|
10001044: 2043 movs r0, #67 @ 0x43
|
|
10001046: e7f8 b.n 1000103a <runtime_init_install_ram_vector_table+0x46>
|
|
10001048: 10000000 .word 0x10000000
|
|
1000104c: 10000110 .word 0x10000110
|
|
10001050: 20000000 .word 0x20000000
|
|
10001054: 10000111 .word 0x10000111
|
|
10001058: e000ed00 .word 0xe000ed00
|
|
|
|
1000105c <runtime_init_clocks>:
|
|
1000105c: 2300 movs r3, #0
|
|
1000105e: b570 push {r4, r5, r6, lr}
|
|
10001060: 4c2b ldr r4, [pc, #172] @ (10001110 <runtime_init_clocks+0xb4>)
|
|
10001062: b082 sub sp, #8
|
|
10001064: f8c4 3084 str.w r3, [r4, #132] @ 0x84
|
|
10001068: f7ff ff38 bl 10000edc <xosc_init>
|
|
1000106c: 2201 movs r2, #1
|
|
1000106e: 4b29 ldr r3, [pc, #164] @ (10001114 <runtime_init_clocks+0xb8>)
|
|
10001070: 63da str r2, [r3, #60] @ 0x3c
|
|
10001072: 6c63 ldr r3, [r4, #68] @ 0x44
|
|
10001074: 2b01 cmp r3, #1
|
|
10001076: d1fc bne.n 10001072 <runtime_init_clocks+0x16>
|
|
10001078: 2103 movs r1, #3
|
|
1000107a: 4a26 ldr r2, [pc, #152] @ (10001114 <runtime_init_clocks+0xb8>)
|
|
1000107c: 4b24 ldr r3, [pc, #144] @ (10001110 <runtime_init_clocks+0xb4>)
|
|
1000107e: 6311 str r1, [r2, #48] @ 0x30
|
|
10001080: 6b9c ldr r4, [r3, #56] @ 0x38
|
|
10001082: 2c01 cmp r4, #1
|
|
10001084: d1fc bne.n 10001080 <runtime_init_clocks+0x24>
|
|
10001086: 2602 movs r6, #2
|
|
10001088: 2505 movs r5, #5
|
|
1000108a: 4621 mov r1, r4
|
|
1000108c: 2305 movs r3, #5
|
|
1000108e: 4a22 ldr r2, [pc, #136] @ (10001118 <runtime_init_clocks+0xbc>)
|
|
10001090: 4822 ldr r0, [pc, #136] @ (1000111c <runtime_init_clocks+0xc0>)
|
|
10001092: 9600 str r6, [sp, #0]
|
|
10001094: f7ff feac bl 10000df0 <pll_init>
|
|
10001098: 4621 mov r1, r4
|
|
1000109a: 462b mov r3, r5
|
|
1000109c: 4a20 ldr r2, [pc, #128] @ (10001120 <runtime_init_clocks+0xc4>)
|
|
1000109e: 4821 ldr r0, [pc, #132] @ (10001124 <runtime_init_clocks+0xc8>)
|
|
100010a0: 9500 str r5, [sp, #0]
|
|
100010a2: f7ff fea5 bl 10000df0 <pll_init>
|
|
100010a6: 2200 movs r2, #0
|
|
100010a8: 2004 movs r0, #4
|
|
100010aa: 4631 mov r1, r6
|
|
100010ac: 4b1e ldr r3, [pc, #120] @ (10001128 <runtime_init_clocks+0xcc>)
|
|
100010ae: f7ff fe31 bl 10000d14 <clock_configure_undivided>
|
|
100010b2: 4621 mov r1, r4
|
|
100010b4: 4628 mov r0, r5
|
|
100010b6: 2200 movs r2, #0
|
|
100010b8: 4b1c ldr r3, [pc, #112] @ (1000112c <runtime_init_clocks+0xd0>)
|
|
100010ba: f7ff fe2b bl 10000d14 <clock_configure_undivided>
|
|
100010be: 2200 movs r2, #0
|
|
100010c0: 2008 movs r0, #8
|
|
100010c2: 4611 mov r1, r2
|
|
100010c4: 4b1a ldr r3, [pc, #104] @ (10001130 <runtime_init_clocks+0xd4>)
|
|
100010c6: f7ff fe25 bl 10000d14 <clock_configure_undivided>
|
|
100010ca: 2200 movs r2, #0
|
|
100010cc: 2009 movs r0, #9
|
|
100010ce: 4611 mov r1, r2
|
|
100010d0: 4b17 ldr r3, [pc, #92] @ (10001130 <runtime_init_clocks+0xd4>)
|
|
100010d2: f7ff fe1f bl 10000d14 <clock_configure_undivided>
|
|
100010d6: 2200 movs r2, #0
|
|
100010d8: 2006 movs r0, #6
|
|
100010da: 4611 mov r1, r2
|
|
100010dc: 4b13 ldr r3, [pc, #76] @ (1000112c <runtime_init_clocks+0xd0>)
|
|
100010de: f7ff fe19 bl 10000d14 <clock_configure_undivided>
|
|
100010e2: 2200 movs r2, #0
|
|
100010e4: 4b11 ldr r3, [pc, #68] @ (1000112c <runtime_init_clocks+0xd0>)
|
|
100010e6: 2007 movs r0, #7
|
|
100010e8: 4611 mov r1, r2
|
|
100010ea: f7ff fe13 bl 10000d14 <clock_configure_undivided>
|
|
100010ee: 2004 movs r0, #4
|
|
100010f0: f7ff fe78 bl 10000de4 <clock_get_hz>
|
|
100010f4: 2400 movs r4, #0
|
|
100010f6: 4b0f ldr r3, [pc, #60] @ (10001134 <runtime_init_clocks+0xd8>)
|
|
100010f8: fba3 3500 umull r3, r5, r3, r0
|
|
100010fc: 0cad lsrs r5, r5, #18
|
|
100010fe: b2e0 uxtb r0, r4
|
|
10001100: 4629 mov r1, r5
|
|
10001102: 3401 adds r4, #1
|
|
10001104: f7ff feba bl 10000e7c <tick_start>
|
|
10001108: 2c06 cmp r4, #6
|
|
1000110a: d1f8 bne.n 100010fe <runtime_init_clocks+0xa2>
|
|
1000110c: b002 add sp, #8
|
|
1000110e: bd70 pop {r4, r5, r6, pc}
|
|
10001110: 40010000 .word 0x40010000
|
|
10001114: 40013000 .word 0x40013000
|
|
10001118: 59682f00 .word 0x59682f00
|
|
1000111c: 40050000 .word 0x40050000
|
|
10001120: 47868c00 .word 0x47868c00
|
|
10001124: 40058000 .word 0x40058000
|
|
10001128: 00b71b00 .word 0x00b71b00
|
|
1000112c: 08f0d180 .word 0x08f0d180
|
|
10001130: 02dc6c00 .word 0x02dc6c00
|
|
10001134: 431bde83 .word 0x431bde83
|
|
|
|
10001138 <_out_char>:
|
|
10001138: b900 cbnz r0, 1000113c <_out_char+0x4>
|
|
1000113a: 4770 bx lr
|
|
1000113c: f000 b902 b.w 10001344 <__wrap_putchar>
|
|
|
|
10001140 <weak_raw_vprintf>:
|
|
10001140: b510 push {r4, lr}
|
|
10001142: 4b09 ldr r3, [pc, #36] @ (10001168 <weak_raw_vprintf+0x28>)
|
|
10001144: b084 sub sp, #16
|
|
10001146: 681c ldr r4, [r3, #0]
|
|
10001148: b14c cbz r4, 1000115e <weak_raw_vprintf+0x1e>
|
|
1000114a: 4603 mov r3, r0
|
|
1000114c: 9100 str r1, [sp, #0]
|
|
1000114e: f04f 32ff mov.w r2, #4294967295
|
|
10001152: a903 add r1, sp, #12
|
|
10001154: 4805 ldr r0, [pc, #20] @ (1000116c <weak_raw_vprintf+0x2c>)
|
|
10001156: 47a0 blx r4
|
|
10001158: 2001 movs r0, #1
|
|
1000115a: b004 add sp, #16
|
|
1000115c: bd10 pop {r4, pc}
|
|
1000115e: f000 f933 bl 100013c8 <__wrap_puts>
|
|
10001162: 4620 mov r0, r4
|
|
10001164: b004 add sp, #16
|
|
10001166: bd10 pop {r4, pc}
|
|
10001168: 20000424 .word 0x20000424
|
|
1000116c: 10001139 .word 0x10001139
|
|
|
|
10001170 <_exit>:
|
|
10001170: be00 bkpt 0x0000
|
|
10001172: e7fd b.n 10001170 <_exit>
|
|
|
|
10001174 <exit>:
|
|
10001174: b508 push {r3, lr}
|
|
10001176: f7ff fffb bl 10001170 <_exit>
|
|
1000117a: bf00 nop
|
|
|
|
1000117c <runtime_init>:
|
|
1000117c: b538 push {r3, r4, r5, lr}
|
|
1000117e: 4c06 ldr r4, [pc, #24] @ (10001198 <runtime_init+0x1c>)
|
|
10001180: 4d06 ldr r5, [pc, #24] @ (1000119c <runtime_init+0x20>)
|
|
10001182: f7ff fecb bl 10000f1c <runtime_run_initializers>
|
|
10001186: 42ac cmp r4, r5
|
|
10001188: d204 bcs.n 10001194 <runtime_init+0x18>
|
|
1000118a: f854 3b04 ldr.w r3, [r4], #4
|
|
1000118e: 4798 blx r3
|
|
10001190: 42ac cmp r4, r5
|
|
10001192: d3fa bcc.n 1000118a <runtime_init+0xe>
|
|
10001194: bd38 pop {r3, r4, r5, pc}
|
|
10001196: bf00 nop
|
|
10001198: 100015a0 .word 0x100015a0
|
|
1000119c: 100015a4 .word 0x100015a4
|
|
|
|
100011a0 <stdio_out_chars_no_crlf>:
|
|
100011a0: 6803 ldr r3, [r0, #0]
|
|
100011a2: 4608 mov r0, r1
|
|
100011a4: 4611 mov r1, r2
|
|
100011a6: 4718 bx r3
|
|
|
|
100011a8 <stdio_out_chars_crlf>:
|
|
100011a8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
100011ac: 4615 mov r5, r2
|
|
100011ae: 7d42 ldrb r2, [r0, #21]
|
|
100011b0: 4607 mov r7, r0
|
|
100011b2: 4688 mov r8, r1
|
|
100011b4: 2a00 cmp r2, #0
|
|
100011b6: d046 beq.n 10001246 <stdio_out_chars_crlf+0x9e>
|
|
100011b8: 2d00 cmp r5, #0
|
|
100011ba: dd1d ble.n 100011f8 <stdio_out_chars_crlf+0x50>
|
|
100011bc: 780b ldrb r3, [r1, #0]
|
|
100011be: 2b0a cmp r3, #10
|
|
100011c0: d023 beq.n 1000120a <stdio_out_chars_crlf+0x62>
|
|
100011c2: 2d01 cmp r5, #1
|
|
100011c4: f04f 0c00 mov.w ip, #0
|
|
100011c8: d018 beq.n 100011fc <stdio_out_chars_crlf+0x54>
|
|
100011ca: 4646 mov r6, r8
|
|
100011cc: 2401 movs r4, #1
|
|
100011ce: f816 2f01 ldrb.w r2, [r6, #1]!
|
|
100011d2: 4621 mov r1, r4
|
|
100011d4: 2a0a cmp r2, #10
|
|
100011d6: f104 0401 add.w r4, r4, #1
|
|
100011da: d022 beq.n 10001222 <stdio_out_chars_crlf+0x7a>
|
|
100011dc: 42a5 cmp r5, r4
|
|
100011de: d1f6 bne.n 100011ce <stdio_out_chars_crlf+0x26>
|
|
100011e0: 4565 cmp r5, ip
|
|
100011e2: dc0b bgt.n 100011fc <stdio_out_chars_crlf+0x54>
|
|
100011e4: eb08 0305 add.w r3, r8, r5
|
|
100011e8: f813 3c01 ldrb.w r3, [r3, #-1]
|
|
100011ec: f1a3 030d sub.w r3, r3, #13
|
|
100011f0: fab3 f383 clz r3, r3
|
|
100011f4: 095b lsrs r3, r3, #5
|
|
100011f6: 753b strb r3, [r7, #20]
|
|
100011f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
100011fc: 683b ldr r3, [r7, #0]
|
|
100011fe: eba5 010c sub.w r1, r5, ip
|
|
10001202: eb08 000c add.w r0, r8, ip
|
|
10001206: 4798 blx r3
|
|
10001208: e7ec b.n 100011e4 <stdio_out_chars_crlf+0x3c>
|
|
1000120a: 7d03 ldrb r3, [r0, #20]
|
|
1000120c: 2b00 cmp r3, #0
|
|
1000120e: d1d8 bne.n 100011c2 <stdio_out_chars_crlf+0x1a>
|
|
10001210: 6803 ldr r3, [r0, #0]
|
|
10001212: 2102 movs r1, #2
|
|
10001214: 480f ldr r0, [pc, #60] @ (10001254 <stdio_out_chars_crlf+0xac>)
|
|
10001216: 4798 blx r3
|
|
10001218: 2d01 cmp r5, #1
|
|
1000121a: d0e3 beq.n 100011e4 <stdio_out_chars_crlf+0x3c>
|
|
1000121c: f04f 0c01 mov.w ip, #1
|
|
10001220: e7d3 b.n 100011ca <stdio_out_chars_crlf+0x22>
|
|
10001222: f816 3c01 ldrb.w r3, [r6, #-1]
|
|
10001226: 2b0d cmp r3, #13
|
|
10001228: d0d8 beq.n 100011dc <stdio_out_chars_crlf+0x34>
|
|
1000122a: 458c cmp ip, r1
|
|
1000122c: eb08 000c add.w r0, r8, ip
|
|
10001230: eba1 010c sub.w r1, r1, ip
|
|
10001234: da01 bge.n 1000123a <stdio_out_chars_crlf+0x92>
|
|
10001236: 683b ldr r3, [r7, #0]
|
|
10001238: 4798 blx r3
|
|
1000123a: 2102 movs r1, #2
|
|
1000123c: 4805 ldr r0, [pc, #20] @ (10001254 <stdio_out_chars_crlf+0xac>)
|
|
1000123e: 683b ldr r3, [r7, #0]
|
|
10001240: 4798 blx r3
|
|
10001242: 46a4 mov ip, r4
|
|
10001244: e7ca b.n 100011dc <stdio_out_chars_crlf+0x34>
|
|
10001246: 4629 mov r1, r5
|
|
10001248: 4640 mov r0, r8
|
|
1000124a: 683b ldr r3, [r7, #0]
|
|
1000124c: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
|
|
10001250: 4718 bx r3
|
|
10001252: bf00 nop
|
|
10001254: 100016e4 .word 0x100016e4
|
|
|
|
10001258 <stdio_put_string>:
|
|
10001258: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
1000125c: b082 sub sp, #8
|
|
1000125e: 460d mov r5, r1
|
|
10001260: 4691 mov r9, r2
|
|
10001262: 461c mov r4, r3
|
|
10001264: 4606 mov r6, r0
|
|
10001266: f7ff fc9b bl 10000ba0 <time_us_64>
|
|
1000126a: f04f 3cff mov.w ip, #4294967295
|
|
1000126e: f06f 4700 mvn.w r7, #2147483648 @ 0x80000000
|
|
10001272: 4a2e ldr r2, [pc, #184] @ (1000132c <stdio_put_string+0xd4>)
|
|
10001274: 1882 adds r2, r0, r2
|
|
10001276: f141 0300 adc.w r3, r1, #0
|
|
1000127a: 4594 cmp ip, r2
|
|
1000127c: eb77 0103 sbcs.w r1, r7, r3
|
|
10001280: bf3c itt cc
|
|
10001282: 4662 movcc r2, ip
|
|
10001284: 463b movcc r3, r7
|
|
10001286: 482a ldr r0, [pc, #168] @ (10001330 <stdio_put_string+0xd8>)
|
|
10001288: f000 f966 bl 10001558 <__mutex_try_enter_block_until_veneer>
|
|
1000128c: 1c6b adds r3, r5, #1
|
|
1000128e: 4680 mov r8, r0
|
|
10001290: d040 beq.n 10001314 <stdio_put_string+0xbc>
|
|
10001292: b30c cbz r4, 100012d8 <stdio_put_string+0x80>
|
|
10001294: 4f27 ldr r7, [pc, #156] @ (10001334 <stdio_put_string+0xdc>)
|
|
10001296: 4b28 ldr r3, [pc, #160] @ (10001338 <stdio_put_string+0xe0>)
|
|
10001298: 681c ldr r4, [r3, #0]
|
|
1000129a: b1b4 cbz r4, 100012ca <stdio_put_string+0x72>
|
|
1000129c: f1b9 0f00 cmp.w r9, #0
|
|
100012a0: d11c bne.n 100012dc <stdio_put_string+0x84>
|
|
100012a2: f8df 909c ldr.w r9, [pc, #156] @ 10001340 <stdio_put_string+0xe8>
|
|
100012a6: e001 b.n 100012ac <stdio_put_string+0x54>
|
|
100012a8: 6924 ldr r4, [r4, #16]
|
|
100012aa: b174 cbz r4, 100012ca <stdio_put_string+0x72>
|
|
100012ac: 6823 ldr r3, [r4, #0]
|
|
100012ae: 2b00 cmp r3, #0
|
|
100012b0: d0fa beq.n 100012a8 <stdio_put_string+0x50>
|
|
100012b2: f8d9 3000 ldr.w r3, [r9]
|
|
100012b6: b10b cbz r3, 100012bc <stdio_put_string+0x64>
|
|
100012b8: 429c cmp r4, r3
|
|
100012ba: d1f5 bne.n 100012a8 <stdio_put_string+0x50>
|
|
100012bc: 4620 mov r0, r4
|
|
100012be: 462a mov r2, r5
|
|
100012c0: 4631 mov r1, r6
|
|
100012c2: 47b8 blx r7
|
|
100012c4: 6924 ldr r4, [r4, #16]
|
|
100012c6: 2c00 cmp r4, #0
|
|
100012c8: d1f0 bne.n 100012ac <stdio_put_string+0x54>
|
|
100012ca: f1b8 0f00 cmp.w r8, #0
|
|
100012ce: d126 bne.n 1000131e <stdio_put_string+0xc6>
|
|
100012d0: 4628 mov r0, r5
|
|
100012d2: b002 add sp, #8
|
|
100012d4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
100012d8: 4f18 ldr r7, [pc, #96] @ (1000133c <stdio_put_string+0xe4>)
|
|
100012da: e7dc b.n 10001296 <stdio_put_string+0x3e>
|
|
100012dc: f04f 0a0a mov.w sl, #10
|
|
100012e0: f8df 905c ldr.w r9, [pc, #92] @ 10001340 <stdio_put_string+0xe8>
|
|
100012e4: e002 b.n 100012ec <stdio_put_string+0x94>
|
|
100012e6: 6924 ldr r4, [r4, #16]
|
|
100012e8: 2c00 cmp r4, #0
|
|
100012ea: d0ee beq.n 100012ca <stdio_put_string+0x72>
|
|
100012ec: 6823 ldr r3, [r4, #0]
|
|
100012ee: 2b00 cmp r3, #0
|
|
100012f0: d0f9 beq.n 100012e6 <stdio_put_string+0x8e>
|
|
100012f2: f8d9 3000 ldr.w r3, [r9]
|
|
100012f6: b10b cbz r3, 100012fc <stdio_put_string+0xa4>
|
|
100012f8: 42a3 cmp r3, r4
|
|
100012fa: d1f4 bne.n 100012e6 <stdio_put_string+0x8e>
|
|
100012fc: 462a mov r2, r5
|
|
100012fe: 4631 mov r1, r6
|
|
10001300: 4620 mov r0, r4
|
|
10001302: 47b8 blx r7
|
|
10001304: 2201 movs r2, #1
|
|
10001306: 4620 mov r0, r4
|
|
10001308: f10d 0107 add.w r1, sp, #7
|
|
1000130c: f88d a007 strb.w sl, [sp, #7]
|
|
10001310: 47b8 blx r7
|
|
10001312: e7e8 b.n 100012e6 <stdio_put_string+0x8e>
|
|
10001314: 4630 mov r0, r6
|
|
10001316: f000 f8eb bl 100014f0 <strlen>
|
|
1000131a: 4605 mov r5, r0
|
|
1000131c: e7b9 b.n 10001292 <stdio_put_string+0x3a>
|
|
1000131e: 4804 ldr r0, [pc, #16] @ (10001330 <stdio_put_string+0xd8>)
|
|
10001320: f000 f916 bl 10001550 <__mutex_exit_veneer>
|
|
10001324: 4628 mov r0, r5
|
|
10001326: b002 add sp, #8
|
|
10001328: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1000132c: 000f4240 .word 0x000f4240
|
|
10001330: 20000244 .word 0x20000244
|
|
10001334: 100011a9 .word 0x100011a9
|
|
10001338: 2000041c .word 0x2000041c
|
|
1000133c: 100011a1 .word 0x100011a1
|
|
10001340: 20000420 .word 0x20000420
|
|
|
|
10001344 <__wrap_putchar>:
|
|
10001344: b5f0 push {r4, r5, r6, r7, lr}
|
|
10001346: b083 sub sp, #12
|
|
10001348: 4606 mov r6, r0
|
|
1000134a: f88d 0007 strb.w r0, [sp, #7]
|
|
1000134e: f7ff fc27 bl 10000ba0 <time_us_64>
|
|
10001352: f04f 35ff mov.w r5, #4294967295
|
|
10001356: f06f 4400 mvn.w r4, #2147483648 @ 0x80000000
|
|
1000135a: 4a17 ldr r2, [pc, #92] @ (100013b8 <__wrap_putchar+0x74>)
|
|
1000135c: 1882 adds r2, r0, r2
|
|
1000135e: f141 0300 adc.w r3, r1, #0
|
|
10001362: 4295 cmp r5, r2
|
|
10001364: eb74 0103 sbcs.w r1, r4, r3
|
|
10001368: bf3c itt cc
|
|
1000136a: 4623 movcc r3, r4
|
|
1000136c: 462a movcc r2, r5
|
|
1000136e: 4813 ldr r0, [pc, #76] @ (100013bc <__wrap_putchar+0x78>)
|
|
10001370: f000 f8f2 bl 10001558 <__mutex_try_enter_block_until_veneer>
|
|
10001374: 4b12 ldr r3, [pc, #72] @ (100013c0 <__wrap_putchar+0x7c>)
|
|
10001376: 4607 mov r7, r0
|
|
10001378: 681c ldr r4, [r3, #0]
|
|
1000137a: b19c cbz r4, 100013a4 <__wrap_putchar+0x60>
|
|
1000137c: 4d11 ldr r5, [pc, #68] @ (100013c4 <__wrap_putchar+0x80>)
|
|
1000137e: e001 b.n 10001384 <__wrap_putchar+0x40>
|
|
10001380: 6924 ldr r4, [r4, #16]
|
|
10001382: b17c cbz r4, 100013a4 <__wrap_putchar+0x60>
|
|
10001384: 6823 ldr r3, [r4, #0]
|
|
10001386: 2b00 cmp r3, #0
|
|
10001388: d0fa beq.n 10001380 <__wrap_putchar+0x3c>
|
|
1000138a: 682b ldr r3, [r5, #0]
|
|
1000138c: b10b cbz r3, 10001392 <__wrap_putchar+0x4e>
|
|
1000138e: 429c cmp r4, r3
|
|
10001390: d1f6 bne.n 10001380 <__wrap_putchar+0x3c>
|
|
10001392: 4620 mov r0, r4
|
|
10001394: 2201 movs r2, #1
|
|
10001396: f10d 0107 add.w r1, sp, #7
|
|
1000139a: f7ff ff05 bl 100011a8 <stdio_out_chars_crlf>
|
|
1000139e: 6924 ldr r4, [r4, #16]
|
|
100013a0: 2c00 cmp r4, #0
|
|
100013a2: d1ef bne.n 10001384 <__wrap_putchar+0x40>
|
|
100013a4: b917 cbnz r7, 100013ac <__wrap_putchar+0x68>
|
|
100013a6: 4630 mov r0, r6
|
|
100013a8: b003 add sp, #12
|
|
100013aa: bdf0 pop {r4, r5, r6, r7, pc}
|
|
100013ac: 4803 ldr r0, [pc, #12] @ (100013bc <__wrap_putchar+0x78>)
|
|
100013ae: f000 f8cf bl 10001550 <__mutex_exit_veneer>
|
|
100013b2: 4630 mov r0, r6
|
|
100013b4: b003 add sp, #12
|
|
100013b6: bdf0 pop {r4, r5, r6, r7, pc}
|
|
100013b8: 000f4240 .word 0x000f4240
|
|
100013bc: 20000244 .word 0x20000244
|
|
100013c0: 2000041c .word 0x2000041c
|
|
100013c4: 20000420 .word 0x20000420
|
|
|
|
100013c8 <__wrap_puts>:
|
|
100013c8: b538 push {r3, r4, r5, lr}
|
|
100013ca: 4604 mov r4, r0
|
|
100013cc: f000 f890 bl 100014f0 <strlen>
|
|
100013d0: 2301 movs r3, #1
|
|
100013d2: 4605 mov r5, r0
|
|
100013d4: 461a mov r2, r3
|
|
100013d6: 4620 mov r0, r4
|
|
100013d8: 4629 mov r1, r5
|
|
100013da: f7ff ff3d bl 10001258 <stdio_put_string>
|
|
100013de: 4b08 ldr r3, [pc, #32] @ (10001400 <__wrap_puts+0x38>)
|
|
100013e0: 681c ldr r4, [r3, #0]
|
|
100013e2: b12c cbz r4, 100013f0 <__wrap_puts+0x28>
|
|
100013e4: 6863 ldr r3, [r4, #4]
|
|
100013e6: b12b cbz r3, 100013f4 <__wrap_puts+0x2c>
|
|
100013e8: 4798 blx r3
|
|
100013ea: 6924 ldr r4, [r4, #16]
|
|
100013ec: 2c00 cmp r4, #0
|
|
100013ee: d1f9 bne.n 100013e4 <__wrap_puts+0x1c>
|
|
100013f0: 4628 mov r0, r5
|
|
100013f2: bd38 pop {r3, r4, r5, pc}
|
|
100013f4: 6924 ldr r4, [r4, #16]
|
|
100013f6: 2c00 cmp r4, #0
|
|
100013f8: d1f4 bne.n 100013e4 <__wrap_puts+0x1c>
|
|
100013fa: 4628 mov r0, r5
|
|
100013fc: bd38 pop {r3, r4, r5, pc}
|
|
100013fe: bf00 nop
|
|
10001400: 2000041c .word 0x2000041c
|
|
|
|
10001404 <memcpy>:
|
|
10001404: 4684 mov ip, r0
|
|
10001406: ea41 0300 orr.w r3, r1, r0
|
|
1000140a: f013 0303 ands.w r3, r3, #3
|
|
1000140e: d149 bne.n 100014a4 <memcpy+0xa0>
|
|
10001410: 3a40 subs r2, #64 @ 0x40
|
|
10001412: d323 bcc.n 1000145c <memcpy+0x58>
|
|
10001414: 680b ldr r3, [r1, #0]
|
|
10001416: 6003 str r3, [r0, #0]
|
|
10001418: 684b ldr r3, [r1, #4]
|
|
1000141a: 6043 str r3, [r0, #4]
|
|
1000141c: 688b ldr r3, [r1, #8]
|
|
1000141e: 6083 str r3, [r0, #8]
|
|
10001420: 68cb ldr r3, [r1, #12]
|
|
10001422: 60c3 str r3, [r0, #12]
|
|
10001424: 690b ldr r3, [r1, #16]
|
|
10001426: 6103 str r3, [r0, #16]
|
|
10001428: 694b ldr r3, [r1, #20]
|
|
1000142a: 6143 str r3, [r0, #20]
|
|
1000142c: 698b ldr r3, [r1, #24]
|
|
1000142e: 6183 str r3, [r0, #24]
|
|
10001430: 69cb ldr r3, [r1, #28]
|
|
10001432: 61c3 str r3, [r0, #28]
|
|
10001434: 6a0b ldr r3, [r1, #32]
|
|
10001436: 6203 str r3, [r0, #32]
|
|
10001438: 6a4b ldr r3, [r1, #36] @ 0x24
|
|
1000143a: 6243 str r3, [r0, #36] @ 0x24
|
|
1000143c: 6a8b ldr r3, [r1, #40] @ 0x28
|
|
1000143e: 6283 str r3, [r0, #40] @ 0x28
|
|
10001440: 6acb ldr r3, [r1, #44] @ 0x2c
|
|
10001442: 62c3 str r3, [r0, #44] @ 0x2c
|
|
10001444: 6b0b ldr r3, [r1, #48] @ 0x30
|
|
10001446: 6303 str r3, [r0, #48] @ 0x30
|
|
10001448: 6b4b ldr r3, [r1, #52] @ 0x34
|
|
1000144a: 6343 str r3, [r0, #52] @ 0x34
|
|
1000144c: 6b8b ldr r3, [r1, #56] @ 0x38
|
|
1000144e: 6383 str r3, [r0, #56] @ 0x38
|
|
10001450: 6bcb ldr r3, [r1, #60] @ 0x3c
|
|
10001452: 63c3 str r3, [r0, #60] @ 0x3c
|
|
10001454: 3040 adds r0, #64 @ 0x40
|
|
10001456: 3140 adds r1, #64 @ 0x40
|
|
10001458: 3a40 subs r2, #64 @ 0x40
|
|
1000145a: d2db bcs.n 10001414 <memcpy+0x10>
|
|
1000145c: 3230 adds r2, #48 @ 0x30
|
|
1000145e: d30b bcc.n 10001478 <memcpy+0x74>
|
|
10001460: 680b ldr r3, [r1, #0]
|
|
10001462: 6003 str r3, [r0, #0]
|
|
10001464: 684b ldr r3, [r1, #4]
|
|
10001466: 6043 str r3, [r0, #4]
|
|
10001468: 688b ldr r3, [r1, #8]
|
|
1000146a: 6083 str r3, [r0, #8]
|
|
1000146c: 68cb ldr r3, [r1, #12]
|
|
1000146e: 60c3 str r3, [r0, #12]
|
|
10001470: 3010 adds r0, #16
|
|
10001472: 3110 adds r1, #16
|
|
10001474: 3a10 subs r2, #16
|
|
10001476: d2f3 bcs.n 10001460 <memcpy+0x5c>
|
|
10001478: 320c adds r2, #12
|
|
1000147a: d305 bcc.n 10001488 <memcpy+0x84>
|
|
1000147c: f851 3b04 ldr.w r3, [r1], #4
|
|
10001480: f840 3b04 str.w r3, [r0], #4
|
|
10001484: 3a04 subs r2, #4
|
|
10001486: d2f9 bcs.n 1000147c <memcpy+0x78>
|
|
10001488: 3204 adds r2, #4
|
|
1000148a: d008 beq.n 1000149e <memcpy+0x9a>
|
|
1000148c: 07d2 lsls r2, r2, #31
|
|
1000148e: bf1c itt ne
|
|
10001490: f811 3b01 ldrbne.w r3, [r1], #1
|
|
10001494: f800 3b01 strbne.w r3, [r0], #1
|
|
10001498: d301 bcc.n 1000149e <memcpy+0x9a>
|
|
1000149a: 880b ldrh r3, [r1, #0]
|
|
1000149c: 8003 strh r3, [r0, #0]
|
|
1000149e: 4660 mov r0, ip
|
|
100014a0: 4770 bx lr
|
|
100014a2: bf00 nop
|
|
100014a4: 2a08 cmp r2, #8
|
|
100014a6: d313 bcc.n 100014d0 <memcpy+0xcc>
|
|
100014a8: 078b lsls r3, r1, #30
|
|
100014aa: d0b1 beq.n 10001410 <memcpy+0xc>
|
|
100014ac: f010 0303 ands.w r3, r0, #3
|
|
100014b0: d0ae beq.n 10001410 <memcpy+0xc>
|
|
100014b2: f1c3 0304 rsb r3, r3, #4
|
|
100014b6: 1ad2 subs r2, r2, r3
|
|
100014b8: 07db lsls r3, r3, #31
|
|
100014ba: bf1c itt ne
|
|
100014bc: f811 3b01 ldrbne.w r3, [r1], #1
|
|
100014c0: f800 3b01 strbne.w r3, [r0], #1
|
|
100014c4: d3a4 bcc.n 10001410 <memcpy+0xc>
|
|
100014c6: f831 3b02 ldrh.w r3, [r1], #2
|
|
100014ca: f820 3b02 strh.w r3, [r0], #2
|
|
100014ce: e79f b.n 10001410 <memcpy+0xc>
|
|
100014d0: 3a04 subs r2, #4
|
|
100014d2: d3d9 bcc.n 10001488 <memcpy+0x84>
|
|
100014d4: 3a01 subs r2, #1
|
|
100014d6: f811 3b01 ldrb.w r3, [r1], #1
|
|
100014da: f800 3b01 strb.w r3, [r0], #1
|
|
100014de: d2f9 bcs.n 100014d4 <memcpy+0xd0>
|
|
100014e0: 780b ldrb r3, [r1, #0]
|
|
100014e2: 7003 strb r3, [r0, #0]
|
|
100014e4: 784b ldrb r3, [r1, #1]
|
|
100014e6: 7043 strb r3, [r0, #1]
|
|
100014e8: 788b ldrb r3, [r1, #2]
|
|
100014ea: 7083 strb r3, [r0, #2]
|
|
100014ec: 4660 mov r0, ip
|
|
100014ee: 4770 bx lr
|
|
|
|
100014f0 <strlen>:
|
|
100014f0: f020 0103 bic.w r1, r0, #3
|
|
100014f4: f010 0003 ands.w r0, r0, #3
|
|
100014f8: f1c0 0000 rsb r0, r0, #0
|
|
100014fc: f851 3b04 ldr.w r3, [r1], #4
|
|
10001500: f100 0c04 add.w ip, r0, #4
|
|
10001504: ea4f 0ccc mov.w ip, ip, lsl #3
|
|
10001508: f06f 0200 mvn.w r2, #0
|
|
1000150c: bf1c itt ne
|
|
1000150e: fa22 f20c lsrne.w r2, r2, ip
|
|
10001512: 4313 orrne r3, r2
|
|
10001514: f04f 0c01 mov.w ip, #1
|
|
10001518: ea4c 2c0c orr.w ip, ip, ip, lsl #8
|
|
1000151c: ea4c 4c0c orr.w ip, ip, ip, lsl #16
|
|
10001520: eba3 020c sub.w r2, r3, ip
|
|
10001524: ea22 0203 bic.w r2, r2, r3
|
|
10001528: ea12 12cc ands.w r2, r2, ip, lsl #7
|
|
1000152c: bf04 itt eq
|
|
1000152e: f851 3b04 ldreq.w r3, [r1], #4
|
|
10001532: 3004 addeq r0, #4
|
|
10001534: d0f4 beq.n 10001520 <strlen+0x30>
|
|
10001536: f1c2 0100 rsb r1, r2, #0
|
|
1000153a: ea02 0201 and.w r2, r2, r1
|
|
1000153e: fab2 f282 clz r2, r2
|
|
10001542: f1c2 021f rsb r2, r2, #31
|
|
10001546: eb00 00d2 add.w r0, r0, r2, lsr #3
|
|
1000154a: 4770 bx lr
|
|
|
|
1000154c <_fini>:
|
|
1000154c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
1000154e: bf00 nop
|
|
|
|
10001550 <__mutex_exit_veneer>:
|
|
10001550: f85f f000 ldr.w pc, [pc] @ 10001554 <__mutex_exit_veneer+0x4>
|
|
10001554: 200001e5 .word 0x200001e5
|
|
|
|
10001558 <__mutex_try_enter_block_until_veneer>:
|
|
10001558: f85f f000 ldr.w pc, [pc] @ 1000155c <__mutex_try_enter_block_until_veneer+0x4>
|
|
1000155c: 2000017d .word 0x2000017d
|
|
|
|
10001560 <__pre_init_runtime_init_bootrom_reset>:
|
|
10001560: 10000fc9 ....
|
|
|
|
10001564 <__pre_init_runtime_init_early_resets>:
|
|
10001564: 10000f3d =...
|
|
|
|
10001568 <__pre_init_runtime_init_usb_power_down>:
|
|
10001568: 10000f71 q...
|
|
|
|
1000156c <__pre_init_runtime_init_clocks>:
|
|
1000156c: 1000105d ]...
|
|
|
|
10001570 <__pre_init_runtime_init_post_clock_resets>:
|
|
10001570: 10000fa9 ....
|
|
|
|
10001574 <__pre_init_runtime_init_boot_locks_reset>:
|
|
10001574: 10000ec1 ....
|
|
|
|
10001578 <__pre_init_runtime_init_spin_locks_reset>:
|
|
10001578: 10000ff1 ....
|
|
|
|
1000157c <__pre_init_runtime_init_bootrom_locking_enable>:
|
|
1000157c: 10000ead ....
|
|
|
|
10001580 <__pre_init_runtime_init_mutex>:
|
|
10001580: 100004d9 ....
|
|
|
|
10001584 <__pre_init_runtime_init_install_ram_vector_table>:
|
|
10001584: 10000ff5 ....
|
|
|
|
10001588 <__pre_init_runtime_init_default_alarm_pool>:
|
|
10001588: 10000851 Q...
|
|
|
|
1000158c <__pre_init_first_per_core_initializer>:
|
|
1000158c: 10000f0d ....
|
|
|
|
10001590 <__pre_init_runtime_init_per_core_bootrom_reset>:
|
|
10001590: 10000fdd ....
|
|
|
|
10001594 <__pre_init_runtime_init_per_core_enable_coprocessors>:
|
|
10001594: 10000f8d ....
|
|
|
|
10001598 <__pre_init_spinlock_set_extexclall>:
|
|
10001598: 100003d9 ....
|
|
|
|
1000159c <__pre_init_runtime_init_per_core_irq_priorities>:
|
|
1000159c: 10000401 ....
|
|
|
|
100015a0 <__frame_dummy_init_array_entry>:
|
|
100015a0: 10000211 ....
|
|
|
|
Disassembly of section .data:
|
|
|
|
20000110 <mutex_enter_block_until>:
|
|
20000110: f04f 4150 mov.w r1, #3489660928 @ 0xd0000000
|
|
20000114: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
20000118: 2700 movs r7, #0
|
|
2000011a: 4604 mov r4, r0
|
|
2000011c: 4616 mov r6, r2
|
|
2000011e: 461d mov r5, r3
|
|
20000120: f8d1 8000 ldr.w r8, [r1]
|
|
20000124: e008 b.n 20000138 <mutex_enter_block_until+0x28>
|
|
20000126: e8c1 7f8f stlb r7, [r1]
|
|
2000012a: f38c 8810 msr PRIMASK, ip
|
|
2000012e: 4630 mov r0, r6
|
|
20000130: 4629 mov r1, r5
|
|
20000132: f000 f875 bl 20000220 <__best_effort_wfe_or_timeout_veneer>
|
|
20000136: b9e8 cbnz r0, 20000174 <mutex_enter_block_until+0x64>
|
|
20000138: 6821 ldr r1, [r4, #0]
|
|
2000013a: f3ef 8c10 mrs ip, PRIMASK
|
|
2000013e: b672 cpsid i
|
|
20000140: e8d1 2fcf ldaexb r2, [r1]
|
|
20000144: 2301 movs r3, #1
|
|
20000146: 2a00 cmp r2, #0
|
|
20000148: d1fa bne.n 20000140 <mutex_enter_block_until+0x30>
|
|
2000014a: e8c1 3f42 strexb r2, r3, [r1]
|
|
2000014e: 2a00 cmp r2, #0
|
|
20000150: d1f6 bne.n 20000140 <mutex_enter_block_until+0x30>
|
|
20000152: f3bf 8f5f dmb sy
|
|
20000156: f994 3004 ldrsb.w r3, [r4, #4]
|
|
2000015a: 6821 ldr r1, [r4, #0]
|
|
2000015c: 2b00 cmp r3, #0
|
|
2000015e: dae2 bge.n 20000126 <mutex_enter_block_until+0x16>
|
|
20000160: 2300 movs r3, #0
|
|
20000162: f884 8004 strb.w r8, [r4, #4]
|
|
20000166: e8c1 3f8f stlb r3, [r1]
|
|
2000016a: f38c 8810 msr PRIMASK, ip
|
|
2000016e: 2001 movs r0, #1
|
|
20000170: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
20000174: 2000 movs r0, #0
|
|
20000176: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
2000017a: bf00 nop
|
|
|
|
2000017c <mutex_try_enter_block_until>:
|
|
2000017c: b530 push {r4, r5, lr}
|
|
2000017e: 6804 ldr r4, [r0, #0]
|
|
20000180: f3ef 8c10 mrs ip, PRIMASK
|
|
20000184: b672 cpsid i
|
|
20000186: e8d4 efcf ldaexb lr, [r4]
|
|
2000018a: 2501 movs r5, #1
|
|
2000018c: f1be 0f00 cmp.w lr, #0
|
|
20000190: d1f9 bne.n 20000186 <mutex_try_enter_block_until+0xa>
|
|
20000192: e8c4 5f4e strexb lr, r5, [r4]
|
|
20000196: f1be 0f00 cmp.w lr, #0
|
|
2000019a: d1f4 bne.n 20000186 <mutex_try_enter_block_until+0xa>
|
|
2000019c: f3bf 8f5f dmb sy
|
|
200001a0: f990 4004 ldrsb.w r4, [r0, #4]
|
|
200001a4: 6805 ldr r5, [r0, #0]
|
|
200001a6: 2c00 cmp r4, #0
|
|
200001a8: db10 blt.n 200001cc <mutex_try_enter_block_until+0x50>
|
|
200001aa: 2100 movs r1, #0
|
|
200001ac: e8c5 1f8f stlb r1, [r5]
|
|
200001b0: f38c 8810 msr PRIMASK, ip
|
|
200001b4: f04f 4550 mov.w r5, #3489660928 @ 0xd0000000
|
|
200001b8: f995 5000 ldrsb.w r5, [r5]
|
|
200001bc: 42a5 cmp r5, r4
|
|
200001be: d101 bne.n 200001c4 <mutex_try_enter_block_until+0x48>
|
|
200001c0: 4608 mov r0, r1
|
|
200001c2: bd30 pop {r4, r5, pc}
|
|
200001c4: e8bd 4030 ldmia.w sp!, {r4, r5, lr}
|
|
200001c8: f7ff bfa2 b.w 20000110 <mutex_enter_block_until>
|
|
200001cc: f04f 4250 mov.w r2, #3489660928 @ 0xd0000000
|
|
200001d0: 6812 ldr r2, [r2, #0]
|
|
200001d2: 2300 movs r3, #0
|
|
200001d4: 7102 strb r2, [r0, #4]
|
|
200001d6: e8c5 3f8f stlb r3, [r5]
|
|
200001da: f38c 8810 msr PRIMASK, ip
|
|
200001de: 2001 movs r0, #1
|
|
200001e0: bd30 pop {r4, r5, pc}
|
|
200001e2: bf00 nop
|
|
|
|
200001e4 <mutex_exit>:
|
|
200001e4: 6803 ldr r3, [r0, #0]
|
|
200001e6: f3ef 8210 mrs r2, PRIMASK
|
|
200001ea: b672 cpsid i
|
|
200001ec: e8d3 cfcf ldaexb ip, [r3]
|
|
200001f0: 2101 movs r1, #1
|
|
200001f2: f1bc 0f00 cmp.w ip, #0
|
|
200001f6: d1f9 bne.n 200001ec <mutex_exit+0x8>
|
|
200001f8: e8c3 1f4c strexb ip, r1, [r3]
|
|
200001fc: f1bc 0f00 cmp.w ip, #0
|
|
20000200: d1f4 bne.n 200001ec <mutex_exit+0x8>
|
|
20000202: f3bf 8f5f dmb sy
|
|
20000206: f04f 0cff mov.w ip, #255 @ 0xff
|
|
2000020a: 2300 movs r3, #0
|
|
2000020c: 6801 ldr r1, [r0, #0]
|
|
2000020e: f880 c004 strb.w ip, [r0, #4]
|
|
20000212: e8c1 3f8f stlb r3, [r1]
|
|
20000216: f382 8810 msr PRIMASK, r2
|
|
2000021a: bf40 sev
|
|
2000021c: 4770 bx lr
|
|
2000021e: bf00 nop
|
|
|
|
20000220 <__best_effort_wfe_or_timeout_veneer>:
|
|
20000220: f85f f000 ldr.w pc, [pc] @ 20000224 <__best_effort_wfe_or_timeout_veneer+0x4>
|
|
20000224: 10000a99 .word 0x10000a99
|
|
|
|
20000228 <striped_spin_lock_num>:
|
|
20000228: 00000010 ....
|
|
|
|
2000022c <default_alarm_pool>:
|
|
...
|
|
20000240: 20000250 P..
|
|
|
|
20000244 <print_mutex>:
|
|
...
|