mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-04-02 09:30:19 +02:00
3056 lines
124 KiB
Plaintext
3056 lines
124 KiB
Plaintext
|
|
C:/Users/assem.KEVINTHOMAS/OneDrive/Documents/Embedded-Hacking/drivers/0x0d_timer/build/0x0d_timer.elf: file format elf32-littlearm
|
|
|
|
Sections:
|
|
Idx Name Size VMA LMA File off Algn
|
|
0 .text 00001c04 10000000 10000000 00001000 2**3
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
1 .rodata 00000148 10001c04 10001c04 00002c04 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
2 .ARM.exidx 00000008 10001d4c 10001d4c 00002d4c 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
3 .binary_info 0000002c 10001d54 10001d54 00002d54 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
4 .ram_vector_table 00000110 20000000 20000000 00004000 2**2
|
|
ALLOC
|
|
5 .uninitialized_data 00000000 20000110 20000110 00003f30 2**0
|
|
CONTENTS
|
|
6 .data 0000019c 20000110 10001d80 00003110 2**3
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
7 .tdata 00000000 200002ac 200002ac 00003f30 2**0
|
|
CONTENTS, ALLOC, LOAD, DATA, THREAD_LOCAL
|
|
8 .tbss 00000000 200002ac 200002ac 00000000 2**0
|
|
ALLOC, THREAD_LOCAL
|
|
9 .bss 00000244 200002b0 10001f1c 000042b0 2**3
|
|
ALLOC
|
|
10 .heap 00000800 200004f4 10001f1c 000044f4 2**2
|
|
ALLOC, READONLY
|
|
11 .scratch_x 00000000 20080000 20080000 00003f30 2**0
|
|
CONTENTS
|
|
12 .scratch_y 00000000 20081000 20081000 00003f30 2**0
|
|
CONTENTS
|
|
13 .stack_dummy 00000800 20081000 20081000 00004000 2**5
|
|
ALLOC, READONLY
|
|
14 .flash_end 00000014 10001f1c 10001f1c 00003f1c 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
15 .ARM.attributes 00000034 00000000 00000000 00003f30 2**0
|
|
CONTENTS, READONLY
|
|
16 .comment 00000045 00000000 00000000 00003f64 2**0
|
|
CONTENTS, READONLY
|
|
17 .debug_info 00020ba2 00000000 00000000 00003fa9 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
18 .debug_abbrev 00005741 00000000 00000000 00024b4b 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
19 .debug_aranges 00000b28 00000000 00000000 0002a290 2**3
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
20 .debug_rnglists 00002fab 00000000 00000000 0002adb8 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
21 .debug_line 000162b9 00000000 00000000 0002dd63 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
22 .debug_str 000058a9 00000000 00000000 0004401c 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
23 .debug_frame 00001f48 00000000 00000000 000498c8 2**2
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
24 .debug_loclists 00010065 00000000 00000000 0004b810 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
25 .debug_line_str 00000190 00000000 00000000 0005b875 2**0
|
|
CONTENTS, READONLY, DEBUGGING, OCTETS
|
|
|
|
C:/Users/assem.KEVINTHOMAS/OneDrive/Documents/Embedded-Hacking/drivers/0x0d_timer/build/0x0d_timer.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: 10001d54 .word 0x10001d54
|
|
1000012c: 10001d80 .word 0x10001d80
|
|
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: 00001de4 .word 0x00001de4
|
|
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: 10001d80 .word 0x10001d80
|
|
100001a4: 20000110 .word 0x20000110
|
|
100001a8: 200002ac .word 0x200002ac
|
|
100001ac: 10001f1c .word 0x10001f1c
|
|
100001b0: 20080000 .word 0x20080000
|
|
100001b4: 20080000 .word 0x20080000
|
|
100001b8: 10001f1c .word 0x10001f1c
|
|
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: 200002ac .word 0x200002ac
|
|
100001d4: 200004f4 .word 0x200004f4
|
|
100001d8: 100015b1 .word 0x100015b1
|
|
100001dc: 10000245 .word 0x10000245
|
|
100001e0: 100015a9 .word 0x100015a9
|
|
|
|
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: 200002ac .word 0x200002ac
|
|
10000208: 200002ac .word 0x200002ac
|
|
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: 200004ac .word 0x200004ac
|
|
10000230: 10001c04 .word 0x10001c04
|
|
|
|
10000234 <_heartbeat_callback>:
|
|
10000234: b508 push {r3, lr}
|
|
10000236: 4802 ldr r0, [pc, #8] @ (10000240 <_heartbeat_callback+0xc>)
|
|
10000238: f001 fafa bl 10001830 <__wrap_puts>
|
|
1000023c: 2001 movs r0, #1
|
|
1000023e: bd08 pop {r3, pc}
|
|
10000240: 10001c04 .word 0x10001c04
|
|
|
|
10000244 <main>:
|
|
10000244: b508 push {r3, lr}
|
|
10000246: f001 faab bl 100017a0 <stdio_init_all>
|
|
1000024a: f44f 707a mov.w r0, #1000 @ 0x3e8
|
|
1000024e: 4902 ldr r1, [pc, #8] @ (10000258 <main+0x14>)
|
|
10000250: f000 f80c bl 1000026c <timer_driver_start>
|
|
10000254: e7fe b.n 10000254 <main+0x10>
|
|
10000256: bf00 nop
|
|
10000258: 10000235 .word 0x10000235
|
|
|
|
1000025c <_timer_shim>:
|
|
1000025c: 4b02 ldr r3, [pc, #8] @ (10000268 <_timer_shim+0xc>)
|
|
1000025e: 6818 ldr r0, [r3, #0]
|
|
10000260: b100 cbz r0, 10000264 <_timer_shim+0x8>
|
|
10000262: 4700 bx r0
|
|
10000264: 4770 bx lr
|
|
10000266: bf00 nop
|
|
10000268: 200004a4 .word 0x200004a4
|
|
|
|
1000026c <timer_driver_start>:
|
|
1000026c: b570 push {r4, r5, r6, lr}
|
|
1000026e: 4e0f ldr r6, [pc, #60] @ (100002ac <timer_driver_start+0x40>)
|
|
10000270: 4604 mov r4, r0
|
|
10000272: 7832 ldrb r2, [r6, #0]
|
|
10000274: 460d mov r5, r1
|
|
10000276: b084 sub sp, #16
|
|
10000278: b992 cbnz r2, 100002a0 <timer_driver_start+0x34>
|
|
1000027a: 4b0d ldr r3, [pc, #52] @ (100002b0 <timer_driver_start+0x44>)
|
|
1000027c: 601d str r5, [r3, #0]
|
|
1000027e: f000 fc9f bl 10000bc0 <alarm_pool_get_default>
|
|
10000282: 2300 movs r3, #0
|
|
10000284: f44f 727a mov.w r2, #1000 @ 0x3e8
|
|
10000288: 490a ldr r1, [pc, #40] @ (100002b4 <timer_driver_start+0x48>)
|
|
1000028a: 9301 str r3, [sp, #4]
|
|
1000028c: 9102 str r1, [sp, #8]
|
|
1000028e: 490a ldr r1, [pc, #40] @ (100002b8 <timer_driver_start+0x4c>)
|
|
10000290: fb84 2302 smull r2, r3, r4, r2
|
|
10000294: 9100 str r1, [sp, #0]
|
|
10000296: f000 fda5 bl 10000de4 <alarm_pool_add_repeating_timer_us>
|
|
1000029a: 7030 strb r0, [r6, #0]
|
|
1000029c: b004 add sp, #16
|
|
1000029e: bd70 pop {r4, r5, r6, pc}
|
|
100002a0: 4804 ldr r0, [pc, #16] @ (100002b4 <timer_driver_start+0x48>)
|
|
100002a2: f000 fe2f bl 10000f04 <cancel_repeating_timer>
|
|
100002a6: 2300 movs r3, #0
|
|
100002a8: 7033 strb r3, [r6, #0]
|
|
100002aa: e7e6 b.n 1000027a <timer_driver_start+0xe>
|
|
100002ac: 200004f0 .word 0x200004f0
|
|
100002b0: 200004a4 .word 0x200004a4
|
|
100002b4: 20000430 .word 0x20000430
|
|
100002b8: 1000025d .word 0x1000025d
|
|
|
|
100002bc <gpio_set_function>:
|
|
100002bc: b410 push {r4}
|
|
100002be: f44f 7480 mov.w r4, #256 @ 0x100
|
|
100002c2: 4b0c ldr r3, [pc, #48] @ (100002f4 <gpio_set_function+0x38>)
|
|
100002c4: f853 2020 ldr.w r2, [r3, r0, lsl #2]
|
|
100002c8: eb03 0380 add.w r3, r3, r0, lsl #2
|
|
100002cc: 00c0 lsls r0, r0, #3
|
|
100002ce: f082 0240 eor.w r2, r2, #64 @ 0x40
|
|
100002d2: f100 4080 add.w r0, r0, #1073741824 @ 0x40000000
|
|
100002d6: f503 5c80 add.w ip, r3, #4096 @ 0x1000
|
|
100002da: f002 02c0 and.w r2, r2, #192 @ 0xc0
|
|
100002de: f500 3020 add.w r0, r0, #163840 @ 0x28000
|
|
100002e2: f503 5340 add.w r3, r3, #12288 @ 0x3000
|
|
100002e6: f8cc 2000 str.w r2, [ip]
|
|
100002ea: 6041 str r1, [r0, #4]
|
|
100002ec: 601c str r4, [r3, #0]
|
|
100002ee: f85d 4b04 ldr.w r4, [sp], #4
|
|
100002f2: 4770 bx lr
|
|
100002f4: 40038004 .word 0x40038004
|
|
|
|
100002f8 <panic>:
|
|
100002f8: b40f push {r0, r1, r2, r3}
|
|
100002fa: b500 push {lr}
|
|
100002fc: b083 sub sp, #12
|
|
100002fe: 9c04 ldr r4, [sp, #16]
|
|
10000300: 4807 ldr r0, [pc, #28] @ (10000320 <panic+0x28>)
|
|
10000302: f001 fa95 bl 10001830 <__wrap_puts>
|
|
10000306: b13c cbz r4, 10000318 <panic+0x20>
|
|
10000308: a905 add r1, sp, #20
|
|
1000030a: 4620 mov r0, r4
|
|
1000030c: 9101 str r1, [sp, #4]
|
|
1000030e: f001 f931 bl 10001574 <weak_raw_vprintf>
|
|
10000312: 4804 ldr r0, [pc, #16] @ (10000324 <panic+0x2c>)
|
|
10000314: f001 fa8c bl 10001830 <__wrap_puts>
|
|
10000318: 2001 movs r0, #1
|
|
1000031a: f001 f943 bl 100015a4 <_exit>
|
|
1000031e: bf00 nop
|
|
10000320: 10001c18 .word 0x10001c18
|
|
10000324: 10001c28 .word 0x10001c28
|
|
|
|
10000328 <hw_claim_or_assert>:
|
|
10000328: b570 push {r4, r5, r6, lr}
|
|
1000032a: 4686 mov lr, r0
|
|
1000032c: f3ef 8510 mrs r5, PRIMASK
|
|
10000330: b672 cpsid i
|
|
10000332: 4c12 ldr r4, [pc, #72] @ (1000037c <hw_claim_or_assert+0x54>)
|
|
10000334: e8d4 6fcf ldaexb r6, [r4]
|
|
10000338: 2001 movs r0, #1
|
|
1000033a: 2e00 cmp r6, #0
|
|
1000033c: d1fa bne.n 10000334 <hw_claim_or_assert+0xc>
|
|
1000033e: e8c4 0f46 strexb r6, r0, [r4]
|
|
10000342: 2e00 cmp r6, #0
|
|
10000344: d1f6 bne.n 10000334 <hw_claim_or_assert+0xc>
|
|
10000346: f3bf 8f5f dmb sy
|
|
1000034a: f04f 0c01 mov.w ip, #1
|
|
1000034e: 08c8 lsrs r0, r1, #3
|
|
10000350: f001 0307 and.w r3, r1, #7
|
|
10000354: fa0c f303 lsl.w r3, ip, r3
|
|
10000358: f81e c000 ldrb.w ip, [lr, r0]
|
|
1000035c: ea1c 0603 ands.w r6, ip, r3
|
|
10000360: d108 bne.n 10000374 <hw_claim_or_assert+0x4c>
|
|
10000362: ea4c 0c03 orr.w ip, ip, r3
|
|
10000366: f80e c000 strb.w ip, [lr, r0]
|
|
1000036a: e8c4 6f8f stlb r6, [r4]
|
|
1000036e: f385 8810 msr PRIMASK, r5
|
|
10000372: bd70 pop {r4, r5, r6, pc}
|
|
10000374: 4610 mov r0, r2
|
|
10000376: f7ff ffbf bl 100002f8 <panic>
|
|
1000037a: bf00 nop
|
|
1000037c: 20000453 .word 0x20000453
|
|
|
|
10000380 <next_striped_spin_lock_num>:
|
|
10000380: 4a04 ldr r2, [pc, #16] @ (10000394 <next_striped_spin_lock_num+0x14>)
|
|
10000382: 7810 ldrb r0, [r2, #0]
|
|
10000384: 1c43 adds r3, r0, #1
|
|
10000386: b2db uxtb r3, r3
|
|
10000388: 2b18 cmp r3, #24
|
|
1000038a: bf28 it cs
|
|
1000038c: 2310 movcs r3, #16
|
|
1000038e: 7013 strb r3, [r2, #0]
|
|
10000390: 4770 bx lr
|
|
10000392: bf00 nop
|
|
10000394: 20000228 .word 0x20000228
|
|
|
|
10000398 <spinlock_set_extexclall>:
|
|
10000398: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000
|
|
1000039c: 6893 ldr r3, [r2, #8]
|
|
1000039e: f043 5300 orr.w r3, r3, #536870912 @ 0x20000000
|
|
100003a2: 6093 str r3, [r2, #8]
|
|
100003a4: 4770 bx lr
|
|
100003a6: bf00 nop
|
|
|
|
100003a8 <spin_locks_reset>:
|
|
100003a8: 2100 movs r1, #0
|
|
100003aa: 4b04 ldr r3, [pc, #16] @ (100003bc <spin_locks_reset+0x14>)
|
|
100003ac: f103 0220 add.w r2, r3, #32
|
|
100003b0: e8c3 1f8f stlb r1, [r3]
|
|
100003b4: 3301 adds r3, #1
|
|
100003b6: 4293 cmp r3, r2
|
|
100003b8: d1fa bne.n 100003b0 <spin_locks_reset+0x8>
|
|
100003ba: 4770 bx lr
|
|
100003bc: 20000448 .word 0x20000448
|
|
|
|
100003c0 <runtime_init_per_core_irq_priorities>:
|
|
100003c0: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000
|
|
100003c4: f04f 3280 mov.w r2, #2155905152 @ 0x80808080
|
|
100003c8: f8c3 2400 str.w r2, [r3, #1024] @ 0x400
|
|
100003cc: f8c3 2404 str.w r2, [r3, #1028] @ 0x404
|
|
100003d0: f8c3 2408 str.w r2, [r3, #1032] @ 0x408
|
|
100003d4: f8c3 240c str.w r2, [r3, #1036] @ 0x40c
|
|
100003d8: f8c3 2410 str.w r2, [r3, #1040] @ 0x410
|
|
100003dc: f8c3 2414 str.w r2, [r3, #1044] @ 0x414
|
|
100003e0: f8c3 2418 str.w r2, [r3, #1048] @ 0x418
|
|
100003e4: f8c3 241c str.w r2, [r3, #1052] @ 0x41c
|
|
100003e8: f8c3 2420 str.w r2, [r3, #1056] @ 0x420
|
|
100003ec: f8c3 2424 str.w r2, [r3, #1060] @ 0x424
|
|
100003f0: f8c3 2428 str.w r2, [r3, #1064] @ 0x428
|
|
100003f4: f8c3 242c str.w r2, [r3, #1068] @ 0x42c
|
|
100003f8: f8c3 2430 str.w r2, [r3, #1072] @ 0x430
|
|
100003fc: b662 cpsie i
|
|
100003fe: 4770 bx lr
|
|
|
|
10000400 <irq_set_enabled>:
|
|
10000400: 2301 movs r3, #1
|
|
10000402: f000 021f and.w r2, r0, #31
|
|
10000406: 4093 lsls r3, r2
|
|
10000408: 0940 lsrs r0, r0, #5
|
|
1000040a: b141 cbz r1, 1000041e <irq_set_enabled+0x1e>
|
|
1000040c: 0080 lsls r0, r0, #2
|
|
1000040e: f100 4060 add.w r0, r0, #3758096384 @ 0xe0000000
|
|
10000412: f500 4061 add.w r0, r0, #57600 @ 0xe100
|
|
10000416: f8c0 3180 str.w r3, [r0, #384] @ 0x180
|
|
1000041a: 6003 str r3, [r0, #0]
|
|
1000041c: 4770 bx lr
|
|
1000041e: 4a02 ldr r2, [pc, #8] @ (10000428 <irq_set_enabled+0x28>)
|
|
10000420: 3020 adds r0, #32
|
|
10000422: f842 3020 str.w r3, [r2, r0, lsl #2]
|
|
10000426: 4770 bx lr
|
|
10000428: e000e100 .word 0xe000e100
|
|
|
|
1000042c <irq_set_exclusive_handler>:
|
|
1000042c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
1000042e: 460d mov r5, r1
|
|
10000430: f3ef 8710 mrs r7, PRIMASK
|
|
10000434: b672 cpsid i
|
|
10000436: 4e12 ldr r6, [pc, #72] @ (10000480 <irq_set_exclusive_handler+0x54>)
|
|
10000438: e8d6 2fcf ldaexb r2, [r6]
|
|
1000043c: 2301 movs r3, #1
|
|
1000043e: 2a00 cmp r2, #0
|
|
10000440: d1fa bne.n 10000438 <irq_set_exclusive_handler+0xc>
|
|
10000442: e8c6 3f42 strexb r2, r3, [r6]
|
|
10000446: 2a00 cmp r2, #0
|
|
10000448: d1f6 bne.n 10000438 <irq_set_exclusive_handler+0xc>
|
|
1000044a: f3bf 8f5f dmb sy
|
|
1000044e: 4b0d ldr r3, [pc, #52] @ (10000484 <irq_set_exclusive_handler+0x58>)
|
|
10000450: f100 0410 add.w r4, r0, #16
|
|
10000454: 689b ldr r3, [r3, #8]
|
|
10000456: 4a0c ldr r2, [pc, #48] @ (10000488 <irq_set_exclusive_handler+0x5c>)
|
|
10000458: f853 3024 ldr.w r3, [r3, r4, lsl #2]
|
|
1000045c: 4293 cmp r3, r2
|
|
1000045e: d003 beq.n 10000468 <irq_set_exclusive_handler+0x3c>
|
|
10000460: 4299 cmp r1, r3
|
|
10000462: d001 beq.n 10000468 <irq_set_exclusive_handler+0x3c>
|
|
10000464: f000 ff6e bl 10001344 <hard_assertion_failure>
|
|
10000468: 4b06 ldr r3, [pc, #24] @ (10000484 <irq_set_exclusive_handler+0x58>)
|
|
1000046a: 689b ldr r3, [r3, #8]
|
|
1000046c: f843 5024 str.w r5, [r3, r4, lsl #2]
|
|
10000470: f3bf 8f5f dmb sy
|
|
10000474: 2300 movs r3, #0
|
|
10000476: e8c6 3f8f stlb r3, [r6]
|
|
1000047a: f387 8810 msr PRIMASK, r7
|
|
1000047e: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
10000480: 20000451 .word 0x20000451
|
|
10000484: e000ed00 .word 0xe000ed00
|
|
10000488: 10000111 .word 0x10000111
|
|
|
|
1000048c <irq_remove_handler>:
|
|
1000048c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000490: b083 sub sp, #12
|
|
10000492: f3ef 8a10 mrs sl, PRIMASK
|
|
10000496: b672 cpsid i
|
|
10000498: 4e71 ldr r6, [pc, #452] @ (10000660 <irq_remove_handler+0x1d4>)
|
|
1000049a: e8d6 2fcf ldaexb r2, [r6]
|
|
1000049e: 2301 movs r3, #1
|
|
100004a0: 2a00 cmp r2, #0
|
|
100004a2: d1fa bne.n 1000049a <irq_remove_handler+0xe>
|
|
100004a4: e8c6 3f42 strexb r2, r3, [r6]
|
|
100004a8: 2a00 cmp r2, #0
|
|
100004aa: d1f6 bne.n 1000049a <irq_remove_handler+0xe>
|
|
100004ac: f3bf 8f5f dmb sy
|
|
100004b0: 4b6c ldr r3, [pc, #432] @ (10000664 <irq_remove_handler+0x1d8>)
|
|
100004b2: f100 0810 add.w r8, r0, #16
|
|
100004b6: 689b ldr r3, [r3, #8]
|
|
100004b8: 4a6b ldr r2, [pc, #428] @ (10000668 <irq_remove_handler+0x1dc>)
|
|
100004ba: f853 5028 ldr.w r5, [r3, r8, lsl #2]
|
|
100004be: 4295 cmp r5, r2
|
|
100004c0: d045 beq.n 1000054e <irq_remove_handler+0xc2>
|
|
100004c2: 428d cmp r5, r1
|
|
100004c4: 460c mov r4, r1
|
|
100004c6: d050 beq.n 1000056a <irq_remove_handler+0xde>
|
|
100004c8: 4f68 ldr r7, [pc, #416] @ (1000066c <irq_remove_handler+0x1e0>)
|
|
100004ca: 1beb subs r3, r5, r7
|
|
100004cc: 2b2f cmp r3, #47 @ 0x2f
|
|
100004ce: d83e bhi.n 1000054e <irq_remove_handler+0xc2>
|
|
100004d0: 2101 movs r1, #1
|
|
100004d2: ea4f 1950 mov.w r9, r0, lsr #5
|
|
100004d6: ea4f 0989 mov.w r9, r9, lsl #2
|
|
100004da: f109 4960 add.w r9, r9, #3758096384 @ 0xe0000000
|
|
100004de: f509 4961 add.w r9, r9, #57600 @ 0xe100
|
|
100004e2: f000 031f and.w r3, r0, #31
|
|
100004e6: fa01 f003 lsl.w r0, r1, r3
|
|
100004ea: f8d9 3000 ldr.w r3, [r9]
|
|
100004ee: f8c9 0080 str.w r0, [r9, #128] @ 0x80
|
|
100004f2: ea00 0b03 and.w fp, r0, r3
|
|
100004f6: f3bf 8f5f dmb sy
|
|
100004fa: f3ef 8105 mrs r1, IPSR
|
|
100004fe: b2c9 uxtb r1, r1
|
|
10000500: 2900 cmp r1, #0
|
|
10000502: d034 beq.n 1000056e <irq_remove_handler+0xe2>
|
|
10000504: 4588 cmp r8, r1
|
|
10000506: d005 beq.n 10000514 <irq_remove_handler+0x88>
|
|
10000508: e9cd 1000 strd r1, r0, [sp]
|
|
1000050c: f000 ff1a bl 10001344 <hard_assertion_failure>
|
|
10000510: e9dd 1000 ldrd r1, r0, [sp]
|
|
10000514: f025 0e01 bic.w lr, r5, #1
|
|
10000518: f8de c008 ldr.w ip, [lr, #8]
|
|
1000051c: 4564 cmp r4, ip
|
|
1000051e: d105 bne.n 1000052c <irq_remove_handler+0xa0>
|
|
10000520: e089 b.n 10000636 <irq_remove_handler+0x1aa>
|
|
10000522: f8d3 c008 ldr.w ip, [r3, #8]
|
|
10000526: 4564 cmp r4, ip
|
|
10000528: d031 beq.n 1000058e <irq_remove_handler+0x102>
|
|
1000052a: 469e mov lr, r3
|
|
1000052c: f99e 2006 ldrsb.w r2, [lr, #6]
|
|
10000530: eb02 0342 add.w r3, r2, r2, lsl #1
|
|
10000534: 2a00 cmp r2, #0
|
|
10000536: eb07 0383 add.w r3, r7, r3, lsl #2
|
|
1000053a: daf2 bge.n 10000522 <irq_remove_handler+0x96>
|
|
1000053c: 4564 cmp r4, ip
|
|
1000053e: d061 beq.n 10000604 <irq_remove_handler+0x178>
|
|
10000540: f1bb 0f00 cmp.w fp, #0
|
|
10000544: d020 beq.n 10000588 <irq_remove_handler+0xfc>
|
|
10000546: f8c9 0180 str.w r0, [r9, #384] @ 0x180
|
|
1000054a: f8c9 0000 str.w r0, [r9]
|
|
1000054e: 4b45 ldr r3, [pc, #276] @ (10000664 <irq_remove_handler+0x1d8>)
|
|
10000550: 689b ldr r3, [r3, #8]
|
|
10000552: f843 5028 str.w r5, [r3, r8, lsl #2]
|
|
10000556: f3bf 8f5f dmb sy
|
|
1000055a: 2300 movs r3, #0
|
|
1000055c: e8c6 3f8f stlb r3, [r6]
|
|
10000560: f38a 8810 msr PRIMASK, sl
|
|
10000564: b003 add sp, #12
|
|
10000566: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
1000056a: 4615 mov r5, r2
|
|
1000056c: e7ef b.n 1000054e <irq_remove_handler+0xc2>
|
|
1000056e: f025 0e01 bic.w lr, r5, #1
|
|
10000572: f8de c008 ldr.w ip, [lr, #8]
|
|
10000576: 4564 cmp r4, ip
|
|
10000578: d1d8 bne.n 1000052c <irq_remove_handler+0xa0>
|
|
1000057a: f99e 4006 ldrsb.w r4, [lr, #6]
|
|
1000057e: 4673 mov r3, lr
|
|
10000580: 2c00 cmp r4, #0
|
|
10000582: da08 bge.n 10000596 <irq_remove_handler+0x10a>
|
|
10000584: 4615 mov r5, r2
|
|
10000586: e046 b.n 10000616 <irq_remove_handler+0x18a>
|
|
10000588: f8c9 0080 str.w r0, [r9, #128] @ 0x80
|
|
1000058c: e7df b.n 1000054e <irq_remove_handler+0xc2>
|
|
1000058e: f993 4006 ldrsb.w r4, [r3, #6]
|
|
10000592: 2c00 cmp r4, #0
|
|
10000594: db37 blt.n 10000606 <irq_remove_handler+0x17a>
|
|
10000596: eb04 0c44 add.w ip, r4, r4, lsl #1
|
|
1000059a: eb07 0c8c add.w ip, r7, ip, lsl #2
|
|
1000059e: f89c 1007 ldrb.w r1, [ip, #7]
|
|
100005a2: f8dc 2008 ldr.w r2, [ip, #8]
|
|
100005a6: 71d9 strb r1, [r3, #7]
|
|
100005a8: 609a str r2, [r3, #8]
|
|
100005aa: f99c 2006 ldrsb.w r2, [ip, #6]
|
|
100005ae: 0061 lsls r1, r4, #1
|
|
100005b0: 2a00 cmp r2, #0
|
|
100005b2: 719a strb r2, [r3, #6]
|
|
100005b4: db3d blt.n 10000632 <irq_remove_handler+0x1a6>
|
|
100005b6: f8bc e004 ldrh.w lr, [ip, #4]
|
|
100005ba: ea5f 5e4e movs.w lr, lr, lsl #21
|
|
100005be: d505 bpl.n 100005cc <irq_remove_handler+0x140>
|
|
100005c0: f50e 1eff add.w lr, lr, #2088960 @ 0x1fe000
|
|
100005c4: f50e 5eff add.w lr, lr, #8160 @ 0x1fe0
|
|
100005c8: f10e 0e1f add.w lr, lr, #31
|
|
100005cc: f06f 0c07 mvn.w ip, #7
|
|
100005d0: 190a adds r2, r1, r4
|
|
100005d2: ea4f 5e6e mov.w lr, lr, asr #21
|
|
100005d6: 0092 lsls r2, r2, #2
|
|
100005d8: eb02 024e add.w r2, r2, lr, lsl #1
|
|
100005dc: 3208 adds r2, #8
|
|
100005de: 443a add r2, r7
|
|
100005e0: ebac 0c03 sub.w ip, ip, r3
|
|
100005e4: 4462 add r2, ip
|
|
100005e6: f3c2 024a ubfx r2, r2, #1, #11
|
|
100005ea: ea6f 42c2 mvn.w r2, r2, lsl #19
|
|
100005ee: ea6f 42d2 mvn.w r2, r2, lsr #19
|
|
100005f2: 809a strh r2, [r3, #4]
|
|
100005f4: 4b1e ldr r3, [pc, #120] @ (10000670 <irq_remove_handler+0x1e4>)
|
|
100005f6: 4421 add r1, r4
|
|
100005f8: 781a ldrb r2, [r3, #0]
|
|
100005fa: eb07 0181 add.w r1, r7, r1, lsl #2
|
|
100005fe: 701c strb r4, [r3, #0]
|
|
10000600: 718a strb r2, [r1, #6]
|
|
10000602: e79d b.n 10000540 <irq_remove_handler+0xb4>
|
|
10000604: 4673 mov r3, lr
|
|
10000606: b9d9 cbnz r1, 10000640 <irq_remove_handler+0x1b4>
|
|
10000608: 22ff movs r2, #255 @ 0xff
|
|
1000060a: f88e 2006 strb.w r2, [lr, #6]
|
|
1000060e: f64b 5201 movw r2, #48385 @ 0xbd01
|
|
10000612: f8ae 2004 strh.w r2, [lr, #4]
|
|
10000616: 4c16 ldr r4, [pc, #88] @ (10000670 <irq_remove_handler+0x1e4>)
|
|
10000618: f64a 22aa movw r2, #43690 @ 0xaaaa
|
|
1000061c: f894 c000 ldrb.w ip, [r4]
|
|
10000620: 4619 mov r1, r3
|
|
10000622: 1bc9 subs r1, r1, r7
|
|
10000624: 4149 adcs r1, r1
|
|
10000626: 434a muls r2, r1
|
|
10000628: 0d12 lsrs r2, r2, #20
|
|
1000062a: f883 c006 strb.w ip, [r3, #6]
|
|
1000062e: 7022 strb r2, [r4, #0]
|
|
10000630: e786 b.n 10000540 <irq_remove_handler+0xb4>
|
|
10000632: 4a10 ldr r2, [pc, #64] @ (10000674 <irq_remove_handler+0x1e8>)
|
|
10000634: e7dd b.n 100005f2 <irq_remove_handler+0x166>
|
|
10000636: f99e 4006 ldrsb.w r4, [lr, #6]
|
|
1000063a: 4673 mov r3, lr
|
|
1000063c: 2c00 cmp r4, #0
|
|
1000063e: daaa bge.n 10000596 <irq_remove_handler+0x10a>
|
|
10000640: 4a0d ldr r2, [pc, #52] @ (10000678 <irq_remove_handler+0x1ec>)
|
|
10000642: 4c0e ldr r4, [pc, #56] @ (1000067c <irq_remove_handler+0x1f0>)
|
|
10000644: 1ad2 subs r2, r2, r3
|
|
10000646: 3a08 subs r2, #8
|
|
10000648: f3c2 310a ubfx r1, r2, #12, #11
|
|
1000064c: ea6f 5101 mvn.w r1, r1, lsl #20
|
|
10000650: ea6f 5111 mvn.w r1, r1, lsr #20
|
|
10000654: ea44 0252 orr.w r2, r4, r2, lsr #1
|
|
10000658: 80da strh r2, [r3, #6]
|
|
1000065a: 8099 strh r1, [r3, #4]
|
|
1000065c: e770 b.n 10000540 <irq_remove_handler+0xb4>
|
|
1000065e: bf00 nop
|
|
10000660: 20000451 .word 0x20000451
|
|
10000664: e000ed00 .word 0xe000ed00
|
|
10000668: 10000111 .word 0x10000111
|
|
1000066c: 2000022c .word 0x2000022c
|
|
10000670: 200004f1 .word 0x200004f1
|
|
10000674: ffffbd01 .word 0xffffbd01
|
|
10000678: 20000266 .word 0x20000266
|
|
1000067c: fffff800 .word 0xfffff800
|
|
|
|
10000680 <irq_add_tail_to_free_list>:
|
|
10000680: b5f0 push {r4, r5, r6, r7, lr}
|
|
10000682: f3ef 8505 mrs r5, IPSR
|
|
10000686: b2ed uxtb r5, r5
|
|
10000688: f3ef 8c10 mrs ip, PRIMASK
|
|
1000068c: b672 cpsid i
|
|
1000068e: 4926 ldr r1, [pc, #152] @ (10000728 <irq_add_tail_to_free_list+0xa8>)
|
|
10000690: e8d1 2fcf ldaexb r2, [r1]
|
|
10000694: 2301 movs r3, #1
|
|
10000696: 2a00 cmp r2, #0
|
|
10000698: d1fa bne.n 10000690 <irq_add_tail_to_free_list+0x10>
|
|
1000069a: e8c1 3f42 strexb r2, r3, [r1]
|
|
1000069e: 2a00 cmp r2, #0
|
|
100006a0: d1f6 bne.n 10000690 <irq_add_tail_to_free_list+0x10>
|
|
100006a2: f3bf 8f5f dmb sy
|
|
100006a6: 4e21 ldr r6, [pc, #132] @ (1000072c <irq_add_tail_to_free_list+0xac>)
|
|
100006a8: f040 0e01 orr.w lr, r0, #1
|
|
100006ac: 68b4 ldr r4, [r6, #8]
|
|
100006ae: f64a 23aa movw r3, #43690 @ 0xaaaa
|
|
100006b2: f854 7025 ldr.w r7, [r4, r5, lsl #2]
|
|
100006b6: 4a1e ldr r2, [pc, #120] @ (10000730 <irq_add_tail_to_free_list+0xb0>)
|
|
100006b8: 4604 mov r4, r0
|
|
100006ba: 1aa4 subs r4, r4, r2
|
|
100006bc: 4164 adcs r4, r4
|
|
100006be: 4363 muls r3, r4
|
|
100006c0: 0d1b lsrs r3, r3, #20
|
|
100006c2: 4577 cmp r7, lr
|
|
100006c4: b25b sxtb r3, r3
|
|
100006c6: d01b beq.n 10000700 <irq_add_tail_to_free_list+0x80>
|
|
100006c8: f992 4006 ldrsb.w r4, [r2, #6]
|
|
100006cc: 429c cmp r4, r3
|
|
100006ce: d01c beq.n 1000070a <irq_add_tail_to_free_list+0x8a>
|
|
100006d0: f992 4012 ldrsb.w r4, [r2, #18]
|
|
100006d4: 429c cmp r4, r3
|
|
100006d6: d023 beq.n 10000720 <irq_add_tail_to_free_list+0xa0>
|
|
100006d8: f992 401e ldrsb.w r4, [r2, #30]
|
|
100006dc: 429c cmp r4, r3
|
|
100006de: d021 beq.n 10000724 <irq_add_tail_to_free_list+0xa4>
|
|
100006e0: f992 402a ldrsb.w r4, [r2, #42] @ 0x2a
|
|
100006e4: 429c cmp r4, r3
|
|
100006e6: bf08 it eq
|
|
100006e8: 2403 moveq r4, #3
|
|
100006ea: d00f beq.n 1000070c <irq_add_tail_to_free_list+0x8c>
|
|
100006ec: 4a11 ldr r2, [pc, #68] @ (10000734 <irq_add_tail_to_free_list+0xb4>)
|
|
100006ee: 2400 movs r4, #0
|
|
100006f0: 7815 ldrb r5, [r2, #0]
|
|
100006f2: 7013 strb r3, [r2, #0]
|
|
100006f4: 7185 strb r5, [r0, #6]
|
|
100006f6: e8c1 4f8f stlb r4, [r1]
|
|
100006fa: f38c 8810 msr PRIMASK, ip
|
|
100006fe: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000700: 68b2 ldr r2, [r6, #8]
|
|
10000702: 4c0d ldr r4, [pc, #52] @ (10000738 <irq_add_tail_to_free_list+0xb8>)
|
|
10000704: f842 4025 str.w r4, [r2, r5, lsl #2]
|
|
10000708: e7f0 b.n 100006ec <irq_add_tail_to_free_list+0x6c>
|
|
1000070a: 2400 movs r4, #0
|
|
1000070c: eb04 0444 add.w r4, r4, r4, lsl #1
|
|
10000710: eb02 0284 add.w r2, r2, r4, lsl #2
|
|
10000714: 24ff movs r4, #255 @ 0xff
|
|
10000716: 7194 strb r4, [r2, #6]
|
|
10000718: f64b 5401 movw r4, #48385 @ 0xbd01
|
|
1000071c: 8094 strh r4, [r2, #4]
|
|
1000071e: e7e5 b.n 100006ec <irq_add_tail_to_free_list+0x6c>
|
|
10000720: 2401 movs r4, #1
|
|
10000722: e7f3 b.n 1000070c <irq_add_tail_to_free_list+0x8c>
|
|
10000724: 2402 movs r4, #2
|
|
10000726: e7f1 b.n 1000070c <irq_add_tail_to_free_list+0x8c>
|
|
10000728: 20000451 .word 0x20000451
|
|
1000072c: e000ed00 .word 0xe000ed00
|
|
10000730: 2000022c .word 0x2000022c
|
|
10000734: 200004f1 .word 0x200004f1
|
|
10000738: 10000111 .word 0x10000111
|
|
|
|
1000073c <lock_init>:
|
|
1000073c: 4b01 ldr r3, [pc, #4] @ (10000744 <lock_init+0x8>)
|
|
1000073e: 440b add r3, r1
|
|
10000740: 6003 str r3, [r0, #0]
|
|
10000742: 4770 bx lr
|
|
10000744: 20000448 .word 0x20000448
|
|
|
|
10000748 <runtime_init_mutex>:
|
|
10000748: b570 push {r4, r5, r6, lr}
|
|
1000074a: 4c10 ldr r4, [pc, #64] @ (1000078c <runtime_init_mutex+0x44>)
|
|
1000074c: 4d10 ldr r5, [pc, #64] @ (10000790 <runtime_init_mutex+0x48>)
|
|
1000074e: 42ac cmp r4, r5
|
|
10000750: d20e bcs.n 10000770 <runtime_init_mutex+0x28>
|
|
10000752: 26ff movs r6, #255 @ 0xff
|
|
10000754: 6823 ldr r3, [r4, #0]
|
|
10000756: b163 cbz r3, 10000772 <runtime_init_mutex+0x2a>
|
|
10000758: f7ff fe12 bl 10000380 <next_striped_spin_lock_num>
|
|
1000075c: 4601 mov r1, r0
|
|
1000075e: 4620 mov r0, r4
|
|
10000760: f7ff ffec bl 1000073c <lock_init>
|
|
10000764: 80a6 strh r6, [r4, #4]
|
|
10000766: f3bf 8f5f dmb sy
|
|
1000076a: 3408 adds r4, #8
|
|
1000076c: 42ac cmp r4, r5
|
|
1000076e: d3f1 bcc.n 10000754 <runtime_init_mutex+0xc>
|
|
10000770: bd70 pop {r4, r5, r6, pc}
|
|
10000772: f7ff fe05 bl 10000380 <next_striped_spin_lock_num>
|
|
10000776: 4601 mov r1, r0
|
|
10000778: 4620 mov r0, r4
|
|
1000077a: f7ff ffdf bl 1000073c <lock_init>
|
|
1000077e: 7126 strb r6, [r4, #4]
|
|
10000780: f3bf 8f5f dmb sy
|
|
10000784: 3408 adds r4, #8
|
|
10000786: 42ac cmp r4, r5
|
|
10000788: d3e4 bcc.n 10000754 <runtime_init_mutex+0xc>
|
|
1000078a: bd70 pop {r4, r5, r6, pc}
|
|
1000078c: 200002a4 .word 0x200002a4
|
|
10000790: 200002ac .word 0x200002ac
|
|
|
|
10000794 <sleep_until_callback>:
|
|
10000794: 4b0d ldr r3, [pc, #52] @ (100007cc <sleep_until_callback+0x38>)
|
|
10000796: 681a ldr r2, [r3, #0]
|
|
10000798: f3ef 8110 mrs r1, PRIMASK
|
|
1000079c: b672 cpsid i
|
|
1000079e: e8d2 cfcf ldaexb ip, [r2]
|
|
100007a2: 2001 movs r0, #1
|
|
100007a4: f1bc 0f00 cmp.w ip, #0
|
|
100007a8: d1f9 bne.n 1000079e <sleep_until_callback+0xa>
|
|
100007aa: e8c2 0f4c strexb ip, r0, [r2]
|
|
100007ae: f1bc 0f00 cmp.w ip, #0
|
|
100007b2: d1f4 bne.n 1000079e <sleep_until_callback+0xa>
|
|
100007b4: f3bf 8f5f dmb sy
|
|
100007b8: 2200 movs r2, #0
|
|
100007ba: 681b ldr r3, [r3, #0]
|
|
100007bc: e8c3 2f8f stlb r2, [r3]
|
|
100007c0: f381 8810 msr PRIMASK, r1
|
|
100007c4: bf40 sev
|
|
100007c6: 2000 movs r0, #0
|
|
100007c8: 2100 movs r1, #0
|
|
100007ca: 4770 bx lr
|
|
100007cc: 200004e4 .word 0x200004e4
|
|
|
|
100007d0 <alarm_pool_irq_handler>:
|
|
100007d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
100007d4: ed2d 8b02 vpush {d8}
|
|
100007d8: b085 sub sp, #20
|
|
100007da: f3ef 8305 mrs r3, IPSR
|
|
100007de: b2db uxtb r3, r3
|
|
100007e0: 3b10 subs r3, #16
|
|
100007e2: 089a lsrs r2, r3, #2
|
|
100007e4: bf18 it ne
|
|
100007e6: 2201 movne r2, #1
|
|
100007e8: f04f 0101 mov.w r1, #1
|
|
100007ec: f003 0b03 and.w fp, r3, #3
|
|
100007f0: bf18 it ne
|
|
100007f2: 4daf ldrne r5, [pc, #700] @ (10000ab0 <alarm_pool_irq_handler+0x2e0>)
|
|
100007f4: 4baf ldr r3, [pc, #700] @ (10000ab4 <alarm_pool_irq_handler+0x2e4>)
|
|
100007f6: bf08 it eq
|
|
100007f8: 4daf ldreq r5, [pc, #700] @ (10000ab8 <alarm_pool_irq_handler+0x2e8>)
|
|
100007fa: eb0b 0282 add.w r2, fp, r2, lsl #2
|
|
100007fe: f853 6022 ldr.w r6, [r3, r2, lsl #2]
|
|
10000802: fa01 f20b lsl.w r2, r1, fp
|
|
10000806: f505 5341 add.w r3, r5, #12352 @ 0x3040
|
|
1000080a: ed9f 8ba7 vldr d8, [pc, #668] @ 10000aa8 <alarm_pool_irq_handler+0x2d8>
|
|
1000080e: 9201 str r2, [sp, #4]
|
|
10000810: 605a str r2, [r3, #4]
|
|
10000812: e02f b.n 10000874 <alarm_pool_irq_handler+0xa4>
|
|
10000814: 88b3 ldrh r3, [r6, #4]
|
|
10000816: 041c lsls r4, r3, #16
|
|
10000818: f140 8093 bpl.w 10000942 <alarm_pool_irq_handler+0x172>
|
|
1000081c: 79b3 ldrb r3, [r6, #6]
|
|
1000081e: 2b00 cmp r3, #0
|
|
10000820: f040 80dd bne.w 100009de <alarm_pool_irq_handler+0x20e>
|
|
10000824: f9b6 2008 ldrsh.w r2, [r6, #8]
|
|
10000828: 2a00 cmp r2, #0
|
|
1000082a: f2c0 811e blt.w 10000a6a <alarm_pool_irq_handler+0x29a>
|
|
1000082e: 6973 ldr r3, [r6, #20]
|
|
10000830: eb02 0242 add.w r2, r2, r2, lsl #1
|
|
10000834: eb03 03c2 add.w r3, r3, r2, lsl #3
|
|
10000838: e9d3 4702 ldrd r4, r7, [r3, #8]
|
|
1000083c: f1b7 3fff cmp.w r7, #4294967295
|
|
10000840: bf08 it eq
|
|
10000842: f1b4 3fff cmpeq.w r4, #4294967295
|
|
10000846: d00e beq.n 10000866 <alarm_pool_irq_handler+0x96>
|
|
10000848: eb05 018b add.w r1, r5, fp, lsl #2
|
|
1000084c: 6aab ldr r3, [r5, #40] @ 0x28
|
|
1000084e: 690a ldr r2, [r1, #16]
|
|
10000850: 1ad2 subs r2, r2, r3
|
|
10000852: 1ae3 subs r3, r4, r3
|
|
10000854: 4293 cmp r3, r2
|
|
10000856: d305 bcc.n 10000864 <alarm_pool_irq_handler+0x94>
|
|
10000858: 2301 movs r3, #1
|
|
1000085a: 6a2a ldr r2, [r5, #32]
|
|
1000085c: fa03 f30b lsl.w r3, r3, fp
|
|
10000860: 4213 tst r3, r2
|
|
10000862: d100 bne.n 10000866 <alarm_pool_irq_handler+0x96>
|
|
10000864: 610c str r4, [r1, #16]
|
|
10000866: 4628 mov r0, r5
|
|
10000868: f000 fbac bl 10000fc4 <timer_time_us_64>
|
|
1000086c: 42a0 cmp r0, r4
|
|
1000086e: 41b9 sbcs r1, r7
|
|
10000870: f2c0 80fb blt.w 10000a6a <alarm_pool_irq_handler+0x29a>
|
|
10000874: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
10000878: 9a01 ldr r2, [sp, #4]
|
|
1000087a: 2b00 cmp r3, #0
|
|
1000087c: 9300 str r3, [sp, #0]
|
|
1000087e: 63ea str r2, [r5, #60] @ 0x3c
|
|
10000880: dbc8 blt.n 10000814 <alarm_pool_irq_handler+0x44>
|
|
10000882: f8d6 8014 ldr.w r8, [r6, #20]
|
|
10000886: eb03 0943 add.w r9, r3, r3, lsl #1
|
|
1000088a: 4628 mov r0, r5
|
|
1000088c: eb08 07c9 add.w r7, r8, r9, lsl #3
|
|
10000890: e9d7 4a02 ldrd r4, sl, [r7, #8]
|
|
10000894: f000 fb96 bl 10000fc4 <timer_time_us_64>
|
|
10000898: 42a0 cmp r0, r4
|
|
1000089a: eb71 010a sbcs.w r1, r1, sl
|
|
1000089e: dbb9 blt.n 10000814 <alarm_pool_irq_handler+0x44>
|
|
100008a0: f1ba 0f00 cmp.w sl, #0
|
|
100008a4: f2c0 80c3 blt.w 10000a2e <alarm_pool_irq_handler+0x25e>
|
|
100008a8: e9d7 3104 ldrd r3, r1, [r7, #16]
|
|
100008ac: 4a83 ldr r2, [pc, #524] @ (10000abc <alarm_pool_irq_handler+0x2ec>)
|
|
100008ae: 4293 cmp r3, r2
|
|
100008b0: f000 80ed beq.w 10000a8e <alarm_pool_irq_handler+0x2be>
|
|
100008b4: 887a ldrh r2, [r7, #2]
|
|
100008b6: f9b6 0008 ldrsh.w r0, [r6, #8]
|
|
100008ba: b292 uxth r2, r2
|
|
100008bc: ea42 4000 orr.w r0, r2, r0, lsl #16
|
|
100008c0: 4798 blx r3
|
|
100008c2: 4602 mov r2, r0
|
|
100008c4: 460b mov r3, r1
|
|
100008c6: ea52 0103 orrs.w r1, r2, r3
|
|
100008ca: f000 80b0 beq.w 10000a2e <alarm_pool_irq_handler+0x25e>
|
|
100008ce: 2b00 cmp r3, #0
|
|
100008d0: f280 80d1 bge.w 10000a76 <alarm_pool_irq_handler+0x2a6>
|
|
100008d4: ebb4 0e02 subs.w lr, r4, r2
|
|
100008d8: eb6a 0a03 sbc.w sl, sl, r3
|
|
100008dc: f938 3039 ldrsh.w r3, [r8, r9, lsl #3]
|
|
100008e0: e9c7 ea02 strd lr, sl, [r7, #8]
|
|
100008e4: 2b00 cmp r3, #0
|
|
100008e6: db95 blt.n 10000814 <alarm_pool_irq_handler+0x44>
|
|
100008e8: 6971 ldr r1, [r6, #20]
|
|
100008ea: eb03 0243 add.w r2, r3, r3, lsl #1
|
|
100008ee: eb01 02c2 add.w r2, r1, r2, lsl #3
|
|
100008f2: e9d2 7002 ldrd r7, r0, [r2, #8]
|
|
100008f6: 45be cmp lr, r7
|
|
100008f8: eb7a 0c00 sbcs.w ip, sl, r0
|
|
100008fc: ea4f 0243 mov.w r2, r3, lsl #1
|
|
10000900: db88 blt.n 10000814 <alarm_pool_irq_handler+0x44>
|
|
10000902: 46b4 mov ip, r6
|
|
10000904: f82c 3f08 strh.w r3, [ip, #8]!
|
|
10000908: e006 b.n 10000918 <alarm_pool_irq_handler+0x148>
|
|
1000090a: eb03 0043 add.w r0, r3, r3, lsl #1
|
|
1000090e: eb01 00c0 add.w r0, r1, r0, lsl #3
|
|
10000912: 005a lsls r2, r3, #1
|
|
10000914: e9d0 7002 ldrd r7, r0, [r0, #8]
|
|
10000918: 45be cmp lr, r7
|
|
1000091a: 441a add r2, r3
|
|
1000091c: eb7a 0000 sbcs.w r0, sl, r0
|
|
10000920: eb01 04c2 add.w r4, r1, r2, lsl #3
|
|
10000924: db04 blt.n 10000930 <alarm_pool_irq_handler+0x160>
|
|
10000926: f931 3032 ldrsh.w r3, [r1, r2, lsl #3]
|
|
1000092a: 46a4 mov ip, r4
|
|
1000092c: 2b00 cmp r3, #0
|
|
1000092e: daec bge.n 1000090a <alarm_pool_irq_handler+0x13a>
|
|
10000930: f828 3039 strh.w r3, [r8, r9, lsl #3]
|
|
10000934: 9b00 ldr r3, [sp, #0]
|
|
10000936: f8ac 3000 strh.w r3, [ip]
|
|
1000093a: 88b3 ldrh r3, [r6, #4]
|
|
1000093c: 041c lsls r4, r3, #16
|
|
1000093e: f53f af6d bmi.w 1000081c <alarm_pool_irq_handler+0x4c>
|
|
10000942: 6933 ldr r3, [r6, #16]
|
|
10000944: f3ef 8210 mrs r2, PRIMASK
|
|
10000948: b672 cpsid i
|
|
1000094a: e8d3 0fcf ldaexb r0, [r3]
|
|
1000094e: 2101 movs r1, #1
|
|
10000950: 2800 cmp r0, #0
|
|
10000952: d1fa bne.n 1000094a <alarm_pool_irq_handler+0x17a>
|
|
10000954: e8c3 1f40 strexb r0, r1, [r3]
|
|
10000958: 2800 cmp r0, #0
|
|
1000095a: d1f6 bne.n 1000094a <alarm_pool_irq_handler+0x17a>
|
|
1000095c: f3bf 8f5f dmb sy
|
|
10000960: f64f 74ff movw r4, #65535 @ 0xffff
|
|
10000964: 88b0 ldrh r0, [r6, #4]
|
|
10000966: 2300 movs r3, #0
|
|
10000968: 6931 ldr r1, [r6, #16]
|
|
1000096a: b200 sxth r0, r0
|
|
1000096c: 80b4 strh r4, [r6, #4]
|
|
1000096e: e8c1 3f8f stlb r3, [r1]
|
|
10000972: f382 8810 msr PRIMASK, r2
|
|
10000976: 4298 cmp r0, r3
|
|
10000978: f6ff af50 blt.w 1000081c <alarm_pool_irq_handler+0x4c>
|
|
1000097c: 4607 mov r7, r0
|
|
1000097e: 46a9 mov r9, r5
|
|
10000980: 6974 ldr r4, [r6, #20]
|
|
10000982: f106 0808 add.w r8, r6, #8
|
|
10000986: eb07 0e47 add.w lr, r7, r7, lsl #1
|
|
1000098a: eb04 03ce add.w r3, r4, lr, lsl #3
|
|
1000098e: e9d3 5002 ldrd r5, r0, [r3, #8]
|
|
10000992: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
10000996: 46c4 mov ip, r8
|
|
10000998: 2b00 cmp r3, #0
|
|
1000099a: db13 blt.n 100009c4 <alarm_pool_irq_handler+0x1f4>
|
|
1000099c: 46b2 mov sl, r6
|
|
1000099e: 9700 str r7, [sp, #0]
|
|
100009a0: e004 b.n 100009ac <alarm_pool_irq_handler+0x1dc>
|
|
100009a2: f934 3036 ldrsh.w r3, [r4, r6, lsl #3]
|
|
100009a6: 4694 mov ip, r2
|
|
100009a8: 2b00 cmp r3, #0
|
|
100009aa: db09 blt.n 100009c0 <alarm_pool_irq_handler+0x1f0>
|
|
100009ac: eb03 0643 add.w r6, r3, r3, lsl #1
|
|
100009b0: eb04 02c6 add.w r2, r4, r6, lsl #3
|
|
100009b4: e9d2 7102 ldrd r7, r1, [r2, #8]
|
|
100009b8: 42bd cmp r5, r7
|
|
100009ba: eb70 0101 sbcs.w r1, r0, r1
|
|
100009be: daf0 bge.n 100009a2 <alarm_pool_irq_handler+0x1d2>
|
|
100009c0: 4656 mov r6, sl
|
|
100009c2: 9f00 ldr r7, [sp, #0]
|
|
100009c4: f8ac 7000 strh.w r7, [ip]
|
|
100009c8: f934 703e ldrsh.w r7, [r4, lr, lsl #3]
|
|
100009cc: f824 303e strh.w r3, [r4, lr, lsl #3]
|
|
100009d0: 2f00 cmp r7, #0
|
|
100009d2: dad8 bge.n 10000986 <alarm_pool_irq_handler+0x1b6>
|
|
100009d4: 79b3 ldrb r3, [r6, #6]
|
|
100009d6: 464d mov r5, r9
|
|
100009d8: 2b00 cmp r3, #0
|
|
100009da: f43f af23 beq.w 10000824 <alarm_pool_irq_handler+0x54>
|
|
100009de: 2300 movs r3, #0
|
|
100009e0: 71b3 strb r3, [r6, #6]
|
|
100009e2: f9b6 3008 ldrsh.w r3, [r6, #8]
|
|
100009e6: f106 0808 add.w r8, r6, #8
|
|
100009ea: 1c58 adds r0, r3, #1
|
|
100009ec: d03d beq.n 10000a6a <alarm_pool_irq_handler+0x29a>
|
|
100009ee: 461a mov r2, r3
|
|
100009f0: 6977 ldr r7, [r6, #20]
|
|
100009f2: e003 b.n 100009fc <alarm_pool_irq_handler+0x22c>
|
|
100009f4: 4680 mov r8, r0
|
|
100009f6: 1c59 adds r1, r3, #1
|
|
100009f8: f43f af16 beq.w 10000828 <alarm_pool_irq_handler+0x58>
|
|
100009fc: eb03 0143 add.w r1, r3, r3, lsl #1
|
|
10000a00: eb07 00c1 add.w r0, r7, r1, lsl #3
|
|
10000a04: f8b0 c002 ldrh.w ip, [r0, #2]
|
|
10000a08: 461c mov r4, r3
|
|
10000a0a: f41c 4f00 tst.w ip, #32768 @ 0x8000
|
|
10000a0e: 469e mov lr, r3
|
|
10000a10: f937 3031 ldrsh.w r3, [r7, r1, lsl #3]
|
|
10000a14: d0ee beq.n 100009f4 <alarm_pool_irq_handler+0x224>
|
|
10000a16: 4294 cmp r4, r2
|
|
10000a18: ed80 8b02 vstr d8, [r0, #8]
|
|
10000a1c: d005 beq.n 10000a2a <alarm_pool_irq_handler+0x25a>
|
|
10000a1e: f8a8 3000 strh.w r3, [r8]
|
|
10000a22: 8932 ldrh r2, [r6, #8]
|
|
10000a24: f827 2031 strh.w r2, [r7, r1, lsl #3]
|
|
10000a28: 8134 strh r4, [r6, #8]
|
|
10000a2a: 4672 mov r2, lr
|
|
10000a2c: e7e3 b.n 100009f6 <alarm_pool_irq_handler+0x226>
|
|
10000a2e: f838 3039 ldrh.w r3, [r8, r9, lsl #3]
|
|
10000a32: 8133 strh r3, [r6, #8]
|
|
10000a34: 6933 ldr r3, [r6, #16]
|
|
10000a36: f3ef 8210 mrs r2, PRIMASK
|
|
10000a3a: b672 cpsid i
|
|
10000a3c: e8d3 0fcf ldaexb r0, [r3]
|
|
10000a40: 2101 movs r1, #1
|
|
10000a42: 2800 cmp r0, #0
|
|
10000a44: d1fa bne.n 10000a3c <alarm_pool_irq_handler+0x26c>
|
|
10000a46: e8c3 1f40 strexb r0, r1, [r3]
|
|
10000a4a: 2800 cmp r0, #0
|
|
10000a4c: d1f6 bne.n 10000a3c <alarm_pool_irq_handler+0x26c>
|
|
10000a4e: f3bf 8f5f dmb sy
|
|
10000a52: 8873 ldrh r3, [r6, #2]
|
|
10000a54: 6931 ldr r1, [r6, #16]
|
|
10000a56: f828 3039 strh.w r3, [r8, r9, lsl #3]
|
|
10000a5a: 9b00 ldr r3, [sp, #0]
|
|
10000a5c: 8073 strh r3, [r6, #2]
|
|
10000a5e: 2300 movs r3, #0
|
|
10000a60: e8c1 3f8f stlb r3, [r1]
|
|
10000a64: f382 8810 msr PRIMASK, r2
|
|
10000a68: e6d4 b.n 10000814 <alarm_pool_irq_handler+0x44>
|
|
10000a6a: bf40 sev
|
|
10000a6c: b005 add sp, #20
|
|
10000a6e: ecbd 8b02 vpop {d8}
|
|
10000a72: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
10000a76: 4628 mov r0, r5
|
|
10000a78: e9cd 2302 strd r2, r3, [sp, #8]
|
|
10000a7c: f000 faa2 bl 10000fc4 <timer_time_us_64>
|
|
10000a80: 9a02 ldr r2, [sp, #8]
|
|
10000a82: 9b03 ldr r3, [sp, #12]
|
|
10000a84: eb10 0e02 adds.w lr, r0, r2
|
|
10000a88: eb43 0a01 adc.w sl, r3, r1
|
|
10000a8c: e726 b.n 100008dc <alarm_pool_irq_handler+0x10c>
|
|
10000a8e: 4608 mov r0, r1
|
|
10000a90: 690b ldr r3, [r1, #16]
|
|
10000a92: 9102 str r1, [sp, #8]
|
|
10000a94: 4798 blx r3
|
|
10000a96: 2800 cmp r0, #0
|
|
10000a98: d0c9 beq.n 10000a2e <alarm_pool_irq_handler+0x25e>
|
|
10000a9a: 9902 ldr r1, [sp, #8]
|
|
10000a9c: e9d1 2300 ldrd r2, r3, [r1]
|
|
10000aa0: e711 b.n 100008c6 <alarm_pool_irq_handler+0xf6>
|
|
10000aa2: bf00 nop
|
|
10000aa4: f3af 8000 nop.w
|
|
10000aa8: ffffffff .word 0xffffffff
|
|
10000aac: ffffffff .word 0xffffffff
|
|
10000ab0: 400b8000 .word 0x400b8000
|
|
10000ab4: 200004c4 .word 0x200004c4
|
|
10000ab8: 400b0000 .word 0x400b0000
|
|
10000abc: 100007d1 .word 0x100007d1
|
|
|
|
10000ac0 <runtime_init_default_alarm_pool>:
|
|
10000ac0: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000ac4: 4c36 ldr r4, [pc, #216] @ (10000ba0 <runtime_init_default_alarm_pool+0xe0>)
|
|
10000ac6: 6925 ldr r5, [r4, #16]
|
|
10000ac8: b12d cbz r5, 10000ad6 <runtime_init_default_alarm_pool+0x16>
|
|
10000aca: e8bd 4ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000ace: 210a movs r1, #10
|
|
10000ad0: 4834 ldr r0, [pc, #208] @ (10000ba4 <runtime_init_default_alarm_pool+0xe4>)
|
|
10000ad2: f7ff be33 b.w 1000073c <lock_init>
|
|
10000ad6: f8df 80e4 ldr.w r8, [pc, #228] @ 10000bbc <runtime_init_default_alarm_pool+0xfc>
|
|
10000ada: 2103 movs r1, #3
|
|
10000adc: 4640 mov r0, r8
|
|
10000ade: f000 fa5f bl 10000fa0 <timer_hardware_alarm_claim>
|
|
10000ae2: 2603 movs r6, #3
|
|
10000ae4: f8c4 800c str.w r8, [r4, #12]
|
|
10000ae8: f7ff fc4a bl 10000380 <next_striped_spin_lock_num>
|
|
10000aec: f04f 4c50 mov.w ip, #3489660928 @ 0xd0000000
|
|
10000af0: 4b2d ldr r3, [pc, #180] @ (10000ba8 <runtime_init_default_alarm_pool+0xe8>)
|
|
10000af2: 7026 strb r6, [r4, #0]
|
|
10000af4: 4403 add r3, r0
|
|
10000af6: 6123 str r3, [r4, #16]
|
|
10000af8: f8dc 3000 ldr.w r3, [ip]
|
|
10000afc: 210f movs r1, #15
|
|
10000afe: 7063 strb r3, [r4, #1]
|
|
10000b00: 6963 ldr r3, [r4, #20]
|
|
10000b02: 8061 strh r1, [r4, #2]
|
|
10000b04: 831d strh r5, [r3, #24]
|
|
10000b06: f04f 0504 mov.w r5, #4
|
|
10000b0a: f8a3 5078 strh.w r5, [r3, #120] @ 0x78
|
|
10000b0e: f04f 0505 mov.w r5, #5
|
|
10000b12: f8a3 5090 strh.w r5, [r3, #144] @ 0x90
|
|
10000b16: f04f 0506 mov.w r5, #6
|
|
10000b1a: f8a3 50a8 strh.w r5, [r3, #168] @ 0xa8
|
|
10000b1e: f04f 0507 mov.w r5, #7
|
|
10000b22: 210e movs r1, #14
|
|
10000b24: f64f 72ff movw r2, #65535 @ 0xffff
|
|
10000b28: 2708 movs r7, #8
|
|
10000b2a: f04f 0e0a mov.w lr, #10
|
|
10000b2e: f8a3 50c0 strh.w r5, [r3, #192] @ 0xc0
|
|
10000b32: f04f 0901 mov.w r9, #1
|
|
10000b36: f04f 0c0c mov.w ip, #12
|
|
10000b3a: f04f 0b02 mov.w fp, #2
|
|
10000b3e: f04f 0a09 mov.w sl, #9
|
|
10000b42: 200d movs r0, #13
|
|
10000b44: f04f 050b mov.w r5, #11
|
|
10000b48: f8a3 1168 strh.w r1, [r3, #360] @ 0x168
|
|
10000b4c: 4917 ldr r1, [pc, #92] @ (10000bac <runtime_init_default_alarm_pool+0xec>)
|
|
10000b4e: 80a2 strh r2, [r4, #4]
|
|
10000b50: f8a3 e108 strh.w lr, [r3, #264] @ 0x108
|
|
10000b54: 60a1 str r1, [r4, #8]
|
|
10000b56: f8a3 b048 strh.w fp, [r3, #72] @ 0x48
|
|
10000b5a: f8a3 a0f0 strh.w sl, [r3, #240] @ 0xf0
|
|
10000b5e: f8a3 5120 strh.w r5, [r3, #288] @ 0x120
|
|
10000b62: f8a3 c138 strh.w ip, [r3, #312] @ 0x138
|
|
10000b66: f8a3 0150 strh.w r0, [r3, #336] @ 0x150
|
|
10000b6a: f8a3 9030 strh.w r9, [r3, #48] @ 0x30
|
|
10000b6e: f8a3 6060 strh.w r6, [r3, #96] @ 0x60
|
|
10000b72: f8a3 70d8 strh.w r7, [r3, #216] @ 0xd8
|
|
10000b76: 801a strh r2, [r3, #0]
|
|
10000b78: 4b0d ldr r3, [pc, #52] @ (10000bb0 <runtime_init_default_alarm_pool+0xf0>)
|
|
10000b7a: 4630 mov r0, r6
|
|
10000b7c: f8c8 7020 str.w r7, [r8, #32]
|
|
10000b80: 490c ldr r1, [pc, #48] @ (10000bb4 <runtime_init_default_alarm_pool+0xf4>)
|
|
10000b82: 60dc str r4, [r3, #12]
|
|
10000b84: f7ff fc52 bl 1000042c <irq_set_exclusive_handler>
|
|
10000b88: 4649 mov r1, r9
|
|
10000b8a: 4630 mov r0, r6
|
|
10000b8c: f7ff fc38 bl 10000400 <irq_set_enabled>
|
|
10000b90: 4b09 ldr r3, [pc, #36] @ (10000bb8 <runtime_init_default_alarm_pool+0xf8>)
|
|
10000b92: 210a movs r1, #10
|
|
10000b94: 641f str r7, [r3, #64] @ 0x40
|
|
10000b96: 4803 ldr r0, [pc, #12] @ (10000ba4 <runtime_init_default_alarm_pool+0xe4>)
|
|
10000b98: e8bd 4ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10000b9c: f7ff bdce b.w 1000073c <lock_init>
|
|
10000ba0: 20000274 .word 0x20000274
|
|
10000ba4: 200004e4 .word 0x200004e4
|
|
10000ba8: 20000448 .word 0x20000448
|
|
10000bac: 0010ffff .word 0x0010ffff
|
|
10000bb0: 200004c4 .word 0x200004c4
|
|
10000bb4: 100007d1 .word 0x100007d1
|
|
10000bb8: 400b2000 .word 0x400b2000
|
|
10000bbc: 400b0000 .word 0x400b0000
|
|
|
|
10000bc0 <alarm_pool_get_default>:
|
|
10000bc0: 4800 ldr r0, [pc, #0] @ (10000bc4 <alarm_pool_get_default+0x4>)
|
|
10000bc2: 4770 bx lr
|
|
10000bc4: 20000274 .word 0x20000274
|
|
|
|
10000bc8 <alarm_pool_add_alarm_at_force_in_context>:
|
|
10000bc8: 4601 mov r1, r0
|
|
10000bca: b5f0 push {r4, r5, r6, r7, lr}
|
|
10000bcc: 6900 ldr r0, [r0, #16]
|
|
10000bce: f3ef 8710 mrs r7, PRIMASK
|
|
10000bd2: b672 cpsid i
|
|
10000bd4: e8d0 5fcf ldaexb r5, [r0]
|
|
10000bd8: 2401 movs r4, #1
|
|
10000bda: 2d00 cmp r5, #0
|
|
10000bdc: d1fa bne.n 10000bd4 <alarm_pool_add_alarm_at_force_in_context+0xc>
|
|
10000bde: e8c0 4f45 strexb r5, r4, [r0]
|
|
10000be2: 2d00 cmp r5, #0
|
|
10000be4: d1f6 bne.n 10000bd4 <alarm_pool_add_alarm_at_force_in_context+0xc>
|
|
10000be6: f3bf 8f5f dmb sy
|
|
10000bea: f9b1 e002 ldrsh.w lr, [r1, #2]
|
|
10000bee: 694c ldr r4, [r1, #20]
|
|
10000bf0: eb0e 0c4e add.w ip, lr, lr, lsl #1
|
|
10000bf4: f1be 0f00 cmp.w lr, #0
|
|
10000bf8: ea4f 05cc mov.w r5, ip, lsl #3
|
|
10000bfc: 6908 ldr r0, [r1, #16]
|
|
10000bfe: eb04 0ccc add.w ip, r4, ip, lsl #3
|
|
10000c02: db3c blt.n 10000c7e <alarm_pool_add_alarm_at_force_in_context+0xb6>
|
|
10000c04: 5b66 ldrh r6, [r4, r5]
|
|
10000c06: 804e strh r6, [r1, #2]
|
|
10000c08: 2600 movs r6, #0
|
|
10000c0a: e8c0 6f8f stlb r6, [r0]
|
|
10000c0e: f387 8810 msr PRIMASK, r7
|
|
10000c12: f8bc 0002 ldrh.w r0, [ip, #2]
|
|
10000c16: e9cc 2302 strd r2, r3, [ip, #8]
|
|
10000c1a: 3001 adds r0, #1
|
|
10000c1c: f3c0 000e ubfx r0, r0, #0, #15
|
|
10000c20: 2801 cmp r0, #1
|
|
10000c22: bf38 it cc
|
|
10000c24: 2001 movcc r0, #1
|
|
10000c26: 9b05 ldr r3, [sp, #20]
|
|
10000c28: f8ac 0002 strh.w r0, [ip, #2]
|
|
10000c2c: f8cc 3010 str.w r3, [ip, #16]
|
|
10000c30: 9b06 ldr r3, [sp, #24]
|
|
10000c32: ea40 400e orr.w r0, r0, lr, lsl #16
|
|
10000c36: f8cc 3014 str.w r3, [ip, #20]
|
|
10000c3a: 690b ldr r3, [r1, #16]
|
|
10000c3c: f3ef 8210 mrs r2, PRIMASK
|
|
10000c40: b672 cpsid i
|
|
10000c42: e8d3 cfcf ldaexb ip, [r3]
|
|
10000c46: 2701 movs r7, #1
|
|
10000c48: f1bc 0f00 cmp.w ip, #0
|
|
10000c4c: d1f9 bne.n 10000c42 <alarm_pool_add_alarm_at_force_in_context+0x7a>
|
|
10000c4e: e8c3 7f4c strexb ip, r7, [r3]
|
|
10000c52: f1bc 0f00 cmp.w ip, #0
|
|
10000c56: d1f4 bne.n 10000c42 <alarm_pool_add_alarm_at_force_in_context+0x7a>
|
|
10000c58: f3bf 8f5f dmb sy
|
|
10000c5c: 888b ldrh r3, [r1, #4]
|
|
10000c5e: 5363 strh r3, [r4, r5]
|
|
10000c60: f8a1 e004 strh.w lr, [r1, #4]
|
|
10000c64: 690b ldr r3, [r1, #16]
|
|
10000c66: e8c3 6f8f stlb r6, [r3]
|
|
10000c6a: f382 8810 msr PRIMASK, r2
|
|
10000c6e: 2201 movs r2, #1
|
|
10000c70: 68cb ldr r3, [r1, #12]
|
|
10000c72: 7809 ldrb r1, [r1, #0]
|
|
10000c74: f503 5301 add.w r3, r3, #8256 @ 0x2040
|
|
10000c78: 408a lsls r2, r1
|
|
10000c7a: 605a str r2, [r3, #4]
|
|
10000c7c: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000c7e: 2300 movs r3, #0
|
|
10000c80: e8c0 3f8f stlb r3, [r0]
|
|
10000c84: f387 8810 msr PRIMASK, r7
|
|
10000c88: f04f 30ff mov.w r0, #4294967295
|
|
10000c8c: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10000c8e: bf00 nop
|
|
|
|
10000c90 <alarm_pool_cancel_alarm>:
|
|
10000c90: 4603 mov r3, r0
|
|
10000c92: 8940 ldrh r0, [r0, #10]
|
|
10000c94: ebb0 4f21 cmp.w r0, r1, asr #16
|
|
10000c98: dd37 ble.n 10000d0a <alarm_pool_cancel_alarm+0x7a>
|
|
10000c9a: 6958 ldr r0, [r3, #20]
|
|
10000c9c: 140a asrs r2, r1, #16
|
|
10000c9e: eb02 0242 add.w r2, r2, r2, lsl #1
|
|
10000ca2: b510 push {r4, lr}
|
|
10000ca4: eb00 00c2 add.w r0, r0, r2, lsl #3
|
|
10000ca8: 691c ldr r4, [r3, #16]
|
|
10000caa: f3ef 8c10 mrs ip, PRIMASK
|
|
10000cae: b672 cpsid i
|
|
10000cb0: e8d4 efcf ldaexb lr, [r4]
|
|
10000cb4: 2201 movs r2, #1
|
|
10000cb6: f1be 0f00 cmp.w lr, #0
|
|
10000cba: d1f9 bne.n 10000cb0 <alarm_pool_cancel_alarm+0x20>
|
|
10000cbc: e8c4 2f4e strexb lr, r2, [r4]
|
|
10000cc0: f1be 0f00 cmp.w lr, #0
|
|
10000cc4: d1f4 bne.n 10000cb0 <alarm_pool_cancel_alarm+0x20>
|
|
10000cc6: f3bf 8f5f dmb sy
|
|
10000cca: 8842 ldrh r2, [r0, #2]
|
|
10000ccc: b289 uxth r1, r1
|
|
10000cce: b292 uxth r2, r2
|
|
10000cd0: 428a cmp r2, r1
|
|
10000cd2: d007 beq.n 10000ce4 <alarm_pool_cancel_alarm+0x54>
|
|
10000cd4: 2200 movs r2, #0
|
|
10000cd6: 691b ldr r3, [r3, #16]
|
|
10000cd8: e8c3 2f8f stlb r2, [r3]
|
|
10000cdc: f38c 8810 msr PRIMASK, ip
|
|
10000ce0: 2000 movs r0, #0
|
|
10000ce2: bd10 pop {r4, pc}
|
|
10000ce4: f442 4200 orr.w r2, r2, #32768 @ 0x8000
|
|
10000ce8: 8042 strh r2, [r0, #2]
|
|
10000cea: 2101 movs r1, #1
|
|
10000cec: 2200 movs r2, #0
|
|
10000cee: 6918 ldr r0, [r3, #16]
|
|
10000cf0: 7199 strb r1, [r3, #6]
|
|
10000cf2: e8c0 2f8f stlb r2, [r0]
|
|
10000cf6: f38c 8810 msr PRIMASK, ip
|
|
10000cfa: 781c ldrb r4, [r3, #0]
|
|
10000cfc: 68da ldr r2, [r3, #12]
|
|
10000cfe: 4608 mov r0, r1
|
|
10000d00: f502 5301 add.w r3, r2, #8256 @ 0x2040
|
|
10000d04: 40a1 lsls r1, r4
|
|
10000d06: 6059 str r1, [r3, #4]
|
|
10000d08: bd10 pop {r4, pc}
|
|
10000d0a: 2000 movs r0, #0
|
|
10000d0c: 4770 bx lr
|
|
10000d0e: bf00 nop
|
|
|
|
10000d10 <best_effort_wfe_or_timeout>:
|
|
10000d10: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
10000d14: 4606 mov r6, r0
|
|
10000d16: 460d mov r5, r1
|
|
10000d18: b083 sub sp, #12
|
|
10000d1a: f3ef 8405 mrs r4, IPSR
|
|
10000d1e: b2e4 uxtb r4, r4
|
|
10000d20: b13c cbz r4, 10000d32 <best_effort_wfe_or_timeout+0x22>
|
|
10000d22: 4b2d ldr r3, [pc, #180] @ (10000dd8 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000d24: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000d26: 42aa cmp r2, r5
|
|
10000d28: d21c bcs.n 10000d64 <best_effort_wfe_or_timeout+0x54>
|
|
10000d2a: 2000 movs r0, #0
|
|
10000d2c: b003 add sp, #12
|
|
10000d2e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
10000d32: 4f2a ldr r7, [pc, #168] @ (10000ddc <best_effort_wfe_or_timeout+0xcc>)
|
|
10000d34: f8d7 900c ldr.w r9, [r7, #12]
|
|
10000d38: f897 8000 ldrb.w r8, [r7]
|
|
10000d3c: 4648 mov r0, r9
|
|
10000d3e: f000 f941 bl 10000fc4 <timer_time_us_64>
|
|
10000d42: f108 0804 add.w r8, r8, #4
|
|
10000d46: f859 3028 ldr.w r3, [r9, r8, lsl #2]
|
|
10000d4a: 1a1b subs r3, r3, r0
|
|
10000d4c: 1a30 subs r0, r6, r0
|
|
10000d4e: eb65 0101 sbc.w r1, r5, r1
|
|
10000d52: 4298 cmp r0, r3
|
|
10000d54: f171 0100 sbcs.w r1, r1, #0
|
|
10000d58: db10 blt.n 10000d7c <best_effort_wfe_or_timeout+0x6c>
|
|
10000d5a: bf20 wfe
|
|
10000d5c: 4b1e ldr r3, [pc, #120] @ (10000dd8 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000d5e: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000d60: 42aa cmp r2, r5
|
|
10000d62: d3e2 bcc.n 10000d2a <best_effort_wfe_or_timeout+0x1a>
|
|
10000d64: bf14 ite ne
|
|
10000d66: 2401 movne r4, #1
|
|
10000d68: 2400 moveq r4, #0
|
|
10000d6a: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000d6c: 42b3 cmp r3, r6
|
|
10000d6e: bf34 ite cc
|
|
10000d70: 4620 movcc r0, r4
|
|
10000d72: f044 0001 orrcs.w r0, r4, #1
|
|
10000d76: b003 add sp, #12
|
|
10000d78: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
10000d7c: f000 f92a bl 10000fd4 <time_us_64>
|
|
10000d80: 4286 cmp r6, r0
|
|
10000d82: eb65 0101 sbc.w r1, r5, r1
|
|
10000d86: 2900 cmp r1, #0
|
|
10000d88: db14 blt.n 10000db4 <best_effort_wfe_or_timeout+0xa4>
|
|
10000d8a: 4b15 ldr r3, [pc, #84] @ (10000de0 <best_effort_wfe_or_timeout+0xd0>)
|
|
10000d8c: 4638 mov r0, r7
|
|
10000d8e: e9cd 3400 strd r3, r4, [sp]
|
|
10000d92: 4632 mov r2, r6
|
|
10000d94: 462b mov r3, r5
|
|
10000d96: f7ff ff17 bl 10000bc8 <alarm_pool_add_alarm_at_force_in_context>
|
|
10000d9a: 1e01 subs r1, r0, #0
|
|
10000d9c: dd0a ble.n 10000db4 <best_effort_wfe_or_timeout+0xa4>
|
|
10000d9e: 4b0e ldr r3, [pc, #56] @ (10000dd8 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000da0: 6a5a ldr r2, [r3, #36] @ 0x24
|
|
10000da2: 42aa cmp r2, r5
|
|
10000da4: d316 bcc.n 10000dd4 <best_effort_wfe_or_timeout+0xc4>
|
|
10000da6: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000da8: 42b3 cmp r3, r6
|
|
10000daa: d311 bcc.n 10000dd0 <best_effort_wfe_or_timeout+0xc0>
|
|
10000dac: 480b ldr r0, [pc, #44] @ (10000ddc <best_effort_wfe_or_timeout+0xcc>)
|
|
10000dae: f7ff ff6f bl 10000c90 <alarm_pool_cancel_alarm>
|
|
10000db2: e7b6 b.n 10000d22 <best_effort_wfe_or_timeout+0x12>
|
|
10000db4: 4b08 ldr r3, [pc, #32] @ (10000dd8 <best_effort_wfe_or_timeout+0xc8>)
|
|
10000db6: 6a5c ldr r4, [r3, #36] @ 0x24
|
|
10000db8: 42ac cmp r4, r5
|
|
10000dba: d3b6 bcc.n 10000d2a <best_effort_wfe_or_timeout+0x1a>
|
|
10000dbc: 1b64 subs r4, r4, r5
|
|
10000dbe: bf18 it ne
|
|
10000dc0: 2401 movne r4, #1
|
|
10000dc2: 6a9b ldr r3, [r3, #40] @ 0x28
|
|
10000dc4: 42b3 cmp r3, r6
|
|
10000dc6: bf34 ite cc
|
|
10000dc8: 4620 movcc r0, r4
|
|
10000dca: f044 0001 orrcs.w r0, r4, #1
|
|
10000dce: e7ad b.n 10000d2c <best_effort_wfe_or_timeout+0x1c>
|
|
10000dd0: 42aa cmp r2, r5
|
|
10000dd2: d1eb bne.n 10000dac <best_effort_wfe_or_timeout+0x9c>
|
|
10000dd4: bf20 wfe
|
|
10000dd6: e7e9 b.n 10000dac <best_effort_wfe_or_timeout+0x9c>
|
|
10000dd8: 400b0000 .word 0x400b0000
|
|
10000ddc: 20000274 .word 0x20000274
|
|
10000de0: 10000795 .word 0x10000795
|
|
|
|
10000de4 <alarm_pool_add_repeating_timer_us>:
|
|
10000de4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
10000de8: 4604 mov r4, r0
|
|
10000dea: e9dd 1507 ldrd r1, r5, [sp, #28]
|
|
10000dee: ea52 0003 orrs.w r0, r2, r3
|
|
10000df2: d072 beq.n 10000eda <alarm_pool_add_repeating_timer_us+0xf6>
|
|
10000df4: 2b00 cmp r3, #0
|
|
10000df6: 4616 mov r6, r2
|
|
10000df8: 461f mov r7, r3
|
|
10000dfa: db73 blt.n 10000ee4 <alarm_pool_add_repeating_timer_us+0x100>
|
|
10000dfc: 9806 ldr r0, [sp, #24]
|
|
10000dfe: e9c5 2300 strd r2, r3, [r5]
|
|
10000e02: 6128 str r0, [r5, #16]
|
|
10000e04: 60ac str r4, [r5, #8]
|
|
10000e06: 6169 str r1, [r5, #20]
|
|
10000e08: f000 f8e4 bl 10000fd4 <time_us_64>
|
|
10000e0c: f04f 32ff mov.w r2, #4294967295
|
|
10000e10: f06f 4300 mvn.w r3, #2147483648 @ 0x80000000
|
|
10000e14: 1980 adds r0, r0, r6
|
|
10000e16: eb47 0701 adc.w r7, r7, r1
|
|
10000e1a: 4282 cmp r2, r0
|
|
10000e1c: eb73 0107 sbcs.w r1, r3, r7
|
|
10000e20: bf3c itt cc
|
|
10000e22: 461f movcc r7, r3
|
|
10000e24: 4610 movcc r0, r2
|
|
10000e26: 6923 ldr r3, [r4, #16]
|
|
10000e28: f3ef 8210 mrs r2, PRIMASK
|
|
10000e2c: b672 cpsid i
|
|
10000e2e: e8d3 6fcf ldaexb r6, [r3]
|
|
10000e32: 2101 movs r1, #1
|
|
10000e34: 2e00 cmp r6, #0
|
|
10000e36: d1fa bne.n 10000e2e <alarm_pool_add_repeating_timer_us+0x4a>
|
|
10000e38: e8c3 1f46 strexb r6, r1, [r3]
|
|
10000e3c: 2e00 cmp r6, #0
|
|
10000e3e: d1f6 bne.n 10000e2e <alarm_pool_add_repeating_timer_us+0x4a>
|
|
10000e40: f3bf 8f5f dmb sy
|
|
10000e44: f9b4 1002 ldrsh.w r1, [r4, #2]
|
|
10000e48: 6966 ldr r6, [r4, #20]
|
|
10000e4a: eb01 0341 add.w r3, r1, r1, lsl #1
|
|
10000e4e: 2900 cmp r1, #0
|
|
10000e50: ea4f 0cc3 mov.w ip, r3, lsl #3
|
|
10000e54: f8d4 8010 ldr.w r8, [r4, #16]
|
|
10000e58: eb06 03c3 add.w r3, r6, r3, lsl #3
|
|
10000e5c: db46 blt.n 10000eec <alarm_pool_add_repeating_timer_us+0x108>
|
|
10000e5e: f836 e00c ldrh.w lr, [r6, ip]
|
|
10000e62: f8a4 e002 strh.w lr, [r4, #2]
|
|
10000e66: f04f 0e00 mov.w lr, #0
|
|
10000e6a: e8c8 ef8f stlb lr, [r8]
|
|
10000e6e: f382 8810 msr PRIMASK, r2
|
|
10000e72: 885a ldrh r2, [r3, #2]
|
|
10000e74: e9c3 0702 strd r0, r7, [r3, #8]
|
|
10000e78: 3201 adds r2, #1
|
|
10000e7a: f3c2 020e ubfx r2, r2, #0, #15
|
|
10000e7e: 2a01 cmp r2, #1
|
|
10000e80: bf38 it cc
|
|
10000e82: 2201 movcc r2, #1
|
|
10000e84: 481e ldr r0, [pc, #120] @ (10000f00 <alarm_pool_add_repeating_timer_us+0x11c>)
|
|
10000e86: 805a strh r2, [r3, #2]
|
|
10000e88: 615d str r5, [r3, #20]
|
|
10000e8a: 6118 str r0, [r3, #16]
|
|
10000e8c: ea42 4201 orr.w r2, r2, r1, lsl #16
|
|
10000e90: 6923 ldr r3, [r4, #16]
|
|
10000e92: f3ef 8010 mrs r0, PRIMASK
|
|
10000e96: b672 cpsid i
|
|
10000e98: e8d3 8fcf ldaexb r8, [r3]
|
|
10000e9c: 2701 movs r7, #1
|
|
10000e9e: f1b8 0f00 cmp.w r8, #0
|
|
10000ea2: d1f9 bne.n 10000e98 <alarm_pool_add_repeating_timer_us+0xb4>
|
|
10000ea4: e8c3 7f48 strexb r8, r7, [r3]
|
|
10000ea8: f1b8 0f00 cmp.w r8, #0
|
|
10000eac: d1f4 bne.n 10000e98 <alarm_pool_add_repeating_timer_us+0xb4>
|
|
10000eae: f3bf 8f5f dmb sy
|
|
10000eb2: 88a3 ldrh r3, [r4, #4]
|
|
10000eb4: f826 300c strh.w r3, [r6, ip]
|
|
10000eb8: 80a1 strh r1, [r4, #4]
|
|
10000eba: 6923 ldr r3, [r4, #16]
|
|
10000ebc: e8c3 ef8f stlb lr, [r3]
|
|
10000ec0: f380 8810 msr PRIMASK, r0
|
|
10000ec4: 2001 movs r0, #1
|
|
10000ec6: 7821 ldrb r1, [r4, #0]
|
|
10000ec8: 68e3 ldr r3, [r4, #12]
|
|
10000eca: fa00 f101 lsl.w r1, r0, r1
|
|
10000ece: f503 5301 add.w r3, r3, #8256 @ 0x2040
|
|
10000ed2: 6059 str r1, [r3, #4]
|
|
10000ed4: 60ea str r2, [r5, #12]
|
|
10000ed6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
10000eda: 2601 movs r6, #1
|
|
10000edc: 2700 movs r7, #0
|
|
10000ede: 4632 mov r2, r6
|
|
10000ee0: 463b mov r3, r7
|
|
10000ee2: e78b b.n 10000dfc <alarm_pool_add_repeating_timer_us+0x18>
|
|
10000ee4: 4256 negs r6, r2
|
|
10000ee6: eb63 0743 sbc.w r7, r3, r3, lsl #1
|
|
10000eea: e787 b.n 10000dfc <alarm_pool_add_repeating_timer_us+0x18>
|
|
10000eec: 2000 movs r0, #0
|
|
10000eee: e8c8 0f8f stlb r0, [r8]
|
|
10000ef2: f382 8810 msr PRIMASK, r2
|
|
10000ef6: f04f 32ff mov.w r2, #4294967295
|
|
10000efa: 60ea str r2, [r5, #12]
|
|
10000efc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
10000f00: 100007d1 .word 0x100007d1
|
|
|
|
10000f04 <cancel_repeating_timer>:
|
|
10000f04: 4602 mov r2, r0
|
|
10000f06: 68c0 ldr r0, [r0, #12]
|
|
10000f08: b900 cbnz r0, 10000f0c <cancel_repeating_timer+0x8>
|
|
10000f0a: 4770 bx lr
|
|
10000f0c: 6891 ldr r1, [r2, #8]
|
|
10000f0e: 1403 asrs r3, r0, #16
|
|
10000f10: f8b1 c00a ldrh.w ip, [r1, #10]
|
|
10000f14: ebbc 4f20 cmp.w ip, r0, asr #16
|
|
10000f18: dd3d ble.n 10000f96 <cancel_repeating_timer+0x92>
|
|
10000f1a: b530 push {r4, r5, lr}
|
|
10000f1c: 694c ldr r4, [r1, #20]
|
|
10000f1e: eb03 0343 add.w r3, r3, r3, lsl #1
|
|
10000f22: eb04 0cc3 add.w ip, r4, r3, lsl #3
|
|
10000f26: 690b ldr r3, [r1, #16]
|
|
10000f28: f3ef 8e10 mrs lr, PRIMASK
|
|
10000f2c: b672 cpsid i
|
|
10000f2e: e8d3 5fcf ldaexb r5, [r3]
|
|
10000f32: 2401 movs r4, #1
|
|
10000f34: 2d00 cmp r5, #0
|
|
10000f36: d1fa bne.n 10000f2e <cancel_repeating_timer+0x2a>
|
|
10000f38: e8c3 4f45 strexb r5, r4, [r3]
|
|
10000f3c: 2d00 cmp r5, #0
|
|
10000f3e: d1f6 bne.n 10000f2e <cancel_repeating_timer+0x2a>
|
|
10000f40: f3bf 8f5f dmb sy
|
|
10000f44: b283 uxth r3, r0
|
|
10000f46: f8bc 0002 ldrh.w r0, [ip, #2]
|
|
10000f4a: b280 uxth r0, r0
|
|
10000f4c: 4283 cmp r3, r0
|
|
10000f4e: d009 beq.n 10000f64 <cancel_repeating_timer+0x60>
|
|
10000f50: 2300 movs r3, #0
|
|
10000f52: 6909 ldr r1, [r1, #16]
|
|
10000f54: e8c1 3f8f stlb r3, [r1]
|
|
10000f58: f38e 8810 msr PRIMASK, lr
|
|
10000f5c: 2300 movs r3, #0
|
|
10000f5e: 2000 movs r0, #0
|
|
10000f60: 60d3 str r3, [r2, #12]
|
|
10000f62: bd30 pop {r4, r5, pc}
|
|
10000f64: f443 4300 orr.w r3, r3, #32768 @ 0x8000
|
|
10000f68: f8ac 3002 strh.w r3, [ip, #2]
|
|
10000f6c: f04f 0c01 mov.w ip, #1
|
|
10000f70: 2300 movs r3, #0
|
|
10000f72: 6908 ldr r0, [r1, #16]
|
|
10000f74: f881 c006 strb.w ip, [r1, #6]
|
|
10000f78: e8c0 3f8f stlb r3, [r0]
|
|
10000f7c: f38e 8810 msr PRIMASK, lr
|
|
10000f80: 68cb ldr r3, [r1, #12]
|
|
10000f82: 7809 ldrb r1, [r1, #0]
|
|
10000f84: f503 5301 add.w r3, r3, #8256 @ 0x2040
|
|
10000f88: fa0c f101 lsl.w r1, ip, r1
|
|
10000f8c: 6059 str r1, [r3, #4]
|
|
10000f8e: 2300 movs r3, #0
|
|
10000f90: 4660 mov r0, ip
|
|
10000f92: 60d3 str r3, [r2, #12]
|
|
10000f94: bd30 pop {r4, r5, pc}
|
|
10000f96: 2300 movs r3, #0
|
|
10000f98: 2000 movs r0, #0
|
|
10000f9a: 60d3 str r3, [r2, #12]
|
|
10000f9c: 4770 bx lr
|
|
10000f9e: bf00 nop
|
|
|
|
10000fa0 <timer_hardware_alarm_claim>:
|
|
10000fa0: b410 push {r4}
|
|
10000fa2: 4b05 ldr r3, [pc, #20] @ (10000fb8 <timer_hardware_alarm_claim+0x18>)
|
|
10000fa4: 4c05 ldr r4, [pc, #20] @ (10000fbc <timer_hardware_alarm_claim+0x1c>)
|
|
10000fa6: 4a06 ldr r2, [pc, #24] @ (10000fc0 <timer_hardware_alarm_claim+0x20>)
|
|
10000fa8: 42a0 cmp r0, r4
|
|
10000faa: bf14 ite ne
|
|
10000fac: 4618 movne r0, r3
|
|
10000fae: 1c58 addeq r0, r3, #1
|
|
10000fb0: f85d 4b04 ldr.w r4, [sp], #4
|
|
10000fb4: f7ff b9b8 b.w 10000328 <hw_claim_or_assert>
|
|
10000fb8: 20000470 .word 0x20000470
|
|
10000fbc: 400b8000 .word 0x400b8000
|
|
10000fc0: 10001c2c .word 0x10001c2c
|
|
|
|
10000fc4 <timer_time_us_64>:
|
|
10000fc4: 4603 mov r3, r0
|
|
10000fc6: 6a41 ldr r1, [r0, #36] @ 0x24
|
|
10000fc8: 460a mov r2, r1
|
|
10000fca: 6a98 ldr r0, [r3, #40] @ 0x28
|
|
10000fcc: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000fce: 428a cmp r2, r1
|
|
10000fd0: d1fa bne.n 10000fc8 <timer_time_us_64+0x4>
|
|
10000fd2: 4770 bx lr
|
|
|
|
10000fd4 <time_us_64>:
|
|
10000fd4: 4b03 ldr r3, [pc, #12] @ (10000fe4 <time_us_64+0x10>)
|
|
10000fd6: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000fd8: 460a mov r2, r1
|
|
10000fda: 6a98 ldr r0, [r3, #40] @ 0x28
|
|
10000fdc: 6a59 ldr r1, [r3, #36] @ 0x24
|
|
10000fde: 4291 cmp r1, r2
|
|
10000fe0: d1fa bne.n 10000fd8 <time_us_64+0x4>
|
|
10000fe2: 4770 bx lr
|
|
10000fe4: 400b0000 .word 0x400b0000
|
|
|
|
10000fe8 <busy_wait_us>:
|
|
10000fe8: b430 push {r4, r5}
|
|
10000fea: 4a15 ldr r2, [pc, #84] @ (10001040 <busy_wait_us+0x58>)
|
|
10000fec: 6a53 ldr r3, [r2, #36] @ 0x24
|
|
10000fee: 469c mov ip, r3
|
|
10000ff0: 6a94 ldr r4, [r2, #40] @ 0x28
|
|
10000ff2: 6a53 ldr r3, [r2, #36] @ 0x24
|
|
10000ff4: 4563 cmp r3, ip
|
|
10000ff6: d1fa bne.n 10000fee <busy_wait_us+0x6>
|
|
10000ff8: 1902 adds r2, r0, r4
|
|
10000ffa: 4159 adcs r1, r3
|
|
10000ffc: f04f 0500 mov.w r5, #0
|
|
10001000: bf28 it cs
|
|
10001002: 2501 movcs r5, #1
|
|
10001004: 4b0e ldr r3, [pc, #56] @ (10001040 <busy_wait_us+0x58>)
|
|
10001006: 6a5b ldr r3, [r3, #36] @ 0x24
|
|
10001008: b1b5 cbz r5, 10001038 <busy_wait_us+0x50>
|
|
1000100a: 1c5a adds r2, r3, #1
|
|
1000100c: bf08 it eq
|
|
1000100e: 461a moveq r2, r3
|
|
10001010: d008 beq.n 10001024 <busy_wait_us+0x3c>
|
|
10001012: f04f 31ff mov.w r1, #4294967295
|
|
10001016: 460a mov r2, r1
|
|
10001018: 4809 ldr r0, [pc, #36] @ (10001040 <busy_wait_us+0x58>)
|
|
1000101a: 6a43 ldr r3, [r0, #36] @ 0x24
|
|
1000101c: 428b cmp r3, r1
|
|
1000101e: d3fc bcc.n 1000101a <busy_wait_us+0x32>
|
|
10001020: 428b cmp r3, r1
|
|
10001022: d107 bne.n 10001034 <busy_wait_us+0x4c>
|
|
10001024: 4906 ldr r1, [pc, #24] @ (10001040 <busy_wait_us+0x58>)
|
|
10001026: e002 b.n 1000102e <busy_wait_us+0x46>
|
|
10001028: 6a48 ldr r0, [r1, #36] @ 0x24
|
|
1000102a: 4298 cmp r0, r3
|
|
1000102c: d102 bne.n 10001034 <busy_wait_us+0x4c>
|
|
1000102e: 6a88 ldr r0, [r1, #40] @ 0x28
|
|
10001030: 4290 cmp r0, r2
|
|
10001032: d3f9 bcc.n 10001028 <busy_wait_us+0x40>
|
|
10001034: bc30 pop {r4, r5}
|
|
10001036: 4770 bx lr
|
|
10001038: 4299 cmp r1, r3
|
|
1000103a: d8ed bhi.n 10001018 <busy_wait_us+0x30>
|
|
1000103c: e7f0 b.n 10001020 <busy_wait_us+0x38>
|
|
1000103e: bf00 nop
|
|
10001040: 400b0000 .word 0x400b0000
|
|
|
|
10001044 <uart_init>:
|
|
10001044: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
10001046: 4605 mov r5, r0
|
|
10001048: 2006 movs r0, #6
|
|
1000104a: 460e mov r6, r1
|
|
1000104c: f000 f8e4 bl 10001218 <clock_get_hz>
|
|
10001050: 2800 cmp r0, #0
|
|
10001052: d042 beq.n 100010da <uart_init+0x96>
|
|
10001054: 4a35 ldr r2, [pc, #212] @ (1000112c <uart_init+0xe8>)
|
|
10001056: 4836 ldr r0, [pc, #216] @ (10001130 <uart_init+0xec>)
|
|
10001058: 4295 cmp r5, r2
|
|
1000105a: bf14 ite ne
|
|
1000105c: f04f 6280 movne.w r2, #67108864 @ 0x4000000
|
|
10001060: f04f 6200 moveq.w r2, #134217728 @ 0x8000000
|
|
10001064: 4b33 ldr r3, [pc, #204] @ (10001134 <uart_init+0xf0>)
|
|
10001066: 4934 ldr r1, [pc, #208] @ (10001138 <uart_init+0xf4>)
|
|
10001068: 6002 str r2, [r0, #0]
|
|
1000106a: 601a str r2, [r3, #0]
|
|
1000106c: 688c ldr r4, [r1, #8]
|
|
1000106e: ea32 0404 bics.w r4, r2, r4
|
|
10001072: d1fb bne.n 1000106c <uart_init+0x28>
|
|
10001074: 4b2d ldr r3, [pc, #180] @ (1000112c <uart_init+0xe8>)
|
|
10001076: f44f 7180 mov.w r1, #256 @ 0x100
|
|
1000107a: 1aeb subs r3, r5, r3
|
|
1000107c: fab3 f383 clz r3, r3
|
|
10001080: 4a2e ldr r2, [pc, #184] @ (1000113c <uart_init+0xf8>)
|
|
10001082: 095b lsrs r3, r3, #5
|
|
10001084: 2006 movs r0, #6
|
|
10001086: f822 1013 strh.w r1, [r2, r3, lsl #1]
|
|
1000108a: f000 f8c5 bl 10001218 <clock_get_hz>
|
|
1000108e: 00c3 lsls r3, r0, #3
|
|
10001090: fbb3 f3f6 udiv r3, r3, r6
|
|
10001094: 3301 adds r3, #1
|
|
10001096: 09da lsrs r2, r3, #7
|
|
10001098: d120 bne.n 100010dc <uart_init+0x98>
|
|
1000109a: 2640 movs r6, #64 @ 0x40
|
|
1000109c: 2101 movs r1, #1
|
|
1000109e: 6269 str r1, [r5, #36] @ 0x24
|
|
100010a0: 62aa str r2, [r5, #40] @ 0x28
|
|
100010a2: 6b2f ldr r7, [r5, #48] @ 0x30
|
|
100010a4: 07fb lsls r3, r7, #31
|
|
100010a6: d422 bmi.n 100010ee <uart_init+0xaa>
|
|
100010a8: 462b mov r3, r5
|
|
100010aa: 2200 movs r2, #0
|
|
100010ac: f853 1f2c ldr.w r1, [r3, #44]!
|
|
100010b0: 2006 movs r0, #6
|
|
100010b2: f503 5480 add.w r4, r3, #4096 @ 0x1000
|
|
100010b6: 6022 str r2, [r4, #0]
|
|
100010b8: 632f str r7, [r5, #48] @ 0x30
|
|
100010ba: f000 f8ad bl 10001218 <clock_get_hz>
|
|
100010be: f240 3101 movw r1, #769 @ 0x301
|
|
100010c2: 2203 movs r2, #3
|
|
100010c4: 0080 lsls r0, r0, #2
|
|
100010c6: fbb0 f0f6 udiv r0, r0, r6
|
|
100010ca: 6aeb ldr r3, [r5, #44] @ 0x2c
|
|
100010cc: f083 0370 eor.w r3, r3, #112 @ 0x70
|
|
100010d0: f003 037e and.w r3, r3, #126 @ 0x7e
|
|
100010d4: 6023 str r3, [r4, #0]
|
|
100010d6: 6329 str r1, [r5, #48] @ 0x30
|
|
100010d8: 64aa str r2, [r5, #72] @ 0x48
|
|
100010da: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
100010dc: f64f 71fe movw r1, #65534 @ 0xfffe
|
|
100010e0: 428a cmp r2, r1
|
|
100010e2: d91b bls.n 1000111c <uart_init+0xd8>
|
|
100010e4: 4622 mov r2, r4
|
|
100010e6: f64f 71ff movw r1, #65535 @ 0xffff
|
|
100010ea: 4e15 ldr r6, [pc, #84] @ (10001140 <uart_init+0xfc>)
|
|
100010ec: e7d7 b.n 1000109e <uart_init+0x5a>
|
|
100010ee: f240 3201 movw r2, #769 @ 0x301
|
|
100010f2: f505 5340 add.w r3, r5, #12288 @ 0x3000
|
|
100010f6: 631a str r2, [r3, #48] @ 0x30
|
|
100010f8: 6a6b ldr r3, [r5, #36] @ 0x24
|
|
100010fa: 6aac ldr r4, [r5, #40] @ 0x28
|
|
100010fc: 2006 movs r0, #6
|
|
100010fe: eb04 1483 add.w r4, r4, r3, lsl #6
|
|
10001102: f000 f889 bl 10001218 <clock_get_hz>
|
|
10001106: 4b0f ldr r3, [pc, #60] @ (10001144 <uart_init+0x100>)
|
|
10001108: 02a4 lsls r4, r4, #10
|
|
1000110a: fba3 2300 umull r2, r3, r3, r0
|
|
1000110e: 0adb lsrs r3, r3, #11
|
|
10001110: 2100 movs r1, #0
|
|
10001112: fbb4 f0f3 udiv r0, r4, r3
|
|
10001116: f7ff ff67 bl 10000fe8 <busy_wait_us>
|
|
1000111a: e7c5 b.n 100010a8 <uart_init+0x64>
|
|
1000111c: f3c3 0345 ubfx r3, r3, #1, #6
|
|
10001120: 4611 mov r1, r2
|
|
10001122: eb03 1682 add.w r6, r3, r2, lsl #6
|
|
10001126: 461a mov r2, r3
|
|
10001128: e7b9 b.n 1000109e <uart_init+0x5a>
|
|
1000112a: bf00 nop
|
|
1000112c: 40078000 .word 0x40078000
|
|
10001130: 40022000 .word 0x40022000
|
|
10001134: 40023000 .word 0x40023000
|
|
10001138: 40020000 .word 0x40020000
|
|
1000113c: 200004e8 .word 0x200004e8
|
|
10001140: 003fffc0 .word 0x003fffc0
|
|
10001144: 8f2b7b75 .word 0x8f2b7b75
|
|
|
|
10001148 <clock_configure_undivided>:
|
|
10001148: eb00 0c40 add.w ip, r0, r0, lsl #1
|
|
1000114c: ea4f 0c8c mov.w ip, ip, lsl #2
|
|
10001150: f10c 4c80 add.w ip, ip, #1073741824 @ 0x40000000
|
|
10001154: f50c 3c80 add.w ip, ip, #65536 @ 0x10000
|
|
10001158: b5f0 push {r4, r5, r6, r7, lr}
|
|
1000115a: 4616 mov r6, r2
|
|
1000115c: f8dc 2004 ldr.w r2, [ip, #4]
|
|
10001160: 1f05 subs r5, r0, #4
|
|
10001162: f5b2 3f80 cmp.w r2, #65536 @ 0x10000
|
|
10001166: bf38 it cc
|
|
10001168: f44f 3280 movcc.w r2, #65536 @ 0x10000
|
|
1000116c: b2ed uxtb r5, r5
|
|
1000116e: bf38 it cc
|
|
10001170: f8cc 2004 strcc.w r2, [ip, #4]
|
|
10001174: 2d01 cmp r5, #1
|
|
10001176: d92a bls.n 100011ce <clock_configure_undivided+0x86>
|
|
10001178: f44f 6700 mov.w r7, #2048 @ 0x800
|
|
1000117c: 4c25 ldr r4, [pc, #148] @ (10001214 <clock_configure_undivided+0xcc>)
|
|
1000117e: f50c 5240 add.w r2, ip, #12288 @ 0x3000
|
|
10001182: 6017 str r7, [r2, #0]
|
|
10001184: f854 2020 ldr.w r2, [r4, r0, lsl #2]
|
|
10001188: b9b2 cbnz r2, 100011b8 <clock_configure_undivided+0x70>
|
|
1000118a: f8dc 2000 ldr.w r2, [ip]
|
|
1000118e: 2d01 cmp r5, #1
|
|
10001190: ea82 1246 eor.w r2, r2, r6, lsl #5
|
|
10001194: f002 02e0 and.w r2, r2, #224 @ 0xe0
|
|
10001198: f50c 5680 add.w r6, ip, #4096 @ 0x1000
|
|
1000119c: 6032 str r2, [r6, #0]
|
|
1000119e: d92a bls.n 100011f6 <clock_configure_undivided+0xae>
|
|
100011a0: f44f 6100 mov.w r1, #2048 @ 0x800
|
|
100011a4: f844 3020 str.w r3, [r4, r0, lsl #2]
|
|
100011a8: f44f 3380 mov.w r3, #65536 @ 0x10000
|
|
100011ac: f50c 5200 add.w r2, ip, #8192 @ 0x2000
|
|
100011b0: 6011 str r1, [r2, #0]
|
|
100011b2: f8cc 3004 str.w r3, [ip, #4]
|
|
100011b6: bdf0 pop {r4, r5, r6, r7, pc}
|
|
100011b8: 6967 ldr r7, [r4, #20]
|
|
100011ba: fbb7 fef2 udiv lr, r7, r2
|
|
100011be: f10e 0e01 add.w lr, lr, #1
|
|
100011c2: eb0e 0e4e add.w lr, lr, lr, lsl #1
|
|
100011c6: f1be 0e03 subs.w lr, lr, #3
|
|
100011ca: d2fc bcs.n 100011c6 <clock_configure_undivided+0x7e>
|
|
100011cc: e7dd b.n 1000118a <clock_configure_undivided+0x42>
|
|
100011ce: 2901 cmp r1, #1
|
|
100011d0: d1d2 bne.n 10001178 <clock_configure_undivided+0x30>
|
|
100011d2: 2403 movs r4, #3
|
|
100011d4: f50c 5240 add.w r2, ip, #12288 @ 0x3000
|
|
100011d8: 6014 str r4, [r2, #0]
|
|
100011da: f8dc 2008 ldr.w r2, [ip, #8]
|
|
100011de: 07d2 lsls r2, r2, #31
|
|
100011e0: d5fb bpl.n 100011da <clock_configure_undivided+0x92>
|
|
100011e2: f8dc 2000 ldr.w r2, [ip]
|
|
100011e6: 4c0b ldr r4, [pc, #44] @ (10001214 <clock_configure_undivided+0xcc>)
|
|
100011e8: ea82 1246 eor.w r2, r2, r6, lsl #5
|
|
100011ec: f002 02e0 and.w r2, r2, #224 @ 0xe0
|
|
100011f0: f50c 5680 add.w r6, ip, #4096 @ 0x1000
|
|
100011f4: 6032 str r2, [r6, #0]
|
|
100011f6: 2201 movs r2, #1
|
|
100011f8: f8dc 5000 ldr.w r5, [ip]
|
|
100011fc: 404d eors r5, r1
|
|
100011fe: f005 0503 and.w r5, r5, #3
|
|
10001202: 6035 str r5, [r6, #0]
|
|
10001204: fa02 f101 lsl.w r1, r2, r1
|
|
10001208: f8dc 2008 ldr.w r2, [ip, #8]
|
|
1000120c: 420a tst r2, r1
|
|
1000120e: d0fb beq.n 10001208 <clock_configure_undivided+0xc0>
|
|
10001210: e7c6 b.n 100011a0 <clock_configure_undivided+0x58>
|
|
10001212: bf00 nop
|
|
10001214: 20000474 .word 0x20000474
|
|
|
|
10001218 <clock_get_hz>:
|
|
10001218: 4b01 ldr r3, [pc, #4] @ (10001220 <clock_get_hz+0x8>)
|
|
1000121a: f853 0020 ldr.w r0, [r3, r0, lsl #2]
|
|
1000121e: 4770 bx lr
|
|
10001220: 20000474 .word 0x20000474
|
|
|
|
10001224 <pll_init>:
|
|
10001224: b470 push {r4, r5, r6}
|
|
10001226: 9d03 ldr r5, [sp, #12]
|
|
10001228: 6804 ldr r4, [r0, #0]
|
|
1000122a: 032d lsls r5, r5, #12
|
|
1000122c: ea45 4503 orr.w r5, r5, r3, lsl #16
|
|
10001230: 4b1b ldr r3, [pc, #108] @ (100012a0 <pll_init+0x7c>)
|
|
10001232: 2c00 cmp r4, #0
|
|
10001234: fbb3 f3f1 udiv r3, r3, r1
|
|
10001238: fbb2 f6f3 udiv r6, r2, r3
|
|
1000123c: db1f blt.n 1000127e <pll_init+0x5a>
|
|
1000123e: 4a19 ldr r2, [pc, #100] @ (100012a4 <pll_init+0x80>)
|
|
10001240: 4b19 ldr r3, [pc, #100] @ (100012a8 <pll_init+0x84>)
|
|
10001242: 4290 cmp r0, r2
|
|
10001244: bf14 ite ne
|
|
10001246: f44f 4280 movne.w r2, #16384 @ 0x4000
|
|
1000124a: f44f 4200 moveq.w r2, #32768 @ 0x8000
|
|
1000124e: 4c17 ldr r4, [pc, #92] @ (100012ac <pll_init+0x88>)
|
|
10001250: 601a str r2, [r3, #0]
|
|
10001252: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
10001256: 601a str r2, [r3, #0]
|
|
10001258: 68a3 ldr r3, [r4, #8]
|
|
1000125a: ea32 0303 bics.w r3, r2, r3
|
|
1000125e: d1fb bne.n 10001258 <pll_init+0x34>
|
|
10001260: 2221 movs r2, #33 @ 0x21
|
|
10001262: f500 5340 add.w r3, r0, #12288 @ 0x3000
|
|
10001266: 3304 adds r3, #4
|
|
10001268: 6001 str r1, [r0, #0]
|
|
1000126a: 6086 str r6, [r0, #8]
|
|
1000126c: 601a str r2, [r3, #0]
|
|
1000126e: 6802 ldr r2, [r0, #0]
|
|
10001270: 2a00 cmp r2, #0
|
|
10001272: dafc bge.n 1000126e <pll_init+0x4a>
|
|
10001274: 2208 movs r2, #8
|
|
10001276: 60c5 str r5, [r0, #12]
|
|
10001278: 601a str r2, [r3, #0]
|
|
1000127a: bc70 pop {r4, r5, r6}
|
|
1000127c: 4770 bx lr
|
|
1000127e: 6803 ldr r3, [r0, #0]
|
|
10001280: f003 033f and.w r3, r3, #63 @ 0x3f
|
|
10001284: 428b cmp r3, r1
|
|
10001286: d1da bne.n 1000123e <pll_init+0x1a>
|
|
10001288: 6883 ldr r3, [r0, #8]
|
|
1000128a: f3c3 030b ubfx r3, r3, #0, #12
|
|
1000128e: 42b3 cmp r3, r6
|
|
10001290: d1d5 bne.n 1000123e <pll_init+0x1a>
|
|
10001292: 68c3 ldr r3, [r0, #12]
|
|
10001294: f403 23ee and.w r3, r3, #487424 @ 0x77000
|
|
10001298: 42ab cmp r3, r5
|
|
1000129a: d1d0 bne.n 1000123e <pll_init+0x1a>
|
|
1000129c: e7ed b.n 1000127a <pll_init+0x56>
|
|
1000129e: bf00 nop
|
|
100012a0: 00b71b00 .word 0x00b71b00
|
|
100012a4: 40058000 .word 0x40058000
|
|
100012a8: 40022000 .word 0x40022000
|
|
100012ac: 40020000 .word 0x40020000
|
|
|
|
100012b0 <tick_start>:
|
|
100012b0: 2301 movs r3, #1
|
|
100012b2: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
100012b6: 0080 lsls r0, r0, #2
|
|
100012b8: f100 4080 add.w r0, r0, #1073741824 @ 0x40000000
|
|
100012bc: f500 1084 add.w r0, r0, #1081344 @ 0x108000
|
|
100012c0: 6041 str r1, [r0, #4]
|
|
100012c2: 6003 str r3, [r0, #0]
|
|
100012c4: 4770 bx lr
|
|
100012c6: bf00 nop
|
|
|
|
100012c8 <rom_func_lookup>:
|
|
100012c8: 2300 movs r3, #0
|
|
100012ca: 8adb ldrh r3, [r3, #22]
|
|
100012cc: 2200 movs r2, #0
|
|
100012ce: e842 f200 tt r2, r2
|
|
100012d2: 0252 lsls r2, r2, #9
|
|
100012d4: d401 bmi.n 100012da <rom_func_lookup+0x12>
|
|
100012d6: 2110 movs r1, #16
|
|
100012d8: 4718 bx r3
|
|
100012da: 2104 movs r1, #4
|
|
100012dc: 4718 bx r3
|
|
100012de: bf00 nop
|
|
|
|
100012e0 <runtime_init_bootrom_locking_enable>:
|
|
100012e0: 4a03 ldr r2, [pc, #12] @ (100012f0 <runtime_init_bootrom_locking_enable+0x10>)
|
|
100012e2: f8d2 3828 ldr.w r3, [r2, #2088] @ 0x828
|
|
100012e6: 2b00 cmp r3, #0
|
|
100012e8: d0fb beq.n 100012e2 <runtime_init_bootrom_locking_enable+0x2>
|
|
100012ea: f3bf 8f5f dmb sy
|
|
100012ee: 4770 bx lr
|
|
100012f0: 400e0000 .word 0x400e0000
|
|
|
|
100012f4 <runtime_init_boot_locks_reset>:
|
|
100012f4: 2100 movs r1, #0
|
|
100012f6: 4b04 ldr r3, [pc, #16] @ (10001308 <runtime_init_boot_locks_reset+0x14>)
|
|
100012f8: 4a04 ldr r2, [pc, #16] @ (1000130c <runtime_init_boot_locks_reset+0x18>)
|
|
100012fa: f3bf 8f5f dmb sy
|
|
100012fe: f843 1b04 str.w r1, [r3], #4
|
|
10001302: 4293 cmp r3, r2
|
|
10001304: d1f9 bne.n 100012fa <runtime_init_boot_locks_reset+0x6>
|
|
10001306: 4770 bx lr
|
|
10001308: 400e080c .word 0x400e080c
|
|
1000130c: 400e082c .word 0x400e082c
|
|
|
|
10001310 <xosc_init>:
|
|
10001310: b410 push {r4}
|
|
10001312: f44f 708d mov.w r0, #282 @ 0x11a
|
|
10001316: f44f 642a mov.w r4, #2720 @ 0xaa0
|
|
1000131a: 4a06 ldr r2, [pc, #24] @ (10001334 <xosc_init+0x24>)
|
|
1000131c: 4b06 ldr r3, [pc, #24] @ (10001338 <xosc_init+0x28>)
|
|
1000131e: 4907 ldr r1, [pc, #28] @ (1000133c <xosc_init+0x2c>)
|
|
10001320: 6014 str r4, [r2, #0]
|
|
10001322: 60d0 str r0, [r2, #12]
|
|
10001324: 6019 str r1, [r3, #0]
|
|
10001326: 6853 ldr r3, [r2, #4]
|
|
10001328: 2b00 cmp r3, #0
|
|
1000132a: dafc bge.n 10001326 <xosc_init+0x16>
|
|
1000132c: f85d 4b04 ldr.w r4, [sp], #4
|
|
10001330: 4770 bx lr
|
|
10001332: bf00 nop
|
|
10001334: 40048000 .word 0x40048000
|
|
10001338: 4004a000 .word 0x4004a000
|
|
1000133c: 00fab000 .word 0x00fab000
|
|
|
|
10001340 <first_per_core_initializer>:
|
|
10001340: 4770 bx lr
|
|
10001342: bf00 nop
|
|
|
|
10001344 <hard_assertion_failure>:
|
|
10001344: b508 push {r3, lr}
|
|
10001346: 4801 ldr r0, [pc, #4] @ (1000134c <hard_assertion_failure+0x8>)
|
|
10001348: f7fe ffd6 bl 100002f8 <panic>
|
|
1000134c: 10001c50 .word 0x10001c50
|
|
|
|
10001350 <runtime_run_initializers>:
|
|
10001350: b538 push {r3, r4, r5, lr}
|
|
10001352: 4c05 ldr r4, [pc, #20] @ (10001368 <runtime_run_initializers+0x18>)
|
|
10001354: 4d05 ldr r5, [pc, #20] @ (1000136c <runtime_run_initializers+0x1c>)
|
|
10001356: 42ac cmp r4, r5
|
|
10001358: d204 bcs.n 10001364 <runtime_run_initializers+0x14>
|
|
1000135a: f854 3b04 ldr.w r3, [r4], #4
|
|
1000135e: 4798 blx r3
|
|
10001360: 42ac cmp r4, r5
|
|
10001362: d3fa bcc.n 1000135a <runtime_run_initializers+0xa>
|
|
10001364: bd38 pop {r3, r4, r5, pc}
|
|
10001366: bf00 nop
|
|
10001368: 10001bc0 .word 0x10001bc0
|
|
1000136c: 10001c00 .word 0x10001c00
|
|
|
|
10001370 <runtime_init_early_resets>:
|
|
10001370: b410 push {r4}
|
|
10001372: 4807 ldr r0, [pc, #28] @ (10001390 <runtime_init_early_resets+0x20>)
|
|
10001374: 4c07 ldr r4, [pc, #28] @ (10001394 <runtime_init_early_resets+0x24>)
|
|
10001376: 4b08 ldr r3, [pc, #32] @ (10001398 <runtime_init_early_resets+0x28>)
|
|
10001378: 4a08 ldr r2, [pc, #32] @ (1000139c <runtime_init_early_resets+0x2c>)
|
|
1000137a: 4909 ldr r1, [pc, #36] @ (100013a0 <runtime_init_early_resets+0x30>)
|
|
1000137c: 6004 str r4, [r0, #0]
|
|
1000137e: 601a str r2, [r3, #0]
|
|
10001380: 688b ldr r3, [r1, #8]
|
|
10001382: ea32 0303 bics.w r3, r2, r3
|
|
10001386: d1fb bne.n 10001380 <runtime_init_early_resets+0x10>
|
|
10001388: f85d 4b04 ldr.w r4, [sp], #4
|
|
1000138c: 4770 bx lr
|
|
1000138e: bf00 nop
|
|
10001390: 40022000 .word 0x40022000
|
|
10001394: efef3b7f .word 0xefef3b7f
|
|
10001398: 40023000 .word 0x40023000
|
|
1000139c: 03f3fff6 .word 0x03f3fff6
|
|
100013a0: 40020000 .word 0x40020000
|
|
|
|
100013a4 <runtime_init_usb_power_down>:
|
|
100013a4: 4b04 ldr r3, [pc, #16] @ (100013b8 <runtime_init_usb_power_down+0x14>)
|
|
100013a6: 6cdb ldr r3, [r3, #76] @ 0x4c
|
|
100013a8: f5b3 4f00 cmp.w r3, #32768 @ 0x8000
|
|
100013ac: d103 bne.n 100013b6 <runtime_init_usb_power_down+0x12>
|
|
100013ae: f44f 2280 mov.w r2, #262144 @ 0x40000
|
|
100013b2: 4b02 ldr r3, [pc, #8] @ (100013bc <runtime_init_usb_power_down+0x18>)
|
|
100013b4: 64da str r2, [r3, #76] @ 0x4c
|
|
100013b6: 4770 bx lr
|
|
100013b8: 50110000 .word 0x50110000
|
|
100013bc: 50112000 .word 0x50112000
|
|
|
|
100013c0 <runtime_init_per_core_enable_coprocessors>:
|
|
100013c0: f04f 22e0 mov.w r2, #3758153728 @ 0xe000e000
|
|
100013c4: 4b04 ldr r3, [pc, #16] @ (100013d8 <runtime_init_per_core_enable_coprocessors+0x18>)
|
|
100013c6: f8d2 1d88 ldr.w r1, [r2, #3464] @ 0xd88
|
|
100013ca: 430b orrs r3, r1
|
|
100013cc: f8c2 3d88 str.w r3, [r2, #3464] @ 0xd88
|
|
100013d0: ee10 0430 dcp_rcmp r0
|
|
100013d4: 4770 bx lr
|
|
100013d6: bf00 nop
|
|
100013d8: 00300303 .word 0x00300303
|
|
|
|
100013dc <runtime_init_post_clock_resets>:
|
|
100013dc: f06f 4160 mvn.w r1, #3758096384 @ 0xe0000000
|
|
100013e0: 4b04 ldr r3, [pc, #16] @ (100013f4 <runtime_init_post_clock_resets+0x18>)
|
|
100013e2: 4a05 ldr r2, [pc, #20] @ (100013f8 <runtime_init_post_clock_resets+0x1c>)
|
|
100013e4: 6019 str r1, [r3, #0]
|
|
100013e6: 6893 ldr r3, [r2, #8]
|
|
100013e8: 43db mvns r3, r3
|
|
100013ea: f033 4360 bics.w r3, r3, #3758096384 @ 0xe0000000
|
|
100013ee: d1fa bne.n 100013e6 <runtime_init_post_clock_resets+0xa>
|
|
100013f0: 4770 bx lr
|
|
100013f2: bf00 nop
|
|
100013f4: 40023000 .word 0x40023000
|
|
100013f8: 40020000 .word 0x40020000
|
|
|
|
100013fc <runtime_init_bootrom_reset>:
|
|
100013fc: b510 push {r4, lr}
|
|
100013fe: f245 2053 movw r0, #21075 @ 0x5253
|
|
10001402: f7ff ff61 bl 100012c8 <rom_func_lookup>
|
|
10001406: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
1000140a: 4603 mov r3, r0
|
|
1000140c: 2004 movs r0, #4
|
|
1000140e: 4718 bx r3
|
|
|
|
10001410 <runtime_init_per_core_bootrom_reset>:
|
|
10001410: b510 push {r4, lr}
|
|
10001412: f245 2053 movw r0, #21075 @ 0x5253
|
|
10001416: f7ff ff57 bl 100012c8 <rom_func_lookup>
|
|
1000141a: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
1000141e: 4603 mov r3, r0
|
|
10001420: 2001 movs r0, #1
|
|
10001422: 4718 bx r3
|
|
|
|
10001424 <runtime_init_spin_locks_reset>:
|
|
10001424: f7fe bfc0 b.w 100003a8 <spin_locks_reset>
|
|
|
|
10001428 <runtime_init_install_ram_vector_table>:
|
|
10001428: 4914 ldr r1, [pc, #80] @ (1000147c <runtime_init_install_ram_vector_table+0x54>)
|
|
1000142a: 4b15 ldr r3, [pc, #84] @ (10001480 <runtime_init_install_ram_vector_table+0x58>)
|
|
1000142c: b570 push {r4, r5, r6, lr}
|
|
1000142e: 1a5c subs r4, r3, r1
|
|
10001430: 10a6 asrs r6, r4, #2
|
|
10001432: 2e44 cmp r6, #68 @ 0x44
|
|
10001434: 4632 mov r2, r6
|
|
10001436: bf28 it cs
|
|
10001438: 2244 movcs r2, #68 @ 0x44
|
|
1000143a: 4d12 ldr r5, [pc, #72] @ (10001484 <runtime_init_install_ram_vector_table+0x5c>)
|
|
1000143c: 0092 lsls r2, r2, #2
|
|
1000143e: 4628 mov r0, r5
|
|
10001440: f000 fb0e bl 10001a60 <memcpy>
|
|
10001444: f5b4 7f86 cmp.w r4, #268 @ 0x10c
|
|
10001448: d813 bhi.n 10001472 <runtime_init_install_ram_vector_table+0x4a>
|
|
1000144a: 4a0f ldr r2, [pc, #60] @ (10001488 <runtime_init_install_ram_vector_table+0x60>)
|
|
1000144c: f1c6 0044 rsb r0, r6, #68 @ 0x44
|
|
10001450: d012 beq.n 10001478 <runtime_init_install_ram_vector_table+0x50>
|
|
10001452: 192b adds r3, r5, r4
|
|
10001454: 0841 lsrs r1, r0, #1
|
|
10001456: eb03 01c1 add.w r1, r3, r1, lsl #3
|
|
1000145a: e9c3 2200 strd r2, r2, [r3]
|
|
1000145e: 3308 adds r3, #8
|
|
10001460: 428b cmp r3, r1
|
|
10001462: d1fa bne.n 1000145a <runtime_init_install_ram_vector_table+0x32>
|
|
10001464: 07c3 lsls r3, r0, #31
|
|
10001466: d504 bpl.n 10001472 <runtime_init_install_ram_vector_table+0x4a>
|
|
10001468: f020 0001 bic.w r0, r0, #1
|
|
1000146c: 4430 add r0, r6
|
|
1000146e: f845 2020 str.w r2, [r5, r0, lsl #2]
|
|
10001472: 4b06 ldr r3, [pc, #24] @ (1000148c <runtime_init_install_ram_vector_table+0x64>)
|
|
10001474: 609d str r5, [r3, #8]
|
|
10001476: bd70 pop {r4, r5, r6, pc}
|
|
10001478: 2043 movs r0, #67 @ 0x43
|
|
1000147a: e7f8 b.n 1000146e <runtime_init_install_ram_vector_table+0x46>
|
|
1000147c: 10000000 .word 0x10000000
|
|
10001480: 10000110 .word 0x10000110
|
|
10001484: 20000000 .word 0x20000000
|
|
10001488: 10000111 .word 0x10000111
|
|
1000148c: e000ed00 .word 0xe000ed00
|
|
|
|
10001490 <runtime_init_clocks>:
|
|
10001490: 2300 movs r3, #0
|
|
10001492: b570 push {r4, r5, r6, lr}
|
|
10001494: 4c2b ldr r4, [pc, #172] @ (10001544 <runtime_init_clocks+0xb4>)
|
|
10001496: b082 sub sp, #8
|
|
10001498: f8c4 3084 str.w r3, [r4, #132] @ 0x84
|
|
1000149c: f7ff ff38 bl 10001310 <xosc_init>
|
|
100014a0: 2201 movs r2, #1
|
|
100014a2: 4b29 ldr r3, [pc, #164] @ (10001548 <runtime_init_clocks+0xb8>)
|
|
100014a4: 63da str r2, [r3, #60] @ 0x3c
|
|
100014a6: 6c63 ldr r3, [r4, #68] @ 0x44
|
|
100014a8: 2b01 cmp r3, #1
|
|
100014aa: d1fc bne.n 100014a6 <runtime_init_clocks+0x16>
|
|
100014ac: 2103 movs r1, #3
|
|
100014ae: 4a26 ldr r2, [pc, #152] @ (10001548 <runtime_init_clocks+0xb8>)
|
|
100014b0: 4b24 ldr r3, [pc, #144] @ (10001544 <runtime_init_clocks+0xb4>)
|
|
100014b2: 6311 str r1, [r2, #48] @ 0x30
|
|
100014b4: 6b9c ldr r4, [r3, #56] @ 0x38
|
|
100014b6: 2c01 cmp r4, #1
|
|
100014b8: d1fc bne.n 100014b4 <runtime_init_clocks+0x24>
|
|
100014ba: 2602 movs r6, #2
|
|
100014bc: 2505 movs r5, #5
|
|
100014be: 4621 mov r1, r4
|
|
100014c0: 2305 movs r3, #5
|
|
100014c2: 4a22 ldr r2, [pc, #136] @ (1000154c <runtime_init_clocks+0xbc>)
|
|
100014c4: 4822 ldr r0, [pc, #136] @ (10001550 <runtime_init_clocks+0xc0>)
|
|
100014c6: 9600 str r6, [sp, #0]
|
|
100014c8: f7ff feac bl 10001224 <pll_init>
|
|
100014cc: 4621 mov r1, r4
|
|
100014ce: 462b mov r3, r5
|
|
100014d0: 4a20 ldr r2, [pc, #128] @ (10001554 <runtime_init_clocks+0xc4>)
|
|
100014d2: 4821 ldr r0, [pc, #132] @ (10001558 <runtime_init_clocks+0xc8>)
|
|
100014d4: 9500 str r5, [sp, #0]
|
|
100014d6: f7ff fea5 bl 10001224 <pll_init>
|
|
100014da: 2200 movs r2, #0
|
|
100014dc: 2004 movs r0, #4
|
|
100014de: 4631 mov r1, r6
|
|
100014e0: 4b1e ldr r3, [pc, #120] @ (1000155c <runtime_init_clocks+0xcc>)
|
|
100014e2: f7ff fe31 bl 10001148 <clock_configure_undivided>
|
|
100014e6: 4621 mov r1, r4
|
|
100014e8: 4628 mov r0, r5
|
|
100014ea: 2200 movs r2, #0
|
|
100014ec: 4b1c ldr r3, [pc, #112] @ (10001560 <runtime_init_clocks+0xd0>)
|
|
100014ee: f7ff fe2b bl 10001148 <clock_configure_undivided>
|
|
100014f2: 2200 movs r2, #0
|
|
100014f4: 2008 movs r0, #8
|
|
100014f6: 4611 mov r1, r2
|
|
100014f8: 4b1a ldr r3, [pc, #104] @ (10001564 <runtime_init_clocks+0xd4>)
|
|
100014fa: f7ff fe25 bl 10001148 <clock_configure_undivided>
|
|
100014fe: 2200 movs r2, #0
|
|
10001500: 2009 movs r0, #9
|
|
10001502: 4611 mov r1, r2
|
|
10001504: 4b17 ldr r3, [pc, #92] @ (10001564 <runtime_init_clocks+0xd4>)
|
|
10001506: f7ff fe1f bl 10001148 <clock_configure_undivided>
|
|
1000150a: 2200 movs r2, #0
|
|
1000150c: 2006 movs r0, #6
|
|
1000150e: 4611 mov r1, r2
|
|
10001510: 4b13 ldr r3, [pc, #76] @ (10001560 <runtime_init_clocks+0xd0>)
|
|
10001512: f7ff fe19 bl 10001148 <clock_configure_undivided>
|
|
10001516: 2200 movs r2, #0
|
|
10001518: 4b11 ldr r3, [pc, #68] @ (10001560 <runtime_init_clocks+0xd0>)
|
|
1000151a: 2007 movs r0, #7
|
|
1000151c: 4611 mov r1, r2
|
|
1000151e: f7ff fe13 bl 10001148 <clock_configure_undivided>
|
|
10001522: 2004 movs r0, #4
|
|
10001524: f7ff fe78 bl 10001218 <clock_get_hz>
|
|
10001528: 2400 movs r4, #0
|
|
1000152a: 4b0f ldr r3, [pc, #60] @ (10001568 <runtime_init_clocks+0xd8>)
|
|
1000152c: fba3 3500 umull r3, r5, r3, r0
|
|
10001530: 0cad lsrs r5, r5, #18
|
|
10001532: b2e0 uxtb r0, r4
|
|
10001534: 4629 mov r1, r5
|
|
10001536: 3401 adds r4, #1
|
|
10001538: f7ff feba bl 100012b0 <tick_start>
|
|
1000153c: 2c06 cmp r4, #6
|
|
1000153e: d1f8 bne.n 10001532 <runtime_init_clocks+0xa2>
|
|
10001540: b002 add sp, #8
|
|
10001542: bd70 pop {r4, r5, r6, pc}
|
|
10001544: 40010000 .word 0x40010000
|
|
10001548: 40013000 .word 0x40013000
|
|
1000154c: 59682f00 .word 0x59682f00
|
|
10001550: 40050000 .word 0x40050000
|
|
10001554: 47868c00 .word 0x47868c00
|
|
10001558: 40058000 .word 0x40058000
|
|
1000155c: 00b71b00 .word 0x00b71b00
|
|
10001560: 08f0d180 .word 0x08f0d180
|
|
10001564: 02dc6c00 .word 0x02dc6c00
|
|
10001568: 431bde83 .word 0x431bde83
|
|
|
|
1000156c <_out_char>:
|
|
1000156c: b900 cbnz r0, 10001570 <_out_char+0x4>
|
|
1000156e: 4770 bx lr
|
|
10001570: f000 b91c b.w 100017ac <__wrap_putchar>
|
|
|
|
10001574 <weak_raw_vprintf>:
|
|
10001574: b510 push {r4, lr}
|
|
10001576: 4b09 ldr r3, [pc, #36] @ (1000159c <weak_raw_vprintf+0x28>)
|
|
10001578: b084 sub sp, #16
|
|
1000157a: 681c ldr r4, [r3, #0]
|
|
1000157c: b14c cbz r4, 10001592 <weak_raw_vprintf+0x1e>
|
|
1000157e: 4603 mov r3, r0
|
|
10001580: 9100 str r1, [sp, #0]
|
|
10001582: f04f 32ff mov.w r2, #4294967295
|
|
10001586: a903 add r1, sp, #12
|
|
10001588: 4805 ldr r0, [pc, #20] @ (100015a0 <weak_raw_vprintf+0x2c>)
|
|
1000158a: 47a0 blx r4
|
|
1000158c: 2001 movs r0, #1
|
|
1000158e: b004 add sp, #16
|
|
10001590: bd10 pop {r4, pc}
|
|
10001592: f000 f94d bl 10001830 <__wrap_puts>
|
|
10001596: 4620 mov r0, r4
|
|
10001598: b004 add sp, #16
|
|
1000159a: bd10 pop {r4, pc}
|
|
1000159c: 200004a8 .word 0x200004a8
|
|
100015a0: 1000156d .word 0x1000156d
|
|
|
|
100015a4 <_exit>:
|
|
100015a4: be00 bkpt 0x0000
|
|
100015a6: e7fd b.n 100015a4 <_exit>
|
|
|
|
100015a8 <exit>:
|
|
100015a8: b508 push {r3, lr}
|
|
100015aa: f7ff fffb bl 100015a4 <_exit>
|
|
100015ae: bf00 nop
|
|
|
|
100015b0 <runtime_init>:
|
|
100015b0: b538 push {r3, r4, r5, lr}
|
|
100015b2: 4c06 ldr r4, [pc, #24] @ (100015cc <runtime_init+0x1c>)
|
|
100015b4: 4d06 ldr r5, [pc, #24] @ (100015d0 <runtime_init+0x20>)
|
|
100015b6: f7ff fecb bl 10001350 <runtime_run_initializers>
|
|
100015ba: 42ac cmp r4, r5
|
|
100015bc: d204 bcs.n 100015c8 <runtime_init+0x18>
|
|
100015be: f854 3b04 ldr.w r3, [r4], #4
|
|
100015c2: 4798 blx r3
|
|
100015c4: 42ac cmp r4, r5
|
|
100015c6: d3fa bcc.n 100015be <runtime_init+0xe>
|
|
100015c8: bd38 pop {r3, r4, r5, pc}
|
|
100015ca: bf00 nop
|
|
100015cc: 10001c00 .word 0x10001c00
|
|
100015d0: 10001c04 .word 0x10001c04
|
|
|
|
100015d4 <stdio_out_chars_no_crlf>:
|
|
100015d4: 6803 ldr r3, [r0, #0]
|
|
100015d6: 4608 mov r0, r1
|
|
100015d8: 4611 mov r1, r2
|
|
100015da: 4718 bx r3
|
|
|
|
100015dc <stdio_out_chars_crlf>:
|
|
100015dc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
100015e0: 4615 mov r5, r2
|
|
100015e2: 7d42 ldrb r2, [r0, #21]
|
|
100015e4: 4607 mov r7, r0
|
|
100015e6: 4688 mov r8, r1
|
|
100015e8: 2a00 cmp r2, #0
|
|
100015ea: d046 beq.n 1000167a <stdio_out_chars_crlf+0x9e>
|
|
100015ec: 2d00 cmp r5, #0
|
|
100015ee: dd1d ble.n 1000162c <stdio_out_chars_crlf+0x50>
|
|
100015f0: 780b ldrb r3, [r1, #0]
|
|
100015f2: 2b0a cmp r3, #10
|
|
100015f4: d023 beq.n 1000163e <stdio_out_chars_crlf+0x62>
|
|
100015f6: 2d01 cmp r5, #1
|
|
100015f8: f04f 0c00 mov.w ip, #0
|
|
100015fc: d018 beq.n 10001630 <stdio_out_chars_crlf+0x54>
|
|
100015fe: 4646 mov r6, r8
|
|
10001600: 2401 movs r4, #1
|
|
10001602: f816 2f01 ldrb.w r2, [r6, #1]!
|
|
10001606: 4621 mov r1, r4
|
|
10001608: 2a0a cmp r2, #10
|
|
1000160a: f104 0401 add.w r4, r4, #1
|
|
1000160e: d022 beq.n 10001656 <stdio_out_chars_crlf+0x7a>
|
|
10001610: 42a5 cmp r5, r4
|
|
10001612: d1f6 bne.n 10001602 <stdio_out_chars_crlf+0x26>
|
|
10001614: 4565 cmp r5, ip
|
|
10001616: dc0b bgt.n 10001630 <stdio_out_chars_crlf+0x54>
|
|
10001618: eb08 0305 add.w r3, r8, r5
|
|
1000161c: f813 3c01 ldrb.w r3, [r3, #-1]
|
|
10001620: f1a3 030d sub.w r3, r3, #13
|
|
10001624: fab3 f383 clz r3, r3
|
|
10001628: 095b lsrs r3, r3, #5
|
|
1000162a: 753b strb r3, [r7, #20]
|
|
1000162c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
10001630: 683b ldr r3, [r7, #0]
|
|
10001632: eba5 010c sub.w r1, r5, ip
|
|
10001636: eb08 000c add.w r0, r8, ip
|
|
1000163a: 4798 blx r3
|
|
1000163c: e7ec b.n 10001618 <stdio_out_chars_crlf+0x3c>
|
|
1000163e: 7d03 ldrb r3, [r0, #20]
|
|
10001640: 2b00 cmp r3, #0
|
|
10001642: d1d8 bne.n 100015f6 <stdio_out_chars_crlf+0x1a>
|
|
10001644: 6803 ldr r3, [r0, #0]
|
|
10001646: 2102 movs r1, #2
|
|
10001648: 480f ldr r0, [pc, #60] @ (10001688 <stdio_out_chars_crlf+0xac>)
|
|
1000164a: 4798 blx r3
|
|
1000164c: 2d01 cmp r5, #1
|
|
1000164e: d0e3 beq.n 10001618 <stdio_out_chars_crlf+0x3c>
|
|
10001650: f04f 0c01 mov.w ip, #1
|
|
10001654: e7d3 b.n 100015fe <stdio_out_chars_crlf+0x22>
|
|
10001656: f816 3c01 ldrb.w r3, [r6, #-1]
|
|
1000165a: 2b0d cmp r3, #13
|
|
1000165c: d0d8 beq.n 10001610 <stdio_out_chars_crlf+0x34>
|
|
1000165e: 458c cmp ip, r1
|
|
10001660: eb08 000c add.w r0, r8, ip
|
|
10001664: eba1 010c sub.w r1, r1, ip
|
|
10001668: da01 bge.n 1000166e <stdio_out_chars_crlf+0x92>
|
|
1000166a: 683b ldr r3, [r7, #0]
|
|
1000166c: 4798 blx r3
|
|
1000166e: 2102 movs r1, #2
|
|
10001670: 4805 ldr r0, [pc, #20] @ (10001688 <stdio_out_chars_crlf+0xac>)
|
|
10001672: 683b ldr r3, [r7, #0]
|
|
10001674: 4798 blx r3
|
|
10001676: 46a4 mov ip, r4
|
|
10001678: e7ca b.n 10001610 <stdio_out_chars_crlf+0x34>
|
|
1000167a: 4629 mov r1, r5
|
|
1000167c: 4640 mov r0, r8
|
|
1000167e: 683b ldr r3, [r7, #0]
|
|
10001680: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
|
|
10001684: 4718 bx r3
|
|
10001686: bf00 nop
|
|
10001688: 10001d2c .word 0x10001d2c
|
|
|
|
1000168c <stdio_put_string>:
|
|
1000168c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
10001690: b082 sub sp, #8
|
|
10001692: 460d mov r5, r1
|
|
10001694: 4691 mov r9, r2
|
|
10001696: 461c mov r4, r3
|
|
10001698: 4606 mov r6, r0
|
|
1000169a: f7ff fc9b bl 10000fd4 <time_us_64>
|
|
1000169e: f04f 3cff mov.w ip, #4294967295
|
|
100016a2: f06f 4700 mvn.w r7, #2147483648 @ 0x80000000
|
|
100016a6: 4a2e ldr r2, [pc, #184] @ (10001760 <stdio_put_string+0xd4>)
|
|
100016a8: 1882 adds r2, r0, r2
|
|
100016aa: f141 0300 adc.w r3, r1, #0
|
|
100016ae: 4594 cmp ip, r2
|
|
100016b0: eb77 0103 sbcs.w r1, r7, r3
|
|
100016b4: bf3c itt cc
|
|
100016b6: 4662 movcc r2, ip
|
|
100016b8: 463b movcc r3, r7
|
|
100016ba: 482a ldr r0, [pc, #168] @ (10001764 <stdio_put_string+0xd8>)
|
|
100016bc: f000 fa7c bl 10001bb8 <__mutex_try_enter_block_until_veneer>
|
|
100016c0: 1c6b adds r3, r5, #1
|
|
100016c2: 4680 mov r8, r0
|
|
100016c4: d040 beq.n 10001748 <stdio_put_string+0xbc>
|
|
100016c6: b30c cbz r4, 1000170c <stdio_put_string+0x80>
|
|
100016c8: 4f27 ldr r7, [pc, #156] @ (10001768 <stdio_put_string+0xdc>)
|
|
100016ca: 4b28 ldr r3, [pc, #160] @ (1000176c <stdio_put_string+0xe0>)
|
|
100016cc: 681c ldr r4, [r3, #0]
|
|
100016ce: b1b4 cbz r4, 100016fe <stdio_put_string+0x72>
|
|
100016d0: f1b9 0f00 cmp.w r9, #0
|
|
100016d4: d11c bne.n 10001710 <stdio_put_string+0x84>
|
|
100016d6: f8df 909c ldr.w r9, [pc, #156] @ 10001774 <stdio_put_string+0xe8>
|
|
100016da: e001 b.n 100016e0 <stdio_put_string+0x54>
|
|
100016dc: 6924 ldr r4, [r4, #16]
|
|
100016de: b174 cbz r4, 100016fe <stdio_put_string+0x72>
|
|
100016e0: 6823 ldr r3, [r4, #0]
|
|
100016e2: 2b00 cmp r3, #0
|
|
100016e4: d0fa beq.n 100016dc <stdio_put_string+0x50>
|
|
100016e6: f8d9 3000 ldr.w r3, [r9]
|
|
100016ea: b10b cbz r3, 100016f0 <stdio_put_string+0x64>
|
|
100016ec: 429c cmp r4, r3
|
|
100016ee: d1f5 bne.n 100016dc <stdio_put_string+0x50>
|
|
100016f0: 4620 mov r0, r4
|
|
100016f2: 462a mov r2, r5
|
|
100016f4: 4631 mov r1, r6
|
|
100016f6: 47b8 blx r7
|
|
100016f8: 6924 ldr r4, [r4, #16]
|
|
100016fa: 2c00 cmp r4, #0
|
|
100016fc: d1f0 bne.n 100016e0 <stdio_put_string+0x54>
|
|
100016fe: f1b8 0f00 cmp.w r8, #0
|
|
10001702: d126 bne.n 10001752 <stdio_put_string+0xc6>
|
|
10001704: 4628 mov r0, r5
|
|
10001706: b002 add sp, #8
|
|
10001708: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1000170c: 4f18 ldr r7, [pc, #96] @ (10001770 <stdio_put_string+0xe4>)
|
|
1000170e: e7dc b.n 100016ca <stdio_put_string+0x3e>
|
|
10001710: f04f 0a0a mov.w sl, #10
|
|
10001714: f8df 905c ldr.w r9, [pc, #92] @ 10001774 <stdio_put_string+0xe8>
|
|
10001718: e002 b.n 10001720 <stdio_put_string+0x94>
|
|
1000171a: 6924 ldr r4, [r4, #16]
|
|
1000171c: 2c00 cmp r4, #0
|
|
1000171e: d0ee beq.n 100016fe <stdio_put_string+0x72>
|
|
10001720: 6823 ldr r3, [r4, #0]
|
|
10001722: 2b00 cmp r3, #0
|
|
10001724: d0f9 beq.n 1000171a <stdio_put_string+0x8e>
|
|
10001726: f8d9 3000 ldr.w r3, [r9]
|
|
1000172a: b10b cbz r3, 10001730 <stdio_put_string+0xa4>
|
|
1000172c: 42a3 cmp r3, r4
|
|
1000172e: d1f4 bne.n 1000171a <stdio_put_string+0x8e>
|
|
10001730: 462a mov r2, r5
|
|
10001732: 4631 mov r1, r6
|
|
10001734: 4620 mov r0, r4
|
|
10001736: 47b8 blx r7
|
|
10001738: 2201 movs r2, #1
|
|
1000173a: 4620 mov r0, r4
|
|
1000173c: f10d 0107 add.w r1, sp, #7
|
|
10001740: f88d a007 strb.w sl, [sp, #7]
|
|
10001744: 47b8 blx r7
|
|
10001746: e7e8 b.n 1000171a <stdio_put_string+0x8e>
|
|
10001748: 4630 mov r0, r6
|
|
1000174a: f000 f9ff bl 10001b4c <strlen>
|
|
1000174e: 4605 mov r5, r0
|
|
10001750: e7b9 b.n 100016c6 <stdio_put_string+0x3a>
|
|
10001752: 4804 ldr r0, [pc, #16] @ (10001764 <stdio_put_string+0xd8>)
|
|
10001754: f000 fa2c bl 10001bb0 <__mutex_exit_veneer>
|
|
10001758: 4628 mov r0, r5
|
|
1000175a: b002 add sp, #8
|
|
1000175c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
10001760: 000f4240 .word 0x000f4240
|
|
10001764: 200002a4 .word 0x200002a4
|
|
10001768: 100015dd .word 0x100015dd
|
|
1000176c: 2000049c .word 0x2000049c
|
|
10001770: 100015d5 .word 0x100015d5
|
|
10001774: 200004a0 .word 0x200004a0
|
|
|
|
10001778 <stdio_set_driver_enabled>:
|
|
10001778: 4a08 ldr r2, [pc, #32] @ (1000179c <stdio_set_driver_enabled+0x24>)
|
|
1000177a: 6813 ldr r3, [r2, #0]
|
|
1000177c: b923 cbnz r3, 10001788 <stdio_set_driver_enabled+0x10>
|
|
1000177e: e00a b.n 10001796 <stdio_set_driver_enabled+0x1e>
|
|
10001780: f103 0210 add.w r2, r3, #16
|
|
10001784: 691b ldr r3, [r3, #16]
|
|
10001786: b133 cbz r3, 10001796 <stdio_set_driver_enabled+0x1e>
|
|
10001788: 4283 cmp r3, r0
|
|
1000178a: d1f9 bne.n 10001780 <stdio_set_driver_enabled+0x8>
|
|
1000178c: b929 cbnz r1, 1000179a <stdio_set_driver_enabled+0x22>
|
|
1000178e: 6918 ldr r0, [r3, #16]
|
|
10001790: 6010 str r0, [r2, #0]
|
|
10001792: 6119 str r1, [r3, #16]
|
|
10001794: 4770 bx lr
|
|
10001796: b101 cbz r1, 1000179a <stdio_set_driver_enabled+0x22>
|
|
10001798: 6010 str r0, [r2, #0]
|
|
1000179a: 4770 bx lr
|
|
1000179c: 2000049c .word 0x2000049c
|
|
|
|
100017a0 <stdio_init_all>:
|
|
100017a0: b508 push {r3, lr}
|
|
100017a2: f000 f933 bl 10001a0c <stdio_uart_init>
|
|
100017a6: 2001 movs r0, #1
|
|
100017a8: bd08 pop {r3, pc}
|
|
100017aa: bf00 nop
|
|
|
|
100017ac <__wrap_putchar>:
|
|
100017ac: b5f0 push {r4, r5, r6, r7, lr}
|
|
100017ae: b083 sub sp, #12
|
|
100017b0: 4606 mov r6, r0
|
|
100017b2: f88d 0007 strb.w r0, [sp, #7]
|
|
100017b6: f7ff fc0d bl 10000fd4 <time_us_64>
|
|
100017ba: f04f 35ff mov.w r5, #4294967295
|
|
100017be: f06f 4400 mvn.w r4, #2147483648 @ 0x80000000
|
|
100017c2: 4a17 ldr r2, [pc, #92] @ (10001820 <__wrap_putchar+0x74>)
|
|
100017c4: 1882 adds r2, r0, r2
|
|
100017c6: f141 0300 adc.w r3, r1, #0
|
|
100017ca: 4295 cmp r5, r2
|
|
100017cc: eb74 0103 sbcs.w r1, r4, r3
|
|
100017d0: bf3c itt cc
|
|
100017d2: 4623 movcc r3, r4
|
|
100017d4: 462a movcc r2, r5
|
|
100017d6: 4813 ldr r0, [pc, #76] @ (10001824 <__wrap_putchar+0x78>)
|
|
100017d8: f000 f9ee bl 10001bb8 <__mutex_try_enter_block_until_veneer>
|
|
100017dc: 4b12 ldr r3, [pc, #72] @ (10001828 <__wrap_putchar+0x7c>)
|
|
100017de: 4607 mov r7, r0
|
|
100017e0: 681c ldr r4, [r3, #0]
|
|
100017e2: b19c cbz r4, 1000180c <__wrap_putchar+0x60>
|
|
100017e4: 4d11 ldr r5, [pc, #68] @ (1000182c <__wrap_putchar+0x80>)
|
|
100017e6: e001 b.n 100017ec <__wrap_putchar+0x40>
|
|
100017e8: 6924 ldr r4, [r4, #16]
|
|
100017ea: b17c cbz r4, 1000180c <__wrap_putchar+0x60>
|
|
100017ec: 6823 ldr r3, [r4, #0]
|
|
100017ee: 2b00 cmp r3, #0
|
|
100017f0: d0fa beq.n 100017e8 <__wrap_putchar+0x3c>
|
|
100017f2: 682b ldr r3, [r5, #0]
|
|
100017f4: b10b cbz r3, 100017fa <__wrap_putchar+0x4e>
|
|
100017f6: 429c cmp r4, r3
|
|
100017f8: d1f6 bne.n 100017e8 <__wrap_putchar+0x3c>
|
|
100017fa: 4620 mov r0, r4
|
|
100017fc: 2201 movs r2, #1
|
|
100017fe: f10d 0107 add.w r1, sp, #7
|
|
10001802: f7ff feeb bl 100015dc <stdio_out_chars_crlf>
|
|
10001806: 6924 ldr r4, [r4, #16]
|
|
10001808: 2c00 cmp r4, #0
|
|
1000180a: d1ef bne.n 100017ec <__wrap_putchar+0x40>
|
|
1000180c: b917 cbnz r7, 10001814 <__wrap_putchar+0x68>
|
|
1000180e: 4630 mov r0, r6
|
|
10001810: b003 add sp, #12
|
|
10001812: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10001814: 4803 ldr r0, [pc, #12] @ (10001824 <__wrap_putchar+0x78>)
|
|
10001816: f000 f9cb bl 10001bb0 <__mutex_exit_veneer>
|
|
1000181a: 4630 mov r0, r6
|
|
1000181c: b003 add sp, #12
|
|
1000181e: bdf0 pop {r4, r5, r6, r7, pc}
|
|
10001820: 000f4240 .word 0x000f4240
|
|
10001824: 200002a4 .word 0x200002a4
|
|
10001828: 2000049c .word 0x2000049c
|
|
1000182c: 200004a0 .word 0x200004a0
|
|
|
|
10001830 <__wrap_puts>:
|
|
10001830: b538 push {r3, r4, r5, lr}
|
|
10001832: 4604 mov r4, r0
|
|
10001834: f000 f98a bl 10001b4c <strlen>
|
|
10001838: 2301 movs r3, #1
|
|
1000183a: 4605 mov r5, r0
|
|
1000183c: 461a mov r2, r3
|
|
1000183e: 4620 mov r0, r4
|
|
10001840: 4629 mov r1, r5
|
|
10001842: f7ff ff23 bl 1000168c <stdio_put_string>
|
|
10001846: 4b08 ldr r3, [pc, #32] @ (10001868 <__wrap_puts+0x38>)
|
|
10001848: 681c ldr r4, [r3, #0]
|
|
1000184a: b12c cbz r4, 10001858 <__wrap_puts+0x28>
|
|
1000184c: 6863 ldr r3, [r4, #4]
|
|
1000184e: b12b cbz r3, 1000185c <__wrap_puts+0x2c>
|
|
10001850: 4798 blx r3
|
|
10001852: 6924 ldr r4, [r4, #16]
|
|
10001854: 2c00 cmp r4, #0
|
|
10001856: d1f9 bne.n 1000184c <__wrap_puts+0x1c>
|
|
10001858: 4628 mov r0, r5
|
|
1000185a: bd38 pop {r3, r4, r5, pc}
|
|
1000185c: 6924 ldr r4, [r4, #16]
|
|
1000185e: 2c00 cmp r4, #0
|
|
10001860: d1f4 bne.n 1000184c <__wrap_puts+0x1c>
|
|
10001862: 4628 mov r0, r5
|
|
10001864: bd38 pop {r3, r4, r5, pc}
|
|
10001866: bf00 nop
|
|
10001868: 2000049c .word 0x2000049c
|
|
|
|
1000186c <stdio_uart_out_chars>:
|
|
1000186c: f1b1 0c00 subs.w ip, r1, #0
|
|
10001870: dd1d ble.n 100018ae <stdio_uart_out_chars+0x42>
|
|
10001872: 4a0f ldr r2, [pc, #60] @ (100018b0 <stdio_uart_out_chars+0x44>)
|
|
10001874: 4b0f ldr r3, [pc, #60] @ (100018b4 <stdio_uart_out_chars+0x48>)
|
|
10001876: 6812 ldr r2, [r2, #0]
|
|
10001878: b530 push {r4, r5, lr}
|
|
1000187a: 1ad3 subs r3, r2, r3
|
|
1000187c: fab3 f383 clz r3, r3
|
|
10001880: 240d movs r4, #13
|
|
10001882: 4d0d ldr r5, [pc, #52] @ (100018b8 <stdio_uart_out_chars+0x4c>)
|
|
10001884: 095b lsrs r3, r3, #5
|
|
10001886: 1e41 subs r1, r0, #1
|
|
10001888: f935 e013 ldrsh.w lr, [r5, r3, lsl #1]
|
|
1000188c: 448c add ip, r1
|
|
1000188e: f811 0f01 ldrb.w r0, [r1, #1]!
|
|
10001892: 4586 cmp lr, r0
|
|
10001894: d006 beq.n 100018a4 <stdio_uart_out_chars+0x38>
|
|
10001896: 6993 ldr r3, [r2, #24]
|
|
10001898: 069b lsls r3, r3, #26
|
|
1000189a: d4fc bmi.n 10001896 <stdio_uart_out_chars+0x2a>
|
|
1000189c: 4561 cmp r1, ip
|
|
1000189e: 6010 str r0, [r2, #0]
|
|
100018a0: d1f5 bne.n 1000188e <stdio_uart_out_chars+0x22>
|
|
100018a2: bd30 pop {r4, r5, pc}
|
|
100018a4: 6993 ldr r3, [r2, #24]
|
|
100018a6: 069d lsls r5, r3, #26
|
|
100018a8: d4fc bmi.n 100018a4 <stdio_uart_out_chars+0x38>
|
|
100018aa: 6014 str r4, [r2, #0]
|
|
100018ac: e7f3 b.n 10001896 <stdio_uart_out_chars+0x2a>
|
|
100018ae: 4770 bx lr
|
|
100018b0: 200004ec .word 0x200004ec
|
|
100018b4: 40078000 .word 0x40078000
|
|
100018b8: 200004e8 .word 0x200004e8
|
|
|
|
100018bc <stdio_uart_in_chars>:
|
|
100018bc: 4b22 ldr r3, [pc, #136] @ (10001948 <stdio_uart_in_chars+0x8c>)
|
|
100018be: f1b1 0c00 subs.w ip, r1, #0
|
|
100018c2: b410 push {r4}
|
|
100018c4: 681c ldr r4, [r3, #0]
|
|
100018c6: dd2e ble.n 10001926 <stdio_uart_in_chars+0x6a>
|
|
100018c8: 4603 mov r3, r0
|
|
100018ca: 2000 movs r0, #0
|
|
100018cc: 4a1f ldr r2, [pc, #124] @ (1000194c <stdio_uart_in_chars+0x90>)
|
|
100018ce: 1e59 subs r1, r3, #1
|
|
100018d0: 6812 ldr r2, [r2, #0]
|
|
100018d2: 6993 ldr r3, [r2, #24]
|
|
100018d4: 06db lsls r3, r3, #27
|
|
100018d6: d417 bmi.n 10001908 <stdio_uart_in_chars+0x4c>
|
|
100018d8: 3001 adds r0, #1
|
|
100018da: 6993 ldr r3, [r2, #24]
|
|
100018dc: 06db lsls r3, r3, #27
|
|
100018de: d4fc bmi.n 100018da <stdio_uart_in_chars+0x1e>
|
|
100018e0: 6813 ldr r3, [r2, #0]
|
|
100018e2: 4584 cmp ip, r0
|
|
100018e4: f801 3f01 strb.w r3, [r1, #1]!
|
|
100018e8: d1f3 bne.n 100018d2 <stdio_uart_in_chars+0x16>
|
|
100018ea: b14c cbz r4, 10001900 <stdio_uart_in_chars+0x44>
|
|
100018ec: 2150 movs r1, #80 @ 0x50
|
|
100018ee: 4613 mov r3, r2
|
|
100018f0: 6391 str r1, [r2, #56] @ 0x38
|
|
100018f2: f853 2f34 ldr.w r2, [r3, #52]!
|
|
100018f6: f002 0238 and.w r2, r2, #56 @ 0x38
|
|
100018fa: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
100018fe: 601a str r2, [r3, #0]
|
|
10001900: 4660 mov r0, ip
|
|
10001902: f85d 4b04 ldr.w r4, [sp], #4
|
|
10001906: 4770 bx lr
|
|
10001908: b14c cbz r4, 1000191e <stdio_uart_in_chars+0x62>
|
|
1000190a: 2150 movs r1, #80 @ 0x50
|
|
1000190c: 4613 mov r3, r2
|
|
1000190e: 6391 str r1, [r2, #56] @ 0x38
|
|
10001910: f853 2f34 ldr.w r2, [r3, #52]!
|
|
10001914: f002 0238 and.w r2, r2, #56 @ 0x38
|
|
10001918: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
1000191c: 601a str r2, [r3, #0]
|
|
1000191e: b178 cbz r0, 10001940 <stdio_uart_in_chars+0x84>
|
|
10001920: f85d 4b04 ldr.w r4, [sp], #4
|
|
10001924: 4770 bx lr
|
|
10001926: b15c cbz r4, 10001940 <stdio_uart_in_chars+0x84>
|
|
10001928: 4b08 ldr r3, [pc, #32] @ (1000194c <stdio_uart_in_chars+0x90>)
|
|
1000192a: 2150 movs r1, #80 @ 0x50
|
|
1000192c: 681a ldr r2, [r3, #0]
|
|
1000192e: 4613 mov r3, r2
|
|
10001930: 6391 str r1, [r2, #56] @ 0x38
|
|
10001932: f853 2f34 ldr.w r2, [r3, #52]!
|
|
10001936: f002 0238 and.w r2, r2, #56 @ 0x38
|
|
1000193a: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
1000193e: 601a str r2, [r3, #0]
|
|
10001940: f06f 0002 mvn.w r0, #2
|
|
10001944: e7dd b.n 10001902 <stdio_uart_in_chars+0x46>
|
|
10001946: bf00 nop
|
|
10001948: 20000468 .word 0x20000468
|
|
1000194c: 200004ec .word 0x200004ec
|
|
|
|
10001950 <on_uart_rx>:
|
|
10001950: 4b05 ldr r3, [pc, #20] @ (10001968 <on_uart_rx+0x18>)
|
|
10001952: 681b ldr r3, [r3, #0]
|
|
10001954: b133 cbz r3, 10001964 <on_uart_rx+0x14>
|
|
10001956: 2100 movs r1, #0
|
|
10001958: 4a04 ldr r2, [pc, #16] @ (1000196c <on_uart_rx+0x1c>)
|
|
1000195a: 4805 ldr r0, [pc, #20] @ (10001970 <on_uart_rx+0x20>)
|
|
1000195c: 6812 ldr r2, [r2, #0]
|
|
1000195e: 6800 ldr r0, [r0, #0]
|
|
10001960: 6391 str r1, [r2, #56] @ 0x38
|
|
10001962: 4718 bx r3
|
|
10001964: 4770 bx lr
|
|
10001966: bf00 nop
|
|
10001968: 20000468 .word 0x20000468
|
|
1000196c: 200004ec .word 0x200004ec
|
|
10001970: 2000046c .word 0x2000046c
|
|
|
|
10001974 <stdio_uart_out_flush>:
|
|
10001974: 4b02 ldr r3, [pc, #8] @ (10001980 <stdio_uart_out_flush+0xc>)
|
|
10001976: 681a ldr r2, [r3, #0]
|
|
10001978: 6993 ldr r3, [r2, #24]
|
|
1000197a: 071b lsls r3, r3, #28
|
|
1000197c: d4fc bmi.n 10001978 <stdio_uart_out_flush+0x4>
|
|
1000197e: 4770 bx lr
|
|
10001980: 200004ec .word 0x200004ec
|
|
|
|
10001984 <stdio_uart_set_chars_available_callback>:
|
|
10001984: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
10001986: 4f1c ldr r7, [pc, #112] @ (100019f8 <stdio_uart_set_chars_available_callback+0x74>)
|
|
10001988: 4d1c ldr r5, [pc, #112] @ (100019fc <stdio_uart_set_chars_available_callback+0x78>)
|
|
1000198a: 683a ldr r2, [r7, #0]
|
|
1000198c: 4e1c ldr r6, [pc, #112] @ (10001a00 <stdio_uart_set_chars_available_callback+0x7c>)
|
|
1000198e: 42aa cmp r2, r5
|
|
10001990: bf14 ite ne
|
|
10001992: 2521 movne r5, #33 @ 0x21
|
|
10001994: 2522 moveq r5, #34 @ 0x22
|
|
10001996: 4604 mov r4, r0
|
|
10001998: f8d6 c000 ldr.w ip, [r6]
|
|
1000199c: b118 cbz r0, 100019a6 <stdio_uart_set_chars_available_callback+0x22>
|
|
1000199e: f1bc 0f00 cmp.w ip, #0
|
|
100019a2: d010 beq.n 100019c6 <stdio_uart_set_chars_available_callback+0x42>
|
|
100019a4: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
100019a6: f1bc 0f00 cmp.w ip, #0
|
|
100019aa: d0fb beq.n 100019a4 <stdio_uart_set_chars_available_callback+0x20>
|
|
100019ac: 4601 mov r1, r0
|
|
100019ae: 6390 str r0, [r2, #56] @ 0x38
|
|
100019b0: 4628 mov r0, r5
|
|
100019b2: f7fe fd25 bl 10000400 <irq_set_enabled>
|
|
100019b6: 4628 mov r0, r5
|
|
100019b8: 4912 ldr r1, [pc, #72] @ (10001a04 <stdio_uart_set_chars_available_callback+0x80>)
|
|
100019ba: f7fe fd67 bl 1000048c <irq_remove_handler>
|
|
100019be: 4b12 ldr r3, [pc, #72] @ (10001a08 <stdio_uart_set_chars_available_callback+0x84>)
|
|
100019c0: 6034 str r4, [r6, #0]
|
|
100019c2: 601c str r4, [r3, #0]
|
|
100019c4: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
100019c6: 460b mov r3, r1
|
|
100019c8: 4a0f ldr r2, [pc, #60] @ (10001a08 <stdio_uart_set_chars_available_callback+0x84>)
|
|
100019ca: 490e ldr r1, [pc, #56] @ (10001a04 <stdio_uart_set_chars_available_callback+0x80>)
|
|
100019cc: 6030 str r0, [r6, #0]
|
|
100019ce: 4628 mov r0, r5
|
|
100019d0: 6013 str r3, [r2, #0]
|
|
100019d2: f7fe fd2b bl 1000042c <irq_set_exclusive_handler>
|
|
100019d6: 2101 movs r1, #1
|
|
100019d8: 4628 mov r0, r5
|
|
100019da: f7fe fd11 bl 10000400 <irq_set_enabled>
|
|
100019de: 683a ldr r2, [r7, #0]
|
|
100019e0: 2150 movs r1, #80 @ 0x50
|
|
100019e2: 4613 mov r3, r2
|
|
100019e4: 6391 str r1, [r2, #56] @ 0x38
|
|
100019e6: f853 2f34 ldr.w r2, [r3, #52]!
|
|
100019ea: f002 0238 and.w r2, r2, #56 @ 0x38
|
|
100019ee: f503 5380 add.w r3, r3, #4096 @ 0x1000
|
|
100019f2: 601a str r2, [r3, #0]
|
|
100019f4: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
100019f6: bf00 nop
|
|
100019f8: 200004ec .word 0x200004ec
|
|
100019fc: 40078000 .word 0x40078000
|
|
10001a00: 20000468 .word 0x20000468
|
|
10001a04: 10001951 .word 0x10001951
|
|
10001a08: 2000046c .word 0x2000046c
|
|
|
|
10001a0c <stdio_uart_init>:
|
|
10001a0c: b510 push {r4, lr}
|
|
10001a0e: 490e ldr r1, [pc, #56] @ (10001a48 <stdio_uart_init+0x3c>)
|
|
10001a10: 4c0e ldr r4, [pc, #56] @ (10001a4c <stdio_uart_init+0x40>)
|
|
10001a12: 480f ldr r0, [pc, #60] @ (10001a50 <stdio_uart_init+0x44>)
|
|
10001a14: 4a0f ldr r2, [pc, #60] @ (10001a54 <stdio_uart_init+0x48>)
|
|
10001a16: 4b10 ldr r3, [pc, #64] @ (10001a58 <stdio_uart_init+0x4c>)
|
|
10001a18: 7800 ldrb r0, [r0, #0]
|
|
10001a1a: 6021 str r1, [r4, #0]
|
|
10001a1c: 2000 movs r0, #0
|
|
10001a1e: 2102 movs r1, #2
|
|
10001a20: 7812 ldrb r2, [r2, #0]
|
|
10001a22: 781b ldrb r3, [r3, #0]
|
|
10001a24: f7fe fc4a bl 100002bc <gpio_set_function>
|
|
10001a28: 2102 movs r1, #2
|
|
10001a2a: 2001 movs r0, #1
|
|
10001a2c: f7fe fc46 bl 100002bc <gpio_set_function>
|
|
10001a30: f44f 31e1 mov.w r1, #115200 @ 0x1c200
|
|
10001a34: 6820 ldr r0, [r4, #0]
|
|
10001a36: f7ff fb05 bl 10001044 <uart_init>
|
|
10001a3a: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
10001a3e: 2101 movs r1, #1
|
|
10001a40: 4806 ldr r0, [pc, #24] @ (10001a5c <stdio_uart_init+0x50>)
|
|
10001a42: f7ff be99 b.w 10001778 <stdio_set_driver_enabled>
|
|
10001a46: bf00 nop
|
|
10001a48: 40070000 .word 0x40070000
|
|
10001a4c: 200004ec .word 0x200004ec
|
|
10001a50: 10001d7c .word 0x10001d7c
|
|
10001a54: 10001d78 .word 0x10001d78
|
|
10001a58: 10001d74 .word 0x10001d74
|
|
10001a5c: 2000028c .word 0x2000028c
|
|
|
|
10001a60 <memcpy>:
|
|
10001a60: 4684 mov ip, r0
|
|
10001a62: ea41 0300 orr.w r3, r1, r0
|
|
10001a66: f013 0303 ands.w r3, r3, #3
|
|
10001a6a: d149 bne.n 10001b00 <memcpy+0xa0>
|
|
10001a6c: 3a40 subs r2, #64 @ 0x40
|
|
10001a6e: d323 bcc.n 10001ab8 <memcpy+0x58>
|
|
10001a70: 680b ldr r3, [r1, #0]
|
|
10001a72: 6003 str r3, [r0, #0]
|
|
10001a74: 684b ldr r3, [r1, #4]
|
|
10001a76: 6043 str r3, [r0, #4]
|
|
10001a78: 688b ldr r3, [r1, #8]
|
|
10001a7a: 6083 str r3, [r0, #8]
|
|
10001a7c: 68cb ldr r3, [r1, #12]
|
|
10001a7e: 60c3 str r3, [r0, #12]
|
|
10001a80: 690b ldr r3, [r1, #16]
|
|
10001a82: 6103 str r3, [r0, #16]
|
|
10001a84: 694b ldr r3, [r1, #20]
|
|
10001a86: 6143 str r3, [r0, #20]
|
|
10001a88: 698b ldr r3, [r1, #24]
|
|
10001a8a: 6183 str r3, [r0, #24]
|
|
10001a8c: 69cb ldr r3, [r1, #28]
|
|
10001a8e: 61c3 str r3, [r0, #28]
|
|
10001a90: 6a0b ldr r3, [r1, #32]
|
|
10001a92: 6203 str r3, [r0, #32]
|
|
10001a94: 6a4b ldr r3, [r1, #36] @ 0x24
|
|
10001a96: 6243 str r3, [r0, #36] @ 0x24
|
|
10001a98: 6a8b ldr r3, [r1, #40] @ 0x28
|
|
10001a9a: 6283 str r3, [r0, #40] @ 0x28
|
|
10001a9c: 6acb ldr r3, [r1, #44] @ 0x2c
|
|
10001a9e: 62c3 str r3, [r0, #44] @ 0x2c
|
|
10001aa0: 6b0b ldr r3, [r1, #48] @ 0x30
|
|
10001aa2: 6303 str r3, [r0, #48] @ 0x30
|
|
10001aa4: 6b4b ldr r3, [r1, #52] @ 0x34
|
|
10001aa6: 6343 str r3, [r0, #52] @ 0x34
|
|
10001aa8: 6b8b ldr r3, [r1, #56] @ 0x38
|
|
10001aaa: 6383 str r3, [r0, #56] @ 0x38
|
|
10001aac: 6bcb ldr r3, [r1, #60] @ 0x3c
|
|
10001aae: 63c3 str r3, [r0, #60] @ 0x3c
|
|
10001ab0: 3040 adds r0, #64 @ 0x40
|
|
10001ab2: 3140 adds r1, #64 @ 0x40
|
|
10001ab4: 3a40 subs r2, #64 @ 0x40
|
|
10001ab6: d2db bcs.n 10001a70 <memcpy+0x10>
|
|
10001ab8: 3230 adds r2, #48 @ 0x30
|
|
10001aba: d30b bcc.n 10001ad4 <memcpy+0x74>
|
|
10001abc: 680b ldr r3, [r1, #0]
|
|
10001abe: 6003 str r3, [r0, #0]
|
|
10001ac0: 684b ldr r3, [r1, #4]
|
|
10001ac2: 6043 str r3, [r0, #4]
|
|
10001ac4: 688b ldr r3, [r1, #8]
|
|
10001ac6: 6083 str r3, [r0, #8]
|
|
10001ac8: 68cb ldr r3, [r1, #12]
|
|
10001aca: 60c3 str r3, [r0, #12]
|
|
10001acc: 3010 adds r0, #16
|
|
10001ace: 3110 adds r1, #16
|
|
10001ad0: 3a10 subs r2, #16
|
|
10001ad2: d2f3 bcs.n 10001abc <memcpy+0x5c>
|
|
10001ad4: 320c adds r2, #12
|
|
10001ad6: d305 bcc.n 10001ae4 <memcpy+0x84>
|
|
10001ad8: f851 3b04 ldr.w r3, [r1], #4
|
|
10001adc: f840 3b04 str.w r3, [r0], #4
|
|
10001ae0: 3a04 subs r2, #4
|
|
10001ae2: d2f9 bcs.n 10001ad8 <memcpy+0x78>
|
|
10001ae4: 3204 adds r2, #4
|
|
10001ae6: d008 beq.n 10001afa <memcpy+0x9a>
|
|
10001ae8: 07d2 lsls r2, r2, #31
|
|
10001aea: bf1c itt ne
|
|
10001aec: f811 3b01 ldrbne.w r3, [r1], #1
|
|
10001af0: f800 3b01 strbne.w r3, [r0], #1
|
|
10001af4: d301 bcc.n 10001afa <memcpy+0x9a>
|
|
10001af6: 880b ldrh r3, [r1, #0]
|
|
10001af8: 8003 strh r3, [r0, #0]
|
|
10001afa: 4660 mov r0, ip
|
|
10001afc: 4770 bx lr
|
|
10001afe: bf00 nop
|
|
10001b00: 2a08 cmp r2, #8
|
|
10001b02: d313 bcc.n 10001b2c <memcpy+0xcc>
|
|
10001b04: 078b lsls r3, r1, #30
|
|
10001b06: d0b1 beq.n 10001a6c <memcpy+0xc>
|
|
10001b08: f010 0303 ands.w r3, r0, #3
|
|
10001b0c: d0ae beq.n 10001a6c <memcpy+0xc>
|
|
10001b0e: f1c3 0304 rsb r3, r3, #4
|
|
10001b12: 1ad2 subs r2, r2, r3
|
|
10001b14: 07db lsls r3, r3, #31
|
|
10001b16: bf1c itt ne
|
|
10001b18: f811 3b01 ldrbne.w r3, [r1], #1
|
|
10001b1c: f800 3b01 strbne.w r3, [r0], #1
|
|
10001b20: d3a4 bcc.n 10001a6c <memcpy+0xc>
|
|
10001b22: f831 3b02 ldrh.w r3, [r1], #2
|
|
10001b26: f820 3b02 strh.w r3, [r0], #2
|
|
10001b2a: e79f b.n 10001a6c <memcpy+0xc>
|
|
10001b2c: 3a04 subs r2, #4
|
|
10001b2e: d3d9 bcc.n 10001ae4 <memcpy+0x84>
|
|
10001b30: 3a01 subs r2, #1
|
|
10001b32: f811 3b01 ldrb.w r3, [r1], #1
|
|
10001b36: f800 3b01 strb.w r3, [r0], #1
|
|
10001b3a: d2f9 bcs.n 10001b30 <memcpy+0xd0>
|
|
10001b3c: 780b ldrb r3, [r1, #0]
|
|
10001b3e: 7003 strb r3, [r0, #0]
|
|
10001b40: 784b ldrb r3, [r1, #1]
|
|
10001b42: 7043 strb r3, [r0, #1]
|
|
10001b44: 788b ldrb r3, [r1, #2]
|
|
10001b46: 7083 strb r3, [r0, #2]
|
|
10001b48: 4660 mov r0, ip
|
|
10001b4a: 4770 bx lr
|
|
|
|
10001b4c <strlen>:
|
|
10001b4c: f020 0103 bic.w r1, r0, #3
|
|
10001b50: f010 0003 ands.w r0, r0, #3
|
|
10001b54: f1c0 0000 rsb r0, r0, #0
|
|
10001b58: f851 3b04 ldr.w r3, [r1], #4
|
|
10001b5c: f100 0c04 add.w ip, r0, #4
|
|
10001b60: ea4f 0ccc mov.w ip, ip, lsl #3
|
|
10001b64: f06f 0200 mvn.w r2, #0
|
|
10001b68: bf1c itt ne
|
|
10001b6a: fa22 f20c lsrne.w r2, r2, ip
|
|
10001b6e: 4313 orrne r3, r2
|
|
10001b70: f04f 0c01 mov.w ip, #1
|
|
10001b74: ea4c 2c0c orr.w ip, ip, ip, lsl #8
|
|
10001b78: ea4c 4c0c orr.w ip, ip, ip, lsl #16
|
|
10001b7c: eba3 020c sub.w r2, r3, ip
|
|
10001b80: ea22 0203 bic.w r2, r2, r3
|
|
10001b84: ea12 12cc ands.w r2, r2, ip, lsl #7
|
|
10001b88: bf04 itt eq
|
|
10001b8a: f851 3b04 ldreq.w r3, [r1], #4
|
|
10001b8e: 3004 addeq r0, #4
|
|
10001b90: d0f4 beq.n 10001b7c <strlen+0x30>
|
|
10001b92: f1c2 0100 rsb r1, r2, #0
|
|
10001b96: ea02 0201 and.w r2, r2, r1
|
|
10001b9a: fab2 f282 clz r2, r2
|
|
10001b9e: f1c2 021f rsb r2, r2, #31
|
|
10001ba2: eb00 00d2 add.w r0, r0, r2, lsr #3
|
|
10001ba6: 4770 bx lr
|
|
|
|
10001ba8 <_fini>:
|
|
10001ba8: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
10001baa: bf00 nop
|
|
10001bac: 0000 movs r0, r0
|
|
...
|
|
|
|
10001bb0 <__mutex_exit_veneer>:
|
|
10001bb0: f85f f000 ldr.w pc, [pc] @ 10001bb4 <__mutex_exit_veneer+0x4>
|
|
10001bb4: 200001e5 .word 0x200001e5
|
|
|
|
10001bb8 <__mutex_try_enter_block_until_veneer>:
|
|
10001bb8: f85f f000 ldr.w pc, [pc] @ 10001bbc <__mutex_try_enter_block_until_veneer+0x4>
|
|
10001bbc: 2000017d .word 0x2000017d
|
|
|
|
10001bc0 <__pre_init_runtime_init_bootrom_reset>:
|
|
10001bc0: 100013fd ....
|
|
|
|
10001bc4 <__pre_init_runtime_init_early_resets>:
|
|
10001bc4: 10001371 q...
|
|
|
|
10001bc8 <__pre_init_runtime_init_usb_power_down>:
|
|
10001bc8: 100013a5 ....
|
|
|
|
10001bcc <__pre_init_runtime_init_clocks>:
|
|
10001bcc: 10001491 ....
|
|
|
|
10001bd0 <__pre_init_runtime_init_post_clock_resets>:
|
|
10001bd0: 100013dd ....
|
|
|
|
10001bd4 <__pre_init_runtime_init_boot_locks_reset>:
|
|
10001bd4: 100012f5 ....
|
|
|
|
10001bd8 <__pre_init_runtime_init_spin_locks_reset>:
|
|
10001bd8: 10001425 %...
|
|
|
|
10001bdc <__pre_init_runtime_init_bootrom_locking_enable>:
|
|
10001bdc: 100012e1 ....
|
|
|
|
10001be0 <__pre_init_runtime_init_mutex>:
|
|
10001be0: 10000749 I...
|
|
|
|
10001be4 <__pre_init_runtime_init_install_ram_vector_table>:
|
|
10001be4: 10001429 )...
|
|
|
|
10001be8 <__pre_init_runtime_init_default_alarm_pool>:
|
|
10001be8: 10000ac1 ....
|
|
|
|
10001bec <__pre_init_first_per_core_initializer>:
|
|
10001bec: 10001341 A...
|
|
|
|
10001bf0 <__pre_init_runtime_init_per_core_bootrom_reset>:
|
|
10001bf0: 10001411 ....
|
|
|
|
10001bf4 <__pre_init_runtime_init_per_core_enable_coprocessors>:
|
|
10001bf4: 100013c1 ....
|
|
|
|
10001bf8 <__pre_init_spinlock_set_extexclall>:
|
|
10001bf8: 10000399 ....
|
|
|
|
10001bfc <__pre_init_runtime_init_per_core_irq_priorities>:
|
|
10001bfc: 100003c1 ....
|
|
|
|
10001c00 <__frame_dummy_init_array_entry>:
|
|
10001c00: 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: 10000d11 .word 0x10000d11
|
|
|
|
20000228 <striped_spin_lock_num>:
|
|
20000228: 00000010 ....
|
|
|
|
2000022c <irq_handler_chain_slots>:
|
|
2000022c: 00000000 .word 0x00000000
|
|
20000230: 00010000 .word 0x00010000
|
|
...
|
|
2000023c: 00020000 .word 0x00020000
|
|
...
|
|
20000248: 00030000 .word 0x00030000
|
|
...
|
|
20000254: 00ff0000 .word 0x00ff0000
|
|
20000258: 00000000 .word 0x00000000
|
|
|
|
2000025c <irq_handler_chain_first_slot>:
|
|
2000025c: b501 push {r0, lr}
|
|
2000025e: 6848 ldr r0, [r1, #4]
|
|
20000260: 3101 adds r1, #1
|
|
20000262: 468e mov lr, r1
|
|
20000264: 4700 bx r0
|
|
|
|
20000266 <irq_handler_chain_remove_tail>:
|
|
20000266: 4670 mov r0, lr
|
|
20000268: 3809 subs r0, #9
|
|
2000026a: 4901 ldr r1, [pc, #4] @ (20000270 <irq_handler_chain_remove_tail+0xa>)
|
|
2000026c: 4788 blx r1
|
|
2000026e: bd01 pop {r0, pc}
|
|
20000270: 10000681 .word 0x10000681
|
|
|
|
20000274 <default_alarm_pool>:
|
|
...
|
|
20000288: 200002b0 ...
|
|
|
|
2000028c <stdio_uart>:
|
|
2000028c: 1000186d 10001975 100018bd 10001985 m...u...........
|
|
2000029c: 00000000 00000100 ........
|
|
|
|
200002a4 <print_mutex>:
|
|
...
|