Skip to content

Instantly share code, notes, and snippets.

@dmcardle
Created August 22, 2022 18:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmcardle/5ebbf8da62a3aae1ddc7115e908d1e47 to your computer and use it in GitHub Desktop.
Save dmcardle/5ebbf8da62a3aae1ddc7115e908d1e47 to your computer and use it in GitHub Desktop.
--- /tmp/compare-objdump-before.IUVRpU 2022-08-22 14:14:01.128762765 -0400
+++ /tmp/compare-objdump-after.dsqxeW 2022-08-22 14:14:04.784777115 -0400
@@ -11,55 +11,55 @@
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .init_array 00000000 20000544 20000544 00004084 2**2
CONTENTS, ALLOC, LOAD, DATA
- 4 .text 00001a74 20000544 20000544 00001544 2**2
+ 4 .text 00001ad4 20000560 20000560 00001560 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 5 .shutdown 00000000 20001fb8 20001fb8 00004084 2**2
+ 5 .shutdown 00000000 20002034 20002034 00004084 2**2
CONTENTS
- 6 .rodata 00000ac0 20001fb8 20001fb8 00002fb8 2**3
+ 6 .rodata 00000ac0 20002038 20002038 00003038 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 7 .data 00000084 10000000 20002a78 00004000 2**2
+ 7 .data 00000084 10000000 20002af8 00004000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .bss 000008ec 10000084 20002afc 00004084 2**2
+ 8 .bss 000008ec 10000084 20002b7c 00004084 2**2
ALLOC
- 9 .freertos.heap 00000800 10000970 20002afc 00004970 2**2
+ 9 .freertos.heap 00000800 10000970 20002b7c 00004970 2**2
ALLOC
10 .logs.fields 00000104 00010000 00010000 00004084 2**2
CONTENTS, READONLY
11 .riscv.attributes 00000026 00000000 00000000 00004188 2**0
CONTENTS, READONLY
- 12 .debug_info 00007f47 00000000 00000000 000041ae 2**0
+ 12 .debug_info 00007f68 00000000 00000000 000041ae 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00001e28 00000000 00000000 0000c0f5 2**0
+ 13 .debug_abbrev 00001e28 00000000 00000000 0000c116 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00000088 00000000 00000000 0000df1d 2**0
+ 14 .debug_aranges 00000088 00000000 00000000 0000df3e 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_line 00006df4 00000000 00000000 0000dfa5 2**0
+ 15 .debug_line 00006e87 00000000 00000000 0000dfc6 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_loc 0000525a 00000000 00000000 00014d99 2**0
+ 16 .debug_loc 0000525a 00000000 00000000 00014e4d 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_ranges 000007b0 00000000 00000000 00019ff3 2**0
+ 17 .debug_ranges 000007b0 00000000 00000000 0001a0a7 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 00002f6c 00000000 00000000 0001a7a3 2**0
+ 18 .debug_str 00002f77 00000000 00000000 0001a857 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_frame 00000de8 00000000 00000000 0001d710 2**2
+ 19 .debug_frame 00000de8 00000000 00000000 0001d7d0 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .vectors:
20000400 <_ottf_interrupt_vector>:
_ottf_interrupt_vector():
-20000400: 2040006f j 20000604 <handler_exception>
+20000400: 2200006f j 20000620 <handler_exception>
20000404: c0001073 unimp
20000408: c0001073 unimp
-2000040c: 2480006f j 20000654 <handler_irq_software>
+2000040c: 2640006f j 20000670 <handler_irq_software>
20000410: c0001073 unimp
20000414: c0001073 unimp
20000418: c0001073 unimp
-2000041c: 28c0006f j 200006a8 <handler_irq_timer>
+2000041c: 2a80006f j 200006c4 <handler_irq_timer>
20000420: c0001073 unimp
20000424: c0001073 unimp
20000428: c0001073 unimp
-2000042c: 2d00006f j 200006fc <handler_irq_external>
+2000042c: 2ec0006f j 20000718 <handler_irq_external>
20000430: c0001073 unimp
20000434: c0001073 unimp
20000438: c0001073 unimp
@@ -79,7 +79,7 @@
20000470: c0001073 unimp
20000474: c0001073 unimp
20000478: c0001073 unimp
-2000047c: 2d40006f j 20000750 <handler_irq_internal>
+2000047c: 2f00006f j 2000076c <handler_irq_internal>
Disassembly of section .crt:
@@ -94,7 +94,7 @@
20000498: b6c50513 addi a0,a0,-1172 # 10000000 <status_codes>
2000049c: 88418593 addi a1,gp,-1916 # 10000084 <uart0>
200004a0: 00002617 auipc a2,0x2
-200004a4: 5d860613 addi a2,a2,1496 # 20002a78 <_data_init_start>
+200004a4: 65860613 addi a2,a2,1624 # 20002af8 <_data_init_start>
200004a8: 2085 jal 20000508 <crt_section_copy>
200004aa: f0000517 auipc a0,0xf0000
200004ae: bda50513 addi a0,a0,-1062 # 10000084 <uart0>
@@ -103,9 +103,9 @@
200004b8: f0000197 auipc gp,0xf0000
200004bc: 34818193 addi gp,gp,840 # 10000800 <__global_pointer$>
200004c0: 00000417 auipc s0,0x0
-200004c4: 08440413 addi s0,s0,132 # 20000544 <xPortStartFirstTask>
+200004c4: 08440413 addi s0,s0,132 # 20000544 <_init_array_end>
200004c8: 00000497 auipc s1,0x0
-200004cc: 07c48493 addi s1,s1,124 # 20000544 <xPortStartFirstTask>
+200004cc: 07c48493 addi s1,s1,124 # 20000544 <_init_array_end>
200004d0: 00947863 bgeu s0,s1,200004e0 <init_array_loop_end>
200004d4 <init_array_loop>:
@@ -115,7 +115,7 @@
200004dc: \-- fe946ce3 bltu s0,s1,200004d4 <init_array_loop>
200004e0 <init_array_loop_end>:
-200004e0: ab79 j 20000a7e <_ottf_main>
+200004e0: ab6d j 20000a9a <_ottf_main>
200004e2: 0000 unimp
200004e4 <crt_section_clear>:
@@ -249,7 +249,7 @@
Disassembly of section .text:
-20000544 <xPortStartFirstTask>:
+20000560 <xPortStartFirstTask>:
xPortStartFirstTask():
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:18
.global xPortStartFirstTask
@@ -258,126 +258,126 @@
// Load the stack pointer for the current TCB (just going to clobber sp here
// since we are setting it here anyway).
lw sp, pxCurrentTCB
-20000544: f0000117 auipc sp,0xf0000
-20000548: b5012103 lw sp,-1200(sp) # 10000094 <pxCurrentTCB>
+20000560: f0000117 auipc sp,0xf0000
+20000564: b3412103 lw sp,-1228(sp) # 10000094 <pxCurrentTCB>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:19
lw sp, 0(sp)
-2000054c: 4102 lw sp,0(sp)
+20000568: 4102 lw sp,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:23
// NOTE: for starting the FreeRTOS scheduler, the exception return address is
// used as the function return address. See pxPortInitialiseStack below.
lw ra, 0(sp)
-2000054e: 4082 lw ra,0(sp)
+2000056a: 4082 lw ra,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:26
// Restore registers initialized on task start.
lw t1, 3 * OTTF_WORD_SIZE(sp)
-20000550: 4332 lw t1,12(sp)
+2000056c: 4332 lw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:27
lw t2, 4 * OTTF_WORD_SIZE(sp)
-20000552: 43c2 lw t2,16(sp)
+2000056e: 43c2 lw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:28
lw s0, 5 * OTTF_WORD_SIZE(sp)
-20000554: 4452 lw s0,20(sp)
+20000570: 4452 lw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:29
lw s1, 6 * OTTF_WORD_SIZE(sp)
-20000556: 44e2 lw s1,24(sp)
+20000572: 44e2 lw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:30
lw a0, 7 * OTTF_WORD_SIZE(sp) // task parameters (pvParameters)
-20000558: 4572 lw a0,28(sp)
+20000574: 4572 lw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:31
lw a1, 8 * OTTF_WORD_SIZE(sp)
-2000055a: 5582 lw a1,32(sp)
+20000576: 5582 lw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:32
lw a2, 9 * OTTF_WORD_SIZE(sp)
-2000055c: 5612 lw a2,36(sp)
+20000578: 5612 lw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:33
lw a3, 10 * OTTF_WORD_SIZE(sp)
-2000055e: 56a2 lw a3,40(sp)
+2000057a: 56a2 lw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:34
lw a4, 11 * OTTF_WORD_SIZE(sp)
-20000560: 5732 lw a4,44(sp)
+2000057c: 5732 lw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:35
lw a5, 12 * OTTF_WORD_SIZE(sp)
-20000562: 57c2 lw a5,48(sp)
+2000057e: 57c2 lw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:36
lw a6, 13 * OTTF_WORD_SIZE(sp)
-20000564: 5852 lw a6,52(sp)
+20000580: 5852 lw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:37
lw a7, 14 * OTTF_WORD_SIZE(sp)
-20000566: 58e2 lw a7,56(sp)
+20000582: 58e2 lw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:38
lw s2, 15 * OTTF_WORD_SIZE(sp)
-20000568: 5972 lw s2,60(sp)
+20000584: 5972 lw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:39
lw s3, 16 * OTTF_WORD_SIZE(sp)
-2000056a: 4986 lw s3,64(sp)
+20000586: 4986 lw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:40
lw s4, 17 * OTTF_WORD_SIZE(sp)
-2000056c: 4a16 lw s4,68(sp)
+20000588: 4a16 lw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:41
lw s5, 18 * OTTF_WORD_SIZE(sp)
-2000056e: 4aa6 lw s5,72(sp)
+2000058a: 4aa6 lw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:42
lw s6, 19 * OTTF_WORD_SIZE(sp)
-20000570: 4b36 lw s6,76(sp)
+2000058c: 4b36 lw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:43
lw s7, 20 * OTTF_WORD_SIZE(sp)
-20000572: 4bc6 lw s7,80(sp)
+2000058e: 4bc6 lw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:44
lw s8, 21 * OTTF_WORD_SIZE(sp)
-20000574: 4c56 lw s8,84(sp)
+20000590: 4c56 lw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:45
lw s9, 22 * OTTF_WORD_SIZE(sp)
-20000576: 4ce6 lw s9,88(sp)
+20000592: 4ce6 lw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:46
lw s10, 23 * OTTF_WORD_SIZE(sp)
-20000578: 4d76 lw s10,92(sp)
+20000594: 4d76 lw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:47
lw s11, 24 * OTTF_WORD_SIZE(sp)
-2000057a: 5d86 lw s11,96(sp)
+20000596: 5d86 lw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:48
lw t3, 25 * OTTF_WORD_SIZE(sp)
-2000057c: 5e16 lw t3,100(sp)
+20000598: 5e16 lw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:49
lw t4, 26 * OTTF_WORD_SIZE(sp)
-2000057e: 5ea6 lw t4,104(sp)
+2000059a: 5ea6 lw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:50
lw t5, 27 * OTTF_WORD_SIZE(sp)
-20000580: 5f36 lw t5,108(sp)
+2000059c: 5f36 lw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:51
lw t6, 28 * OTTF_WORD_SIZE(sp)
-20000582: 5fc6 lw t6,112(sp)
+2000059e: 5fc6 lw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:55
// Initialize t0 to the value of MSTATUS with global interrupts enabled, which
// is required because this returns with ret, not eret.
lw t0, 29 * OTTF_WORD_SIZE(sp) // Load the MSTATUS state from the stack.
-20000584: 52d6 lw t0,116(sp)
+200005a0: 52d6 lw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:56
ori t0, t0, 1<<3 // Set MIE field.
-20000586: 0082e293 ori t0,t0,8
+200005a2: 0082e293 ori t0,t0,8
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:57
csrw mstatus, t0 // Ibex interrupts enabled from here!
-2000058a: 30029073 csrw mstatus,t0
+200005a6: 30029073 csrw mstatus,t0
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:60
// Restore t0 register from the stack (after using it to manipulate MSTATUS).
lw t0, 2 * OTTF_WORD_SIZE(sp)
-2000058e: 42a2 lw t0,8(sp)
+200005aa: 42a2 lw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:63
// Update the stack pointer (shrinking the stack).
addi sp, sp, OTTF_CONTEXT_SIZE
-20000590: 07810113 addi sp,sp,120
+200005ac: 07810113 addi sp,sp,120
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:65
ret
-20000594: 8082 ret
-20000596: 0001 nop
+200005b0: 8082 ret
+200005b2: 0001 nop
-20000598 <pxPortInitialiseStack>:
+200005b4 <pxPortInitialiseStack>:
pxPortInitialiseStack():
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:133
.balign 4
@@ -386,52 +386,52 @@
pxPortInitialiseStack:
// Setup the MSTATUS register.
csrr t0, mstatus
-20000598: 300022f3 csrr t0,mstatus
+200005b4: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:137
// Ensure interrupts are disabled when the stack is restored within an ISR.
// Required when a task is created after the scheduler has been started,
// otherwise interrupts would be disabled anyway.
andi t0, t0, ~0x8
-2000059c: ff72f293 andi t0,t0,-9
+200005b8: ff72f293 andi t0,t0,-9
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:139
// Generate the value 0x1880, to set the MPIE and MPP bits in MSTATUS.
li t1, 0x188 << 4
-200005a0: 6309 lui t1,0x2
-200005a2: 88030313 addi t1,t1,-1920 # 1880 <_manifest_entry_point+0x1400>
+200005bc: 6309 lui t1,0x2
+200005be: 88030313 addi t1,t1,-1920 # 1880 <_manifest_entry_point+0x1400>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:140
or t0, t0, t1
-200005a6: 0062e2b3 or t0,t0,t1
+200005c2: 0062e2b3 or t0,t0,t1
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:143
// Setup the stack frame detailed above (a0 holds the task stack pointer).
addi a0, a0, -OTTF_CONTEXT_SIZE
-200005aa: f8850513 addi a0,a0,-120
+200005c6: f8850513 addi a0,a0,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:145
// Push MSTATUS onto the stack.
sw t0, 29 * OTTF_WORD_SIZE(a0)
-200005ae: 06552a23 sw t0,116(a0)
+200005ca: 06552a23 sw t0,116(a0)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:148
// Push task parameters (pvParameters that is in x12/a2, on the stack.
sw a2, 7 * OTTF_WORD_SIZE(a0)
-200005b2: cd50 sw a2,28(a0)
+200005ce: cd50 sw a2,28(a0)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:150
// Push 0 for the portTASK_RETURN_ADDRESS for now.
sw zero, 1 * OTTF_WORD_SIZE(a0)
-200005b4: 00052223 sw zero,4(a0)
+200005d0: 00052223 sw zero,4(a0)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:155
// Push the pointer to the task's entry point (pxCode) onto the stack. This
// will be loaded into either ra (in xPortStartFirstTask) or mepc (in
// freertosIrqExit), so that when ret/mret is called control flow will be
// transferred accordingly.
sw a1, 0(a0)
-200005b8: c10c sw a1,0(a0)
+200005d4: c10c sw a1,0(a0)
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.S:157
ret
-200005ba: 8082 ret
+200005d6: 8082 ret
-200005bc <compute_mepc_on_synchronous_irq>:
+200005d8 <compute_mepc_on_synchronous_irq>:
compute_mepc_on_synchronous_irq():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:32
* below will cause another exception.
@@ -440,48 +440,48 @@
.type compute_mepc_on_synchronous_irq, @function
compute_mepc_on_synchronous_irq:
csrr t0, mepc
-200005bc: 341022f3 csrr t0,mepc
+200005d8: 341022f3 csrr t0,mepc
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:33
csrr t1, mcause
-200005c0: 34202373 csrr t1,mcause
+200005dc: 34202373 csrr t1,mcause
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:34
li t2, 0x01
-200005c4: 4385 li t2,1
+200005e0: 4385 li t2,1
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:35
bne t1, t2, .L_load_mepc
-200005c6: /-- 00731363 bne t1,t2,200005cc <compute_mepc_on_synchronous_irq+0x10>
+200005e2: /-- 00731363 bne t1,t2,200005e8 <compute_mepc_on_synchronous_irq+0x10>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:36
ret
-200005ca: | 8082 ret
+200005e6: | 8082 ret
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:38
.L_load_mepc:
lh t2, 0(t0)
-200005cc: \-> 00029383 lh t2,0(t0)
+200005e8: \-> 00029383 lh t2,0(t0)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:39
li t1, 0x3
-200005d0: 430d li t1,3
+200005ec: 430d li t1,3
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:40
and t3, t2, t1
-200005d2: 0063fe33 and t3,t2,t1
+200005ee: 0063fe33 and t3,t2,t1
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:41
beq t3, t1, .L_32bit_trap_instr
-200005d6: /-- 006e0463 beq t3,t1,200005de <compute_mepc_on_synchronous_irq+0x22>
+200005f2: /-- 006e0463 beq t3,t1,200005fa <compute_mepc_on_synchronous_irq+0x22>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:42
addi t0, t0, OTTF_HALF_WORD_SIZE
-200005da: | 0289 addi t0,t0,2
+200005f6: | 0289 addi t0,t0,2
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:43
ret
-200005dc: | 8082 ret
+200005f8: | 8082 ret
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:45
.L_32bit_trap_instr:
addi t0, t0, OTTF_WORD_SIZE
-200005de: \-> 0291 addi t0,t0,4
+200005fa: \-> 0291 addi t0,t0,4
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:46
ret
-200005e0: 8082 ret
-200005e2: 0001 nop
+200005fc: 8082 ret
+200005fe: 0001 nop
-200005e4 <save_current_sp_to_tcb>:
+20000600 <save_current_sp_to_tcb>:
save_current_sp_to_tcb():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:61
* exception, if we attempt to perform a store to said address.
@@ -490,28 +490,28 @@
.type save_current_sp_to_tcb, @function
save_current_sp_to_tcb:
la t0, kOttfTestConfig
-200005e4: 00002297 auipc t0,0x2
-200005e8: b2c28293 addi t0,t0,-1236 # 20002110 <kOttfTestConfig>
+20000600: 00002297 auipc t0,0x2
+20000604: b9028293 addi t0,t0,-1136 # 20002190 <kOttfTestConfig>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:62
lb t1, 0(t0)
-200005ec: 00028303 lb t1,0(t0)
+20000608: 00028303 lb t1,0(t0)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:63
beqz t1, .L_skip_sp_save
-200005f0: /-- 00030863 beqz t1,20000600 <save_current_sp_to_tcb+0x1c>
+2000060c: /-- 00030863 beqz t1,2000061c <save_current_sp_to_tcb+0x1c>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:64
lw t2, pxCurrentTCB
-200005f4: | f0000397 auipc t2,0xf0000
-200005f8: | aa03a383 lw t2,-1376(t2) # 10000094 <pxCurrentTCB>
+20000610: | f0000397 auipc t2,0xf0000
+20000614: | a843a383 lw t2,-1404(t2) # 10000094 <pxCurrentTCB>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:65
sw sp, 0(t2)
-200005fc: | 0023a023 sw sp,0(t2)
+20000618: | 0023a023 sw sp,0(t2)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:67
.L_skip_sp_save:
ret
-20000600: \-> 8082 ret
-20000602: 0001 nop
+2000061c: \-> 8082 ret
+2000061e: 0001 nop
-20000604 <handler_exception>:
+20000620 <handler_exception>:
handler_exception():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:80
.balign 4
@@ -520,126 +520,126 @@
handler_exception:
// Save all registers to the stack.
addi sp, sp, -OTTF_CONTEXT_SIZE
-20000604: f8810113 addi sp,sp,-120
+20000620: f8810113 addi sp,sp,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:81
sw ra, 1 * OTTF_WORD_SIZE(sp)
-20000608: c206 sw ra,4(sp)
+20000624: c206 sw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:82
sw t0, 2 * OTTF_WORD_SIZE(sp)
-2000060a: c416 sw t0,8(sp)
+20000626: c416 sw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:83
sw t1, 3 * OTTF_WORD_SIZE(sp)
-2000060c: c61a sw t1,12(sp)
+20000628: c61a sw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:84
sw t2, 4 * OTTF_WORD_SIZE(sp)
-2000060e: c81e sw t2,16(sp)
+2000062a: c81e sw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:85
sw s0, 5 * OTTF_WORD_SIZE(sp)
-20000610: ca22 sw s0,20(sp)
+2000062c: ca22 sw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:86
sw s1, 6 * OTTF_WORD_SIZE(sp)
-20000612: cc26 sw s1,24(sp)
+2000062e: cc26 sw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:87
sw a0, 7 * OTTF_WORD_SIZE(sp)
-20000614: ce2a sw a0,28(sp)
+20000630: ce2a sw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:88
sw a1, 8 * OTTF_WORD_SIZE(sp)
-20000616: d02e sw a1,32(sp)
+20000632: d02e sw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:89
sw a2, 9 * OTTF_WORD_SIZE(sp)
-20000618: d232 sw a2,36(sp)
+20000634: d232 sw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:90
sw a3, 10 * OTTF_WORD_SIZE(sp)
-2000061a: d436 sw a3,40(sp)
+20000636: d436 sw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:91
sw a4, 11 * OTTF_WORD_SIZE(sp)
-2000061c: d63a sw a4,44(sp)
+20000638: d63a sw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:92
sw a5, 12 * OTTF_WORD_SIZE(sp)
-2000061e: d83e sw a5,48(sp)
+2000063a: d83e sw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:93
sw a6, 13 * OTTF_WORD_SIZE(sp)
-20000620: da42 sw a6,52(sp)
+2000063c: da42 sw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:94
sw a7, 14 * OTTF_WORD_SIZE(sp)
-20000622: dc46 sw a7,56(sp)
+2000063e: dc46 sw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:95
sw s2, 15 * OTTF_WORD_SIZE(sp)
-20000624: de4a sw s2,60(sp)
+20000640: de4a sw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:96
sw s3, 16 * OTTF_WORD_SIZE(sp)
-20000626: c0ce sw s3,64(sp)
+20000642: c0ce sw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:97
sw s4, 17 * OTTF_WORD_SIZE(sp)
-20000628: c2d2 sw s4,68(sp)
+20000644: c2d2 sw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:98
sw s5, 18 * OTTF_WORD_SIZE(sp)
-2000062a: c4d6 sw s5,72(sp)
+20000646: c4d6 sw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:99
sw s6, 19 * OTTF_WORD_SIZE(sp)
-2000062c: c6da sw s6,76(sp)
+20000648: c6da sw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:100
sw s7, 20 * OTTF_WORD_SIZE(sp)
-2000062e: c8de sw s7,80(sp)
+2000064a: c8de sw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:101
sw s8, 21 * OTTF_WORD_SIZE(sp)
-20000630: cae2 sw s8,84(sp)
+2000064c: cae2 sw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:102
sw s9, 22 * OTTF_WORD_SIZE(sp)
-20000632: cce6 sw s9,88(sp)
+2000064e: cce6 sw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:103
sw s10, 23 * OTTF_WORD_SIZE(sp)
-20000634: ceea sw s10,92(sp)
+20000650: ceea sw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:104
sw s11, 24 * OTTF_WORD_SIZE(sp)
-20000636: d0ee sw s11,96(sp)
+20000652: d0ee sw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:105
sw t3, 25 * OTTF_WORD_SIZE(sp)
-20000638: d2f2 sw t3,100(sp)
+20000654: d2f2 sw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:106
sw t4, 26 * OTTF_WORD_SIZE(sp)
-2000063a: d4f6 sw t4,104(sp)
+20000656: d4f6 sw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:107
sw t5, 27 * OTTF_WORD_SIZE(sp)
-2000063c: d6fa sw t5,108(sp)
+20000658: d6fa sw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:108
sw t6, 28 * OTTF_WORD_SIZE(sp)
-2000063e: d8fe sw t6,112(sp)
+2000065a: d8fe sw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:111
// Save MSTATUS for the MPIE bit.
csrr t0, mstatus
-20000640: 300022f3 csrr t0,mstatus
+2000065c: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:112
sw t0, 29 * OTTF_WORD_SIZE(sp)
-20000644: da96 sw t0,116(sp)
+20000660: da96 sw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:116
// Save MEPC to the stack after updating it to the next instruction (since
// this is a synchronous IRQ).
jal compute_mepc_on_synchronous_irq
-20000646: 3f9d jal 200005bc <compute_mepc_on_synchronous_irq>
+20000662: 3f9d jal 200005d8 <compute_mepc_on_synchronous_irq>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:117
sw t0, 0(sp)
-20000648: c016 sw t0,0(sp)
+20000664: c016 sw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:121
// Store stack pointer to current TCB (only if concurrency is enabled, i.e.,
// the test that triggers this is running as a FreeRTOS task).
jal save_current_sp_to_tcb
-2000064a: 3f69 jal 200005e4 <save_current_sp_to_tcb>
+20000666: 3f69 jal 20000600 <save_current_sp_to_tcb>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:124
// Jump to the exception handler.
jal ottf_exception_handler
-2000064c: 6fa000ef jal ra,20000d46 <ottf_exception_handler>
+20000668: 6fa000ef jal ra,20000d62 <ottf_exception_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:127
// Return from ISR.
j ottf_isr_exit
-20000650: 1540006f j 200007a4 <ottf_isr_exit>
+2000066c: 1540006f j 200007c0 <ottf_isr_exit>
-20000654 <handler_irq_software>:
+20000670 <handler_irq_software>:
handler_irq_software():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:140
.balign 4
@@ -648,127 +648,127 @@
handler_irq_software:
// Save all registers to the stack.
addi sp, sp, -OTTF_CONTEXT_SIZE
-20000654: f8810113 addi sp,sp,-120
+20000670: f8810113 addi sp,sp,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:141
sw ra, 1 * OTTF_WORD_SIZE(sp)
-20000658: c206 sw ra,4(sp)
+20000674: c206 sw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:142
sw t0, 2 * OTTF_WORD_SIZE(sp)
-2000065a: c416 sw t0,8(sp)
+20000676: c416 sw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:143
sw t1, 3 * OTTF_WORD_SIZE(sp)
-2000065c: c61a sw t1,12(sp)
+20000678: c61a sw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:144
sw t2, 4 * OTTF_WORD_SIZE(sp)
-2000065e: c81e sw t2,16(sp)
+2000067a: c81e sw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:145
sw s0, 5 * OTTF_WORD_SIZE(sp)
-20000660: ca22 sw s0,20(sp)
+2000067c: ca22 sw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:146
sw s1, 6 * OTTF_WORD_SIZE(sp)
-20000662: cc26 sw s1,24(sp)
+2000067e: cc26 sw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:147
sw a0, 7 * OTTF_WORD_SIZE(sp)
-20000664: ce2a sw a0,28(sp)
+20000680: ce2a sw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:148
sw a1, 8 * OTTF_WORD_SIZE(sp)
-20000666: d02e sw a1,32(sp)
+20000682: d02e sw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:149
sw a2, 9 * OTTF_WORD_SIZE(sp)
-20000668: d232 sw a2,36(sp)
+20000684: d232 sw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:150
sw a3, 10 * OTTF_WORD_SIZE(sp)
-2000066a: d436 sw a3,40(sp)
+20000686: d436 sw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:151
sw a4, 11 * OTTF_WORD_SIZE(sp)
-2000066c: d63a sw a4,44(sp)
+20000688: d63a sw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:152
sw a5, 12 * OTTF_WORD_SIZE(sp)
-2000066e: d83e sw a5,48(sp)
+2000068a: d83e sw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:153
sw a6, 13 * OTTF_WORD_SIZE(sp)
-20000670: da42 sw a6,52(sp)
+2000068c: da42 sw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:154
sw a7, 14 * OTTF_WORD_SIZE(sp)
-20000672: dc46 sw a7,56(sp)
+2000068e: dc46 sw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:155
sw s2, 15 * OTTF_WORD_SIZE(sp)
-20000674: de4a sw s2,60(sp)
+20000690: de4a sw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:156
sw s3, 16 * OTTF_WORD_SIZE(sp)
-20000676: c0ce sw s3,64(sp)
+20000692: c0ce sw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:157
sw s4, 17 * OTTF_WORD_SIZE(sp)
-20000678: c2d2 sw s4,68(sp)
+20000694: c2d2 sw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:158
sw s5, 18 * OTTF_WORD_SIZE(sp)
-2000067a: c4d6 sw s5,72(sp)
+20000696: c4d6 sw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:159
sw s6, 19 * OTTF_WORD_SIZE(sp)
-2000067c: c6da sw s6,76(sp)
+20000698: c6da sw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:160
sw s7, 20 * OTTF_WORD_SIZE(sp)
-2000067e: c8de sw s7,80(sp)
+2000069a: c8de sw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:161
sw s8, 21 * OTTF_WORD_SIZE(sp)
-20000680: cae2 sw s8,84(sp)
+2000069c: cae2 sw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:162
sw s9, 22 * OTTF_WORD_SIZE(sp)
-20000682: cce6 sw s9,88(sp)
+2000069e: cce6 sw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:163
sw s10, 23 * OTTF_WORD_SIZE(sp)
-20000684: ceea sw s10,92(sp)
+200006a0: ceea sw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:164
sw s11, 24 * OTTF_WORD_SIZE(sp)
-20000686: d0ee sw s11,96(sp)
+200006a2: d0ee sw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:165
sw t3, 25 * OTTF_WORD_SIZE(sp)
-20000688: d2f2 sw t3,100(sp)
+200006a4: d2f2 sw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:166
sw t4, 26 * OTTF_WORD_SIZE(sp)
-2000068a: d4f6 sw t4,104(sp)
+200006a6: d4f6 sw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:167
sw t5, 27 * OTTF_WORD_SIZE(sp)
-2000068c: d6fa sw t5,108(sp)
+200006a8: d6fa sw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:168
sw t6, 28 * OTTF_WORD_SIZE(sp)
-2000068e: d8fe sw t6,112(sp)
+200006aa: d8fe sw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:171
// Save MSTATUS for the MPIE bit.
csrr t0, mstatus
-20000690: 300022f3 csrr t0,mstatus
+200006ac: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:172
sw t0, 29 * OTTF_WORD_SIZE(sp)
-20000694: da96 sw t0,116(sp)
+200006b0: da96 sw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:176
// Save MEPC to the stack.
// NOTE: this IRQ is asynchronous, therefore, we do not need to modify MEPC.
csrr t0, mepc
-20000696: 341022f3 csrr t0,mepc
+200006b2: 341022f3 csrr t0,mepc
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:177
sw t0, 0(sp)
-2000069a: c016 sw t0,0(sp)
+200006b6: c016 sw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:181
// Store stack pointer to current TCB (only if concurrency is enabled, i.e.,
// the test that triggers this is running as a FreeRTOS task).
jal save_current_sp_to_tcb
-2000069c: 37a1 jal 200005e4 <save_current_sp_to_tcb>
+200006b8: 37a1 jal 20000600 <save_current_sp_to_tcb>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:184
// Jump to the software ISR.
jal ottf_software_isr
-2000069e: 70e000ef jal ra,20000dac <ottf_software_isr>
+200006ba: 70e000ef jal ra,20000dc8 <ottf_software_isr>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:187
// Return from ISR.
j ottf_isr_exit
-200006a2: 1020006f j 200007a4 <ottf_isr_exit>
-200006a6: 0001 nop
+200006be: 1020006f j 200007c0 <ottf_isr_exit>
+200006c2: 0001 nop
-200006a8 <handler_irq_timer>:
+200006c4 <handler_irq_timer>:
handler_irq_timer():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:200
.balign 4
@@ -777,127 +777,127 @@
handler_irq_timer:
// Save all registers to the stack.
addi sp, sp, -OTTF_CONTEXT_SIZE
-200006a8: f8810113 addi sp,sp,-120
+200006c4: f8810113 addi sp,sp,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:201
sw ra, 1 * OTTF_WORD_SIZE(sp)
-200006ac: c206 sw ra,4(sp)
+200006c8: c206 sw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:202
sw t0, 2 * OTTF_WORD_SIZE(sp)
-200006ae: c416 sw t0,8(sp)
+200006ca: c416 sw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:203
sw t1, 3 * OTTF_WORD_SIZE(sp)
-200006b0: c61a sw t1,12(sp)
+200006cc: c61a sw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:204
sw t2, 4 * OTTF_WORD_SIZE(sp)
-200006b2: c81e sw t2,16(sp)
+200006ce: c81e sw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:205
sw s0, 5 * OTTF_WORD_SIZE(sp)
-200006b4: ca22 sw s0,20(sp)
+200006d0: ca22 sw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:206
sw s1, 6 * OTTF_WORD_SIZE(sp)
-200006b6: cc26 sw s1,24(sp)
+200006d2: cc26 sw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:207
sw a0, 7 * OTTF_WORD_SIZE(sp)
-200006b8: ce2a sw a0,28(sp)
+200006d4: ce2a sw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:208
sw a1, 8 * OTTF_WORD_SIZE(sp)
-200006ba: d02e sw a1,32(sp)
+200006d6: d02e sw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:209
sw a2, 9 * OTTF_WORD_SIZE(sp)
-200006bc: d232 sw a2,36(sp)
+200006d8: d232 sw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:210
sw a3, 10 * OTTF_WORD_SIZE(sp)
-200006be: d436 sw a3,40(sp)
+200006da: d436 sw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:211
sw a4, 11 * OTTF_WORD_SIZE(sp)
-200006c0: d63a sw a4,44(sp)
+200006dc: d63a sw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:212
sw a5, 12 * OTTF_WORD_SIZE(sp)
-200006c2: d83e sw a5,48(sp)
+200006de: d83e sw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:213
sw a6, 13 * OTTF_WORD_SIZE(sp)
-200006c4: da42 sw a6,52(sp)
+200006e0: da42 sw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:214
sw a7, 14 * OTTF_WORD_SIZE(sp)
-200006c6: dc46 sw a7,56(sp)
+200006e2: dc46 sw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:215
sw s2, 15 * OTTF_WORD_SIZE(sp)
-200006c8: de4a sw s2,60(sp)
+200006e4: de4a sw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:216
sw s3, 16 * OTTF_WORD_SIZE(sp)
-200006ca: c0ce sw s3,64(sp)
+200006e6: c0ce sw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:217
sw s4, 17 * OTTF_WORD_SIZE(sp)
-200006cc: c2d2 sw s4,68(sp)
+200006e8: c2d2 sw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:218
sw s5, 18 * OTTF_WORD_SIZE(sp)
-200006ce: c4d6 sw s5,72(sp)
+200006ea: c4d6 sw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:219
sw s6, 19 * OTTF_WORD_SIZE(sp)
-200006d0: c6da sw s6,76(sp)
+200006ec: c6da sw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:220
sw s7, 20 * OTTF_WORD_SIZE(sp)
-200006d2: c8de sw s7,80(sp)
+200006ee: c8de sw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:221
sw s8, 21 * OTTF_WORD_SIZE(sp)
-200006d4: cae2 sw s8,84(sp)
+200006f0: cae2 sw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:222
sw s9, 22 * OTTF_WORD_SIZE(sp)
-200006d6: cce6 sw s9,88(sp)
+200006f2: cce6 sw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:223
sw s10, 23 * OTTF_WORD_SIZE(sp)
-200006d8: ceea sw s10,92(sp)
+200006f4: ceea sw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:224
sw s11, 24 * OTTF_WORD_SIZE(sp)
-200006da: d0ee sw s11,96(sp)
+200006f6: d0ee sw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:225
sw t3, 25 * OTTF_WORD_SIZE(sp)
-200006dc: d2f2 sw t3,100(sp)
+200006f8: d2f2 sw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:226
sw t4, 26 * OTTF_WORD_SIZE(sp)
-200006de: d4f6 sw t4,104(sp)
+200006fa: d4f6 sw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:227
sw t5, 27 * OTTF_WORD_SIZE(sp)
-200006e0: d6fa sw t5,108(sp)
+200006fc: d6fa sw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:228
sw t6, 28 * OTTF_WORD_SIZE(sp)
-200006e2: d8fe sw t6,112(sp)
+200006fe: d8fe sw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:231
// Save MSTATUS for the MPIE bit.
csrr t0, mstatus
-200006e4: 300022f3 csrr t0,mstatus
+20000700: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:232
sw t0, 29 * OTTF_WORD_SIZE(sp)
-200006e8: da96 sw t0,116(sp)
+20000704: da96 sw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:236
// Save MEPC to the stack.
// NOTE: this IRQ is asynchronous, therefore, we do not need to modify MEPC.
csrr t0, mepc
-200006ea: 341022f3 csrr t0,mepc
+20000706: 341022f3 csrr t0,mepc
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:237
sw t0, 0(sp)
-200006ee: c016 sw t0,0(sp)
+2000070a: c016 sw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:241
// Store stack pointer to current TCB (only if concurrency is enabled, i.e.,
// the test that triggers this is running as a FreeRTOS task).
jal save_current_sp_to_tcb
-200006f0: 3dd5 jal 200005e4 <save_current_sp_to_tcb>
+2000070c: 3dd5 jal 20000600 <save_current_sp_to_tcb>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:244
// Jump to timer ISR.
jal ottf_timer_isr
-200006f2: 73c000ef jal ra,20000e2e <ottf_timer_isr>
+2000070e: 73c000ef jal ra,20000e4a <ottf_timer_isr>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:247
// Return from ISR.
j ottf_isr_exit
-200006f6: 0ae0006f j 200007a4 <ottf_isr_exit>
-200006fa: 0001 nop
+20000712: 0ae0006f j 200007c0 <ottf_isr_exit>
+20000716: 0001 nop
-200006fc <handler_irq_external>:
+20000718 <handler_irq_external>:
handler_irq_external():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:260
.balign 4
@@ -906,127 +906,127 @@
handler_irq_external:
// Save all registers to the stack.
addi sp, sp, -OTTF_CONTEXT_SIZE
-200006fc: f8810113 addi sp,sp,-120
+20000718: f8810113 addi sp,sp,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:261
sw ra, 1 * OTTF_WORD_SIZE(sp)
-20000700: c206 sw ra,4(sp)
+2000071c: c206 sw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:262
sw t0, 2 * OTTF_WORD_SIZE(sp)
-20000702: c416 sw t0,8(sp)
+2000071e: c416 sw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:263
sw t1, 3 * OTTF_WORD_SIZE(sp)
-20000704: c61a sw t1,12(sp)
+20000720: c61a sw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:264
sw t2, 4 * OTTF_WORD_SIZE(sp)
-20000706: c81e sw t2,16(sp)
+20000722: c81e sw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:265
sw s0, 5 * OTTF_WORD_SIZE(sp)
-20000708: ca22 sw s0,20(sp)
+20000724: ca22 sw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:266
sw s1, 6 * OTTF_WORD_SIZE(sp)
-2000070a: cc26 sw s1,24(sp)
+20000726: cc26 sw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:267
sw a0, 7 * OTTF_WORD_SIZE(sp)
-2000070c: ce2a sw a0,28(sp)
+20000728: ce2a sw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:268
sw a1, 8 * OTTF_WORD_SIZE(sp)
-2000070e: d02e sw a1,32(sp)
+2000072a: d02e sw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:269
sw a2, 9 * OTTF_WORD_SIZE(sp)
-20000710: d232 sw a2,36(sp)
+2000072c: d232 sw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:270
sw a3, 10 * OTTF_WORD_SIZE(sp)
-20000712: d436 sw a3,40(sp)
+2000072e: d436 sw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:271
sw a4, 11 * OTTF_WORD_SIZE(sp)
-20000714: d63a sw a4,44(sp)
+20000730: d63a sw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:272
sw a5, 12 * OTTF_WORD_SIZE(sp)
-20000716: d83e sw a5,48(sp)
+20000732: d83e sw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:273
sw a6, 13 * OTTF_WORD_SIZE(sp)
-20000718: da42 sw a6,52(sp)
+20000734: da42 sw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:274
sw a7, 14 * OTTF_WORD_SIZE(sp)
-2000071a: dc46 sw a7,56(sp)
+20000736: dc46 sw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:275
sw s2, 15 * OTTF_WORD_SIZE(sp)
-2000071c: de4a sw s2,60(sp)
+20000738: de4a sw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:276
sw s3, 16 * OTTF_WORD_SIZE(sp)
-2000071e: c0ce sw s3,64(sp)
+2000073a: c0ce sw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:277
sw s4, 17 * OTTF_WORD_SIZE(sp)
-20000720: c2d2 sw s4,68(sp)
+2000073c: c2d2 sw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:278
sw s5, 18 * OTTF_WORD_SIZE(sp)
-20000722: c4d6 sw s5,72(sp)
+2000073e: c4d6 sw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:279
sw s6, 19 * OTTF_WORD_SIZE(sp)
-20000724: c6da sw s6,76(sp)
+20000740: c6da sw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:280
sw s7, 20 * OTTF_WORD_SIZE(sp)
-20000726: c8de sw s7,80(sp)
+20000742: c8de sw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:281
sw s8, 21 * OTTF_WORD_SIZE(sp)
-20000728: cae2 sw s8,84(sp)
+20000744: cae2 sw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:282
sw s9, 22 * OTTF_WORD_SIZE(sp)
-2000072a: cce6 sw s9,88(sp)
+20000746: cce6 sw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:283
sw s10, 23 * OTTF_WORD_SIZE(sp)
-2000072c: ceea sw s10,92(sp)
+20000748: ceea sw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:284
sw s11, 24 * OTTF_WORD_SIZE(sp)
-2000072e: d0ee sw s11,96(sp)
+2000074a: d0ee sw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:285
sw t3, 25 * OTTF_WORD_SIZE(sp)
-20000730: d2f2 sw t3,100(sp)
+2000074c: d2f2 sw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:286
sw t4, 26 * OTTF_WORD_SIZE(sp)
-20000732: d4f6 sw t4,104(sp)
+2000074e: d4f6 sw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:287
sw t5, 27 * OTTF_WORD_SIZE(sp)
-20000734: d6fa sw t5,108(sp)
+20000750: d6fa sw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:288
sw t6, 28 * OTTF_WORD_SIZE(sp)
-20000736: d8fe sw t6,112(sp)
+20000752: d8fe sw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:291
// Save MSTATUS for the MPIE bit.
csrr t0, mstatus
-20000738: 300022f3 csrr t0,mstatus
+20000754: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:292
sw t0, 29 * OTTF_WORD_SIZE(sp)
-2000073c: da96 sw t0,116(sp)
+20000758: da96 sw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:296
// Save MEPC to the stack.
// NOTE: this IRQ is asynchronous, therefore, we do not need to modify MEPC.
csrr t0, mepc
-2000073e: 341022f3 csrr t0,mepc
+2000075a: 341022f3 csrr t0,mepc
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:297
sw t0, 0(sp)
-20000742: c016 sw t0,0(sp)
+2000075e: c016 sw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:301
// Store stack pointer to current TCB (only if concurrency is enabled, i.e.,
// the test that triggers this is running as a FreeRTOS task).
jal save_current_sp_to_tcb
-20000744: 3545 jal 200005e4 <save_current_sp_to_tcb>
+20000760: 3545 jal 20000600 <save_current_sp_to_tcb>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:304
// Jump to external ISR.
jal ottf_external_isr
-20000746: 6fc000ef jal ra,20000e42 <ottf_external_isr>
+20000762: 6fc000ef jal ra,20000e5e <ottf_external_isr>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:307
// Return from ISR.
j ottf_isr_exit
-2000074a: 05a0006f j 200007a4 <ottf_isr_exit>
-2000074e: 0001 nop
+20000766: 05a0006f j 200007c0 <ottf_isr_exit>
+2000076a: 0001 nop
-20000750 <handler_irq_internal>:
+2000076c <handler_irq_internal>:
handler_irq_internal():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:320
.balign 4
@@ -1035,127 +1035,127 @@
handler_irq_internal:
// Save all registers to the stack.
addi sp, sp, -OTTF_CONTEXT_SIZE
-20000750: f8810113 addi sp,sp,-120
+2000076c: f8810113 addi sp,sp,-120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:321
sw ra, 1 * OTTF_WORD_SIZE(sp)
-20000754: c206 sw ra,4(sp)
+20000770: c206 sw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:322
sw t0, 2 * OTTF_WORD_SIZE(sp)
-20000756: c416 sw t0,8(sp)
+20000772: c416 sw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:323
sw t1, 3 * OTTF_WORD_SIZE(sp)
-20000758: c61a sw t1,12(sp)
+20000774: c61a sw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:324
sw t2, 4 * OTTF_WORD_SIZE(sp)
-2000075a: c81e sw t2,16(sp)
+20000776: c81e sw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:325
sw s0, 5 * OTTF_WORD_SIZE(sp)
-2000075c: ca22 sw s0,20(sp)
+20000778: ca22 sw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:326
sw s1, 6 * OTTF_WORD_SIZE(sp)
-2000075e: cc26 sw s1,24(sp)
+2000077a: cc26 sw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:327
sw a0, 7 * OTTF_WORD_SIZE(sp)
-20000760: ce2a sw a0,28(sp)
+2000077c: ce2a sw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:328
sw a1, 8 * OTTF_WORD_SIZE(sp)
-20000762: d02e sw a1,32(sp)
+2000077e: d02e sw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:329
sw a2, 9 * OTTF_WORD_SIZE(sp)
-20000764: d232 sw a2,36(sp)
+20000780: d232 sw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:330
sw a3, 10 * OTTF_WORD_SIZE(sp)
-20000766: d436 sw a3,40(sp)
+20000782: d436 sw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:331
sw a4, 11 * OTTF_WORD_SIZE(sp)
-20000768: d63a sw a4,44(sp)
+20000784: d63a sw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:332
sw a5, 12 * OTTF_WORD_SIZE(sp)
-2000076a: d83e sw a5,48(sp)
+20000786: d83e sw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:333
sw a6, 13 * OTTF_WORD_SIZE(sp)
-2000076c: da42 sw a6,52(sp)
+20000788: da42 sw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:334
sw a7, 14 * OTTF_WORD_SIZE(sp)
-2000076e: dc46 sw a7,56(sp)
+2000078a: dc46 sw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:335
sw s2, 15 * OTTF_WORD_SIZE(sp)
-20000770: de4a sw s2,60(sp)
+2000078c: de4a sw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:336
sw s3, 16 * OTTF_WORD_SIZE(sp)
-20000772: c0ce sw s3,64(sp)
+2000078e: c0ce sw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:337
sw s4, 17 * OTTF_WORD_SIZE(sp)
-20000774: c2d2 sw s4,68(sp)
+20000790: c2d2 sw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:338
sw s5, 18 * OTTF_WORD_SIZE(sp)
-20000776: c4d6 sw s5,72(sp)
+20000792: c4d6 sw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:339
sw s6, 19 * OTTF_WORD_SIZE(sp)
-20000778: c6da sw s6,76(sp)
+20000794: c6da sw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:340
sw s7, 20 * OTTF_WORD_SIZE(sp)
-2000077a: c8de sw s7,80(sp)
+20000796: c8de sw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:341
sw s8, 21 * OTTF_WORD_SIZE(sp)
-2000077c: cae2 sw s8,84(sp)
+20000798: cae2 sw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:342
sw s9, 22 * OTTF_WORD_SIZE(sp)
-2000077e: cce6 sw s9,88(sp)
+2000079a: cce6 sw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:343
sw s10, 23 * OTTF_WORD_SIZE(sp)
-20000780: ceea sw s10,92(sp)
+2000079c: ceea sw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:344
sw s11, 24 * OTTF_WORD_SIZE(sp)
-20000782: d0ee sw s11,96(sp)
+2000079e: d0ee sw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:345
sw t3, 25 * OTTF_WORD_SIZE(sp)
-20000784: d2f2 sw t3,100(sp)
+200007a0: d2f2 sw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:346
sw t4, 26 * OTTF_WORD_SIZE(sp)
-20000786: d4f6 sw t4,104(sp)
+200007a2: d4f6 sw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:347
sw t5, 27 * OTTF_WORD_SIZE(sp)
-20000788: d6fa sw t5,108(sp)
+200007a4: d6fa sw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:348
sw t6, 28 * OTTF_WORD_SIZE(sp)
-2000078a: d8fe sw t6,112(sp)
+200007a6: d8fe sw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:351
// Save MSTATUS for the MPIE bit.
csrr t0, mstatus
-2000078c: 300022f3 csrr t0,mstatus
+200007a8: 300022f3 csrr t0,mstatus
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:352
sw t0, 29 * OTTF_WORD_SIZE(sp)
-20000790: da96 sw t0,116(sp)
+200007ac: da96 sw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:356
// Save MEPC to the stack.
// NOTE: this IRQ is asynchronous, therefore, we do not need to modify MEPC.
csrr t0, mepc
-20000792: 341022f3 csrr t0,mepc
+200007ae: 341022f3 csrr t0,mepc
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:357
sw t0, 0(sp)
-20000796: c016 sw t0,0(sp)
+200007b2: c016 sw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:361
// Store stack pointer to current TCB (only if concurrency is enabled, i.e.,
// the test that triggers this is running as a FreeRTOS task).
jal save_current_sp_to_tcb
-20000798: 35b1 jal 200005e4 <save_current_sp_to_tcb>
+200007b4: 35b1 jal 20000600 <save_current_sp_to_tcb>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:364
// Jump to the internal ISR.
jal ottf_internal_isr
-2000079a: 6d0000ef jal ra,20000e6a <ottf_internal_isr>
+200007b6: 6d0000ef jal ra,20000e86 <ottf_internal_isr>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:367
// Return from ISR.
j ottf_isr_exit
-2000079e: 0060006f j 200007a4 <ottf_isr_exit>
-200007a2: 0001 nop
+200007ba: 0060006f j 200007c0 <ottf_isr_exit>
+200007be: 0001 nop
-200007a4 <ottf_isr_exit>:
+200007c0 <ottf_isr_exit>:
ottf_isr_exit():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:384
// Load the stack pointer for the current task control block (TCB), only if
@@ -1164,135 +1164,135 @@
// stack. Otherwise, the test is run on bare-metal, and there is no TCB, and
// only a single stack/stack pointer.
la t0, kOttfTestConfig
-200007a4: 00002297 auipc t0,0x2
-200007a8: 96c28293 addi t0,t0,-1684 # 20002110 <kOttfTestConfig>
+200007c0: 00002297 auipc t0,0x2
+200007c4: 9d028293 addi t0,t0,-1584 # 20002190 <kOttfTestConfig>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:385
lb t1, 0(t0)
-200007ac: 00028303 lb t1,0(t0)
+200007c8: 00028303 lb t1,0(t0)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:386
beqz t1, .L_skip_sp_restore
-200007b0: /-- 00030863 beqz t1,200007c0 <ottf_isr_exit+0x1c>
+200007cc: /-- 00030863 beqz t1,200007dc <ottf_isr_exit+0x1c>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:387
lw t2, pxCurrentTCB
-200007b4: | f0000397 auipc t2,0xf0000
-200007b8: | 8e03a383 lw t2,-1824(t2) # 10000094 <pxCurrentTCB>
+200007d0: | f0000397 auipc t2,0xf0000
+200007d4: | 8c43a383 lw t2,-1852(t2) # 10000094 <pxCurrentTCB>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:388
lw sp, 0(t2)
-200007bc: | 0003a103 lw sp,0(t2)
+200007d8: | 0003a103 lw sp,0(t2)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:392
.L_skip_sp_restore:
// Load the correct MEPC for the next instruction in the current task.
lw t0, 0(sp)
-200007c0: \-> 4282 lw t0,0(sp)
+200007dc: \-> 4282 lw t0,0(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:393
csrw mepc, t0
-200007c2: 34129073 csrw mepc,t0
+200007de: 34129073 csrw mepc,t0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:396
// Load MSTATUS for the MPIE bit.
lw t0, 29 * OTTF_WORD_SIZE(sp)
-200007c6: 52d6 lw t0,116(sp)
+200007e2: 52d6 lw t0,116(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:397
csrw mstatus, t0
-200007c8: 30029073 csrw mstatus,t0
+200007e4: 30029073 csrw mstatus,t0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:400
// Restore all registers from the stack.
lw ra, 1 * OTTF_WORD_SIZE(sp)
-200007cc: 4092 lw ra,4(sp)
+200007e8: 4092 lw ra,4(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:401
lw t0, 2 * OTTF_WORD_SIZE(sp)
-200007ce: 42a2 lw t0,8(sp)
+200007ea: 42a2 lw t0,8(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:402
lw t1, 3 * OTTF_WORD_SIZE(sp)
-200007d0: 4332 lw t1,12(sp)
+200007ec: 4332 lw t1,12(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:403
lw t2, 4 * OTTF_WORD_SIZE(sp)
-200007d2: 43c2 lw t2,16(sp)
+200007ee: 43c2 lw t2,16(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:404
lw s0, 5 * OTTF_WORD_SIZE(sp)
-200007d4: 4452 lw s0,20(sp)
+200007f0: 4452 lw s0,20(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:405
lw s1, 6 * OTTF_WORD_SIZE(sp)
-200007d6: 44e2 lw s1,24(sp)
+200007f2: 44e2 lw s1,24(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:406
lw a0, 7 * OTTF_WORD_SIZE(sp)
-200007d8: 4572 lw a0,28(sp)
+200007f4: 4572 lw a0,28(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:407
lw a1, 8 * OTTF_WORD_SIZE(sp)
-200007da: 5582 lw a1,32(sp)
+200007f6: 5582 lw a1,32(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:408
lw a2, 9 * OTTF_WORD_SIZE(sp)
-200007dc: 5612 lw a2,36(sp)
+200007f8: 5612 lw a2,36(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:409
lw a3, 10 * OTTF_WORD_SIZE(sp)
-200007de: 56a2 lw a3,40(sp)
+200007fa: 56a2 lw a3,40(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:410
lw a4, 11 * OTTF_WORD_SIZE(sp)
-200007e0: 5732 lw a4,44(sp)
+200007fc: 5732 lw a4,44(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:411
lw a5, 12 * OTTF_WORD_SIZE(sp)
-200007e2: 57c2 lw a5,48(sp)
+200007fe: 57c2 lw a5,48(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:412
lw a6, 13 * OTTF_WORD_SIZE(sp)
-200007e4: 5852 lw a6,52(sp)
+20000800: 5852 lw a6,52(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:413
lw a7, 14 * OTTF_WORD_SIZE(sp)
-200007e6: 58e2 lw a7,56(sp)
+20000802: 58e2 lw a7,56(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:414
lw s2, 15 * OTTF_WORD_SIZE(sp)
-200007e8: 5972 lw s2,60(sp)
+20000804: 5972 lw s2,60(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:415
lw s3, 16 * OTTF_WORD_SIZE(sp)
-200007ea: 4986 lw s3,64(sp)
+20000806: 4986 lw s3,64(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:416
lw s4, 17 * OTTF_WORD_SIZE(sp)
-200007ec: 4a16 lw s4,68(sp)
+20000808: 4a16 lw s4,68(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:417
lw s5, 18 * OTTF_WORD_SIZE(sp)
-200007ee: 4aa6 lw s5,72(sp)
+2000080a: 4aa6 lw s5,72(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:418
lw s6, 19 * OTTF_WORD_SIZE(sp)
-200007f0: 4b36 lw s6,76(sp)
+2000080c: 4b36 lw s6,76(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:419
lw s7, 20 * OTTF_WORD_SIZE(sp)
-200007f2: 4bc6 lw s7,80(sp)
+2000080e: 4bc6 lw s7,80(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:420
lw s8, 21 * OTTF_WORD_SIZE(sp)
-200007f4: 4c56 lw s8,84(sp)
+20000810: 4c56 lw s8,84(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:421
lw s9, 22 * OTTF_WORD_SIZE(sp)
-200007f6: 4ce6 lw s9,88(sp)
+20000812: 4ce6 lw s9,88(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:422
lw s10, 23 * OTTF_WORD_SIZE(sp)
-200007f8: 4d76 lw s10,92(sp)
+20000814: 4d76 lw s10,92(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:423
lw s11, 24 * OTTF_WORD_SIZE(sp)
-200007fa: 5d86 lw s11,96(sp)
+20000816: 5d86 lw s11,96(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:424
lw t3, 25 * OTTF_WORD_SIZE(sp)
-200007fc: 5e16 lw t3,100(sp)
+20000818: 5e16 lw t3,100(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:425
lw t4, 26 * OTTF_WORD_SIZE(sp)
-200007fe: 5ea6 lw t4,104(sp)
+2000081a: 5ea6 lw t4,104(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:426
lw t5, 27 * OTTF_WORD_SIZE(sp)
-20000800: 5f36 lw t5,108(sp)
+2000081c: 5f36 lw t5,108(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:427
lw t6, 28 * OTTF_WORD_SIZE(sp)
-20000802: 5fc6 lw t6,112(sp)
+2000081e: 5fc6 lw t6,112(sp)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:428
addi sp, sp, OTTF_CONTEXT_SIZE
-20000804: 07810113 addi sp,sp,120
+20000820: 07810113 addi sp,sp,120
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.S:432
// This exits the ISR completely, and does not return control flow to the ISR
// that called this sub-routine.
mret
-20000808: 30200073 mret
+20000824: 30200073 mret
-2000080c <test_memcpy>:
+20000828 <test_memcpy>:
test_memcpy():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:97
fill_buf_zeroes(buf, len);
@@ -1301,64 +1301,64 @@
OT_NOINLINE void test_memcpy(uint8_t *buf1, uint8_t *buf2, size_t len) {
memcpy(buf1, buf2, len);
-2000080c: 6ec0106f j 20001ef8 <memcpy>
+20000828: 6580106f j 20001e80 <memcpy>
-20000810 <test_memset>:
+2000082c <test_memset>:
test_memset():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:101
}
OT_NOINLINE void test_memset(uint8_t *buf1, uint8_t *buf2, size_t len) {
const int value = buf2[0];
-20000810: 0005c583 lbu a1,0(a1)
+2000082c: 0005c583 lbu a1,0(a1)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:102
memset(buf1, value, len);
-20000814: 6fa0106f j 20001f0e <memset>
+20000830: 6700106f j 20001ea0 <memset>
-20000818 <test_memcmp>:
+20000834 <test_memcmp>:
test_memcmp():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:106
}
OT_NOINLINE void test_memcmp(uint8_t *buf1, uint8_t *buf2, size_t len) {
memcmp(buf1, buf2, len);
-20000818: 7060106f j 20001f1e <memcmp>
+20000834: 68c0106f j 20001ec0 <memcmp>
-2000081c <test_memrcmp>:
+20000838 <test_memrcmp>:
test_memrcmp():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:110
}
OT_NOINLINE void test_memrcmp(uint8_t *buf1, uint8_t *buf2, size_t len) {
memrcmp(buf1, buf2, len);
-2000081c: 72c0106f j 20001f48 <memrcmp>
+20000838: 6c80106f j 20001f00 <memrcmp>
-20000820 <test_memchr>:
+2000083c <test_memchr>:
test_memchr():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:114
}
OT_NOINLINE void test_memchr(uint8_t *buf1, uint8_t *buf2, size_t len) {
const uint8_t value = buf1[len - 1];
-20000820: 00a605b3 add a1,a2,a0
-20000824: fff5c583 lbu a1,-1(a1)
+2000083c: 00a605b3 add a1,a2,a0
+20000840: fff5c583 lbu a1,-1(a1)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:115
memchr(buf1, value, len);
-20000828: 7520106f j 20001f7a <memchr>
+20000844: 6fc0106f j 20001f40 <memchr>
-2000082c <test_memrchr>:
+20000848 <test_memrchr>:
test_memrchr():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:119
}
OT_NOINLINE void test_memrchr(uint8_t *buf1, uint8_t *buf2, size_t len) {
const uint8_t value = buf1[0];
-2000082c: 00054583 lbu a1,0(a0)
+20000848: 00054583 lbu a1,0(a0)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:120
memrchr(buf1, value, len);
-20000830: 7620106f j 20001f92 <memrchr>
+2000084c: 7140106f j 20001f60 <memrchr>
-20000834 <test_main>:
+20000850 <test_main>:
test_main():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:221
};
@@ -1367,71 +1367,71 @@
static uint8_t buf2[kBufLen];
bool test_main(void) {
-20000834: 7159 addi sp,sp,-112
-20000836: d686 sw ra,108(sp)
-20000838: d4a2 sw s0,104(sp)
-2000083a: d2a6 sw s1,100(sp)
-2000083c: d0ca sw s2,96(sp)
-2000083e: cece sw s3,92(sp)
-20000840: ccd2 sw s4,88(sp)
-20000842: cad6 sw s5,84(sp)
-20000844: c8da sw s6,80(sp)
-20000846: c6de sw s7,76(sp)
-20000848: c4e2 sw s8,72(sp)
-2000084a: c2e6 sw s9,68(sp)
-2000084c: c0ea sw s10,64(sp)
-2000084e: de6e sw s11,60(sp)
-20000850: 00002517 auipc a0,0x2
-20000854: 22450513 addi a0,a0,548 # 20002a74 <kDeviceLogBypassUartAddress>
-20000858: 4108 lw a0,0(a0)
-2000085a: 4581 li a1,0
-2000085c: 00153513 seqz a0,a0
-20000860: d22a sw a0,36(sp)
-20000862: 4505 li a0,1
-20000864: c62a sw a0,12(sp)
-20000866: 00002517 auipc a0,0x2
-2000086a: 8b250513 addi a0,a0,-1870 # 20002118 <kPerfTests>
-2000086e: ca2a sw a0,20(sp)
-20000870: f0000997 auipc s3,0xf0000
-20000874: 86898993 addi s3,s3,-1944 # 100000d8 <buf1>
-20000878: f0000917 auipc s2,0xf0000
-2000087c: c4890913 addi s2,s2,-952 # 100004c0 <buf2>
-20000880: 6531 lui a0,0xc
-20000882: aad50513 addi a0,a0,-1363 # baad <_stack_size+0x9aad>
+20000850: 7159 addi sp,sp,-112
+20000852: d686 sw ra,108(sp)
+20000854: d4a2 sw s0,104(sp)
+20000856: d2a6 sw s1,100(sp)
+20000858: d0ca sw s2,96(sp)
+2000085a: cece sw s3,92(sp)
+2000085c: ccd2 sw s4,88(sp)
+2000085e: cad6 sw s5,84(sp)
+20000860: c8da sw s6,80(sp)
+20000862: c6de sw s7,76(sp)
+20000864: c4e2 sw s8,72(sp)
+20000866: c2e6 sw s9,68(sp)
+20000868: c0ea sw s10,64(sp)
+2000086a: de6e sw s11,60(sp)
+2000086c: 00002517 auipc a0,0x2
+20000870: 28850513 addi a0,a0,648 # 20002af4 <kDeviceLogBypassUartAddress>
+20000874: 4108 lw a0,0(a0)
+20000876: 4581 li a1,0
+20000878: 00153513 seqz a0,a0
+2000087c: d22a sw a0,36(sp)
+2000087e: 4505 li a0,1
+20000880: c62a sw a0,12(sp)
+20000882: 00002517 auipc a0,0x2
+20000886: 91650513 addi a0,a0,-1770 # 20002198 <kPerfTests>
+2000088a: ca2a sw a0,20(sp)
+2000088c: f0000997 auipc s3,0xf0000
+20000890: 84c98993 addi s3,s3,-1972 # 100000d8 <buf1>
+20000894: f0000917 auipc s2,0xf0000
+20000898: c2c90913 addi s2,s2,-980 # 100004c0 <buf2>
+2000089c: 6531 lui a0,0xc
+2000089e: aad50513 addi a0,a0,-1363 # baad <_manifest_code_end+0x9a79>
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:223
bool all_expectations_match = true;
for (size_t i = 0; i < ARRAYSIZE(kPerfTests); ++i) {
-20000886: d02a sw a0,32(sp)
-20000888: ce2e sw a1,28(sp)
+200008a2: d02a sw a0,32(sp)
+200008a4: ce2e sw a1,28(sp)
perf_test_run():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:42
CHECK(test->setup_buf1 != NULL);
-2000088a: 4551 li a0,20
-2000088c: 02a585b3 mul a1,a1,a0
-20000890: 4552 lw a0,20(sp)
-20000892: c82e sw a1,16(sp)
-20000894: 952e add a0,a0,a1
-20000896: 00452d03 lw s10,4(a0)
+200008a6: 4551 li a0,20
+200008a8: 02a585b3 mul a1,a1,a0
+200008ac: 4552 lw a0,20(sp)
+200008ae: c82e sw a1,16(sp)
+200008b0: 952e add a0,a0,a1
+200008b2: 00452d03 lw s10,4(a0)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:43
CHECK(test->setup_buf2 != NULL);
-2000089a: 00852d83 lw s11,8(a0)
-2000089e: cc2a sw a0,24(sp)
+200008b6: 00852d83 lw s11,8(a0)
+200008ba: cc2a sw a0,24(sp)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:44
CHECK(test->func != NULL);
-200008a0: 00c52c83 lw s9,12(a0)
-200008a4: 4b81 li s7,0
-200008a6: 4c01 li s8,0
-200008a8: 4aa9 li s5,10
+200008bc: 00c52c83 lw s9,12(a0)
+200008c0: 4b81 li s7,0
+200008c2: 4c01 li s8,0
+200008c4: 4aa9 li s5,10
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:48
test->setup_buf1(buf1, kBufLen);
-200008aa: 3e800593 li a1,1000
-200008ae: 854e mv a0,s3
-200008b0: 9d02 jalr s10
+200008c6: 3e800593 li a1,1000
+200008ca: 854e mv a0,s3
+200008cc: 9d02 jalr s10
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:49
test->setup_buf2(buf2, kBufLen);
-200008b2: 3e800593 li a1,1000
-200008b6: 854a mv a0,s2
-200008b8: 9d82 jalr s11
+200008ce: 3e800593 li a1,1000
+200008d2: 854a mv a0,s2
+200008d4: 9d82 jalr s11
ibex_mcycle_read():
/proc/self/cwd/./sw/device/lib/runtime/ibex.h:53
*/
@@ -1440,31 +1440,31 @@
uint32_t cycle_high = 0;
uint32_t cycle_high_2 = 0;
asm volatile(
-200008ba: 4481 li s1,0
-200008bc: 4501 li a0,0
+200008d6: 4481 li s1,0
+200008d8: 4501 li a0,0
-200008be <read0>:
-200008be: /-> b80024f3 csrr s1,mcycleh
-200008c2: | b0002473 csrr s0,mcycle
-200008c6: | b8002573 csrr a0,mcycleh
-200008ca: \-- fea49ae3 bne s1,a0,200008be <read0>
+200008da <read0>:
+200008da: /-> b80024f3 csrr s1,mcycleh
+200008de: | b0002473 csrr s0,mcycle
+200008e2: | b8002573 csrr a0,mcycleh
+200008e6: \-- fea49ae3 bne s1,a0,200008da <read0>
perf_test_run():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:52
test->func(buf1, buf2, kBufLen);
-200008ce: 3e800613 li a2,1000
-200008d2: 854e mv a0,s3
-200008d4: 85ca mv a1,s2
-200008d6: 9c82 jalr s9
+200008ea: 3e800613 li a2,1000
+200008ee: 854e mv a0,s3
+200008f0: 85ca mv a1,s2
+200008f2: 9c82 jalr s9
ibex_mcycle_read():
/proc/self/cwd/./sw/device/lib/runtime/ibex.h:53
-200008d8: 4501 li a0,0
-200008da: 4581 li a1,0
+200008f4: 4501 li a0,0
+200008f6: 4581 li a1,0
-200008dc <read1>:
-200008dc: /-> b8002573 csrr a0,mcycleh
-200008e0: | b0002673 csrr a2,mcycle
-200008e4: | b80025f3 csrr a1,mcycleh
-200008e8: \-- feb51ae3 bne a0,a1,200008dc <read1>
+200008f8 <read1>:
+200008f8: /-> b8002573 csrr a0,mcycleh
+200008fc: | b0002673 csrr a2,mcycle
+20000900: | b80025f3 csrr a1,mcycleh
+20000904: \-- feb51ae3 bne a0,a1,200008f8 <read1>
/proc/self/cwd/./sw/device/lib/runtime/ibex.h:62
" csrr %2, mcycleh;" // Read `mcycleh` again.
" bne %0, %2, read%=;" // Try again if `mcycle` overflowed before
@@ -1472,248 +1472,248 @@
: "+r"(cycle_high), "=r"(cycle_low), "+r"(cycle_high_2)
:);
return (uint64_t)cycle_high << 32 | cycle_low;
-200008ec: 008635b3 sltu a1,a2,s0
-200008f0: 95a6 add a1,a1,s1
+20000908: 008635b3 sltu a1,a2,s0
+2000090c: 95a6 add a1,a1,s1
perf_test_run():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:61
const uint64_t num_cycles = end_cycles - start_cycles;
-200008f2: 40b50b33 sub s6,a0,a1
+2000090e: 40b50b33 sub s6,a0,a1
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:63
CHECK(total_clock_cycles < UINT64_MAX - num_cycles);
-200008f6: fffb4513 not a0,s6
+20000912: fffb4513 not a0,s6
ibex_mcycle_read():
/proc/self/cwd/./sw/device/lib/runtime/ibex.h:62
-200008fa: 40860a33 sub s4,a2,s0
+20000916: 40860a33 sub s4,a2,s0
perf_test_run():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:63
-200008fe: /-- 00ac0663 beq s8,a0,2000090a <read1+0x2e>
-20000902: | 00ac3533 sltu a0,s8,a0
-20000906: /--|-- c519 beqz a0,20000914 <read1+0x38>
-20000908: /--|--|-- a82d j 20000942 <read1+0x66>
-2000090a: | | \-> fffa4513 not a0,s4
-2000090e: | | 00abb533 sltu a0,s7,a0
-20000912: +--|----- e905 bnez a0,20000942 <read1+0x66>
-20000914: | \----> 5512 lw a0,36(sp)
-20000916: | /-- e909 bnez a0,20000928 <read1+0x4c>
-20000918: | | e000f517 auipc a0,0xe000f
-2000091c: | | 71050513 addi a0,a0,1808 # 10028 <perf_test_run.kLogFields.25>
-20000920: | | 4581 li a1,0
-20000922: | | 6e2000ef jal ra,20001004 <base_log_internal_dv>
-20000926: | /--|-- a821 j 2000093e <read1+0x62>
-20000928: | | \-> 00002597 auipc a1,0x2
-2000092c: | | 8e058593 addi a1,a1,-1824 # 20002208 <kPerfTests+0xf0>
-20000930: | | 1028 addi a0,sp,40
-20000932: | | 4651 li a2,20
-20000934: | | 5c4010ef jal ra,20001ef8 <memcpy>
-20000938: | | 1028 addi a0,sp,40
-2000093a: | | 628000ef jal ra,20000f62 <base_log_internal_core>
-2000093e: | \----> 5502 lw a0,32(sp)
-20000940: | 2bb1 jal 20000e9c <test_status_set>
+2000091a: /-- 00ac0663 beq s8,a0,20000926 <read1+0x2e>
+2000091e: | 00ac3533 sltu a0,s8,a0
+20000922: /--|-- c519 beqz a0,20000930 <read1+0x38>
+20000924: /--|--|-- a82d j 2000095e <read1+0x66>
+20000926: | | \-> fffa4513 not a0,s4
+2000092a: | | 00abb533 sltu a0,s7,a0
+2000092e: +--|----- e905 bnez a0,2000095e <read1+0x66>
+20000930: | \----> 5512 lw a0,36(sp)
+20000932: | /-- e909 bnez a0,20000944 <read1+0x4c>
+20000934: | | e000f517 auipc a0,0xe000f
+20000938: | | 6f450513 addi a0,a0,1780 # 10028 <perf_test_run.kLogFields.25>
+2000093c: | | 4581 li a1,0
+2000093e: | | 6e2000ef jal ra,20001020 <base_log_internal_dv>
+20000942: | /--|-- a821 j 2000095a <read1+0x62>
+20000944: | | \-> 00002597 auipc a1,0x2
+20000948: | | 94458593 addi a1,a1,-1724 # 20002288 <kPerfTests+0xf0>
+2000094c: | | 1028 addi a0,sp,40
+2000094e: | | 4651 li a2,20
+20000950: | | 530010ef jal ra,20001e80 <memcpy>
+20000954: | | 1028 addi a0,sp,40
+20000956: | | 628000ef jal ra,20000f7e <base_log_internal_core>
+2000095a: | \----> 5502 lw a0,32(sp)
+2000095c: | 2bb1 jal 20000eb8 <test_status_set>
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:64
total_clock_cycles += num_cycles;
-20000942: \-------> 9bd2 add s7,s7,s4
-20000944: 014bb533 sltu a0,s7,s4
-20000948: 018b05b3 add a1,s6,s8
+2000095e: \-------> 9bd2 add s7,s7,s4
+20000960: 014bb533 sltu a0,s7,s4
+20000964: 018b05b3 add a1,s6,s8
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:47
for (size_t i = 0; i < num_runs; ++i) {
-2000094c: 1afd addi s5,s5,-1
+20000968: 1afd addi s5,s5,-1
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:64
total_clock_cycles += num_cycles;
-2000094e: 00a58c33 add s8,a1,a0
+2000096a: 00a58c33 add s8,a1,a0
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:47
for (size_t i = 0; i < num_runs; ++i) {
-20000952: f40a9ce3 bnez s5,200008aa <test_main+0x76>
+2000096e: f40a9ce3 bnez s5,200008c6 <test_main+0x76>
test_main():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:227
const perf_test_t *test = &kPerfTests[i];
const uint64_t num_cycles = perf_test_run(test, buf1, buf2, kNumRuns);
if (num_cycles != test->expected_num_cycles) {
-20000956: 4562 lw a0,24(sp)
-20000958: 01052a03 lw s4,16(a0)
-2000095c: 014bc533 xor a0,s7,s4
-20000960: 01856533 or a0,a0,s8
-20000964: /----------- c141 beqz a0,200009e4 <read1+0x108>
+20000972: 4562 lw a0,24(sp)
+20000974: 01052a03 lw s4,16(a0)
+20000978: 014bc533 xor a0,s7,s4
+2000097c: 01856533 or a0,a0,s8
+20000980: /----------- c141 beqz a0,20000a00 <read1+0x108>
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:232
all_expectations_match = false;
// Cast cycle counts to `uint32_t` before printing because `base_printf()`
// cannot print `uint64_t`.
CHECK(test->expected_num_cycles < UINT32_MAX);
CHECK(num_cycles < UINT32_MAX);
-20000966: | /-- 000c0463 beqz s8,2000096e <read1+0x92>
-2000096a: | | 4501 li a0,0
-2000096c: | /--|-- a029 j 20000976 <read1+0x9a>
-2000096e: | | \-> 001b8513 addi a0,s7,1
-20000972: | | 00a03533 snez a0,a0
-20000976: | \----> 4442 lw s0,16(sp)
-20000978: | /-------- e51d bnez a0,200009a6 <read1+0xca>
-2000097a: | | 5512 lw a0,36(sp)
-2000097c: | | /-- e909 bnez a0,2000098e <read1+0xb2>
-2000097e: | | | e000f517 auipc a0,0xe000f
-20000982: | | | 68250513 addi a0,a0,1666 # 10000 <test_main.kLogFields.2>
-20000986: | | | 4581 li a1,0
-20000988: | | | 67c000ef jal ra,20001004 <base_log_internal_dv>
-2000098c: | | /--|-- a819 j 200009a2 <read1+0xc6>
-2000098e: | | | \-> 00002597 auipc a1,0x2
-20000992: | | | 85258593 addi a1,a1,-1966 # 200021e0 <kPerfTests+0xc8>
-20000996: | | | 1028 addi a0,sp,40
-20000998: | | | 4651 li a2,20
-2000099a: | | | 55e010ef jal ra,20001ef8 <memcpy>
-2000099e: | | | 1028 addi a0,sp,40
-200009a0: | | | 23c9 jal 20000f62 <base_log_internal_core>
-200009a2: | | \----> 5502 lw a0,32(sp)
-200009a4: | | 29e5 jal 20000e9c <test_status_set>
-200009a6: | \-------> 4552 lw a0,20(sp)
-200009a8: | 9522 add a0,a0,s0
-200009aa: | 00052a83 lw s5,0(a0)
+20000982: | /-- 000c0463 beqz s8,2000098a <read1+0x92>
+20000986: | | 4501 li a0,0
+20000988: | /--|-- a029 j 20000992 <read1+0x9a>
+2000098a: | | \-> 001b8513 addi a0,s7,1
+2000098e: | | 00a03533 snez a0,a0
+20000992: | \----> 4442 lw s0,16(sp)
+20000994: | /-------- e51d bnez a0,200009c2 <read1+0xca>
+20000996: | | 5512 lw a0,36(sp)
+20000998: | | /-- e909 bnez a0,200009aa <read1+0xb2>
+2000099a: | | | e000f517 auipc a0,0xe000f
+2000099e: | | | 66650513 addi a0,a0,1638 # 10000 <test_main.kLogFields.2>
+200009a2: | | | 4581 li a1,0
+200009a4: | | | 67c000ef jal ra,20001020 <base_log_internal_dv>
+200009a8: | | /--|-- a819 j 200009be <read1+0xc6>
+200009aa: | | | \-> 00002597 auipc a1,0x2
+200009ae: | | | 8b658593 addi a1,a1,-1866 # 20002260 <kPerfTests+0xc8>
+200009b2: | | | 1028 addi a0,sp,40
+200009b4: | | | 4651 li a2,20
+200009b6: | | | 4ca010ef jal ra,20001e80 <memcpy>
+200009ba: | | | 1028 addi a0,sp,40
+200009bc: | | | 23c9 jal 20000f7e <base_log_internal_core>
+200009be: | | \----> 5502 lw a0,32(sp)
+200009c0: | | 29e5 jal 20000eb8 <test_status_set>
+200009c2: | \-------> 4552 lw a0,20(sp)
+200009c4: | 9522 add a0,a0,s0
+200009c6: | 00052a83 lw s5,0(a0)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:233
LOG_WARNING("Expected %s to run in %d cycles. Actually took %d cycles.",
-200009ae: | 5512 lw a0,36(sp)
-200009b0: | /-- ed01 bnez a0,200009c8 <read1+0xec>
-200009b2: | | e000f517 auipc a0,0xe000f
-200009b6: | | 66250513 addi a0,a0,1634 # 10014 <test_main.kLogFields.5>
-200009ba: | | 458d li a1,3
-200009bc: | | 8656 mv a2,s5
-200009be: | | 86d2 mv a3,s4
-200009c0: | | 875e mv a4,s7
-200009c2: | | 642000ef jal ra,20001004 <base_log_internal_dv>
-200009c6: | /--|-- a831 j 200009e2 <read1+0x106>
-200009c8: | | \-> 00002597 auipc a1,0x2
-200009cc: | | 82c58593 addi a1,a1,-2004 # 200021f4 <kPerfTests+0xdc>
-200009d0: | | 1028 addi a0,sp,40
-200009d2: | | 4651 li a2,20
-200009d4: | | 524010ef jal ra,20001ef8 <memcpy>
-200009d8: | | 1028 addi a0,sp,40
-200009da: | | 85d6 mv a1,s5
-200009dc: | | 8652 mv a2,s4
-200009de: | | 86de mv a3,s7
-200009e0: | | 2349 jal 20000f62 <base_log_internal_core>
-200009e2: | \----> c602 sw zero,12(sp)
-200009e4: \----------> 45f2 lw a1,28(sp)
+200009ca: | 5512 lw a0,36(sp)
+200009cc: | /-- ed01 bnez a0,200009e4 <read1+0xec>
+200009ce: | | e000f517 auipc a0,0xe000f
+200009d2: | | 64650513 addi a0,a0,1606 # 10014 <test_main.kLogFields.5>
+200009d6: | | 458d li a1,3
+200009d8: | | 8656 mv a2,s5
+200009da: | | 86d2 mv a3,s4
+200009dc: | | 875e mv a4,s7
+200009de: | | 642000ef jal ra,20001020 <base_log_internal_dv>
+200009e2: | /--|-- a831 j 200009fe <read1+0x106>
+200009e4: | | \-> 00002597 auipc a1,0x2
+200009e8: | | 89058593 addi a1,a1,-1904 # 20002274 <kPerfTests+0xdc>
+200009ec: | | 1028 addi a0,sp,40
+200009ee: | | 4651 li a2,20
+200009f0: | | 490010ef jal ra,20001e80 <memcpy>
+200009f4: | | 1028 addi a0,sp,40
+200009f6: | | 85d6 mv a1,s5
+200009f8: | | 8652 mv a2,s4
+200009fa: | | 86de mv a3,s7
+200009fc: | | 2349 jal 20000f7e <base_log_internal_core>
+200009fe: | \----> c602 sw zero,12(sp)
+20000a00: \----------> 45f2 lw a1,28(sp)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:223
for (size_t i = 0; i < ARRAYSIZE(kPerfTests); ++i) {
-200009e6: 0585 addi a1,a1,1
-200009e8: 4529 li a0,10
-200009ea: e8a59fe3 bne a1,a0,20000888 <test_main+0x54>
+20000a02: 0585 addi a1,a1,1
+20000a04: 4529 li a0,10
+20000a06: e8a59fe3 bne a1,a0,200008a4 <test_main+0x54>
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:238
test->label, (uint32_t)test->expected_num_cycles,
(uint32_t)num_cycles);
}
}
return all_expectations_match;
-200009ee: 4532 lw a0,12(sp)
-200009f0: 8905 andi a0,a0,1
-200009f2: 5df2 lw s11,60(sp)
-200009f4: 4d06 lw s10,64(sp)
-200009f6: 4c96 lw s9,68(sp)
-200009f8: 4c26 lw s8,72(sp)
-200009fa: 4bb6 lw s7,76(sp)
-200009fc: 4b46 lw s6,80(sp)
-200009fe: 4ad6 lw s5,84(sp)
-20000a00: 4a66 lw s4,88(sp)
-20000a02: 49f6 lw s3,92(sp)
-20000a04: 5906 lw s2,96(sp)
-20000a06: 5496 lw s1,100(sp)
-20000a08: 5426 lw s0,104(sp)
-20000a0a: 50b6 lw ra,108(sp)
-20000a0c: 6165 addi sp,sp,112
-20000a0e: 8082 ret
+20000a0a: 4532 lw a0,12(sp)
+20000a0c: 8905 andi a0,a0,1
+20000a0e: 5df2 lw s11,60(sp)
+20000a10: 4d06 lw s10,64(sp)
+20000a12: 4c96 lw s9,68(sp)
+20000a14: 4c26 lw s8,72(sp)
+20000a16: 4bb6 lw s7,76(sp)
+20000a18: 4b46 lw s6,80(sp)
+20000a1a: 4ad6 lw s5,84(sp)
+20000a1c: 4a66 lw s4,88(sp)
+20000a1e: 49f6 lw s3,92(sp)
+20000a20: 5906 lw s2,96(sp)
+20000a22: 5496 lw s1,100(sp)
+20000a24: 5426 lw s0,104(sp)
+20000a26: 50b6 lw ra,108(sp)
+20000a28: 6165 addi sp,sp,112
+20000a2a: 8082 ret
-20000a10 <fill_buf_deterministic_values>:
+20000a2c <fill_buf_deterministic_values>:
fill_buf_deterministic_values():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:73
for (size_t i = 0; i < len; ++i) {
-20000a10: /----- cd99 beqz a1,20000a2e <fill_buf_deterministic_values+0x1e>
-20000a12: | 4601 li a2,0
-20000a14: | 02a00693 li a3,42
+20000a2c: /----- cd99 beqz a1,20000a4a <fill_buf_deterministic_values+0x1e>
+20000a2e: | 4601 li a2,0
+20000a30: | 02a00693 li a3,42
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:74
state = state * 17 + i;
-20000a18: | /-> 00469713 slli a4,a3,0x4
-20000a1c: | | 96ba add a3,a3,a4
+20000a34: | /-> 00469713 slli a4,a3,0x4
+20000a38: | | 96ba add a3,a3,a4
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:75
buf[i] = (uint8_t)state;
-20000a1e: | | 96b2 add a3,a3,a2
-20000a20: | | 00c50733 add a4,a0,a2
+20000a3a: | | 96b2 add a3,a3,a2
+20000a3c: | | 00c50733 add a4,a0,a2
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:73
for (size_t i = 0; i < len; ++i) {
-20000a24: | | 0605 addi a2,a2,1
+20000a40: | | 0605 addi a2,a2,1
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:75
buf[i] = (uint8_t)state;
-20000a26: | | 00d70023 sb a3,0(a4)
+20000a42: | | 00d70023 sb a3,0(a4)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:73
for (size_t i = 0; i < len; ++i) {
-20000a2a: | \-- fec597e3 bne a1,a2,20000a18 <fill_buf_deterministic_values+0x8>
+20000a46: | \-- fec597e3 bne a1,a2,20000a34 <fill_buf_deterministic_values+0x8>
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:77
}
-20000a2e: \----> 8082 ret
+20000a4a: \----> 8082 ret
-20000a30 <fill_buf_zeroes>:
+20000a4c <fill_buf_zeroes>:
fill_buf_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:80
static inline void fill_buf_zeroes(uint8_t *buf, size_t len) {
-20000a30: 862e mv a2,a1
+20000a4c: 862e mv a2,a1
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:81
memset(buf, 0, len);
-20000a32: 4581 li a1,0
-20000a34: 4da0106f j 20001f0e <memset>
+20000a4e: 4581 li a1,0
+20000a50: 4500106f j 20001ea0 <memset>
-20000a38 <fill_buf_zeroes_then_one>:
+20000a54 <fill_buf_zeroes_then_one>:
fill_buf_zeroes_then_one():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:85
static inline void fill_buf_zeroes_then_one(uint8_t *buf, size_t len) {
-20000a38: 1141 addi sp,sp,-16
-20000a3a: c606 sw ra,12(sp)
-20000a3c: c422 sw s0,8(sp)
-20000a3e: c226 sw s1,4(sp)
-20000a40: 842e mv s0,a1
-20000a42: 84aa mv s1,a0
+20000a54: 1141 addi sp,sp,-16
+20000a56: c606 sw ra,12(sp)
+20000a58: c422 sw s0,8(sp)
+20000a5a: c226 sw s1,4(sp)
+20000a5c: 842e mv s0,a1
+20000a5e: 84aa mv s1,a0
fill_buf_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:81
memset(buf, 0, len);
-20000a44: 4581 li a1,0
-20000a46: 8622 mv a2,s0
-20000a48: 4c6010ef jal ra,20001f0e <memset>
+20000a60: 4581 li a1,0
+20000a62: 8622 mv a2,s0
+20000a64: 43c010ef jal ra,20001ea0 <memset>
fill_buf_zeroes_then_one():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:87
buf[len - 1] = 1;
-20000a4c: 00940533 add a0,s0,s1
-20000a50: 4585 li a1,1
-20000a52: feb50fa3 sb a1,-1(a0)
+20000a68: 00940533 add a0,s0,s1
+20000a6c: 4585 li a1,1
+20000a6e: feb50fa3 sb a1,-1(a0)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:88
}
-20000a56: 4492 lw s1,4(sp)
-20000a58: 4422 lw s0,8(sp)
-20000a5a: 40b2 lw ra,12(sp)
-20000a5c: 0141 addi sp,sp,16
-20000a5e: 8082 ret
+20000a72: 4492 lw s1,4(sp)
+20000a74: 4422 lw s0,8(sp)
+20000a76: 40b2 lw ra,12(sp)
+20000a78: 0141 addi sp,sp,16
+20000a7a: 8082 ret
-20000a60 <fill_buf_one_then_zeroes>:
+20000a7c <fill_buf_one_then_zeroes>:
fill_buf_one_then_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:91
static inline void fill_buf_one_then_zeroes(uint8_t *buf, size_t len) {
-20000a60: 1141 addi sp,sp,-16
-20000a62: c606 sw ra,12(sp)
-20000a64: c422 sw s0,8(sp)
-20000a66: 862e mv a2,a1
-20000a68: 842a mv s0,a0
+20000a7c: 1141 addi sp,sp,-16
+20000a7e: c606 sw ra,12(sp)
+20000a80: c422 sw s0,8(sp)
+20000a82: 862e mv a2,a1
+20000a84: 842a mv s0,a0
fill_buf_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:81
memset(buf, 0, len);
-20000a6a: 4581 li a1,0
-20000a6c: 4a2010ef jal ra,20001f0e <memset>
-20000a70: 4505 li a0,1
+20000a86: 4581 li a1,0
+20000a88: 418010ef jal ra,20001ea0 <memset>
+20000a8c: 4505 li a0,1
fill_buf_one_then_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:93
buf[0] = 1;
-20000a72: 00a40023 sb a0,0(s0)
+20000a8e: 00a40023 sb a0,0(s0)
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:94
}
-20000a76: 4422 lw s0,8(sp)
-20000a78: 40b2 lw ra,12(sp)
-20000a7a: 0141 addi sp,sp,16
-20000a7c: 8082 ret
+20000a92: 4422 lw s0,8(sp)
+20000a94: 40b2 lw ra,12(sp)
+20000a96: 0141 addi sp,sp,16
+20000a98: 8082 ret
-20000a7e <_ottf_main>:
+20000a9a <_ottf_main>:
_ottf_main():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:74
result = result && test_main();
@@ -1722,281 +1722,281 @@
}
void _ottf_main(void) {
-20000a7e: 7179 addi sp,sp,-48
-20000a80: d606 sw ra,44(sp)
-20000a82: d422 sw s0,40(sp)
-20000a84: d226 sw s1,36(sp)
-20000a86: d04a sw s2,32(sp)
-20000a88: 6511 lui a0,0x4
-20000a8a: 35450513 addi a0,a0,852 # 4354 <_stack_size+0x2354>
+20000a9a: 7179 addi sp,sp,-48
+20000a9c: d606 sw ra,44(sp)
+20000a9e: d422 sw s0,40(sp)
+20000aa0: d226 sw s1,36(sp)
+20000aa2: d04a sw s2,32(sp)
+20000aa4: 6511 lui a0,0x4
+20000aa6: 35450513 addi a0,a0,852 # 4354 <_manifest_code_end+0x2320>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:75
test_status_set(kTestStatusInTest);
-20000a8e: 2139 jal 20000e9c <test_status_set>
+20000aaa: 2139 jal 20000eb8 <test_status_set>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:78
// Initialize the UART to enable logging for non-DV simulation platforms.
if (kDeviceType != kDeviceSimDV) {
-20000a90: 00002517 auipc a0,0x2
-20000a94: fc850513 addi a0,a0,-56 # 20002a58 <kDeviceType>
-20000a98: 4108 lw a0,0(a0)
-20000a9a: 00001417 auipc s0,0x1
-20000a9e: 67640413 addi s0,s0,1654 # 20002110 <kOttfTestConfig>
-20000aa2: 00002497 auipc s1,0x2
-20000aa6: fd248493 addi s1,s1,-46 # 20002a74 <kDeviceLogBypassUartAddress>
-20000aaa: /----- c90d beqz a0,20000adc <_ottf_main+0x5e>
+20000aac: 00002517 auipc a0,0x2
+20000ab0: 02c50513 addi a0,a0,44 # 20002ad8 <kDeviceType>
+20000ab4: 4108 lw a0,0(a0)
+20000ab6: 00001417 auipc s0,0x1
+20000aba: 6da40413 addi s0,s0,1754 # 20002190 <kOttfTestConfig>
+20000abe: 00002497 auipc s1,0x2
+20000ac2: 03648493 addi s1,s1,54 # 20002af4 <kDeviceLogBypassUartAddress>
+20000ac6: /----- c90d beqz a0,20000af8 <_ottf_main+0x5e>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:79
init_uart();
-20000aac: | 2861 jal 20000b44 <init_uart>
+20000ac8: | 2861 jal 20000b60 <init_uart>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:80
LOG_INFO("Running %s", kOttfTestConfig.file);
-20000aae: | 4088 lw a0,0(s1)
-20000ab0: | 00442903 lw s2,4(s0)
-20000ab4: | /-- c909 beqz a0,20000ac6 <_ottf_main+0x48>
-20000ab6: | | e000f517 auipc a0,0xe000f
-20000aba: | | 58650513 addi a0,a0,1414 # 1003c <_ottf_main.kLogFields>
-20000abe: | | 4585 li a1,1
-20000ac0: | | 864a mv a2,s2
-20000ac2: | | 2389 jal 20001004 <base_log_internal_dv>
-20000ac4: +--|-- a821 j 20000adc <_ottf_main+0x5e>
-20000ac6: | \-> 00002597 auipc a1,0x2
-20000aca: | 8ea58593 addi a1,a1,-1814 # 200023b0 <kPerfTests+0x298>
-20000ace: | 0028 addi a0,sp,8
-20000ad0: | 4651 li a2,20
-20000ad2: | 426010ef jal ra,20001ef8 <memcpy>
-20000ad6: | 0028 addi a0,sp,8
-20000ad8: | 85ca mv a1,s2
-20000ada: | 2161 jal 20000f62 <base_log_internal_core>
+20000aca: | 4088 lw a0,0(s1)
+20000acc: | 00442903 lw s2,4(s0)
+20000ad0: | /-- c909 beqz a0,20000ae2 <_ottf_main+0x48>
+20000ad2: | | e000f517 auipc a0,0xe000f
+20000ad6: | | 56a50513 addi a0,a0,1386 # 1003c <_ottf_main.kLogFields>
+20000ada: | | 4585 li a1,1
+20000adc: | | 864a mv a2,s2
+20000ade: | | 2389 jal 20001020 <base_log_internal_dv>
+20000ae0: +--|-- a821 j 20000af8 <_ottf_main+0x5e>
+20000ae2: | \-> 00002597 auipc a1,0x2
+20000ae6: | 94e58593 addi a1,a1,-1714 # 20002430 <kPerfTests+0x298>
+20000aea: | 0028 addi a0,sp,8
+20000aec: | 4651 li a2,20
+20000aee: | 392010ef jal ra,20001e80 <memcpy>
+20000af2: | 0028 addi a0,sp,8
+20000af4: | 85ca mv a1,s2
+20000af6: | 2161 jal 20000f7e <base_log_internal_core>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:84
}
// Run the test.
if (kOttfTestConfig.enable_concurrency) {
-20000adc: \----> 00044503 lbu a0,0(s0)
-20000ae0: /----- c11d beqz a0,20000b06 <_ottf_main+0x88>
+20000af8: \----> 00044503 lbu a0,0(s0)
+20000afc: /----- c11d beqz a0,20000b22 <_ottf_main+0x88>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:87
// Run `test_main()` in a FreeRTOS task, allowing other FreeRTOS tasks to
// be spawned, if requested in the main test task.
xTaskCreate(test_wrapper, "TestTask", configMINIMAL_STACK_SIZE, NULL,
-20000ae2: | 00000517 auipc a0,0x0
-20000ae6: | 12e50513 addi a0,a0,302 # 20000c10 <test_wrapper>
-20000aea: | 00001597 auipc a1,0x1
-20000aee: | 76e58593 addi a1,a1,1902 # 20002258 <kPerfTests+0x140>
-20000af2: | 10000613 li a2,256
-20000af6: | 4705 li a4,1
-20000af8: | 4681 li a3,0
-20000afa: | 4781 li a5,0
-20000afc: | 507000ef jal ra,20001802 <xTaskCreate>
+20000afe: | 00000517 auipc a0,0x0
+20000b02: | 12e50513 addi a0,a0,302 # 20000c2c <test_wrapper>
+20000b06: | 00001597 auipc a1,0x1
+20000b0a: | 7d258593 addi a1,a1,2002 # 200022d8 <kPerfTests+0x140>
+20000b0e: | 10000613 li a2,256
+20000b12: | 4705 li a4,1
+20000b14: | 4681 li a3,0
+20000b16: | 4781 li a5,0
+20000b18: | 509000ef jal ra,20001820 <xTaskCreate>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:89
tskIDLE_PRIORITY + 1, NULL);
vTaskStartScheduler();
-20000b00: | 72b000ef jal ra,20001a2a <vTaskStartScheduler>
-20000b04: | /-- a019 j 20000b0a <_ottf_main+0x8c>
+20000b1c: | 72d000ef jal ra,20001a48 <vTaskStartScheduler>
+20000b20: | /-- a019 j 20000b26 <_ottf_main+0x8c>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:92
} else {
// Otherwise, launch `test_main()` on bare-metal.
test_wrapper(NULL);
-20000b06: \--|-> 4501 li a0,0
-20000b08: | 2221 jal 20000c10 <test_wrapper>
+20000b22: \--|-> 4501 li a0,0
+20000b24: | 2221 jal 20000c2c <test_wrapper>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:96
}
// Unreachable.
CHECK(false);
-20000b0a: \-> 4088 lw a0,0(s1)
-20000b0c: /-- c901 beqz a0,20000b1c <_ottf_main+0x9e>
-20000b0e: | e000f517 auipc a0,0xe000f
-20000b12: | 54250513 addi a0,a0,1346 # 10050 <_ottf_main.kLogFields.3>
-20000b16: | 4581 li a1,0
-20000b18: | 21f5 jal 20001004 <base_log_internal_dv>
-20000b1a: /--|-- a819 j 20000b30 <_ottf_main+0xb2>
-20000b1c: | \-> 00002597 auipc a1,0x2
-20000b20: | 8a858593 addi a1,a1,-1880 # 200023c4 <kPerfTests+0x2ac>
-20000b24: | 0028 addi a0,sp,8
-20000b26: | 4651 li a2,20
-20000b28: | 3d0010ef jal ra,20001ef8 <memcpy>
-20000b2c: | 0028 addi a0,sp,8
-20000b2e: | 2915 jal 20000f62 <base_log_internal_core>
-20000b30: \----> 6531 lui a0,0xc
-20000b32: aad50513 addi a0,a0,-1363 # baad <_stack_size+0x9aad>
-20000b36: 269d jal 20000e9c <test_status_set>
+20000b26: \-> 4088 lw a0,0(s1)
+20000b28: /-- c901 beqz a0,20000b38 <_ottf_main+0x9e>
+20000b2a: | e000f517 auipc a0,0xe000f
+20000b2e: | 52650513 addi a0,a0,1318 # 10050 <_ottf_main.kLogFields.3>
+20000b32: | 4581 li a1,0
+20000b34: | 21f5 jal 20001020 <base_log_internal_dv>
+20000b36: /--|-- a819 j 20000b4c <_ottf_main+0xb2>
+20000b38: | \-> 00002597 auipc a1,0x2
+20000b3c: | 90c58593 addi a1,a1,-1780 # 20002444 <kPerfTests+0x2ac>
+20000b40: | 0028 addi a0,sp,8
+20000b42: | 4651 li a2,20
+20000b44: | 33c010ef jal ra,20001e80 <memcpy>
+20000b48: | 0028 addi a0,sp,8
+20000b4a: | 2915 jal 20000f7e <base_log_internal_core>
+20000b4c: \----> 6531 lui a0,0xc
+20000b4e: aad50513 addi a0,a0,-1363 # baad <_manifest_code_end+0x9a79>
+20000b52: 269d jal 20000eb8 <test_status_set>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:97
}
-20000b38: 5902 lw s2,32(sp)
-20000b3a: 5492 lw s1,36(sp)
-20000b3c: 5422 lw s0,40(sp)
-20000b3e: 50b2 lw ra,44(sp)
-20000b40: 6145 addi sp,sp,48
-20000b42: 8082 ret
+20000b54: 5902 lw s2,32(sp)
+20000b56: 5492 lw s1,36(sp)
+20000b58: 5422 lw s0,40(sp)
+20000b5a: 50b2 lw ra,44(sp)
+20000b5c: 6145 addi sp,sp,48
+20000b5e: 8082 ret
-20000b44 <init_uart>:
+20000b60 <init_uart>:
init_uart():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:37
static void init_uart(void) {
-20000b44: 1101 addi sp,sp,-32
+20000b60: 1101 addi sp,sp,-32
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:38
CHECK_DIF_OK(dif_uart_init(
-20000b46: ce06 sw ra,28(sp)
-20000b48: cc22 sw s0,24(sp)
-20000b4a: ca26 sw s1,20(sp)
-20000b4c: effff597 auipc a1,0xeffff
-20000b50: 53858593 addi a1,a1,1336 # 10000084 <uart0>
-20000b54: 40000537 lui a0,0x40000
-20000b58: 3c1000ef jal ra,20001718 <dif_uart_init>
-20000b5c: 00002497 auipc s1,0x2
-20000b60: f1848493 addi s1,s1,-232 # 20002a74 <kDeviceLogBypassUartAddress>
-20000b64: /-------- c91d beqz a0,20000b9a <init_uart+0x56>
-20000b66: | 842a mv s0,a0
-20000b68: | 4088 lw a0,0(s1)
-20000b6a: | /-- c909 beqz a0,20000b7c <init_uart+0x38>
-20000b6c: | | e000f517 auipc a0,0xe000f
-20000b70: | | 4f850513 addi a0,a0,1272 # 10064 <init_uart.kLogFields>
-20000b74: | | 4585 li a1,1
-20000b76: | | 8622 mv a2,s0
-20000b78: | | 2171 jal 20001004 <base_log_internal_dv>
-20000b7a: | /--|-- a821 j 20000b92 <init_uart+0x4e>
-20000b7c: | | \-> 00002597 auipc a1,0x2
-20000b80: | | 85c58593 addi a1,a1,-1956 # 200023d8 <kPerfTests+0x2c0>
-20000b84: | | 850a mv a0,sp
-20000b86: | | 4651 li a2,20
-20000b88: | | 370010ef jal ra,20001ef8 <memcpy>
-20000b8c: | | 850a mv a0,sp
-20000b8e: | | 85a2 mv a1,s0
-20000b90: | | 2ec9 jal 20000f62 <base_log_internal_core>
-20000b92: | \----> 6531 lui a0,0xc
-20000b94: | aad50513 addi a0,a0,-1363 # baad <_stack_size+0x9aad>
-20000b98: | 2611 jal 20000e9c <test_status_set>
+20000b62: ce06 sw ra,28(sp)
+20000b64: cc22 sw s0,24(sp)
+20000b66: ca26 sw s1,20(sp)
+20000b68: effff597 auipc a1,0xeffff
+20000b6c: 51c58593 addi a1,a1,1308 # 10000084 <uart0>
+20000b70: 40000537 lui a0,0x40000
+20000b74: 3c1000ef jal ra,20001734 <dif_uart_init>
+20000b78: 00002497 auipc s1,0x2
+20000b7c: f7c48493 addi s1,s1,-132 # 20002af4 <kDeviceLogBypassUartAddress>
+20000b80: /-------- c91d beqz a0,20000bb6 <init_uart+0x56>
+20000b82: | 842a mv s0,a0
+20000b84: | 4088 lw a0,0(s1)
+20000b86: | /-- c909 beqz a0,20000b98 <init_uart+0x38>
+20000b88: | | e000f517 auipc a0,0xe000f
+20000b8c: | | 4dc50513 addi a0,a0,1244 # 10064 <init_uart.kLogFields>
+20000b90: | | 4585 li a1,1
+20000b92: | | 8622 mv a2,s0
+20000b94: | | 2171 jal 20001020 <base_log_internal_dv>
+20000b96: | /--|-- a821 j 20000bae <init_uart+0x4e>
+20000b98: | | \-> 00002597 auipc a1,0x2
+20000b9c: | | 8c058593 addi a1,a1,-1856 # 20002458 <kPerfTests+0x2c0>
+20000ba0: | | 850a mv a0,sp
+20000ba2: | | 4651 li a2,20
+20000ba4: | | 2dc010ef jal ra,20001e80 <memcpy>
+20000ba8: | | 850a mv a0,sp
+20000baa: | | 85a2 mv a1,s0
+20000bac: | | 2ec9 jal 20000f7e <base_log_internal_core>
+20000bae: | \----> 6531 lui a0,0xc
+20000bb0: | aad50513 addi a0,a0,-1363 # baad <_manifest_code_end+0x9a79>
+20000bb4: | 2611 jal 20000eb8 <test_status_set>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:40
CHECK_DIF_OK(
-20000b9a: \-------> 00002517 auipc a0,0x2
-20000b9e: ece50513 addi a0,a0,-306 # 20002a68 <kUartBaudrate>
-20000ba2: 4108 lw a0,0(a0)
-20000ba4: 00002597 auipc a1,0x2
-20000ba8: ebc58593 addi a1,a1,-324 # 20002a60 <kClockFreqPeripheralHz>
-20000bac: 418c lw a1,0(a1)
-20000bae: c02a sw a0,0(sp)
-20000bb0: c22e sw a1,4(sp)
-20000bb2: c402 sw zero,8(sp)
-20000bb4: 4505 li a0,1
-20000bb6: c62a sw a0,12(sp)
-20000bb8: effff517 auipc a0,0xeffff
-20000bbc: 4cc50513 addi a0,a0,1228 # 10000084 <uart0>
-20000bc0: 858a mv a1,sp
-20000bc2: 365000ef jal ra,20001726 <dif_uart_configure>
-20000bc6: /-------- c91d beqz a0,20000bfc <init_uart+0xb8>
-20000bc8: | 842a mv s0,a0
-20000bca: | 4088 lw a0,0(s1)
-20000bcc: | /-- c909 beqz a0,20000bde <init_uart+0x9a>
-20000bce: | | e000f517 auipc a0,0xe000f
-20000bd2: | | 4aa50513 addi a0,a0,1194 # 10078 <init_uart.kLogFields.7>
-20000bd6: | | 4585 li a1,1
-20000bd8: | | 8622 mv a2,s0
-20000bda: | | 212d jal 20001004 <base_log_internal_dv>
-20000bdc: | /--|-- a821 j 20000bf4 <init_uart+0xb0>
-20000bde: | | \-> 00002597 auipc a1,0x2
-20000be2: | | 80e58593 addi a1,a1,-2034 # 200023ec <kPerfTests+0x2d4>
-20000be6: | | 850a mv a0,sp
-20000be8: | | 4651 li a2,20
-20000bea: | | 30e010ef jal ra,20001ef8 <memcpy>
-20000bee: | | 850a mv a0,sp
-20000bf0: | | 85a2 mv a1,s0
-20000bf2: | | 2e85 jal 20000f62 <base_log_internal_core>
-20000bf4: | \----> 6531 lui a0,0xc
-20000bf6: | aad50513 addi a0,a0,-1363 # baad <_stack_size+0x9aad>
-20000bfa: | 244d jal 20000e9c <test_status_set>
+20000bb6: \-------> 00002517 auipc a0,0x2
+20000bba: f3250513 addi a0,a0,-206 # 20002ae8 <kUartBaudrate>
+20000bbe: 4108 lw a0,0(a0)
+20000bc0: 00002597 auipc a1,0x2
+20000bc4: f2058593 addi a1,a1,-224 # 20002ae0 <kClockFreqPeripheralHz>
+20000bc8: 418c lw a1,0(a1)
+20000bca: c02a sw a0,0(sp)
+20000bcc: c22e sw a1,4(sp)
+20000bce: c402 sw zero,8(sp)
+20000bd0: 4505 li a0,1
+20000bd2: c62a sw a0,12(sp)
+20000bd4: effff517 auipc a0,0xeffff
+20000bd8: 4b050513 addi a0,a0,1200 # 10000084 <uart0>
+20000bdc: 858a mv a1,sp
+20000bde: 365000ef jal ra,20001742 <dif_uart_configure>
+20000be2: /-------- c91d beqz a0,20000c18 <init_uart+0xb8>
+20000be4: | 842a mv s0,a0
+20000be6: | 4088 lw a0,0(s1)
+20000be8: | /-- c909 beqz a0,20000bfa <init_uart+0x9a>
+20000bea: | | e000f517 auipc a0,0xe000f
+20000bee: | | 48e50513 addi a0,a0,1166 # 10078 <init_uart.kLogFields.7>
+20000bf2: | | 4585 li a1,1
+20000bf4: | | 8622 mv a2,s0
+20000bf6: | | 212d jal 20001020 <base_log_internal_dv>
+20000bf8: | /--|-- a821 j 20000c10 <init_uart+0xb0>
+20000bfa: | | \-> 00002597 auipc a1,0x2
+20000bfe: | | 87258593 addi a1,a1,-1934 # 2000246c <kPerfTests+0x2d4>
+20000c02: | | 850a mv a0,sp
+20000c04: | | 4651 li a2,20
+20000c06: | | 27a010ef jal ra,20001e80 <memcpy>
+20000c0a: | | 850a mv a0,sp
+20000c0c: | | 85a2 mv a1,s0
+20000c0e: | | 2e85 jal 20000f7e <base_log_internal_core>
+20000c10: | \----> 6531 lui a0,0xc
+20000c12: | aad50513 addi a0,a0,-1363 # baad <_manifest_code_end+0x9a79>
+20000c16: | 244d jal 20000eb8 <test_status_set>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:47
base_uart_stdout(&uart0);
-20000bfc: \-------> effff517 auipc a0,0xeffff
-20000c00: 48850513 addi a0,a0,1160 # 10000084 <uart0>
-20000c04: 2925 jal 2000103c <base_uart_stdout>
+20000c18: \-------> effff517 auipc a0,0xeffff
+20000c1c: 46c50513 addi a0,a0,1132 # 10000084 <uart0>
+20000c20: 2925 jal 20001058 <base_uart_stdout>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:48
}
-20000c06: 44d2 lw s1,20(sp)
-20000c08: 4462 lw s0,24(sp)
-20000c0a: 40f2 lw ra,28(sp)
-20000c0c: 6105 addi sp,sp,32
-20000c0e: 8082 ret
+20000c22: 44d2 lw s1,20(sp)
+20000c24: 4462 lw s0,24(sp)
+20000c26: 40f2 lw ra,28(sp)
+20000c28: 6105 addi sp,sp,32
+20000c2a: 8082 ret
-20000c10 <test_wrapper>:
+20000c2c <test_wrapper>:
test_wrapper():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:66
static void test_wrapper(void *task_parameters) {
-20000c10: 1101 addi sp,sp,-32
-20000c12: ce06 sw ra,28(sp)
-20000c14: cc22 sw s0,24(sp)
-20000c16: ca26 sw s1,20(sp)
-20000c18: 6531 lui a0,0xc
-20000c1a: aad50413 addi s0,a0,-1363 # baad <_stack_size+0x9aad>
+20000c2c: 1101 addi sp,sp,-32
+20000c2e: ce06 sw ra,28(sp)
+20000c30: cc22 sw s0,24(sp)
+20000c32: ca26 sw s1,20(sp)
+20000c34: 6531 lui a0,0xc
+20000c36: aad50413 addi s0,a0,-1363 # baad <_manifest_code_end+0x9a79>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:68
bool result = manufacturer_pre_test_hook();
-20000c1e: 222010ef jal ra,20001e40 <manufacturer_pre_test_hook>
+20000c3a: 224010ef jal ra,20001e5e <manufacturer_pre_test_hook>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:69
result = result && test_main();
-20000c22: /----- cd09 beqz a0,20000c3c <test_wrapper+0x2c>
-20000c24: | 3901 jal 20000834 <test_main>
+20000c3e: /----- cd09 beqz a0,20000c58 <test_wrapper+0x2c>
+20000c40: | 3901 jal 20000850 <test_main>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:70
result = result && manufacturer_post_test_hook();
-20000c26: +----- c919 beqz a0,20000c3c <test_wrapper+0x2c>
-20000c28: | 21c010ef jal ra,20001e44 <manufacturer_post_test_hook>
-20000c2c: | /-- e509 bnez a0,20000c36 <test_wrapper+0x26>
-20000c2e: | | 6531 lui a0,0xc
-20000c30: | | aad50413 addi s0,a0,-1363 # baad <_stack_size+0x9aad>
-20000c34: +--|-- a021 j 20000c3c <test_wrapper+0x2c>
-20000c36: | \-> 6525 lui a0,0x9
-20000c38: | 00d50413 addi s0,a0,13 # 900d <_stack_size+0x700d>
+20000c42: +----- c919 beqz a0,20000c58 <test_wrapper+0x2c>
+20000c44: | 21e010ef jal ra,20001e62 <manufacturer_post_test_hook>
+20000c48: | /-- e509 bnez a0,20000c52 <test_wrapper+0x26>
+20000c4a: | | 6531 lui a0,0xc
+20000c4c: | | aad50413 addi s0,a0,-1363 # baad <_manifest_code_end+0x9a79>
+20000c50: +--|-- a021 j 20000c58 <test_wrapper+0x2c>
+20000c52: | \-> 6525 lui a0,0x9
+20000c54: | 00d50413 addi s0,a0,13 # 900d <_manifest_code_end+0x6fd9>
report_test_status():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:52
if (kDeviceType != kDeviceSimDV) {
-20000c3c: \----> 00002517 auipc a0,0x2
-20000c40: e1c50513 addi a0,a0,-484 # 20002a58 <kDeviceType>
-20000c44: 4108 lw a0,0(a0)
-20000c46: /-------- c521 beqz a0,20000c8e <test_wrapper+0x7e>
-20000c48: | 00001497 auipc s1,0x1
-20000c4c: | 4c848493 addi s1,s1,1224 # 20002110 <kOttfTestConfig>
+20000c58: \----> 00002517 auipc a0,0x2
+20000c5c: e8050513 addi a0,a0,-384 # 20002ad8 <kDeviceType>
+20000c60: 4108 lw a0,0(a0)
+20000c62: /-------- c521 beqz a0,20000caa <test_wrapper+0x7e>
+20000c64: | 00001497 auipc s1,0x1
+20000c68: | 52c48493 addi s1,s1,1324 # 20002190 <kOttfTestConfig>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:53
if (kOttfTestConfig.can_clobber_uart) {
-20000c50: | 0014c503 lbu a0,1(s1)
-20000c54: | /-- c111 beqz a0,20000c58 <test_wrapper+0x48>
+20000c6c: | 0014c503 lbu a0,1(s1)
+20000c70: | /-- c111 beqz a0,20000c74 <test_wrapper+0x48>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:54
init_uart();
-20000c56: | | 35fd jal 20000b44 <init_uart>
+20000c72: | | 35fd jal 20000b60 <init_uart>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:56
LOG_INFO("Finished %s", kOttfTestConfig.file);
-20000c58: | \-> 00002517 auipc a0,0x2
-20000c5c: | e1c50513 addi a0,a0,-484 # 20002a74 <kDeviceLogBypassUartAddress>
-20000c60: | 4108 lw a0,0(a0)
-20000c62: | 40c4 lw s1,4(s1)
-20000c64: | /-- c909 beqz a0,20000c76 <test_wrapper+0x66>
-20000c66: | | e000f517 auipc a0,0xe000f
-20000c6a: | | 42650513 addi a0,a0,1062 # 1008c <report_test_status.kLogFields>
-20000c6e: | | 4585 li a1,1
-20000c70: | | 8626 mv a2,s1
-20000c72: | | 2e49 jal 20001004 <base_log_internal_dv>
-20000c74: | /--|-- a821 j 20000c8c <test_wrapper+0x7c>
-20000c76: | | \-> 00001597 auipc a1,0x1
-20000c7a: | | 78a58593 addi a1,a1,1930 # 20002400 <kPerfTests+0x2e8>
-20000c7e: | | 850a mv a0,sp
-20000c80: | | 4651 li a2,20
-20000c82: | | 276010ef jal ra,20001ef8 <memcpy>
-20000c86: | | 850a mv a0,sp
-20000c88: | | 85a6 mv a1,s1
-20000c8a: | | 2ce1 jal 20000f62 <base_log_internal_core>
+20000c74: | \-> 00002517 auipc a0,0x2
+20000c78: | e8050513 addi a0,a0,-384 # 20002af4 <kDeviceLogBypassUartAddress>
+20000c7c: | 4108 lw a0,0(a0)
+20000c7e: | 40c4 lw s1,4(s1)
+20000c80: | /-- c909 beqz a0,20000c92 <test_wrapper+0x66>
+20000c82: | | e000f517 auipc a0,0xe000f
+20000c86: | | 40a50513 addi a0,a0,1034 # 1008c <report_test_status.kLogFields>
+20000c8a: | | 4585 li a1,1
+20000c8c: | | 8626 mv a2,s1
+20000c8e: | | 2e49 jal 20001020 <base_log_internal_dv>
+20000c90: | /--|-- a821 j 20000ca8 <test_wrapper+0x7c>
+20000c92: | | \-> 00001597 auipc a1,0x1
+20000c96: | | 7ee58593 addi a1,a1,2030 # 20002480 <kPerfTests+0x2e8>
+20000c9a: | | 850a mv a0,sp
+20000c9c: | | 4651 li a2,20
+20000c9e: | | 1e2010ef jal ra,20001e80 <memcpy>
+20000ca2: | | 850a mv a0,sp
+20000ca4: | | 85a6 mv a1,s1
+20000ca6: | | 2ce1 jal 20000f7e <base_log_internal_core>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:57
test_coverage_send_buffer();
-20000c8c: | \----> 2801 jal 20000c9c <test_coverage_send_buffer>
+20000ca8: | \----> 2801 jal 20000cb8 <test_coverage_send_buffer>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:60
test_status_set(result ? kTestStatusPassed : kTestStatusFailed);
-20000c8e: \-------> 8522 mv a0,s0
-20000c90: 2431 jal 20000e9c <test_status_set>
+20000caa: \-------> 8522 mv a0,s0
+20000cac: 2431 jal 20000eb8 <test_status_set>
test_wrapper():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:72
}
-20000c92: 44d2 lw s1,20(sp)
-20000c94: 4462 lw s0,24(sp)
-20000c96: 40f2 lw ra,28(sp)
-20000c98: 6105 addi sp,sp,32
-20000c9a: 8082 ret
+20000cae: 44d2 lw s1,20(sp)
+20000cb0: 4462 lw s0,24(sp)
+20000cb2: 40f2 lw ra,28(sp)
+20000cb4: 6105 addi sp,sp,32
+20000cb6: 8082 ret
-20000c9c <test_coverage_send_buffer>:
+20000cb8 <test_coverage_send_buffer>:
test_coverage_send_buffer():
/proc/self/cwd/sw/device/lib/testing/test_framework/coverage_none.c:9
@@ -2005,9 +2005,9 @@
// This NOP function gets linked in when coverage is disabled. See
// `test_coverage_llvm.c` for its actual definition when coverage is enabled.
void test_coverage_send_buffer(void) {}
-20000c9c: 8082 ret
+20000cb8: 8082 ret
-20000c9e <vApplicationMallocFailedHook>:
+20000cba <vApplicationMallocFailedHook>:
vApplicationMallocFailedHook():
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_hooks.c:18
@@ -2016,35 +2016,35 @@
* FreeRTOSConfig.h, and a call to pvPortMalloc() fails.
*/
void vApplicationMallocFailedHook(void) {
-20000c9e: 1101 addi sp,sp,-32
+20000cba: 1101 addi sp,sp,-32
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_hooks.c:19
LOG_INFO("FreeRTOS malloc failed. Increase heap size in FreeRTOSConfig.h");
-20000ca0: ce06 sw ra,28(sp)
-20000ca2: 00002517 auipc a0,0x2
-20000ca6: dd250513 addi a0,a0,-558 # 20002a74 <kDeviceLogBypassUartAddress>
-20000caa: 4108 lw a0,0(a0)
-20000cac: /----- ed01 bnez a0,20000cc4 <vApplicationMallocFailedHook+0x26>
-20000cae: | 00002597 auipc a1,0x2
-20000cb2: | 81658593 addi a1,a1,-2026 # 200024c4 <kPerfTests+0x3ac>
-20000cb6: | 0028 addi a0,sp,8
-20000cb8: | 4651 li a2,20
-20000cba: | 23e010ef jal ra,20001ef8 <memcpy>
-20000cbe: | 0028 addi a0,sp,8
-20000cc0: | 244d jal 20000f62 <base_log_internal_core>
-20000cc2: | /-- a039 j 20000cd0 <vApplicationMallocFailedHook+0x32>
-20000cc4: \--|-> e000f517 auipc a0,0xe000f
-20000cc8: | 3dc50513 addi a0,a0,988 # 100a0 <vApplicationMallocFailedHook.kLogFields>
-20000ccc: | 4581 li a1,0
-20000cce: | 2e1d jal 20001004 <base_log_internal_dv>
+20000cbc: ce06 sw ra,28(sp)
+20000cbe: 00002517 auipc a0,0x2
+20000cc2: e3650513 addi a0,a0,-458 # 20002af4 <kDeviceLogBypassUartAddress>
+20000cc6: 4108 lw a0,0(a0)
+20000cc8: /----- ed01 bnez a0,20000ce0 <vApplicationMallocFailedHook+0x26>
+20000cca: | 00002597 auipc a1,0x2
+20000cce: | 87a58593 addi a1,a1,-1926 # 20002544 <kPerfTests+0x3ac>
+20000cd2: | 0028 addi a0,sp,8
+20000cd4: | 4651 li a2,20
+20000cd6: | 1aa010ef jal ra,20001e80 <memcpy>
+20000cda: | 0028 addi a0,sp,8
+20000cdc: | 244d jal 20000f7e <base_log_internal_core>
+20000cde: | /-- a039 j 20000cec <vApplicationMallocFailedHook+0x32>
+20000ce0: \--|-> e000f517 auipc a0,0xe000f
+20000ce4: | 3c050513 addi a0,a0,960 # 100a0 <vApplicationMallocFailedHook.kLogFields>
+20000ce8: | 4581 li a1,0
+20000cea: | 2e1d jal 20001020 <base_log_internal_dv>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_hooks.c:20
irq_global_ctrl(false);
-20000cd0: \-> 4501 li a0,0
-20000cd2: 2005 jal 20000cf2 <irq_global_ctrl>
+20000cec: \-> 4501 li a0,0
+20000cee: 2005 jal 20000d0e <irq_global_ctrl>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_hooks.c:21
abort();
-20000cd4: 2c9d jal 20000f4a <abort>
+20000cf0: 2c9d jal 20000f66 <abort>
-20000cd6 <xPortStartScheduler>:
+20000cf2 <xPortStartScheduler>:
xPortStartScheduler():
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:93
// ----------------------------------------------------------------------------
@@ -2053,39 +2053,39 @@
extern void xPortStartFirstTask(void);
BaseType_t xPortStartScheduler(void) {
-20000cd6: 1141 addi sp,sp,-16
+20000cf2: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:97
#if configUSE_PREEMPTION
vPortSetupTimerInterrupt();
#endif // configUSE_PREEMPTION
irq_timer_ctrl(true);
-20000cd8: c606 sw ra,12(sp)
-20000cda: 4505 li a0,1
-20000cdc: 2089 jal 20000d1e <irq_timer_ctrl>
+20000cf4: c606 sw ra,12(sp)
+20000cf6: 4505 li a0,1
+20000cf8: 2089 jal 20000d3a <irq_timer_ctrl>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:98
irq_external_ctrl(true);
-20000cde: 4505 li a0,1
-20000ce0: 2015 jal 20000d04 <irq_external_ctrl>
+20000cfa: 4505 li a0,1
+20000cfc: 2015 jal 20000d20 <irq_external_ctrl>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:99
irq_software_ctrl(true);
-20000ce2: 4505 li a0,1
-20000ce4: 2881 jal 20000d34 <irq_software_ctrl>
+20000cfe: 4505 li a0,1
+20000d00: 2881 jal 20000d50 <irq_software_ctrl>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:103
// Note: no need to call 'irq_global_ctrl(true)' since the global interrupt
// enable is set in the xPortStartFirstTask sub-routine in
// sw/device/lib/testing/test_framework/freertos_port.S.
xPortStartFirstTask();
-20000ce6: 85fff0ef jal ra,20000544 <xPortStartFirstTask>
+20000d02: 85fff0ef jal ra,20000560 <xPortStartFirstTask>
/proc/self/cwd/sw/device/lib/testing/test_framework/freertos_port.c:106
// Unreachable.
return pdFAIL;
-20000cea: 4501 li a0,0
-20000cec: 40b2 lw ra,12(sp)
-20000cee: 0141 addi sp,sp,16
-20000cf0: 8082 ret
+20000d06: 4501 li a0,0
+20000d08: 40b2 lw ra,12(sp)
+20000d0a: 0141 addi sp,sp,16
+20000d0c: 8082 ret
-20000cf2 <irq_global_ctrl>:
+20000d0e <irq_global_ctrl>:
irq_global_ctrl():
/proc/self/cwd/sw/device/lib/irq.c:18
void irq_set_vector_offset(uintptr_t address) {
@@ -2094,106 +2094,106 @@
void irq_global_ctrl(bool en) {
if (en) {
-20000cf2: /-- c509 beqz a0,20000cfc <irq_global_ctrl+0xa>
-20000cf4: | 4521 li a0,8
+20000d0e: /-- c509 beqz a0,20000d18 <irq_global_ctrl+0xa>
+20000d10: | 4521 li a0,8
/proc/self/cwd/sw/device/lib/irq.c:19
CSR_SET_BITS(CSR_REG_MSTATUS, 0x8);
-20000cf6: | 30052073 csrs mstatus,a0
+20000d12: | 30052073 csrs mstatus,a0
/proc/self/cwd/sw/device/lib/irq.c:23
} else {
CSR_CLEAR_BITS(CSR_REG_MSTATUS, 0x8);
}
}
-20000cfa: | 8082 ret
-20000cfc: \-> 4521 li a0,8
+20000d16: | 8082 ret
+20000d18: \-> 4521 li a0,8
/proc/self/cwd/sw/device/lib/irq.c:21
CSR_CLEAR_BITS(CSR_REG_MSTATUS, 0x8);
-20000cfe: 30053073 csrc mstatus,a0
+20000d1a: 30053073 csrc mstatus,a0
/proc/self/cwd/sw/device/lib/irq.c:23
}
-20000d02: 8082 ret
+20000d1e: 8082 ret
-20000d04 <irq_external_ctrl>:
+20000d20 <irq_external_ctrl>:
irq_external_ctrl():
/proc/self/cwd/sw/device/lib/irq.c:27
void irq_external_ctrl(bool en) {
const uint32_t mask = 1 << IRQ_EXT_ENABLE_OFFSET;
if (en) {
-20000d04: /-- c519 beqz a0,20000d12 <irq_external_ctrl+0xe>
-20000d06: | 6505 lui a0,0x1
-20000d08: | 80050513 addi a0,a0,-2048 # 800 <_manifest_entry_point+0x380>
+20000d20: /-- c519 beqz a0,20000d2e <irq_external_ctrl+0xe>
+20000d22: | 6505 lui a0,0x1
+20000d24: | 80050513 addi a0,a0,-2048 # 800 <_manifest_entry_point+0x380>
/proc/self/cwd/sw/device/lib/irq.c:28
CSR_SET_BITS(CSR_REG_MIE, mask);
-20000d0c: | 30452073 csrs mie,a0
+20000d28: | 30452073 csrs mie,a0
/proc/self/cwd/sw/device/lib/irq.c:32
} else {
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
}
}
-20000d10: | 8082 ret
-20000d12: \-> 6505 lui a0,0x1
-20000d14: 80050513 addi a0,a0,-2048 # 800 <_manifest_entry_point+0x380>
+20000d2c: | 8082 ret
+20000d2e: \-> 6505 lui a0,0x1
+20000d30: 80050513 addi a0,a0,-2048 # 800 <_manifest_entry_point+0x380>
/proc/self/cwd/sw/device/lib/irq.c:30
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
-20000d18: 30453073 csrc mie,a0
+20000d34: 30453073 csrc mie,a0
/proc/self/cwd/sw/device/lib/irq.c:32
}
-20000d1c: 8082 ret
+20000d38: 8082 ret
-20000d1e <irq_timer_ctrl>:
+20000d3a <irq_timer_ctrl>:
irq_timer_ctrl():
/proc/self/cwd/sw/device/lib/irq.c:36
void irq_timer_ctrl(bool en) {
const uint32_t mask = 1 << IRQ_TIMER_ENABLE_OFFSET;
if (en) {
-20000d1e: /-- c511 beqz a0,20000d2a <irq_timer_ctrl+0xc>
-20000d20: | 08000513 li a0,128
+20000d3a: /-- c511 beqz a0,20000d46 <irq_timer_ctrl+0xc>
+20000d3c: | 08000513 li a0,128
/proc/self/cwd/sw/device/lib/irq.c:37
CSR_SET_BITS(CSR_REG_MIE, mask);
-20000d24: | 30452073 csrs mie,a0
+20000d40: | 30452073 csrs mie,a0
/proc/self/cwd/sw/device/lib/irq.c:41
} else {
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
}
}
-20000d28: | 8082 ret
-20000d2a: \-> 08000513 li a0,128
+20000d44: | 8082 ret
+20000d46: \-> 08000513 li a0,128
/proc/self/cwd/sw/device/lib/irq.c:39
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
-20000d2e: 30453073 csrc mie,a0
+20000d4a: 30453073 csrc mie,a0
/proc/self/cwd/sw/device/lib/irq.c:41
}
-20000d32: 8082 ret
+20000d4e: 8082 ret
-20000d34 <irq_software_ctrl>:
+20000d50 <irq_software_ctrl>:
irq_software_ctrl():
/proc/self/cwd/sw/device/lib/irq.c:45
void irq_software_ctrl(bool en) {
const uint32_t mask = 1 << IRQ_SW_ENABLE_OFFSET;
if (en) {
-20000d34: /-- c509 beqz a0,20000d3e <irq_software_ctrl+0xa>
-20000d36: | 4521 li a0,8
+20000d50: /-- c509 beqz a0,20000d5a <irq_software_ctrl+0xa>
+20000d52: | 4521 li a0,8
/proc/self/cwd/sw/device/lib/irq.c:46
CSR_SET_BITS(CSR_REG_MIE, mask);
-20000d38: | 30452073 csrs mie,a0
+20000d54: | 30452073 csrs mie,a0
/proc/self/cwd/sw/device/lib/irq.c:50
} else {
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
}
}
-20000d3c: | 8082 ret
-20000d3e: \-> 4521 li a0,8
+20000d58: | 8082 ret
+20000d5a: \-> 4521 li a0,8
/proc/self/cwd/sw/device/lib/irq.c:48
CSR_CLEAR_BITS(CSR_REG_MIE, mask);
-20000d40: 30453073 csrc mie,a0
+20000d5c: 30453073 csrc mie,a0
/proc/self/cwd/sw/device/lib/irq.c:50
}
-20000d44: 8082 ret
+20000d60: 8082 ret
-20000d46 <ottf_exception_handler>:
+20000d62 <ottf_exception_handler>:
ottf_exception_handler():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:73
*/
@@ -2202,53 +2202,53 @@
OT_WEAK
void ottf_exception_handler(void) {
-20000d46: 1141 addi sp,sp,-16
+20000d62: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:74
uint32_t mcause = ibex_mcause_read();
-20000d48: c606 sw ra,12(sp)
-20000d4a: 2419 jal 20000f50 <ibex_mcause_read>
+20000d64: c606 sw ra,12(sp)
+20000d66: 2419 jal 20000f6c <ibex_mcause_read>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:76
switch ((ottf_exc_id_t)(mcause & kIdMax)) {
-20000d4c: 897d andi a0,a0,31
-20000d4e: 45ad li a1,11
-20000d50: /-- 02a5ef63 bltu a1,a0,20000d8e <ottf_exception_handler+0x48>
-20000d54: | 050a slli a0,a0,0x2
-20000d56: | 00001597 auipc a1,0x1
-20000d5a: | 78258593 addi a1,a1,1922 # 200024d8 <kPerfTests+0x3c0>
-20000d5e: | 952e add a0,a0,a1
-20000d60: | 4108 lw a0,0(a0)
-20000d62: | 8502 jr a0
-20000d64: | 40b2 lw ra,12(sp)
-20000d66: | 0141 addi sp,sp,16
-20000d68: | a025 j 20000d90 <ottf_breakpoint_handler>
+20000d68: 897d andi a0,a0,31
+20000d6a: 45ad li a1,11
+20000d6c: /-- 02a5ef63 bltu a1,a0,20000daa <ottf_exception_handler+0x48>
+20000d70: | 050a slli a0,a0,0x2
+20000d72: | 00001597 auipc a1,0x1
+20000d76: | 7e658593 addi a1,a1,2022 # 20002558 <kPerfTests+0x3c0>
+20000d7a: | 952e add a0,a0,a1
+20000d7c: | 4108 lw a0,0(a0)
+20000d7e: | 8502 jr a0
+20000d80: | 40b2 lw ra,12(sp)
+20000d82: | 0141 addi sp,sp,16
+20000d84: | a025 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:78
case kInstrMisaligned:
ottf_instr_misaligned_fault_handler();
-20000d6a: | 40b2 lw ra,12(sp)
-20000d6c: | 0141 addi sp,sp,16
-20000d6e: | a00d j 20000d90 <ottf_breakpoint_handler>
+20000d86: | 40b2 lw ra,12(sp)
+20000d88: | 0141 addi sp,sp,16
+20000d8a: | a00d j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:81
break;
case kInstrAccessFault:
ottf_instr_access_fault_handler();
-20000d70: | 40b2 lw ra,12(sp)
-20000d72: | 0141 addi sp,sp,16
-20000d74: | a831 j 20000d90 <ottf_breakpoint_handler>
+20000d8c: | 40b2 lw ra,12(sp)
+20000d8e: | 0141 addi sp,sp,16
+20000d90: | a831 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:84
break;
case kIllegalInstrFault:
ottf_illegal_instr_fault_handler();
-20000d76: | 40b2 lw ra,12(sp)
-20000d78: | 0141 addi sp,sp,16
-20000d7a: | a819 j 20000d90 <ottf_breakpoint_handler>
+20000d92: | 40b2 lw ra,12(sp)
+20000d94: | 0141 addi sp,sp,16
+20000d96: | a819 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:87
break;
case kBreakpoint:
ottf_breakpoint_handler();
-20000d7c: | 40b2 lw ra,12(sp)
-20000d7e: | 0141 addi sp,sp,16
-20000d80: | a801 j 20000d90 <ottf_breakpoint_handler>
+20000d98: | 40b2 lw ra,12(sp)
+20000d9a: | 0141 addi sp,sp,16
+20000d9c: | a801 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:99
break;
case kMachineECall:
@@ -2256,44 +2256,44 @@
break;
case kUserECall:
ottf_user_ecall_handler();
-20000d82: | 40b2 lw ra,12(sp)
-20000d84: | 0141 addi sp,sp,16
-20000d86: | a029 j 20000d90 <ottf_breakpoint_handler>
+20000d9e: | 40b2 lw ra,12(sp)
+20000da0: | 0141 addi sp,sp,16
+20000da2: | a029 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:96
ottf_machine_ecall_handler();
-20000d88: | 40b2 lw ra,12(sp)
-20000d8a: | 0141 addi sp,sp,16
-20000d8c: | a011 j 20000d90 <ottf_breakpoint_handler>
+20000da4: | 40b2 lw ra,12(sp)
+20000da6: | 0141 addi sp,sp,16
+20000da8: | a011 j 20000dac <ottf_breakpoint_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:102
break;
default:
generic_fault_handler();
-20000d8e: \-> 2009 jal 20000d90 <ottf_breakpoint_handler>
+20000daa: \-> 2009 jal 20000dac <ottf_breakpoint_handler>
-20000d90 <ottf_breakpoint_handler>:
+20000dac <ottf_breakpoint_handler>:
generic_fault_handler():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:57
static void generic_fault_handler(void) {
-20000d90: 1141 addi sp,sp,-16
+20000dac: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:58
uint32_t mcause = ibex_mcause_read();
-20000d92: c606 sw ra,12(sp)
-20000d94: 2a75 jal 20000f50 <ibex_mcause_read>
-20000d96: 85aa mv a1,a0
+20000dae: c606 sw ra,12(sp)
+20000db0: 2a75 jal 20000f6c <ibex_mcause_read>
+20000db2: 85aa mv a1,a0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:59
generic_fault_print(exception_reason[mcause & kIdMax], mcause);
-20000d98: 897d andi a0,a0,31
-20000d9a: 050a slli a0,a0,0x2
-20000d9c: 00002617 auipc a2,0x2
-20000da0: 90460613 addi a2,a2,-1788 # 200026a0 <exception_reason>
-20000da4: 9532 add a0,a0,a2
-20000da6: 4108 lw a0,0(a0)
-20000da8: 2821 jal 20000dc0 <generic_fault_print>
+20000db4: 897d andi a0,a0,31
+20000db6: 050a slli a0,a0,0x2
+20000db8: 00002617 auipc a2,0x2
+20000dbc: 96860613 addi a2,a2,-1688 # 20002720 <exception_reason>
+20000dc0: 9532 add a0,a0,a2
+20000dc2: 4108 lw a0,0(a0)
+20000dc4: 2821 jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:60
abort();
-20000daa: 2245 jal 20000f4a <abort>
+20000dc6: 2245 jal 20000f66 <abort>
-20000dac <ottf_software_isr>:
+20000dc8 <ottf_software_isr>:
ottf_software_isr():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:135
OT_WEAK
@@ -2302,144 +2302,144 @@
OT_WEAK
void ottf_software_isr(void) {
-20000dac: 1141 addi sp,sp,-16
+20000dc8: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:136
generic_fault_print("Software IRQ", ibex_mcause_read());
-20000dae: c606 sw ra,12(sp)
-20000db0: 2245 jal 20000f50 <ibex_mcause_read>
-20000db2: 85aa mv a1,a0
-20000db4: 00001517 auipc a0,0x1
-20000db8: 75450513 addi a0,a0,1876 # 20002508 <kPerfTests+0x3f0>
-20000dbc: 2011 jal 20000dc0 <generic_fault_print>
+20000dca: c606 sw ra,12(sp)
+20000dcc: 2245 jal 20000f6c <ibex_mcause_read>
+20000dce: 85aa mv a1,a0
+20000dd0: 00001517 auipc a0,0x1
+20000dd4: 7b850513 addi a0,a0,1976 # 20002588 <kPerfTests+0x3f0>
+20000dd8: 2011 jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:137
abort();
-20000dbe: 2271 jal 20000f4a <abort>
+20000dda: 2271 jal 20000f66 <abort>
-20000dc0 <generic_fault_print>:
+20000ddc <generic_fault_print>:
generic_fault_print():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:50
static void generic_fault_print(const char *reason, uint32_t mcause) {
-20000dc0: 7179 addi sp,sp,-48
-20000dc2: d606 sw ra,44(sp)
-20000dc4: d422 sw s0,40(sp)
-20000dc6: d226 sw s1,36(sp)
-20000dc8: d04a sw s2,32(sp)
-20000dca: ce4e sw s3,28(sp)
-20000dcc: 892e mv s2,a1
-20000dce: 89aa mv s3,a0
+20000ddc: 7179 addi sp,sp,-48
+20000dde: d606 sw ra,44(sp)
+20000de0: d422 sw s0,40(sp)
+20000de2: d226 sw s1,36(sp)
+20000de4: d04a sw s2,32(sp)
+20000de6: ce4e sw s3,28(sp)
+20000de8: 892e mv s2,a1
+20000dea: 89aa mv s3,a0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:51
uint32_t mepc = ibex_mepc_read();
-20000dd0: 2271 jal 20000f5c <ibex_mepc_read>
-20000dd2: 84aa mv s1,a0
+20000dec: 2271 jal 20000f78 <ibex_mepc_read>
+20000dee: 84aa mv s1,a0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:52
uint32_t mtval = ibex_mtval_read();
-20000dd4: 2249 jal 20000f56 <ibex_mtval_read>
+20000df0: 2249 jal 20000f72 <ibex_mtval_read>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:53
LOG_ERROR("FAULT: %s. MCAUSE=%08x MEPC=%08x MTVAL=%08x", reason, mcause, mepc,
-20000dd6: 00002597 auipc a1,0x2
-20000dda: c9e58593 addi a1,a1,-866 # 20002a74 <kDeviceLogBypassUartAddress>
-20000dde: 418c lw a1,0(a1)
+20000df2: 00002597 auipc a1,0x2
+20000df6: d0258593 addi a1,a1,-766 # 20002af4 <kDeviceLogBypassUartAddress>
+20000dfa: 418c lw a1,0(a1)
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:52
uint32_t mtval = ibex_mtval_read();
-20000de0: 842a mv s0,a0
+20000dfc: 842a mv s0,a0
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:53
LOG_ERROR("FAULT: %s. MCAUSE=%08x MEPC=%08x MTVAL=%08x", reason, mcause, mepc,
-20000de2: /-- c18d beqz a1,20000e04 <generic_fault_print+0x44>
-20000de4: | e000f517 auipc a0,0xe000f
-20000de8: | 2e450513 addi a0,a0,740 # 100c8 <generic_fault_print.kLogFields>
-20000dec: | 4591 li a1,4
-20000dee: | 864e mv a2,s3
-20000df0: | 86ca mv a3,s2
-20000df2: | 8726 mv a4,s1
-20000df4: | 87a2 mv a5,s0
-20000df6: | 49f2 lw s3,28(sp)
-20000df8: | 5902 lw s2,32(sp)
-20000dfa: | 5492 lw s1,36(sp)
-20000dfc: | 5422 lw s0,40(sp)
-20000dfe: | 50b2 lw ra,44(sp)
-20000e00: | 6145 addi sp,sp,48
-20000e02: | a409 j 20001004 <base_log_internal_dv>
-20000e04: \-> 00002597 auipc a1,0x2
-20000e08: 91c58593 addi a1,a1,-1764 # 20002720 <exception_reason+0x80>
-20000e0c: 0028 addi a0,sp,8
-20000e0e: 4651 li a2,20
-20000e10: 0e8010ef jal ra,20001ef8 <memcpy>
-20000e14: 0028 addi a0,sp,8
-20000e16: 85ce mv a1,s3
-20000e18: 864a mv a2,s2
-20000e1a: 86a6 mv a3,s1
-20000e1c: 8722 mv a4,s0
-20000e1e: 2291 jal 20000f62 <base_log_internal_core>
+20000dfe: /-- c18d beqz a1,20000e20 <generic_fault_print+0x44>
+20000e00: | e000f517 auipc a0,0xe000f
+20000e04: | 2c850513 addi a0,a0,712 # 100c8 <generic_fault_print.kLogFields>
+20000e08: | 4591 li a1,4
+20000e0a: | 864e mv a2,s3
+20000e0c: | 86ca mv a3,s2
+20000e0e: | 8726 mv a4,s1
+20000e10: | 87a2 mv a5,s0
+20000e12: | 49f2 lw s3,28(sp)
+20000e14: | 5902 lw s2,32(sp)
+20000e16: | 5492 lw s1,36(sp)
+20000e18: | 5422 lw s0,40(sp)
+20000e1a: | 50b2 lw ra,44(sp)
+20000e1c: | 6145 addi sp,sp,48
+20000e1e: | a409 j 20001020 <base_log_internal_dv>
+20000e20: \-> 00002597 auipc a1,0x2
+20000e24: 98058593 addi a1,a1,-1664 # 200027a0 <exception_reason+0x80>
+20000e28: 0028 addi a0,sp,8
+20000e2a: 4651 li a2,20
+20000e2c: 054010ef jal ra,20001e80 <memcpy>
+20000e30: 0028 addi a0,sp,8
+20000e32: 85ce mv a1,s3
+20000e34: 864a mv a2,s2
+20000e36: 86a6 mv a3,s1
+20000e38: 8722 mv a4,s0
+20000e3a: 2291 jal 20000f7e <base_log_internal_core>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:55
}
-20000e20: 49f2 lw s3,28(sp)
-20000e22: 5902 lw s2,32(sp)
-20000e24: 5492 lw s1,36(sp)
-20000e26: 5422 lw s0,40(sp)
-20000e28: 50b2 lw ra,44(sp)
-20000e2a: 6145 addi sp,sp,48
-20000e2c: 8082 ret
+20000e3c: 49f2 lw s3,28(sp)
+20000e3e: 5902 lw s2,32(sp)
+20000e40: 5492 lw s1,36(sp)
+20000e42: 5422 lw s0,40(sp)
+20000e44: 50b2 lw ra,44(sp)
+20000e46: 6145 addi sp,sp,48
+20000e48: 8082 ret
-20000e2e <ottf_timer_isr>:
+20000e4a <ottf_timer_isr>:
ottf_timer_isr():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:141
}
OT_WEAK
void ottf_timer_isr(void) {
-20000e2e: 1141 addi sp,sp,-16
+20000e4a: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:142
generic_fault_print("Timer IRQ", ibex_mcause_read());
-20000e30: c606 sw ra,12(sp)
-20000e32: 2a39 jal 20000f50 <ibex_mcause_read>
-20000e34: 85aa mv a1,a0
-20000e36: 00001517 auipc a0,0x1
-20000e3a: 6df50513 addi a0,a0,1759 # 20002515 <kPerfTests+0x3fd>
-20000e3e: 3749 jal 20000dc0 <generic_fault_print>
+20000e4c: c606 sw ra,12(sp)
+20000e4e: 2a39 jal 20000f6c <ibex_mcause_read>
+20000e50: 85aa mv a1,a0
+20000e52: 00001517 auipc a0,0x1
+20000e56: 74350513 addi a0,a0,1859 # 20002595 <kPerfTests+0x3fd>
+20000e5a: 3749 jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:143
abort();
-20000e40: 2229 jal 20000f4a <abort>
+20000e5c: 2229 jal 20000f66 <abort>
-20000e42 <ottf_external_isr>:
+20000e5e <ottf_external_isr>:
ottf_external_isr():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:147
}
OT_WEAK
void ottf_external_isr(void) {
-20000e42: 1141 addi sp,sp,-16
+20000e5e: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:148
generic_fault_print("External IRQ", ibex_mcause_read());
-20000e44: c606 sw ra,12(sp)
-20000e46: 2229 jal 20000f50 <ibex_mcause_read>
-20000e48: 85aa mv a1,a0
-20000e4a: 00001517 auipc a0,0x1
-20000e4e: 6d550513 addi a0,a0,1749 # 2000251f <kPerfTests+0x407>
-20000e52: 37bd jal 20000dc0 <generic_fault_print>
+20000e60: c606 sw ra,12(sp)
+20000e62: 2229 jal 20000f6c <ibex_mcause_read>
+20000e64: 85aa mv a1,a0
+20000e66: 00001517 auipc a0,0x1
+20000e6a: 73950513 addi a0,a0,1849 # 2000259f <kPerfTests+0x407>
+20000e6e: 37bd jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:149
abort();
-20000e54: 28dd jal 20000f4a <abort>
+20000e70: 28dd jal 20000f66 <abort>
-20000e56 <ottf_external_nmi_handler>:
+20000e72 <ottf_external_nmi_handler>:
generic_internal_irq_handler():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:152
}
static void generic_internal_irq_handler(void) {
-20000e56: 1141 addi sp,sp,-16
+20000e72: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:153
generic_fault_print("Internal IRQ", ibex_mcause_read());
-20000e58: c606 sw ra,12(sp)
-20000e5a: 28dd jal 20000f50 <ibex_mcause_read>
-20000e5c: 85aa mv a1,a0
-20000e5e: 00002517 auipc a0,0x2
-20000e62: 83250513 addi a0,a0,-1998 # 20002690 <kPerfTests+0x578>
-20000e66: 3fa9 jal 20000dc0 <generic_fault_print>
+20000e74: c606 sw ra,12(sp)
+20000e76: 28dd jal 20000f6c <ibex_mcause_read>
+20000e78: 85aa mv a1,a0
+20000e7a: 00002517 auipc a0,0x2
+20000e7e: 89650513 addi a0,a0,-1898 # 20002710 <kPerfTests+0x578>
+20000e82: 3fa9 jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:154
abort();
-20000e68: 20cd jal 20000f4a <abort>
+20000e84: 20cd jal 20000f66 <abort>
-20000e6a <ottf_internal_isr>:
+20000e86 <ottf_internal_isr>:
ottf_internal_isr():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:166
OT_WEAK
@@ -2448,44 +2448,44 @@
OT_WEAK
void ottf_internal_isr(void) {
-20000e6a: 1141 addi sp,sp,-16
+20000e86: 1141 addi sp,sp,-16
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:167
uint32_t mcause = ibex_mcause_read();
-20000e6c: c606 sw ra,12(sp)
-20000e6e: 20cd jal 20000f50 <ibex_mcause_read>
-20000e70: 800005b7 lui a1,0x80000
-20000e74: 05fd addi a1,a1,31
+20000e88: c606 sw ra,12(sp)
+20000e8a: 20cd jal 20000f6c <ibex_mcause_read>
+20000e8c: 800005b7 lui a1,0x80000
+20000e90: 05fd addi a1,a1,31
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:168
switch ((ottf_internal_irq_id_t)(mcause)) {
-20000e76: /-- 00b50863 beq a0,a1,20000e86 <ottf_internal_isr+0x1c>
-20000e7a: | 5581 li a1,-32
-20000e7c: /--|-- 00b51863 bne a0,a1,20000e8c <ottf_internal_isr+0x22>
+20000e92: /-- 00b50863 beq a0,a1,20000ea2 <ottf_internal_isr+0x1c>
+20000e96: | 5581 li a1,-32
+20000e98: /--|-- 00b51863 bne a0,a1,20000ea8 <ottf_internal_isr+0x22>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:170
case kInternalIrqLoadInteg:
ottf_load_integrity_error_handler();
-20000e80: | | 40b2 lw ra,12(sp)
-20000e82: | | 0141 addi sp,sp,16
-20000e84: | | bfc9 j 20000e56 <ottf_external_nmi_handler>
+20000e9c: | | 40b2 lw ra,12(sp)
+20000e9e: | | 0141 addi sp,sp,16
+20000ea0: | | bfc9 j 20000e72 <ottf_external_nmi_handler>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:173
break;
case kInternalIrqNmi:
ottf_external_nmi_handler();
-20000e86: | \-> 40b2 lw ra,12(sp)
-20000e88: | 0141 addi sp,sp,16
-20000e8a: | b7f1 j 20000e56 <ottf_external_nmi_handler>
+20000ea2: | \-> 40b2 lw ra,12(sp)
+20000ea4: | 0141 addi sp,sp,16
+20000ea6: | b7f1 j 20000e72 <ottf_external_nmi_handler>
generic_internal_irq_handler():
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:153
generic_fault_print("Internal IRQ", ibex_mcause_read());
-20000e8c: \----> 20d1 jal 20000f50 <ibex_mcause_read>
-20000e8e: 85aa mv a1,a0
-20000e90: 00002517 auipc a0,0x2
-20000e94: 80050513 addi a0,a0,-2048 # 20002690 <kPerfTests+0x578>
-20000e98: 3725 jal 20000dc0 <generic_fault_print>
+20000ea8: \----> 20d1 jal 20000f6c <ibex_mcause_read>
+20000eaa: 85aa mv a1,a0
+20000eac: 00002517 auipc a0,0x2
+20000eb0: 86450513 addi a0,a0,-1948 # 20002710 <kPerfTests+0x578>
+20000eb4: 3725 jal 20000ddc <generic_fault_print>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_isrs.c:154
abort();
-20000e9a: 2845 jal 20000f4a <abort>
+20000eb6: 2845 jal 20000f66 <abort>
-20000e9c <test_status_set>:
+20000eb8 <test_status_set>:
test_status_set():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:25
mmio_region_from_addr(kDeviceTestStatusAddress);
@@ -2494,23 +2494,23 @@
}
void test_status_set(test_status_t test_status) {
-20000e9c: 1101 addi sp,sp,-32
-20000e9e: ce06 sw ra,28(sp)
-20000ea0: 65b1 lui a1,0xc
-20000ea2: aad58593 addi a1,a1,-1363 # baad <_stack_size+0x9aad>
+20000eb8: 1101 addi sp,sp,-32
+20000eba: ce06 sw ra,28(sp)
+20000ebc: 65b1 lui a1,0xc
+20000ebe: aad58593 addi a1,a1,-1363 # baad <_manifest_code_end+0x9a79>
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:26
switch (test_status) {
-20000ea6: /----- 02b50063 beq a0,a1,20000ec6 <test_status_set+0x2a>
-20000eaa: | 65a5 lui a1,0x9
-20000eac: | 05b5 addi a1,a1,13
-20000eae: /--|----- 02b50d63 beq a0,a1,20000ee8 <test_status_set+0x4c>
+20000ec2: /----- 02b50063 beq a0,a1,20000ee2 <test_status_set+0x2a>
+20000ec6: | 65a5 lui a1,0x9
+20000ec8: | 05b5 addi a1,a1,13
+20000eca: /--|----- 02b50d63 beq a0,a1,20000f04 <test_status_set+0x4c>
test_status_device_write():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:18
if (kDeviceTestStatusAddress != 0) {
-20000eb2: | | 00002597 auipc a1,0x2
-20000eb6: | | bbe58593 addi a1,a1,-1090 # 20002a70 <kDeviceTestStatusAddress>
-20000eba: | | 418c lw a1,0(a1)
-20000ebc: | | /-- c191 beqz a1,20000ec0 <test_status_set+0x24>
+20000ece: | | 00002597 auipc a1,0x2
+20000ed2: | | c2258593 addi a1,a1,-990 # 20002af0 <kDeviceTestStatusAddress>
+20000ed6: | | 418c lw a1,0(a1)
+20000ed8: | | /-- c191 beqz a1,20000edc <test_status_set+0x24>
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
* @param offset the offset to write at, in bytes.
@@ -2519,7 +2519,7 @@
inline void mmio_region_write32(mmio_region_t base, ptrdiff_t offset,
uint32_t value) {
((volatile uint32_t *)base.base)[offset / sizeof(uint32_t)] = value;
-20000ebe: | | | c188 sw a0,0(a1)
+20000eda: | | | c188 sw a0,0(a1)
test_status_set():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:44
default: {
@@ -2528,73 +2528,73 @@
}
}
}
-20000ec0: | | \-> 40f2 lw ra,28(sp)
-20000ec2: | | 6105 addi sp,sp,32
-20000ec4: | | 8082 ret
+20000edc: | | \-> 40f2 lw ra,28(sp)
+20000ede: | | 6105 addi sp,sp,32
+20000ee0: | | 8082 ret
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:34
LOG_INFO("FAIL!");
-20000ec6: | \----> 00002517 auipc a0,0x2
-20000eca: | bae50513 addi a0,a0,-1106 # 20002a74 <kDeviceLogBypassUartAddress>
-20000ece: | 4108 lw a0,0(a0)
-20000ed0: | /----- ed0d bnez a0,20000f0a <test_status_set+0x6e>
-20000ed2: | | 00002597 auipc a1,0x2
-20000ed6: | | 8b258593 addi a1,a1,-1870 # 20002784 <exception_reason+0xe4>
-20000eda: | | 0028 addi a0,sp,8
-20000edc: | | 4651 li a2,20
-20000ede: | | 01a010ef jal ra,20001ef8 <memcpy>
-20000ee2: | | 0028 addi a0,sp,8
-20000ee4: | | 28bd jal 20000f62 <base_log_internal_core>
-20000ee6: | | /-- a805 j 20000f16 <test_status_set+0x7a>
+20000ee2: | \----> 00002517 auipc a0,0x2
+20000ee6: | c1250513 addi a0,a0,-1006 # 20002af4 <kDeviceLogBypassUartAddress>
+20000eea: | 4108 lw a0,0(a0)
+20000eec: | /----- ed0d bnez a0,20000f26 <test_status_set+0x6e>
+20000eee: | | 00002597 auipc a1,0x2
+20000ef2: | | 91658593 addi a1,a1,-1770 # 20002804 <exception_reason+0xe4>
+20000ef6: | | 0028 addi a0,sp,8
+20000ef8: | | 4651 li a2,20
+20000efa: | | 787000ef jal ra,20001e80 <memcpy>
+20000efe: | | 0028 addi a0,sp,8
+20000f00: | | 28bd jal 20000f7e <base_log_internal_core>
+20000f02: | | /-- a805 j 20000f32 <test_status_set+0x7a>
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:28
LOG_INFO("PASS!");
-20000ee8: \--|--|-> 00002517 auipc a0,0x2
-20000eec: | | b8c50513 addi a0,a0,-1140 # 20002a74 <kDeviceLogBypassUartAddress>
-20000ef0: | | 4108 lw a0,0(a0)
-20000ef2: /-----|--|-- ed05 bnez a0,20000f2a <test_status_set+0x8e>
-20000ef4: | | | 00002597 auipc a1,0x2
-20000ef8: | | | 87c58593 addi a1,a1,-1924 # 20002770 <exception_reason+0xd0>
-20000efc: | | | 0028 addi a0,sp,8
-20000efe: | | | 4651 li a2,20
-20000f00: | | | 7f9000ef jal ra,20001ef8 <memcpy>
-20000f04: | | | 0028 addi a0,sp,8
-20000f06: | | | 28b1 jal 20000f62 <base_log_internal_core>
-20000f08: | /--|--|-- a03d j 20000f36 <test_status_set+0x9a>
+20000f04: \--|--|-> 00002517 auipc a0,0x2
+20000f08: | | bf050513 addi a0,a0,-1040 # 20002af4 <kDeviceLogBypassUartAddress>
+20000f0c: | | 4108 lw a0,0(a0)
+20000f0e: /-----|--|-- ed05 bnez a0,20000f46 <test_status_set+0x8e>
+20000f10: | | | 00002597 auipc a1,0x2
+20000f14: | | | 8e058593 addi a1,a1,-1824 # 200027f0 <exception_reason+0xd0>
+20000f18: | | | 0028 addi a0,sp,8
+20000f1a: | | | 4651 li a2,20
+20000f1c: | | | 765000ef jal ra,20001e80 <memcpy>
+20000f20: | | | 0028 addi a0,sp,8
+20000f22: | | | 28b1 jal 20000f7e <base_log_internal_core>
+20000f24: | /--|--|-- a03d j 20000f52 <test_status_set+0x9a>
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:34
LOG_INFO("FAIL!");
-20000f0a: | | \--|-> e000f517 auipc a0,0xe000f
-20000f0e: | | | 1e650513 addi a0,a0,486 # 100f0 <test_status_set.kLogFields.2>
-20000f12: | | | 4581 li a1,0
-20000f14: | | | 28c5 jal 20001004 <base_log_internal_dv>
+20000f26: | | \--|-> e000f517 auipc a0,0xe000f
+20000f2a: | | | 1ca50513 addi a0,a0,458 # 100f0 <test_status_set.kLogFields.2>
+20000f2e: | | | 4581 li a1,0
+20000f30: | | | 28c5 jal 20001020 <base_log_internal_dv>
test_status_device_write():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:18
if (kDeviceTestStatusAddress != 0) {
-20000f16: | | \-> 00002517 auipc a0,0x2
-20000f1a: | | b5a50513 addi a0,a0,-1190 # 20002a70 <kDeviceTestStatusAddress>
-20000f1e: | | 4108 lw a0,0(a0)
-20000f20: | | /----- c505 beqz a0,20000f48 <test_status_set+0xac>
-20000f22: | | | 65b1 lui a1,0xc
-20000f24: | | | aad58593 addi a1,a1,-1363 # baad <_stack_size+0x9aad>
-20000f28: | | | /-- a839 j 20000f46 <test_status_set+0xaa>
+20000f32: | | \-> 00002517 auipc a0,0x2
+20000f36: | | bbe50513 addi a0,a0,-1090 # 20002af0 <kDeviceTestStatusAddress>
+20000f3a: | | 4108 lw a0,0(a0)
+20000f3c: | | /----- c505 beqz a0,20000f64 <test_status_set+0xac>
+20000f3e: | | | 65b1 lui a1,0xc
+20000f40: | | | aad58593 addi a1,a1,-1363 # baad <_manifest_code_end+0x9a79>
+20000f44: | | | /-- a839 j 20000f62 <test_status_set+0xaa>
test_status_set():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:28
LOG_INFO("PASS!");
-20000f2a: \--|--|--|-> e000f517 auipc a0,0xe000f
-20000f2e: | | | 1b250513 addi a0,a0,434 # 100dc <test_status_set.kLogFields>
-20000f32: | | | 4581 li a1,0
-20000f34: | | | 28c1 jal 20001004 <base_log_internal_dv>
+20000f46: \--|--|--|-> e000f517 auipc a0,0xe000f
+20000f4a: | | | 19650513 addi a0,a0,406 # 100dc <test_status_set.kLogFields>
+20000f4e: | | | 4581 li a1,0
+20000f50: | | | 28c1 jal 20001020 <base_log_internal_dv>
test_status_device_write():
/proc/self/cwd/sw/device/lib/testing/test_framework/status.c:18
if (kDeviceTestStatusAddress != 0) {
-20000f36: \--|--|-> 00002517 auipc a0,0x2
-20000f3a: | | b3a50513 addi a0,a0,-1222 # 20002a70 <kDeviceTestStatusAddress>
-20000f3e: | | 4108 lw a0,0(a0)
-20000f40: +--|-- c501 beqz a0,20000f48 <test_status_set+0xac>
-20000f42: | | 65a5 lui a1,0x9
-20000f44: | | 05b5 addi a1,a1,13
-20000f46: | \-> c10c sw a1,0(a0)
-20000f48: \----> 2009 jal 20000f4a <abort>
+20000f52: \--|--|-> 00002517 auipc a0,0x2
+20000f56: | | b9e50513 addi a0,a0,-1122 # 20002af0 <kDeviceTestStatusAddress>
+20000f5a: | | 4108 lw a0,0(a0)
+20000f5c: +--|-- c501 beqz a0,20000f64 <test_status_set+0xac>
+20000f5e: | | 65a5 lui a1,0x9
+20000f60: | | 05b5 addi a1,a1,13
+20000f62: | \-> c10c sw a1,0(a0)
+20000f64: \----> 2009 jal 20000f66 <abort>
-20000f4a <abort>:
+20000f66 <abort>:
wait_for_interrupt():
/proc/self/cwd/./sw/device/lib/runtime/hart.h:29
*
@@ -2603,7 +2603,7 @@
inline void wait_for_interrupt(void) {
#ifdef OT_PLATFORM_RV32
asm volatile("wfi");
-20000f4a: /-> 10500073 wfi
+20000f66: /-> 10500073 wfi
abort():
/proc/self/cwd/sw/device/lib/runtime/hart.c:21
while ((ibex_mcycle_read() - start) < cycles) {
@@ -2612,9 +2612,9 @@
noreturn void abort(void) {
while (true) {
-20000f4e: \-- bff5 j 20000f4a <abort>
+20000f6a: \-- bff5 j 20000f66 <abort>
-20000f50 <ibex_mcause_read>:
+20000f6c <ibex_mcause_read>:
ibex_mcause_read():
/proc/self/cwd/sw/device/lib/runtime/ibex.c:11
@@ -2623,12 +2623,12 @@
uint32_t ibex_mcause_read(void) {
uint32_t mtval;
CSR_READ(CSR_REG_MCAUSE, &mtval);
-20000f50: 34202573 csrr a0,mcause
+20000f6c: 34202573 csrr a0,mcause
/proc/self/cwd/sw/device/lib/runtime/ibex.c:12
return mtval;
-20000f54: 8082 ret
+20000f70: 8082 ret
-20000f56 <ibex_mtval_read>:
+20000f72 <ibex_mtval_read>:
ibex_mtval_read():
/proc/self/cwd/sw/device/lib/runtime/ibex.c:17
}
@@ -2636,12 +2636,12 @@
uint32_t ibex_mtval_read(void) {
uint32_t mtval;
CSR_READ(CSR_REG_MTVAL, &mtval);
-20000f56: 34302573 csrr a0,mtval
+20000f72: 34302573 csrr a0,mtval
/proc/self/cwd/sw/device/lib/runtime/ibex.c:18
return mtval;
-20000f5a: 8082 ret
+20000f76: 8082 ret
-20000f5c <ibex_mepc_read>:
+20000f78 <ibex_mepc_read>:
ibex_mepc_read():
/proc/self/cwd/sw/device/lib/runtime/ibex.c:23
}
@@ -2649,12 +2649,12 @@
uint32_t ibex_mepc_read(void) {
uint32_t mepc;
CSR_READ(CSR_REG_MEPC, &mepc);
-20000f5c: 34102573 csrr a0,mepc
+20000f78: 34102573 csrr a0,mepc
/proc/self/cwd/sw/device/lib/runtime/ibex.c:24
return mepc;
-20000f60: 8082 ret
+20000f7c: 8082 ret
-20000f62 <base_log_internal_core>:
+20000f7e <base_log_internal_core>:
base_log_internal_core():
/proc/self/cwd/sw/device/lib/runtime/log.c:47
* Logs `log` and the values that follow to stdout.
@@ -2663,45 +2663,45 @@
* @param ... format parameters matching the format string.
*/
void base_log_internal_core(log_fields_t log, ...) {
-20000f62: 7179 addi sp,sp,-48
-20000f64: c606 sw ra,12(sp)
-20000f66: c422 sw s0,8(sp)
-20000f68: c226 sw s1,4(sp)
-20000f6a: 842a mv s0,a0
-20000f6c: d646 sw a7,44(sp)
-20000f6e: d442 sw a6,40(sp)
-20000f70: d23e sw a5,36(sp)
-20000f72: d03a sw a4,32(sp)
-20000f74: ce36 sw a3,28(sp)
-20000f76: cc32 sw a2,24(sp)
-20000f78: ca2e sw a1,20(sp)
+20000f7e: 7179 addi sp,sp,-48
+20000f80: c606 sw ra,12(sp)
+20000f82: c422 sw s0,8(sp)
+20000f84: c226 sw s1,4(sp)
+20000f86: 842a mv s0,a0
+20000f88: d646 sw a7,44(sp)
+20000f8a: d442 sw a6,40(sp)
+20000f8c: d23e sw a5,36(sp)
+20000f8e: d03a sw a4,32(sp)
+20000f90: ce36 sw a3,28(sp)
+20000f92: cc32 sw a2,24(sp)
+20000f94: ca2e sw a1,20(sp)
/proc/self/cwd/sw/device/lib/runtime/log.c:49
size_t file_name_len =
((char *)memchr(log.file_name, '\0', PTRDIFF_MAX)) - log.file_name;
-20000f7a: 4148 lw a0,4(a0)
-20000f7c: 800005b7 lui a1,0x80000
-20000f80: fff58613 addi a2,a1,-1 # 7fffffff <_data_init_end+0x5fffd503>
-20000f84: 4581 li a1,0
-20000f86: 7f5000ef jal ra,20001f7a <memchr>
-20000f8a: 4054 lw a3,4(s0)
-20000f8c: 40d50633 sub a2,a0,a3
+20000f96: 4148 lw a0,4(a0)
+20000f98: 800005b7 lui a1,0x80000
+20000f9c: fff58613 addi a2,a1,-1 # 7fffffff <_data_init_end+0x5fffd483>
+20000fa0: 4581 li a1,0
+20000fa2: 79f000ef jal ra,20001f40 <memchr>
+20000fa6: 4054 lw a3,4(s0)
+20000fa8: 40d50633 sub a2,a0,a3
/proc/self/cwd/sw/device/lib/runtime/log.c:50
const char *base_name = memrchr(log.file_name, '/', file_name_len);
-20000f90: 02f00593 li a1,47
-20000f94: 8536 mv a0,a3
-20000f96: 7fd000ef jal ra,20001f92 <memrchr>
+20000fac: 02f00593 li a1,47
+20000fb0: 8536 mv a0,a3
+20000fb2: 7af000ef jal ra,20001f60 <memrchr>
/proc/self/cwd/sw/device/lib/runtime/log.c:51
if (base_name == NULL) {
-20000f9a: /----- c501 beqz a0,20000fa2 <base_log_internal_core+0x40>
+20000fb6: /----- c501 beqz a0,20000fbe <base_log_internal_core+0x40>
/proc/self/cwd/sw/device/lib/runtime/log.c:54
base_name = log.file_name;
} else {
++base_name; // Remove the final '/'.
-20000f9c: | 00150693 addi a3,a0,1
-20000fa0: | /-- a011 j 20000fa4 <base_log_internal_core+0x42>
+20000fb8: | 00150693 addi a3,a0,1
+20000fbc: | /-- a011 j 20000fc0 <base_log_internal_core+0x42>
/proc/self/cwd/sw/device/lib/runtime/log.c:52
base_name = log.file_name;
-20000fa2: \--|-> 4054 lw a3,4(s0)
+20000fbe: \--|-> 4054 lw a3,4(s0)
/proc/self/cwd/sw/device/lib/runtime/log.c:62
// A small global counter that increments with each log line. This can be
// useful for seeing how many times this function has been called, even if
@@ -2709,64 +2709,64 @@
static uint16_t global_log_counter = 0;
base_printf("%s%05d %s:%d] ", stringify_severity(log.severity),
-20000fa4: \-> 4008 lw a0,0(s0)
-20000fa6: 458d li a1,3
+20000fc0: \-> 4008 lw a0,0(s0)
+20000fc2: 458d li a1,3
stringify_severity():
/proc/self/cwd/sw/device/lib/runtime/log.c:27
switch (severity) {
-20000fa8: /----- 00a5ea63 bltu a1,a0,20000fbc <base_log_internal_core+0x5a>
-20000fac: | 050a slli a0,a0,0x2
-20000fae: | 00002597 auipc a1,0x2
-20000fb2: | 80658593 addi a1,a1,-2042 # 200027b4 <exception_reason+0x114>
-20000fb6: | 952e add a0,a0,a1
-20000fb8: | 410c lw a1,0(a0)
-20000fba: | /-- a029 j 20000fc4 <base_log_internal_core+0x62>
-20000fbc: \--|-> 00001597 auipc a1,0x1
-20000fc0: | 7f458593 addi a1,a1,2036 # 200027b0 <exception_reason+0x110>
+20000fc4: /----- 00a5ea63 bltu a1,a0,20000fd8 <base_log_internal_core+0x5a>
+20000fc8: | 050a slli a0,a0,0x2
+20000fca: | 00002597 auipc a1,0x2
+20000fce: | 86a58593 addi a1,a1,-1942 # 20002834 <exception_reason+0x114>
+20000fd2: | 952e add a0,a0,a1
+20000fd4: | 410c lw a1,0(a0)
+20000fd6: | /-- a029 j 20000fe0 <base_log_internal_core+0x62>
+20000fd8: \--|-> 00002597 auipc a1,0x2
+20000fdc: | 85858593 addi a1,a1,-1960 # 20002830 <exception_reason+0x110>
base_log_internal_core():
/proc/self/cwd/sw/device/lib/runtime/log.c:63
global_log_counter, base_name, log.line);
-20000fc4: \-> effff497 auipc s1,0xeffff
-20000fc8: 0c448493 addi s1,s1,196 # 10000088 <base_log_internal_core.global_log_counter>
-20000fcc: 0004d603 lhu a2,0(s1)
-20000fd0: 4418 lw a4,8(s0)
+20000fe0: \-> effff497 auipc s1,0xeffff
+20000fe4: 0a848493 addi s1,s1,168 # 10000088 <base_log_internal_core.global_log_counter>
+20000fe8: 0004d603 lhu a2,0(s1)
+20000fec: 4418 lw a4,8(s0)
/proc/self/cwd/sw/device/lib/runtime/log.c:62
base_printf("%s%05d %s:%d] ", stringify_severity(log.severity),
-20000fd2: 00001517 auipc a0,0x1
-20000fd6: 7c650513 addi a0,a0,1990 # 20002798 <exception_reason+0xf8>
-20000fda: 2865 jal 20001092 <base_printf>
+20000fee: 00002517 auipc a0,0x2
+20000ff2: 82a50513 addi a0,a0,-2006 # 20002818 <exception_reason+0xf8>
+20000ff6: 2865 jal 200010ae <base_printf>
/proc/self/cwd/sw/device/lib/runtime/log.c:64
++global_log_counter;
-20000fdc: 00049503 lh a0,0(s1)
-20000fe0: 0505 addi a0,a0,1
-20000fe2: 00a49023 sh a0,0(s1)
-20000fe6: 0848 addi a0,sp,20
+20000ff8: 00049503 lh a0,0(s1)
+20000ffc: 0505 addi a0,a0,1
+20000ffe: 00a49023 sh a0,0(s1)
+20001002: 0848 addi a0,sp,20
/proc/self/cwd/sw/device/lib/runtime/log.c:67
va_list args;
va_start(args, log);
-20000fe8: c02a sw a0,0(sp)
+20001004: c02a sw a0,0(sp)
/proc/self/cwd/sw/device/lib/runtime/log.c:68
base_vprintf(log.format, args);
-20000fea: 4808 lw a0,16(s0)
-20000fec: 084c addi a1,sp,20
-20000fee: 28d9 jal 200010c4 <base_vprintf>
+20001006: 4808 lw a0,16(s0)
+20001008: 084c addi a1,sp,20
+2000100a: 28d9 jal 200010e0 <base_vprintf>
/proc/self/cwd/sw/device/lib/runtime/log.c:71
va_end(args);
base_printf("\r\n");
-20000ff0: 00001517 auipc a0,0x1
-20000ff4: 7b750513 addi a0,a0,1975 # 200027a7 <exception_reason+0x107>
-20000ff8: 2869 jal 20001092 <base_printf>
+2000100c: 00002517 auipc a0,0x2
+20001010: 81b50513 addi a0,a0,-2021 # 20002827 <exception_reason+0x107>
+20001014: 2869 jal 200010ae <base_printf>
/proc/self/cwd/sw/device/lib/runtime/log.c:72
}
-20000ffa: 4492 lw s1,4(sp)
-20000ffc: 4422 lw s0,8(sp)
-20000ffe: 40b2 lw ra,12(sp)
-20001000: 6145 addi sp,sp,48
-20001002: 8082 ret
+20001016: 4492 lw s1,4(sp)
+20001018: 4422 lw s0,8(sp)
+2000101a: 40b2 lw ra,12(sp)
+2000101c: 6145 addi sp,sp,48
+2000101e: 8082 ret
-20001004 <base_log_internal_dv>:
+20001020 <base_log_internal_dv>:
base_log_internal_dv():
/proc/self/cwd/sw/device/lib/runtime/log.c:84
* be invalid at runtime, since the pointed-to data will have been
@@ -2775,55 +2775,55 @@
* @param ... format parameters matching the format string.
*/
void base_log_internal_dv(const log_fields_t *log, uint32_t nargs, ...) {
-20001004: 1101 addi sp,sp,-32
-20001006: ce46 sw a7,28(sp)
-20001008: cc42 sw a6,24(sp)
-2000100a: ca3e sw a5,20(sp)
+20001020: 1101 addi sp,sp,-32
+20001022: ce46 sw a7,28(sp)
+20001024: cc42 sw a6,24(sp)
+20001026: ca3e sw a5,20(sp)
/proc/self/cwd/sw/device/lib/runtime/log.c:85
mmio_region_t log_device = mmio_region_from_addr(kDeviceLogBypassUartAddress);
-2000100c: 00002797 auipc a5,0x2
-20001010: a6878793 addi a5,a5,-1432 # 20002a74 <kDeviceLogBypassUartAddress>
-20001014: 439c lw a5,0(a5)
-20001016: c83a sw a4,16(sp)
-20001018: c636 sw a3,12(sp)
-2000101a: c432 sw a2,8(sp)
+20001028: 00002797 auipc a5,0x2
+2000102c: acc78793 addi a5,a5,-1332 # 20002af4 <kDeviceLogBypassUartAddress>
+20001030: 439c lw a5,0(a5)
+20001032: c83a sw a4,16(sp)
+20001034: c636 sw a3,12(sp)
+20001036: c432 sw a2,8(sp)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000101c: c388 sw a0,0(a5)
-2000101e: 0028 addi a0,sp,8
+20001038: c388 sw a0,0(a5)
+2000103a: 0028 addi a0,sp,8
base_log_internal_dv():
/proc/self/cwd/sw/device/lib/runtime/log.c:89
mmio_region_write32(log_device, 0x0, (uintptr_t)log);
va_list args;
va_start(args, nargs);
-20001020: c22a sw a0,4(sp)
+2000103c: c22a sw a0,4(sp)
/proc/self/cwd/sw/device/lib/runtime/log.c:90
for (int i = 0; i < nargs; ++i) {
-20001022: /----- c989 beqz a1,20001034 <base_log_internal_dv+0x30>
+2000103e: /----- c989 beqz a1,20001050 <base_log_internal_dv+0x30>
/proc/self/cwd/sw/device/lib/runtime/log.c:91
mmio_region_write32(log_device, 0x0, va_arg(args, uint32_t));
-20001024: | /-> 4512 lw a0,4(sp)
-20001026: | | 00450613 addi a2,a0,4
-2000102a: | | c232 sw a2,4(sp)
-2000102c: | | 4108 lw a0,0(a0)
+20001040: | /-> 4512 lw a0,4(sp)
+20001042: | | 00450613 addi a2,a0,4
+20001046: | | c232 sw a2,4(sp)
+20001048: | | 4108 lw a0,0(a0)
/proc/self/cwd/sw/device/lib/runtime/log.c:90
for (int i = 0; i < nargs; ++i) {
-2000102e: | | 15fd addi a1,a1,-1
+2000104a: | | 15fd addi a1,a1,-1
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-20001030: | | c388 sw a0,0(a5)
+2000104c: | | c388 sw a0,0(a5)
base_log_internal_dv():
/proc/self/cwd/sw/device/lib/runtime/log.c:90
-20001032: | \-- f9ed bnez a1,20001024 <base_log_internal_dv+0x20>
+2000104e: | \-- f9ed bnez a1,20001040 <base_log_internal_dv+0x20>
/proc/self/cwd/sw/device/lib/runtime/log.c:94
}
va_end(args);
}
-20001034: \----> 6105 addi sp,sp,32
-20001036: 8082 ret
+20001050: \----> 6105 addi sp,sp,32
+20001052: 8082 ret
-20001038 <base_dev_null>:
+20001054 <base_dev_null>:
base_dev_null():
/proc/self/cwd/sw/device/lib/runtime/print.c:52
@@ -2832,12 +2832,12 @@
static const char kErrorTooWide[12] = "%<bad width>";
static size_t base_dev_null(void *data, const char *buf, size_t len) {
-20001038: 8532 mv a0,a2
+20001054: 8532 mv a0,a2
/proc/self/cwd/sw/device/lib/runtime/print.c:53
return len;
-2000103a: 8082 ret
+20001056: 8082 ret
-2000103c <base_uart_stdout>:
+20001058 <base_uart_stdout>:
base_uart_stdout():
/proc/self/cwd/sw/device/lib/runtime/print.c:79
}
@@ -2846,80 +2846,80 @@
}
void base_uart_stdout(const dif_uart_t *uart) {
-2000103c: effff597 auipc a1,0xeffff
-20001040: 05058593 addi a1,a1,80 # 1000008c <base_stdout>
+20001058: effff597 auipc a1,0xeffff
+2000105c: 03458593 addi a1,a1,52 # 1000008c <base_stdout>
base_set_stdout():
/proc/self/cwd/sw/device/lib/runtime/print.c:66
base_stdout = out;
-20001044: c188 sw a0,0(a1)
-20001046: 00000517 auipc a0,0x0
-2000104a: 00c50513 addi a0,a0,12 # 20001052 <base_dev_uart>
-2000104e: c1c8 sw a0,4(a1)
+20001060: c188 sw a0,0(a1)
+20001062: 00000517 auipc a0,0x0
+20001066: 00c50513 addi a0,a0,12 # 2000106e <base_dev_uart>
+2000106a: c1c8 sw a0,4(a1)
base_uart_stdout():
/proc/self/cwd/sw/device/lib/runtime/print.c:82
base_set_stdout(
(buffer_sink_t){.data = (void *)uart, .sink = &base_dev_uart});
}
-20001050: 8082 ret
+2000106c: 8082 ret
-20001052 <base_dev_uart>:
+2000106e <base_dev_uart>:
base_dev_uart():
/proc/self/cwd/sw/device/lib/runtime/print.c:69
static size_t base_dev_uart(void *data, const char *buf, size_t len) {
-20001052: 1101 addi sp,sp,-32
-20001054: ce06 sw ra,28(sp)
-20001056: cc22 sw s0,24(sp)
-20001058: ca26 sw s1,20(sp)
-2000105a: c84a sw s2,16(sp)
-2000105c: c64e sw s3,12(sp)
+2000106e: 1101 addi sp,sp,-32
+20001070: ce06 sw ra,28(sp)
+20001072: cc22 sw s0,24(sp)
+20001074: ca26 sw s1,20(sp)
+20001076: c84a sw s2,16(sp)
+20001078: c64e sw s3,12(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:71
for (size_t i = 0; i < len; ++i) {
-2000105e: /-------- c20d beqz a2,20001080 <base_dev_uart+0x2e>
-20001060: | 8432 mv s0,a2
-20001062: | 892e mv s2,a1
-20001064: | 89aa mv s3,a0
-20001066: | 4481 li s1,0
+2000107a: /-------- c20d beqz a2,2000109c <base_dev_uart+0x2e>
+2000107c: | 8432 mv s0,a2
+2000107e: | 892e mv s2,a1
+20001080: | 89aa mv s3,a0
+20001082: | 4481 li s1,0
/proc/self/cwd/sw/device/lib/runtime/print.c:72
if (dif_uart_byte_send_polled(uart, (uint8_t)buf[i]) != kDifOk) {
-20001068: | /----> 00990533 add a0,s2,s1
-2000106c: | | 00054583 lbu a1,0(a0)
-20001070: | | 854e mv a0,s3
-20001072: | | 27bd jal 200017e0 <dif_uart_byte_send_polled>
-20001074: | | /-- e519 bnez a0,20001082 <base_dev_uart+0x30>
+20001084: | /----> 00990533 add a0,s2,s1
+20001088: | | 00054583 lbu a1,0(a0)
+2000108c: | | 854e mv a0,s3
+2000108e: | | 2f85 jal 200017fe <dif_uart_byte_send_polled>
+20001090: | | /-- e519 bnez a0,2000109e <base_dev_uart+0x30>
/proc/self/cwd/sw/device/lib/runtime/print.c:71
for (size_t i = 0; i < len; ++i) {
-20001076: | | | 0485 addi s1,s1,1
-20001078: | \--|-- fe9418e3 bne s0,s1,20001068 <base_dev_uart+0x16>
-2000107c: | | 84a2 mv s1,s0
-2000107e: | +-- a011 j 20001082 <base_dev_uart+0x30>
-20001080: \-----|-> 4481 li s1,0
+20001092: | | | 0485 addi s1,s1,1
+20001094: | \--|-- fe9418e3 bne s0,s1,20001084 <base_dev_uart+0x16>
+20001098: | | 84a2 mv s1,s0
+2000109a: | +-- a011 j 2000109e <base_dev_uart+0x30>
+2000109c: \-----|-> 4481 li s1,0
/proc/self/cwd/sw/device/lib/runtime/print.c:77
}
-20001082: \-> 8526 mv a0,s1
-20001084: 49b2 lw s3,12(sp)
-20001086: 4942 lw s2,16(sp)
-20001088: 44d2 lw s1,20(sp)
-2000108a: 4462 lw s0,24(sp)
-2000108c: 40f2 lw ra,28(sp)
-2000108e: 6105 addi sp,sp,32
-20001090: 8082 ret
+2000109e: \-> 8526 mv a0,s1
+200010a0: 49b2 lw s3,12(sp)
+200010a2: 4942 lw s2,16(sp)
+200010a4: 44d2 lw s1,20(sp)
+200010a6: 4462 lw s0,24(sp)
+200010a8: 40f2 lw ra,28(sp)
+200010aa: 6105 addi sp,sp,32
+200010ac: 8082 ret
-20001092 <base_printf>:
+200010ae <base_printf>:
base_printf():
/proc/self/cwd/sw/device/lib/runtime/print.c:84
size_t base_printf(const char *format, ...) {
-20001092: 7179 addi sp,sp,-48
-20001094: c606 sw ra,12(sp)
-20001096: d646 sw a7,44(sp)
-20001098: d442 sw a6,40(sp)
-2000109a: d23e sw a5,36(sp)
-2000109c: d03a sw a4,32(sp)
-2000109e: ce36 sw a3,28(sp)
-200010a0: cc32 sw a2,24(sp)
-200010a2: ca2e sw a1,20(sp)
-200010a4: effff597 auipc a1,0xeffff
-200010a8: fe858593 addi a1,a1,-24 # 1000008c <base_stdout>
+200010ae: 7179 addi sp,sp,-48
+200010b0: c606 sw ra,12(sp)
+200010b2: d646 sw a7,44(sp)
+200010b4: d442 sw a6,40(sp)
+200010b6: d23e sw a5,36(sp)
+200010b8: d03a sw a4,32(sp)
+200010ba: ce36 sw a3,28(sp)
+200010bc: cc32 sw a2,24(sp)
+200010be: ca2e sw a1,20(sp)
+200010c0: effff597 auipc a1,0xeffff
+200010c4: fcc58593 addi a1,a1,-52 # 1000008c <base_stdout>
base_vprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:93
va_end(args);
@@ -2928,47 +2928,47 @@
size_t base_vprintf(const char *format, va_list args) {
return base_vfprintf(base_stdout, format, args);
-200010ac: 4190 lw a2,0(a1)
-200010ae: 41cc lw a1,4(a1)
-200010b0: 872a mv a4,a0
-200010b2: 0848 addi a0,sp,20
+200010c8: 4190 lw a2,0(a1)
+200010ca: 41cc lw a1,4(a1)
+200010cc: 872a mv a4,a0
+200010ce: 0848 addi a0,sp,20
base_printf():
/proc/self/cwd/sw/device/lib/runtime/print.c:86
va_start(args, format);
-200010b4: c42a sw a0,8(sp)
+200010d0: c42a sw a0,8(sp)
base_vprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:93
return base_vfprintf(base_stdout, format, args);
-200010b6: 0854 addi a3,sp,20
-200010b8: 8532 mv a0,a2
-200010ba: 863a mv a2,a4
-200010bc: 200d jal 200010de <base_vfprintf>
+200010d2: 0854 addi a3,sp,20
+200010d4: 8532 mv a0,a2
+200010d6: 863a mv a2,a4
+200010d8: 200d jal 200010fa <base_vfprintf>
base_printf():
/proc/self/cwd/sw/device/lib/runtime/print.c:89
return bytes_left;
-200010be: 40b2 lw ra,12(sp)
-200010c0: 6145 addi sp,sp,48
-200010c2: 8082 ret
+200010da: 40b2 lw ra,12(sp)
+200010dc: 6145 addi sp,sp,48
+200010de: 8082 ret
-200010c4 <base_vprintf>:
+200010e0 <base_vprintf>:
base_vprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:92
size_t base_vprintf(const char *format, va_list args) {
-200010c4: effff697 auipc a3,0xeffff
-200010c8: fc868693 addi a3,a3,-56 # 1000008c <base_stdout>
+200010e0: effff697 auipc a3,0xeffff
+200010e4: fac68693 addi a3,a3,-84 # 1000008c <base_stdout>
/proc/self/cwd/sw/device/lib/runtime/print.c:93
return base_vfprintf(base_stdout, format, args);
-200010cc: 4290 lw a2,0(a3)
-200010ce: 42d4 lw a3,4(a3)
-200010d0: 872e mv a4,a1
-200010d2: 87aa mv a5,a0
-200010d4: 8532 mv a0,a2
-200010d6: 85b6 mv a1,a3
-200010d8: 863e mv a2,a5
-200010da: 86ba mv a3,a4
-200010dc: a009 j 200010de <base_vfprintf>
+200010e8: 4290 lw a2,0(a3)
+200010ea: 42d4 lw a3,4(a3)
+200010ec: 872e mv a4,a1
+200010ee: 87aa mv a5,a0
+200010f0: 8532 mv a0,a2
+200010f2: 85b6 mv a1,a3
+200010f4: 863e mv a2,a5
+200010f6: 86ba mv a3,a4
+200010f8: a009 j 200010fa <base_vfprintf>
-200010de <base_vfprintf>:
+200010fa <base_vfprintf>:
base_vfprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:529
*bytes_written += out.sink(out.data, kUnknownSpec, sizeof(kUnknownSpec));
@@ -2977,30 +2977,30 @@
}
size_t base_vfprintf(buffer_sink_t out, const char *format, va_list args) {
-200010de: 715d addi sp,sp,-80
-200010e0: c686 sw ra,76(sp)
-200010e2: c4a2 sw s0,72(sp)
-200010e4: c2a6 sw s1,68(sp)
-200010e6: c0ca sw s2,64(sp)
-200010e8: de4e sw s3,60(sp)
-200010ea: dc52 sw s4,56(sp)
-200010ec: da56 sw s5,52(sp)
-200010ee: d85a sw s6,48(sp)
-200010f0: d65e sw s7,44(sp)
-200010f2: d462 sw s8,40(sp)
-200010f4: d266 sw s9,36(sp)
-200010f6: d06a sw s10,32(sp)
-200010f8: ce6e sw s11,28(sp)
-200010fa: 8cb2 mv s9,a2
-200010fc: 892a mv s2,a0
-200010fe: c436 sw a3,8(sp)
+200010fa: 715d addi sp,sp,-80
+200010fc: c686 sw ra,76(sp)
+200010fe: c4a2 sw s0,72(sp)
+20001100: c2a6 sw s1,68(sp)
+20001102: c0ca sw s2,64(sp)
+20001104: de4e sw s3,60(sp)
+20001106: dc52 sw s4,56(sp)
+20001108: da56 sw s5,52(sp)
+2000110a: d85a sw s6,48(sp)
+2000110c: d65e sw s7,44(sp)
+2000110e: d462 sw s8,40(sp)
+20001110: d266 sw s9,36(sp)
+20001112: d06a sw s10,32(sp)
+20001114: ce6e sw s11,28(sp)
+20001116: 8cb2 mv s9,a2
+20001118: 892a mv s2,a0
+2000111a: c436 sw a3,8(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:530
if (out.sink == NULL) {
-20001100: /-- c199 beqz a1,20001106 <base_vfprintf+0x28>
-20001102: | 89ae mv s3,a1
-20001104: /--|-- a029 j 2000110e <base_vfprintf+0x30>
-20001106: | \-> 00000997 auipc s3,0x0
-2000110a: | f3298993 addi s3,s3,-206 # 20001038 <base_dev_null>
+2000111c: /-- c199 beqz a1,20001122 <base_vfprintf+0x28>
+2000111e: | 89ae mv s3,a1
+20001120: /--|-- a029 j 2000112a <base_vfprintf+0x30>
+20001122: | \-> 00000997 auipc s3,0x0
+20001126: | f3298993 addi s3,s3,-206 # 20001054 <base_dev_null>
/proc/self/cwd/sw/device/lib/runtime/print.c:539
// NOTE: This copy is necessary on amd64 and other platforms, where
// `va_list` is a fixed array type (and, as such, decays to a pointer in
@@ -3008,578 +3008,578 @@
// this is a copy of the pointer, not the array.
va_list args_copy;
va_copy(args_copy, args);
-2000110e: \----> c236 sw a3,4(sp)
+2000112a: \----> c236 sw a3,4(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:542
size_t bytes_written = 0;
while (format[0] != '\0') {
-20001110: 000cc503 lbu a0,0(s9)
-20001114: /----------------------------------------------------- 40050063 beqz a0,20001514 <base_vfprintf+0x436>
-20001118: | 4a81 li s5,0
-2000111a: | 02500c13 li s8,37
-2000111e: | 4d25 li s10,9
-20001120: | 4a29 li s4,10
-20001122: | 658d lui a1,0x3
-20001124: | c2258593 addi a1,a1,-990 # 2c22 <_stack_size+0xc22>
-20001128: | c02e sw a1,0(sp)
-2000112a: | /----------------------------------------------> 4481 li s1,0
+2000112c: 000cc503 lbu a0,0(s9)
+20001130: /----------------------------------------------------- 40050063 beqz a0,20001530 <base_vfprintf+0x436>
+20001134: | 4a81 li s5,0
+20001136: | 02500c13 li s8,37
+2000113a: | 4d25 li s10,9
+2000113c: | 4a29 li s4,10
+2000113e: | 658d lui a1,0x3
+20001140: | c2258593 addi a1,a1,-990 # 2c22 <_manifest_code_end+0xbee>
+20001144: | c02e sw a1,0(sp)
+20001146: | /----------------------------------------------> 4481 li s1,0
consume_until_percent():
/proc/self/cwd/sw/device/lib/runtime/print.c:155
if (c == '\0' || c == kPercent) {
-2000112c: | | /-> 0ff57413 andi s0,a0,255
-20001130: | | /--|-- 01840963 beq s0,s8,20001142 <base_vfprintf+0x64>
-20001134: | | +--|-- c419 beqz s0,20001142 <base_vfprintf+0x64>
+20001148: | | /-> 0ff57413 andi s0,a0,255
+2000114c: | | /--|-- 01840963 beq s0,s8,2000115e <base_vfprintf+0x64>
+20001150: | | +--|-- c419 beqz s0,2000115e <base_vfprintf+0x64>
/proc/self/cwd/sw/device/lib/runtime/print.c:154
char c = (*format)[text_len];
-20001136: | | | | 009c8533 add a0,s9,s1
-2000113a: | | | | 00154503 lbu a0,1(a0)
+20001152: | | | | 009c8533 add a0,s9,s1
+20001156: | | | | 00154503 lbu a0,1(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:162
++text_len;
-2000113e: | | | | 0485 addi s1,s1,1
-20001140: | | | \-- b7f5 j 2000112c <base_vfprintf+0x4e>
+2000115a: | | | | 0485 addi s1,s1,1
+2000115c: | | | \-- b7f5 j 20001148 <base_vfprintf+0x4e>
/proc/self/cwd/sw/device/lib/runtime/print.c:156
if (text_len > 0) {
-20001142: | | \--/-X c491 beqz s1,2000114e <base_vfprintf+0x70>
+2000115e: | | \--/-X c491 beqz s1,2000116a <base_vfprintf+0x70>
/proc/self/cwd/sw/device/lib/runtime/print.c:157
*bytes_written += out.sink(out.data, *format, text_len);
-20001144: | | | 854a mv a0,s2
-20001146: | | | 85e6 mv a1,s9
-20001148: | | | 8626 mv a2,s1
-2000114a: | | | 9982 jalr s3
-2000114c: | | | 9aaa add s5,s5,a0
+20001160: | | | 854a mv a0,s2
+20001162: | | | 85e6 mv a1,s9
+20001164: | | | 8626 mv a2,s1
+20001166: | | | 9982 jalr s3
+20001168: | | | 9aaa add s5,s5,a0
base_vfprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:543
if (!consume_until_percent(out, &format, &bytes_written)) {
-2000114e: | /--|--------------------------------------------\-X 3c040463 beqz s0,20001516 <base_vfprintf+0x438>
+2000116a: | /--|--------------------------------------------\-X 3c040463 beqz s0,20001532 <base_vfprintf+0x438>
consume_format_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:195
if ((*format)[0] == '!') {
-20001152: | | | 009c8533 add a0,s9,s1
-20001156: | | | 00154603 lbu a2,1(a0)
-2000115a: | | | 02100713 li a4,33
-2000115e: | | | /----- 00e61863 bne a2,a4,2000116e <base_vfprintf+0x90>
+2000116e: | | | 009c8533 add a0,s9,s1
+20001172: | | | 00154603 lbu a2,1(a0)
+20001176: | | | 02100713 li a4,33
+2000117a: | | | /----- 00e61863 bne a2,a4,2000118a <base_vfprintf+0x90>
/proc/self/cwd/sw/device/lib/runtime/print.c:208
char c = (*format)[spec_len];
-20001162: | | | | 00254583 lbu a1,2(a0)
-20001166: | | | | 00250693 addi a3,a0,2
-2000116a: | | | | 4b05 li s6,1
-2000116c: | | | | /-- a029 j 20001176 <base_vfprintf+0x98>
-2000116e: | | | \--|-> 4b01 li s6,0
-20001170: | | | | 00150693 addi a3,a0,1
-20001174: | | | | 85b2 mv a1,a2
+2000117e: | | | | 00254583 lbu a1,2(a0)
+20001182: | | | | 00250693 addi a3,a0,2
+20001186: | | | | 4b05 li s6,1
+20001188: | | | | /-- a029 j 20001192 <base_vfprintf+0x98>
+2000118a: | | | \--|-> 4b01 li s6,0
+2000118c: | | | | 00150693 addi a3,a0,1
+20001190: | | | | 85b2 mv a1,a2
/proc/self/cwd/sw/device/lib/runtime/print.c:209
if (c == '\0') {
-20001176: | | | /-----------------------------------------\-X 38058663 beqz a1,20001502 <base_vfprintf+0x424>
-2000117a: | | | | 4481 li s1,0
-2000117c: | | | | 4b81 li s7,0
-2000117e: | | | | 4501 li a0,0
-20001180: | | | | fdf60613 addi a2,a2,-33
-20001184: | | | | 00163d93 seqz s11,a2
+20001192: | | | /-----------------------------------------\-X 38058663 beqz a1,2000151e <base_vfprintf+0x424>
+20001196: | | | | 4481 li s1,0
+20001198: | | | | 4b81 li s7,0
+2000119a: | | | | 4501 li a0,0
+2000119c: | | | | fdf60613 addi a2,a2,-33
+200011a0: | | | | 00163d93 seqz s11,a2
/proc/self/cwd/sw/device/lib/runtime/print.c:213
if (c < '0' || c > '9') {
-20001188: | | | | 00168c93 addi s9,a3,1
-2000118c: | | | | /----------> fd058613 addi a2,a1,-48
-20001190: | | | | | 0ff67613 andi a2,a2,255
+200011a4: | | | | 00168c93 addi s9,a3,1
+200011a8: | | | | /----------> fd058613 addi a2,a1,-48
+200011ac: | | | | | 0ff67613 andi a2,a2,255
/proc/self/cwd/sw/device/lib/runtime/print.c:209
if (c == '\0') {
-20001194: | | | | | 0ff5f593 andi a1,a1,255
-20001198: | | | | /--|----------- 02cd6b63 bltu s10,a2,200011ce <base_vfprintf+0xf0>
+200011b0: | | | | | 0ff5f593 andi a1,a1,255
+200011b4: | | | | /--|----------- 02cd6b63 bltu s10,a2,200011ea <base_vfprintf+0xf0>
/proc/self/cwd/sw/device/lib/runtime/print.c:216
if (spec->padding == 0) {
-2000119c: | | | | | | 0ff57613 andi a2,a0,255
-200011a0: | | | | | | /-- ca19 beqz a2,200011b6 <base_vfprintf+0xd8>
+200011b8: | | | | | | 0ff57613 andi a2,a0,255
+200011bc: | | | | | | /-- ca19 beqz a2,200011d2 <base_vfprintf+0xd8>
/proc/self/cwd/sw/device/lib/runtime/print.c:224
spec->width *= 10;
-200011a2: | | | | | | /--|-> 03448633 mul a2,s1,s4
+200011be: | | | | | | /--|-> 03448633 mul a2,s1,s4
/proc/self/cwd/sw/device/lib/runtime/print.c:225
spec->width += (c - '0');
-200011a6: | | | | | | | | 95b2 add a1,a1,a2
-200011a8: | | | | | | | | fd058493 addi s1,a1,-48
+200011c2: | | | | | | | | 95b2 add a1,a1,a2
+200011c4: | | | | | | | | fd058493 addi s1,a1,-48
/proc/self/cwd/sw/device/lib/runtime/print.c:208
char c = (*format)[spec_len];
-200011ac: | | | | | | /--|--|-> 000cc583 lbu a1,0(s9)
+200011c8: | | | | | | /--|--|-> 000cc583 lbu a1,0(s9)
/proc/self/cwd/sw/device/lib/runtime/print.c:209
if (c == '\0') {
-200011b0: | | | | | | | | | 0c85 addi s9,s9,1
-200011b2: | | | | | \--|--|--|-- fde9 bnez a1,2000118c <base_vfprintf+0xae>
-200011b4: | | | +-----------------------------|-----|--|--|-- a6b9 j 20001502 <base_vfprintf+0x424>
-200011b6: | | | | | | | \-> 02000b93 li s7,32
-200011ba: | | | | | | | 03000613 li a2,48
-200011be: | | | | | | | 02000513 li a0,32
-200011c2: | | | | | | \----- fec590e3 bne a1,a2,200011a2 <base_vfprintf+0xc4>
-200011c6: | | | | | | 03000513 li a0,48
-200011ca: | | | | | | 8bb2 mv s7,a2
-200011cc: | | | | | \-------- b7c5 j 200011ac <base_vfprintf+0xce>
+200011cc: | | | | | | | | | 0c85 addi s9,s9,1
+200011ce: | | | | | \--|--|--|-- fde9 bnez a1,200011a8 <base_vfprintf+0xae>
+200011d0: | | | +-----------------------------|-----|--|--|-- a6b9 j 2000151e <base_vfprintf+0x424>
+200011d2: | | | | | | | \-> 02000b93 li s7,32
+200011d6: | | | | | | | 03000613 li a2,48
+200011da: | | | | | | | 02000513 li a0,32
+200011de: | | | | | | \----- fec590e3 bne a1,a2,200011be <base_vfprintf+0xc4>
+200011e2: | | | | | | 03000513 li a0,48
+200011e6: | | | | | | 8bb2 mv s7,a2
+200011e8: | | | | | \-------- b7c5 j 200011c8 <base_vfprintf+0xce>
/proc/self/cwd/sw/device/lib/runtime/print.c:229
if ((spec->width == 0 && spec->padding != 0) || spec->width > 32) {
-200011ce: | | | | \-----------/-X c481 beqz s1,200011d6 <base_vfprintf+0xf8>
-200011d0: | | | | /--|-- 00e4e763 bltu s1,a4,200011de <base_vfprintf+0x100>
-200011d4: | | | | /-----------------------------------|--|-- a68d j 20001536 <base_vfprintf+0x458>
-200011d6: | | | | | | \-> 0ff57513 andi a0,a0,255
-200011da: | | | | +-----------------------------------|----- 34051e63 bnez a0,20001536 <base_vfprintf+0x458>
+200011ea: | | | | \-----------/-X c481 beqz s1,200011f2 <base_vfprintf+0xf8>
+200011ec: | | | | /--|-- 00e4e763 bltu s1,a4,200011fa <base_vfprintf+0x100>
+200011f0: | | | | /-----------------------------------|--|-- a68d j 20001552 <base_vfprintf+0x458>
+200011f2: | | | | | | \-> 0ff57513 andi a0,a0,255
+200011f6: | | | | +-----------------------------------|----- 34051e63 bnez a0,20001552 <base_vfprintf+0x458>
process_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:371
switch (spec.type) {
-200011de: | | | | | \----> fa858513 addi a0,a1,-88
-200011e2: | | | | | /----- 04a76963 bltu a4,a0,20001234 <base_vfprintf+0x156>
-200011e6: | | | | | | 050a slli a0,a0,0x2
-200011e8: | | | | | | 00001597 auipc a1,0x1
-200011ec: | | | | | | 5dc58593 addi a1,a1,1500 # 200027c4 <exception_reason+0x124>
-200011f0: | | | | | | 952e add a0,a0,a1
-200011f2: | | | | | | 4108 lw a0,0(a0)
-200011f4: | | | | | | 8502 jr a0
+200011fa: | | | | | \----> fa858513 addi a0,a1,-88
+200011fe: | | | | | /----- 04a76963 bltu a4,a0,20001250 <base_vfprintf+0x156>
+20001202: | | | | | | 050a slli a0,a0,0x2
+20001204: | | | | | | 00001597 auipc a1,0x1
+20001208: | | | | | | 64058593 addi a1,a1,1600 # 20002844 <exception_reason+0x124>
+2000120c: | | | | | | 952e add a0,a0,a1
+2000120e: | | | | | | 4108 lw a0,0(a0)
+20001210: | | | | | | 8502 jr a0
/proc/self/cwd/sw/device/lib/runtime/print.c:405
if (spec.is_nonstd) {
-200011f6: | | | | | /--------------------------------|----- 2c0d9063 bnez s11,200014b6 <base_vfprintf+0x3d8>
+20001212: | | | | | /--------------------------------|----- 2c0d9063 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:408
uint32_t value = va_arg(*args, uint32_t);
-200011fa: | | | | | | | 4512 lw a0,4(sp)
-200011fc: | | | | | | | 00450593 addi a1,a0,4
-20001200: | | | | | | | c22e sw a1,4(sp)
-20001202: | | | | | | | 00052b03 lw s6,0(a0)
+20001216: | | | | | | | 4512 lw a0,4(sp)
+20001218: | | | | | | | 00450593 addi a1,a0,4
+2000121c: | | | | | | | c22e sw a1,4(sp)
+2000121e: | | | | | | | 00052b03 lw s6,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:409
if (((int32_t)value) < 0) {
-20001206: | | | | | | | /-- 000b5c63 bgez s6,2000121e <base_vfprintf+0x140>
+20001222: | | | | | | | /-- 000b5c63 bgez s6,2000123a <base_vfprintf+0x140>
/proc/self/cwd/sw/device/lib/runtime/print.c:410
*bytes_written += out.sink(out.data, "-", 1);
-2000120a: | | | | | | | | 00001597 auipc a1,0x1
-2000120e: | | | | | | | | 65158593 addi a1,a1,1617 # 2000285b <exception_reason+0x1bb>
-20001212: | | | | | | | | 4605 li a2,1
-20001214: | | | | | | | | 854a mv a0,s2
-20001216: | | | | | | | | 9982 jalr s3
-20001218: | | | | | | | | 9aaa add s5,s5,a0
+20001226: | | | | | | | | 00001597 auipc a1,0x1
+2000122a: | | | | | | | | 6b558593 addi a1,a1,1717 # 200028db <exception_reason+0x1bb>
+2000122e: | | | | | | | | 4605 li a2,1
+20001230: | | | | | | | | 854a mv a0,s2
+20001232: | | | | | | | | 9982 jalr s3
+20001234: | | | | | | | | 9aaa add s5,s5,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:411
value = -value;
-2000121a: | | | | | | | | 41600b33 neg s6,s6
+20001236: | | | | | | | | 41600b33 neg s6,s6
/proc/self/cwd/sw/device/lib/runtime/print.c:414
write_digits(out, value, spec.width, spec.padding, 10, kDigitsLow);
-2000121e: | | | | | | | \-> 0ffbf713 andi a4,s7,255
-20001222: | | | | | | | 00001817 auipc a6,0x1
-20001226: | | | | | | | 64d80813 addi a6,a6,1613 # 2000286f <kDigitsLow>
-2000122a: | | | | | | | 47a9 li a5,10
-2000122c: | | | | | | | 854a mv a0,s2
-2000122e: | | | | | | | 85ce mv a1,s3
-20001230: | | | | | | | 865a mv a2,s6
-20001232: | | | | | | /-----------------------------|----- ac81 j 20001482 <base_vfprintf+0x3a4>
+2000123a: | | | | | | | \-> 0ffbf713 andi a4,s7,255
+2000123e: | | | | | | | 00001817 auipc a6,0x1
+20001242: | | | | | | | 6b180813 addi a6,a6,1713 # 200028ef <kDigitsLow>
+20001246: | | | | | | | 47a9 li a5,10
+20001248: | | | | | | | 854a mv a0,s2
+2000124a: | | | | | | | 85ce mv a1,s3
+2000124c: | | | | | | | 865a mv a2,s6
+2000124e: | | | | | | /-----------------------------|----- ac81 j 2000149e <base_vfprintf+0x3a4>
/proc/self/cwd/sw/device/lib/runtime/print.c:371
switch (spec.type) {
-20001234: | | | | | | | \----> 04800513 li a0,72
-20001238: | | | | | | | /-- 02a58d63 beq a1,a0,20001272 <base_vfprintf+0x194>
-2000123c: | | | | | +--|--------------------------------|-- 27859d63 bne a1,s8,200014b6 <base_vfprintf+0x3d8>
-20001240: | | | | | +--|--------------------------------|-- 260d9b63 bnez s11,200014b6 <base_vfprintf+0x3d8>
+20001250: | | | | | | | \----> 04800513 li a0,72
+20001254: | | | | | | | /-- 02a58d63 beq a1,a0,2000128e <base_vfprintf+0x194>
+20001258: | | | | | +--|--------------------------------|-- 27859d63 bne a1,s8,200014d2 <base_vfprintf+0x3d8>
+2000125c: | | | | | +--|--------------------------------|-- 260d9b63 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:376
*bytes_written += out.sink(out.data, "%", 1);
-20001244: | | | | | | | | 00001597 auipc a1,0x1
-20001248: | | | | | | | | 61558593 addi a1,a1,1557 # 20002859 <exception_reason+0x1b9>
-2000124c: | | | | | | | /--|-- a851 j 200012e0 <base_vfprintf+0x202>
+20001260: | | | | | | | | 00001597 auipc a1,0x1
+20001264: | | | | | | | | 67958593 addi a1,a1,1657 # 200028d9 <exception_reason+0x1b9>
+20001268: | | | | | | | /--|-- a851 j 200012fc <base_vfprintf+0x202>
/proc/self/cwd/sw/device/lib/runtime/print.c:458
if (spec.is_nonstd) {
-2000124e: | | | | | | | | +-- 020d8263 beqz s11,20001272 <base_vfprintf+0x194>
+2000126a: | | | | | | | | +-- 020d8263 beqz s11,2000128e <base_vfprintf+0x194>
/proc/self/cwd/sw/device/lib/runtime/print.c:459
size_t len = va_arg(*args, size_t);
-20001252: | | | | | | | | | 4512 lw a0,4(sp)
-20001254: | | | | | | | | | 00450593 addi a1,a0,4
-20001258: | | | | | | | | | c22e sw a1,4(sp)
-2000125a: | | | | | | | | | 4114 lw a3,0(a0)
+2000126e: | | | | | | | | | 4512 lw a0,4(sp)
+20001270: | | | | | | | | | 00450593 addi a1,a0,4
+20001274: | | | | | | | | | c22e sw a1,4(sp)
+20001276: | | | | | | | | | 4114 lw a3,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:460
char *value = va_arg(*args, char *);
-2000125c: | | | | | | | | | 00850593 addi a1,a0,8
-20001260: | | | | | | | | | c22e sw a1,4(sp)
-20001262: | | | | | | | | | 4150 lw a2,4(a0)
+20001278: | | | | | | | | | 00850593 addi a1,a0,8
+2000127c: | | | | | | | | | c22e sw a1,4(sp)
+2000127e: | | | | | | | | | 4150 lw a2,4(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:461
*bytes_written += hex_dump(out, value, len, spec.width, spec.padding,
-20001264: | | | | | | | | | 0ffbf793 andi a5,s7,255
-20001268: | | | | | | | | | 00001897 auipc a7,0x1
-2000126c: | | | | | | | | | 63488893 addi a7,a7,1588 # 2000289c <kDigitsHigh>
-20001270: | | | | | | | /-----------|--|-- a2f5 j 2000145c <base_vfprintf+0x37e>
+20001280: | | | | | | | | | 0ffbf793 andi a5,s7,255
+20001284: | | | | | | | | | 00001897 auipc a7,0x1
+20001288: | | | | | | | | | 69888893 addi a7,a7,1688 # 2000291c <kDigitsHigh>
+2000128c: | | | | | | | /-----------|--|-- a2f5 j 20001478 <base_vfprintf+0x37e>
/proc/self/cwd/sw/device/lib/runtime/print.c:467
uint32_t value = va_arg(*args, uint32_t);
-20001272: | | | | | | | | | \-> 4512 lw a0,4(sp)
-20001274: | | | | | | | | | 00450593 addi a1,a0,4
-20001278: | | | | | | | | | c22e sw a1,4(sp)
-2000127a: | | | | | | | | | 4110 lw a2,0(a0)
+2000128e: | | | | | | | | | \-> 4512 lw a0,4(sp)
+20001290: | | | | | | | | | 00450593 addi a1,a0,4
+20001294: | | | | | | | | | c22e sw a1,4(sp)
+20001296: | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:469
write_digits(out, value, spec.width, spec.padding, 16, kDigitsHigh);
-2000127c: | | | | | | | | | 0ffbf713 andi a4,s7,255
-20001280: | | | | | | | | | 00001817 auipc a6,0x1
-20001284: | | | | | | | | | 61c80813 addi a6,a6,1564 # 2000289c <kDigitsHigh>
-20001288: | | | | | | | /--|-----------|----- aad5 j 2000147c <base_vfprintf+0x39e>
+20001298: | | | | | | | | | 0ffbf713 andi a4,s7,255
+2000129c: | | | | | | | | | 00001817 auipc a6,0x1
+200012a0: | | | | | | | | | 68080813 addi a6,a6,1664 # 2000291c <kDigitsHigh>
+200012a4: | | | | | | | /--|-----------|----- aad5 j 20001498 <base_vfprintf+0x39e>
/proc/self/cwd/sw/device/lib/runtime/print.c:483
if (!spec.is_nonstd) {
-2000128a: | | | | | +--|--------------|--|-----------|----- 220d8663 beqz s11,200014b6 <base_vfprintf+0x3d8>
+200012a6: | | | | | +--|--------------|--|-----------|----- 220d8663 beqz s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:486
size_t len = va_arg(*args, size_t);
-2000128e: | | | | | | | | | | 4512 lw a0,4(sp)
-20001290: | | | | | | | | | | 00450593 addi a1,a0,4
-20001294: | | | | | | | | | | c22e sw a1,4(sp)
-20001296: | | | | | | | | | | 4114 lw a3,0(a0)
+200012aa: | | | | | | | | | | 4512 lw a0,4(sp)
+200012ac: | | | | | | | | | | 00450593 addi a1,a0,4
+200012b0: | | | | | | | | | | c22e sw a1,4(sp)
+200012b2: | | | | | | | | | | 4114 lw a3,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:487
char *value = va_arg(*args, char *);
-20001298: | | | | | | | | | | 00850593 addi a1,a0,8
-2000129c: | | | | | | | | | | c22e sw a1,4(sp)
-2000129e: | | | | | | | | | | 4150 lw a2,4(a0)
+200012b4: | | | | | | | | | | 00850593 addi a1,a0,8
+200012b8: | | | | | | | | | | c22e sw a1,4(sp)
+200012ba: | | | | | | | | | | 4150 lw a2,4(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:488
*bytes_written += hex_dump(out, value, len, spec.width, spec.padding,
-200012a0: | | | | | | | | | | 0ffbf793 andi a5,s7,255
-200012a4: | | | | | | | | | | 00001897 auipc a7,0x1
-200012a8: | | | | | | | | | | 5f888893 addi a7,a7,1528 # 2000289c <kDigitsHigh>
-200012ac: | | | | | | | /--|--|-----------|----- aafd j 200014aa <base_vfprintf+0x3cc>
-200012ae: | | | | | | | | | | | 4512 lw a0,4(sp)
-200012b0: | | | | | | | | | | | 00450593 addi a1,a0,4
-200012b4: | | | | | | | | | | | c22e sw a1,4(sp)
-200012b6: | | | | | | | | | | | 4110 lw a2,0(a0)
+200012bc: | | | | | | | | | | 0ffbf793 andi a5,s7,255
+200012c0: | | | | | | | | | | 00001897 auipc a7,0x1
+200012c4: | | | | | | | | | | 65c88893 addi a7,a7,1628 # 2000291c <kDigitsHigh>
+200012c8: | | | | | | | /--|--|-----------|----- aafd j 200014c6 <base_vfprintf+0x3cc>
+200012ca: | | | | | | | | | | | 4512 lw a0,4(sp)
+200012cc: | | | | | | | | | | | 00450593 addi a1,a0,4
+200012d0: | | | | | | | | | | | c22e sw a1,4(sp)
+200012d2: | | | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:502
if (spec.is_nonstd) {
-200012b8: | | | | | | | /--|--|--|-----------|----- 200d8c63 beqz s11,200014d0 <base_vfprintf+0x3f2>
+200012d4: | | | | | | | /--|--|--|-----------|----- 200d8c63 beqz s11,200014ec <base_vfprintf+0x3f2>
/proc/self/cwd/sw/device/lib/runtime/print.c:505
if (va_arg(*args, int) != 0) {
-200012bc: | | | | | | | /-----|--|--|--|-----------|----- 22060d63 beqz a2,200014f6 <base_vfprintf+0x418>
+200012d8: | | | | | | | /-----|--|--|--|-----------|----- 22060d63 beqz a2,20001512 <base_vfprintf+0x418>
/proc/self/cwd/sw/device/lib/runtime/print.c:506
*bytes_written += out.sink(out.data, "true", 4);
-200012c0: | | | | | | | | | | | | | 00001597 auipc a1,0x1
-200012c4: | | | | | | | | | | | | | 5a058593 addi a1,a1,1440 # 20002860 <exception_reason+0x1c0>
-200012c8: | | | | | | | | | | | | | 4611 li a2,4
-200012ca: | | | | | | | | /--|--|--|--|-----------|----- aadd j 200014c0 <base_vfprintf+0x3e2>
+200012dc: | | | | | | | | | | | | | 00001597 auipc a1,0x1
+200012e0: | | | | | | | | | | | | | 60458593 addi a1,a1,1540 # 200028e0 <exception_reason+0x1c0>
+200012e4: | | | | | | | | | | | | | 4611 li a2,4
+200012e6: | | | | | | | | /--|--|--|--|-----------|----- aadd j 200014dc <base_vfprintf+0x3e2>
/proc/self/cwd/sw/device/lib/runtime/print.c:380
if (spec.is_nonstd) {
-200012cc: | | | | | +--|--|--|--|--|--|--|-----------|----- 1e0d9563 bnez s11,200014b6 <base_vfprintf+0x3d8>
+200012e8: | | | | | +--|--|--|--|--|--|--|-----------|----- 1e0d9563 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:383
char value = (char)va_arg(*args, uint32_t);
-200012d0: | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-200012d2: | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-200012d6: | | | | | | | | | | | | | | c22e sw a1,4(sp)
-200012d8: | | | | | | | | | | | | | | 4108 lw a0,0(a0)
-200012da: | | | | | | | | | | | | | | 00a10a23 sb a0,20(sp)
+200012ec: | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+200012ee: | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+200012f2: | | | | | | | | | | | | | | c22e sw a1,4(sp)
+200012f4: | | | | | | | | | | | | | | 4108 lw a0,0(a0)
+200012f6: | | | | | | | | | | | | | | 00a10a23 sb a0,20(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:384
*bytes_written += out.sink(out.data, &value, 1);
-200012de: | | | | | | | | | | | | | | 084c addi a1,sp,20
-200012e0: | | | | | | | | | | | | | \----> 4605 li a2,1
-200012e2: | | | | | | | | +--|--|--|--|----------------- aaf9 j 200014c0 <base_vfprintf+0x3e2>
+200012fa: | | | | | | | | | | | | | | 084c addi a1,sp,20
+200012fc: | | | | | | | | | | | | | \----> 4605 li a2,1
+200012fe: | | | | | | | | +--|--|--|--|----------------- aaf9 j 200014dc <base_vfprintf+0x3e2>
/proc/self/cwd/sw/device/lib/runtime/print.c:418
if (spec.is_nonstd) {
-200012e4: | | | | | +--|--|--|--|--|--|--|----------------- 1c0d9963 bnez s11,200014b6 <base_vfprintf+0x3d8>
+20001300: | | | | | +--|--|--|--|--|--|--|----------------- 1c0d9963 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:421
uint32_t value = va_arg(*args, uint32_t);
-200012e8: | | | | | | | | | | | | | 4512 lw a0,4(sp)
-200012ea: | | | | | | | | | | | | | 00450593 addi a1,a0,4
-200012ee: | | | | | | | | | | | | | c22e sw a1,4(sp)
-200012f0: | | | | | | | | | | | | | 4110 lw a2,0(a0)
+20001304: | | | | | | | | | | | | | 4512 lw a0,4(sp)
+20001306: | | | | | | | | | | | | | 00450593 addi a1,a0,4
+2000130a: | | | | | | | | | | | | | c22e sw a1,4(sp)
+2000130c: | | | | | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:423
write_digits(out, value, spec.width, spec.padding, 8, kDigitsLow);
-200012f2: | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
-200012f6: | | | | | | | | | | | | | 00001817 auipc a6,0x1
-200012fa: | | | | | | | | | | | | | 57980813 addi a6,a6,1401 # 2000286f <kDigitsLow>
-200012fe: | | | | | | | | | | | | | 47a1 li a5,8
-20001300: | | | | | | | | | | | | | /-------------- aabd j 2000147e <base_vfprintf+0x3a0>
+2000130e: | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
+20001312: | | | | | | | | | | | | | 00001817 auipc a6,0x1
+20001316: | | | | | | | | | | | | | 5dd80813 addi a6,a6,1501 # 200028ef <kDigitsLow>
+2000131a: | | | | | | | | | | | | | 47a1 li a5,8
+2000131c: | | | | | | | | | | | | | /-------------- aabd j 2000149a <base_vfprintf+0x3a0>
/proc/self/cwd/sw/device/lib/runtime/print.c:427
if (spec.is_nonstd) {
-20001302: | | | | | +--|--|--|--|--|--|--|--|-------------- 1a0d9a63 bnez s11,200014b6 <base_vfprintf+0x3d8>
+2000131e: | | | | | +--|--|--|--|--|--|--|--|-------------- 1a0d9a63 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:436
*bytes_written += out.sink(out.data, "0x", 2);
-20001306: | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-2000130a: | | | | | | | | | | | | | | 55758593 addi a1,a1,1367 # 2000285d <exception_reason+0x1bd>
-2000130e: | | | | | | | | | | | | | | 4609 li a2,2
-20001310: | | | | | | | | | | | | | | 854a mv a0,s2
-20001312: | | | | | | | | | | | | | | 9982 jalr s3
+20001322: | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+20001326: | | | | | | | | | | | | | | 5bb58593 addi a1,a1,1467 # 200028dd <exception_reason+0x1bd>
+2000132a: | | | | | | | | | | | | | | 4609 li a2,2
+2000132c: | | | | | | | | | | | | | | 854a mv a0,s2
+2000132e: | | | | | | | | | | | | | | 9982 jalr s3
/proc/self/cwd/sw/device/lib/runtime/print.c:437
uintptr_t value = va_arg(*args, uintptr_t);
-20001314: | | | | | | | | | | | | | | 4592 lw a1,4(sp)
-20001316: | | | | | | | | | | | | | | 00458613 addi a2,a1,4
-2000131a: | | | | | | | | | | | | | | c232 sw a2,4(sp)
-2000131c: | | | | | | | | | | | | | | 4190 lw a2,0(a1)
+20001330: | | | | | | | | | | | | | | 4592 lw a1,4(sp)
+20001332: | | | | | | | | | | | | | | 00458613 addi a2,a1,4
+20001336: | | | | | | | | | | | | | | c232 sw a2,4(sp)
+20001338: | | | | | | | | | | | | | | 4190 lw a2,0(a1)
/proc/self/cwd/sw/device/lib/runtime/print.c:436
*bytes_written += out.sink(out.data, "0x", 2);
-2000131e: | | | | | | | | | | | | | | 01550433 add s0,a0,s5
+2000133a: | | | | | | | | | | | | | | 01550433 add s0,a0,s5
/proc/self/cwd/sw/device/lib/runtime/print.c:439
write_digits(out, value, sizeof(uintptr_t) * 2, '0', 16, kDigitsLow);
-20001322: | | | | | | | | | | | | | | 00001817 auipc a6,0x1
-20001326: | | | | | | | | | | | | | | 54d80813 addi a6,a6,1357 # 2000286f <kDigitsLow>
-2000132a: | | | | | | | | | | | | | | 46a1 li a3,8
-2000132c: | | | | | | | | | | | | | | 03000713 li a4,48
-20001330: | | | | | | | | | | | | | | 47c1 li a5,16
-20001332: | | | | | | | | | | | | | | 854a mv a0,s2
-20001334: | | | | | | | | | | | | | | 85ce mv a1,s3
-20001336: | | | | | | | | | | | | | | 2ccd jal 20001628 <write_digits>
+2000133e: | | | | | | | | | | | | | | 00001817 auipc a6,0x1
+20001342: | | | | | | | | | | | | | | 5b180813 addi a6,a6,1457 # 200028ef <kDigitsLow>
+20001346: | | | | | | | | | | | | | | 46a1 li a3,8
+20001348: | | | | | | | | | | | | | | 03000713 li a4,48
+2000134c: | | | | | | | | | | | | | | 47c1 li a5,16
+2000134e: | | | | | | | | | | | | | | 854a mv a0,s2
+20001350: | | | | | | | | | | | | | | 85ce mv a1,s3
+20001352: | | | | | | | | | | | | | | 2ccd jal 20001644 <write_digits>
/proc/self/cwd/sw/device/lib/runtime/print.c:438
*bytes_written +=
-20001338: | | | | | | | | | | | | | | 00a40ab3 add s5,s0,a0
-2000133c: | | | | | | | | | | | | | | /----------- a269 j 200014c6 <base_vfprintf+0x3e8>
+20001354: | | | | | | | | | | | | | | 00a40ab3 add s5,s0,a0
+20001358: | | | | | | | | | | | | | | /----------- a269 j 200014e2 <base_vfprintf+0x3e8>
/proc/self/cwd/sw/device/lib/runtime/print.c:518
status_t value = va_arg(*args, status_t);
-2000133e: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-20001340: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-20001344: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-20001346: | | | | | | | | | | | | | | | 4108 lw a0,0(a0)
+2000135a: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+2000135c: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+20001360: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+20001362: | | | | | | | | | | | | | | | 4108 lw a0,0(a0)
write_status():
/proc/self/cwd/sw/device/lib/runtime/print.c:280
char mod[] = {'"', 0, 0, 0, '"', ','};
-20001348: | | | | | | | | | | | | | | | 4582 lw a1,0(sp)
-2000134a: | | | | | | | | | | | | | | | 00b11c23 sh a1,24(sp)
-2000134e: | | | | | | | | | | | | | | | 02200593 li a1,34
-20001352: | | | | | | | | | | | | | | | ca2e sw a1,20(sp)
+20001364: | | | | | | | | | | | | | | | 4582 lw a1,0(sp)
+20001366: | | | | | | | | | | | | | | | 00b11c23 sh a1,24(sp)
+2000136a: | | | | | | | | | | | | | | | 02200593 li a1,34
+2000136e: | | | | | | | | | | | | | | | ca2e sw a1,20(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:283
bool err = status_extract(value, &start, &arg, &mod[1]);
-20001354: | | | | | | | | | | | | | | | 006c addi a1,sp,12
-20001356: | | | | | | | | | | | | | | | 0810 addi a2,sp,16
-20001358: | | | | | | | | | | | | | | | 01510693 addi a3,sp,21
-2000135c: | | | | | | | | | | | | | | | 26a9 jal 200016a6 <status_extract>
+20001370: | | | | | | | | | | | | | | | 006c addi a1,sp,12
+20001372: | | | | | | | | | | | | | | | 0810 addi a2,sp,16
+20001374: | | | | | | | | | | | | | | | 01510693 addi a3,sp,21
+20001378: | | | | | | | | | | | | | | | 26a9 jal 200016c2 <status_extract>
/proc/self/cwd/sw/device/lib/runtime/print.c:286
const char *end = start;
-2000135e: | | | | | | | | | | | | | | | 45b2 lw a1,12(sp)
+2000137a: | | | | | | | | | | | | | | | 45b2 lw a1,12(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:283
bool err = status_extract(value, &start, &arg, &mod[1]);
-20001360: | | | | | | | | | | | | | | | 8baa mv s7,a0
+2000137c: | | | | | | | | | | | | | | | 8baa mv s7,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:287
while (*end)
-20001362: | | | | | | | | | | | | | | | fff58413 addi s0,a1,-1
-20001366: | | | | | | | | | | | | | | | /-> 0005c503 lbu a0,0(a1)
+2000137e: | | | | | | | | | | | | | | | fff58413 addi s0,a1,-1
+20001382: | | | | | | | | | | | | | | | /-> 0005c503 lbu a0,0(a1)
/proc/self/cwd/sw/device/lib/runtime/print.c:288
end++;
-2000136a: | | | | | | | | | | | | | | | | 0585 addi a1,a1,1
+20001386: | | | | | | | | | | | | | | | | 0585 addi a1,a1,1
/proc/self/cwd/sw/device/lib/runtime/print.c:287
while (*end)
-2000136c: | | | | | | | | | | | | | | | | 0405 addi s0,s0,1
-2000136e: | | | | | | | | | | | | | | | \-- fd65 bnez a0,20001366 <base_vfprintf+0x288>
+20001388: | | | | | | | | | | | | | | | | 0405 addi s0,s0,1
+2000138a: | | | | | | | | | | | | | | | \-- fd65 bnez a0,20001382 <base_vfprintf+0x288>
/proc/self/cwd/sw/device/lib/runtime/print.c:291
len += out.sink(out.data, "{\"", as_json ? 2 : 0);
-20001370: | | | | | | | | | | | | | | | 001d9613 slli a2,s11,0x1
-20001374: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-20001378: | | | | | | | | | | | | | | | 4f158593 addi a1,a1,1265 # 20002865 <exception_reason+0x1c5>
-2000137c: | | | | | | | | | | | | | | | 854a mv a0,s2
-2000137e: | | | | | | | | | | | | | | | 9982 jalr s3
+2000138c: | | | | | | | | | | | | | | | 001d9613 slli a2,s11,0x1
+20001390: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+20001394: | | | | | | | | | | | | | | | 55558593 addi a1,a1,1365 # 200028e5 <exception_reason+0x1c5>
+20001398: | | | | | | | | | | | | | | | 854a mv a0,s2
+2000139a: | | | | | | | | | | | | | | | 9982 jalr s3
/proc/self/cwd/sw/device/lib/runtime/print.c:292
len += out.sink(out.data, start, end - start);
-20001380: | | | | | | | | | | | | | | | 45b2 lw a1,12(sp)
+2000139c: | | | | | | | | | | | | | | | 45b2 lw a1,12(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:291
len += out.sink(out.data, "{\"", as_json ? 2 : 0);
-20001382: | | | | | | | | | | | | | | | 84aa mv s1,a0
+2000139e: | | | | | | | | | | | | | | | 84aa mv s1,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:292
len += out.sink(out.data, start, end - start);
-20001384: | | | | | | | | | | | | | | | 40b40633 sub a2,s0,a1
-20001388: | | | | | | | | | | | | | | | 854a mv a0,s2
-2000138a: | | | | | | | | | | | | | | | 9982 jalr s3
-2000138c: | | | | | | | | | | | | | | | 00950433 add s0,a0,s1
+200013a0: | | | | | | | | | | | | | | | 40b40633 sub a2,s0,a1
+200013a4: | | | | | | | | | | | | | | | 854a mv a0,s2
+200013a6: | | | | | | | | | | | | | | | 9982 jalr s3
+200013a8: | | | | | | | | | | | | | | | 00950433 add s0,a0,s1
/proc/self/cwd/sw/device/lib/runtime/print.c:293
len += out.sink(out.data, "\"", as_json ? 1 : 0);
-20001390: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-20001394: | | | | | | | | | | | | | | | 4d658593 addi a1,a1,1238 # 20002866 <exception_reason+0x1c6>
-20001398: | | | | | | | | | | | | | | | 854a mv a0,s2
-2000139a: | | | | | | | | | | | | | | | 865a mv a2,s6
-2000139c: | | | | | | | | | | | | | | | 9982 jalr s3
-2000139e: | | | | | | | | | | | | | | | 942a add s0,s0,a0
+200013ac: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+200013b0: | | | | | | | | | | | | | | | 53a58593 addi a1,a1,1338 # 200028e6 <exception_reason+0x1c6>
+200013b4: | | | | | | | | | | | | | | | 854a mv a0,s2
+200013b6: | | | | | | | | | | | | | | | 865a mv a2,s6
+200013b8: | | | | | | | | | | | | | | | 9982 jalr s3
+200013ba: | | | | | | | | | | | | | | | 942a add s0,s0,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:296
len += out.sink(out.data, ":[", 2);
-200013a0: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-200013a4: | | | | | | | | | | | | | | | 4c858593 addi a1,a1,1224 # 20002868 <exception_reason+0x1c8>
-200013a8: | | | | | | | | | | | | | | | 4609 li a2,2
-200013aa: | | | | | | | | | | | | | | | 854a mv a0,s2
-200013ac: | | | | | | | | | | | | | | | 9982 jalr s3
-200013ae: | | | | | | | | | | | | | | | 00a40db3 add s11,s0,a0
+200013bc: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+200013c0: | | | | | | | | | | | | | | | 52c58593 addi a1,a1,1324 # 200028e8 <exception_reason+0x1c8>
+200013c4: | | | | | | | | | | | | | | | 4609 li a2,2
+200013c6: | | | | | | | | | | | | | | | 854a mv a0,s2
+200013c8: | | | | | | | | | | | | | | | 9982 jalr s3
+200013ca: | | | | | | | | | | | | | | | 00a40db3 add s11,s0,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:297
if (err) {
-200013b2: | | | | | | | | | | | | | | | /-- 000b8763 beqz s7,200013c0 <base_vfprintf+0x2e2>
+200013ce: | | | | | | | | | | | | | | | /-- 000b8763 beqz s7,200013dc <base_vfprintf+0x2e2>
/proc/self/cwd/sw/device/lib/runtime/print.c:299
len += out.sink(out.data, mod, sizeof(mod));
-200013b6: | | | | | | | | | | | | | | | | 084c addi a1,sp,20
-200013b8: | | | | | | | | | | | | | | | | 4619 li a2,6
-200013ba: | | | | | | | | | | | | | | | | 854a mv a0,s2
-200013bc: | | | | | | | | | | | | | | | | 9982 jalr s3
-200013be: | | | | | | | | | | | | | | | | 9daa add s11,s11,a0
+200013d2: | | | | | | | | | | | | | | | | 084c addi a1,sp,20
+200013d4: | | | | | | | | | | | | | | | | 4619 li a2,6
+200013d6: | | | | | | | | | | | | | | | | 854a mv a0,s2
+200013d8: | | | | | | | | | | | | | | | | 9982 jalr s3
+200013da: | | | | | | | | | | | | | | | | 9daa add s11,s11,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:301
len += write_digits(out, arg, 0, 0, 10, kDigitsLow);
-200013c0: | | | | | | | | | | | | | | | \-> 4642 lw a2,16(sp)
-200013c2: | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
-200013c6: | | | | | | | | | | | | | | | 4ad80813 addi a6,a6,1197 # 2000286f <kDigitsLow>
-200013ca: | | | | | | | | | | | | | | | 47a9 li a5,10
-200013cc: | | | | | | | | | | | | | | | 854a mv a0,s2
-200013ce: | | | | | | | | | | | | | | | 85ce mv a1,s3
-200013d0: | | | | | | | | | | | | | | | 4681 li a3,0
-200013d2: | | | | | | | | | | | | | | | 4701 li a4,0
-200013d4: | | | | | | | | | | | | | | | 2c91 jal 20001628 <write_digits>
-200013d6: | | | | | | | | | | | | | | | 8baa mv s7,a0
+200013dc: | | | | | | | | | | | | | | | \-> 4642 lw a2,16(sp)
+200013de: | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
+200013e2: | | | | | | | | | | | | | | | 51180813 addi a6,a6,1297 # 200028ef <kDigitsLow>
+200013e6: | | | | | | | | | | | | | | | 47a9 li a5,10
+200013e8: | | | | | | | | | | | | | | | 854a mv a0,s2
+200013ea: | | | | | | | | | | | | | | | 85ce mv a1,s3
+200013ec: | | | | | | | | | | | | | | | 4681 li a3,0
+200013ee: | | | | | | | | | | | | | | | 4701 li a4,0
+200013f0: | | | | | | | | | | | | | | | 2c91 jal 20001644 <write_digits>
+200013f2: | | | | | | | | | | | | | | | 8baa mv s7,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:302
len += out.sink(out.data, "]", 1);
-200013d8: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-200013dc: | | | | | | | | | | | | | | | 49358593 addi a1,a1,1171 # 2000286b <exception_reason+0x1cb>
-200013e0: | | | | | | | | | | | | | | | 4605 li a2,1
-200013e2: | | | | | | | | | | | | | | | 854a mv a0,s2
-200013e4: | | | | | | | | | | | | | | | 9982 jalr s3
-200013e6: | | | | | | | | | | | | | | | 84aa mv s1,a0
+200013f4: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+200013f8: | | | | | | | | | | | | | | | 4f758593 addi a1,a1,1271 # 200028eb <exception_reason+0x1cb>
+200013fc: | | | | | | | | | | | | | | | 4605 li a2,1
+200013fe: | | | | | | | | | | | | | | | 854a mv a0,s2
+20001400: | | | | | | | | | | | | | | | 9982 jalr s3
+20001402: | | | | | | | | | | | | | | | 84aa mv s1,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:303
len += out.sink(out.data, "}", as_json ? 1 : 0);
-200013e8: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
-200013ec: | | | | | | | | | | | | | | | 48558593 addi a1,a1,1157 # 2000286d <exception_reason+0x1cd>
-200013f0: | | | | | | | | | | | | | | | 854a mv a0,s2
-200013f2: | | | | | | | | | | | | | | | 865a mv a2,s6
-200013f4: | | | | | | | | | | | | | | | 9982 jalr s3
+20001404: | | | | | | | | | | | | | | | 00001597 auipc a1,0x1
+20001408: | | | | | | | | | | | | | | | 4e958593 addi a1,a1,1257 # 200028ed <exception_reason+0x1cd>
+2000140c: | | | | | | | | | | | | | | | 854a mv a0,s2
+2000140e: | | | | | | | | | | | | | | | 865a mv a2,s6
+20001410: | | | | | | | | | | | | | | | 9982 jalr s3
/proc/self/cwd/sw/device/lib/runtime/print.c:301
len += write_digits(out, arg, 0, 0, 10, kDigitsLow);
-200013f6: | | | | | | | | | | | | | | | 015d85b3 add a1,s11,s5
+20001412: | | | | | | | | | | | | | | | 015d85b3 add a1,s11,s5
/proc/self/cwd/sw/device/lib/runtime/print.c:302
len += out.sink(out.data, "]", 1);
-200013fa: | | | | | | | | | | | | | | | 95de add a1,a1,s7
+20001416: | | | | | | | | | | | | | | | 95de add a1,a1,s7
/proc/self/cwd/sw/device/lib/runtime/print.c:303
len += out.sink(out.data, "}", as_json ? 1 : 0);
-200013fc: | | | | | | | | | | | | | | | 95a6 add a1,a1,s1
+20001418: | | | | | | | | | | | | | | | 95a6 add a1,a1,s1
process_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:519
*bytes_written += write_status(out, value, spec.is_nonstd);
-200013fe: | | | | | | | | | | | | | | | 00a58ab3 add s5,a1,a0
-20001402: | | | | | | | | | | | | | | +----------- a0d1 j 200014c6 <base_vfprintf+0x3e8>
-20001404: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-20001406: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-2000140a: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+2000141a: | | | | | | | | | | | | | | | 00a58ab3 add s5,a1,a0
+2000141e: | | | | | | | | | | | | | | +----------- a0d1 j 200014e2 <base_vfprintf+0x3e8>
+20001420: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+20001422: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+20001426: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
/proc/self/cwd/sw/device/lib/runtime/print.c:389
if (spec.is_nonstd) {
-2000140c: | | | | | | | | | | | | | | | /-------- 0c0d8a63 beqz s11,200014e0 <base_vfprintf+0x402>
+20001428: | | | | | | | | | | | | | | | /-------- 0c0d8a63 beqz s11,200014fc <base_vfprintf+0x402>
/proc/self/cwd/sw/device/lib/runtime/print.c:391
len = va_arg(*args, size_t);
-20001410: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
+2000142c: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:394
char *value = va_arg(*args, char *);
-20001412: | | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
-20001416: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-20001418: | | | | | | | | | | | | | | | | 414c lw a1,4(a0)
-2000141a: | | | | | | | | +--|--|--|--|--|--|--|-------- a05d j 200014c0 <base_vfprintf+0x3e2>
+2000142e: | | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
+20001432: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+20001434: | | | | | | | | | | | | | | | | 414c lw a1,4(a0)
+20001436: | | | | | | | | +--|--|--|--|--|--|--|-------- a05d j 200014dc <base_vfprintf+0x3e2>
/proc/self/cwd/sw/device/lib/runtime/print.c:493
if (spec.is_nonstd) {
-2000141c: | | | | | +--|--|--|--|--|--|--|--|--|--|-------- 080d9d63 bnez s11,200014b6 <base_vfprintf+0x3d8>
+20001438: | | | | | +--|--|--|--|--|--|--|--|--|--|-------- 080d9d63 bnez s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:496
uint32_t value = va_arg(*args, uint32_t);
-20001420: | | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-20001422: | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-20001426: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-20001428: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
+2000143c: | | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+2000143e: | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+20001442: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+20001444: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:498
write_digits(out, value, spec.width, spec.padding, 10, kDigitsLow);
-2000142a: | | | | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
-2000142e: | | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
-20001432: | | | | | | | | | | | | | | | | 44180813 addi a6,a6,1089 # 2000286f <kDigitsLow>
-20001436: | | | | | | | | | | | | | | | | 47a9 li a5,10
-20001438: | | | | | | | | | | | | | +--|--|-------- a099 j 2000147e <base_vfprintf+0x3a0>
+20001446: | | | | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
+2000144a: | | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
+2000144e: | | | | | | | | | | | | | | | | 4a580813 addi a6,a6,1189 # 200028ef <kDigitsLow>
+20001452: | | | | | | | | | | | | | | | | 47a9 li a5,10
+20001454: | | | | | | | | | | | | | +--|--|-------- a099 j 2000149a <base_vfprintf+0x3a0>
/proc/self/cwd/sw/device/lib/runtime/print.c:443
if (spec.is_nonstd) {
-2000143a: | | | | | | | | | | | | | | | | /-- 020d8663 beqz s11,20001466 <base_vfprintf+0x388>
+20001456: | | | | | | | | | | | | | | | | /-- 020d8663 beqz s11,20001482 <base_vfprintf+0x388>
/proc/self/cwd/sw/device/lib/runtime/print.c:444
size_t len = va_arg(*args, size_t);
-2000143e: | | | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-20001440: | | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-20001444: | | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-20001446: | | | | | | | | | | | | | | | | | 4114 lw a3,0(a0)
+2000145a: | | | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+2000145c: | | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+20001460: | | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+20001462: | | | | | | | | | | | | | | | | | 4114 lw a3,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:445
char *value = va_arg(*args, char *);
-20001448: | | | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
-2000144c: | | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-2000144e: | | | | | | | | | | | | | | | | | 4150 lw a2,4(a0)
+20001464: | | | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
+20001468: | | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+2000146a: | | | | | | | | | | | | | | | | | 4150 lw a2,4(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:446
*bytes_written += hex_dump(out, value, len, spec.width, spec.padding,
-20001450: | | | | | | | | | | | | | | | | | 0ffbf793 andi a5,s7,255
-20001454: | | | | | | | | | | | | | | | | | 00001897 auipc a7,0x1
-20001458: | | | | | | | | | | | | | | | | | 41b88893 addi a7,a7,1051 # 2000286f <kDigitsLow>
-2000145c: | | | | | | | | | | | | \--|--|--|-----|-> 4805 li a6,1
-2000145e: | | | | | | | | | | | | | | | | 854a mv a0,s2
-20001460: | | | | | | | | | | | | | | | | 85ce mv a1,s3
-20001462: | | | | | | | | | | | | | | | | 8726 mv a4,s1
-20001464: | | | | | | | | | | | | | | | /--|-- a0b9 j 200014b2 <base_vfprintf+0x3d4>
+2000146c: | | | | | | | | | | | | | | | | | 0ffbf793 andi a5,s7,255
+20001470: | | | | | | | | | | | | | | | | | 00001897 auipc a7,0x1
+20001474: | | | | | | | | | | | | | | | | | 47f88893 addi a7,a7,1151 # 200028ef <kDigitsLow>
+20001478: | | | | | | | | | | | | \--|--|--|-----|-> 4805 li a6,1
+2000147a: | | | | | | | | | | | | | | | | 854a mv a0,s2
+2000147c: | | | | | | | | | | | | | | | | 85ce mv a1,s3
+2000147e: | | | | | | | | | | | | | | | | 8726 mv a4,s1
+20001480: | | | | | | | | | | | | | | | /--|-- a0b9 j 200014ce <base_vfprintf+0x3d4>
/proc/self/cwd/sw/device/lib/runtime/print.c:452
uint32_t value = va_arg(*args, uint32_t);
-20001466: | | | | | | | | | | | | | | | | \-> 4512 lw a0,4(sp)
-20001468: | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-2000146c: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-2000146e: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
+20001482: | | | | | | | | | | | | | | | | \-> 4512 lw a0,4(sp)
+20001484: | | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+20001488: | | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+2000148a: | | | | | | | | | | | | | | | | 4110 lw a2,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:454
write_digits(out, value, spec.width, spec.padding, 16, kDigitsLow);
-20001470: | | | | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
-20001474: | | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
-20001478: | | | | | | | | | | | | | | | | 3fb80813 addi a6,a6,1019 # 2000286f <kDigitsLow>
-2000147c: | | | | | | | | | | | \-----|--|--|--|----> 47c1 li a5,16
-2000147e: | | | | | | | | | | | >--|--|--|----> 854a mv a0,s2
-20001480: | | | | | | | | | | | | | | | 85ce mv a1,s3
-20001482: | | | | | | \--|--|--|--|--------|--|--|--|----> 86a6 mv a3,s1
-20001484: | | | | | | | | | | | | | | 2255 jal 20001628 <write_digits>
-20001486: | | | | | | | | | | | | | | /-- a83d j 200014c4 <base_vfprintf+0x3e6>
+2000148c: | | | | | | | | | | | | | | | | 0ffbf713 andi a4,s7,255
+20001490: | | | | | | | | | | | | | | | | 00001817 auipc a6,0x1
+20001494: | | | | | | | | | | | | | | | | 45f80813 addi a6,a6,1119 # 200028ef <kDigitsLow>
+20001498: | | | | | | | | | | | \-----|--|--|--|----> 47c1 li a5,16
+2000149a: | | | | | | | | | | | >--|--|--|----> 854a mv a0,s2
+2000149c: | | | | | | | | | | | | | | | 85ce mv a1,s3
+2000149e: | | | | | | \--|--|--|--|--------|--|--|--|----> 86a6 mv a3,s1
+200014a0: | | | | | | | | | | | | | | 2255 jal 20001644 <write_digits>
+200014a2: | | | | | | | | | | | | | | /-- a83d j 200014e0 <base_vfprintf+0x3e6>
/proc/self/cwd/sw/device/lib/runtime/print.c:473
if (!spec.is_nonstd) {
-20001488: | | | | | +-----|--|--|--|--------|--|--|--|--|-- 020d8763 beqz s11,200014b6 <base_vfprintf+0x3d8>
+200014a4: | | | | | +-----|--|--|--|--------|--|--|--|--|-- 020d8763 beqz s11,200014d2 <base_vfprintf+0x3d8>
/proc/self/cwd/sw/device/lib/runtime/print.c:476
size_t len = va_arg(*args, size_t);
-2000148c: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
-2000148e: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
-20001492: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-20001494: | | | | | | | | | | | | | | | 4114 lw a3,0(a0)
+200014a8: | | | | | | | | | | | | | | | 4512 lw a0,4(sp)
+200014aa: | | | | | | | | | | | | | | | 00450593 addi a1,a0,4
+200014ae: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+200014b0: | | | | | | | | | | | | | | | 4114 lw a3,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:477
char *value = va_arg(*args, char *);
-20001496: | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
-2000149a: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
-2000149c: | | | | | | | | | | | | | | | 4150 lw a2,4(a0)
+200014b2: | | | | | | | | | | | | | | | 00850593 addi a1,a0,8
+200014b6: | | | | | | | | | | | | | | | c22e sw a1,4(sp)
+200014b8: | | | | | | | | | | | | | | | 4150 lw a2,4(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:478
*bytes_written += hex_dump(out, value, len, spec.width, spec.padding,
-2000149e: | | | | | | | | | | | | | | | 0ffbf793 andi a5,s7,255
-200014a2: | | | | | | | | | | | | | | | 00001897 auipc a7,0x1
-200014a6: | | | | | | | | | | | | | | | 3cd88893 addi a7,a7,973 # 2000286f <kDigitsLow>
-200014aa: | | | | | | | | | \--------|--|--|--|--|-> 854a mv a0,s2
-200014ac: | | | | | | | | | | | | | | 85ce mv a1,s3
-200014ae: | | | | | | | | | | | | | | 8726 mv a4,s1
-200014b0: | | | | | | | | | | | | | | 4801 li a6,0
-200014b2: | | | | | | | | | | | | \--|-> 2841 jal 20001542 <hex_dump>
-200014b4: | | | | | | | | | | | | +-- a801 j 200014c4 <base_vfprintf+0x3e6>
+200014ba: | | | | | | | | | | | | | | | 0ffbf793 andi a5,s7,255
+200014be: | | | | | | | | | | | | | | | 00001897 auipc a7,0x1
+200014c2: | | | | | | | | | | | | | | | 43188893 addi a7,a7,1073 # 200028ef <kDigitsLow>
+200014c6: | | | | | | | | | \--------|--|--|--|--|-> 854a mv a0,s2
+200014c8: | | | | | | | | | | | | | | 85ce mv a1,s3
+200014ca: | | | | | | | | | | | | | | 8726 mv a4,s1
+200014cc: | | | | | | | | | | | | | | 4801 li a6,0
+200014ce: | | | | | | | | | | | | \--|-> 2841 jal 2000155e <hex_dump>
+200014d0: | | | | | | | | | | | | +-- a801 j 200014e0 <base_vfprintf+0x3e6>
/proc/self/cwd/sw/device/lib/runtime/print.c:524
*bytes_written += out.sink(out.data, kUnknownSpec, sizeof(kUnknownSpec));
-200014b6: | | | | | \-----|--|--|-----------|--|--|-----|-> 00001597 auipc a1,0x1
-200014ba: | | | | | | | | | | | | 3f658593 addi a1,a1,1014 # 200028ac <kUnknownSpec>
-200014be: | | | | | | | | | | | | 463d li a2,15
-200014c0: | | | | | | >--|-----------|--|--|-----|-> 854a mv a0,s2
-200014c2: | | | | | | | | | | | | 9982 jalr s3
-200014c4: | | | | | | | | | | | \-> 9aaa add s5,s5,a0
+200014d2: | | | | | \-----|--|--|-----------|--|--|-----|-> 00001597 auipc a1,0x1
+200014d6: | | | | | | | | | | | | 45a58593 addi a1,a1,1114 # 2000292c <kUnknownSpec>
+200014da: | | | | | | | | | | | | 463d li a2,15
+200014dc: | | | | | | >--|-----------|--|--|-----|-> 854a mv a0,s2
+200014de: | | | | | | | | | | | | 9982 jalr s3
+200014e0: | | | | | | | | | | | \-> 9aaa add s5,s5,a0
base_vfprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:542
while (format[0] != '\0') {
-200014c6: | | | | | | | | | \--|-------> 000cc503 lbu a0,0(s9)
-200014ca: | | \--|--|--------|--|--|-----------|-----|-------- c60510e3 bnez a0,2000112a <base_vfprintf+0x4c>
-200014ce: | +-----|--|--------|--|--|-----------|-----|-------- a0a1 j 20001516 <base_vfprintf+0x438>
+200014e2: | | | | | | | | | \--|-------> 000cc503 lbu a0,0(s9)
+200014e6: | | \--|--|--------|--|--|-----------|-----|-------- c60510e3 bnez a0,20001146 <base_vfprintf+0x4c>
+200014ea: | +-----|--|--------|--|--|-----------|-----|-------- a0a1 j 20001532 <base_vfprintf+0x438>
process_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:514
write_digits(out, value, spec.width, spec.padding, 2, kDigitsLow);
-200014d0: | | | | | | \-----------|-----|-------> 0ffbf713 andi a4,s7,255
-200014d4: | | | | | | | | 00001817 auipc a6,0x1
-200014d8: | | | | | | | | 39b80813 addi a6,a6,923 # 2000286f <kDigitsLow>
-200014dc: | | | | | | | | 4789 li a5,2
-200014de: | | | | | | \-----|-------- b745 j 2000147e <base_vfprintf+0x3a0>
+200014ec: | | | | | | \-----------|-----|-------> 0ffbf713 andi a4,s7,255
+200014f0: | | | | | | | | 00001817 auipc a6,0x1
+200014f4: | | | | | | | | 3ff80813 addi a6,a6,1023 # 200028ef <kDigitsLow>
+200014f8: | | | | | | | | 4789 li a5,2
+200014fa: | | | | | | \-----|-------- b745 j 2000149a <base_vfprintf+0x3a0>
/proc/self/cwd/sw/device/lib/runtime/print.c:394
char *value = va_arg(*args, char *);
-200014e0: | | | | | | \-------> 410c lw a1,0(a0)
-200014e2: | | | | | | 4501 li a0,0
+200014fc: | | | | | | \-------> 410c lw a1,0(a0)
+200014fe: | | | | | | 4501 li a0,0
/proc/self/cwd/sw/device/lib/runtime/print.c:395
while (!spec.is_nonstd && value[len] != '\0') {
-200014e4: | | | | | | /-> 00a58633 add a2,a1,a0
-200014e8: | | | | | | | 00064603 lbu a2,0(a2)
+20001500: | | | | | | /-> 00a58633 add a2,a1,a0
+20001504: | | | | | | | 00064603 lbu a2,0(a2)
/proc/self/cwd/sw/device/lib/runtime/print.c:397
++len;
-200014ec: | | | | | | | 0505 addi a0,a0,1
+20001508: | | | | | | | 0505 addi a0,a0,1
/proc/self/cwd/sw/device/lib/runtime/print.c:395
while (!spec.is_nonstd && value[len] != '\0') {
-200014ee: | | | | | | \-- fa7d bnez a2,200014e4 <base_vfprintf+0x406>
+2000150a: | | | | | | \-- fa7d bnez a2,20001500 <base_vfprintf+0x406>
/proc/self/cwd/sw/device/lib/runtime/print.c:400
*bytes_written += out.sink(out.data, value, len);
-200014f0: | | | | | | fff50613 addi a2,a0,-1
-200014f4: | | | | | +----------------------------- b7f1 j 200014c0 <base_vfprintf+0x3e2>
+2000150c: | | | | | | fff50613 addi a2,a0,-1
+20001510: | | | | | +----------------------------- b7f1 j 200014dc <base_vfprintf+0x3e2>
/proc/self/cwd/sw/device/lib/runtime/print.c:508
*bytes_written += out.sink(out.data, "false", 5);
-200014f6: | | | | \--|----------------------------> 00001597 auipc a1,0x1
-200014fa: | | | | | d7758593 addi a1,a1,-649 # 2000226d <kPerfTests+0x155>
-200014fe: | | | | | 4615 li a2,5
-20001500: | | | | \----------------------------- b7c1 j 200014c0 <base_vfprintf+0x3e2>
+20001512: | | | | \--|----------------------------> 00001597 auipc a1,0x1
+20001516: | | | | | ddb58593 addi a1,a1,-549 # 200022ed <kPerfTests+0x155>
+2000151a: | | | | | 4615 li a2,5
+2000151c: | | | | \----------------------------- b7c1 j 200014dc <base_vfprintf+0x3e2>
consume_format_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:210
*bytes_written += out.sink(out.data, kErrorNul, sizeof(kErrorNul));
-20001502: | | \--|----------------------------------------> 00001597 auipc a1,0x1
-20001506: | | | 37d58593 addi a1,a1,893 # 2000287f <kErrorNul>
-2000150a: | | | 4645 li a2,17
-2000150c: | | | /-> 854a mv a0,s2
-2000150e: | | | | 9982 jalr s3
-20001510: | | | | 9aaa add s5,s5,a0
-20001512: | +--------|--------------------------------------|-- a011 j 20001516 <base_vfprintf+0x438>
-20001514: \--|--------|--------------------------------------|-> 4a81 li s5,0
+2000151e: | | \--|----------------------------------------> 00001597 auipc a1,0x1
+20001522: | | | 3e158593 addi a1,a1,993 # 200028ff <kErrorNul>
+20001526: | | | 4645 li a2,17
+20001528: | | | /-> 854a mv a0,s2
+2000152a: | | | | 9982 jalr s3
+2000152c: | | | | 9aaa add s5,s5,a0
+2000152e: | +--------|--------------------------------------|-- a011 j 20001532 <base_vfprintf+0x438>
+20001530: \--|--------|--------------------------------------|-> 4a81 li s5,0
base_vfprintf():
/proc/self/cwd/sw/device/lib/runtime/print.c:555
@@ -3588,257 +3588,257 @@
va_end(args_copy);
return bytes_written;
-20001516: \--------|--------------------------------------|-> 8556 mv a0,s5
-20001518: | | 4df2 lw s11,28(sp)
-2000151a: | | 5d02 lw s10,32(sp)
-2000151c: | | 5c92 lw s9,36(sp)
-2000151e: | | 5c22 lw s8,40(sp)
-20001520: | | 5bb2 lw s7,44(sp)
-20001522: | | 5b42 lw s6,48(sp)
-20001524: | | 5ad2 lw s5,52(sp)
-20001526: | | 5a62 lw s4,56(sp)
-20001528: | | 59f2 lw s3,60(sp)
-2000152a: | | 4906 lw s2,64(sp)
-2000152c: | | 4496 lw s1,68(sp)
-2000152e: | | 4426 lw s0,72(sp)
-20001530: | | 40b6 lw ra,76(sp)
-20001532: | | 6161 addi sp,sp,80
-20001534: | | 8082 ret
+20001532: \--------|--------------------------------------|-> 8556 mv a0,s5
+20001534: | | 4df2 lw s11,28(sp)
+20001536: | | 5d02 lw s10,32(sp)
+20001538: | | 5c92 lw s9,36(sp)
+2000153a: | | 5c22 lw s8,40(sp)
+2000153c: | | 5bb2 lw s7,44(sp)
+2000153e: | | 5b42 lw s6,48(sp)
+20001540: | | 5ad2 lw s5,52(sp)
+20001542: | | 5a62 lw s4,56(sp)
+20001544: | | 59f2 lw s3,60(sp)
+20001546: | | 4906 lw s2,64(sp)
+20001548: | | 4496 lw s1,68(sp)
+2000154a: | | 4426 lw s0,72(sp)
+2000154c: | | 40b6 lw ra,76(sp)
+2000154e: | | 6161 addi sp,sp,80
+20001550: | | 8082 ret
consume_format_specifier():
/proc/self/cwd/sw/device/lib/runtime/print.c:230
*bytes_written += out.sink(out.data, kErrorTooWide, sizeof(kErrorTooWide));
-20001536: \--------------------------------------|-> 00001597 auipc a1,0x1
-2000153a: | 35a58593 addi a1,a1,858 # 20002890 <kErrorTooWide>
-2000153e: | 4631 li a2,12
-20001540: \-- b7f1 j 2000150c <base_vfprintf+0x42e>
+20001552: \--------------------------------------|-> 00001597 auipc a1,0x1
+20001556: | 3be58593 addi a1,a1,958 # 20002910 <kErrorTooWide>
+2000155a: | 4631 li a2,12
+2000155c: \-- b7f1 j 20001528 <base_vfprintf+0x42e>
-20001542 <hex_dump>:
+2000155e <hex_dump>:
hex_dump():
/proc/self/cwd/sw/device/lib/runtime/print.c:323
const char *glyphs) {
-20001542: 715d addi sp,sp,-80
-20001544: c686 sw ra,76(sp)
-20001546: c4a2 sw s0,72(sp)
-20001548: c2a6 sw s1,68(sp)
-2000154a: c0ca sw s2,64(sp)
-2000154c: de4e sw s3,60(sp)
-2000154e: dc52 sw s4,56(sp)
-20001550: da56 sw s5,52(sp)
-20001552: d85a sw s6,48(sp)
-20001554: d65e sw s7,44(sp)
-20001556: d462 sw s8,40(sp)
-20001558: d266 sw s9,36(sp)
-2000155a: d06a sw s10,32(sp)
-2000155c: 8bc6 mv s7,a7
-2000155e: 8a42 mv s4,a6
-20001560: 8b36 mv s6,a3
-20001562: 8ab2 mv s5,a2
-20001564: 892e mv s2,a1
-20001566: 89aa mv s3,a0
+2000155e: 715d addi sp,sp,-80
+20001560: c686 sw ra,76(sp)
+20001562: c4a2 sw s0,72(sp)
+20001564: c2a6 sw s1,68(sp)
+20001566: c0ca sw s2,64(sp)
+20001568: de4e sw s3,60(sp)
+2000156a: dc52 sw s4,56(sp)
+2000156c: da56 sw s5,52(sp)
+2000156e: d85a sw s6,48(sp)
+20001570: d65e sw s7,44(sp)
+20001572: d462 sw s8,40(sp)
+20001574: d266 sw s9,36(sp)
+20001576: d06a sw s10,32(sp)
+20001578: 8bc6 mv s7,a7
+2000157a: 8a42 mv s4,a6
+2000157c: 8b36 mv s6,a3
+2000157e: 8ab2 mv s5,a2
+20001580: 892e mv s2,a1
+20001582: 89aa mv s3,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:327
if (len < width) {
-20001568: /-------- 02e6fd63 bgeu a3,a4,200015a2 <hex_dump+0x60>
+20001584: /-------- 02e6fd63 bgeu a3,a4,200015be <hex_dump+0x60>
/proc/self/cwd/sw/device/lib/runtime/print.c:328
width -= len;
-2000156c: | 416704b3 sub s1,a4,s6
+20001588: | 416704b3 sub s1,a4,s6
/proc/self/cwd/sw/device/lib/runtime/print.c:329
memset(buf, padding, sizeof(buf));
-20001570: | 850a mv a0,sp
-20001572: | 02000613 li a2,32
-20001576: | 85be mv a1,a5
-20001578: | 197000ef jal ra,20001f0e <memset>
+2000158c: | 850a mv a0,sp
+2000158e: | 02000613 li a2,32
+20001592: | 85be mv a1,a5
+20001594: | 10d000ef jal ra,20001ea0 <memset>
/proc/self/cwd/sw/device/lib/runtime/print.c:330
while (width > 0) {
-2000157c: +-------- c09d beqz s1,200015a2 <hex_dump+0x60>
-2000157e: | 4c01 li s8,0
-20001580: | /----> 02000513 li a0,32
-20001584: | | 8426 mv s0,s1
+20001598: +-------- c09d beqz s1,200015be <hex_dump+0x60>
+2000159a: | 4c01 li s8,0
+2000159c: | /----> 02000513 li a0,32
+200015a0: | | 8426 mv s0,s1
/proc/self/cwd/sw/device/lib/runtime/print.c:331
size_t to_write = width > ARRAYSIZE(buf) ? 32 : width;
-20001586: | | /-- 00a4e463 bltu s1,a0,2000158e <hex_dump+0x4c>
-2000158a: | | | 02000413 li s0,32
+200015a2: | | /-- 00a4e463 bltu s1,a0,200015aa <hex_dump+0x4c>
+200015a6: | | | 02000413 li s0,32
/proc/self/cwd/sw/device/lib/runtime/print.c:332
bytes_written += out.sink(out.data, buf, to_write);
-2000158e: | | \-> 858a mv a1,sp
-20001590: | | 854e mv a0,s3
-20001592: | | 8622 mv a2,s0
-20001594: | | 9902 jalr s2
+200015aa: | | \-> 858a mv a1,sp
+200015ac: | | 854e mv a0,s3
+200015ae: | | 8622 mv a2,s0
+200015b0: | | 9902 jalr s2
/proc/self/cwd/sw/device/lib/runtime/print.c:333
width -= to_write;
-20001596: | | 8c81 sub s1,s1,s0
+200015b2: | | 8c81 sub s1,s1,s0
/proc/self/cwd/sw/device/lib/runtime/print.c:332
bytes_written += out.sink(out.data, buf, to_write);
-20001598: | | 9c2a add s8,s8,a0
+200015b4: | | 9c2a add s8,s8,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:330
while (width > 0) {
-2000159a: | \----- f0fd bnez s1,20001580 <hex_dump+0x3e>
+200015b6: | \----- f0fd bnez s1,2000159c <hex_dump+0x3e>
/proc/self/cwd/sw/device/lib/runtime/print.c:337
for (size_t i = 0; i < len; ++i) {
-2000159c: | /-- 000b1663 bnez s6,200015a8 <hex_dump+0x66>
-200015a0: /--|-----|-- a0ad j 2000160a <hex_dump+0xc8>
-200015a2: | \-----|-> 4c01 li s8,0
-200015a4: +--------|-- 060b0363 beqz s6,2000160a <hex_dump+0xc8>
-200015a8: | \-> 4401 li s0,0
-200015aa: | 4601 li a2,0
-200015ac: | fffb0493 addi s1,s6,-1
-200015b0: | 8b0a mv s6,sp
-200015b2: | 02000c93 li s9,32
-200015b6: | 5d7d li s10,-1
-200015b8: | /----> 8526 mv a0,s1
-200015ba: | | /-- 000a1363 bnez s4,200015c0 <hex_dump+0x7e>
-200015be: | | | 8522 mv a0,s0
+200015b8: | /-- 000b1663 bnez s6,200015c4 <hex_dump+0x66>
+200015bc: /--|-----|-- a0ad j 20001626 <hex_dump+0xc8>
+200015be: | \-----|-> 4c01 li s8,0
+200015c0: +--------|-- 060b0363 beqz s6,20001626 <hex_dump+0xc8>
+200015c4: | \-> 4401 li s0,0
+200015c6: | 4601 li a2,0
+200015c8: | fffb0493 addi s1,s6,-1
+200015cc: | 8b0a mv s6,sp
+200015ce: | 02000c93 li s9,32
+200015d2: | 5d7d li s10,-1
+200015d4: | /----> 8526 mv a0,s1
+200015d6: | | /-- 000a1363 bnez s4,200015dc <hex_dump+0x7e>
+200015da: | | | 8522 mv a0,s0
/proc/self/cwd/sw/device/lib/runtime/print.c:339
buf[buffered] = glyphs[(bytes[idx] >> 4) & 0xf];
-200015c0: | | \-> 9556 add a0,a0,s5
-200015c2: | | 00054503 lbu a0,0(a0)
-200015c6: | | 00455593 srli a1,a0,0x4
-200015ca: | | 95de add a1,a1,s7
-200015cc: | | 00058583 lb a1,0(a1)
-200015d0: | | 00cb06b3 add a3,s6,a2
-200015d4: | | 00b68023 sb a1,0(a3)
+200015dc: | | \-> 9556 add a0,a0,s5
+200015de: | | 00054503 lbu a0,0(a0)
+200015e2: | | 00455593 srli a1,a0,0x4
+200015e6: | | 95de add a1,a1,s7
+200015e8: | | 00058583 lb a1,0(a1)
+200015ec: | | 00cb06b3 add a3,s6,a2
+200015f0: | | 00b68023 sb a1,0(a3)
/proc/self/cwd/sw/device/lib/runtime/print.c:340
buf[buffered + 1] = glyphs[bytes[idx] & 0xf];
-200015d8: | | 893d andi a0,a0,15
-200015da: | | 955e add a0,a0,s7
-200015dc: | | 00050503 lb a0,0(a0)
+200015f4: | | 893d andi a0,a0,15
+200015f6: | | 955e add a0,a0,s7
+200015f8: | | 00050503 lb a0,0(a0)
/proc/self/cwd/sw/device/lib/runtime/print.c:341
buffered += 2;
-200015e0: | | 0609 addi a2,a2,2
+200015fc: | | 0609 addi a2,a2,2
/proc/self/cwd/sw/device/lib/runtime/print.c:340
buf[buffered + 1] = glyphs[bytes[idx] & 0xf];
-200015e2: | | 00a680a3 sb a0,1(a3)
-200015e6: | | /-- 01961963 bne a2,s9,200015f8 <hex_dump+0xb6>
+200015fe: | | 00a680a3 sb a0,1(a3)
+20001602: | | /-- 01961963 bne a2,s9,20001614 <hex_dump+0xb6>
/proc/self/cwd/sw/device/lib/runtime/print.c:344
bytes_written += out.sink(out.data, buf, buffered);
-200015ea: | | | 858a mv a1,sp
-200015ec: | | | 02000613 li a2,32
-200015f0: | | | 854e mv a0,s3
-200015f2: | | | 9902 jalr s2
-200015f4: | | | 4601 li a2,0
-200015f6: | | | 9c2a add s8,s8,a0
+20001606: | | | 858a mv a1,sp
+20001608: | | | 02000613 li a2,32
+2000160c: | | | 854e mv a0,s3
+2000160e: | | | 9902 jalr s2
+20001610: | | | 4601 li a2,0
+20001612: | | | 9c2a add s8,s8,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:337
for (size_t i = 0; i < len; ++i) {
-200015f8: | | \-> 14fd addi s1,s1,-1
-200015fa: | | 0405 addi s0,s0,1
-200015fc: | \----- fba49ee3 bne s1,s10,200015b8 <hex_dump+0x76>
+20001614: | | \-> 14fd addi s1,s1,-1
+20001616: | | 0405 addi s0,s0,1
+20001618: | \----- fba49ee3 bne s1,s10,200015d4 <hex_dump+0x76>
/proc/self/cwd/sw/device/lib/runtime/print.c:349
if (buffered != 0) {
-20001600: +----------- c609 beqz a2,2000160a <hex_dump+0xc8>
+2000161c: +----------- c609 beqz a2,20001626 <hex_dump+0xc8>
/proc/self/cwd/sw/device/lib/runtime/print.c:350
bytes_written += out.sink(out.data, buf, buffered);
-20001602: | 858a mv a1,sp
-20001604: | 854e mv a0,s3
-20001606: | 9902 jalr s2
-20001608: | 9c2a add s8,s8,a0
+2000161e: | 858a mv a1,sp
+20001620: | 854e mv a0,s3
+20001622: | 9902 jalr s2
+20001624: | 9c2a add s8,s8,a0
/proc/self/cwd/sw/device/lib/runtime/print.c:352
return bytes_written;
-2000160a: \----------> 8562 mv a0,s8
-2000160c: 5d02 lw s10,32(sp)
-2000160e: 5c92 lw s9,36(sp)
-20001610: 5c22 lw s8,40(sp)
-20001612: 5bb2 lw s7,44(sp)
-20001614: 5b42 lw s6,48(sp)
-20001616: 5ad2 lw s5,52(sp)
-20001618: 5a62 lw s4,56(sp)
-2000161a: 59f2 lw s3,60(sp)
-2000161c: 4906 lw s2,64(sp)
-2000161e: 4496 lw s1,68(sp)
-20001620: 4426 lw s0,72(sp)
-20001622: 40b6 lw ra,76(sp)
-20001624: 6161 addi sp,sp,80
-20001626: 8082 ret
+20001626: \----------> 8562 mv a0,s8
+20001628: 5d02 lw s10,32(sp)
+2000162a: 5c92 lw s9,36(sp)
+2000162c: 5c22 lw s8,40(sp)
+2000162e: 5bb2 lw s7,44(sp)
+20001630: 5b42 lw s6,48(sp)
+20001632: 5ad2 lw s5,52(sp)
+20001634: 5a62 lw s4,56(sp)
+20001636: 59f2 lw s3,60(sp)
+20001638: 4906 lw s2,64(sp)
+2000163a: 4496 lw s1,68(sp)
+2000163c: 4426 lw s0,72(sp)
+2000163e: 40b6 lw ra,76(sp)
+20001640: 6161 addi sp,sp,80
+20001642: 8082 ret
-20001628 <write_digits>:
+20001644 <write_digits>:
write_digits():
/proc/self/cwd/sw/device/lib/runtime/print.c:252
char padding, uint32_t base, const char *glyphs) {
-20001628: 7179 addi sp,sp,-48
-2000162a: d606 sw ra,44(sp)
-2000162c: 88ae mv a7,a1
+20001644: 7179 addi sp,sp,-48
+20001646: d606 sw ra,44(sp)
+20001648: 88ae mv a7,a1
/proc/self/cwd/sw/device/lib/runtime/print.c:259
if (value == 0) {
-2000162e: /----- ca05 beqz a2,2000165e <write_digits+0x36>
-20001630: | 4381 li t2,0
+2000164a: /----- ca05 beqz a2,2000167a <write_digits+0x36>
+2000164c: | 4381 li t2,0
/proc/self/cwd/sw/device/lib/runtime/print.c:263
while (value > 0) {
-20001632: | 02b10293 addi t0,sp,43
-20001636: | /-> 8332 mv t1,a2
+2000164e: | 02b10293 addi t0,sp,43
+20001652: | /-> 8332 mv t1,a2
/proc/self/cwd/sw/device/lib/runtime/print.c:265
value /= base;
-20001638: | | 02f65633 divu a2,a2,a5
-2000163c: | | 02f605b3 mul a1,a2,a5
-20001640: | | 40b305b3 sub a1,t1,a1
+20001654: | | 02f65633 divu a2,a2,a5
+20001658: | | 02f605b3 mul a1,a2,a5
+2000165c: | | 40b305b3 sub a1,t1,a1
/proc/self/cwd/sw/device/lib/runtime/print.c:266
buffer[kWordBits - 1 - len] = glyphs[digit];
-20001644: | | 95c2 add a1,a1,a6
-20001646: | | 00058e03 lb t3,0(a1)
-2000164a: | | 007285b3 add a1,t0,t2
-2000164e: | | 01c58023 sb t3,0(a1)
+20001660: | | 95c2 add a1,a1,a6
+20001662: | | 00058e03 lb t3,0(a1)
+20001666: | | 007285b3 add a1,t0,t2
+2000166a: | | 01c58023 sb t3,0(a1)
/proc/self/cwd/sw/device/lib/runtime/print.c:263
while (value > 0) {
-20001652: | | 13fd addi t2,t2,-1
-20001654: | \-- fef371e3 bgeu t1,a5,20001636 <write_digits+0xe>
+2000166e: | | 13fd addi t2,t2,-1
+20001670: | \-- fef371e3 bgeu t1,a5,20001652 <write_digits+0xe>
/proc/self/cwd/sw/device/lib/runtime/print.c:269
width = width == 0 ? 1 : width;
-20001658: | 40700633 neg a2,t2
-2000165c: | /-- a031 j 20001668 <write_digits+0x40>
+20001674: | 40700633 neg a2,t2
+20001678: | /-- a031 j 20001684 <write_digits+0x40>
/proc/self/cwd/sw/device/lib/runtime/print.c:260
buffer[kWordBits - 1] = glyphs[0];
-2000165e: \--|-> 00080583 lb a1,0(a6)
-20001662: | 02b105a3 sb a1,43(sp)
-20001666: | 4605 li a2,1
-20001668: \-> 4585 li a1,1
+2000167a: \--|-> 00080583 lb a1,0(a6)
+2000167e: | 02b105a3 sb a1,43(sp)
+20001682: | 4605 li a2,1
+20001684: \-> 4585 li a1,1
/proc/self/cwd/sw/device/lib/runtime/print.c:269
width = width == 0 ? 1 : width;
-2000166a: /-- c291 beqz a3,2000166e <write_digits+0x46>
-2000166c: | 85b6 mv a1,a3
-2000166e: \-> 02000693 li a3,32
+20001686: /-- c291 beqz a3,2000168a <write_digits+0x46>
+20001688: | 85b6 mv a1,a3
+2000168a: \-> 02000693 li a3,32
/proc/self/cwd/sw/device/lib/runtime/print.c:270
width = width > kWordBits ? kWordBits : width;
-20001672: /-- 00d5e463 bltu a1,a3,2000167a <write_digits+0x52>
-20001676: | 02000593 li a1,32
+2000168e: /-- 00d5e463 bltu a1,a3,20001696 <write_digits+0x52>
+20001692: | 02000593 li a1,32
/proc/self/cwd/sw/device/lib/runtime/print.c:271
while (len < width) {
-2000167a: /--\-X 00b67e63 bgeu a2,a1,20001696 <write_digits+0x6e>
-2000167e: | 40c586b3 sub a3,a1,a2
-20001682: | 007c addi a5,sp,12
-20001684: | 40c78633 sub a2,a5,a2
-20001688: | 067d addi a2,a2,31
+20001696: /--\-X 00b67e63 bgeu a2,a1,200016b2 <write_digits+0x6e>
+2000169a: | 40c586b3 sub a3,a1,a2
+2000169e: | 007c addi a5,sp,12
+200016a0: | 40c78633 sub a2,a5,a2
+200016a4: | 067d addi a2,a2,31
/proc/self/cwd/sw/device/lib/runtime/print.c:272
buffer[kWordBits - len - 1] = padding;
-2000168a: | /-> 00e60023 sb a4,0(a2)
+200016a6: | /-> 00e60023 sb a4,0(a2)
/proc/self/cwd/sw/device/lib/runtime/print.c:271
while (len < width) {
-2000168e: | | 16fd addi a3,a3,-1
-20001690: | | 167d addi a2,a2,-1
-20001692: | \-- fee5 bnez a3,2000168a <write_digits+0x62>
-20001694: | 862e mv a2,a1
-20001696: \----> 006c addi a1,sp,12
+200016aa: | | 16fd addi a3,a3,-1
+200016ac: | | 167d addi a2,a2,-1
+200016ae: | \-- fee5 bnez a3,200016a6 <write_digits+0x62>
+200016b0: | 862e mv a2,a1
+200016b2: \----> 006c addi a1,sp,12
/proc/self/cwd/sw/device/lib/runtime/print.c:275
return out.sink(out.data, buffer + (kWordBits - len), len);
-20001698: 8d91 sub a1,a1,a2
-2000169a: 02058593 addi a1,a1,32
-2000169e: 9882 jalr a7
+200016b4: 8d91 sub a1,a1,a2
+200016b6: 02058593 addi a1,a1,32
+200016ba: 9882 jalr a7
/proc/self/cwd/sw/device/lib/runtime/print.c:276
}
-200016a0: 50b2 lw ra,44(sp)
-200016a2: 6145 addi sp,sp,48
-200016a4: 8082 ret
+200016bc: 50b2 lw ra,44(sp)
+200016be: 6145 addi sp,sp,48
+200016c0: 8082 ret
-200016a6 <status_extract>:
+200016c2 <status_extract>:
status_err():
-/proc/self/cwd/./sw/device/lib/base/status.h:129
+/proc/self/cwd/./sw/device/lib/base/status.h:150
*
* @param s The status code.
* @return `absl_status_t` contained within the status_t.
*/
OT_ALWAYS_INLINE absl_status_t status_err(status_t s) {
return s.value < 0
-200016a6: 00052813 slti a6,a0,0
-200016aa: 41f55793 srai a5,a0,0x1f
-200016ae: 8fe9 and a5,a5,a0
-200016b0: 8bfd andi a5,a5,31
-200016b2: 0017b713 seqz a4,a5
+200016c2: 00052813 slti a6,a0,0
+200016c6: 41f55793 srai a5,a0,0x1f
+200016ca: 8fe9 and a5,a5,a0
+200016cc: 8bfd andi a5,a5,31
+200016ce: 0017b713 seqz a4,a5
status_extract():
/proc/self/cwd/sw/device/lib/base/status.c:103
"ErrorError",
@@ -3847,24 +3847,24 @@
bool status_extract(status_t s, const char **code, int32_t *arg, char *mod_id) {
size_t err = (size_t)status_err(s);
if (s.value < 0 && err == 0) {
-200016b6: 00e87833 and a6,a6,a4
-200016ba: 02000713 li a4,32
-200016be: /-- 00081363 bnez a6,200016c4 <status_extract+0x1e>
-200016c2: | 873e mv a4,a5
+200016d2: 00e87833 and a6,a6,a4
+200016d6: 02000713 li a4,32
+200016da: /-- 00081363 bnez a6,200016e0 <status_extract+0x1e>
+200016de: | 873e mv a4,a5
/proc/self/cwd/sw/device/lib/base/status.c:106
err = sizeof(status_codes) / sizeof(status_codes[0]) - 1;
}
*code = status_codes[err];
-200016c4: \-> 00271813 slli a6,a4,0x2
-200016c8: effff797 auipc a5,0xeffff
-200016cc: 93878793 addi a5,a5,-1736 # 10000000 <status_codes>
-200016d0: 97c2 add a5,a5,a6
-200016d2: 439c lw a5,0(a5)
-200016d4: c19c sw a5,0(a1)
+200016e0: \-> 00271813 slli a6,a4,0x2
+200016e4: effff797 auipc a5,0xeffff
+200016e8: 91c78793 addi a5,a5,-1764 # 10000000 <status_codes>
+200016ec: 97c2 add a5,a5,a6
+200016ee: 439c lw a5,0(a5)
+200016f0: c19c sw a5,0(a1)
/proc/self/cwd/sw/device/lib/base/status.c:107
if (err) {
-200016d6: 00173593 seqz a1,a4
-200016da: /----- cb1d beqz a4,20001710 <status_extract+0x6a>
+200016f2: 00173593 seqz a1,a4
+200016f6: /----- cb1d beqz a4,2000172c <status_extract+0x6a>
bitfield_field32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:56
* @return Zero-extended `field` from `bitfield`.
@@ -3873,49 +3873,49 @@
inline uint32_t bitfield_field32_read(uint32_t bitfield,
bitfield_field32_t field) {
return (bitfield >> field.index) & field.mask;
-200016dc: | 00555713 srli a4,a0,0x5
-200016e0: | 7ff77713 andi a4,a4,2047
+200016f8: | 00555713 srli a4,a0,0x5
+200016fc: | 7ff77713 andi a4,a4,2047
status_extract():
/proc/self/cwd/sw/device/lib/base/status.c:108
*arg = (int32_t)bitfield_field32_read((uint32_t)s.value, STATUS_FIELD_ARG);
-200016e4: | c218 sw a4,0(a2)
+20001700: | c218 sw a4,0(a2)
bitfield_field32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:56
-200016e6: | 01055613 srli a2,a0,0x10
+20001702: | 01055613 srli a2,a0,0x10
status_extract():
/proc/self/cwd/sw/device/lib/base/status.c:111
uint32_t module_id =
bitfield_field32_read((uint32_t)s.value, STATUS_FIELD_MODULE_ID);
*mod_id++ = '@' + ((module_id >> 0) & 0x1F);
-200016ea: | 8a7d andi a2,a2,31
-200016ec: | 04066613 ori a2,a2,64
-200016f0: | 00c68023 sb a2,0(a3)
+20001706: | 8a7d andi a2,a2,31
+20001708: | 04066613 ori a2,a2,64
+2000170c: | 00c68023 sb a2,0(a3)
/proc/self/cwd/sw/device/lib/base/status.c:112
*mod_id++ = '@' + ((module_id >> 5) & 0x1F);
-200016f4: | 01555613 srli a2,a0,0x15
-200016f8: | 8a7d andi a2,a2,31
-200016fa: | 04066613 ori a2,a2,64
-200016fe: | 00c680a3 sb a2,1(a3)
+20001710: | 01555613 srli a2,a0,0x15
+20001714: | 8a7d andi a2,a2,31
+20001716: | 04066613 ori a2,a2,64
+2000171a: | 00c680a3 sb a2,1(a3)
/proc/self/cwd/sw/device/lib/base/status.c:113
*mod_id++ = '@' + ((module_id >> 10) & 0x1F);
-20001702: | 8169 srli a0,a0,0x1a
-20001704: | 897d andi a0,a0,31
-20001706: | 04056513 ori a0,a0,64
-2000170a: | 00a68123 sb a0,2(a3)
-2000170e: | /-- a011 j 20001712 <status_extract+0x6c>
+2000171e: | 8169 srli a0,a0,0x1a
+20001720: | 897d andi a0,a0,31
+20001722: | 04056513 ori a0,a0,64
+20001726: | 00a68123 sb a0,2(a3)
+2000172a: | /-- a011 j 2000172e <status_extract+0x6c>
/proc/self/cwd/sw/device/lib/base/status.c:116
return true;
} else {
*arg = s.value;
-20001710: \--|-> c208 sw a0,0(a2)
+2000172c: \--|-> c208 sw a0,0(a2)
/proc/self/cwd/sw/device/lib/base/status.c:119
return false;
}
}
-20001712: \-> 0015c513 xori a0,a1,1
-20001716: 8082 ret
+2000172e: \-> 0015c513 xori a0,a1,1
+20001732: 8082 ret
-20001718 <dif_uart_init>:
+20001734 <dif_uart_init>:
dif_uart_init():
/proc/self/cwd/sw/device/lib/dif/autogen/dif_uart_autogen.c:16
@@ -3924,24 +3924,24 @@
OT_WARN_UNUSED_RESULT
dif_result_t dif_uart_init(mmio_region_t base_addr, dif_uart_t *uart) {
if (uart == NULL) {
-20001718: /----- c581 beqz a1,20001720 <dif_uart_init+0x8>
-2000171a: | 4601 li a2,0
+20001734: /----- c581 beqz a1,2000173c <dif_uart_init+0x8>
+20001736: | 4601 li a2,0
/proc/self/cwd/sw/device/lib/dif/autogen/dif_uart_autogen.c:20
return kDifBadArg;
}
uart->base_addr = base_addr;
-2000171c: | c188 sw a0,0(a1)
-2000171e: | /-- a011 j 20001722 <dif_uart_init+0xa>
-20001720: \--|-> 4609 li a2,2
+20001738: | c188 sw a0,0(a1)
+2000173a: | /-- a011 j 2000173e <dif_uart_init+0xa>
+2000173c: \--|-> 460d li a2,3
/proc/self/cwd/sw/device/lib/dif/autogen/dif_uart_autogen.c:23
return kDifOk;
}
-20001722: \-> 8532 mv a0,a2
-20001724: 8082 ret
+2000173e: \-> 8532 mv a0,a2
+20001740: 8082 ret
-20001726 <dif_uart_configure>:
+20001742 <dif_uart_configure>:
dif_uart_configure():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:91
@@ -3950,29 +3950,29 @@
dif_result_t dif_uart_configure(const dif_uart_t *uart,
dif_uart_config_t config) {
-20001726: 1101 addi sp,sp,-32
-20001728: ce06 sw ra,28(sp)
-2000172a: cc22 sw s0,24(sp)
-2000172c: ca26 sw s1,20(sp)
-2000172e: c84a sw s2,16(sp)
-20001730: c64e sw s3,12(sp)
-20001732: 4489 li s1,2
+20001742: 1101 addi sp,sp,-32
+20001744: ce06 sw ra,28(sp)
+20001746: cc22 sw s0,24(sp)
+20001748: ca26 sw s1,20(sp)
+2000174a: c84a sw s2,16(sp)
+2000174c: c64e sw s3,12(sp)
+2000174e: 448d li s1,3
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:92
if (uart == NULL) {
-20001734: /----- cd51 beqz a0,200017d0 <dif_uart_configure+0xaa>
-20001736: | 892e mv s2,a1
+20001750: /----- cd59 beqz a0,200017ee <dif_uart_configure+0xac>
+20001752: | 892e mv s2,a1
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:96
return kDifBadArg;
}
if (config.baudrate == 0 || config.clk_freq_hz == 0) {
-20001738: | 4194 lw a3,0(a1)
-2000173a: +----- cad9 beqz a3,200017d0 <dif_uart_configure+0xaa>
-2000173c: | 00492603 lw a2,4(s2)
-20001740: +----- ca41 beqz a2,200017d0 <dif_uart_configure+0xaa>
-20001742: | 842a mv s0,a0
-20001744: | 0016e537 lui a0,0x16e
-20001748: | 36050513 addi a0,a0,864 # 16e360 <_ottf_size+0xee360>
+20001754: | 4194 lw a3,0(a1)
+20001756: +----- cec1 beqz a3,200017ee <dif_uart_configure+0xac>
+20001758: | 00492603 lw a2,4(s2)
+2000175c: +----- ca49 beqz a2,200017ee <dif_uart_configure+0xac>
+2000175e: | 842a mv s0,a0
+20001760: | 0016e537 lui a0,0x16e
+20001764: | 36050513 addi a0,a0,864 # 16e360 <_ottf_size+0xee360>
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:118
// 2^4 should be multiplied.
// If uart baud rate is 1.5Mbps and IO is 24Mhz, NCO is 0x10000, which is over
@@ -3980,79 +3980,79 @@
// Refer to #4263
uint64_t nco =
((uint64_t)config.baudrate == 1500000 && config.clk_freq_hz == 24000000)
-2000174c: | 8d35 xor a0,a0,a3
-2000174e: | 016e35b7 lui a1,0x16e3
-20001752: | 60058593 addi a1,a1,1536 # 16e3600 <_ottf_size+0x1663600>
-20001756: | 8db1 xor a1,a1,a2
-20001758: | 00b56733 or a4,a0,a1
-2000175c: | 6541 lui a0,0x10
-2000175e: | fff50993 addi s3,a0,-1 # ffff <_stack_size+0xdfff>
-20001762: | 4581 li a1,0
-20001764: | 854e mv a0,s3
-20001766: | /-- cb01 beqz a4,20001776 <dif_uart_configure+0x50>
+20001768: | 8d35 xor a0,a0,a3
+2000176a: | 016e35b7 lui a1,0x16e3
+2000176e: | 60058593 addi a1,a1,1536 # 16e3600 <_ottf_size+0x1663600>
+20001772: | 8db1 xor a1,a1,a2
+20001774: | 00b56733 or a4,a0,a1
+20001778: | 6541 lui a0,0x10
+2000177a: | fff50993 addi s3,a0,-1 # ffff <_manifest_code_end+0xdfcb>
+2000177e: | 4581 li a1,0
+20001780: | 854e mv a0,s3
+20001782: | /-- cb09 beqz a4,20001794 <dif_uart_configure+0x52>
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:120
? 0xffff
: udiv64_slow((uint64_t)config.baudrate << (nco_width + 4),
-20001768: | | 01469513 slli a0,a3,0x14
-2000176c: | | 00c6d593 srli a1,a3,0xc
-20001770: | | 4681 li a3,0
-20001772: | | 4701 li a4,0
-20001774: | | 2dd1 jal 20001e48 <udiv64_slow>
+20001784: | | 01469513 slli a0,a3,0x14
+20001788: | | 00c6d593 srli a1,a3,0xc
+2000178c: | | 4681 li a3,0
+2000178e: | | 4701 li a4,0
+20001790: | | 7f4000ef jal ra,20001f84 <udiv64_slow>
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:122
config.clk_freq_hz, NULL);
uint32_t nco_masked = nco & UART_CTRL_NCO_MASK;
-20001776: | \-> 01357633 and a2,a0,s3
+20001794: | \-> 01357633 and a2,a0,s3
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:125
// Requested baudrate is too high for the given clock frequency.
if (nco != nco_masked) {
-2000177a: | 8d31 xor a0,a0,a2
-2000177c: | 8d4d or a0,a0,a1
-2000177e: +----- e929 bnez a0,200017d0 <dif_uart_configure+0xaa>
+20001798: | 8d31 xor a0,a0,a2
+2000179a: | 8d4d or a0,a0,a1
+2000179c: +----- e929 bnez a0,200017ee <dif_uart_configure+0xac>
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:47
mmio_region_write32(uart->base_addr, UART_CTRL_REG_OFFSET, 0u);
-20001780: | 4008 lw a0,0(s0)
+2000179e: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-20001782: | 00052823 sw zero,16(a0)
+200017a0: | 00052823 sw zero,16(a0)
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:53
mmio_region_write32(uart->base_addr, UART_FIFO_CTRL_REG_OFFSET, reg);
-20001786: | 4008 lw a0,0(s0)
-20001788: | 458d li a1,3
+200017a4: | 4008 lw a0,0(s0)
+200017a6: | 458d li a1,3
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000178a: | d10c sw a1,32(a0)
+200017a8: | d10c sw a1,32(a0)
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:55
mmio_region_write32(uart->base_addr, UART_OVRD_REG_OFFSET, 0u);
-2000178c: | 4008 lw a0,0(s0)
+200017aa: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000178e: | 02052423 sw zero,40(a0)
+200017ac: | 02052423 sw zero,40(a0)
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:56
mmio_region_write32(uart->base_addr, UART_TIMEOUT_CTRL_REG_OFFSET, 0u);
-20001792: | 4008 lw a0,0(s0)
+200017b0: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-20001794: | 02052823 sw zero,48(a0)
+200017b2: | 02052823 sw zero,48(a0)
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:57
mmio_region_write32(uart->base_addr, UART_INTR_ENABLE_REG_OFFSET, 0u);
-20001798: | 4008 lw a0,0(s0)
+200017b6: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000179a: | 00052223 sw zero,4(a0)
+200017b8: | 00052223 sw zero,4(a0)
uart_reset():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:58
mmio_region_write32(uart->base_addr, UART_INTR_STATE_REG_OFFSET,
-2000179e: | 4008 lw a0,0(s0)
-200017a0: | 55fd li a1,-1
+200017bc: | 4008 lw a0,0(s0)
+200017be: | 55fd li a1,-1
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017a2: | c10c sw a1,0(a0)
+200017c0: | c10c sw a1,0(a0)
dif_uart_configure():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:137
// Set baudrate, enable RX and TX, configure parity.
@@ -4061,7 +4061,7 @@
reg = bitfield_bit32_write(reg, UART_CTRL_TX_BIT, true);
reg = bitfield_bit32_write(reg, UART_CTRL_RX_BIT, true);
if (config.parity_enable == kDifToggleEnabled) {
-200017a4: | 00892683 lw a3,8(s2)
+200017c2: | 00892683 lw a3,8(s2)
bitfield_field32_write():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:76
OT_WARN_UNUSED_RESULT
@@ -4070,58 +4070,58 @@
uint32_t value) {
bitfield &= ~(field.mask << field.index);
bitfield |= (value & field.mask) << field.index;
-200017a8: | 01061513 slli a0,a2,0x10
-200017ac: | 4605 li a2,1
-200017ae: | 04300593 li a1,67
+200017c6: | 01061513 slli a0,a2,0x10
+200017ca: | 4605 li a2,1
+200017cc: | 04300593 li a1,67
dif_uart_configure():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:137
-200017b2: | /-- 00c68363 beq a3,a2,200017b8 <dif_uart_configure+0x92>
-200017b6: | | 458d li a1,3
+200017d0: | /-- 00c68363 beq a3,a2,200017d6 <dif_uart_configure+0x94>
+200017d4: | | 458d li a1,3
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:140
reg = bitfield_bit32_write(reg, UART_CTRL_PARITY_EN_BIT, true);
}
if (config.parity == kDifUartParityOdd) {
-200017b8: | \-> 00c92603 lw a2,12(s2)
+200017d6: | \-> 00c92603 lw a2,12(s2)
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:137
if (config.parity_enable == kDifToggleEnabled) {
-200017bc: | 8d4d or a0,a0,a1
+200017da: | 8d4d or a0,a0,a1
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:140
if (config.parity == kDifUartParityOdd) {
-200017be: | /-- e219 bnez a2,200017c4 <dif_uart_configure+0x9e>
-200017c0: | | 08056513 ori a0,a0,128
+200017dc: | /-- e219 bnez a2,200017e2 <dif_uart_configure+0xa0>
+200017de: | | 08056513 ori a0,a0,128
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:143
reg = bitfield_bit32_write(reg, UART_CTRL_PARITY_ODD_BIT, true);
}
mmio_region_write32(uart->base_addr, UART_CTRL_REG_OFFSET, reg);
-200017c4: | \-> 400c lw a1,0(s0)
+200017e2: | \-> 400c lw a1,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017c6: | c988 sw a0,16(a1)
+200017e4: | c988 sw a0,16(a1)
dif_uart_configure():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:146
// Disable interrupts.
mmio_region_write32(uart->base_addr, UART_INTR_ENABLE_REG_OFFSET, 0u);
-200017c8: | 4008 lw a0,0(s0)
-200017ca: | 4481 li s1,0
+200017e6: | 4008 lw a0,0(s0)
+200017e8: | 4481 li s1,0
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017cc: | 00052223 sw zero,4(a0)
+200017ea: | 00052223 sw zero,4(a0)
dif_uart_configure():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:149
return kDifOk;
}
-200017d0: \----> 8526 mv a0,s1
-200017d2: 49b2 lw s3,12(sp)
-200017d4: 4942 lw s2,16(sp)
-200017d6: 44d2 lw s1,20(sp)
-200017d8: 4462 lw s0,24(sp)
-200017da: 40f2 lw ra,28(sp)
-200017dc: 6105 addi sp,sp,32
-200017de: 8082 ret
+200017ee: \----> 8526 mv a0,s1
+200017f0: 49b2 lw s3,12(sp)
+200017f2: 4942 lw s2,16(sp)
+200017f4: 44d2 lw s1,20(sp)
+200017f6: 4462 lw s0,24(sp)
+200017f8: 40f2 lw ra,28(sp)
+200017fa: 6105 addi sp,sp,32
+200017fc: 8082 ret
-200017e0 <dif_uart_byte_send_polled>:
+200017fe <dif_uart_byte_send_polled>:
dif_uart_byte_send_polled():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:256
@@ -4130,12 +4130,12 @@
dif_result_t dif_uart_byte_send_polled(const dif_uart_t *uart, uint8_t byte) {
if (uart == NULL) {
-200017e0: /----- cd19 beqz a0,200017fe <dif_uart_byte_send_polled+0x1e>
-200017e2: | 4110 lw a2,0(a0)
+200017fe: /----- cd19 beqz a0,2000181c <dif_uart_byte_send_polled+0x1e>
+20001800: | 4110 lw a2,0(a0)
mmio_region_read32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:96
return ((volatile uint32_t *)base.base)[offset / sizeof(uint32_t)];
-200017e4: | /-> 4a54 lw a3,20(a2)
+20001802: | /-> 4a54 lw a3,20(a2)
bitfield_bit32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:122
*/
@@ -4144,7 +4144,7 @@
bitfield_bit32_index_t bit_index) {
return bitfield_field32_read(bitfield,
bitfield_bit32_to_field32(bit_index)) == 0x1u;
-200017e6: | | 8a85 andi a3,a3,1
+20001804: | | 8a85 andi a3,a3,1
dif_uart_byte_send_polled():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:261
return kDifBadArg;
@@ -4152,29 +4152,29 @@
// Busy wait for the TX FIFO to free up.
while (uart_tx_full(uart)) {
-200017e8: | \-- fef5 bnez a3,200017e4 <dif_uart_byte_send_polled+0x4>
+20001806: | \-- fef5 bnez a3,20001802 <dif_uart_byte_send_polled+0x4>
mmio_region_read32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:96
-200017ea: | 4a54 lw a3,20(a2)
+20001808: | 4a54 lw a3,20(a2)
bitfield_bit32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:122
-200017ec: | 8a85 andi a3,a3,1
+2000180a: | 8a85 andi a3,a3,1
uart_bytes_send():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:68
while ((bytes_written < bytes_requested) && !uart_tx_full(uart)) {
-200017ee: | /-- e299 bnez a3,200017f4 <dif_uart_byte_send_polled+0x14>
+2000180c: | /-- e299 bnez a3,20001812 <dif_uart_byte_send_polled+0x14>
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
((volatile uint32_t *)base.base)[offset / sizeof(uint32_t)] = value;
-200017f0: | | ce4c sw a1,28(a2)
-200017f2: | | 4110 lw a2,0(a0)
+2000180e: | | ce4c sw a1,28(a2)
+20001810: | | 4110 lw a2,0(a0)
mmio_region_read32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:96
return ((volatile uint32_t *)base.base)[offset / sizeof(uint32_t)];
-200017f4: | >-> 4a48 lw a0,20(a2)
+20001812: | >-> 4a48 lw a0,20(a2)
bitfield_bit32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:122
-200017f6: | | 8921 andi a0,a0,8
+20001814: | | 8921 andi a0,a0,8
dif_uart_byte_send_polled():
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:268
@@ -4183,18 +4183,18 @@
// Busy wait for the TX FIFO to be drained and for HW to finish processing
// the last byte.
while (!uart_tx_idle(uart)) {
-200017f8: | \-- dd75 beqz a0,200017f4 <dif_uart_byte_send_polled+0x14>
-200017fa: | 4501 li a0,0
+20001816: | \-- dd75 beqz a0,20001812 <dif_uart_byte_send_polled+0x14>
+20001818: | 4501 li a0,0
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:272
}
return kDifOk;
}
-200017fc: | 8082 ret
-200017fe: \----> 4509 li a0,2
-20001800: 8082 ret
+2000181a: | 8082 ret
+2000181c: \----> 450d li a0,3
+2000181e: 8082 ret
-20001802 <xTaskCreate>:
+20001820 <xTaskCreate>:
xTaskCreate():
/proc/self/cwd/external/freertos/tasks.c:734
const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
@@ -4203,23 +4203,23 @@
UBaseType_t uxPriority,
TaskHandle_t * const pxCreatedTask )
{
-20001802: 7179 addi sp,sp,-48
-20001804: d606 sw ra,44(sp)
-20001806: d422 sw s0,40(sp)
-20001808: d226 sw s1,36(sp)
-2000180a: d04a sw s2,32(sp)
-2000180c: ce4e sw s3,28(sp)
-2000180e: cc52 sw s4,24(sp)
-20001810: ca56 sw s5,20(sp)
-20001812: c85a sw s6,16(sp)
-20001814: c65e sw s7,12(sp)
-20001816: c462 sw s8,8(sp)
-20001818: c266 sw s9,4(sp)
-2000181a: 8abe mv s5,a5
-2000181c: 8b3a mv s6,a4
-2000181e: 89b6 mv s3,a3
-20001820: 84ae mv s1,a1
-20001822: 8a2a mv s4,a0
+20001820: 7179 addi sp,sp,-48
+20001822: d606 sw ra,44(sp)
+20001824: d422 sw s0,40(sp)
+20001826: d226 sw s1,36(sp)
+20001828: d04a sw s2,32(sp)
+2000182a: ce4e sw s3,28(sp)
+2000182c: cc52 sw s4,24(sp)
+2000182e: ca56 sw s5,20(sp)
+20001830: c85a sw s6,16(sp)
+20001832: c65e sw s7,12(sp)
+20001834: c462 sw s8,8(sp)
+20001836: c266 sw s9,4(sp)
+20001838: 8abe mv s5,a5
+2000183a: 8b3a mv s6,a4
+2000183c: 89b6 mv s3,a3
+2000183e: 84ae mv s1,a1
+20001840: 8a2a mv s4,a0
/proc/self/cwd/external/freertos/tasks.c:768
#else /* portSTACK_GROWTH */
{
@@ -4227,31 +4227,31 @@
/* Allocate space for the stack used by the task being created. */
pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */
-20001824: 00261913 slli s2,a2,0x2
-20001828: 854a mv a0,s2
-2000182a: 2b59 jal 20001dc0 <pvPortMalloc>
-2000182c: 5bfd li s7,-1
+20001842: 00261913 slli s2,a2,0x2
+20001846: 854a mv a0,s2
+20001848: 2b59 jal 20001dde <pvPortMalloc>
+2000184a: 5bfd li s7,-1
/proc/self/cwd/external/freertos/tasks.c:770
if( pxStack != NULL )
-2000182e: /----------- 1a050863 beqz a0,200019de <xTaskCreate+0x1dc>
-20001832: | 842a mv s0,a0
+2000184c: /----------- 1a050863 beqz a0,200019fc <xTaskCreate+0x1dc>
+20001850: | 842a mv s0,a0
/proc/self/cwd/external/freertos/tasks.c:773
{
/* Allocate space for the TCB. */
pxNewTCB = ( TCB_t * ) pvPortMalloc( sizeof( TCB_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of TCB_t is always a pointer to the task's stack. */
-20001834: | 04c00513 li a0,76
-20001838: | 2361 jal 20001dc0 <pvPortMalloc>
+20001852: | 04c00513 li a0,76
+20001856: | 2361 jal 20001dde <pvPortMalloc>
/proc/self/cwd/external/freertos/tasks.c:775
if( pxNewTCB != NULL )
-2000183a: | /-------- c121 beqz a0,2000187a <xTaskCreate+0x78>
-2000183c: | | 8c2a mv s8,a0
+20001858: | /-------- c121 beqz a0,20001898 <xTaskCreate+0x78>
+2000185a: | | 8c2a mv s8,a0
/proc/self/cwd/external/freertos/tasks.c:778
{
/* Store the stack location in the TCB. */
pxNewTCB->pxStack = pxStack;
-2000183e: | | d900 sw s0,48(a0)
+2000185c: | | d900 sw s0,48(a0)
prvInitialiseNewTask():
/proc/self/cwd/external/freertos/tasks.c:860
* grows from high memory to low (as per the 80x86) or vice versa.
@@ -4260,8 +4260,8 @@
#if ( portSTACK_GROWTH < 0 )
{
pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] );
-20001840: | | 00890533 add a0,s2,s0
-20001844: | | 1571 addi a0,a0,-4
+2000185e: | | 00890533 add a0,s2,s0
+20001862: | | 1571 addi a0,a0,-4
/proc/self/cwd/external/freertos/tasks.c:888
pxNewTCB->pxEndOfStack = pxNewTCB->pxStack + ( ulStackDepth - ( uint32_t ) 1 );
}
@@ -4269,32 +4269,32 @@
/* Store the task name in the TCB. */
if( pcName != NULL )
-20001846: | | /----- cc8d beqz s1,20001880 <xTaskCreate+0x7e>
-20001848: | | | 4601 li a2,0
+20001864: | | /----- cc8d beqz s1,2000189e <xTaskCreate+0x7e>
+20001866: | | | 4601 li a2,0
/proc/self/cwd/external/freertos/tasks.c:890
{
for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ )
-2000184a: | | | 034c0593 addi a1,s8,52
+20001868: | | | 034c0593 addi a1,s8,52
/proc/self/cwd/external/freertos/tasks.c:892
{
pxNewTCB->pcTaskName[ x ] = pcName[ x ];
-2000184e: | | | /-> 00c486b3 add a3,s1,a2
-20001852: | | | | 00068703 lb a4,0(a3)
-20001856: | | | | 00c587b3 add a5,a1,a2
-2000185a: | | | | 00e78023 sb a4,0(a5)
+2000186c: | | | /-> 00c486b3 add a3,s1,a2
+20001870: | | | | 00068703 lb a4,0(a3)
+20001874: | | | | 00c587b3 add a5,a1,a2
+20001878: | | | | 00e78023 sb a4,0(a5)
/proc/self/cwd/external/freertos/tasks.c:897
/* Don't copy all configMAX_TASK_NAME_LEN if the string is shorter than
* configMAX_TASK_NAME_LEN characters just in case the memory after the
* string is not accessible (extremely unlikely). */
if( pcName[ x ] == ( char ) 0x00 )
-2000185e: | | | | 0006c683 lbu a3,0(a3)
-20001862: | | | | 0016b693 seqz a3,a3
-20001866: | | | | ff160713 addi a4,a2,-15
-2000186a: | | | | 0605 addi a2,a2,1
-2000186c: | | | | 00173713 seqz a4,a4
-20001870: | | | | 8ed9 or a3,a3,a4
-20001872: | | | \-- def1 beqz a3,2000184e <xTaskCreate+0x4c>
+2000187c: | | | | 0006c683 lbu a3,0(a3)
+20001880: | | | | 0016b693 seqz a3,a3
+20001884: | | | | ff160713 addi a4,a2,-15
+20001888: | | | | 0605 addi a2,a2,1
+2000188a: | | | | 00173713 seqz a4,a4
+2000188e: | | | | 8ed9 or a3,a3,a4
+20001890: | | | \-- def1 beqz a3,2000186c <xTaskCreate+0x4c>
/proc/self/cwd/external/freertos/tasks.c:909
}
}
@@ -4302,14 +4302,14 @@
/* Ensure the name string is terminated in the case that the string length
* was greater or equal to configMAX_TASK_NAME_LEN. */
pxNewTCB->pcTaskName[ configMAX_TASK_NAME_LEN - 1 ] = '\0';
-20001874: | | | 040c01a3 sb zero,67(s8)
-20001878: | | | /-- a031 j 20001884 <xTaskCreate+0x82>
+20001892: | | | 040c01a3 sb zero,67(s8)
+20001896: | | | /-- a031 j 200018a2 <xTaskCreate+0x82>
xTaskCreate():
/proc/self/cwd/external/freertos/tasks.c:784
vPortFreeStack( pxStack );
-2000187a: | \--|--|-> 8522 mv a0,s0
-2000187c: | | | 23c9 jal 20001e3e <vPortFree>
-2000187e: +-----|--|-- a285 j 200019de <xTaskCreate+0x1dc>
+20001898: | \--|--|-> 8522 mv a0,s0
+2000189a: | | | 23c9 jal 20001e5c <vPortFree>
+2000189c: +-----|--|-- a285 j 200019fc <xTaskCreate+0x1dc>
prvInitialiseNewTask():
/proc/self/cwd/external/freertos/tasks.c:915
}
@@ -4318,9 +4318,9 @@
/* The task has not been given a name, so just ensure there is a NULL
* terminator when it is read out. */
pxNewTCB->pcTaskName[ 0 ] = 0x00;
-20001880: | \--|-> 020c0a23 sb zero,52(s8)
-20001884: | \-> 4591 li a1,4
-20001886: | ff057493 andi s1,a0,-16
+2000189e: | \--|-> 020c0a23 sb zero,52(s8)
+200018a2: | \-> 4591 li a1,4
+200018a4: | ff057493 andi s1,a0,-16
/proc/self/cwd/external/freertos/tasks.c:921
}
@@ -4328,8 +4328,8 @@
configASSERT( uxPriority < configMAX_PRIORITIES );
if( uxPriority >= ( UBaseType_t ) configMAX_PRIORITIES )
-2000188a: | /-- 00bb6363 bltu s6,a1,20001890 <xTaskCreate+0x8e>
-2000188e: | | 4b11 li s6,4
+200018a8: | /-- 00bb6363 bltu s6,a1,200018ae <xTaskCreate+0x8e>
+200018ac: | | 4b11 li s6,4
/proc/self/cwd/external/freertos/tasks.c:930
else
{
@@ -4337,7 +4337,7 @@
}
pxNewTCB->uxPriority = uxPriority;
-20001890: | \-> 036c2623 sw s6,44(s8)
+200018ae: | \-> 036c2623 sw s6,44(s8)
/proc/self/cwd/external/freertos/tasks.c:938
pxNewTCB->uxBasePriority = uxPriority;
pxNewTCB->uxMutexesHeld = 0;
@@ -4345,35 +4345,35 @@
#endif /* configUSE_MUTEXES */
vListInitialiseItem( &( pxNewTCB->xStateListItem ) );
-20001894: | 004c0913 addi s2,s8,4
-20001898: | 854a mv a0,s2
-2000189a: | 29fd jal 20001d98 <vListInitialiseItem>
+200018b2: | 004c0913 addi s2,s8,4
+200018b6: | 854a mv a0,s2
+200018b8: | 29fd jal 20001db6 <vListInitialiseItem>
/proc/self/cwd/external/freertos/tasks.c:939
vListInitialiseItem( &( pxNewTCB->xEventListItem ) );
-2000189c: | 018c0513 addi a0,s8,24
-200018a0: | 29e5 jal 20001d98 <vListInitialiseItem>
+200018ba: | 018c0513 addi a0,s8,24
+200018be: | 29e5 jal 20001db6 <vListInitialiseItem>
/proc/self/cwd/external/freertos/tasks.c:943
/* Set the pxNewTCB as a link back from the ListItem_t. This is so we can get
* back to the containing TCB from a generic item in a list. */
listSET_LIST_ITEM_OWNER( &( pxNewTCB->xStateListItem ), pxNewTCB );
-200018a2: | 018c2823 sw s8,16(s8)
-200018a6: | 4515 li a0,5
+200018c0: | 018c2823 sw s8,16(s8)
+200018c4: | 4515 li a0,5
/proc/self/cwd/external/freertos/tasks.c:946
/* Event lists are always in priority order. */
listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
-200018a8: | 41650533 sub a0,a0,s6
-200018ac: | 00ac2c23 sw a0,24(s8)
+200018c6: | 41650533 sub a0,a0,s6
+200018ca: | 00ac2c23 sw a0,24(s8)
/proc/self/cwd/external/freertos/tasks.c:947
listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB );
-200018b0: | 038c2223 sw s8,36(s8)
+200018ce: | 038c2223 sw s8,36(s8)
/proc/self/cwd/external/freertos/tasks.c:951
#if ( portCRITICAL_NESTING_IN_TCB == 1 )
{
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
-200018b4: | 040c2223 sw zero,68(s8)
+200018d2: | 040c2223 sw zero,68(s8)
/proc/self/cwd/external/freertos/tasks.c:1002
}
#endif
@@ -4381,7 +4381,7 @@
#if ( INCLUDE_xTaskAbortDelay == 1 )
{
pxNewTCB->ucDelayAborted = pdFALSE;
-200018b8: | 040c0423 sb zero,72(s8)
+200018d6: | 040c0423 sb zero,72(s8)
/proc/self/cwd/external/freertos/tasks.c:1052
}
#endif /* portSTACK_GROWTH */
@@ -4389,11 +4389,11 @@
#else /* portHAS_STACK_OVERFLOW_CHECKING */
{
pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters );
-200018bc: | 8526 mv a0,s1
-200018be: | 85d2 mv a1,s4
-200018c0: | 864e mv a2,s3
-200018c2: | cd7fe0ef jal ra,20000598 <pxPortInitialiseStack>
-200018c6: | 00ac2023 sw a0,0(s8)
+200018da: | 8526 mv a0,s1
+200018dc: | 85d2 mv a1,s4
+200018de: | 864e mv a2,s3
+200018e0: | cd5fe0ef jal ra,200005b4 <pxPortInitialiseStack>
+200018e4: | 00ac2023 sw a0,0(s8)
/proc/self/cwd/external/freertos/tasks.c:1058
}
#endif /* portHAS_STACK_OVERFLOW_CHECKING */
@@ -4401,13 +4401,13 @@
#endif /* portUSING_MPU_WRAPPERS */
if( pxCreatedTask != NULL )
-200018ca: | /-- 000a8463 beqz s5,200018d2 <xTaskCreate+0xd0>
+200018e8: | /-- 000a8463 beqz s5,200018f0 <xTaskCreate+0xd0>
/proc/self/cwd/external/freertos/tasks.c:1062
{
/* Pass the handle out in an anonymous way. The handle can be used to
* change the created task's priority, delete the created task, etc.*/
*pxCreatedTask = ( TaskHandle_t ) pxNewTCB;
-200018ce: | | 018aa023 sw s8,0(s5)
+200018ec: | | 018aa023 sw s8,0(s5)
vTaskEnterCritical():
/proc/self/cwd/external/freertos/tasks.c:4345
@@ -4416,23 +4416,23 @@
void vTaskEnterCritical( void )
{
portDISABLE_INTERRUPTS();
-200018d2: | \-> 30047073 csrci mstatus,8
+200018f0: | \-> 30047073 csrci mstatus,8
/proc/self/cwd/external/freertos/tasks.c:4347
if( xSchedulerRunning != pdFALSE )
-200018d6: | efffea97 auipc s5,0xefffe
-200018da: | 7d2a8a93 addi s5,s5,2002 # 100000a8 <xSchedulerRunning>
-200018de: | 000aa503 lw a0,0(s5)
-200018e2: | efffeb17 auipc s6,0xefffe
-200018e6: | 7b2b0b13 addi s6,s6,1970 # 10000094 <pxCurrentTCB>
-200018ea: | /-- c901 beqz a0,200018fa <xTaskCreate+0xf8>
+200018f4: | efffea97 auipc s5,0xefffe
+200018f8: | 7b4a8a93 addi s5,s5,1972 # 100000a8 <xSchedulerRunning>
+200018fc: | 000aa503 lw a0,0(s5)
+20001900: | efffeb17 auipc s6,0xefffe
+20001904: | 794b0b13 addi s6,s6,1940 # 10000094 <pxCurrentTCB>
+20001908: | /-- c901 beqz a0,20001918 <xTaskCreate+0xf8>
/proc/self/cwd/external/freertos/tasks.c:4349
{
( pxCurrentTCB->uxCriticalNesting )++;
-200018ec: | | 000b2503 lw a0,0(s6)
-200018f0: | | 416c lw a1,68(a0)
-200018f2: | | 0585 addi a1,a1,1
-200018f4: | | c16c sw a1,68(a0)
+2000190a: | | 000b2503 lw a0,0(s6)
+2000190e: | | 416c lw a1,68(a0)
+20001910: | | 0585 addi a1,a1,1
+20001912: | | c16c sw a1,68(a0)
/proc/self/cwd/external/freertos/tasks.c:4357
* function so assert() if it is being called from an interrupt
* context. Only API functions that end in "FromISR" can be used in an
@@ -4440,146 +4440,146 @@
* protect against recursive calls if the assert function also uses a
* critical section. */
if( pxCurrentTCB->uxCriticalNesting == 1 )
-200018f6: | | 000b2503 lw a0,0(s6)
+20001914: | | 000b2503 lw a0,0(s6)
prvAddNewTaskToReadyList():
/proc/self/cwd/external/freertos/tasks.c:1077
uxCurrentNumberOfTasks++;
-200018fa: | \-> efffe517 auipc a0,0xefffe
-200018fe: | 7aa50513 addi a0,a0,1962 # 100000a4 <uxCurrentNumberOfTasks>
-20001902: | 410c lw a1,0(a0)
-20001904: | 0585 addi a1,a1,1
-20001906: | c10c sw a1,0(a0)
+20001918: | \-> efffe517 auipc a0,0xefffe
+2000191c: | 78c50513 addi a0,a0,1932 # 100000a4 <uxCurrentNumberOfTasks>
+20001920: | 410c lw a1,0(a0)
+20001922: | 0585 addi a1,a1,1
+20001924: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:1079
if( pxCurrentTCB == NULL )
-20001908: | 000b2583 lw a1,0(s6)
-2000190c: | 0a818c93 addi s9,gp,168 # 100008a8 <pxReadyTasksLists>
-20001910: | /-- cd91 beqz a1,2000192c <xTaskCreate+0x12a>
+20001926: | 000b2583 lw a1,0(s6)
+2000192a: | 0a818c93 addi s9,gp,168 # 100008a8 <pxReadyTasksLists>
+2000192e: | /-- cd91 beqz a1,2000194a <xTaskCreate+0x12a>
/proc/self/cwd/external/freertos/tasks.c:1102
if( xSchedulerRunning == pdFALSE )
-20001912: | | 000aa503 lw a0,0(s5)
-20001916: | /--|-- e53d bnez a0,20001984 <xTaskCreate+0x182>
+20001930: | | 000aa503 lw a0,0(s5)
+20001934: | /--|-- e53d bnez a0,200019a2 <xTaskCreate+0x182>
/proc/self/cwd/external/freertos/tasks.c:1104
if( pxCurrentTCB->uxPriority <= pxNewTCB->uxPriority )
-20001918: | | | 000b2503 lw a0,0(s6)
-2000191c: | | | 5548 lw a0,44(a0)
-2000191e: | | | 02cc2583 lw a1,44(s8)
-20001922: | +--|-- 06a5e163 bltu a1,a0,20001984 <xTaskCreate+0x182>
+20001936: | | | 000b2503 lw a0,0(s6)
+2000193a: | | | 5548 lw a0,44(a0)
+2000193c: | | | 02cc2583 lw a1,44(s8)
+20001940: | +--|-- 06a5e163 bltu a1,a0,200019a2 <xTaskCreate+0x182>
/proc/self/cwd/external/freertos/tasks.c:1106
pxCurrentTCB = pxNewTCB;
-20001926: | | | 018b2023 sw s8,0(s6)
-2000192a: | +--|-- a8a9 j 20001984 <xTaskCreate+0x182>
+20001944: | | | 018b2023 sw s8,0(s6)
+20001948: | +--|-- a8a9 j 200019a2 <xTaskCreate+0x182>
/proc/self/cwd/external/freertos/tasks.c:1083
pxCurrentTCB = pxNewTCB;
-2000192c: | | \-> 018b2023 sw s8,0(s6)
+2000194a: | | \-> 018b2023 sw s8,0(s6)
/proc/self/cwd/external/freertos/tasks.c:1085
if( uxCurrentNumberOfTasks == ( UBaseType_t ) 1 )
-20001930: | | 4108 lw a0,0(a0)
-20001932: | | 4585 li a1,1
-20001934: | +----- 04b51863 bne a0,a1,20001984 <xTaskCreate+0x182>
-20001938: | | 4401 li s0,0
-2000193a: | | 06400493 li s1,100
+2000194e: | | 4108 lw a0,0(a0)
+20001950: | | 4585 li a1,1
+20001952: | +----- 04b51863 bne a0,a1,200019a2 <xTaskCreate+0x182>
+20001956: | | 4401 li s0,0
+20001958: | | 06400493 li s1,100
prvInitialiseTaskLists():
/proc/self/cwd/external/freertos/tasks.c:3665
vListInitialise( &( pxReadyTasksLists[ uxPriority ] ) );
-2000193e: | | /-> 01940533 add a0,s0,s9
-20001942: | | | 2189 jal 20001d84 <vListInitialise>
+2000195c: | | /-> 01940533 add a0,s0,s9
+20001960: | | | 2189 jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3663
for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ )
-20001944: | | | 0451 addi s0,s0,20
-20001946: | | \-- fe941ce3 bne s0,s1,2000193e <xTaskCreate+0x13c>
+20001962: | | | 0451 addi s0,s0,20
+20001964: | | \-- fe941ce3 bne s0,s1,2000195c <xTaskCreate+0x13c>
/proc/self/cwd/external/freertos/tasks.c:3668
vListInitialise( &xDelayedTaskList1 );
-2000194a: | | 14818993 addi s3,gp,328 # 10000948 <xDelayedTaskList1>
-2000194e: | | 854e mv a0,s3
-20001950: | | 2915 jal 20001d84 <vListInitialise>
+20001968: | | 14818993 addi s3,gp,328 # 10000948 <xDelayedTaskList1>
+2000196c: | | 854e mv a0,s3
+2000196e: | | 2915 jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3669
vListInitialise( &xDelayedTaskList2 );
-20001952: | | 15c18a13 addi s4,gp,348 # 1000095c <xDelayedTaskList2>
-20001956: | | 8552 mv a0,s4
-20001958: | | 2135 jal 20001d84 <vListInitialise>
+20001970: | | 15c18a13 addi s4,gp,348 # 1000095c <xDelayedTaskList2>
+20001974: | | 8552 mv a0,s4
+20001976: | | 2135 jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3670
vListInitialise( &xPendingReadyList );
-2000195a: | | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
-2000195e: | | 211d jal 20001d84 <vListInitialise>
+20001978: | | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
+2000197c: | | 211d jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3674
vListInitialise( &xTasksWaitingTermination );
-20001960: | | 10c18513 addi a0,gp,268 # 1000090c <xTasksWaitingTermination>
-20001964: | | 2105 jal 20001d84 <vListInitialise>
+2000197e: | | 10c18513 addi a0,gp,268 # 1000090c <xTasksWaitingTermination>
+20001982: | | 2105 jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3680
vListInitialise( &xSuspendedTaskList );
-20001966: | | 12018513 addi a0,gp,288 # 10000920 <xSuspendedTaskList>
-2000196a: | | 2929 jal 20001d84 <vListInitialise>
+20001984: | | 12018513 addi a0,gp,288 # 10000920 <xSuspendedTaskList>
+20001988: | | 2929 jal 20001da2 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3686
pxDelayedTaskList = &xDelayedTaskList1;
-2000196c: | | efffe517 auipc a0,0xefffe
-20001970: | | 74050513 addi a0,a0,1856 # 100000ac <pxDelayedTaskList>
-20001974: | | 01352023 sw s3,0(a0)
+2000198a: | | efffe517 auipc a0,0xefffe
+2000198e: | | 72250513 addi a0,a0,1826 # 100000ac <pxDelayedTaskList>
+20001992: | | 01352023 sw s3,0(a0)
/proc/self/cwd/external/freertos/tasks.c:3687
pxOverflowDelayedTaskList = &xDelayedTaskList2;
-20001978: | | efffe517 auipc a0,0xefffe
-2000197c: | | 73850513 addi a0,a0,1848 # 100000b0 <pxOverflowDelayedTaskList>
-20001980: | | 01452023 sw s4,0(a0)
+20001996: | | efffe517 auipc a0,0xefffe
+2000199a: | | 71a50513 addi a0,a0,1818 # 100000b0 <pxOverflowDelayedTaskList>
+2000199e: | | 01452023 sw s4,0(a0)
prvAddNewTaskToReadyList():
/proc/self/cwd/external/freertos/tasks.c:1119
uxTaskNumber++;
-20001984: | \----> efffe517 auipc a0,0xefffe
-20001988: | 71850513 addi a0,a0,1816 # 1000009c <uxTaskNumber>
-2000198c: | 410c lw a1,0(a0)
-2000198e: | 0585 addi a1,a1,1
-20001990: | c10c sw a1,0(a0)
+200019a2: | \----> efffe517 auipc a0,0xefffe
+200019a6: | 6fa50513 addi a0,a0,1786 # 1000009c <uxTaskNumber>
+200019aa: | 410c lw a1,0(a0)
+200019ac: | 0585 addi a1,a1,1
+200019ae: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:1129
prvAddTaskToReadyList( pxNewTCB );
-20001992: | 02cc2503 lw a0,44(s8)
-20001996: | efffe597 auipc a1,0xefffe
-2000199a: | 70258593 addi a1,a1,1794 # 10000098 <uxTopReadyPriority>
-2000199e: | 4190 lw a2,0(a1)
-200019a0: | 4b85 li s7,1
-200019a2: | 00ab96b3 sll a3,s7,a0
-200019a6: | 8e55 or a2,a2,a3
-200019a8: | c190 sw a2,0(a1)
-200019aa: | 45d1 li a1,20
-200019ac: | 02b50533 mul a0,a0,a1
-200019b0: | 9566 add a0,a0,s9
-200019b2: | 414c lw a1,4(a0)
-200019b4: | 00bc2423 sw a1,8(s8)
-200019b8: | 4590 lw a2,8(a1)
-200019ba: | 00cc2623 sw a2,12(s8)
-200019be: | 4590 lw a2,8(a1)
-200019c0: | 01262223 sw s2,4(a2)
-200019c4: | 0125a423 sw s2,8(a1)
-200019c8: | 00ac2a23 sw a0,20(s8)
-200019cc: | 410c lw a1,0(a0)
-200019ce: | 0585 addi a1,a1,1
-200019d0: | c10c sw a1,0(a0)
+200019b0: | 02cc2503 lw a0,44(s8)
+200019b4: | efffe597 auipc a1,0xefffe
+200019b8: | 6e458593 addi a1,a1,1764 # 10000098 <uxTopReadyPriority>
+200019bc: | 4190 lw a2,0(a1)
+200019be: | 4b85 li s7,1
+200019c0: | 00ab96b3 sll a3,s7,a0
+200019c4: | 8e55 or a2,a2,a3
+200019c6: | c190 sw a2,0(a1)
+200019c8: | 45d1 li a1,20
+200019ca: | 02b50533 mul a0,a0,a1
+200019ce: | 9566 add a0,a0,s9
+200019d0: | 414c lw a1,4(a0)
+200019d2: | 00bc2423 sw a1,8(s8)
+200019d6: | 4590 lw a2,8(a1)
+200019d8: | 00cc2623 sw a2,12(s8)
+200019dc: | 4590 lw a2,8(a1)
+200019de: | 01262223 sw s2,4(a2)
+200019e2: | 0125a423 sw s2,8(a1)
+200019e6: | 00ac2a23 sw a0,20(s8)
+200019ea: | 410c lw a1,0(a0)
+200019ec: | 0585 addi a1,a1,1
+200019ee: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:1133
taskEXIT_CRITICAL();
-200019d2: | 2025 jal 200019fa <vTaskExitCritical>
+200019f0: | 2025 jal 20001a18 <vTaskExitCritical>
/proc/self/cwd/external/freertos/tasks.c:1135
if( xSchedulerRunning != pdFALSE )
-200019d4: | 000aa503 lw a0,0(s5)
-200019d8: +----------- c119 beqz a0,200019de <xTaskCreate+0x1dc>
+200019f2: | 000aa503 lw a0,0(s5)
+200019f6: +----------- c119 beqz a0,200019fc <xTaskCreate+0x1dc>
/proc/self/cwd/external/freertos/tasks.c:1139
if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority )
-200019da: | 000b2503 lw a0,0(s6)
+200019f8: | 000b2503 lw a0,0(s6)
xTaskCreate():
/proc/self/cwd/external/freertos/tasks.c:813
return xReturn;
-200019de: \----------> 855e mv a0,s7
-200019e0: 4c92 lw s9,4(sp)
-200019e2: 4c22 lw s8,8(sp)
-200019e4: 4bb2 lw s7,12(sp)
-200019e6: 4b42 lw s6,16(sp)
-200019e8: 4ad2 lw s5,20(sp)
-200019ea: 4a62 lw s4,24(sp)
-200019ec: 49f2 lw s3,28(sp)
-200019ee: 5902 lw s2,32(sp)
-200019f0: 5492 lw s1,36(sp)
-200019f2: 5422 lw s0,40(sp)
-200019f4: 50b2 lw ra,44(sp)
-200019f6: 6145 addi sp,sp,48
-200019f8: 8082 ret
+200019fc: \----------> 855e mv a0,s7
+200019fe: 4c92 lw s9,4(sp)
+20001a00: 4c22 lw s8,8(sp)
+20001a02: 4bb2 lw s7,12(sp)
+20001a04: 4b42 lw s6,16(sp)
+20001a06: 4ad2 lw s5,20(sp)
+20001a08: 4a62 lw s4,24(sp)
+20001a0a: 49f2 lw s3,28(sp)
+20001a0c: 5902 lw s2,32(sp)
+20001a0e: 5492 lw s1,36(sp)
+20001a10: 5422 lw s0,40(sp)
+20001a12: 50b2 lw ra,44(sp)
+20001a14: 6145 addi sp,sp,48
+20001a16: 8082 ret
-200019fa <vTaskExitCritical>:
+20001a18 <vTaskExitCritical>:
vTaskExitCritical():
/proc/self/cwd/external/freertos/tasks.c:4375
@@ -4588,31 +4588,31 @@
void vTaskExitCritical( void )
{
if( xSchedulerRunning != pdFALSE )
-200019fa: efffe517 auipc a0,0xefffe
-200019fe: 6ae50513 addi a0,a0,1710 # 100000a8 <xSchedulerRunning>
-20001a02: 4108 lw a0,0(a0)
-20001a04: /----- cd19 beqz a0,20001a22 <vTaskExitCritical+0x28>
+20001a18: efffe517 auipc a0,0xefffe
+20001a1c: 69050513 addi a0,a0,1680 # 100000a8 <xSchedulerRunning>
+20001a20: 4108 lw a0,0(a0)
+20001a22: /----- cd19 beqz a0,20001a40 <vTaskExitCritical+0x28>
/proc/self/cwd/external/freertos/tasks.c:4377
{
if( pxCurrentTCB->uxCriticalNesting > 0U )
-20001a06: | efffe517 auipc a0,0xefffe
-20001a0a: | 68e50513 addi a0,a0,1678 # 10000094 <pxCurrentTCB>
-20001a0e: | 410c lw a1,0(a0)
-20001a10: | 41ec lw a1,68(a1)
-20001a12: +----- c981 beqz a1,20001a22 <vTaskExitCritical+0x28>
+20001a24: | efffe517 auipc a0,0xefffe
+20001a28: | 67050513 addi a0,a0,1648 # 10000094 <pxCurrentTCB>
+20001a2c: | 410c lw a1,0(a0)
+20001a2e: | 41ec lw a1,68(a1)
+20001a30: +----- c981 beqz a1,20001a40 <vTaskExitCritical+0x28>
/proc/self/cwd/external/freertos/tasks.c:4379
{
( pxCurrentTCB->uxCriticalNesting )--;
-20001a14: | 410c lw a1,0(a0)
-20001a16: | 41f0 lw a2,68(a1)
-20001a18: | 167d addi a2,a2,-1
-20001a1a: | c1f0 sw a2,68(a1)
+20001a32: | 410c lw a1,0(a0)
+20001a34: | 41f0 lw a2,68(a1)
+20001a36: | 167d addi a2,a2,-1
+20001a38: | c1f0 sw a2,68(a1)
/proc/self/cwd/external/freertos/tasks.c:4381
if( pxCurrentTCB->uxCriticalNesting == 0U )
-20001a1c: | 4108 lw a0,0(a0)
-20001a1e: | 4168 lw a0,68(a0)
-20001a20: | /-- c111 beqz a0,20001a24 <vTaskExitCritical+0x2a>
+20001a3a: | 4108 lw a0,0(a0)
+20001a3c: | 4168 lw a0,68(a0)
+20001a3e: | /-- c111 beqz a0,20001a42 <vTaskExitCritical+0x2a>
/proc/self/cwd/external/freertos/tasks.c:4399
}
else
@@ -4620,503 +4620,503 @@
mtCOVERAGE_TEST_MARKER();
}
}
-20001a22: \--|-> 8082 ret
+20001a40: \--|-> 8082 ret
/proc/self/cwd/external/freertos/tasks.c:4383
portENABLE_INTERRUPTS();
-20001a24: \-> 30046073 csrsi mstatus,8
+20001a42: \-> 30046073 csrsi mstatus,8
/proc/self/cwd/external/freertos/tasks.c:4399
}
-20001a28: 8082 ret
+20001a46: 8082 ret
-20001a2a <vTaskStartScheduler>:
+20001a48 <vTaskStartScheduler>:
vTaskStartScheduler():
/proc/self/cwd/external/freertos/tasks.c:1991
{
-20001a2a: 1141 addi sp,sp,-16
+20001a48: 1141 addi sp,sp,-16
/proc/self/cwd/external/freertos/tasks.c:2024
xReturn = xTaskCreate( prvIdleTask,
-20001a2c: c606 sw ra,12(sp)
-20001a2e: 00000517 auipc a0,0x0
-20001a32: 06250513 addi a0,a0,98 # 20001a90 <prvIdleTask>
-20001a36: 00001597 auipc a1,0x1
-20001a3a: 01a58593 addi a1,a1,26 # 20002a50 <uxTopUsedPriority+0x4>
-20001a3e: efffe797 auipc a5,0xefffe
-20001a42: 67e78793 addi a5,a5,1662 # 100000bc <xIdleTaskHandle>
-20001a46: 10000613 li a2,256
-20001a4a: 4681 li a3,0
-20001a4c: 4701 li a4,0
-20001a4e: 3b55 jal 20001802 <xTaskCreate>
-20001a50: 4585 li a1,1
+20001a4a: c606 sw ra,12(sp)
+20001a4c: 00000517 auipc a0,0x0
+20001a50: 06250513 addi a0,a0,98 # 20001aae <prvIdleTask>
+20001a54: 00001597 auipc a1,0x1
+20001a58: 07c58593 addi a1,a1,124 # 20002ad0 <uxTopUsedPriority+0x4>
+20001a5c: efffe797 auipc a5,0xefffe
+20001a60: 66078793 addi a5,a5,1632 # 100000bc <xIdleTaskHandle>
+20001a64: 10000613 li a2,256
+20001a68: 4681 li a3,0
+20001a6a: 4701 li a4,0
+20001a6c: 3b55 jal 20001820 <xTaskCreate>
+20001a6e: 4585 li a1,1
/proc/self/cwd/external/freertos/tasks.c:2046
if( xReturn == pdPASS )
-20001a52: /-- 02b51763 bne a0,a1,20001a80 <vTaskStartScheduler+0x56>
+20001a70: /-- 02b51763 bne a0,a1,20001a9e <vTaskStartScheduler+0x56>
/proc/self/cwd/external/freertos/tasks.c:2062
portDISABLE_INTERRUPTS();
-20001a56: | 30047073 csrci mstatus,8
+20001a74: | 30047073 csrci mstatus,8
/proc/self/cwd/external/freertos/tasks.c:2074
xNextTaskUnblockTime = portMAX_DELAY;
-20001a5a: | efffe517 auipc a0,0xefffe
-20001a5e: | 66650513 addi a0,a0,1638 # 100000c0 <xNextTaskUnblockTime>
-20001a62: | 567d li a2,-1
-20001a64: | c110 sw a2,0(a0)
+20001a78: | efffe517 auipc a0,0xefffe
+20001a7c: | 64850513 addi a0,a0,1608 # 100000c0 <xNextTaskUnblockTime>
+20001a80: | 567d li a2,-1
+20001a82: | c110 sw a2,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2075
xSchedulerRunning = pdTRUE;
-20001a66: | efffe517 auipc a0,0xefffe
-20001a6a: | 64250513 addi a0,a0,1602 # 100000a8 <xSchedulerRunning>
-20001a6e: | c10c sw a1,0(a0)
+20001a84: | efffe517 auipc a0,0xefffe
+20001a88: | 62450513 addi a0,a0,1572 # 100000a8 <xSchedulerRunning>
+20001a8c: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2076
xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT;
-20001a70: | efffe517 auipc a0,0xefffe
-20001a74: | 65450513 addi a0,a0,1620 # 100000c4 <xTickCount>
-20001a78: | 00052023 sw zero,0(a0)
+20001a8e: | efffe517 auipc a0,0xefffe
+20001a92: | 63650513 addi a0,a0,1590 # 100000c4 <xTickCount>
+20001a96: | 00052023 sw zero,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2090
if( xPortStartScheduler() != pdFALSE )
-20001a7c: | a5aff0ef jal ra,20000cd6 <xPortStartScheduler>
+20001a9a: | a58ff0ef jal ra,20000cf2 <xPortStartScheduler>
/proc/self/cwd/external/freertos/tasks.c:2114
( void ) uxTopUsedPriority;
-20001a80: \-> 00001517 auipc a0,0x1
-20001a84: fcc50513 addi a0,a0,-52 # 20002a4c <uxTopUsedPriority>
-20001a88: 4108 lw a0,0(a0)
+20001a9e: \-> 00001517 auipc a0,0x1
+20001aa2: 02e50513 addi a0,a0,46 # 20002acc <uxTopUsedPriority>
+20001aa6: 4108 lw a0,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2115
}
-20001a8a: 40b2 lw ra,12(sp)
-20001a8c: 0141 addi sp,sp,16
-20001a8e: 8082 ret
+20001aa8: 40b2 lw ra,12(sp)
+20001aaa: 0141 addi sp,sp,16
+20001aac: 8082 ret
-20001a90 <prvIdleTask>:
+20001aae <prvIdleTask>:
prvIdleTask():
/proc/self/cwd/external/freertos/tasks.c:3435
{
-20001a90: 1101 addi sp,sp,-32
-20001a92: ce06 sw ra,28(sp)
-20001a94: cc22 sw s0,24(sp)
-20001a96: ca26 sw s1,20(sp)
-20001a98: c84a sw s2,16(sp)
-20001a9a: c64e sw s3,12(sp)
-20001a9c: c452 sw s4,8(sp)
-20001a9e: c256 sw s5,4(sp)
-20001aa0: efffe497 auipc s1,0xefffe
-20001aa4: 60048493 addi s1,s1,1536 # 100000a0 <uxDeletedTasksWaitingCleanUp>
-20001aa8: efffe917 auipc s2,0xefffe
-20001aac: 60090913 addi s2,s2,1536 # 100000a8 <xSchedulerRunning>
-20001ab0: 10c18993 addi s3,gp,268 # 1000090c <xTasksWaitingTermination>
-20001ab4: efffea17 auipc s4,0xefffe
-20001ab8: 5f0a0a13 addi s4,s4,1520 # 100000a4 <uxCurrentNumberOfTasks>
-20001abc: efffea97 auipc s5,0xefffe
-20001ac0: 5d8a8a93 addi s5,s5,1496 # 10000094 <pxCurrentTCB>
+20001aae: 1101 addi sp,sp,-32
+20001ab0: ce06 sw ra,28(sp)
+20001ab2: cc22 sw s0,24(sp)
+20001ab4: ca26 sw s1,20(sp)
+20001ab6: c84a sw s2,16(sp)
+20001ab8: c64e sw s3,12(sp)
+20001aba: c452 sw s4,8(sp)
+20001abc: c256 sw s5,4(sp)
+20001abe: efffe497 auipc s1,0xefffe
+20001ac2: 5e248493 addi s1,s1,1506 # 100000a0 <uxDeletedTasksWaitingCleanUp>
+20001ac6: efffe917 auipc s2,0xefffe
+20001aca: 5e290913 addi s2,s2,1506 # 100000a8 <xSchedulerRunning>
+20001ace: 10c18993 addi s3,gp,268 # 1000090c <xTasksWaitingTermination>
+20001ad2: efffea17 auipc s4,0xefffe
+20001ad6: 5d2a0a13 addi s4,s4,1490 # 100000a4 <uxCurrentNumberOfTasks>
+20001ada: efffea97 auipc s5,0xefffe
+20001ade: 5baa8a93 addi s5,s5,1466 # 10000094 <pxCurrentTCB>
prvCheckTasksWaitingTermination():
/proc/self/cwd/external/freertos/tasks.c:3701
while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U )
-20001ac4: /-------> 4088 lw a0,0(s1)
-20001ac6: | /----- c129 beqz a0,20001b08 <prvIdleTask+0x78>
+20001ae2: /-------> 4088 lw a0,0(s1)
+20001ae4: | /----- c129 beqz a0,20001b26 <prvIdleTask+0x78>
vTaskEnterCritical():
/proc/self/cwd/external/freertos/tasks.c:4345
portDISABLE_INTERRUPTS();
-20001ac8: | | 30047073 csrci mstatus,8
+20001ae6: | | 30047073 csrci mstatus,8
/proc/self/cwd/external/freertos/tasks.c:4347
if( xSchedulerRunning != pdFALSE )
-20001acc: | | 00092503 lw a0,0(s2)
-20001ad0: | | /-- c901 beqz a0,20001ae0 <prvIdleTask+0x50>
+20001aea: | | 00092503 lw a0,0(s2)
+20001aee: | | /-- c901 beqz a0,20001afe <prvIdleTask+0x50>
/proc/self/cwd/external/freertos/tasks.c:4349
( pxCurrentTCB->uxCriticalNesting )++;
-20001ad2: | | | 000aa503 lw a0,0(s5)
-20001ad6: | | | 416c lw a1,68(a0)
-20001ad8: | | | 0585 addi a1,a1,1
-20001ada: | | | c16c sw a1,68(a0)
+20001af0: | | | 000aa503 lw a0,0(s5)
+20001af4: | | | 416c lw a1,68(a0)
+20001af6: | | | 0585 addi a1,a1,1
+20001af8: | | | c16c sw a1,68(a0)
/proc/self/cwd/external/freertos/tasks.c:4357
if( pxCurrentTCB->uxCriticalNesting == 1 )
-20001adc: | | | 000aa503 lw a0,0(s5)
+20001afa: | | | 000aa503 lw a0,0(s5)
prvCheckTasksWaitingTermination():
/proc/self/cwd/external/freertos/tasks.c:3705
pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
-20001ae0: | | \-> 00c9a503 lw a0,12(s3)
-20001ae4: | | 4540 lw s0,12(a0)
+20001afe: | | \-> 00c9a503 lw a0,12(s3)
+20001b02: | | 4540 lw s0,12(a0)
/proc/self/cwd/external/freertos/tasks.c:3706
( void ) uxListRemove( &( pxTCB->xStateListItem ) );
-20001ae6: | | 00440513 addi a0,s0,4
-20001aea: | | 2c55 jal 20001d9e <uxListRemove>
+20001b04: | | 00440513 addi a0,s0,4
+20001b08: | | 2c55 jal 20001dbc <uxListRemove>
/proc/self/cwd/external/freertos/tasks.c:3707
--uxCurrentNumberOfTasks;
-20001aec: | | 000a2503 lw a0,0(s4)
-20001af0: | | 157d addi a0,a0,-1
-20001af2: | | 00aa2023 sw a0,0(s4)
+20001b0a: | | 000a2503 lw a0,0(s4)
+20001b0e: | | 157d addi a0,a0,-1
+20001b10: | | 00aa2023 sw a0,0(s4)
/proc/self/cwd/external/freertos/tasks.c:3708
--uxDeletedTasksWaitingCleanUp;
-20001af6: | | 4088 lw a0,0(s1)
-20001af8: | | 157d addi a0,a0,-1
-20001afa: | | c088 sw a0,0(s1)
+20001b14: | | 4088 lw a0,0(s1)
+20001b16: | | 157d addi a0,a0,-1
+20001b18: | | c088 sw a0,0(s1)
/proc/self/cwd/external/freertos/tasks.c:3710
taskEXIT_CRITICAL();
-20001afc: | | 3dfd jal 200019fa <vTaskExitCritical>
+20001b1a: | | 3dfd jal 20001a18 <vTaskExitCritical>
prvDeleteTCB():
/proc/self/cwd/external/freertos/tasks.c:3964
vPortFreeStack( pxTCB->pxStack );
-20001afe: | | 5808 lw a0,48(s0)
-20001b00: | | 2e3d jal 20001e3e <vPortFree>
+20001b1c: | | 5808 lw a0,48(s0)
+20001b1e: | | 2e3d jal 20001e5c <vPortFree>
/proc/self/cwd/external/freertos/tasks.c:3965
vPortFree( pxTCB );
-20001b02: | | 8522 mv a0,s0
-20001b04: | | 2e2d jal 20001e3e <vPortFree>
-20001b06: +--|----- bf7d j 20001ac4 <prvIdleTask+0x34>
+20001b20: | | 8522 mv a0,s0
+20001b22: | | 2e2d jal 20001e5c <vPortFree>
+20001b24: +--|----- bf7d j 20001ae2 <prvIdleTask+0x34>
prvIdleTask():
/proc/self/cwd/external/freertos/tasks.c:3459
taskYIELD();
-20001b08: | \----> 00000073 ecall
-20001b0c: \-------- bf65 j 20001ac4 <prvIdleTask+0x34>
+20001b26: | \----> 00000073 ecall
+20001b2a: \-------- bf65 j 20001ae2 <prvIdleTask+0x34>
-20001b0e <vTaskSuspendAll>:
+20001b2c <vTaskSuspendAll>:
vTaskSuspendAll():
/proc/self/cwd/external/freertos/tasks.c:2142
++uxSchedulerSuspended;
-20001b0e: efffe517 auipc a0,0xefffe
-20001b12: 5a650513 addi a0,a0,1446 # 100000b4 <uxSchedulerSuspended>
-20001b16: 410c lw a1,0(a0)
-20001b18: 0585 addi a1,a1,1
-20001b1a: c10c sw a1,0(a0)
+20001b2c: efffe517 auipc a0,0xefffe
+20001b30: 58850513 addi a0,a0,1416 # 100000b4 <uxSchedulerSuspended>
+20001b34: 410c lw a1,0(a0)
+20001b36: 0585 addi a1,a1,1
+20001b38: c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2147
}
-20001b1c: 8082 ret
+20001b3a: 8082 ret
-20001b1e <xTaskResumeAll>:
+20001b3c <xTaskResumeAll>:
xTaskResumeAll():
/proc/self/cwd/external/freertos/tasks.c:2214
{
-20001b1e: 1141 addi sp,sp,-16
-20001b20: c606 sw ra,12(sp)
-20001b22: c422 sw s0,8(sp)
-20001b24: c226 sw s1,4(sp)
-20001b26: c04a sw s2,0(sp)
+20001b3c: 1141 addi sp,sp,-16
+20001b3e: c606 sw ra,12(sp)
+20001b40: c422 sw s0,8(sp)
+20001b42: c226 sw s1,4(sp)
+20001b44: c04a sw s2,0(sp)
vTaskEnterCritical():
/proc/self/cwd/external/freertos/tasks.c:4345
portDISABLE_INTERRUPTS();
-20001b28: 30047073 csrci mstatus,8
+20001b46: 30047073 csrci mstatus,8
/proc/self/cwd/external/freertos/tasks.c:4347
if( xSchedulerRunning != pdFALSE )
-20001b2c: efffe517 auipc a0,0xefffe
-20001b30: 57c50513 addi a0,a0,1404 # 100000a8 <xSchedulerRunning>
-20001b34: 4108 lw a0,0(a0)
-20001b36: /-- c911 beqz a0,20001b4a <xTaskResumeAll+0x2c>
+20001b4a: efffe517 auipc a0,0xefffe
+20001b4e: 55e50513 addi a0,a0,1374 # 100000a8 <xSchedulerRunning>
+20001b52: 4108 lw a0,0(a0)
+20001b54: /-- c911 beqz a0,20001b68 <xTaskResumeAll+0x2c>
/proc/self/cwd/external/freertos/tasks.c:4349
( pxCurrentTCB->uxCriticalNesting )++;
-20001b38: | efffe517 auipc a0,0xefffe
-20001b3c: | 55c50513 addi a0,a0,1372 # 10000094 <pxCurrentTCB>
-20001b40: | 410c lw a1,0(a0)
-20001b42: | 41f0 lw a2,68(a1)
-20001b44: | 0605 addi a2,a2,1
-20001b46: | c1f0 sw a2,68(a1)
+20001b56: | efffe517 auipc a0,0xefffe
+20001b5a: | 53e50513 addi a0,a0,1342 # 10000094 <pxCurrentTCB>
+20001b5e: | 410c lw a1,0(a0)
+20001b60: | 41f0 lw a2,68(a1)
+20001b62: | 0605 addi a2,a2,1
+20001b64: | c1f0 sw a2,68(a1)
/proc/self/cwd/external/freertos/tasks.c:4357
if( pxCurrentTCB->uxCriticalNesting == 1 )
-20001b48: | 4108 lw a0,0(a0)
+20001b66: | 4108 lw a0,0(a0)
xTaskResumeAll():
/proc/self/cwd/external/freertos/tasks.c:2229
--uxSchedulerSuspended;
-20001b4a: \-> efffe517 auipc a0,0xefffe
-20001b4e: 56a50513 addi a0,a0,1386 # 100000b4 <uxSchedulerSuspended>
-20001b52: 410c lw a1,0(a0)
-20001b54: 15fd addi a1,a1,-1
-20001b56: c10c sw a1,0(a0)
+20001b68: \-> efffe517 auipc a0,0xefffe
+20001b6c: 54c50513 addi a0,a0,1356 # 100000b4 <uxSchedulerSuspended>
+20001b70: 410c lw a1,0(a0)
+20001b72: 15fd addi a1,a1,-1
+20001b74: c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2231
if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE )
-20001b58: 4108 lw a0,0(a0)
-20001b5a: /----------- e965 bnez a0,20001c4a <xTaskResumeAll+0x12c>
+20001b76: 4108 lw a0,0(a0)
+20001b78: /----------- e965 bnez a0,20001c68 <xTaskResumeAll+0x12c>
/proc/self/cwd/external/freertos/tasks.c:2233
if( uxCurrentNumberOfTasks > ( UBaseType_t ) 0U )
-20001b5c: | efffe517 auipc a0,0xefffe
-20001b60: | 54850513 addi a0,a0,1352 # 100000a4 <uxCurrentNumberOfTasks>
-20001b64: | 4108 lw a0,0(a0)
-20001b66: +----------- c175 beqz a0,20001c4a <xTaskResumeAll+0x12c>
+20001b7a: | efffe517 auipc a0,0xefffe
+20001b7e: | 52a50513 addi a0,a0,1322 # 100000a4 <uxCurrentNumberOfTasks>
+20001b82: | 4108 lw a0,0(a0)
+20001b84: +----------- c175 beqz a0,20001c68 <xTaskResumeAll+0x12c>
/proc/self/cwd/external/freertos/tasks.c:2237
while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE )
-20001b68: | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
-20001b6c: | 410c lw a1,0(a0)
-20001b6e: | efffe917 auipc s2,0xefffe
-20001b72: | 54a90913 addi s2,s2,1354 # 100000b8 <xYieldPending>
-20001b76: | /-------- cdcd beqz a1,20001c30 <xTaskResumeAll+0x112>
-20001b78: | | 4885 li a7,1
-20001b7a: | | efffe617 auipc a2,0xefffe
-20001b7e: | | 51e60613 addi a2,a2,1310 # 10000098 <uxTopReadyPriority>
-20001b82: | | 4851 li a6,20
-20001b84: | | 0a818293 addi t0,gp,168 # 100008a8 <pxReadyTasksLists>
-20001b88: | | efffe317 auipc t1,0xefffe
-20001b8c: | | 50c30313 addi t1,t1,1292 # 10000094 <pxCurrentTCB>
+20001b86: | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
+20001b8a: | 410c lw a1,0(a0)
+20001b8c: | efffe917 auipc s2,0xefffe
+20001b90: | 52c90913 addi s2,s2,1324 # 100000b8 <xYieldPending>
+20001b94: | /-------- cdcd beqz a1,20001c4e <xTaskResumeAll+0x112>
+20001b96: | | 4885 li a7,1
+20001b98: | | efffe617 auipc a2,0xefffe
+20001b9c: | | 50060613 addi a2,a2,1280 # 10000098 <uxTopReadyPriority>
+20001ba0: | | 4851 li a6,20
+20001ba2: | | 0a818293 addi t0,gp,168 # 100008a8 <pxReadyTasksLists>
+20001ba6: | | efffe317 auipc t1,0xefffe
+20001baa: | | 4ee30313 addi t1,t1,1262 # 10000094 <pxCurrentTCB>
/proc/self/cwd/external/freertos/tasks.c:2239
pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyList ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
-20001b90: | | /----> 454c lw a1,12(a0)
-20001b92: | | | 45c0 lw s0,12(a1)
+20001bae: | | /----> 454c lw a1,12(a0)
+20001bb0: | | | 45c0 lw s0,12(a1)
/proc/self/cwd/external/freertos/tasks.c:2240
listREMOVE_ITEM( &( pxTCB->xEventListItem ) );
-20001b94: | | | 500c lw a1,32(s0)
-20001b96: | | | 4c58 lw a4,28(s0)
-20001b98: | | | 5404 lw s1,40(s0)
-20001b9a: | | | c70c sw a1,8(a4)
-20001b9c: | | | 5014 lw a3,32(s0)
-20001b9e: | | | c2d8 sw a4,4(a3)
-20001ba0: | | | 40cc lw a1,4(s1)
-20001ba2: | | | 01840713 addi a4,s0,24
-20001ba6: | | | /-- 00e59363 bne a1,a4,20001bac <xTaskResumeAll+0x8e>
-20001baa: | | | | c0d4 sw a3,4(s1)
-20001bac: | | | \-> 02042423 sw zero,40(s0)
-20001bb0: | | | 408c lw a1,0(s1)
-20001bb2: | | | 15fd addi a1,a1,-1
-20001bb4: | | | c08c sw a1,0(s1)
+20001bb2: | | | 500c lw a1,32(s0)
+20001bb4: | | | 4c58 lw a4,28(s0)
+20001bb6: | | | 5404 lw s1,40(s0)
+20001bb8: | | | c70c sw a1,8(a4)
+20001bba: | | | 5014 lw a3,32(s0)
+20001bbc: | | | c2d8 sw a4,4(a3)
+20001bbe: | | | 40cc lw a1,4(s1)
+20001bc0: | | | 01840713 addi a4,s0,24
+20001bc4: | | | /-- 00e59363 bne a1,a4,20001bca <xTaskResumeAll+0x8e>
+20001bc8: | | | | c0d4 sw a3,4(s1)
+20001bca: | | | \-> 02042423 sw zero,40(s0)
+20001bce: | | | 408c lw a1,0(s1)
+20001bd0: | | | 15fd addi a1,a1,-1
+20001bd2: | | | c08c sw a1,0(s1)
/proc/self/cwd/external/freertos/tasks.c:2242
listREMOVE_ITEM( &( pxTCB->xStateListItem ) );
-20001bb6: | | | 444c lw a1,12(s0)
-20001bb8: | | | 4418 lw a4,8(s0)
-20001bba: | | | 4854 lw a3,20(s0)
-20001bbc: | | | c70c sw a1,8(a4)
-20001bbe: | | | 444c lw a1,12(s0)
-20001bc0: | | | c1d8 sw a4,4(a1)
-20001bc2: | | | 42d8 lw a4,4(a3)
-20001bc4: | | | 00440493 addi s1,s0,4
-20001bc8: | | | /-- 00971363 bne a4,s1,20001bce <xTaskResumeAll+0xb0>
-20001bcc: | | | | c2cc sw a1,4(a3)
-20001bce: | | | \-> 428c lw a1,0(a3)
-20001bd0: | | | 15fd addi a1,a1,-1
-20001bd2: | | | c28c sw a1,0(a3)
+20001bd4: | | | 444c lw a1,12(s0)
+20001bd6: | | | 4418 lw a4,8(s0)
+20001bd8: | | | 4854 lw a3,20(s0)
+20001bda: | | | c70c sw a1,8(a4)
+20001bdc: | | | 444c lw a1,12(s0)
+20001bde: | | | c1d8 sw a4,4(a1)
+20001be0: | | | 42d8 lw a4,4(a3)
+20001be2: | | | 00440493 addi s1,s0,4
+20001be6: | | | /-- 00971363 bne a4,s1,20001bec <xTaskResumeAll+0xb0>
+20001bea: | | | | c2cc sw a1,4(a3)
+20001bec: | | | \-> 428c lw a1,0(a3)
+20001bee: | | | 15fd addi a1,a1,-1
+20001bf0: | | | c28c sw a1,0(a3)
/proc/self/cwd/external/freertos/tasks.c:2243
prvAddTaskToReadyList( pxTCB );
-20001bd4: | | | 544c lw a1,44(s0)
-20001bd6: | | | 4214 lw a3,0(a2)
-20001bd8: | | | 00b89733 sll a4,a7,a1
-20001bdc: | | | 8ed9 or a3,a3,a4
-20001bde: | | | c214 sw a3,0(a2)
-20001be0: | | | 030586b3 mul a3,a1,a6
-20001be4: | | | 9696 add a3,a3,t0
-20001be6: | | | 42d8 lw a4,4(a3)
-20001be8: | | | c418 sw a4,8(s0)
-20001bea: | | | 471c lw a5,8(a4)
-20001bec: | | | c45c sw a5,12(s0)
-20001bee: | | | 471c lw a5,8(a4)
-20001bf0: | | | c3c4 sw s1,4(a5)
-20001bf2: | | | c704 sw s1,8(a4)
-20001bf4: | | | c854 sw a3,20(s0)
-20001bf6: | | | 4298 lw a4,0(a3)
-20001bf8: | | | 0705 addi a4,a4,1
-20001bfa: | | | c298 sw a4,0(a3)
+20001bf2: | | | 544c lw a1,44(s0)
+20001bf4: | | | 4214 lw a3,0(a2)
+20001bf6: | | | 00b89733 sll a4,a7,a1
+20001bfa: | | | 8ed9 or a3,a3,a4
+20001bfc: | | | c214 sw a3,0(a2)
+20001bfe: | | | 030586b3 mul a3,a1,a6
+20001c02: | | | 9696 add a3,a3,t0
+20001c04: | | | 42d8 lw a4,4(a3)
+20001c06: | | | c418 sw a4,8(s0)
+20001c08: | | | 471c lw a5,8(a4)
+20001c0a: | | | c45c sw a5,12(s0)
+20001c0c: | | | 471c lw a5,8(a4)
+20001c0e: | | | c3c4 sw s1,4(a5)
+20001c10: | | | c704 sw s1,8(a4)
+20001c12: | | | c854 sw a3,20(s0)
+20001c14: | | | 4298 lw a4,0(a3)
+20001c16: | | | 0705 addi a4,a4,1
+20001c18: | | | c298 sw a4,0(a3)
/proc/self/cwd/external/freertos/tasks.c:2247
if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
-20001bfc: | | | 00032683 lw a3,0(t1)
-20001c00: | | | 56d4 lw a3,44(a3)
-20001c02: | | | /-- 00d5e463 bltu a1,a3,20001c0a <xTaskResumeAll+0xec>
+20001c1a: | | | 00032683 lw a3,0(t1)
+20001c1e: | | | 56d4 lw a3,44(a3)
+20001c20: | | | /-- 00d5e463 bltu a1,a3,20001c28 <xTaskResumeAll+0xec>
/proc/self/cwd/external/freertos/tasks.c:2249
xYieldPending = pdTRUE;
-20001c06: | | | | 01192023 sw a7,0(s2)
+20001c24: | | | | 01192023 sw a7,0(s2)
/proc/self/cwd/external/freertos/tasks.c:2237
while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE )
-20001c0a: | | | \-> 410c lw a1,0(a0)
-20001c0c: | | \----- f1d1 bnez a1,20001b90 <xTaskResumeAll+0x72>
+20001c28: | | | \-> 410c lw a1,0(a0)
+20001c2a: | | \----- f1d1 bnez a1,20001bae <xTaskResumeAll+0x72>
prvResetNextTaskUnblockTime():
/proc/self/cwd/external/freertos/tasks.c:4001
if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE )
-20001c0e: | | efffe517 auipc a0,0xefffe
-20001c12: | | 49e50513 addi a0,a0,1182 # 100000ac <pxDelayedTaskList>
-20001c16: | | 410c lw a1,0(a0)
-20001c18: | | 418c lw a1,0(a1)
-20001c1a: | | /----- c589 beqz a1,20001c24 <xTaskResumeAll+0x106>
+20001c2c: | | efffe517 auipc a0,0xefffe
+20001c30: | | 48050513 addi a0,a0,1152 # 100000ac <pxDelayedTaskList>
+20001c34: | | 410c lw a1,0(a0)
+20001c36: | | 418c lw a1,0(a1)
+20001c38: | | /----- c589 beqz a1,20001c42 <xTaskResumeAll+0x106>
/proc/self/cwd/external/freertos/tasks.c:4015
xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList );
-20001c1c: | | | 4108 lw a0,0(a0)
-20001c1e: | | | 4548 lw a0,12(a0)
-20001c20: | | | 4108 lw a0,0(a0)
-20001c22: | | | /-- a011 j 20001c26 <xTaskResumeAll+0x108>
-20001c24: | | \--|-> 557d li a0,-1
-20001c26: | | \-> efffe597 auipc a1,0xefffe
-20001c2a: | | 49a58593 addi a1,a1,1178 # 100000c0 <xNextTaskUnblockTime>
-20001c2e: | | c188 sw a0,0(a1)
+20001c3a: | | | 4108 lw a0,0(a0)
+20001c3c: | | | 4548 lw a0,12(a0)
+20001c3e: | | | 4108 lw a0,0(a0)
+20001c40: | | | /-- a011 j 20001c44 <xTaskResumeAll+0x108>
+20001c42: | | \--|-> 557d li a0,-1
+20001c44: | | \-> efffe597 auipc a1,0xefffe
+20001c48: | | 47c58593 addi a1,a1,1148 # 100000c0 <xNextTaskUnblockTime>
+20001c4c: | | c188 sw a0,0(a1)
xTaskResumeAll():
/proc/self/cwd/external/freertos/tasks.c:2273
TickType_t xPendedCounts = xPendedTicks; /* Non-volatile copy. */
-20001c30: | \-------> efffe417 auipc s0,0xefffe
-20001c34: | 49840413 addi s0,s0,1176 # 100000c8 <xPendedTicks>
-20001c38: | 4004 lw s1,0(s0)
+20001c4e: | \-------> efffe417 auipc s0,0xefffe
+20001c52: | 47a40413 addi s0,s0,1146 # 100000c8 <xPendedTicks>
+20001c56: | 4004 lw s1,0(s0)
/proc/self/cwd/external/freertos/tasks.c:2275
if( xPendedCounts > ( TickType_t ) 0U )
-20001c3a: | /----- c491 beqz s1,20001c46 <xTaskResumeAll+0x128>
+20001c58: | /----- c491 beqz s1,20001c64 <xTaskResumeAll+0x128>
/proc/self/cwd/external/freertos/tasks.c:2279
if( xTaskIncrementTick() != pdFALSE )
-20001c3c: | | /-> 2839 jal 20001c5a <xTaskIncrementTick>
+20001c5a: | | /-> 2839 jal 20001c78 <xTaskIncrementTick>
/proc/self/cwd/external/freertos/tasks.c:2288
--xPendedCounts;
-20001c3e: | | | 14fd addi s1,s1,-1
+20001c5c: | | | 14fd addi s1,s1,-1
/proc/self/cwd/external/freertos/tasks.c:2289
} while( xPendedCounts > ( TickType_t ) 0U );
-20001c40: | | \-- fcf5 bnez s1,20001c3c <xTaskResumeAll+0x11e>
+20001c5e: | | \-- fcf5 bnez s1,20001c5a <xTaskResumeAll+0x11e>
/proc/self/cwd/external/freertos/tasks.c:2291
xPendedTicks = 0;
-20001c42: | | 00042023 sw zero,0(s0)
+20001c60: | | 00042023 sw zero,0(s0)
/proc/self/cwd/external/freertos/tasks.c:2299
if( xYieldPending != pdFALSE )
-20001c46: | \----> 00092503 lw a0,0(s2)
+20001c64: | \----> 00092503 lw a0,0(s2)
/proc/self/cwd/external/freertos/tasks.c:2319
taskEXIT_CRITICAL();
-20001c4a: \----------> 3b45 jal 200019fa <vTaskExitCritical>
+20001c68: \----------> 3b45 jal 20001a18 <vTaskExitCritical>
/proc/self/cwd/external/freertos/tasks.c:2321
return xAlreadyYielded;
-20001c4c: 4501 li a0,0
-20001c4e: 4902 lw s2,0(sp)
-20001c50: 4492 lw s1,4(sp)
-20001c52: 4422 lw s0,8(sp)
-20001c54: 40b2 lw ra,12(sp)
-20001c56: 0141 addi sp,sp,16
-20001c58: 8082 ret
+20001c6a: 4501 li a0,0
+20001c6c: 4902 lw s2,0(sp)
+20001c6e: 4492 lw s1,4(sp)
+20001c70: 4422 lw s0,8(sp)
+20001c72: 40b2 lw ra,12(sp)
+20001c74: 0141 addi sp,sp,16
+20001c76: 8082 ret
-20001c5a <xTaskIncrementTick>:
+20001c78 <xTaskIncrementTick>:
xTaskIncrementTick():
/proc/self/cwd/external/freertos/tasks.c:2740
if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE )
-20001c5a: efffe517 auipc a0,0xefffe
-20001c5e: 45a50513 addi a0,a0,1114 # 100000b4 <uxSchedulerSuspended>
-20001c62: 4108 lw a0,0(a0)
-20001c64: /-- c909 beqz a0,20001c76 <xTaskIncrementTick+0x1c>
+20001c78: efffe517 auipc a0,0xefffe
+20001c7c: 43c50513 addi a0,a0,1084 # 100000b4 <uxSchedulerSuspended>
+20001c80: 4108 lw a0,0(a0)
+20001c82: /-- c909 beqz a0,20001c94 <xTaskIncrementTick+0x1c>
/proc/self/cwd/external/freertos/tasks.c:2887
++xPendedTicks;
-20001c66: | efffe517 auipc a0,0xefffe
-20001c6a: | 46250513 addi a0,a0,1122 # 100000c8 <xPendedTicks>
-20001c6e: | 410c lw a1,0(a0)
-20001c70: | 0585 addi a1,a1,1
-20001c72: | c10c sw a1,0(a0)
-20001c74: /--------------|-- a231 j 20001d80 <xTaskIncrementTick+0x126>
+20001c84: | efffe517 auipc a0,0xefffe
+20001c88: | 44450513 addi a0,a0,1092 # 100000c8 <xPendedTicks>
+20001c8c: | 410c lw a1,0(a0)
+20001c8e: | 0585 addi a1,a1,1
+20001c90: | c10c sw a1,0(a0)
+20001c92: /--------------|-- a231 j 20001d9e <xTaskIncrementTick+0x126>
/proc/self/cwd/external/freertos/tasks.c:2744
const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1;
-20001c76: | \-> efffe517 auipc a0,0xefffe
-20001c7a: | 44e50513 addi a0,a0,1102 # 100000c4 <xTickCount>
-20001c7e: | 410c lw a1,0(a0)
-20001c80: | 00158393 addi t2,a1,1
+20001c94: | \-> efffe517 auipc a0,0xefffe
+20001c98: | 43050513 addi a0,a0,1072 # 100000c4 <xTickCount>
+20001c9c: | 410c lw a1,0(a0)
+20001c9e: | 00158393 addi t2,a1,1
/proc/self/cwd/external/freertos/tasks.c:2748
xTickCount = xConstTickCount;
-20001c84: | 00752023 sw t2,0(a0)
-20001c88: | efffee17 auipc t3,0xefffe
-20001c8c: | 424e0e13 addi t3,t3,1060 # 100000ac <pxDelayedTaskList>
-20001c90: | efffe817 auipc a6,0xefffe
-20001c94: | 43080813 addi a6,a6,1072 # 100000c0 <xNextTaskUnblockTime>
+20001ca2: | 00752023 sw t2,0(a0)
+20001ca6: | efffee17 auipc t3,0xefffe
+20001caa: | 406e0e13 addi t3,t3,1030 # 100000ac <pxDelayedTaskList>
+20001cae: | efffe817 auipc a6,0xefffe
+20001cb2: | 41280813 addi a6,a6,1042 # 100000c0 <xNextTaskUnblockTime>
/proc/self/cwd/external/freertos/tasks.c:2750
if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */
-20001c98: | /-------- 02b3ff63 bgeu t2,a1,20001cd6 <xTaskIncrementTick+0x7c>
+20001cb6: | /-------- 02b3ff63 bgeu t2,a1,20001cf4 <xTaskIncrementTick+0x7c>
/proc/self/cwd/external/freertos/tasks.c:2752
taskSWITCH_DELAYED_LISTS();
-20001c9c: | | 000e2503 lw a0,0(t3)
-20001ca0: | | efffe597 auipc a1,0xefffe
-20001ca4: | | 41058593 addi a1,a1,1040 # 100000b0 <pxOverflowDelayedTaskList>
-20001ca8: | | 4194 lw a3,0(a1)
-20001caa: | | 00de2023 sw a3,0(t3)
-20001cae: | | c188 sw a0,0(a1)
-20001cb0: | | efffe517 auipc a0,0xefffe
-20001cb4: | | 41c50513 addi a0,a0,1052 # 100000cc <xNumOfOverflows>
-20001cb8: | | 410c lw a1,0(a0)
-20001cba: | | 0585 addi a1,a1,1
-20001cbc: | | c10c sw a1,0(a0)
+20001cba: | | 000e2503 lw a0,0(t3)
+20001cbe: | | efffe597 auipc a1,0xefffe
+20001cc2: | | 3f258593 addi a1,a1,1010 # 100000b0 <pxOverflowDelayedTaskList>
+20001cc6: | | 4194 lw a3,0(a1)
+20001cc8: | | 00de2023 sw a3,0(t3)
+20001ccc: | | c188 sw a0,0(a1)
+20001cce: | | efffe517 auipc a0,0xefffe
+20001cd2: | | 3fe50513 addi a0,a0,1022 # 100000cc <xNumOfOverflows>
+20001cd6: | | 410c lw a1,0(a0)
+20001cd8: | | 0585 addi a1,a1,1
+20001cda: | | c10c sw a1,0(a0)
prvResetNextTaskUnblockTime():
/proc/self/cwd/external/freertos/tasks.c:4001
if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE )
-20001cbe: | | 000e2503 lw a0,0(t3)
-20001cc2: | | 4108 lw a0,0(a0)
-20001cc4: | | /----- c511 beqz a0,20001cd0 <xTaskIncrementTick+0x76>
+20001cdc: | | 000e2503 lw a0,0(t3)
+20001ce0: | | 4108 lw a0,0(a0)
+20001ce2: | | /----- c511 beqz a0,20001cee <xTaskIncrementTick+0x76>
/proc/self/cwd/external/freertos/tasks.c:4015
xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList );
-20001cc6: | | | 000e2503 lw a0,0(t3)
-20001cca: | | | 4548 lw a0,12(a0)
-20001ccc: | | | 4108 lw a0,0(a0)
-20001cce: | | | /-- a011 j 20001cd2 <xTaskIncrementTick+0x78>
-20001cd0: | | \--|-> 557d li a0,-1
-20001cd2: | | \-> 00a82023 sw a0,0(a6)
+20001ce4: | | | 000e2503 lw a0,0(t3)
+20001ce8: | | | 4548 lw a0,12(a0)
+20001cea: | | | 4108 lw a0,0(a0)
+20001cec: | | | /-- a011 j 20001cf0 <xTaskIncrementTick+0x78>
+20001cee: | | \--|-> 557d li a0,-1
+20001cf0: | | \-> 00a82023 sw a0,0(a6)
xTaskIncrementTick():
/proc/self/cwd/external/freertos/tasks.c:2763
if( xConstTickCount >= xNextTaskUnblockTime )
-20001cd6: | \-------> 00082503 lw a0,0(a6)
-20001cda: +----------------- 0aa3e363 bltu t2,a0,20001d80 <xTaskIncrementTick+0x126>
+20001cf4: | \-------> 00082503 lw a0,0(a6)
+20001cf8: +----------------- 0aa3e363 bltu t2,a0,20001d9e <xTaskIncrementTick+0x126>
/proc/self/cwd/external/freertos/tasks.c:2767
if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE )
-20001cde: | 000e2503 lw a0,0(t3)
-20001ce2: | 4108 lw a0,0(a0)
-20001ce4: | /-------------- c959 beqz a0,20001d7a <xTaskIncrementTick+0x120>
-20001ce6: | | 4885 li a7,1
-20001ce8: | | efffee97 auipc t4,0xefffe
-20001cec: | | 3b0e8e93 addi t4,t4,944 # 10000098 <uxTopReadyPriority>
-20001cf0: | | 42d1 li t0,20
-20001cf2: | | 0a818313 addi t1,gp,168 # 100008a8 <pxReadyTasksLists>
+20001cfc: | 000e2503 lw a0,0(t3)
+20001d00: | 4108 lw a0,0(a0)
+20001d02: | /-------------- c959 beqz a0,20001d98 <xTaskIncrementTick+0x120>
+20001d04: | | 4885 li a7,1
+20001d06: | | efffee97 auipc t4,0xefffe
+20001d0a: | | 392e8e93 addi t4,t4,914 # 10000098 <uxTopReadyPriority>
+20001d0e: | | 42d1 li t0,20
+20001d10: | | 0a818313 addi t1,gp,168 # 100008a8 <pxReadyTasksLists>
/proc/self/cwd/external/freertos/tasks.c:2783
pxTCB = listGET_OWNER_OF_HEAD_ENTRY( pxDelayedTaskList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
-20001cf6: | | /----------> 000e2503 lw a0,0(t3)
-20001cfa: | | | 4548 lw a0,12(a0)
-20001cfc: | | | 4554 lw a3,12(a0)
+20001d14: | | /----------> 000e2503 lw a0,0(t3)
+20001d18: | | | 4548 lw a0,12(a0)
+20001d1a: | | | 4554 lw a3,12(a0)
/proc/self/cwd/external/freertos/tasks.c:2784
xItemValue = listGET_LIST_ITEM_VALUE( &( pxTCB->xStateListItem ) );
-20001cfe: | | | 42c8 lw a0,4(a3)
+20001d1c: | | | 42c8 lw a0,4(a3)
/proc/self/cwd/external/freertos/tasks.c:2786
if( xConstTickCount < xItemValue )
-20001d00: | | | /-------- 06a3ee63 bltu t2,a0,20001d7c <xTaskIncrementTick+0x122>
+20001d1e: | | | /-------- 06a3ee63 bltu t2,a0,20001d9a <xTaskIncrementTick+0x122>
/proc/self/cwd/external/freertos/tasks.c:2802
listREMOVE_ITEM( &( pxTCB->xStateListItem ) );
-20001d04: | | | | 46cc lw a1,12(a3)
-20001d06: | | | | 469c lw a5,8(a3)
-20001d08: | | | | 4ac8 lw a0,20(a3)
-20001d0a: | | | | c78c sw a1,8(a5)
-20001d0c: | | | | 46cc lw a1,12(a3)
-20001d0e: | | | | c1dc sw a5,4(a1)
-20001d10: | | | | 4150 lw a2,4(a0)
-20001d12: | | | | 00468793 addi a5,a3,4
-20001d16: | | | | /-- 00f61363 bne a2,a5,20001d1c <xTaskIncrementTick+0xc2>
-20001d1a: | | | | | c14c sw a1,4(a0)
-20001d1c: | | | | \-> 410c lw a1,0(a0)
-20001d1e: | | | | 15fd addi a1,a1,-1
-20001d20: | | | | c10c sw a1,0(a0)
+20001d22: | | | | 46cc lw a1,12(a3)
+20001d24: | | | | 469c lw a5,8(a3)
+20001d26: | | | | 4ac8 lw a0,20(a3)
+20001d28: | | | | c78c sw a1,8(a5)
+20001d2a: | | | | 46cc lw a1,12(a3)
+20001d2c: | | | | c1dc sw a5,4(a1)
+20001d2e: | | | | 4150 lw a2,4(a0)
+20001d30: | | | | 00468793 addi a5,a3,4
+20001d34: | | | | /-- 00f61363 bne a2,a5,20001d3a <xTaskIncrementTick+0xc2>
+20001d38: | | | | | c14c sw a1,4(a0)
+20001d3a: | | | | \-> 410c lw a1,0(a0)
+20001d3c: | | | | 15fd addi a1,a1,-1
+20001d3e: | | | | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2806
if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) != NULL )
-20001d22: | | | | 5688 lw a0,40(a3)
-20001d24: | | | | /----- c10d beqz a0,20001d46 <xTaskIncrementTick+0xec>
+20001d40: | | | | 5688 lw a0,40(a3)
+20001d42: | | | | /----- c10d beqz a0,20001d64 <xTaskIncrementTick+0xec>
/proc/self/cwd/external/freertos/tasks.c:2808
listREMOVE_ITEM( &( pxTCB->xEventListItem ) );
-20001d26: | | | | | 528c lw a1,32(a3)
-20001d28: | | | | | 4ed0 lw a2,28(a3)
-20001d2a: | | | | | c60c sw a1,8(a2)
-20001d2c: | | | | | 528c lw a1,32(a3)
-20001d2e: | | | | | c1d0 sw a2,4(a1)
-20001d30: | | | | | 4150 lw a2,4(a0)
+20001d44: | | | | | 528c lw a1,32(a3)
+20001d46: | | | | | 4ed0 lw a2,28(a3)
+20001d48: | | | | | c60c sw a1,8(a2)
+20001d4a: | | | | | 528c lw a1,32(a3)
+20001d4c: | | | | | c1d0 sw a2,4(a1)
+20001d4e: | | | | | 4150 lw a2,4(a0)
/proc/self/cwd/external/freertos/tasks.c:2806
if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) != NULL )
-20001d32: | | | | | 01868713 addi a4,a3,24
+20001d50: | | | | | 01868713 addi a4,a3,24
/proc/self/cwd/external/freertos/tasks.c:2808
listREMOVE_ITEM( &( pxTCB->xEventListItem ) );
-20001d36: | | | | | /-- 00e61363 bne a2,a4,20001d3c <xTaskIncrementTick+0xe2>
-20001d3a: | | | | | | c14c sw a1,4(a0)
-20001d3c: | | | | | \-> 0206a423 sw zero,40(a3)
-20001d40: | | | | | 410c lw a1,0(a0)
-20001d42: | | | | | 15fd addi a1,a1,-1
-20001d44: | | | | | c10c sw a1,0(a0)
+20001d54: | | | | | /-- 00e61363 bne a2,a4,20001d5a <xTaskIncrementTick+0xe2>
+20001d58: | | | | | | c14c sw a1,4(a0)
+20001d5a: | | | | | \-> 0206a423 sw zero,40(a3)
+20001d5e: | | | | | 410c lw a1,0(a0)
+20001d60: | | | | | 15fd addi a1,a1,-1
+20001d62: | | | | | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2817
prvAddTaskToReadyList( pxTCB );
-20001d46: | | | | \----> 56c8 lw a0,44(a3)
-20001d48: | | | | 000ea583 lw a1,0(t4)
-20001d4c: | | | | 00a89633 sll a2,a7,a0
-20001d50: | | | | 8dd1 or a1,a1,a2
-20001d52: | | | | 00bea023 sw a1,0(t4)
-20001d56: | | | | 02550533 mul a0,a0,t0
-20001d5a: | | | | 951a add a0,a0,t1
-20001d5c: | | | | 414c lw a1,4(a0)
-20001d5e: | | | | c68c sw a1,8(a3)
-20001d60: | | | | 4590 lw a2,8(a1)
-20001d62: | | | | c6d0 sw a2,12(a3)
-20001d64: | | | | 4590 lw a2,8(a1)
-20001d66: | | | | c25c sw a5,4(a2)
-20001d68: | | | | c59c sw a5,8(a1)
-20001d6a: | | | | cac8 sw a0,20(a3)
-20001d6c: | | | | 410c lw a1,0(a0)
-20001d6e: | | | | 0585 addi a1,a1,1
-20001d70: | | | | c10c sw a1,0(a0)
+20001d64: | | | | \----> 56c8 lw a0,44(a3)
+20001d66: | | | | 000ea583 lw a1,0(t4)
+20001d6a: | | | | 00a89633 sll a2,a7,a0
+20001d6e: | | | | 8dd1 or a1,a1,a2
+20001d70: | | | | 00bea023 sw a1,0(t4)
+20001d74: | | | | 02550533 mul a0,a0,t0
+20001d78: | | | | 951a add a0,a0,t1
+20001d7a: | | | | 414c lw a1,4(a0)
+20001d7c: | | | | c68c sw a1,8(a3)
+20001d7e: | | | | 4590 lw a2,8(a1)
+20001d80: | | | | c6d0 sw a2,12(a3)
+20001d82: | | | | 4590 lw a2,8(a1)
+20001d84: | | | | c25c sw a5,4(a2)
+20001d86: | | | | c59c sw a5,8(a1)
+20001d88: | | | | cac8 sw a0,20(a3)
+20001d8a: | | | | 410c lw a1,0(a0)
+20001d8c: | | | | 0585 addi a1,a1,1
+20001d8e: | | | | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2767
if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE )
-20001d72: | | | | 000e2503 lw a0,0(t3)
-20001d76: | | | | 4108 lw a0,0(a0)
-20001d78: | | \--|-------- fd3d bnez a0,20001cf6 <xTaskIncrementTick+0x9c>
-20001d7a: | \-----|-------> 557d li a0,-1
-20001d7c: | \-------> 00a82023 sw a0,0(a6)
+20001d90: | | | | 000e2503 lw a0,0(t3)
+20001d94: | | | | 4108 lw a0,0(a0)
+20001d96: | | \--|-------- fd3d bnez a0,20001d14 <xTaskIncrementTick+0x9c>
+20001d98: | \-----|-------> 557d li a0,-1
+20001d9a: | \-------> 00a82023 sw a0,0(a6)
/proc/self/cwd/external/freertos/tasks.c:2898
return xSwitchRequired;
-20001d80: \----------------> 4501 li a0,0
-20001d82: 8082 ret
+20001d9e: \----------------> 4501 li a0,0
+20001da0: 8082 ret
-20001d84 <vListInitialise>:
+20001da2 <vListInitialise>:
vListInitialise():
/proc/self/cwd/external/freertos/list.c:55
void vListInitialise( List_t * const pxList )
@@ -5125,28 +5125,28 @@
* end of the list. To initialise the list the list end is inserted
* as the only list entry. */
pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
-20001d84: 00850593 addi a1,a0,8
-20001d88: c14c sw a1,4(a0)
-20001d8a: 567d li a2,-1
+20001da2: 00850593 addi a1,a0,8
+20001da6: c14c sw a1,4(a0)
+20001da8: 567d li a2,-1
/proc/self/cwd/external/freertos/list.c:59
/* The list end value is the highest possible value in the list to
* ensure it remains at the end of the list. */
pxList->xListEnd.xItemValue = portMAX_DELAY;
-20001d8c: c510 sw a2,8(a0)
+20001daa: c510 sw a2,8(a0)
/proc/self/cwd/external/freertos/list.c:63
/* The list end next and previous pointers point to itself so we know
* when the list is empty. */
pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
-20001d8e: c54c sw a1,12(a0)
+20001dac: c54c sw a1,12(a0)
/proc/self/cwd/external/freertos/list.c:64
pxList->xListEnd.pxPrevious = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
-20001d90: c90c sw a1,16(a0)
+20001dae: c90c sw a1,16(a0)
/proc/self/cwd/external/freertos/list.c:66
pxList->uxNumberOfItems = ( UBaseType_t ) 0U;
-20001d92: 00052023 sw zero,0(a0)
+20001db0: 00052023 sw zero,0(a0)
/proc/self/cwd/external/freertos/list.c:72
/* Write known values into the list if
@@ -5154,9 +5154,9 @@
listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList );
listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList );
}
-20001d96: 8082 ret
+20001db4: 8082 ret
-20001d98 <vListInitialiseItem>:
+20001db6 <vListInitialiseItem>:
vListInitialiseItem():
/proc/self/cwd/external/freertos/list.c:78
/*-----------------------------------------------------------*/
@@ -5165,7 +5165,7 @@
{
/* Make sure the list item is not recorded as being on a list. */
pxItem->pxContainer = NULL;
-20001d98: 00052823 sw zero,16(a0)
+20001db6: 00052823 sw zero,16(a0)
/proc/self/cwd/external/freertos/list.c:84
/* Write known values into the list item if
@@ -5173,9 +5173,9 @@
listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem );
listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem );
}
-20001d9c: 8082 ret
+20001dba: 8082 ret
-20001d9e <uxListRemove>:
+20001dbc <uxListRemove>:
uxListRemove():
/proc/self/cwd/external/freertos/list.c:194
{
@@ -5184,18 +5184,18 @@
List_t * const pxList = pxItemToRemove->pxContainer;
pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;
-20001d9e: 4510 lw a2,8(a0)
-20001da0: 4154 lw a3,4(a0)
+20001dbc: 4510 lw a2,8(a0)
+20001dbe: 4154 lw a3,4(a0)
/proc/self/cwd/external/freertos/list.c:192
List_t * const pxList = pxItemToRemove->pxContainer;
-20001da2: 490c lw a1,16(a0)
+20001dc0: 490c lw a1,16(a0)
/proc/self/cwd/external/freertos/list.c:194
pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;
-20001da4: c690 sw a2,8(a3)
+20001dc2: c690 sw a2,8(a3)
/proc/self/cwd/external/freertos/list.c:195
pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext;
-20001da6: 4510 lw a2,8(a0)
-20001da8: c254 sw a3,4(a2)
+20001dc4: 4510 lw a2,8(a0)
+20001dc6: c254 sw a3,4(a2)
/proc/self/cwd/external/freertos/list.c:201
/* Only used during decision coverage testing. */
@@ -5203,12 +5203,12 @@
/* Make sure the index is left pointing to a valid item. */
if( pxList->pxIndex == pxItemToRemove )
-20001daa: 41d4 lw a3,4(a1)
-20001dac: /-- 00a69363 bne a3,a0,20001db2 <uxListRemove+0x14>
+20001dc8: 41d4 lw a3,4(a1)
+20001dca: /-- 00a69363 bne a3,a0,20001dd0 <uxListRemove+0x14>
/proc/self/cwd/external/freertos/list.c:203
{
pxList->pxIndex = pxItemToRemove->pxPrevious;
-20001db0: | c1d0 sw a2,4(a1)
+20001dce: | c1d0 sw a2,4(a1)
/proc/self/cwd/external/freertos/list.c:210
else
{
@@ -5216,19 +5216,19 @@
}
pxItemToRemove->pxContainer = NULL;
-20001db2: \-> 00052823 sw zero,16(a0)
+20001dd0: \-> 00052823 sw zero,16(a0)
/proc/self/cwd/external/freertos/list.c:211
( pxList->uxNumberOfItems )--;
-20001db6: 4188 lw a0,0(a1)
-20001db8: 157d addi a0,a0,-1
-20001dba: c188 sw a0,0(a1)
+20001dd4: 4188 lw a0,0(a1)
+20001dd6: 157d addi a0,a0,-1
+20001dd8: c188 sw a0,0(a1)
/proc/self/cwd/external/freertos/list.c:213
return pxList->uxNumberOfItems;
-20001dbc: 4188 lw a0,0(a1)
-20001dbe: 8082 ret
+20001dda: 4188 lw a0,0(a1)
+20001ddc: 8082 ret
-20001dc0 <pvPortMalloc>:
+20001dde <pvPortMalloc>:
pvPortMalloc():
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:72
static size_t xNextFreeByte = ( size_t ) 0;
@@ -5237,12 +5237,12 @@
void * pvPortMalloc( size_t xWantedSize )
{
-20001dc0: 1141 addi sp,sp,-16
-20001dc2: c606 sw ra,12(sp)
-20001dc4: c422 sw s0,8(sp)
-20001dc6: c226 sw s1,4(sp)
-20001dc8: c04a sw s2,0(sp)
-20001dca: 842a mv s0,a0
+20001dde: 1141 addi sp,sp,-16
+20001de0: c606 sw ra,12(sp)
+20001de2: c422 sw s0,8(sp)
+20001de4: c226 sw s1,4(sp)
+20001de6: c04a sw s2,0(sp)
+20001de8: 842a mv s0,a0
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:79
static uint8_t * pucAlignedHeap = NULL;
@@ -5250,13 +5250,13 @@
#if ( portBYTE_ALIGNMENT != 1 )
{
if( xWantedSize & portBYTE_ALIGNMENT_MASK )
-20001dcc: 9941 andi a0,a0,-16
-20001dce: 0541 addi a0,a0,16
-20001dd0: 00f47593 andi a1,s0,15
-20001dd4: /----- 00a46363 bltu s0,a0,20001dda <pvPortMalloc+0x1a>
-20001dd8: | 4501 li a0,0
-20001dda: \--/-X c191 beqz a1,20001dde <pvPortMalloc+0x1e>
-20001ddc: | 842a mv s0,a0
+20001dea: 9941 andi a0,a0,-16
+20001dec: 0541 addi a0,a0,16
+20001dee: 00f47593 andi a1,s0,15
+20001df2: /----- 00a46363 bltu s0,a0,20001df8 <pvPortMalloc+0x1a>
+20001df6: | 4501 li a0,0
+20001df8: \--/-X c191 beqz a1,20001dfc <pvPortMalloc+0x1e>
+20001dfa: | 842a mv s0,a0
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:94
}
}
@@ -5264,14 +5264,14 @@
#endif
vTaskSuspendAll();
-20001dde: \-> 3b05 jal 20001b0e <vTaskSuspendAll>
+20001dfc: \-> 3b05 jal 20001b2c <vTaskSuspendAll>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:96
{
if( pucAlignedHeap == NULL )
-20001de0: efffe517 auipc a0,0xefffe
-20001de4: 2f050513 addi a0,a0,752 # 100000d0 <pvPortMalloc.pucAlignedHeap>
-20001de8: 4104 lw s1,0(a0)
-20001dea: /-- c099 beqz s1,20001df0 <pvPortMalloc+0x30>
+20001dfe: efffe517 auipc a0,0xefffe
+20001e02: 2d250513 addi a0,a0,722 # 100000d0 <pvPortMalloc.pucAlignedHeap>
+20001e06: 4104 lw s1,0(a0)
+20001e08: /-- c099 beqz s1,20001e0e <pvPortMalloc+0x30>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:103
/* Ensure the heap starts on a correctly aligned boundary. */
pucAlignedHeap = ( uint8_t * ) ( ( ( portPOINTER_SIZE_TYPE ) & ucHeap[ portBYTE_ALIGNMENT ] ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
@@ -5279,28 +5279,28 @@
/* Check there is enough room left for the allocation and. */
if( ( xWantedSize > 0 ) && /* valid size */
-20001dec: /--|-- e819 bnez s0,20001e02 <pvPortMalloc+0x42>
-20001dee: /--|--|-- a835 j 20001e2a <pvPortMalloc+0x6a>
-20001df0: | | \-> effff597 auipc a1,0xeffff
-20001df4: | | b8058593 addi a1,a1,-1152 # 10000970 <ucHeap>
-20001df8: | | 05c1 addi a1,a1,16
+20001e0a: /--|-- e819 bnez s0,20001e20 <pvPortMalloc+0x42>
+20001e0c: /--|--|-- a835 j 20001e48 <pvPortMalloc+0x6a>
+20001e0e: | | \-> effff597 auipc a1,0xeffff
+20001e12: | | b6258593 addi a1,a1,-1182 # 10000970 <ucHeap>
+20001e16: | | 05c1 addi a1,a1,16
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:99
pucAlignedHeap = ( uint8_t * ) ( ( ( portPOINTER_SIZE_TYPE ) & ucHeap[ portBYTE_ALIGNMENT ] ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
-20001dfa: | | ff05f493 andi s1,a1,-16
-20001dfe: | | c104 sw s1,0(a0)
+20001e18: | | ff05f493 andi s1,a1,-16
+20001e1c: | | c104 sw s1,0(a0)
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:103
if( ( xWantedSize > 0 ) && /* valid size */
-20001e00: +--|----- c40d beqz s0,20001e2a <pvPortMalloc+0x6a>
+20001e1e: +--|----- c40d beqz s0,20001e48 <pvPortMalloc+0x6a>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:104
( ( xNextFreeByte + xWantedSize ) < configADJUSTED_HEAP_SIZE ) &&
-20001e02: | \----> efffe517 auipc a0,0xefffe
-20001e06: | 2d250513 addi a0,a0,722 # 100000d4 <xNextFreeByte>
-20001e0a: | 00052903 lw s2,0(a0)
-20001e0e: | 008905b3 add a1,s2,s0
-20001e12: | 7f05b613 sltiu a2,a1,2032
-20001e16: | 00b936b3 sltu a3,s2,a1
-20001e1a: | 8e75 and a2,a2,a3
-20001e1c: +-------- c619 beqz a2,20001e2a <pvPortMalloc+0x6a>
+20001e20: | \----> efffe517 auipc a0,0xefffe
+20001e24: | 2b450513 addi a0,a0,692 # 100000d4 <xNextFreeByte>
+20001e28: | 00052903 lw s2,0(a0)
+20001e2c: | 008905b3 add a1,s2,s0
+20001e30: | 7f05b613 sltiu a2,a1,2032
+20001e34: | 00b936b3 sltu a3,s2,a1
+20001e38: | 8e75 and a2,a2,a3
+20001e3a: +-------- c619 beqz a2,20001e48 <pvPortMalloc+0x6a>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:110
( ( xNextFreeByte + xWantedSize ) > xNextFreeByte ) ) /* Check for overflow. */
{
@@ -5308,45 +5308,45 @@
* block. */
pvReturn = pucAlignedHeap + xNextFreeByte;
xNextFreeByte += xWantedSize;
-20001e1e: | c10c sw a1,0(a0)
+20001e3c: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:115
}
traceMALLOC( pvReturn, xWantedSize );
}
( void ) xTaskResumeAll();
-20001e20: | 39fd jal 20001b1e <xTaskResumeAll>
+20001e3e: | 39fd jal 20001b3c <xTaskResumeAll>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:119
#if ( configUSE_MALLOC_FAILED_HOOK == 1 )
{
if( pvReturn == NULL )
-20001e22: | /-- c489 beqz s1,20001e2c <pvPortMalloc+0x6c>
-20001e24: | | 01248533 add a0,s1,s2
-20001e28: | /--|-- a029 j 20001e32 <pvPortMalloc+0x72>
+20001e40: | /-- c489 beqz s1,20001e4a <pvPortMalloc+0x6c>
+20001e42: | | 01248533 add a0,s1,s2
+20001e46: | /--|-- a029 j 20001e50 <pvPortMalloc+0x72>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:115
( void ) xTaskResumeAll();
-20001e2a: \--|--|-> 39d5 jal 20001b1e <xTaskResumeAll>
+20001e48: \--|--|-> 39d5 jal 20001b3c <xTaskResumeAll>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:122
{
extern void vApplicationMallocFailedHook( void );
vApplicationMallocFailedHook();
-20001e2c: | \-> e73fe0ef jal ra,20000c9e <vApplicationMallocFailedHook>
-20001e30: | 4501 li a0,0
+20001e4a: | \-> e71fe0ef jal ra,20000cba <vApplicationMallocFailedHook>
+20001e4e: | 4501 li a0,0
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:127
}
}
#endif
return pvReturn;
-20001e32: \----> 4902 lw s2,0(sp)
-20001e34: 4492 lw s1,4(sp)
-20001e36: 4422 lw s0,8(sp)
-20001e38: 40b2 lw ra,12(sp)
-20001e3a: 0141 addi sp,sp,16
-20001e3c: 8082 ret
+20001e50: \----> 4902 lw s2,0(sp)
+20001e52: 4492 lw s1,4(sp)
+20001e54: 4422 lw s0,8(sp)
+20001e56: 40b2 lw ra,12(sp)
+20001e58: 0141 addi sp,sp,16
+20001e5a: 8082 ret
-20001e3e <vPortFree>:
+20001e5c <vPortFree>:
vPortFree():
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:140
* https://www.FreeRTOS.org for more information. */
@@ -5355,9 +5355,9 @@
/* Force an assert as it is invalid to call this function. */
configASSERT( pv == NULL );
}
-20001e3e: 8082 ret
+20001e5c: 8082 ret
-20001e40 <manufacturer_pre_test_hook>:
+20001e5e <manufacturer_pre_test_hook>:
manufacturer_pre_test_hook():
/proc/self/cwd/external/manufacturer_test_hooks/test_hooks_default.c:14
// The default test hooks do nothing, but exist as the OTTF expects some hooks
@@ -5366,118 +5366,32 @@
OT_WEAK
bool manufacturer_pre_test_hook(void) { return true; }
-20001e40: 4505 li a0,1
-20001e42: 8082 ret
+20001e5e: 4505 li a0,1
+20001e60: 8082 ret
-20001e44 <manufacturer_post_test_hook>:
+20001e62 <manufacturer_post_test_hook>:
manufacturer_post_test_hook():
/proc/self/cwd/external/manufacturer_test_hooks/test_hooks_default.c:17
OT_WEAK
bool manufacturer_post_test_hook(void) { return true; }
-20001e44: 4505 li a0,1
-20001e46: 8082 ret
-
-20001e48 <udiv64_slow>:
-udiv64_slow():
-/proc/self/cwd/sw/device/lib/base/math.c:9
-
-#include "sw/device/lib/base/math.h"
-
-#include <stddef.h>
-
-uint64_t udiv64_slow(uint64_t a, uint64_t b, uint64_t *rem_out) {
-20001e48: 1141 addi sp,sp,-16
-20001e4a: c622 sw s0,12(sp)
-20001e4c: c426 sw s1,8(sp)
-20001e4e: c24a sw s2,4(sp)
-20001e50: 4881 li a7,0
-20001e52: 4801 li a6,0
-20001e54: 4e01 li t3,0
-20001e56: 4e81 li t4,0
-20001e58: 03f00793 li a5,63
-20001e5c: 42fd li t0,31
-20001e5e: 00159313 slli t1,a1,0x1
-20001e62: 53fd li t2,-1
-/proc/self/cwd/sw/device/lib/base/math.c:23
- // upon.
- size_t bits = sizeof(uint64_t) * 8;
- for (size_t i = 0; i < bits; ++i) {
- rem <<= 1;
- quot <<= 1;
- rem |= (a >> (bits - i - 1)) & 1;
-20001e64: /-------> fe078493 addi s1,a5,-32
-20001e68: | /-- 0004c563 bltz s1,20001e72 <udiv64_slow+0x2a>
-20001e6c: | | 0095df33 srl t5,a1,s1
-20001e70: | /--|-- a809 j 20001e82 <udiv64_slow+0x3a>
-20001e72: | | \-> 00f554b3 srl s1,a0,a5
-20001e76: | | 40f28433 sub s0,t0,a5
-20001e7a: | | 00831433 sll s0,t1,s0
-20001e7e: | | 0084ef33 or t5,s1,s0
-20001e82: | \----> 01fe5493 srli s1,t3,0x1f
-20001e86: | 001e9413 slli s0,t4,0x1
-20001e8a: | 00946eb3 or t4,s0,s1
-20001e8e: | 001e1493 slli s1,t3,0x1
-20001e92: | 001f7413 andi s0,t5,1
-20001e96: | 00946f33 or t5,s0,s1
-/proc/self/cwd/sw/device/lib/base/math.c:29
-
- // We need to keep bringing down zeros until `rem`, the running total, is
- // large enough that we can subtract off `b`; this tells us the value we
- // would have had to multiply `a` by to produce this current step in the
- // division.
- if (rem >= b) {
-20001e9a: | /----- 00de8563 beq t4,a3,20001ea4 <udiv64_slow+0x5c>
-20001e9e: | | 00debe33 sltu t3,t4,a3
-20001ea2: | | /-- a019 j 20001ea8 <udiv64_slow+0x60>
-20001ea4: | \--|-> 00cf3e33 sltu t3,t5,a2
-20001ea8: | \-> 001e4f93 xori t6,t3,1
-20001eac: | 4901 li s2,0
-20001eae: | 4481 li s1,0
-20001eb0: | /-- 000e1463 bnez t3,20001eb8 <udiv64_slow+0x70>
-20001eb4: | | 8936 mv s2,a3
-20001eb6: | | 84b2 mv s1,a2
-20001eb8: | \-> 01f8de13 srli t3,a7,0x1f
-20001ebc: | 00181413 slli s0,a6,0x1
-20001ec0: | 01c46833 or a6,s0,t3
-20001ec4: | 0886 slli a7,a7,0x1
-20001ec6: | 409f0e33 sub t3,t5,s1
-20001eca: | 009f34b3 sltu s1,t5,s1
-20001ece: | 412e8433 sub s0,t4,s2
-20001ed2: | 40940eb3 sub t4,s0,s1
-/proc/self/cwd/sw/device/lib/base/math.c:20
- for (size_t i = 0; i < bits; ++i) {
-20001ed6: | 17fd addi a5,a5,-1
-/proc/self/cwd/sw/device/lib/base/math.c:29
- if (rem >= b) {
-20001ed8: | 01f8e8b3 or a7,a7,t6
-/proc/self/cwd/sw/device/lib/base/math.c:20
- for (size_t i = 0; i < bits; ++i) {
-20001edc: \-------- f87794e3 bne a5,t2,20001e64 <udiv64_slow+0x1c>
-/proc/self/cwd/sw/device/lib/base/math.c:35
- rem -= b;
- quot |= 1;
- }
- }
+20001e62: 4505 li a0,1
+20001e64: 8082 ret
+20001e66: 0000 unimp
+20001e68: 0000 unimp
+20001e6a: 0000 unimp
+20001e6c: 0000 unimp
+20001e6e: 0000 unimp
+20001e70: 0000 unimp
+20001e72: 0000 unimp
+20001e74: 0000 unimp
+20001e76: 0000 unimp
+20001e78: 0000 unimp
+20001e7a: 0000 unimp
+20001e7c: 0000 unimp
+20001e7e: 0000 unimp
- if (rem_out != NULL) {
-20001ee0: /-- c709 beqz a4,20001eea <udiv64_slow+0xa2>
-/proc/self/cwd/sw/device/lib/base/math.c:36
- *rem_out = rem;
-20001ee2: | 01c72023 sw t3,0(a4)
-20001ee6: | 01d72223 sw t4,4(a4)
-/proc/self/cwd/sw/device/lib/base/math.c:38
- }
- return quot;
-20001eea: \-> 8546 mv a0,a7
-20001eec: 85c2 mv a1,a6
-20001eee: 4912 lw s2,4(sp)
-20001ef0: 44a2 lw s1,8(sp)
-20001ef2: 4432 lw s0,12(sp)
-20001ef4: 0141 addi sp,sp,16
-20001ef6: 8082 ret
-
-20001ef8 <memcpy>:
+20001e80 <memcpy>:
memcpy():
/proc/self/cwd/sw/device/lib/base/memory.c:23
OT_WEAK
@@ -5486,24 +5400,29 @@
uint8_t *dest8 = (uint8_t *)dest;
uint8_t *src8 = (uint8_t *)src;
for (size_t i = 0; i < len; ++i) {
-20001ef8: /----- ca11 beqz a2,20001f0c <memcpy+0x14>
-20001efa: | 86aa mv a3,a0
+20001e80: /----- ca11 beqz a2,20001e94 <memcpy+0x14>
+20001e82: | 86aa mv a3,a0
/proc/self/cwd/sw/device/lib/base/memory.c:24
dest8[i] = src8[i];
-20001efc: | /-> 00058703 lb a4,0(a1)
-20001f00: | | 00e68023 sb a4,0(a3)
+20001e84: | /-> 00058703 lb a4,0(a1)
+20001e88: | | 00e68023 sb a4,0(a3)
/proc/self/cwd/sw/device/lib/base/memory.c:23
for (size_t i = 0; i < len; ++i) {
-20001f04: | | 167d addi a2,a2,-1
-20001f06: | | 0685 addi a3,a3,1
-20001f08: | | 0585 addi a1,a1,1
-20001f0a: | \-- fa6d bnez a2,20001efc <memcpy+0x4>
+20001e8c: | | 167d addi a2,a2,-1
+20001e8e: | | 0685 addi a3,a3,1
+20001e90: | | 0585 addi a1,a1,1
+20001e92: | \-- fa6d bnez a2,20001e84 <memcpy+0x4>
/proc/self/cwd/sw/device/lib/base/memory.c:26
}
return dest;
-20001f0c: \----> 8082 ret
+20001e94: \----> 8082 ret
+20001e96: 0000 unimp
+20001e98: 0000 unimp
+20001e9a: 0000 unimp
+20001e9c: 0000 unimp
+20001e9e: 0000 unimp
-20001f0e <memset>:
+20001ea0 <memset>:
memset():
/proc/self/cwd/sw/device/lib/base/memory.c:33
@@ -5512,22 +5431,30 @@
uint8_t *dest8 = (uint8_t *)dest;
uint8_t value8 = (uint8_t)value;
for (size_t i = 0; i < len; ++i) {
-20001f0e: /----- c619 beqz a2,20001f1c <memset+0xe>
-20001f10: | 86aa mv a3,a0
+20001ea0: /----- c619 beqz a2,20001eae <memset+0xe>
+20001ea2: | 86aa mv a3,a0
/proc/self/cwd/sw/device/lib/base/memory.c:34
dest8[i] = value8;
-20001f12: | /-> 00b68023 sb a1,0(a3)
+20001ea4: | /-> 00b68023 sb a1,0(a3)
/proc/self/cwd/sw/device/lib/base/memory.c:33
for (size_t i = 0; i < len; ++i) {
-20001f16: | | 167d addi a2,a2,-1
-20001f18: | | 0685 addi a3,a3,1
-20001f1a: | \-- fe65 bnez a2,20001f12 <memset+0x4>
+20001ea8: | | 167d addi a2,a2,-1
+20001eaa: | | 0685 addi a3,a3,1
+20001eac: | \-- fe65 bnez a2,20001ea4 <memset+0x4>
/proc/self/cwd/sw/device/lib/base/memory.c:36
}
return dest;
-20001f1c: \----> 8082 ret
+20001eae: \----> 8082 ret
+20001eb0: 0000 unimp
+20001eb2: 0000 unimp
+20001eb4: 0000 unimp
+20001eb6: 0000 unimp
+20001eb8: 0000 unimp
+20001eba: 0000 unimp
+20001ebc: 0000 unimp
+20001ebe: 0000 unimp
-20001f1e <memcmp>:
+20001ec0 <memcmp>:
memcmp():
/proc/self/cwd/sw/device/lib/base/memory.c:50
OT_WEAK
@@ -5536,36 +5463,47 @@
const uint8_t *lhs8 = (uint8_t *)lhs;
const uint8_t *rhs8 = (uint8_t *)rhs;
for (size_t i = 0; i < len; ++i) {
-20001f1e: /----------- ce09 beqz a2,20001f38 <memcmp+0x1a>
+20001ec0: /----------- ce09 beqz a2,20001eda <memcmp+0x1a>
/proc/self/cwd/sw/device/lib/base/memory.c:51
if (lhs8[i] < rhs8[i]) {
-20001f20: | /----> 00054683 lbu a3,0(a0)
-20001f24: | | 0005c703 lbu a4,0(a1)
-20001f28: | | /-- 00e6ea63 bltu a3,a4,20001f3c <memcmp+0x1e>
+20001ec2: | /----> 00054683 lbu a3,0(a0)
+20001ec6: | | 0005c703 lbu a4,0(a1)
+20001eca: | | /-- 00e6ea63 bltu a3,a4,20001ede <memcmp+0x1e>
/proc/self/cwd/sw/device/lib/base/memory.c:53
return kMemCmpLt;
} else if (lhs8[i] > rhs8[i]) {
-20001f2c: | /--|--|-- 00d76b63 bltu a4,a3,20001f42 <memcmp+0x24>
+20001ece: | /--|--|-- 00d76b63 bltu a4,a3,20001ee4 <memcmp+0x24>
/proc/self/cwd/sw/device/lib/base/memory.c:50
for (size_t i = 0; i < len; ++i) {
-20001f30: | | | | 167d addi a2,a2,-1
-20001f32: | | | | 0585 addi a1,a1,1
-20001f34: | | | | 0505 addi a0,a0,1
-20001f36: | | \--|-- f66d bnez a2,20001f20 <memcmp+0x2>
-20001f38: \--|-----|-> 4501 li a0,0
+20001ed2: | | | | 167d addi a2,a2,-1
+20001ed4: | | | | 0585 addi a1,a1,1
+20001ed6: | | | | 0505 addi a0,a0,1
+20001ed8: | | \--|-- f66d bnez a2,20001ec2 <memcmp+0x2>
+20001eda: \--|-----|-> 4501 li a0,0
/proc/self/cwd/sw/device/lib/base/memory.c:58
return kMemCmpGt;
}
}
return kMemCmpEq;
}
-20001f3a: | | 8082 ret
-20001f3c: | \-> fd600513 li a0,-42
-20001f40: | 8082 ret
-20001f42: \-------> 02a00513 li a0,42
-20001f46: 8082 ret
+20001edc: | | 8082 ret
+20001ede: | \-> fd600513 li a0,-42
+20001ee2: | 8082 ret
+20001ee4: \-------> 02a00513 li a0,42
+20001ee8: 8082 ret
+20001eea: 0000 unimp
+20001eec: 0000 unimp
+20001eee: 0000 unimp
+20001ef0: 0000 unimp
+20001ef2: 0000 unimp
+20001ef4: 0000 unimp
+20001ef6: 0000 unimp
+20001ef8: 0000 unimp
+20001efa: 0000 unimp
+20001efc: 0000 unimp
+20001efe: 0000 unimp
-20001f48 <memrcmp>:
+20001f00 <memrcmp>:
memrcmp():
/proc/self/cwd/sw/device/lib/base/memory.c:66
int OT_PREFIX_IF_NOT_RV32(memrcmp)(const void *lhs, const void *rhs,
@@ -5574,39 +5512,46 @@
const uint8_t *rhs8 = (uint8_t *)rhs;
size_t j;
for (size_t i = 0; i < len; ++i) {
-20001f48: /----------- c20d beqz a2,20001f6a <memrcmp+0x22>
-20001f4a: | 15fd addi a1,a1,-1
-20001f4c: | 157d addi a0,a0,-1
+20001f00: /----------- c20d beqz a2,20001f22 <memrcmp+0x22>
+20001f02: | 15fd addi a1,a1,-1
+20001f04: | 157d addi a0,a0,-1
/proc/self/cwd/sw/device/lib/base/memory.c:68
j = len - 1 - i;
if (lhs8[j] < rhs8[j]) {
-20001f4e: | /-------> 00c506b3 add a3,a0,a2
-20001f52: | | 0006c683 lbu a3,0(a3)
-20001f56: | | 00c58733 add a4,a1,a2
-20001f5a: | | 00074703 lbu a4,0(a4)
-20001f5e: | | /-- 00e6e863 bltu a3,a4,20001f6e <memrcmp+0x26>
+20001f06: | /-------> 00c506b3 add a3,a0,a2
+20001f0a: | | 0006c683 lbu a3,0(a3)
+20001f0e: | | 00c58733 add a4,a1,a2
+20001f12: | | 00074703 lbu a4,0(a4)
+20001f16: | | /-- 00e6e863 bltu a3,a4,20001f26 <memrcmp+0x26>
/proc/self/cwd/sw/device/lib/base/memory.c:70
return kMemCmpLt;
} else if (lhs8[j] > rhs8[j]) {
-20001f62: | | /--|-- 00d76963 bltu a4,a3,20001f74 <memrcmp+0x2c>
+20001f1a: | | /--|-- 00d76963 bltu a4,a3,20001f2c <memrcmp+0x2c>
/proc/self/cwd/sw/device/lib/base/memory.c:66
for (size_t i = 0; i < len; ++i) {
-20001f66: | | | | 167d addi a2,a2,-1
-20001f68: | \--|--|-- f27d bnez a2,20001f4e <memrcmp+0x6>
-20001f6a: \-----|--|-> 4501 li a0,0
+20001f1e: | | | | 167d addi a2,a2,-1
+20001f20: | \--|--|-- f27d bnez a2,20001f06 <memrcmp+0x6>
+20001f22: \-----|--|-> 4501 li a0,0
/proc/self/cwd/sw/device/lib/base/memory.c:75
return kMemCmpGt;
}
}
return kMemCmpEq;
}
-20001f6c: | | 8082 ret
-20001f6e: | \-> fd600513 li a0,-42
-20001f72: | 8082 ret
-20001f74: \----> 02a00513 li a0,42
-20001f78: 8082 ret
+20001f24: | | 8082 ret
+20001f26: | \-> fd600513 li a0,-42
+20001f2a: | 8082 ret
+20001f2c: \----> 02a00513 li a0,42
+20001f30: 8082 ret
+20001f32: 0000 unimp
+20001f34: 0000 unimp
+20001f36: 0000 unimp
+20001f38: 0000 unimp
+20001f3a: 0000 unimp
+20001f3c: 0000 unimp
+20001f3e: 0000 unimp
-20001f7a <memchr>:
+20001f40 <memchr>:
memchr():
/proc/self/cwd/sw/device/lib/base/memory.c:81
@@ -5615,27 +5560,31 @@
uint8_t *ptr8 = (uint8_t *)ptr;
uint8_t value8 = (uint8_t)value;
for (size_t i = 0; i < len; ++i) {
-20001f7a: /-------- ca11 beqz a2,20001f8e <memchr+0x14>
-20001f7c: | 0ff5f593 andi a1,a1,255
+20001f40: /-------- ca11 beqz a2,20001f54 <memchr+0x14>
+20001f42: | 0ff5f593 andi a1,a1,255
/proc/self/cwd/sw/device/lib/base/memory.c:82
if (ptr8[i] == value8) {
-20001f80: | /-> 00054683 lbu a3,0(a0)
-20001f84: | /--|-- 00b68663 beq a3,a1,20001f90 <memchr+0x16>
+20001f46: | /-> 00054683 lbu a3,0(a0)
+20001f4a: | /--|-- 00b68663 beq a3,a1,20001f56 <memchr+0x16>
/proc/self/cwd/sw/device/lib/base/memory.c:81
for (size_t i = 0; i < len; ++i) {
-20001f88: | | | 167d addi a2,a2,-1
-20001f8a: | | | 0505 addi a0,a0,1
-20001f8c: | | \-- fa75 bnez a2,20001f80 <memchr+0x6>
-20001f8e: \--|----> 4501 li a0,0
+20001f4e: | | | 167d addi a2,a2,-1
+20001f50: | | | 0505 addi a0,a0,1
+20001f52: | | \-- fa75 bnez a2,20001f46 <memchr+0x6>
+20001f54: \--|----> 4501 li a0,0
/proc/self/cwd/sw/device/lib/base/memory.c:87
return ptr8 + i;
}
}
return NULL;
}
-20001f90: \----> 8082 ret
+20001f56: \----> 8082 ret
+20001f58: 0000 unimp
+20001f5a: 0000 unimp
+20001f5c: 0000 unimp
+20001f5e: 0000 unimp
-20001f92 <memrchr>:
+20001f60 <memrchr>:
memrchr():
/proc/self/cwd/sw/device/lib/base/memory.c:93
@@ -5644,28 +5593,126 @@
uint8_t *ptr8 = (uint8_t *)ptr;
uint8_t value8 = (uint8_t)value;
for (size_t i = 0; i < len; ++i) {
-20001f92: /-------- ce09 beqz a2,20001fac <memrchr+0x1a>
-20001f94: | fff50693 addi a3,a0,-1
-20001f98: | 0ff5f593 andi a1,a1,255
+20001f60: /-------- ce09 beqz a2,20001f7a <memrchr+0x1a>
+20001f62: | fff50693 addi a3,a0,-1
+20001f66: | 0ff5f593 andi a1,a1,255
/proc/self/cwd/sw/device/lib/base/memory.c:95
size_t idx = len - i - 1;
if (ptr8[idx] == value8) {
-20001f9c: | /----> 00c68733 add a4,a3,a2
-20001fa0: | | 00074703 lbu a4,0(a4)
-20001fa4: | | /-- 00b70663 beq a4,a1,20001fb0 <memrchr+0x1e>
+20001f6a: | /----> 00c68733 add a4,a3,a2
+20001f6e: | | 00074703 lbu a4,0(a4)
+20001f72: | | /-- 00b70663 beq a4,a1,20001f7e <memrchr+0x1e>
/proc/self/cwd/sw/device/lib/base/memory.c:93
for (size_t i = 0; i < len; ++i) {
-20001fa8: | | | 167d addi a2,a2,-1
-20001faa: | \--|-- fa6d bnez a2,20001f9c <memrchr+0xa>
-20001fac: \-----|-> 4501 li a0,0
+20001f76: | | | 167d addi a2,a2,-1
+20001f78: | \--|-- fa6d bnez a2,20001f6a <memrchr+0xa>
+20001f7a: \-----|-> 4501 li a0,0
/proc/self/cwd/sw/device/lib/base/memory.c:100
return ptr8 + idx;
}
}
return NULL;
}
-20001fae: | 8082 ret
-20001fb0: \-> 9532 add a0,a0,a2
-20001fb2: 157d addi a0,a0,-1
-20001fb4: 8082 ret
-20001fb6: 0000 unimp
+20001f7c: | 8082 ret
+20001f7e: \-> 9532 add a0,a0,a2
+20001f80: 157d addi a0,a0,-1
+20001f82: 8082 ret
+
+20001f84 <udiv64_slow>:
+udiv64_slow():
+/proc/self/cwd/sw/device/lib/base/math.c:9
+
+#include "sw/device/lib/base/math.h"
+
+#include <stddef.h>
+
+uint64_t udiv64_slow(uint64_t a, uint64_t b, uint64_t *rem_out) {
+20001f84: 1141 addi sp,sp,-16
+20001f86: c622 sw s0,12(sp)
+20001f88: c426 sw s1,8(sp)
+20001f8a: c24a sw s2,4(sp)
+20001f8c: 4881 li a7,0
+20001f8e: 4801 li a6,0
+20001f90: 4e01 li t3,0
+20001f92: 4e81 li t4,0
+20001f94: 03f00793 li a5,63
+20001f98: 42fd li t0,31
+20001f9a: 00159313 slli t1,a1,0x1
+20001f9e: 53fd li t2,-1
+/proc/self/cwd/sw/device/lib/base/math.c:23
+ // upon.
+ size_t bits = sizeof(uint64_t) * 8;
+ for (size_t i = 0; i < bits; ++i) {
+ rem <<= 1;
+ quot <<= 1;
+ rem |= (a >> (bits - i - 1)) & 1;
+20001fa0: /-------> fe078493 addi s1,a5,-32
+20001fa4: | /-- 0004c563 bltz s1,20001fae <udiv64_slow+0x2a>
+20001fa8: | | 0095df33 srl t5,a1,s1
+20001fac: | /--|-- a809 j 20001fbe <udiv64_slow+0x3a>
+20001fae: | | \-> 00f554b3 srl s1,a0,a5
+20001fb2: | | 40f28433 sub s0,t0,a5
+20001fb6: | | 00831433 sll s0,t1,s0
+20001fba: | | 0084ef33 or t5,s1,s0
+20001fbe: | \----> 01fe5493 srli s1,t3,0x1f
+20001fc2: | 001e9413 slli s0,t4,0x1
+20001fc6: | 00946eb3 or t4,s0,s1
+20001fca: | 001e1493 slli s1,t3,0x1
+20001fce: | 001f7413 andi s0,t5,1
+20001fd2: | 00946f33 or t5,s0,s1
+/proc/self/cwd/sw/device/lib/base/math.c:29
+
+ // We need to keep bringing down zeros until `rem`, the running total, is
+ // large enough that we can subtract off `b`; this tells us the value we
+ // would have had to multiply `a` by to produce this current step in the
+ // division.
+ if (rem >= b) {
+20001fd6: | /----- 00de8563 beq t4,a3,20001fe0 <udiv64_slow+0x5c>
+20001fda: | | 00debe33 sltu t3,t4,a3
+20001fde: | | /-- a019 j 20001fe4 <udiv64_slow+0x60>
+20001fe0: | \--|-> 00cf3e33 sltu t3,t5,a2
+20001fe4: | \-> 001e4f93 xori t6,t3,1
+20001fe8: | 4901 li s2,0
+20001fea: | 4481 li s1,0
+20001fec: | /-- 000e1463 bnez t3,20001ff4 <udiv64_slow+0x70>
+20001ff0: | | 8936 mv s2,a3
+20001ff2: | | 84b2 mv s1,a2
+20001ff4: | \-> 01f8de13 srli t3,a7,0x1f
+20001ff8: | 00181413 slli s0,a6,0x1
+20001ffc: | 01c46833 or a6,s0,t3
+20002000: | 0886 slli a7,a7,0x1
+20002002: | 409f0e33 sub t3,t5,s1
+20002006: | 009f34b3 sltu s1,t5,s1
+2000200a: | 412e8433 sub s0,t4,s2
+2000200e: | 40940eb3 sub t4,s0,s1
+/proc/self/cwd/sw/device/lib/base/math.c:20
+ for (size_t i = 0; i < bits; ++i) {
+20002012: | 17fd addi a5,a5,-1
+/proc/self/cwd/sw/device/lib/base/math.c:29
+ if (rem >= b) {
+20002014: | 01f8e8b3 or a7,a7,t6
+/proc/self/cwd/sw/device/lib/base/math.c:20
+ for (size_t i = 0; i < bits; ++i) {
+20002018: \-------- f87794e3 bne a5,t2,20001fa0 <udiv64_slow+0x1c>
+/proc/self/cwd/sw/device/lib/base/math.c:35
+ rem -= b;
+ quot |= 1;
+ }
+ }
+
+ if (rem_out != NULL) {
+2000201c: /-- c709 beqz a4,20002026 <udiv64_slow+0xa2>
+/proc/self/cwd/sw/device/lib/base/math.c:36
+ *rem_out = rem;
+2000201e: | 01c72023 sw t3,0(a4)
+20002022: | 01d72223 sw t4,4(a4)
+/proc/self/cwd/sw/device/lib/base/math.c:38
+ }
+ return quot;
+20002026: \-> 8546 mv a0,a7
+20002028: 85c2 mv a1,a6
+2000202a: 4912 lw s2,4(sp)
+2000202c: 44a2 lw s1,8(sp)
+2000202e: 4432 lw s0,12(sp)
+20002030: 0141 addi sp,sp,16
+20002032: 8082 ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment