Skip to content

Instantly share code, notes, and snippets.

@dmcardle
Created August 22, 2022 16:26
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/4420de24287f77edf4642b5428d04878 to your computer and use it in GitHub Desktop.
Save dmcardle/4420de24287f77edf4642b5428d04878 to your computer and use it in GitHub Desktop.
--- /tmp/compare-objdump-before.rgd5iJ 2022-08-22 11:59:22.329027570 -0400
+++ /tmp/compare-objdump-after.kjGyFJ 2022-08-22 11:59:36.417078646 -0400
@@ -27,21 +27,21 @@
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:
@@ -1301,7 +1301,7 @@
OT_NOINLINE void test_memcpy(uint8_t *buf1, uint8_t *buf2, size_t len) {
memcpy(buf1, buf2, len);
-2000080c: 6ec0106f j 20001ef8 <memcpy>
+2000080c: 63e0106f j 20001e4a <memcpy>
20000810 <test_memset>:
test_memset():
@@ -1313,7 +1313,7 @@
20000810: 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>
+20000814: 64c0106f j 20001e60 <memset>
20000818 <test_memcmp>:
test_memcmp():
@@ -1322,7 +1322,7 @@
OT_NOINLINE void test_memcmp(uint8_t *buf1, uint8_t *buf2, size_t len) {
memcmp(buf1, buf2, len);
-20000818: 7060106f j 20001f1e <memcmp>
+20000818: 6580106f j 20001e70 <memcmp>
2000081c <test_memrcmp>:
test_memrcmp():
@@ -1331,7 +1331,7 @@
OT_NOINLINE void test_memrcmp(uint8_t *buf1, uint8_t *buf2, size_t len) {
memrcmp(buf1, buf2, len);
-2000081c: 72c0106f j 20001f48 <memrcmp>
+2000081c: 67e0106f j 20001e9a <memrcmp>
20000820 <test_memchr>:
test_memchr():
@@ -1344,7 +1344,7 @@
20000824: 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>
+20000828: 6a40106f j 20001ecc <memchr>
2000082c <test_memrchr>:
test_memrchr():
@@ -1356,7 +1356,7 @@
2000082c: 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>
+20000830: 6b40106f j 20001ee4 <memrchr>
20000834 <test_main>:
test_main():
@@ -1504,7 +1504,7 @@
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>
+20000934: | | 516010ef jal ra,20001e4a <memcpy>
20000938: | | 1028 addi a0,sp,40
2000093a: | | 628000ef jal ra,20000f62 <base_log_internal_core>
2000093e: | \----> 5502 lw a0,32(sp)
@@ -1558,7 +1558,7 @@
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>
+2000099a: | | | 4b0010ef jal ra,20001e4a <memcpy>
2000099e: | | | 1028 addi a0,sp,40
200009a0: | | | 23c9 jal 20000f62 <base_log_internal_core>
200009a2: | | \----> 5502 lw a0,32(sp)
@@ -1582,7 +1582,7 @@
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>
+200009d4: | | 476010ef jal ra,20001e4a <memcpy>
200009d8: | | 1028 addi a0,sp,40
200009da: | | 85d6 mv a1,s5
200009dc: | | 8652 mv a2,s4
@@ -1655,7 +1655,7 @@
/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>
+20000a34: 42c0106f j 20001e60 <memset>
20000a38 <fill_buf_zeroes_then_one>:
fill_buf_zeroes_then_one():
@@ -1672,7 +1672,7 @@
memset(buf, 0, len);
20000a44: 4581 li a1,0
20000a46: 8622 mv a2,s0
-20000a48: 4c6010ef jal ra,20001f0e <memset>
+20000a48: 418010ef jal ra,20001e60 <memset>
fill_buf_zeroes_then_one():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:87
buf[len - 1] = 1;
@@ -1700,7 +1700,7 @@
/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>
+20000a6c: 3f4010ef jal ra,20001e60 <memset>
20000a70: 4505 li a0,1
fill_buf_one_then_zeroes():
/proc/self/cwd/sw/device/lib/base/memory_perftest.c:93
@@ -1762,7 +1762,7 @@
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>
+20000ad2: | 378010ef jal ra,20001e4a <memcpy>
20000ad6: | 0028 addi a0,sp,8
20000ad8: | 85ca mv a1,s2
20000ada: | 2161 jal 20000f62 <base_log_internal_core>
@@ -1785,11 +1785,11 @@
20000af6: | 4705 li a4,1
20000af8: | 4681 li a3,0
20000afa: | 4781 li a5,0
-20000afc: | 507000ef jal ra,20001802 <xTaskCreate>
+20000afc: | 509000ef jal ra,20001804 <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>
+20000b00: | 72d000ef jal ra,20001a2c <vTaskStartScheduler>
20000b04: | /-- a019 j 20000b0a <_ottf_main+0x8c>
/proc/self/cwd/sw/device/lib/testing/test_framework/ottf_main.c:92
} else {
@@ -1813,7 +1813,7 @@
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>
+20000b28: | 322010ef jal ra,20001e4a <memcpy>
20000b2c: | 0028 addi a0,sp,8
20000b2e: | 2915 jal 20000f62 <base_log_internal_core>
20000b30: \----> 6531 lui a0,0xc
@@ -1858,7 +1858,7 @@
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>
+20000b88: | | 2c2010ef jal ra,20001e4a <memcpy>
20000b8c: | | 850a mv a0,sp
20000b8e: | | 85a2 mv a1,s0
20000b90: | | 2ec9 jal 20000f62 <base_log_internal_core>
@@ -1896,7 +1896,7 @@
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>
+20000bea: | | 260010ef jal ra,20001e4a <memcpy>
20000bee: | | 850a mv a0,sp
20000bf0: | | 85a2 mv a1,s0
20000bf2: | | 2e85 jal 20000f62 <base_log_internal_core>
@@ -1928,7 +1928,7 @@
20000c1a: aad50413 addi s0,a0,-1363 # baad <_stack_size+0x9aad>
/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>
+20000c1e: 224010ef jal ra,20001e42 <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>
@@ -1936,7 +1936,7 @@
/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>
+20000c28: | 21e010ef jal ra,20001e46 <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>
@@ -1976,7 +1976,7 @@
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>
+20000c82: | | 1c8010ef jal ra,20001e4a <memcpy>
20000c86: | | 850a mv a0,sp
20000c88: | | 85a6 mv a1,s1
20000c8a: | | 2ce1 jal 20000f62 <base_log_internal_core>
@@ -2028,7 +2028,7 @@
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>
+20000cba: | 190010ef jal ra,20001e4a <memcpy>
20000cbe: | 0028 addi a0,sp,8
20000cc0: | 244d jal 20000f62 <base_log_internal_core>
20000cc2: | /-- a039 j 20000cd0 <vApplicationMallocFailedHook+0x32>
@@ -2363,7 +2363,7 @@
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>
+20000e10: 03a010ef jal ra,20001e4a <memcpy>
20000e14: 0028 addi a0,sp,8
20000e16: 85ce mv a1,s3
20000e18: 864a mv a2,s2
@@ -2541,7 +2541,7 @@
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>
+20000ede: | | 76d000ef jal ra,20001e4a <memcpy>
20000ee2: | | 0028 addi a0,sp,8
20000ee4: | | 28bd jal 20000f62 <base_log_internal_core>
20000ee6: | | /-- a805 j 20000f16 <test_status_set+0x7a>
@@ -2555,7 +2555,7 @@
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>
+20000f00: | | | 74b000ef jal ra,20001e4a <memcpy>
20000f04: | | | 0028 addi a0,sp,8
20000f06: | | | 28b1 jal 20000f62 <base_log_internal_core>
20000f08: | /--|--|-- a03d j 20000f36 <test_status_set+0x9a>
@@ -2682,14 +2682,14 @@
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>
+20000f86: 747000ef jal ra,20001ecc <memchr>
20000f8a: 4054 lw a3,4(s0)
20000f8c: 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>
+20000f96: 74f000ef jal ra,20001ee4 <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>
@@ -2884,7 +2884,7 @@
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>
+20001072: | | 2f85 jal 200017e2 <dif_uart_byte_send_polled>
20001074: | | /-- e519 bnez a0,20001082 <base_dev_uart+0x30>
/proc/self/cwd/sw/device/lib/runtime/print.c:71
for (size_t i = 0; i < len; ++i) {
@@ -3646,7 +3646,7 @@
20001570: | 850a mv a0,sp
20001572: | 02000613 li a2,32
20001576: | 85be mv a1,a5
-20001578: | 197000ef jal ra,20001f0e <memset>
+20001578: | 0e9000ef jal ra,20001e60 <memset>
/proc/self/cwd/sw/device/lib/runtime/print.c:330
while (width > 0) {
2000157c: +-------- c09d beqz s1,200015a2 <hex_dump+0x60>
@@ -3827,7 +3827,7 @@
200016a6 <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.
@@ -3933,7 +3933,7 @@
uart->base_addr = base_addr;
2000171c: | c188 sw a0,0(a1)
2000171e: | /-- a011 j 20001722 <dif_uart_init+0xa>
-20001720: \--|-> 4609 li a2,2
+20001720: \--|-> 460d li a2,3
/proc/self/cwd/sw/device/lib/dif/autogen/dif_uart_autogen.c:23
return kDifOk;
@@ -3956,10 +3956,10 @@
2000172c: ca26 sw s1,20(sp)
2000172e: c84a sw s2,16(sp)
20001730: c64e sw s3,12(sp)
-20001732: 4489 li s1,2
+20001732: 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>
+20001734: /----- cd59 beqz a0,200017d2 <dif_uart_configure+0xac>
20001736: | 892e mv s2,a1
/proc/self/cwd/sw/device/lib/dif/dif_uart.c:96
return kDifBadArg;
@@ -3967,9 +3967,9 @@
if (config.baudrate == 0 || config.clk_freq_hz == 0) {
20001738: | 4194 lw a3,0(a1)
-2000173a: +----- cad9 beqz a3,200017d0 <dif_uart_configure+0xaa>
+2000173a: +----- cec1 beqz a3,200017d2 <dif_uart_configure+0xac>
2000173c: | 00492603 lw a2,4(s2)
-20001740: +----- ca41 beqz a2,200017d0 <dif_uart_configure+0xaa>
+20001740: +----- ca49 beqz a2,200017d2 <dif_uart_configure+0xac>
20001742: | 842a mv s0,a0
20001744: | 0016e537 lui a0,0x16e
20001748: | 36050513 addi a0,a0,864 # 16e360 <_ottf_size+0xee360>
@@ -3989,7 +3989,7 @@
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>
+20001766: | /-- cb09 beqz a4,20001778 <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),
@@ -3997,62 +3997,62 @@
2000176c: | | 00c6d593 srli a1,a3,0xc
20001770: | | 4681 li a3,0
20001772: | | 4701 li a4,0
-20001774: | | 2dd1 jal 20001e48 <udiv64_slow>
+20001774: | | 794000ef jal ra,20001f08 <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
+20001778: | \-> 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>
+2000177c: | 8d31 xor a0,a0,a2
+2000177e: | 8d4d or a0,a0,a1
+20001780: +----- e929 bnez a0,200017d2 <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)
+20001782: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-20001782: | 00052823 sw zero,16(a0)
+20001784: | 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
+20001788: | 4008 lw a0,0(s0)
+2000178a: | 458d li a1,3
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000178a: | d10c sw a1,32(a0)
+2000178c: | 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)
+2000178e: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000178e: | 02052423 sw zero,40(a0)
+20001790: | 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)
+20001794: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-20001794: | 02052823 sw zero,48(a0)
+20001796: | 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)
+2000179a: | 4008 lw a0,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-2000179a: | 00052223 sw zero,4(a0)
+2000179c: | 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
+200017a0: | 4008 lw a0,0(s0)
+200017a2: | 55fd li a1,-1
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017a2: | c10c sw a1,0(a0)
+200017a4: | 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)
+200017a6: | 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
+200017aa: | 01061513 slli a0,a2,0x10
+200017ae: | 4605 li a2,1
+200017b0: | 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
+200017b4: | /-- 00c68363 beq a3,a2,200017ba <dif_uart_configure+0x94>
+200017b8: | | 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)
+200017ba: | \-> 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
+200017be: | 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
+200017c0: | /-- e219 bnez a2,200017c6 <dif_uart_configure+0xa0>
+200017c2: | | 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)
+200017c6: | \-> 400c lw a1,0(s0)
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017c6: | c988 sw a0,16(a1)
+200017c8: | 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
+200017ca: | 4008 lw a0,0(s0)
+200017cc: | 4481 li s1,0
mmio_region_write32():
/proc/self/cwd/./sw/device/lib/base/mmio.h:145
-200017cc: | 00052223 sw zero,4(a0)
+200017ce: | 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
+200017d2: \----> 8526 mv a0,s1
+200017d4: 49b2 lw s3,12(sp)
+200017d6: 4942 lw s2,16(sp)
+200017d8: 44d2 lw s1,20(sp)
+200017da: 4462 lw s0,24(sp)
+200017dc: 40f2 lw ra,28(sp)
+200017de: 6105 addi sp,sp,32
+200017e0: 8082 ret
-200017e0 <dif_uart_byte_send_polled>:
+200017e2 <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)
+200017e2: /----- cd19 beqz a0,20001800 <dif_uart_byte_send_polled+0x1e>
+200017e4: | 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)
+200017e6: | /-> 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
+200017e8: | | 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>
+200017ea: | \-- fef5 bnez a3,200017e6 <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)
+200017ec: | 4a54 lw a3,20(a2)
bitfield_bit32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:122
-200017ec: | 8a85 andi a3,a3,1
+200017ee: | 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>
+200017f0: | /-- e299 bnez a3,200017f6 <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)
+200017f2: | | ce4c sw a1,28(a2)
+200017f4: | | 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)
+200017f6: | >-> 4a48 lw a0,20(a2)
bitfield_bit32_read():
/proc/self/cwd/./sw/device/lib/base/bitfield.h:122
-200017f6: | | 8921 andi a0,a0,8
+200017f8: | | 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
+200017fa: | \-- dd75 beqz a0,200017f6 <dif_uart_byte_send_polled+0x14>
+200017fc: | 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
+200017fe: | 8082 ret
+20001800: \----> 450d li a0,3
+20001802: 8082 ret
-20001802 <xTaskCreate>:
+20001804 <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
+20001804: 7179 addi sp,sp,-48
+20001806: d606 sw ra,44(sp)
+20001808: d422 sw s0,40(sp)
+2000180a: d226 sw s1,36(sp)
+2000180c: d04a sw s2,32(sp)
+2000180e: ce4e sw s3,28(sp)
+20001810: cc52 sw s4,24(sp)
+20001812: ca56 sw s5,20(sp)
+20001814: c85a sw s6,16(sp)
+20001816: c65e sw s7,12(sp)
+20001818: c462 sw s8,8(sp)
+2000181a: c266 sw s9,4(sp)
+2000181c: 8abe mv s5,a5
+2000181e: 8b3a mv s6,a4
+20001820: 89b6 mv s3,a3
+20001822: 84ae mv s1,a1
+20001824: 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
+20001826: 00261913 slli s2,a2,0x2
+2000182a: 854a mv a0,s2
+2000182c: 2b59 jal 20001dc2 <pvPortMalloc>
+2000182e: 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
+20001830: /----------- 1a050863 beqz a0,200019e0 <xTaskCreate+0x1dc>
+20001834: | 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>
+20001836: | 04c00513 li a0,76
+2000183a: | 2361 jal 20001dc2 <pvPortMalloc>
/proc/self/cwd/external/freertos/tasks.c:775
if( pxNewTCB != NULL )
-2000183a: | /-------- c121 beqz a0,2000187a <xTaskCreate+0x78>
-2000183c: | | 8c2a mv s8,a0
+2000183c: | /-------- c121 beqz a0,2000187c <xTaskCreate+0x78>
+2000183e: | | 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)
+20001840: | | 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
+20001842: | | 00890533 add a0,s2,s0
+20001846: | | 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
+20001848: | | /----- cc8d beqz s1,20001882 <xTaskCreate+0x7e>
+2000184a: | | | 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
+2000184c: | | | 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)
+20001850: | | | /-> 00c486b3 add a3,s1,a2
+20001854: | | | | 00068703 lb a4,0(a3)
+20001858: | | | | 00c587b3 add a5,a1,a2
+2000185c: | | | | 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>
+20001860: | | | | 0006c683 lbu a3,0(a3)
+20001864: | | | | 0016b693 seqz a3,a3
+20001868: | | | | ff160713 addi a4,a2,-15
+2000186c: | | | | 0605 addi a2,a2,1
+2000186e: | | | | 00173713 seqz a4,a4
+20001872: | | | | 8ed9 or a3,a3,a4
+20001874: | | | \-- def1 beqz a3,20001850 <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>
+20001876: | | | 040c01a3 sb zero,67(s8)
+2000187a: | | | /-- a031 j 20001886 <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>
+2000187c: | \--|--|-> 8522 mv a0,s0
+2000187e: | | | 23c9 jal 20001e40 <vPortFree>
+20001880: +-----|--|-- a285 j 200019e0 <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
+20001882: | \--|-> 020c0a23 sb zero,52(s8)
+20001886: | \-> 4591 li a1,4
+20001888: | 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
+2000188c: | /-- 00bb6363 bltu s6,a1,20001892 <xTaskCreate+0x8e>
+20001890: | | 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)
+20001892: | \-> 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>
+20001896: | 004c0913 addi s2,s8,4
+2000189a: | 854a mv a0,s2
+2000189c: | 29fd jal 20001d9a <vListInitialiseItem>
/proc/self/cwd/external/freertos/tasks.c:939
vListInitialiseItem( &( pxNewTCB->xEventListItem ) );
-2000189c: | 018c0513 addi a0,s8,24
-200018a0: | 29e5 jal 20001d98 <vListInitialiseItem>
+2000189e: | 018c0513 addi a0,s8,24
+200018a2: | 29e5 jal 20001d9a <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
+200018a4: | 018c2823 sw s8,16(s8)
+200018a8: | 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)
+200018aa: | 41650533 sub a0,a0,s6
+200018ae: | 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)
+200018b2: | 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)
+200018b6: | 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)
+200018ba: | 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)
+200018be: | 8526 mv a0,s1
+200018c0: | 85d2 mv a1,s4
+200018c2: | 864e mv a2,s3
+200018c4: | cd5fe0ef jal ra,20000598 <pxPortInitialiseStack>
+200018c8: | 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>
+200018cc: | /-- 000a8463 beqz s5,200018d4 <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)
+200018d0: | | 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
+200018d4: | \-> 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>
+200018d8: | efffea97 auipc s5,0xefffe
+200018dc: | 7d0a8a93 addi s5,s5,2000 # 100000a8 <xSchedulerRunning>
+200018e0: | 000aa503 lw a0,0(s5)
+200018e4: | efffeb17 auipc s6,0xefffe
+200018e8: | 7b0b0b13 addi s6,s6,1968 # 10000094 <pxCurrentTCB>
+200018ec: | /-- c901 beqz a0,200018fc <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)
+200018ee: | | 000b2503 lw a0,0(s6)
+200018f2: | | 416c lw a1,68(a0)
+200018f4: | | 0585 addi a1,a1,1
+200018f6: | | 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)
+200018f8: | | 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)
+200018fc: | \-> efffe517 auipc a0,0xefffe
+20001900: | 7a850513 addi a0,a0,1960 # 100000a4 <uxCurrentNumberOfTasks>
+20001904: | 410c lw a1,0(a0)
+20001906: | 0585 addi a1,a1,1
+20001908: | 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>
+2000190a: | 000b2583 lw a1,0(s6)
+2000190e: | 0a818c93 addi s9,gp,168 # 100008a8 <pxReadyTasksLists>
+20001912: | /-- cd91 beqz a1,2000192e <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>
+20001914: | | 000aa503 lw a0,0(s5)
+20001918: | /--|-- e53d bnez a0,20001986 <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>
+2000191a: | | | 000b2503 lw a0,0(s6)
+2000191e: | | | 5548 lw a0,44(a0)
+20001920: | | | 02cc2583 lw a1,44(s8)
+20001924: | +--|-- 06a5e163 bltu a1,a0,20001986 <xTaskCreate+0x182>
/proc/self/cwd/external/freertos/tasks.c:1106
pxCurrentTCB = pxNewTCB;
-20001926: | | | 018b2023 sw s8,0(s6)
-2000192a: | +--|-- a8a9 j 20001984 <xTaskCreate+0x182>
+20001928: | | | 018b2023 sw s8,0(s6)
+2000192c: | +--|-- a8a9 j 20001986 <xTaskCreate+0x182>
/proc/self/cwd/external/freertos/tasks.c:1083
pxCurrentTCB = pxNewTCB;
-2000192c: | | \-> 018b2023 sw s8,0(s6)
+2000192e: | | \-> 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
+20001932: | | 4108 lw a0,0(a0)
+20001934: | | 4585 li a1,1
+20001936: | +----- 04b51863 bne a0,a1,20001986 <xTaskCreate+0x182>
+2000193a: | | 4401 li s0,0
+2000193c: | | 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>
+20001940: | | /-> 01940533 add a0,s0,s9
+20001944: | | | 2189 jal 20001d86 <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>
+20001946: | | | 0451 addi s0,s0,20
+20001948: | | \-- fe941ce3 bne s0,s1,20001940 <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>
+2000194c: | | 14818993 addi s3,gp,328 # 10000948 <xDelayedTaskList1>
+20001950: | | 854e mv a0,s3
+20001952: | | 2915 jal 20001d86 <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>
+20001954: | | 15c18a13 addi s4,gp,348 # 1000095c <xDelayedTaskList2>
+20001958: | | 8552 mv a0,s4
+2000195a: | | 2135 jal 20001d86 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3670
vListInitialise( &xPendingReadyList );
-2000195a: | | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
-2000195e: | | 211d jal 20001d84 <vListInitialise>
+2000195c: | | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
+20001960: | | 211d jal 20001d86 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3674
vListInitialise( &xTasksWaitingTermination );
-20001960: | | 10c18513 addi a0,gp,268 # 1000090c <xTasksWaitingTermination>
-20001964: | | 2105 jal 20001d84 <vListInitialise>
+20001962: | | 10c18513 addi a0,gp,268 # 1000090c <xTasksWaitingTermination>
+20001966: | | 2105 jal 20001d86 <vListInitialise>
/proc/self/cwd/external/freertos/tasks.c:3680
vListInitialise( &xSuspendedTaskList );
-20001966: | | 12018513 addi a0,gp,288 # 10000920 <xSuspendedTaskList>
-2000196a: | | 2929 jal 20001d84 <vListInitialise>
+20001968: | | 12018513 addi a0,gp,288 # 10000920 <xSuspendedTaskList>
+2000196c: | | 2929 jal 20001d86 <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)
+2000196e: | | efffe517 auipc a0,0xefffe
+20001972: | | 73e50513 addi a0,a0,1854 # 100000ac <pxDelayedTaskList>
+20001976: | | 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)
+2000197a: | | efffe517 auipc a0,0xefffe
+2000197e: | | 73650513 addi a0,a0,1846 # 100000b0 <pxOverflowDelayedTaskList>
+20001982: | | 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)
+20001986: | \----> efffe517 auipc a0,0xefffe
+2000198a: | 71650513 addi a0,a0,1814 # 1000009c <uxTaskNumber>
+2000198e: | 410c lw a1,0(a0)
+20001990: | 0585 addi a1,a1,1
+20001992: | 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)
+20001994: | 02cc2503 lw a0,44(s8)
+20001998: | efffe597 auipc a1,0xefffe
+2000199c: | 70058593 addi a1,a1,1792 # 10000098 <uxTopReadyPriority>
+200019a0: | 4190 lw a2,0(a1)
+200019a2: | 4b85 li s7,1
+200019a4: | 00ab96b3 sll a3,s7,a0
+200019a8: | 8e55 or a2,a2,a3
+200019aa: | c190 sw a2,0(a1)
+200019ac: | 45d1 li a1,20
+200019ae: | 02b50533 mul a0,a0,a1
+200019b2: | 9566 add a0,a0,s9
+200019b4: | 414c lw a1,4(a0)
+200019b6: | 00bc2423 sw a1,8(s8)
+200019ba: | 4590 lw a2,8(a1)
+200019bc: | 00cc2623 sw a2,12(s8)
+200019c0: | 4590 lw a2,8(a1)
+200019c2: | 01262223 sw s2,4(a2)
+200019c6: | 0125a423 sw s2,8(a1)
+200019ca: | 00ac2a23 sw a0,20(s8)
+200019ce: | 410c lw a1,0(a0)
+200019d0: | 0585 addi a1,a1,1
+200019d2: | c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:1133
taskEXIT_CRITICAL();
-200019d2: | 2025 jal 200019fa <vTaskExitCritical>
+200019d4: | 2025 jal 200019fc <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>
+200019d6: | 000aa503 lw a0,0(s5)
+200019da: +----------- c119 beqz a0,200019e0 <xTaskCreate+0x1dc>
/proc/self/cwd/external/freertos/tasks.c:1139
if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority )
-200019da: | 000b2503 lw a0,0(s6)
+200019dc: | 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
+200019e0: \----------> 855e mv a0,s7
+200019e2: 4c92 lw s9,4(sp)
+200019e4: 4c22 lw s8,8(sp)
+200019e6: 4bb2 lw s7,12(sp)
+200019e8: 4b42 lw s6,16(sp)
+200019ea: 4ad2 lw s5,20(sp)
+200019ec: 4a62 lw s4,24(sp)
+200019ee: 49f2 lw s3,28(sp)
+200019f0: 5902 lw s2,32(sp)
+200019f2: 5492 lw s1,36(sp)
+200019f4: 5422 lw s0,40(sp)
+200019f6: 50b2 lw ra,44(sp)
+200019f8: 6145 addi sp,sp,48
+200019fa: 8082 ret
-200019fa <vTaskExitCritical>:
+200019fc <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>
+200019fc: efffe517 auipc a0,0xefffe
+20001a00: 6ac50513 addi a0,a0,1708 # 100000a8 <xSchedulerRunning>
+20001a04: 4108 lw a0,0(a0)
+20001a06: /----- cd19 beqz a0,20001a24 <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>
+20001a08: | efffe517 auipc a0,0xefffe
+20001a0c: | 68c50513 addi a0,a0,1676 # 10000094 <pxCurrentTCB>
+20001a10: | 410c lw a1,0(a0)
+20001a12: | 41ec lw a1,68(a1)
+20001a14: +----- c981 beqz a1,20001a24 <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)
+20001a16: | 410c lw a1,0(a0)
+20001a18: | 41f0 lw a2,68(a1)
+20001a1a: | 167d addi a2,a2,-1
+20001a1c: | 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>
+20001a1e: | 4108 lw a0,0(a0)
+20001a20: | 4168 lw a0,68(a0)
+20001a22: | /-- c111 beqz a0,20001a26 <vTaskExitCritical+0x2a>
/proc/self/cwd/external/freertos/tasks.c:4399
}
else
@@ -4620,503 +4620,503 @@
mtCOVERAGE_TEST_MARKER();
}
}
-20001a22: \--|-> 8082 ret
+20001a24: \--|-> 8082 ret
/proc/self/cwd/external/freertos/tasks.c:4383
portENABLE_INTERRUPTS();
-20001a24: \-> 30046073 csrsi mstatus,8
+20001a26: \-> 30046073 csrsi mstatus,8
/proc/self/cwd/external/freertos/tasks.c:4399
}
-20001a28: 8082 ret
+20001a2a: 8082 ret
-20001a2a <vTaskStartScheduler>:
+20001a2c <vTaskStartScheduler>:
vTaskStartScheduler():
/proc/self/cwd/external/freertos/tasks.c:1991
{
-20001a2a: 1141 addi sp,sp,-16
+20001a2c: 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
+20001a2e: c606 sw ra,12(sp)
+20001a30: 00000517 auipc a0,0x0
+20001a34: 06250513 addi a0,a0,98 # 20001a92 <prvIdleTask>
+20001a38: 00001597 auipc a1,0x1
+20001a3c: 01858593 addi a1,a1,24 # 20002a50 <uxTopUsedPriority+0x4>
+20001a40: efffe797 auipc a5,0xefffe
+20001a44: 67c78793 addi a5,a5,1660 # 100000bc <xIdleTaskHandle>
+20001a48: 10000613 li a2,256
+20001a4c: 4681 li a3,0
+20001a4e: 4701 li a4,0
+20001a50: 3b55 jal 20001804 <xTaskCreate>
+20001a52: 4585 li a1,1
/proc/self/cwd/external/freertos/tasks.c:2046
if( xReturn == pdPASS )
-20001a52: /-- 02b51763 bne a0,a1,20001a80 <vTaskStartScheduler+0x56>
+20001a54: /-- 02b51763 bne a0,a1,20001a82 <vTaskStartScheduler+0x56>
/proc/self/cwd/external/freertos/tasks.c:2062
portDISABLE_INTERRUPTS();
-20001a56: | 30047073 csrci mstatus,8
+20001a58: | 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)
+20001a5c: | efffe517 auipc a0,0xefffe
+20001a60: | 66450513 addi a0,a0,1636 # 100000c0 <xNextTaskUnblockTime>
+20001a64: | 567d li a2,-1
+20001a66: | 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)
+20001a68: | efffe517 auipc a0,0xefffe
+20001a6c: | 64050513 addi a0,a0,1600 # 100000a8 <xSchedulerRunning>
+20001a70: | 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)
+20001a72: | efffe517 auipc a0,0xefffe
+20001a76: | 65250513 addi a0,a0,1618 # 100000c4 <xTickCount>
+20001a7a: | 00052023 sw zero,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2090
if( xPortStartScheduler() != pdFALSE )
-20001a7c: | a5aff0ef jal ra,20000cd6 <xPortStartScheduler>
+20001a7e: | a58ff0ef jal ra,20000cd6 <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)
+20001a82: \-> 00001517 auipc a0,0x1
+20001a86: fca50513 addi a0,a0,-54 # 20002a4c <uxTopUsedPriority>
+20001a8a: 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
+20001a8c: 40b2 lw ra,12(sp)
+20001a8e: 0141 addi sp,sp,16
+20001a90: 8082 ret
-20001a90 <prvIdleTask>:
+20001a92 <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>
+20001a92: 1101 addi sp,sp,-32
+20001a94: ce06 sw ra,28(sp)
+20001a96: cc22 sw s0,24(sp)
+20001a98: ca26 sw s1,20(sp)
+20001a9a: c84a sw s2,16(sp)
+20001a9c: c64e sw s3,12(sp)
+20001a9e: c452 sw s4,8(sp)
+20001aa0: c256 sw s5,4(sp)
+20001aa2: efffe497 auipc s1,0xefffe
+20001aa6: 5fe48493 addi s1,s1,1534 # 100000a0 <uxDeletedTasksWaitingCleanUp>
+20001aaa: efffe917 auipc s2,0xefffe
+20001aae: 5fe90913 addi s2,s2,1534 # 100000a8 <xSchedulerRunning>
+20001ab2: 10c18993 addi s3,gp,268 # 1000090c <xTasksWaitingTermination>
+20001ab6: efffea17 auipc s4,0xefffe
+20001aba: 5eea0a13 addi s4,s4,1518 # 100000a4 <uxCurrentNumberOfTasks>
+20001abe: efffea97 auipc s5,0xefffe
+20001ac2: 5d6a8a93 addi s5,s5,1494 # 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>
+20001ac6: /-------> 4088 lw a0,0(s1)
+20001ac8: | /----- c129 beqz a0,20001b0a <prvIdleTask+0x78>
vTaskEnterCritical():
/proc/self/cwd/external/freertos/tasks.c:4345
portDISABLE_INTERRUPTS();
-20001ac8: | | 30047073 csrci mstatus,8
+20001aca: | | 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>
+20001ace: | | 00092503 lw a0,0(s2)
+20001ad2: | | /-- c901 beqz a0,20001ae2 <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)
+20001ad4: | | | 000aa503 lw a0,0(s5)
+20001ad8: | | | 416c lw a1,68(a0)
+20001ada: | | | 0585 addi a1,a1,1
+20001adc: | | | c16c sw a1,68(a0)
/proc/self/cwd/external/freertos/tasks.c:4357
if( pxCurrentTCB->uxCriticalNesting == 1 )
-20001adc: | | | 000aa503 lw a0,0(s5)
+20001ade: | | | 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)
+20001ae2: | | \-> 00c9a503 lw a0,12(s3)
+20001ae6: | | 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>
+20001ae8: | | 00440513 addi a0,s0,4
+20001aec: | | 2c55 jal 20001da0 <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)
+20001aee: | | 000a2503 lw a0,0(s4)
+20001af2: | | 157d addi a0,a0,-1
+20001af4: | | 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)
+20001af8: | | 4088 lw a0,0(s1)
+20001afa: | | 157d addi a0,a0,-1
+20001afc: | | c088 sw a0,0(s1)
/proc/self/cwd/external/freertos/tasks.c:3710
taskEXIT_CRITICAL();
-20001afc: | | 3dfd jal 200019fa <vTaskExitCritical>
+20001afe: | | 3dfd jal 200019fc <vTaskExitCritical>
prvDeleteTCB():
/proc/self/cwd/external/freertos/tasks.c:3964
vPortFreeStack( pxTCB->pxStack );
-20001afe: | | 5808 lw a0,48(s0)
-20001b00: | | 2e3d jal 20001e3e <vPortFree>
+20001b00: | | 5808 lw a0,48(s0)
+20001b02: | | 2e3d jal 20001e40 <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>
+20001b04: | | 8522 mv a0,s0
+20001b06: | | 2e2d jal 20001e40 <vPortFree>
+20001b08: +--|----- bf7d j 20001ac6 <prvIdleTask+0x34>
prvIdleTask():
/proc/self/cwd/external/freertos/tasks.c:3459
taskYIELD();
-20001b08: | \----> 00000073 ecall
-20001b0c: \-------- bf65 j 20001ac4 <prvIdleTask+0x34>
+20001b0a: | \----> 00000073 ecall
+20001b0e: \-------- bf65 j 20001ac6 <prvIdleTask+0x34>
-20001b0e <vTaskSuspendAll>:
+20001b10 <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)
+20001b10: efffe517 auipc a0,0xefffe
+20001b14: 5a450513 addi a0,a0,1444 # 100000b4 <uxSchedulerSuspended>
+20001b18: 410c lw a1,0(a0)
+20001b1a: 0585 addi a1,a1,1
+20001b1c: c10c sw a1,0(a0)
/proc/self/cwd/external/freertos/tasks.c:2147
}
-20001b1c: 8082 ret
+20001b1e: 8082 ret
-20001b1e <xTaskResumeAll>:
+20001b20 <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)
+20001b20: 1141 addi sp,sp,-16
+20001b22: c606 sw ra,12(sp)
+20001b24: c422 sw s0,8(sp)
+20001b26: c226 sw s1,4(sp)
+20001b28: c04a sw s2,0(sp)
vTaskEnterCritical():
/proc/self/cwd/external/freertos/tasks.c:4345
portDISABLE_INTERRUPTS();
-20001b28: 30047073 csrci mstatus,8
+20001b2a: 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>
+20001b2e: efffe517 auipc a0,0xefffe
+20001b32: 57a50513 addi a0,a0,1402 # 100000a8 <xSchedulerRunning>
+20001b36: 4108 lw a0,0(a0)
+20001b38: /-- c911 beqz a0,20001b4c <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)
+20001b3a: | efffe517 auipc a0,0xefffe
+20001b3e: | 55a50513 addi a0,a0,1370 # 10000094 <pxCurrentTCB>
+20001b42: | 410c lw a1,0(a0)
+20001b44: | 41f0 lw a2,68(a1)
+20001b46: | 0605 addi a2,a2,1
+20001b48: | c1f0 sw a2,68(a1)
/proc/self/cwd/external/freertos/tasks.c:4357
if( pxCurrentTCB->uxCriticalNesting == 1 )
-20001b48: | 4108 lw a0,0(a0)
+20001b4a: | 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)
+20001b4c: \-> efffe517 auipc a0,0xefffe
+20001b50: 56850513 addi a0,a0,1384 # 100000b4 <uxSchedulerSuspended>
+20001b54: 410c lw a1,0(a0)
+20001b56: 15fd addi a1,a1,-1
+20001b58: 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>
+20001b5a: 4108 lw a0,0(a0)
+20001b5c: /----------- e965 bnez a0,20001c4c <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>
+20001b5e: | efffe517 auipc a0,0xefffe
+20001b62: | 54650513 addi a0,a0,1350 # 100000a4 <uxCurrentNumberOfTasks>
+20001b66: | 4108 lw a0,0(a0)
+20001b68: +----------- c175 beqz a0,20001c4c <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>
+20001b6a: | 13418513 addi a0,gp,308 # 10000934 <xPendingReadyList>
+20001b6e: | 410c lw a1,0(a0)
+20001b70: | efffe917 auipc s2,0xefffe
+20001b74: | 54890913 addi s2,s2,1352 # 100000b8 <xYieldPending>
+20001b78: | /-------- cdcd beqz a1,20001c32 <xTaskResumeAll+0x112>
+20001b7a: | | 4885 li a7,1
+20001b7c: | | efffe617 auipc a2,0xefffe
+20001b80: | | 51c60613 addi a2,a2,1308 # 10000098 <uxTopReadyPriority>
+20001b84: | | 4851 li a6,20
+20001b86: | | 0a818293 addi t0,gp,168 # 100008a8 <pxReadyTasksLists>
+20001b8a: | | efffe317 auipc t1,0xefffe
+20001b8e: | | 50a30313 addi t1,t1,1290 # 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)
+20001b92: | | /----> 454c lw a1,12(a0)
+20001b94: | | | 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)
+20001b96: | | | 500c lw a1,32(s0)
+20001b98: | | | 4c58 lw a4,28(s0)
+20001b9a: | | | 5404 lw s1,40(s0)
+20001b9c: | | | c70c sw a1,8(a4)
+20001b9e: | | | 5014 lw a3,32(s0)
+20001ba0: | | | c2d8 sw a4,4(a3)
+20001ba2: | | | 40cc lw a1,4(s1)
+20001ba4: | | | 01840713 addi a4,s0,24
+20001ba8: | | | /-- 00e59363 bne a1,a4,20001bae <xTaskResumeAll+0x8e>
+20001bac: | | | | c0d4 sw a3,4(s1)
+20001bae: | | | \-> 02042423 sw zero,40(s0)
+20001bb2: | | | 408c lw a1,0(s1)
+20001bb4: | | | 15fd addi a1,a1,-1
+20001bb6: | | | 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)
+20001bb8: | | | 444c lw a1,12(s0)
+20001bba: | | | 4418 lw a4,8(s0)
+20001bbc: | | | 4854 lw a3,20(s0)
+20001bbe: | | | c70c sw a1,8(a4)
+20001bc0: | | | 444c lw a1,12(s0)
+20001bc2: | | | c1d8 sw a4,4(a1)
+20001bc4: | | | 42d8 lw a4,4(a3)
+20001bc6: | | | 00440493 addi s1,s0,4
+20001bca: | | | /-- 00971363 bne a4,s1,20001bd0 <xTaskResumeAll+0xb0>
+20001bce: | | | | c2cc sw a1,4(a3)
+20001bd0: | | | \-> 428c lw a1,0(a3)
+20001bd2: | | | 15fd addi a1,a1,-1
+20001bd4: | | | 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)
+20001bd6: | | | 544c lw a1,44(s0)
+20001bd8: | | | 4214 lw a3,0(a2)
+20001bda: | | | 00b89733 sll a4,a7,a1
+20001bde: | | | 8ed9 or a3,a3,a4
+20001be0: | | | c214 sw a3,0(a2)
+20001be2: | | | 030586b3 mul a3,a1,a6
+20001be6: | | | 9696 add a3,a3,t0
+20001be8: | | | 42d8 lw a4,4(a3)
+20001bea: | | | c418 sw a4,8(s0)
+20001bec: | | | 471c lw a5,8(a4)
+20001bee: | | | c45c sw a5,12(s0)
+20001bf0: | | | 471c lw a5,8(a4)
+20001bf2: | | | c3c4 sw s1,4(a5)
+20001bf4: | | | c704 sw s1,8(a4)
+20001bf6: | | | c854 sw a3,20(s0)
+20001bf8: | | | 4298 lw a4,0(a3)
+20001bfa: | | | 0705 addi a4,a4,1
+20001bfc: | | | 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>
+20001bfe: | | | 00032683 lw a3,0(t1)
+20001c02: | | | 56d4 lw a3,44(a3)
+20001c04: | | | /-- 00d5e463 bltu a1,a3,20001c0c <xTaskResumeAll+0xec>
/proc/self/cwd/external/freertos/tasks.c:2249
xYieldPending = pdTRUE;
-20001c06: | | | | 01192023 sw a7,0(s2)
+20001c08: | | | | 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>
+20001c0c: | | | \-> 410c lw a1,0(a0)
+20001c0e: | | \----- f1d1 bnez a1,20001b92 <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>
+20001c10: | | efffe517 auipc a0,0xefffe
+20001c14: | | 49c50513 addi a0,a0,1180 # 100000ac <pxDelayedTaskList>
+20001c18: | | 410c lw a1,0(a0)
+20001c1a: | | 418c lw a1,0(a1)
+20001c1c: | | /----- c589 beqz a1,20001c26 <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)
+20001c1e: | | | 4108 lw a0,0(a0)
+20001c20: | | | 4548 lw a0,12(a0)
+20001c22: | | | 4108 lw a0,0(a0)
+20001c24: | | | /-- a011 j 20001c28 <xTaskResumeAll+0x108>
+20001c26: | | \--|-> 557d li a0,-1
+20001c28: | | \-> efffe597 auipc a1,0xefffe
+20001c2c: | | 49858593 addi a1,a1,1176 # 100000c0 <xNextTaskUnblockTime>
+20001c30: | | 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)
+20001c32: | \-------> efffe417 auipc s0,0xefffe
+20001c36: | 49640413 addi s0,s0,1174 # 100000c8 <xPendedTicks>
+20001c3a: | 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>
+20001c3c: | /----- c491 beqz s1,20001c48 <xTaskResumeAll+0x128>
/proc/self/cwd/external/freertos/tasks.c:2279
if( xTaskIncrementTick() != pdFALSE )
-20001c3c: | | /-> 2839 jal 20001c5a <xTaskIncrementTick>
+20001c3e: | | /-> 2839 jal 20001c5c <xTaskIncrementTick>
/proc/self/cwd/external/freertos/tasks.c:2288
--xPendedCounts;
-20001c3e: | | | 14fd addi s1,s1,-1
+20001c40: | | | 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>
+20001c42: | | \-- fcf5 bnez s1,20001c3e <xTaskResumeAll+0x11e>
/proc/self/cwd/external/freertos/tasks.c:2291
xPendedTicks = 0;
-20001c42: | | 00042023 sw zero,0(s0)
+20001c44: | | 00042023 sw zero,0(s0)
/proc/self/cwd/external/freertos/tasks.c:2299
if( xYieldPending != pdFALSE )
-20001c46: | \----> 00092503 lw a0,0(s2)
+20001c48: | \----> 00092503 lw a0,0(s2)
/proc/self/cwd/external/freertos/tasks.c:2319
taskEXIT_CRITICAL();
-20001c4a: \----------> 3b45 jal 200019fa <vTaskExitCritical>
+20001c4c: \----------> 3b45 jal 200019fc <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
+20001c4e: 4501 li a0,0
+20001c50: 4902 lw s2,0(sp)
+20001c52: 4492 lw s1,4(sp)
+20001c54: 4422 lw s0,8(sp)
+20001c56: 40b2 lw ra,12(sp)
+20001c58: 0141 addi sp,sp,16
+20001c5a: 8082 ret
-20001c5a <xTaskIncrementTick>:
+20001c5c <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>
+20001c5c: efffe517 auipc a0,0xefffe
+20001c60: 45850513 addi a0,a0,1112 # 100000b4 <uxSchedulerSuspended>
+20001c64: 4108 lw a0,0(a0)
+20001c66: /-- c909 beqz a0,20001c78 <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>
+20001c68: | efffe517 auipc a0,0xefffe
+20001c6c: | 46050513 addi a0,a0,1120 # 100000c8 <xPendedTicks>
+20001c70: | 410c lw a1,0(a0)
+20001c72: | 0585 addi a1,a1,1
+20001c74: | c10c sw a1,0(a0)
+20001c76: /--------------|-- a231 j 20001d82 <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
+20001c78: | \-> efffe517 auipc a0,0xefffe
+20001c7c: | 44c50513 addi a0,a0,1100 # 100000c4 <xTickCount>
+20001c80: | 410c lw a1,0(a0)
+20001c82: | 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>
+20001c86: | 00752023 sw t2,0(a0)
+20001c8a: | efffee17 auipc t3,0xefffe
+20001c8e: | 422e0e13 addi t3,t3,1058 # 100000ac <pxDelayedTaskList>
+20001c92: | efffe817 auipc a6,0xefffe
+20001c96: | 42e80813 addi a6,a6,1070 # 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>
+20001c9a: | /-------- 02b3ff63 bgeu t2,a1,20001cd8 <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)
+20001c9e: | | 000e2503 lw a0,0(t3)
+20001ca2: | | efffe597 auipc a1,0xefffe
+20001ca6: | | 40e58593 addi a1,a1,1038 # 100000b0 <pxOverflowDelayedTaskList>
+20001caa: | | 4194 lw a3,0(a1)
+20001cac: | | 00de2023 sw a3,0(t3)
+20001cb0: | | c188 sw a0,0(a1)
+20001cb2: | | efffe517 auipc a0,0xefffe
+20001cb6: | | 41a50513 addi a0,a0,1050 # 100000cc <xNumOfOverflows>
+20001cba: | | 410c lw a1,0(a0)
+20001cbc: | | 0585 addi a1,a1,1
+20001cbe: | | 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>
+20001cc0: | | 000e2503 lw a0,0(t3)
+20001cc4: | | 4108 lw a0,0(a0)
+20001cc6: | | /----- c511 beqz a0,20001cd2 <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)
+20001cc8: | | | 000e2503 lw a0,0(t3)
+20001ccc: | | | 4548 lw a0,12(a0)
+20001cce: | | | 4108 lw a0,0(a0)
+20001cd0: | | | /-- a011 j 20001cd4 <xTaskIncrementTick+0x78>
+20001cd2: | | \--|-> 557d li a0,-1
+20001cd4: | | \-> 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>
+20001cd8: | \-------> 00082503 lw a0,0(a6)
+20001cdc: +----------------- 0aa3e363 bltu t2,a0,20001d82 <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>
+20001ce0: | 000e2503 lw a0,0(t3)
+20001ce4: | 4108 lw a0,0(a0)
+20001ce6: | /-------------- c959 beqz a0,20001d7c <xTaskIncrementTick+0x120>
+20001ce8: | | 4885 li a7,1
+20001cea: | | efffee97 auipc t4,0xefffe
+20001cee: | | 3aee8e93 addi t4,t4,942 # 10000098 <uxTopReadyPriority>
+20001cf2: | | 42d1 li t0,20
+20001cf4: | | 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)
+20001cf8: | | /----------> 000e2503 lw a0,0(t3)
+20001cfc: | | | 4548 lw a0,12(a0)
+20001cfe: | | | 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)
+20001d00: | | | 42c8 lw a0,4(a3)
/proc/self/cwd/external/freertos/tasks.c:2786
if( xConstTickCount < xItemValue )
-20001d00: | | | /-------- 06a3ee63 bltu t2,a0,20001d7c <xTaskIncrementTick+0x122>
+20001d02: | | | /-------- 06a3ee63 bltu t2,a0,20001d7e <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)
+20001d06: | | | | 46cc lw a1,12(a3)
+20001d08: | | | | 469c lw a5,8(a3)
+20001d0a: | | | | 4ac8 lw a0,20(a3)
+20001d0c: | | | | c78c sw a1,8(a5)
+20001d0e: | | | | 46cc lw a1,12(a3)
+20001d10: | | | | c1dc sw a5,4(a1)
+20001d12: | | | | 4150 lw a2,4(a0)
+20001d14: | | | | 00468793 addi a5,a3,4
+20001d18: | | | | /-- 00f61363 bne a2,a5,20001d1e <xTaskIncrementTick+0xc2>
+20001d1c: | | | | | c14c sw a1,4(a0)
+20001d1e: | | | | \-> 410c lw a1,0(a0)
+20001d20: | | | | 15fd addi a1,a1,-1
+20001d22: | | | | 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>
+20001d24: | | | | 5688 lw a0,40(a3)
+20001d26: | | | | /----- c10d beqz a0,20001d48 <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)
+20001d28: | | | | | 528c lw a1,32(a3)
+20001d2a: | | | | | 4ed0 lw a2,28(a3)
+20001d2c: | | | | | c60c sw a1,8(a2)
+20001d2e: | | | | | 528c lw a1,32(a3)
+20001d30: | | | | | c1d0 sw a2,4(a1)
+20001d32: | | | | | 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
+20001d34: | | | | | 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)
+20001d38: | | | | | /-- 00e61363 bne a2,a4,20001d3e <xTaskIncrementTick+0xe2>
+20001d3c: | | | | | | c14c sw a1,4(a0)
+20001d3e: | | | | | \-> 0206a423 sw zero,40(a3)
+20001d42: | | | | | 410c lw a1,0(a0)
+20001d44: | | | | | 15fd addi a1,a1,-1
+20001d46: | | | | | 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)
+20001d48: | | | | \----> 56c8 lw a0,44(a3)
+20001d4a: | | | | 000ea583 lw a1,0(t4)
+20001d4e: | | | | 00a89633 sll a2,a7,a0
+20001d52: | | | | 8dd1 or a1,a1,a2
+20001d54: | | | | 00bea023 sw a1,0(t4)
+20001d58: | | | | 02550533 mul a0,a0,t0
+20001d5c: | | | | 951a add a0,a0,t1
+20001d5e: | | | | 414c lw a1,4(a0)
+20001d60: | | | | c68c sw a1,8(a3)
+20001d62: | | | | 4590 lw a2,8(a1)
+20001d64: | | | | c6d0 sw a2,12(a3)
+20001d66: | | | | 4590 lw a2,8(a1)
+20001d68: | | | | c25c sw a5,4(a2)
+20001d6a: | | | | c59c sw a5,8(a1)
+20001d6c: | | | | cac8 sw a0,20(a3)
+20001d6e: | | | | 410c lw a1,0(a0)
+20001d70: | | | | 0585 addi a1,a1,1
+20001d72: | | | | 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)
+20001d74: | | | | 000e2503 lw a0,0(t3)
+20001d78: | | | | 4108 lw a0,0(a0)
+20001d7a: | | \--|-------- fd3d bnez a0,20001cf8 <xTaskIncrementTick+0x9c>
+20001d7c: | \-----|-------> 557d li a0,-1
+20001d7e: | \-------> 00a82023 sw a0,0(a6)
/proc/self/cwd/external/freertos/tasks.c:2898
return xSwitchRequired;
-20001d80: \----------------> 4501 li a0,0
-20001d82: 8082 ret
+20001d82: \----------------> 4501 li a0,0
+20001d84: 8082 ret
-20001d84 <vListInitialise>:
+20001d86 <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
+20001d86: 00850593 addi a1,a0,8
+20001d8a: c14c sw a1,4(a0)
+20001d8c: 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)
+20001d8e: 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)
+20001d90: 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)
+20001d92: c90c sw a1,16(a0)
/proc/self/cwd/external/freertos/list.c:66
pxList->uxNumberOfItems = ( UBaseType_t ) 0U;
-20001d92: 00052023 sw zero,0(a0)
+20001d94: 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
+20001d98: 8082 ret
-20001d98 <vListInitialiseItem>:
+20001d9a <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)
+20001d9a: 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
+20001d9e: 8082 ret
-20001d9e <uxListRemove>:
+20001da0 <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)
+20001da0: 4510 lw a2,8(a0)
+20001da2: 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)
+20001da4: 490c lw a1,16(a0)
/proc/self/cwd/external/freertos/list.c:194
pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;
-20001da4: c690 sw a2,8(a3)
+20001da6: 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)
+20001da8: 4510 lw a2,8(a0)
+20001daa: 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>
+20001dac: 41d4 lw a3,4(a1)
+20001dae: /-- 00a69363 bne a3,a0,20001db4 <uxListRemove+0x14>
/proc/self/cwd/external/freertos/list.c:203
{
pxList->pxIndex = pxItemToRemove->pxPrevious;
-20001db0: | c1d0 sw a2,4(a1)
+20001db2: | 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)
+20001db4: \-> 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)
+20001db8: 4188 lw a0,0(a1)
+20001dba: 157d addi a0,a0,-1
+20001dbc: 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
+20001dbe: 4188 lw a0,0(a1)
+20001dc0: 8082 ret
-20001dc0 <pvPortMalloc>:
+20001dc2 <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
+20001dc2: 1141 addi sp,sp,-16
+20001dc4: c606 sw ra,12(sp)
+20001dc6: c422 sw s0,8(sp)
+20001dc8: c226 sw s1,4(sp)
+20001dca: c04a sw s2,0(sp)
+20001dcc: 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
+20001dce: 9941 andi a0,a0,-16
+20001dd0: 0541 addi a0,a0,16
+20001dd2: 00f47593 andi a1,s0,15
+20001dd6: /----- 00a46363 bltu s0,a0,20001ddc <pvPortMalloc+0x1a>
+20001dda: | 4501 li a0,0
+20001ddc: \--/-X c191 beqz a1,20001de0 <pvPortMalloc+0x1e>
+20001dde: | 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>
+20001de0: \-> 3b05 jal 20001b10 <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>
+20001de2: efffe517 auipc a0,0xefffe
+20001de6: 2ee50513 addi a0,a0,750 # 100000d0 <pvPortMalloc.pucAlignedHeap>
+20001dea: 4104 lw s1,0(a0)
+20001dec: /-- c099 beqz s1,20001df2 <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
+20001dee: /--|-- e819 bnez s0,20001e04 <pvPortMalloc+0x42>
+20001df0: /--|--|-- a835 j 20001e2c <pvPortMalloc+0x6a>
+20001df2: | | \-> effff597 auipc a1,0xeffff
+20001df6: | | b7e58593 addi a1,a1,-1154 # 10000970 <ucHeap>
+20001dfa: | | 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)
+20001dfc: | | ff05f493 andi s1,a1,-16
+20001e00: | | 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>
+20001e02: +--|----- c40d beqz s0,20001e2c <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>
+20001e04: | \----> efffe517 auipc a0,0xefffe
+20001e08: | 2d050513 addi a0,a0,720 # 100000d4 <xNextFreeByte>
+20001e0c: | 00052903 lw s2,0(a0)
+20001e10: | 008905b3 add a1,s2,s0
+20001e14: | 7f05b613 sltiu a2,a1,2032
+20001e18: | 00b936b3 sltu a3,s2,a1
+20001e1c: | 8e75 and a2,a2,a3
+20001e1e: +-------- c619 beqz a2,20001e2c <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)
+20001e20: | 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>
+20001e22: | 39fd jal 20001b20 <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>
+20001e24: | /-- c489 beqz s1,20001e2e <pvPortMalloc+0x6c>
+20001e26: | | 01248533 add a0,s1,s2
+20001e2a: | /--|-- a029 j 20001e34 <pvPortMalloc+0x72>
/proc/self/cwd/external/freertos/portable/MemMang/heap_1.c:115
( void ) xTaskResumeAll();
-20001e2a: \--|--|-> 39d5 jal 20001b1e <xTaskResumeAll>
+20001e2c: \--|--|-> 39d5 jal 20001b20 <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
+20001e2e: | \-> e71fe0ef jal ra,20000c9e <vApplicationMallocFailedHook>
+20001e32: | 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
+20001e34: \----> 4902 lw s2,0(sp)
+20001e36: 4492 lw s1,4(sp)
+20001e38: 4422 lw s0,8(sp)
+20001e3a: 40b2 lw ra,12(sp)
+20001e3c: 0141 addi sp,sp,16
+20001e3e: 8082 ret
-20001e3e <vPortFree>:
+20001e40 <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
+20001e40: 8082 ret
-20001e40 <manufacturer_pre_test_hook>:
+20001e42 <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,19 @@
OT_WEAK
bool manufacturer_pre_test_hook(void) { return true; }
-20001e40: 4505 li a0,1
-20001e42: 8082 ret
+20001e42: 4505 li a0,1
+20001e44: 8082 ret
-20001e44 <manufacturer_post_test_hook>:
+20001e46 <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
+20001e46: 4505 li a0,1
+20001e48: 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;
- }
- }
-
- 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>:
+20001e4a <memcpy>:
memcpy():
/proc/self/cwd/sw/device/lib/base/memory.c:23
OT_WEAK
@@ -5486,24 +5387,24 @@
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
+20001e4a: /----- ca11 beqz a2,20001e5e <memcpy+0x14>
+20001e4c: | 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)
+20001e4e: | /-> 00058703 lb a4,0(a1)
+20001e52: | | 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>
+20001e56: | | 167d addi a2,a2,-1
+20001e58: | | 0685 addi a3,a3,1
+20001e5a: | | 0585 addi a1,a1,1
+20001e5c: | \-- fa6d bnez a2,20001e4e <memcpy+0x4>
/proc/self/cwd/sw/device/lib/base/memory.c:26
}
return dest;
-20001f0c: \----> 8082 ret
+20001e5e: \----> 8082 ret
-20001f0e <memset>:
+20001e60 <memset>:
memset():
/proc/self/cwd/sw/device/lib/base/memory.c:33
@@ -5512,22 +5413,22 @@
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
+20001e60: /----- c619 beqz a2,20001e6e <memset+0xe>
+20001e62: | 86aa mv a3,a0
/proc/self/cwd/sw/device/lib/base/memory.c:34
dest8[i] = value8;
-20001f12: | /-> 00b68023 sb a1,0(a3)
+20001e64: | /-> 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>
+20001e68: | | 167d addi a2,a2,-1
+20001e6a: | | 0685 addi a3,a3,1
+20001e6c: | \-- fe65 bnez a2,20001e64 <memset+0x4>
/proc/self/cwd/sw/device/lib/base/memory.c:36
}
return dest;
-20001f1c: \----> 8082 ret
+20001e6e: \----> 8082 ret
-20001f1e <memcmp>:
+20001e70 <memcmp>:
memcmp():
/proc/self/cwd/sw/device/lib/base/memory.c:50
OT_WEAK
@@ -5536,36 +5437,36 @@
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>
+20001e70: /----------- ce09 beqz a2,20001e8a <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>
+20001e72: | /----> 00054683 lbu a3,0(a0)
+20001e76: | | 0005c703 lbu a4,0(a1)
+20001e7a: | | /-- 00e6ea63 bltu a3,a4,20001e8e <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>
+20001e7e: | /--|--|-- 00d76b63 bltu a4,a3,20001e94 <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
+20001e82: | | | | 167d addi a2,a2,-1
+20001e84: | | | | 0585 addi a1,a1,1
+20001e86: | | | | 0505 addi a0,a0,1
+20001e88: | | \--|-- f66d bnez a2,20001e72 <memcmp+0x2>
+20001e8a: \--|-----|-> 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
+20001e8c: | | 8082 ret
+20001e8e: | \-> fd600513 li a0,-42
+20001e92: | 8082 ret
+20001e94: \-------> 02a00513 li a0,42
+20001e98: 8082 ret
-20001f48 <memrcmp>:
+20001e9a <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 +5475,39 @@
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
+20001e9a: /----------- c20d beqz a2,20001ebc <memrcmp+0x22>
+20001e9c: | 15fd addi a1,a1,-1
+20001e9e: | 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>
+20001ea0: | /-------> 00c506b3 add a3,a0,a2
+20001ea4: | | 0006c683 lbu a3,0(a3)
+20001ea8: | | 00c58733 add a4,a1,a2
+20001eac: | | 00074703 lbu a4,0(a4)
+20001eb0: | | /-- 00e6e863 bltu a3,a4,20001ec0 <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>
+20001eb4: | | /--|-- 00d76963 bltu a4,a3,20001ec6 <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
+20001eb8: | | | | 167d addi a2,a2,-1
+20001eba: | \--|--|-- f27d bnez a2,20001ea0 <memrcmp+0x6>
+20001ebc: \-----|--|-> 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
+20001ebe: | | 8082 ret
+20001ec0: | \-> fd600513 li a0,-42
+20001ec4: | 8082 ret
+20001ec6: \----> 02a00513 li a0,42
+20001eca: 8082 ret
-20001f7a <memchr>:
+20001ecc <memchr>:
memchr():
/proc/self/cwd/sw/device/lib/base/memory.c:81
@@ -5615,27 +5516,27 @@
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
+20001ecc: /-------- ca11 beqz a2,20001ee0 <memchr+0x14>
+20001ece: | 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>
+20001ed2: | /-> 00054683 lbu a3,0(a0)
+20001ed6: | /--|-- 00b68663 beq a3,a1,20001ee2 <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
+20001eda: | | | 167d addi a2,a2,-1
+20001edc: | | | 0505 addi a0,a0,1
+20001ede: | | \-- fa75 bnez a2,20001ed2 <memchr+0x6>
+20001ee0: \--|----> 4501 li a0,0
/proc/self/cwd/sw/device/lib/base/memory.c:87
return ptr8 + i;
}
}
return NULL;
}
-20001f90: \----> 8082 ret
+20001ee2: \----> 8082 ret
-20001f92 <memrchr>:
+20001ee4 <memrchr>:
memrchr():
/proc/self/cwd/sw/device/lib/base/memory.c:93
@@ -5644,28 +5545,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
+20001ee4: /-------- ce09 beqz a2,20001efe <memrchr+0x1a>
+20001ee6: | fff50693 addi a3,a0,-1
+20001eea: | 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>
+20001eee: | /----> 00c68733 add a4,a3,a2
+20001ef2: | | 00074703 lbu a4,0(a4)
+20001ef6: | | /-- 00b70663 beq a4,a1,20001f02 <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
+20001efa: | | | 167d addi a2,a2,-1
+20001efc: | \--|-- fa6d bnez a2,20001eee <memrchr+0xa>
+20001efe: \-----|-> 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
+20001f00: | 8082 ret
+20001f02: \-> 9532 add a0,a0,a2
+20001f04: 157d addi a0,a0,-1
+20001f06: 8082 ret
+
+20001f08 <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) {
+20001f08: 1141 addi sp,sp,-16
+20001f0a: c622 sw s0,12(sp)
+20001f0c: c426 sw s1,8(sp)
+20001f0e: c24a sw s2,4(sp)
+20001f10: 4881 li a7,0
+20001f12: 4801 li a6,0
+20001f14: 4e01 li t3,0
+20001f16: 4e81 li t4,0
+20001f18: 03f00793 li a5,63
+20001f1c: 42fd li t0,31
+20001f1e: 00159313 slli t1,a1,0x1
+20001f22: 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;
+20001f24: /-------> fe078493 addi s1,a5,-32
+20001f28: | /-- 0004c563 bltz s1,20001f32 <udiv64_slow+0x2a>
+20001f2c: | | 0095df33 srl t5,a1,s1
+20001f30: | /--|-- a809 j 20001f42 <udiv64_slow+0x3a>
+20001f32: | | \-> 00f554b3 srl s1,a0,a5
+20001f36: | | 40f28433 sub s0,t0,a5
+20001f3a: | | 00831433 sll s0,t1,s0
+20001f3e: | | 0084ef33 or t5,s1,s0
+20001f42: | \----> 01fe5493 srli s1,t3,0x1f
+20001f46: | 001e9413 slli s0,t4,0x1
+20001f4a: | 00946eb3 or t4,s0,s1
+20001f4e: | 001e1493 slli s1,t3,0x1
+20001f52: | 001f7413 andi s0,t5,1
+20001f56: | 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) {
+20001f5a: | /----- 00de8563 beq t4,a3,20001f64 <udiv64_slow+0x5c>
+20001f5e: | | 00debe33 sltu t3,t4,a3
+20001f62: | | /-- a019 j 20001f68 <udiv64_slow+0x60>
+20001f64: | \--|-> 00cf3e33 sltu t3,t5,a2
+20001f68: | \-> 001e4f93 xori t6,t3,1
+20001f6c: | 4901 li s2,0
+20001f6e: | 4481 li s1,0
+20001f70: | /-- 000e1463 bnez t3,20001f78 <udiv64_slow+0x70>
+20001f74: | | 8936 mv s2,a3
+20001f76: | | 84b2 mv s1,a2
+20001f78: | \-> 01f8de13 srli t3,a7,0x1f
+20001f7c: | 00181413 slli s0,a6,0x1
+20001f80: | 01c46833 or a6,s0,t3
+20001f84: | 0886 slli a7,a7,0x1
+20001f86: | 409f0e33 sub t3,t5,s1
+20001f8a: | 009f34b3 sltu s1,t5,s1
+20001f8e: | 412e8433 sub s0,t4,s2
+20001f92: | 40940eb3 sub t4,s0,s1
+/proc/self/cwd/sw/device/lib/base/math.c:20
+ for (size_t i = 0; i < bits; ++i) {
+20001f96: | 17fd addi a5,a5,-1
+/proc/self/cwd/sw/device/lib/base/math.c:29
+ if (rem >= b) {
+20001f98: | 01f8e8b3 or a7,a7,t6
+/proc/self/cwd/sw/device/lib/base/math.c:20
+ for (size_t i = 0; i < bits; ++i) {
+20001f9c: \-------- f87794e3 bne a5,t2,20001f24 <udiv64_slow+0x1c>
+/proc/self/cwd/sw/device/lib/base/math.c:35
+ rem -= b;
+ quot |= 1;
+ }
+ }
+
+ if (rem_out != NULL) {
+20001fa0: /-- c709 beqz a4,20001faa <udiv64_slow+0xa2>
+/proc/self/cwd/sw/device/lib/base/math.c:36
+ *rem_out = rem;
+20001fa2: | 01c72023 sw t3,0(a4)
+20001fa6: | 01d72223 sw t4,4(a4)
+/proc/self/cwd/sw/device/lib/base/math.c:38
+ }
+ return quot;
+20001faa: \-> 8546 mv a0,a7
+20001fac: 85c2 mv a1,a6
+20001fae: 4912 lw s2,4(sp)
+20001fb0: 44a2 lw s1,8(sp)
+20001fb2: 4432 lw s0,12(sp)
+20001fb4: 0141 addi sp,sp,16
+20001fb6: 8082 ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment