diff --git a/hw/rtl/VX_gpu_unit.v b/hw/rtl/VX_gpu_unit.v index 3836bb10..403bed95 100644 --- a/hw/rtl/VX_gpu_unit.v +++ b/hw/rtl/VX_gpu_unit.v @@ -48,20 +48,20 @@ module VX_gpu_unit #( // split - wire [`NUM_THREADS-1:0] split_then_mask; - wire [`NUM_THREADS-1:0] split_else_mask; + wire [`NUM_THREADS-1:0] split_then_tmask; + wire [`NUM_THREADS-1:0] split_else_tmask; for (genvar i = 0; i < `NUM_THREADS; i++) begin - wire taken = gpu_req_if.rs1_data[i][gpu_req_if.tid]; - assign split_then_mask[i] = gpu_req_if.tmask[i] & taken; - assign split_else_mask[i] = gpu_req_if.tmask[i] & ~taken; + wire taken = gpu_req_if.rs1_data[i][0]; + assign split_then_tmask[i] = gpu_req_if.tmask[i] & taken; + assign split_else_tmask[i] = gpu_req_if.tmask[i] & ~taken; end - assign split.valid = is_split; - assign split.diverged = (| split_then_mask) && (| split_else_mask); - assign split.then_mask = split_then_mask; - assign split.else_mask = split_else_mask; - assign split.pc = gpu_req_if.next_PC; + assign split.valid = is_split; + assign split.diverged = (| split_then_tmask) && (| split_else_tmask); + assign split.then_tmask = split_then_tmask; + assign split.else_tmask = split_else_tmask; + assign split.pc = gpu_req_if.next_PC; // barrier diff --git a/hw/rtl/VX_types.vh b/hw/rtl/VX_types.vh index c5b1dce6..d444db0d 100644 --- a/hw/rtl/VX_types.vh +++ b/hw/rtl/VX_types.vh @@ -41,8 +41,8 @@ typedef struct packed { typedef struct packed { logic valid; logic diverged; - logic [`NUM_THREADS-1:0] then_mask; - logic [`NUM_THREADS-1:0] else_mask; + logic [`NUM_THREADS-1:0] then_tmask; + logic [`NUM_THREADS-1:0] else_tmask; logic [31:0] pc; } gpu_split_t; diff --git a/hw/rtl/VX_warp_sched.v b/hw/rtl/VX_warp_sched.v index 0b140a12..8f6f3826 100644 --- a/hw/rtl/VX_warp_sched.v +++ b/hw/rtl/VX_warp_sched.v @@ -47,7 +47,9 @@ module VX_warp_sched #( reg [`NW_BITS-1:0] scheduled_warp; wire warp_scheduled; - wire ifetch_rsp_fire = ifetch_rsp_if.valid && ifetch_rsp_if.ready; + wire ifetch_rsp_fire = ifetch_rsp_if.valid && ifetch_rsp_if.ready; + + wire tmc_active = (warp_ctl_if.tmc.tmask != 0); always @(*) begin active_warps_n = active_warps; @@ -55,14 +57,14 @@ module VX_warp_sched #( active_warps_n = warp_ctl_if.wspawn.wmask; end if (warp_ctl_if.valid && warp_ctl_if.tmc.valid) begin - active_warps_n[warp_ctl_if.wid] = (warp_ctl_if.tmc.tmask != 0); + active_warps_n[warp_ctl_if.wid] = tmc_active; end end always @(*) begin schedule_table_n = schedule_table; if (warp_ctl_if.valid && warp_ctl_if.tmc.valid) begin - schedule_table_n[warp_ctl_if.wid] = (warp_ctl_if.tmc.tmask != 0); + schedule_table_n[warp_ctl_if.wid] = tmc_active; end if (warp_scheduled) begin // remove scheduled warp (round-robin) schedule_table_n[scheduled_warp] = 0; @@ -104,12 +106,12 @@ module VX_warp_sched #( barrier_stall_mask[warp_ctl_if.barrier.id][warp_ctl_if.wid] <= 1; end end else if (warp_ctl_if.valid && warp_ctl_if.tmc.valid) begin - thread_masks[warp_ctl_if.wid] <= warp_ctl_if.tmc.tmask; + thread_masks[warp_ctl_if.wid] <= warp_ctl_if.tmc.tmask; stalled_warps[warp_ctl_if.wid] <= 0; end else if (warp_ctl_if.valid && warp_ctl_if.split.valid) begin stalled_warps[warp_ctl_if.wid] <= 0; if (warp_ctl_if.split.diverged) begin - thread_masks[warp_ctl_if.wid] <= warp_ctl_if.split.then_mask; + thread_masks[warp_ctl_if.wid] <= warp_ctl_if.split.then_tmask; end end @@ -178,6 +180,8 @@ module VX_warp_sched #( // split/join stack management wire [(1+32+`NUM_THREADS-1):0] ipdom [`NUM_WARPS-1:0]; + + wire [`NUM_THREADS-1:0] curr_tmask = thread_masks[warp_ctl_if.wid]; for (genvar i = 0; i < `NUM_WARPS; i++) begin wire push = warp_ctl_if.valid @@ -186,9 +190,9 @@ module VX_warp_sched #( wire pop = join_if.valid && (i == join_if.wid); - wire [`NUM_THREADS-1:0] else_mask = warp_ctl_if.split.diverged ? warp_ctl_if.split.else_mask : thread_masks[warp_ctl_if.wid]; - wire [(1+32+`NUM_THREADS-1):0] q_end = {1'b0, 32'b0, thread_masks[warp_ctl_if.wid]}; - wire [(1+32+`NUM_THREADS-1):0] q_else = {1'b1, warp_ctl_if.split.pc, else_mask}; + wire [`NUM_THREADS-1:0] else_tmask = warp_ctl_if.split.diverged ? warp_ctl_if.split.else_tmask : curr_tmask; + wire [(1+32+`NUM_THREADS-1):0] q_end = {1'b0, 32'b0, curr_tmask}; + wire [(1+32+`NUM_THREADS-1):0] q_else = {1'b1, warp_ctl_if.split.pc, else_tmask}; VX_ipdom_stack #( .WIDTH (1+32+`NUM_THREADS), diff --git a/runtime/src/vx_spawn.c b/runtime/src/vx_spawn.c index 8ccd5f6b..d7a30891 100644 --- a/runtime/src/vx_spawn.c +++ b/runtime/src/vx_spawn.c @@ -43,7 +43,8 @@ inline int fast_log2(int x) { } static void spawn_tasks_callback() { - vx_tmc(vx_num_threads()); + // activate all threads + vx_tmc(-1); int core_id = vx_core_id(); int wid = vx_warp_id(); @@ -60,11 +61,13 @@ static void spawn_tasks_callback() { (p_wspawn_args->callback)(task_id, p_wspawn_args->arg); } + // set warp0 to single-threaded and stop other warps vx_tmc(0 == wid); } -void spawn_remaining_tasks_callback(int nthreads) { - vx_tmc(nthreads); +void spawn_remaining_tasks_callback(int thread_mask) { + // activate threads + vx_tmc(thread_mask); int core_id = vx_core_id(); int tid = vx_thread_gid(); @@ -74,6 +77,7 @@ void spawn_remaining_tasks_callback(int nthreads) { int task_id = p_wspawn_args->offset + tid; (p_wspawn_args->callback)(task_id, p_wspawn_args->arg); + // back to single-threaded vx_tmc(1); } @@ -132,7 +136,8 @@ void vx_spawn_tasks(int num_tasks, vx_spawn_tasks_cb callback , void * arg) { /////////////////////////////////////////////////////////////////////////////// static void spawn_kernel_callback() { - vx_tmc(vx_num_threads()); + // activate all threads + vx_tmc(-1); int core_id = vx_core_id(); int wid = vx_warp_id(); @@ -162,11 +167,13 @@ static void spawn_kernel_callback() { (p_wspawn_args->callback)(p_wspawn_args->arg, p_wspawn_args->ctx, gid0, gid1, gid2); } + // set warp0 to single-threaded and stop other warps vx_tmc(0 == wid); } -static void spawn_kernel_remaining_callback(int nthreads) { - vx_tmc(nthreads); +static void spawn_kernel_remaining_callback(int thread_mask) { + // activate threads + vx_tmc(thread_mask); int core_id = vx_core_id(); int tid = vx_thread_gid(); @@ -190,6 +197,7 @@ static void spawn_kernel_remaining_callback(int nthreads) { (p_wspawn_args->callback)(p_wspawn_args->arg, p_wspawn_args->ctx, gid0, gid1, gid2); + // back to single-threaded vx_tmc(1); } diff --git a/runtime/src/vx_start.S b/runtime/src/vx_start.S index e830d752..0d2a0078 100644 --- a/runtime/src/vx_start.S +++ b/runtime/src/vx_start.S @@ -59,7 +59,7 @@ label_exit_next: .global vx_set_sp vx_set_sp: # activate all threads - csrr a0, CSR_NT # get num threads + li a0, -1 .insn s 0x6b, 0, x0, 0(a0) # tmc a0 # set global pointer register diff --git a/simX/core.cpp b/simX/core.cpp index 705b8768..a431a050 100644 --- a/simX/core.cpp +++ b/simX/core.cpp @@ -267,6 +267,9 @@ Word Core::get_csr(Addr addr, int tid, int wid) { } else if (addr == CSR_GCID) { // Processor coreID return id_; + } else if (addr == CSR_TMASK) { + // Processor coreID + return warps_.at(wid)->getTmask(); } else if (addr == CSR_NT) { // Number of threads per warp return arch_.num_threads(); diff --git a/simX/execute.cpp b/simX/execute.cpp index 84dd1ac8..c33f1b64 100644 --- a/simX/execute.cpp +++ b/simX/execute.cpp @@ -817,10 +817,9 @@ void Warp::execute(const Instr &instr, Pipeline *pipeline) { switch (func3) { case 0: { // TMC - int active_threads = std::min(rsdata[0], num_threads); tmask_.reset(); - for (int i = 0; i < active_threads; ++i) { - tmask_[i] = true; + for (size_t i = 0; i < tmask_.size(); ++i) { + tmask_[i] = rsdata[0] & (1 << i); } active_ = tmask_.any(); pipeline->stall_warp = true; diff --git a/simX/warp.h b/simX/warp.h index da91f78d..fbf80e53 100644 --- a/simX/warp.h +++ b/simX/warp.h @@ -74,6 +74,12 @@ public: active_ = tmask_.any(); } + Word getTmask() const { + if (active_) + return tmask_.to_ulong(); + return 0; + } + Word getIRegValue(int reg) const { return iRegFile_[0][reg]; } diff --git a/tests/opencl/guassian/Fan1.dump b/tests/opencl/guassian/Fan1.dump index 0b8484fc..2263afba 100644 --- a/tests/opencl/guassian/Fan1.dump +++ b/tests/opencl/guassian/Fan1.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-8b-5f-88-fa-7a.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-2d-3b-d8-82-7e.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 85 31 addi a1, a1, 792 +80000004: 93 85 45 32 addi a1, a1, 804 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 80 30 jal 776 +80000010: ef 00 40 31 jal 788 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,22 +18,22 @@ Disassembly of section .init: 80000028: 13 06 06 49 addi a2, a2, 1168 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 90 1e jal 2536 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 c5 8e addi a0, a0, -1812 -80000040: ef 00 d0 09 jal 2204 -80000044: ef 00 d0 13 jal 2364 +80000034: ef 00 d0 1e jal 2540 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 c5 3b addi a0, a0, 956 +80000040: ef 00 90 19 jal 2456 +80000044: ef 00 40 31 jal 788 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 50 0a j 2212 +8000004c: 6f 00 10 1a j 2464 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 45 92 addi a0, a0, -1756 -80000060: 6f 00 d0 07 j 2172 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 45 3f addi a0, a0, 1012 +80000060: 6f 00 90 17 j 2424 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 80 41 jal 1048 +80000084: ef 00 40 51 jal 1300 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -214,649 +214,652 @@ Disassembly of section .text: 80000308: 67 80 00 00 ret 8000030c _exit: -8000030c: ef 00 c0 3b jal 956 -80000310: 13 05 00 00 mv a0, zero -80000314: 6b 00 05 00 +8000030c: 63 06 05 00 beqz a0, 12 +80000310: 93 01 05 00 mv gp, a0 +80000314: 73 00 00 00 ecall -80000318 vx_set_sp: -80000318: 73 25 00 fc csrr a0, 4032 -8000031c: 6b 00 05 00 -80000320: 97 11 00 00 auipc gp, 1 -80000324: 93 81 81 4e addi gp, gp, 1256 -80000328: 17 01 00 7f auipc sp, 520192 -8000032c: 13 01 81 cd addi sp, sp, -808 -80000330: 93 05 00 40 addi a1, zero, 1024 -80000334: 73 26 10 cc csrr a2, 3265 -80000338: b3 85 c5 02 mul a1, a1, a2 -8000033c: 33 01 b1 40 sub sp, sp, a1 -80000340: f3 26 30 cc csrr a3, 3267 -80000344: 63 86 06 00 beqz a3, 12 -80000348: 13 05 00 00 mv a0, zero -8000034c: 6b 00 05 00 +80000318 label_exit_next: +80000318: ef 00 c0 4a jal 1196 +8000031c: 13 05 00 00 mv a0, zero +80000320: 6b 00 05 00 -80000350 RETURN: -80000350: 67 80 00 00 ret +80000324 vx_set_sp: +80000324: 13 05 f0 ff addi a0, zero, -1 +80000328: 6b 00 05 00 +8000032c: 97 11 00 00 auipc gp, 1 +80000330: 93 81 c1 4d addi gp, gp, 1244 +80000334: 37 01 00 ff lui sp, 1044480 +80000338: 73 26 10 cc csrr a2, 3265 +8000033c: 93 15 a6 00 slli a1, a2, 10 +80000340: 33 01 b1 40 sub sp, sp, a1 +80000344: f3 26 30 cc csrr a3, 3267 +80000348: 63 86 06 00 beqz a3, 12 +8000034c: 13 05 00 00 mv a0, zero +80000350: 6b 00 05 00 -80000354 spawn_kernel_callback: -80000354: 13 01 01 fe addi sp, sp, -32 -80000358: 23 2e 11 00 sw ra, 28(sp) -8000035c: 23 2c 81 00 sw s0, 24(sp) -80000360: 23 2a 91 00 sw s1, 20(sp) -80000364: 23 28 21 01 sw s2, 16(sp) -80000368: 23 26 31 01 sw s3, 12(sp) -8000036c: 23 24 41 01 sw s4, 8(sp) -80000370: 23 22 51 01 sw s5, 4(sp) -80000374: f3 27 00 fc csrr a5, 4032 -80000378: 6b 80 07 00 -8000037c: f3 26 50 cc csrr a3, 3269 -80000380: 73 29 30 cc csrr s2, 3267 -80000384: 73 27 00 cc csrr a4, 3264 -80000388: 73 26 00 fc csrr a2, 4032 -8000038c: b7 17 00 80 lui a5, 524289 -80000390: 93 96 26 00 slli a3, a3, 2 -80000394: 93 87 47 43 addi a5, a5, 1076 -80000398: b3 87 d7 00 add a5, a5, a3 -8000039c: 03 a4 07 00 lw s0, 0(a5) -800003a0: 83 24 44 01 lw s1, 20(s0) -800003a4: 83 26 04 01 lw a3, 16(s0) -800003a8: b3 2a 99 00 slt s5, s2, s1 -800003ac: 93 87 04 00 mv a5, s1 -800003b0: b3 8a da 00 add s5, s5, a3 -800003b4: b3 84 26 03 mul s1, a3, s2 -800003b8: 63 54 f9 00 bge s2, a5, 8 -800003bc: 93 07 09 00 mv a5, s2 -800003c0: b3 84 f4 00 add s1, s1, a5 -800003c4: 83 25 04 00 lw a1, 0(s0) -800003c8: 83 26 c4 00 lw a3, 12(s0) -800003cc: 83 a9 05 00 lw s3, 0(a1) -800003d0: 03 aa 45 00 lw s4, 4(a1) -800003d4: b3 84 c4 02 mul s1, s1, a2 -800003d8: b3 87 ea 02 mul a5, s5, a4 -800003dc: b3 84 d4 00 add s1, s1, a3 -800003e0: b3 84 f4 00 add s1, s1, a5 -800003e4: b3 8a 9a 00 add s5, s5, s1 -800003e8: 33 8a 49 03 mul s4, s3, s4 -800003ec: 63 c0 54 07 blt s1, s5, 96 -800003f0: 6f 00 00 08 j 128 -800003f4: 03 47 a4 01 lbu a4, 26(s0) -800003f8: 83 46 94 01 lbu a3, 25(s0) -800003fc: 33 d7 e4 40 sra a4, s1, a4 -80000400: b3 07 47 03 mul a5, a4, s4 -80000404: b3 87 f4 40 sub a5, s1, a5 -80000408: 63 80 06 06 beqz a3, 96 -8000040c: 83 46 b4 01 lbu a3, 27(s0) -80000410: b3 d6 d7 40 sra a3, a5, a3 -80000414: b3 88 36 03 mul a7, a3, s3 -80000418: 03 ae 45 01 lw t3, 20(a1) -8000041c: 03 a3 05 01 lw t1, 16(a1) -80000420: 03 a6 c5 00 lw a2, 12(a1) -80000424: 03 28 44 00 lw a6, 4(s0) -80000428: 03 25 84 00 lw a0, 8(s0) -8000042c: 93 84 14 00 addi s1, s1, 1 -80000430: 33 07 c7 01 add a4, a4, t3 -80000434: b3 86 66 00 add a3, a3, t1 -80000438: b3 87 17 41 sub a5, a5, a7 -8000043c: 33 86 c7 00 add a2, a5, a2 -80000440: e7 00 08 00 jalr a6 -80000444: 63 86 9a 02 beq s5, s1, 44 -80000448: 83 25 04 00 lw a1, 0(s0) -8000044c: 83 47 84 01 lbu a5, 24(s0) -80000450: e3 92 07 fa bnez a5, -92 -80000454: 33 c7 44 03 div a4, s1, s4 -80000458: 83 46 94 01 lbu a3, 25(s0) -8000045c: b3 07 47 03 mul a5, a4, s4 -80000460: b3 87 f4 40 sub a5, s1, a5 -80000464: e3 94 06 fa bnez a3, -88 -80000468: b3 c6 37 03 div a3, a5, s3 -8000046c: 6f f0 9f fa j -88 -80000470: 13 39 19 00 seqz s2, s2 -80000474: 6b 00 09 00 -80000478: 83 20 c1 01 lw ra, 28(sp) -8000047c: 03 24 81 01 lw s0, 24(sp) -80000480: 83 24 41 01 lw s1, 20(sp) -80000484: 03 29 01 01 lw s2, 16(sp) -80000488: 83 29 c1 00 lw s3, 12(sp) -8000048c: 03 2a 81 00 lw s4, 8(sp) -80000490: 83 2a 41 00 lw s5, 4(sp) -80000494: 13 01 01 02 addi sp, sp, 32 -80000498: 67 80 00 00 ret +80000354 RETURN: +80000354: 67 80 00 00 ret -8000049c vx_spawn_kernel: -8000049c: 13 01 01 fc addi sp, sp, -64 -800004a0: 23 2e 11 02 sw ra, 60(sp) -800004a4: 23 2c 81 02 sw s0, 56(sp) -800004a8: 23 2a 91 02 sw s1, 52(sp) -800004ac: 23 28 21 03 sw s2, 48(sp) -800004b0: 23 26 31 03 sw s3, 44(sp) -800004b4: f3 28 20 fc csrr a7, 4034 -800004b8: 73 23 10 fc csrr t1, 4033 -800004bc: 73 24 00 fc csrr s0, 4032 -800004c0: f3 27 50 cc csrr a5, 3269 -800004c4: 13 07 f0 01 addi a4, zero, 31 -800004c8: 63 46 f7 0e blt a4, a5, 236 -800004cc: 03 2e 05 00 lw t3, 0(a0) -800004d0: 83 26 45 00 lw a3, 4(a0) -800004d4: 03 28 85 00 lw a6, 8(a0) -800004d8: b3 0e 83 02 mul t4, t1, s0 -800004dc: 13 07 10 00 addi a4, zero, 1 -800004e0: b3 06 de 02 mul a3, t3, a3 -800004e4: 33 88 06 03 mul a6, a3, a6 -800004e8: 63 d4 0e 01 bge t4, a6, 8 -800004ec: 33 47 d8 03 div a4, a6, t4 -800004f0: 63 c0 e8 0e blt a7, a4, 224 -800004f4: 63 d0 e7 0c bge a5, a4, 192 -800004f8: 93 88 f8 ff addi a7, a7, -1 -800004fc: b3 4e e8 02 div t4, a6, a4 -80000500: 93 84 0e 00 mv s1, t4 -80000504: 63 96 f8 00 bne a7, a5, 12 -80000508: 33 67 e8 02 rem a4, a6, a4 -8000050c: b3 04 d7 01 add s1, a4, t4 -80000510: 33 c9 84 02 div s2, s1, s0 -80000514: b3 e4 84 02 rem s1, s1, s0 -80000518: 63 42 69 0c blt s2, t1, 196 -8000051c: 93 02 10 00 addi t0, zero, 1 -80000520: 33 48 69 02 div a6, s2, t1 -80000524: 63 06 08 00 beqz a6, 12 -80000528: 93 02 08 00 mv t0, a6 -8000052c: 33 68 69 02 rem a6, s2, t1 -80000530: d3 f7 06 d0 fcvt.s.w fa5, a3 -80000534: 93 8f f6 ff addi t6, a3, -1 -80000538: 13 0f fe ff addi t5, t3, -1 -8000053c: b7 19 00 80 lui s3, 524289 -80000540: b3 f6 df 00 and a3, t6, a3 -80000544: 93 89 49 43 addi s3, s3, 1076 -80000548: 93 b6 16 00 seqz a3, a3 -8000054c: 23 22 a1 00 sw a0, 4(sp) -80000550: 23 24 b1 00 sw a1, 8(sp) -80000554: 23 26 c1 00 sw a2, 12(sp) -80000558: 23 2a 51 00 sw t0, 20(sp) -8000055c: 23 2c 01 01 sw a6, 24(sp) -80000560: 23 0e d1 00 sb a3, 28(sp) -80000564: 33 87 fe 02 mul a4, t4, a5 -80000568: d3 8e 07 e0 fmv.x.w t4, fa5 -8000056c: d3 77 0e d0 fcvt.s.w fa5, t3 -80000570: 93 97 27 00 slli a5, a5, 2 -80000574: 33 7e cf 01 and t3, t5, t3 -80000578: d3 88 07 e0 fmv.x.w a7, fa5 -8000057c: 93 de 7e 41 srai t4, t4, 23 -80000580: 13 3e 1e 00 seqz t3, t3 -80000584: 93 d8 78 41 srai a7, a7, 23 -80000588: 93 8e 1e f8 addi t4, t4, -127 -8000058c: 93 88 18 f8 addi a7, a7, -127 -80000590: b3 87 f9 00 add a5, s3, a5 -80000594: 23 28 e1 00 sw a4, 16(sp) -80000598: 13 07 41 00 addi a4, sp, 4 -8000059c: a3 0e c1 01 sb t3, 29(sp) -800005a0: 23 0f d1 01 sb t4, 30(sp) -800005a4: a3 0f 11 01 sb a7, 31(sp) -800005a8: 23 a0 e7 00 sw a4, 0(a5) -800005ac: 63 4e 20 03 bgtz s2, 60 -800005b0: 63 9c 04 04 bnez s1, 88 -800005b4: 83 20 c1 03 lw ra, 60(sp) -800005b8: 03 24 81 03 lw s0, 56(sp) -800005bc: 83 24 41 03 lw s1, 52(sp) -800005c0: 03 29 01 03 lw s2, 48(sp) -800005c4: 83 29 c1 02 lw s3, 44(sp) -800005c8: 13 01 01 04 addi sp, sp, 64 -800005cc: 67 80 00 00 ret -800005d0: 13 87 08 00 mv a4, a7 -800005d4: e3 c2 e7 f2 blt a5, a4, -220 -800005d8: 6f f0 df fd j -36 -800005dc: 13 08 00 00 mv a6, zero -800005e0: 93 02 10 00 addi t0, zero, 1 -800005e4: 6f f0 df f4 j -180 -800005e8: 13 07 09 00 mv a4, s2 -800005ec: 63 54 23 01 bge t1, s2, 8 -800005f0: 13 07 03 00 mv a4, t1 -800005f4: b7 07 00 80 lui a5, 524288 -800005f8: 93 87 47 35 addi a5, a5, 852 -800005fc: 6b 10 f7 00 -80000600: ef f0 5f d5 jal -684 -80000604: e3 88 04 fa beqz s1, -80 -80000608: 33 04 89 02 mul s0, s2, s0 -8000060c: 23 28 81 00 sw s0, 16(sp) -80000610: 6b 80 04 00 -80000614: 73 27 50 cc csrr a4, 3269 -80000618: f3 27 20 cc csrr a5, 3266 -8000061c: 13 17 27 00 slli a4, a4, 2 -80000620: b3 89 e9 00 add s3, s3, a4 -80000624: 03 a5 09 00 lw a0, 0(s3) -80000628: 83 25 05 00 lw a1, 0(a0) -8000062c: 83 26 c5 00 lw a3, 12(a0) -80000630: 03 47 85 01 lbu a4, 24(a0) -80000634: 03 a8 05 00 lw a6, 0(a1) -80000638: 03 a6 45 00 lw a2, 4(a1) -8000063c: b3 87 d7 00 add a5, a5, a3 -80000640: 33 06 c8 02 mul a2, a6, a2 -80000644: 63 0e 07 06 beqz a4, 124 -80000648: 03 47 a5 01 lbu a4, 26(a0) -8000064c: 33 d7 e7 40 sra a4, a5, a4 -80000650: 83 46 95 01 lbu a3, 25(a0) -80000654: 33 06 e6 02 mul a2, a2, a4 -80000658: b3 87 c7 40 sub a5, a5, a2 -8000065c: 63 8e 06 04 beqz a3, 92 -80000660: 83 48 b5 01 lbu a7, 27(a0) -80000664: b3 d8 17 41 sra a7, a5, a7 -80000668: 33 08 18 03 mul a6, a6, a7 -8000066c: 03 ae 45 01 lw t3, 20(a1) -80000670: 83 a6 05 01 lw a3, 16(a1) -80000674: 03 a6 c5 00 lw a2, 12(a1) -80000678: 03 23 45 00 lw t1, 4(a0) -8000067c: 03 25 85 00 lw a0, 8(a0) -80000680: 33 07 c7 01 add a4, a4, t3 -80000684: b3 86 d8 00 add a3, a7, a3 -80000688: b3 87 07 41 sub a5, a5, a6 -8000068c: 33 86 c7 00 add a2, a5, a2 -80000690: e7 00 03 00 jalr t1 -80000694: 93 07 10 00 addi a5, zero, 1 -80000698: 6b 80 07 00 -8000069c: 83 20 c1 03 lw ra, 60(sp) -800006a0: 03 24 81 03 lw s0, 56(sp) -800006a4: 83 24 41 03 lw s1, 52(sp) -800006a8: 03 29 01 03 lw s2, 48(sp) -800006ac: 83 29 c1 02 lw s3, 44(sp) -800006b0: 13 01 01 04 addi sp, sp, 64 -800006b4: 67 80 00 00 ret -800006b8: b3 c8 07 03 div a7, a5, a6 -800006bc: 6f f0 df fa j -84 -800006c0: 33 c7 c7 02 div a4, a5, a2 -800006c4: 6f f0 df f8 j -116 +80000358 __libc_init_array: +80000358: 13 01 01 ff addi sp, sp, -16 +8000035c: 23 24 81 00 sw s0, 8(sp) +80000360: 23 20 21 01 sw s2, 0(sp) +80000364: 37 14 00 80 lui s0, 524289 +80000368: 37 19 00 80 lui s2, 524289 +8000036c: 93 07 04 00 mv a5, s0 +80000370: 13 09 09 00 mv s2, s2 +80000374: 33 09 f9 40 sub s2, s2, a5 +80000378: 23 26 11 00 sw ra, 12(sp) +8000037c: 23 22 91 00 sw s1, 4(sp) +80000380: 13 59 29 40 srai s2, s2, 2 +80000384: 63 00 09 02 beqz s2, 32 +80000388: 13 04 04 00 mv s0, s0 +8000038c: 93 04 00 00 mv s1, zero +80000390: 83 27 04 00 lw a5, 0(s0) +80000394: 93 84 14 00 addi s1, s1, 1 +80000398: 13 04 44 00 addi s0, s0, 4 +8000039c: e7 80 07 00 jalr a5 +800003a0: e3 18 99 fe bne s2, s1, -16 +800003a4: 37 14 00 80 lui s0, 524289 +800003a8: 37 19 00 80 lui s2, 524289 +800003ac: 93 07 04 00 mv a5, s0 +800003b0: 13 09 49 00 addi s2, s2, 4 +800003b4: 33 09 f9 40 sub s2, s2, a5 +800003b8: 13 59 29 40 srai s2, s2, 2 +800003bc: 63 00 09 02 beqz s2, 32 +800003c0: 13 04 04 00 mv s0, s0 +800003c4: 93 04 00 00 mv s1, zero +800003c8: 83 27 04 00 lw a5, 0(s0) +800003cc: 93 84 14 00 addi s1, s1, 1 +800003d0: 13 04 44 00 addi s0, s0, 4 +800003d4: e7 80 07 00 jalr a5 +800003d8: e3 18 99 fe bne s2, s1, -16 +800003dc: 83 20 c1 00 lw ra, 12(sp) +800003e0: 03 24 81 00 lw s0, 8(sp) +800003e4: 83 24 41 00 lw s1, 4(sp) +800003e8: 03 29 01 00 lw s2, 0(sp) +800003ec: 13 01 01 01 addi sp, sp, 16 +800003f0: 67 80 00 00 ret -800006c8 vx_perf_dump: -800006c8: f3 27 50 cc csrr a5, 3269 -800006cc: 37 07 ff 00 lui a4, 4080 -800006d0: b3 87 e7 00 add a5, a5, a4 -800006d4: 93 97 87 00 slli a5, a5, 8 -800006d8: 73 27 00 b0 csrr a4, mcycle -800006dc: 23 a0 e7 00 sw a4, 0(a5) -800006e0: 73 27 10 b0 csrr a4, 2817 -800006e4: 23 a2 e7 00 sw a4, 4(a5) -800006e8: 73 27 20 b0 csrr a4, minstret -800006ec: 23 a4 e7 00 sw a4, 8(a5) -800006f0: 73 27 30 b0 csrr a4, mhpmcounter3 -800006f4: 23 a6 e7 00 sw a4, 12(a5) -800006f8: 73 27 40 b0 csrr a4, mhpmcounter4 -800006fc: 23 a8 e7 00 sw a4, 16(a5) -80000700: 73 27 50 b0 csrr a4, mhpmcounter5 -80000704: 23 aa e7 00 sw a4, 20(a5) -80000708: 73 27 60 b0 csrr a4, mhpmcounter6 -8000070c: 23 ac e7 00 sw a4, 24(a5) -80000710: 73 27 70 b0 csrr a4, mhpmcounter7 -80000714: 23 ae e7 00 sw a4, 28(a5) -80000718: 73 27 80 b0 csrr a4, mhpmcounter8 -8000071c: 23 a0 e7 02 sw a4, 32(a5) -80000720: 73 27 90 b0 csrr a4, mhpmcounter9 -80000724: 23 a2 e7 02 sw a4, 36(a5) -80000728: 73 27 a0 b0 csrr a4, mhpmcounter10 -8000072c: 23 a4 e7 02 sw a4, 40(a5) -80000730: 73 27 b0 b0 csrr a4, mhpmcounter11 -80000734: 23 a6 e7 02 sw a4, 44(a5) -80000738: 73 27 c0 b0 csrr a4, mhpmcounter12 -8000073c: 23 a8 e7 02 sw a4, 48(a5) -80000740: 73 27 d0 b0 csrr a4, mhpmcounter13 -80000744: 23 aa e7 02 sw a4, 52(a5) -80000748: 73 27 e0 b0 csrr a4, mhpmcounter14 -8000074c: 23 ac e7 02 sw a4, 56(a5) -80000750: 73 27 f0 b0 csrr a4, mhpmcounter15 -80000754: 23 ae e7 02 sw a4, 60(a5) -80000758: 73 27 00 b1 csrr a4, mhpmcounter16 -8000075c: 23 a0 e7 04 sw a4, 64(a5) -80000760: 73 27 10 b1 csrr a4, mhpmcounter17 -80000764: 23 a2 e7 04 sw a4, 68(a5) -80000768: 73 27 20 b1 csrr a4, mhpmcounter18 -8000076c: 23 a4 e7 04 sw a4, 72(a5) -80000770: 73 27 30 b1 csrr a4, mhpmcounter19 -80000774: 23 a6 e7 04 sw a4, 76(a5) -80000778: 73 27 40 b1 csrr a4, mhpmcounter20 -8000077c: 23 a8 e7 04 sw a4, 80(a5) -80000780: 73 27 50 b1 csrr a4, mhpmcounter21 -80000784: 23 aa e7 04 sw a4, 84(a5) -80000788: 73 27 60 b1 csrr a4, mhpmcounter22 -8000078c: 23 ac e7 04 sw a4, 88(a5) -80000790: 73 27 70 b1 csrr a4, mhpmcounter23 -80000794: 23 ae e7 04 sw a4, 92(a5) -80000798: 73 27 80 b1 csrr a4, mhpmcounter24 -8000079c: 23 a0 e7 06 sw a4, 96(a5) -800007a0: 73 27 90 b1 csrr a4, mhpmcounter25 -800007a4: 23 a2 e7 06 sw a4, 100(a5) -800007a8: 73 27 a0 b1 csrr a4, mhpmcounter26 -800007ac: 23 a4 e7 06 sw a4, 104(a5) -800007b0: 73 27 b0 b1 csrr a4, mhpmcounter27 -800007b4: 23 a6 e7 06 sw a4, 108(a5) -800007b8: 73 27 c0 b1 csrr a4, mhpmcounter28 -800007bc: 23 a8 e7 06 sw a4, 112(a5) -800007c0: 73 27 d0 b1 csrr a4, mhpmcounter29 -800007c4: 23 aa e7 06 sw a4, 116(a5) -800007c8: 73 27 e0 b1 csrr a4, mhpmcounter30 -800007cc: 23 ac e7 06 sw a4, 120(a5) -800007d0: 73 27 f0 b1 csrr a4, mhpmcounter31 -800007d4: 23 ae e7 06 sw a4, 124(a5) -800007d8: 73 27 00 b8 csrr a4, mcycleh -800007dc: 23 a0 e7 08 sw a4, 128(a5) -800007e0: 73 27 10 b8 csrr a4, 2945 -800007e4: 23 a2 e7 08 sw a4, 132(a5) -800007e8: 73 27 20 b8 csrr a4, minstreth -800007ec: 23 a4 e7 08 sw a4, 136(a5) -800007f0: 73 27 30 b8 csrr a4, mhpmcounter3h -800007f4: 23 a6 e7 08 sw a4, 140(a5) -800007f8: 73 27 40 b8 csrr a4, mhpmcounter4h -800007fc: 23 a8 e7 08 sw a4, 144(a5) -80000800: 73 27 50 b8 csrr a4, mhpmcounter5h -80000804: 23 aa e7 08 sw a4, 148(a5) -80000808: 73 27 60 b8 csrr a4, mhpmcounter6h -8000080c: 23 ac e7 08 sw a4, 152(a5) -80000810: 73 27 70 b8 csrr a4, mhpmcounter7h -80000814: 23 ae e7 08 sw a4, 156(a5) -80000818: 73 27 80 b8 csrr a4, mhpmcounter8h -8000081c: 23 a0 e7 0a sw a4, 160(a5) -80000820: 73 27 90 b8 csrr a4, mhpmcounter9h -80000824: 23 a2 e7 0a sw a4, 164(a5) -80000828: 73 27 a0 b8 csrr a4, mhpmcounter10h -8000082c: 23 a4 e7 0a sw a4, 168(a5) -80000830: 73 27 b0 b8 csrr a4, mhpmcounter11h -80000834: 23 a6 e7 0a sw a4, 172(a5) -80000838: 73 27 c0 b8 csrr a4, mhpmcounter12h -8000083c: 23 a8 e7 0a sw a4, 176(a5) -80000840: 73 27 d0 b8 csrr a4, mhpmcounter13h -80000844: 23 aa e7 0a sw a4, 180(a5) -80000848: 73 27 e0 b8 csrr a4, mhpmcounter14h -8000084c: 23 ac e7 0a sw a4, 184(a5) -80000850: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000854: 23 ae e7 0a sw a4, 188(a5) -80000858: 73 27 00 b9 csrr a4, mhpmcounter16h -8000085c: 23 a0 e7 0c sw a4, 192(a5) -80000860: 73 27 10 b9 csrr a4, mhpmcounter17h -80000864: 23 a2 e7 0c sw a4, 196(a5) -80000868: 73 27 20 b9 csrr a4, mhpmcounter18h -8000086c: 23 a4 e7 0c sw a4, 200(a5) -80000870: 73 27 30 b9 csrr a4, mhpmcounter19h -80000874: 23 a6 e7 0c sw a4, 204(a5) -80000878: 73 27 40 b9 csrr a4, mhpmcounter20h -8000087c: 23 a8 e7 0c sw a4, 208(a5) -80000880: 73 27 50 b9 csrr a4, mhpmcounter21h -80000884: 23 aa e7 0c sw a4, 212(a5) -80000888: 73 27 60 b9 csrr a4, mhpmcounter22h -8000088c: 23 ac e7 0c sw a4, 216(a5) -80000890: 73 27 70 b9 csrr a4, mhpmcounter23h -80000894: 23 ae e7 0c sw a4, 220(a5) -80000898: 73 27 80 b9 csrr a4, mhpmcounter24h -8000089c: 23 a0 e7 0e sw a4, 224(a5) -800008a0: 73 27 90 b9 csrr a4, mhpmcounter25h -800008a4: 23 a2 e7 0e sw a4, 228(a5) -800008a8: 73 27 a0 b9 csrr a4, mhpmcounter26h -800008ac: 23 a4 e7 0e sw a4, 232(a5) -800008b0: 73 27 b0 b9 csrr a4, mhpmcounter27h -800008b4: 23 a6 e7 0e sw a4, 236(a5) -800008b8: 73 27 c0 b9 csrr a4, mhpmcounter28h -800008bc: 23 a8 e7 0e sw a4, 240(a5) -800008c0: 73 27 d0 b9 csrr a4, mhpmcounter29h -800008c4: 23 aa e7 0e sw a4, 244(a5) -800008c8: 73 27 e0 b9 csrr a4, mhpmcounter30h -800008cc: 23 ac e7 0e sw a4, 248(a5) -800008d0: 73 27 f0 b9 csrr a4, mhpmcounter31h -800008d4: 23 ae e7 0e sw a4, 252(a5) -800008d8: 67 80 00 00 ret +800003f4 __libc_fini_array: +800003f4: 13 01 01 ff addi sp, sp, -16 +800003f8: 23 24 81 00 sw s0, 8(sp) +800003fc: b7 17 00 80 lui a5, 524289 +80000400: 37 14 00 80 lui s0, 524289 +80000404: 13 04 44 00 addi s0, s0, 4 +80000408: 93 87 47 00 addi a5, a5, 4 +8000040c: b3 87 87 40 sub a5, a5, s0 +80000410: 23 22 91 00 sw s1, 4(sp) +80000414: 23 26 11 00 sw ra, 12(sp) +80000418: 93 d4 27 40 srai s1, a5, 2 +8000041c: 63 80 04 02 beqz s1, 32 +80000420: 93 87 c7 ff addi a5, a5, -4 +80000424: 33 84 87 00 add s0, a5, s0 +80000428: 83 27 04 00 lw a5, 0(s0) +8000042c: 93 84 f4 ff addi s1, s1, -1 +80000430: 13 04 c4 ff addi s0, s0, -4 +80000434: e7 80 07 00 jalr a5 +80000438: e3 98 04 fe bnez s1, -16 +8000043c: 83 20 c1 00 lw ra, 12(sp) +80000440: 03 24 81 00 lw s0, 8(sp) +80000444: 83 24 41 00 lw s1, 4(sp) +80000448: 13 01 01 01 addi sp, sp, 16 +8000044c: 67 80 00 00 ret -800008dc atexit: -800008dc: 93 05 05 00 mv a1, a0 -800008e0: 93 06 00 00 mv a3, zero -800008e4: 13 06 00 00 mv a2, zero -800008e8: 13 05 00 00 mv a0, zero -800008ec: 6f 00 c0 20 j 524 +80000450 spawn_kernel_callback: +80000450: 13 01 01 fe addi sp, sp, -32 +80000454: 23 2e 11 00 sw ra, 28(sp) +80000458: 23 2c 81 00 sw s0, 24(sp) +8000045c: 23 2a 91 00 sw s1, 20(sp) +80000460: 23 28 21 01 sw s2, 16(sp) +80000464: 23 26 31 01 sw s3, 12(sp) +80000468: 23 24 41 01 sw s4, 8(sp) +8000046c: 23 22 51 01 sw s5, 4(sp) +80000470: 93 07 f0 ff addi a5, zero, -1 +80000474: 6b 80 07 00 +80000478: f3 26 50 cc csrr a3, 3269 +8000047c: 73 29 30 cc csrr s2, 3267 +80000480: 73 27 00 cc csrr a4, 3264 +80000484: 73 26 00 fc csrr a2, 4032 +80000488: b7 17 00 80 lui a5, 524289 +8000048c: 93 96 26 00 slli a3, a3, 2 +80000490: 93 87 47 43 addi a5, a5, 1076 +80000494: b3 87 d7 00 add a5, a5, a3 +80000498: 03 a4 07 00 lw s0, 0(a5) +8000049c: 83 24 44 01 lw s1, 20(s0) +800004a0: 83 26 04 01 lw a3, 16(s0) +800004a4: b3 2a 99 00 slt s5, s2, s1 +800004a8: 93 87 04 00 mv a5, s1 +800004ac: b3 8a da 00 add s5, s5, a3 +800004b0: b3 84 26 03 mul s1, a3, s2 +800004b4: 63 54 f9 00 bge s2, a5, 8 +800004b8: 93 07 09 00 mv a5, s2 +800004bc: b3 84 f4 00 add s1, s1, a5 +800004c0: 83 25 04 00 lw a1, 0(s0) +800004c4: 83 26 c4 00 lw a3, 12(s0) +800004c8: 83 a9 05 00 lw s3, 0(a1) +800004cc: 03 aa 45 00 lw s4, 4(a1) +800004d0: b3 84 c4 02 mul s1, s1, a2 +800004d4: b3 87 ea 02 mul a5, s5, a4 +800004d8: b3 84 d4 00 add s1, s1, a3 +800004dc: b3 84 f4 00 add s1, s1, a5 +800004e0: b3 8a 9a 00 add s5, s5, s1 +800004e4: 33 8a 49 03 mul s4, s3, s4 +800004e8: 63 c0 54 07 blt s1, s5, 96 +800004ec: 6f 00 00 08 j 128 +800004f0: 03 47 a4 01 lbu a4, 26(s0) +800004f4: 83 46 94 01 lbu a3, 25(s0) +800004f8: 33 d7 e4 40 sra a4, s1, a4 +800004fc: b3 07 47 03 mul a5, a4, s4 +80000500: b3 87 f4 40 sub a5, s1, a5 +80000504: 63 80 06 06 beqz a3, 96 +80000508: 83 46 b4 01 lbu a3, 27(s0) +8000050c: b3 d6 d7 40 sra a3, a5, a3 +80000510: b3 88 36 03 mul a7, a3, s3 +80000514: 03 ae 45 01 lw t3, 20(a1) +80000518: 03 a3 05 01 lw t1, 16(a1) +8000051c: 03 a6 c5 00 lw a2, 12(a1) +80000520: 03 28 44 00 lw a6, 4(s0) +80000524: 03 25 84 00 lw a0, 8(s0) +80000528: 93 84 14 00 addi s1, s1, 1 +8000052c: 33 07 c7 01 add a4, a4, t3 +80000530: b3 86 66 00 add a3, a3, t1 +80000534: b3 87 17 41 sub a5, a5, a7 +80000538: 33 86 c7 00 add a2, a5, a2 +8000053c: e7 00 08 00 jalr a6 +80000540: 63 86 9a 02 beq s5, s1, 44 +80000544: 83 25 04 00 lw a1, 0(s0) +80000548: 83 47 84 01 lbu a5, 24(s0) +8000054c: e3 92 07 fa bnez a5, -92 +80000550: 33 c7 44 03 div a4, s1, s4 +80000554: 83 46 94 01 lbu a3, 25(s0) +80000558: b3 07 47 03 mul a5, a4, s4 +8000055c: b3 87 f4 40 sub a5, s1, a5 +80000560: e3 94 06 fa bnez a3, -88 +80000564: b3 c6 37 03 div a3, a5, s3 +80000568: 6f f0 9f fa j -88 +8000056c: 13 39 19 00 seqz s2, s2 +80000570: 6b 00 09 00 +80000574: 83 20 c1 01 lw ra, 28(sp) +80000578: 03 24 81 01 lw s0, 24(sp) +8000057c: 83 24 41 01 lw s1, 20(sp) +80000580: 03 29 01 01 lw s2, 16(sp) +80000584: 83 29 c1 00 lw s3, 12(sp) +80000588: 03 2a 81 00 lw s4, 8(sp) +8000058c: 83 2a 41 00 lw s5, 4(sp) +80000590: 13 01 01 02 addi sp, sp, 32 +80000594: 67 80 00 00 ret -800008f0 exit: -800008f0: 13 01 01 ff addi sp, sp, -16 -800008f4: 93 05 00 00 mv a1, zero -800008f8: 23 24 81 00 sw s0, 8(sp) -800008fc: 23 26 11 00 sw ra, 12(sp) -80000900: 13 04 05 00 mv s0, a0 -80000904: ef 00 00 29 jal 656 -80000908: b7 17 00 80 lui a5, 524289 -8000090c: 03 a5 07 43 lw a0, 1072(a5) -80000910: 83 27 c5 03 lw a5, 60(a0) -80000914: 63 84 07 00 beqz a5, 8 -80000918: e7 80 07 00 jalr a5 -8000091c: 13 05 04 00 mv a0, s0 -80000920: ef f0 df 9e jal -1556 +80000598 vx_spawn_kernel: +80000598: 13 01 01 fc addi sp, sp, -64 +8000059c: 23 2e 11 02 sw ra, 60(sp) +800005a0: 23 2c 81 02 sw s0, 56(sp) +800005a4: 23 2a 91 02 sw s1, 52(sp) +800005a8: 23 28 21 03 sw s2, 48(sp) +800005ac: 23 26 31 03 sw s3, 44(sp) +800005b0: f3 28 20 fc csrr a7, 4034 +800005b4: 73 23 10 fc csrr t1, 4033 +800005b8: 73 24 00 fc csrr s0, 4032 +800005bc: f3 27 50 cc csrr a5, 3269 +800005c0: 13 07 f0 01 addi a4, zero, 31 +800005c4: 63 46 f7 0e blt a4, a5, 236 +800005c8: 03 2e 05 00 lw t3, 0(a0) +800005cc: 83 26 45 00 lw a3, 4(a0) +800005d0: 03 28 85 00 lw a6, 8(a0) +800005d4: b3 0e 83 02 mul t4, t1, s0 +800005d8: 13 07 10 00 addi a4, zero, 1 +800005dc: b3 06 de 02 mul a3, t3, a3 +800005e0: 33 88 06 03 mul a6, a3, a6 +800005e4: 63 d4 0e 01 bge t4, a6, 8 +800005e8: 33 47 d8 03 div a4, a6, t4 +800005ec: 63 c0 e8 0e blt a7, a4, 224 +800005f0: 63 d0 e7 0c bge a5, a4, 192 +800005f4: 93 88 f8 ff addi a7, a7, -1 +800005f8: b3 4e e8 02 div t4, a6, a4 +800005fc: 93 84 0e 00 mv s1, t4 +80000600: 63 96 f8 00 bne a7, a5, 12 +80000604: 33 67 e8 02 rem a4, a6, a4 +80000608: b3 04 d7 01 add s1, a4, t4 +8000060c: 33 c9 84 02 div s2, s1, s0 +80000610: b3 e4 84 02 rem s1, s1, s0 +80000614: 63 42 69 0c blt s2, t1, 196 +80000618: 93 02 10 00 addi t0, zero, 1 +8000061c: 33 48 69 02 div a6, s2, t1 +80000620: 63 06 08 00 beqz a6, 12 +80000624: 93 02 08 00 mv t0, a6 +80000628: 33 68 69 02 rem a6, s2, t1 +8000062c: d3 f7 06 d0 fcvt.s.w fa5, a3 +80000630: 93 8f f6 ff addi t6, a3, -1 +80000634: 13 0f fe ff addi t5, t3, -1 +80000638: b7 19 00 80 lui s3, 524289 +8000063c: b3 f6 df 00 and a3, t6, a3 +80000640: 93 89 49 43 addi s3, s3, 1076 +80000644: 93 b6 16 00 seqz a3, a3 +80000648: 23 22 a1 00 sw a0, 4(sp) +8000064c: 23 24 b1 00 sw a1, 8(sp) +80000650: 23 26 c1 00 sw a2, 12(sp) +80000654: 23 2a 51 00 sw t0, 20(sp) +80000658: 23 2c 01 01 sw a6, 24(sp) +8000065c: 23 0e d1 00 sb a3, 28(sp) +80000660: 33 87 fe 02 mul a4, t4, a5 +80000664: d3 8e 07 e0 fmv.x.w t4, fa5 +80000668: d3 77 0e d0 fcvt.s.w fa5, t3 +8000066c: 93 97 27 00 slli a5, a5, 2 +80000670: 33 7e cf 01 and t3, t5, t3 +80000674: d3 88 07 e0 fmv.x.w a7, fa5 +80000678: 93 de 7e 41 srai t4, t4, 23 +8000067c: 13 3e 1e 00 seqz t3, t3 +80000680: 93 d8 78 41 srai a7, a7, 23 +80000684: 93 8e 1e f8 addi t4, t4, -127 +80000688: 93 88 18 f8 addi a7, a7, -127 +8000068c: b3 87 f9 00 add a5, s3, a5 +80000690: 23 28 e1 00 sw a4, 16(sp) +80000694: 13 07 41 00 addi a4, sp, 4 +80000698: a3 0e c1 01 sb t3, 29(sp) +8000069c: 23 0f d1 01 sb t4, 30(sp) +800006a0: a3 0f 11 01 sb a7, 31(sp) +800006a4: 23 a0 e7 00 sw a4, 0(a5) +800006a8: 63 4e 20 03 bgtz s2, 60 +800006ac: 63 9c 04 04 bnez s1, 88 +800006b0: 83 20 c1 03 lw ra, 60(sp) +800006b4: 03 24 81 03 lw s0, 56(sp) +800006b8: 83 24 41 03 lw s1, 52(sp) +800006bc: 03 29 01 03 lw s2, 48(sp) +800006c0: 83 29 c1 02 lw s3, 44(sp) +800006c4: 13 01 01 04 addi sp, sp, 64 +800006c8: 67 80 00 00 ret +800006cc: 13 87 08 00 mv a4, a7 +800006d0: e3 c2 e7 f2 blt a5, a4, -220 +800006d4: 6f f0 df fd j -36 +800006d8: 13 08 00 00 mv a6, zero +800006dc: 93 02 10 00 addi t0, zero, 1 +800006e0: 6f f0 df f4 j -180 +800006e4: 13 07 09 00 mv a4, s2 +800006e8: 63 54 23 01 bge t1, s2, 8 +800006ec: 13 07 03 00 mv a4, t1 +800006f0: b7 07 00 80 lui a5, 524288 +800006f4: 93 87 07 45 addi a5, a5, 1104 +800006f8: 6b 10 f7 00 +800006fc: ef f0 5f d5 jal -684 +80000700: e3 88 04 fa beqz s1, -80 +80000704: 33 04 89 02 mul s0, s2, s0 +80000708: 23 28 81 00 sw s0, 16(sp) +8000070c: 6b 80 04 00 +80000710: 73 27 50 cc csrr a4, 3269 +80000714: f3 27 20 cc csrr a5, 3266 +80000718: 13 17 27 00 slli a4, a4, 2 +8000071c: b3 89 e9 00 add s3, s3, a4 +80000720: 03 a5 09 00 lw a0, 0(s3) +80000724: 83 25 05 00 lw a1, 0(a0) +80000728: 83 26 c5 00 lw a3, 12(a0) +8000072c: 03 47 85 01 lbu a4, 24(a0) +80000730: 03 a8 05 00 lw a6, 0(a1) +80000734: 03 a6 45 00 lw a2, 4(a1) +80000738: b3 87 d7 00 add a5, a5, a3 +8000073c: 33 06 c8 02 mul a2, a6, a2 +80000740: 63 0e 07 06 beqz a4, 124 +80000744: 03 47 a5 01 lbu a4, 26(a0) +80000748: 33 d7 e7 40 sra a4, a5, a4 +8000074c: 83 46 95 01 lbu a3, 25(a0) +80000750: 33 06 e6 02 mul a2, a2, a4 +80000754: b3 87 c7 40 sub a5, a5, a2 +80000758: 63 8e 06 04 beqz a3, 92 +8000075c: 83 48 b5 01 lbu a7, 27(a0) +80000760: b3 d8 17 41 sra a7, a5, a7 +80000764: 33 08 18 03 mul a6, a6, a7 +80000768: 03 ae 45 01 lw t3, 20(a1) +8000076c: 83 a6 05 01 lw a3, 16(a1) +80000770: 03 a6 c5 00 lw a2, 12(a1) +80000774: 03 23 45 00 lw t1, 4(a0) +80000778: 03 25 85 00 lw a0, 8(a0) +8000077c: 33 07 c7 01 add a4, a4, t3 +80000780: b3 86 d8 00 add a3, a7, a3 +80000784: b3 87 07 41 sub a5, a5, a6 +80000788: 33 86 c7 00 add a2, a5, a2 +8000078c: e7 00 03 00 jalr t1 +80000790: 93 07 10 00 addi a5, zero, 1 +80000794: 6b 80 07 00 +80000798: 83 20 c1 03 lw ra, 60(sp) +8000079c: 03 24 81 03 lw s0, 56(sp) +800007a0: 83 24 41 03 lw s1, 52(sp) +800007a4: 03 29 01 03 lw s2, 48(sp) +800007a8: 83 29 c1 02 lw s3, 44(sp) +800007ac: 13 01 01 04 addi sp, sp, 64 +800007b0: 67 80 00 00 ret +800007b4: b3 c8 07 03 div a7, a5, a6 +800007b8: 6f f0 df fa j -84 +800007bc: 33 c7 c7 02 div a4, a5, a2 +800007c0: 6f f0 df f8 j -116 -80000924 __libc_fini_array: -80000924: 13 01 01 ff addi sp, sp, -16 -80000928: 23 24 81 00 sw s0, 8(sp) -8000092c: b7 17 00 80 lui a5, 524289 -80000930: 37 14 00 80 lui s0, 524289 -80000934: 13 04 44 00 addi s0, s0, 4 -80000938: 93 87 47 00 addi a5, a5, 4 -8000093c: b3 87 87 40 sub a5, a5, s0 -80000940: 23 22 91 00 sw s1, 4(sp) -80000944: 23 26 11 00 sw ra, 12(sp) -80000948: 93 d4 27 40 srai s1, a5, 2 -8000094c: 63 80 04 02 beqz s1, 32 -80000950: 93 87 c7 ff addi a5, a5, -4 -80000954: 33 84 87 00 add s0, a5, s0 -80000958: 83 27 04 00 lw a5, 0(s0) -8000095c: 93 84 f4 ff addi s1, s1, -1 -80000960: 13 04 c4 ff addi s0, s0, -4 -80000964: e7 80 07 00 jalr a5 -80000968: e3 98 04 fe bnez s1, -16 -8000096c: 83 20 c1 00 lw ra, 12(sp) -80000970: 03 24 81 00 lw s0, 8(sp) -80000974: 83 24 41 00 lw s1, 4(sp) -80000978: 13 01 01 01 addi sp, sp, 16 -8000097c: 67 80 00 00 ret +800007c4 vx_perf_dump: +800007c4: f3 27 50 cc csrr a5, 3269 +800007c8: 37 07 ff 00 lui a4, 4080 +800007cc: b3 87 e7 00 add a5, a5, a4 +800007d0: 93 97 87 00 slli a5, a5, 8 +800007d4: 73 27 00 b0 csrr a4, mcycle +800007d8: 23 a0 e7 00 sw a4, 0(a5) +800007dc: 73 27 10 b0 csrr a4, 2817 +800007e0: 23 a2 e7 00 sw a4, 4(a5) +800007e4: 73 27 20 b0 csrr a4, minstret +800007e8: 23 a4 e7 00 sw a4, 8(a5) +800007ec: 73 27 30 b0 csrr a4, mhpmcounter3 +800007f0: 23 a6 e7 00 sw a4, 12(a5) +800007f4: 73 27 40 b0 csrr a4, mhpmcounter4 +800007f8: 23 a8 e7 00 sw a4, 16(a5) +800007fc: 73 27 50 b0 csrr a4, mhpmcounter5 +80000800: 23 aa e7 00 sw a4, 20(a5) +80000804: 73 27 60 b0 csrr a4, mhpmcounter6 +80000808: 23 ac e7 00 sw a4, 24(a5) +8000080c: 73 27 70 b0 csrr a4, mhpmcounter7 +80000810: 23 ae e7 00 sw a4, 28(a5) +80000814: 73 27 80 b0 csrr a4, mhpmcounter8 +80000818: 23 a0 e7 02 sw a4, 32(a5) +8000081c: 73 27 90 b0 csrr a4, mhpmcounter9 +80000820: 23 a2 e7 02 sw a4, 36(a5) +80000824: 73 27 a0 b0 csrr a4, mhpmcounter10 +80000828: 23 a4 e7 02 sw a4, 40(a5) +8000082c: 73 27 b0 b0 csrr a4, mhpmcounter11 +80000830: 23 a6 e7 02 sw a4, 44(a5) +80000834: 73 27 c0 b0 csrr a4, mhpmcounter12 +80000838: 23 a8 e7 02 sw a4, 48(a5) +8000083c: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000840: 23 aa e7 02 sw a4, 52(a5) +80000844: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000848: 23 ac e7 02 sw a4, 56(a5) +8000084c: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000850: 23 ae e7 02 sw a4, 60(a5) +80000854: 73 27 00 b1 csrr a4, mhpmcounter16 +80000858: 23 a0 e7 04 sw a4, 64(a5) +8000085c: 73 27 10 b1 csrr a4, mhpmcounter17 +80000860: 23 a2 e7 04 sw a4, 68(a5) +80000864: 73 27 20 b1 csrr a4, mhpmcounter18 +80000868: 23 a4 e7 04 sw a4, 72(a5) +8000086c: 73 27 30 b1 csrr a4, mhpmcounter19 +80000870: 23 a6 e7 04 sw a4, 76(a5) +80000874: 73 27 40 b1 csrr a4, mhpmcounter20 +80000878: 23 a8 e7 04 sw a4, 80(a5) +8000087c: 73 27 50 b1 csrr a4, mhpmcounter21 +80000880: 23 aa e7 04 sw a4, 84(a5) +80000884: 73 27 60 b1 csrr a4, mhpmcounter22 +80000888: 23 ac e7 04 sw a4, 88(a5) +8000088c: 73 27 70 b1 csrr a4, mhpmcounter23 +80000890: 23 ae e7 04 sw a4, 92(a5) +80000894: 73 27 80 b1 csrr a4, mhpmcounter24 +80000898: 23 a0 e7 06 sw a4, 96(a5) +8000089c: 73 27 90 b1 csrr a4, mhpmcounter25 +800008a0: 23 a2 e7 06 sw a4, 100(a5) +800008a4: 73 27 a0 b1 csrr a4, mhpmcounter26 +800008a8: 23 a4 e7 06 sw a4, 104(a5) +800008ac: 73 27 b0 b1 csrr a4, mhpmcounter27 +800008b0: 23 a6 e7 06 sw a4, 108(a5) +800008b4: 73 27 c0 b1 csrr a4, mhpmcounter28 +800008b8: 23 a8 e7 06 sw a4, 112(a5) +800008bc: 73 27 d0 b1 csrr a4, mhpmcounter29 +800008c0: 23 aa e7 06 sw a4, 116(a5) +800008c4: 73 27 e0 b1 csrr a4, mhpmcounter30 +800008c8: 23 ac e7 06 sw a4, 120(a5) +800008cc: 73 27 f0 b1 csrr a4, mhpmcounter31 +800008d0: 23 ae e7 06 sw a4, 124(a5) +800008d4: 73 27 00 b8 csrr a4, mcycleh +800008d8: 23 a0 e7 08 sw a4, 128(a5) +800008dc: 73 27 10 b8 csrr a4, 2945 +800008e0: 23 a2 e7 08 sw a4, 132(a5) +800008e4: 73 27 20 b8 csrr a4, minstreth +800008e8: 23 a4 e7 08 sw a4, 136(a5) +800008ec: 73 27 30 b8 csrr a4, mhpmcounter3h +800008f0: 23 a6 e7 08 sw a4, 140(a5) +800008f4: 73 27 40 b8 csrr a4, mhpmcounter4h +800008f8: 23 a8 e7 08 sw a4, 144(a5) +800008fc: 73 27 50 b8 csrr a4, mhpmcounter5h +80000900: 23 aa e7 08 sw a4, 148(a5) +80000904: 73 27 60 b8 csrr a4, mhpmcounter6h +80000908: 23 ac e7 08 sw a4, 152(a5) +8000090c: 73 27 70 b8 csrr a4, mhpmcounter7h +80000910: 23 ae e7 08 sw a4, 156(a5) +80000914: 73 27 80 b8 csrr a4, mhpmcounter8h +80000918: 23 a0 e7 0a sw a4, 160(a5) +8000091c: 73 27 90 b8 csrr a4, mhpmcounter9h +80000920: 23 a2 e7 0a sw a4, 164(a5) +80000924: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000928: 23 a4 e7 0a sw a4, 168(a5) +8000092c: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000930: 23 a6 e7 0a sw a4, 172(a5) +80000934: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000938: 23 a8 e7 0a sw a4, 176(a5) +8000093c: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000940: 23 aa e7 0a sw a4, 180(a5) +80000944: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000948: 23 ac e7 0a sw a4, 184(a5) +8000094c: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000950: 23 ae e7 0a sw a4, 188(a5) +80000954: 73 27 00 b9 csrr a4, mhpmcounter16h +80000958: 23 a0 e7 0c sw a4, 192(a5) +8000095c: 73 27 10 b9 csrr a4, mhpmcounter17h +80000960: 23 a2 e7 0c sw a4, 196(a5) +80000964: 73 27 20 b9 csrr a4, mhpmcounter18h +80000968: 23 a4 e7 0c sw a4, 200(a5) +8000096c: 73 27 30 b9 csrr a4, mhpmcounter19h +80000970: 23 a6 e7 0c sw a4, 204(a5) +80000974: 73 27 40 b9 csrr a4, mhpmcounter20h +80000978: 23 a8 e7 0c sw a4, 208(a5) +8000097c: 73 27 50 b9 csrr a4, mhpmcounter21h +80000980: 23 aa e7 0c sw a4, 212(a5) +80000984: 73 27 60 b9 csrr a4, mhpmcounter22h +80000988: 23 ac e7 0c sw a4, 216(a5) +8000098c: 73 27 70 b9 csrr a4, mhpmcounter23h +80000990: 23 ae e7 0c sw a4, 220(a5) +80000994: 73 27 80 b9 csrr a4, mhpmcounter24h +80000998: 23 a0 e7 0e sw a4, 224(a5) +8000099c: 73 27 90 b9 csrr a4, mhpmcounter25h +800009a0: 23 a2 e7 0e sw a4, 228(a5) +800009a4: 73 27 a0 b9 csrr a4, mhpmcounter26h +800009a8: 23 a4 e7 0e sw a4, 232(a5) +800009ac: 73 27 b0 b9 csrr a4, mhpmcounter27h +800009b0: 23 a6 e7 0e sw a4, 236(a5) +800009b4: 73 27 c0 b9 csrr a4, mhpmcounter28h +800009b8: 23 a8 e7 0e sw a4, 240(a5) +800009bc: 73 27 d0 b9 csrr a4, mhpmcounter29h +800009c0: 23 aa e7 0e sw a4, 244(a5) +800009c4: 73 27 e0 b9 csrr a4, mhpmcounter30h +800009c8: 23 ac e7 0e sw a4, 248(a5) +800009cc: 73 27 f0 b9 csrr a4, mhpmcounter31h +800009d0: 23 ae e7 0e sw a4, 252(a5) +800009d4: 67 80 00 00 ret -80000980 __libc_init_array: -80000980: 13 01 01 ff addi sp, sp, -16 -80000984: 23 24 81 00 sw s0, 8(sp) -80000988: 23 20 21 01 sw s2, 0(sp) -8000098c: 37 14 00 80 lui s0, 524289 -80000990: 37 19 00 80 lui s2, 524289 -80000994: 93 07 04 00 mv a5, s0 -80000998: 13 09 09 00 mv s2, s2 -8000099c: 33 09 f9 40 sub s2, s2, a5 -800009a0: 23 26 11 00 sw ra, 12(sp) -800009a4: 23 22 91 00 sw s1, 4(sp) -800009a8: 13 59 29 40 srai s2, s2, 2 -800009ac: 63 00 09 02 beqz s2, 32 -800009b0: 13 04 04 00 mv s0, s0 -800009b4: 93 04 00 00 mv s1, zero -800009b8: 83 27 04 00 lw a5, 0(s0) -800009bc: 93 84 14 00 addi s1, s1, 1 -800009c0: 13 04 44 00 addi s0, s0, 4 -800009c4: e7 80 07 00 jalr a5 -800009c8: e3 18 99 fe bne s2, s1, -16 -800009cc: 37 14 00 80 lui s0, 524289 -800009d0: 37 19 00 80 lui s2, 524289 -800009d4: 93 07 04 00 mv a5, s0 -800009d8: 13 09 49 00 addi s2, s2, 4 -800009dc: 33 09 f9 40 sub s2, s2, a5 -800009e0: 13 59 29 40 srai s2, s2, 2 -800009e4: 63 00 09 02 beqz s2, 32 -800009e8: 13 04 04 00 mv s0, s0 -800009ec: 93 04 00 00 mv s1, zero -800009f0: 83 27 04 00 lw a5, 0(s0) -800009f4: 93 84 14 00 addi s1, s1, 1 -800009f8: 13 04 44 00 addi s0, s0, 4 -800009fc: e7 80 07 00 jalr a5 -80000a00: e3 18 99 fe bne s2, s1, -16 -80000a04: 83 20 c1 00 lw ra, 12(sp) -80000a08: 03 24 81 00 lw s0, 8(sp) -80000a0c: 83 24 41 00 lw s1, 4(sp) -80000a10: 03 29 01 00 lw s2, 0(sp) -80000a14: 13 01 01 01 addi sp, sp, 16 -80000a18: 67 80 00 00 ret +800009d8 atexit: +800009d8: 93 05 05 00 mv a1, a0 +800009dc: 93 06 00 00 mv a3, zero +800009e0: 13 06 00 00 mv a2, zero +800009e4: 13 05 00 00 mv a0, zero +800009e8: 6f 00 40 11 j 276 -80000a1c memset: -80000a1c: 13 03 f0 00 addi t1, zero, 15 -80000a20: 13 07 05 00 mv a4, a0 -80000a24: 63 7e c3 02 bgeu t1, a2, 60 -80000a28: 93 77 f7 00 andi a5, a4, 15 -80000a2c: 63 90 07 0a bnez a5, 160 -80000a30: 63 92 05 08 bnez a1, 132 -80000a34: 93 76 06 ff andi a3, a2, -16 -80000a38: 13 76 f6 00 andi a2, a2, 15 -80000a3c: b3 86 e6 00 add a3, a3, a4 -80000a40: 23 20 b7 00 sw a1, 0(a4) -80000a44: 23 22 b7 00 sw a1, 4(a4) -80000a48: 23 24 b7 00 sw a1, 8(a4) -80000a4c: 23 26 b7 00 sw a1, 12(a4) -80000a50: 13 07 07 01 addi a4, a4, 16 -80000a54: e3 66 d7 fe bltu a4, a3, -20 -80000a58: 63 14 06 00 bnez a2, 8 -80000a5c: 67 80 00 00 ret -80000a60: b3 06 c3 40 sub a3, t1, a2 -80000a64: 93 96 26 00 slli a3, a3, 2 -80000a68: 97 02 00 00 auipc t0, 0 -80000a6c: b3 86 56 00 add a3, a3, t0 -80000a70: 67 80 c6 00 jr 12(a3) -80000a74: 23 07 b7 00 sb a1, 14(a4) -80000a78: a3 06 b7 00 sb a1, 13(a4) -80000a7c: 23 06 b7 00 sb a1, 12(a4) -80000a80: a3 05 b7 00 sb a1, 11(a4) -80000a84: 23 05 b7 00 sb a1, 10(a4) -80000a88: a3 04 b7 00 sb a1, 9(a4) -80000a8c: 23 04 b7 00 sb a1, 8(a4) -80000a90: a3 03 b7 00 sb a1, 7(a4) -80000a94: 23 03 b7 00 sb a1, 6(a4) -80000a98: a3 02 b7 00 sb a1, 5(a4) -80000a9c: 23 02 b7 00 sb a1, 4(a4) -80000aa0: a3 01 b7 00 sb a1, 3(a4) -80000aa4: 23 01 b7 00 sb a1, 2(a4) -80000aa8: a3 00 b7 00 sb a1, 1(a4) -80000aac: 23 00 b7 00 sb a1, 0(a4) -80000ab0: 67 80 00 00 ret -80000ab4: 93 f5 f5 0f andi a1, a1, 255 -80000ab8: 93 96 85 00 slli a3, a1, 8 -80000abc: b3 e5 d5 00 or a1, a1, a3 -80000ac0: 93 96 05 01 slli a3, a1, 16 -80000ac4: b3 e5 d5 00 or a1, a1, a3 -80000ac8: 6f f0 df f6 j -148 -80000acc: 93 96 27 00 slli a3, a5, 2 -80000ad0: 97 02 00 00 auipc t0, 0 -80000ad4: b3 86 56 00 add a3, a3, t0 -80000ad8: 93 82 00 00 mv t0, ra -80000adc: e7 80 06 fa jalr -96(a3) -80000ae0: 93 80 02 00 mv ra, t0 -80000ae4: 93 87 07 ff addi a5, a5, -16 -80000ae8: 33 07 f7 40 sub a4, a4, a5 -80000aec: 33 06 f6 00 add a2, a2, a5 -80000af0: e3 78 c3 f6 bgeu t1, a2, -144 -80000af4: 6f f0 df f3 j -196 +800009ec exit: +800009ec: 13 01 01 ff addi sp, sp, -16 +800009f0: 93 05 00 00 mv a1, zero +800009f4: 23 24 81 00 sw s0, 8(sp) +800009f8: 23 26 11 00 sw ra, 12(sp) +800009fc: 13 04 05 00 mv s0, a0 +80000a00: ef 00 80 19 jal 408 +80000a04: b7 17 00 80 lui a5, 524289 +80000a08: 03 a5 07 43 lw a0, 1072(a5) +80000a0c: 83 27 c5 03 lw a5, 60(a0) +80000a10: 63 84 07 00 beqz a5, 8 +80000a14: e7 80 07 00 jalr a5 +80000a18: 13 05 04 00 mv a0, s0 +80000a1c: ef f0 1f 8f jal -1808 -80000af8 __register_exitproc: -80000af8: b7 17 00 80 lui a5, 524289 -80000afc: 03 a7 07 43 lw a4, 1072(a5) -80000b00: 83 27 87 14 lw a5, 328(a4) -80000b04: 63 8c 07 04 beqz a5, 88 -80000b08: 03 a7 47 00 lw a4, 4(a5) -80000b0c: 13 08 f0 01 addi a6, zero, 31 -80000b10: 63 4e e8 06 blt a6, a4, 124 -80000b14: 13 18 27 00 slli a6, a4, 2 -80000b18: 63 06 05 02 beqz a0, 44 -80000b1c: 33 83 07 01 add t1, a5, a6 -80000b20: 23 24 c3 08 sw a2, 136(t1) -80000b24: 83 a8 87 18 lw a7, 392(a5) -80000b28: 13 06 10 00 addi a2, zero, 1 -80000b2c: 33 16 e6 00 sll a2, a2, a4 -80000b30: b3 e8 c8 00 or a7, a7, a2 -80000b34: 23 a4 17 19 sw a7, 392(a5) -80000b38: 23 24 d3 10 sw a3, 264(t1) -80000b3c: 93 06 20 00 addi a3, zero, 2 -80000b40: 63 04 d5 02 beq a0, a3, 40 -80000b44: 13 07 17 00 addi a4, a4, 1 -80000b48: 23 a2 e7 00 sw a4, 4(a5) -80000b4c: b3 87 07 01 add a5, a5, a6 -80000b50: 23 a4 b7 00 sw a1, 8(a5) -80000b54: 13 05 00 00 mv a0, zero -80000b58: 67 80 00 00 ret -80000b5c: 93 07 c7 14 addi a5, a4, 332 -80000b60: 23 24 f7 14 sw a5, 328(a4) -80000b64: 6f f0 5f fa j -92 -80000b68: 83 a6 c7 18 lw a3, 396(a5) -80000b6c: 13 07 17 00 addi a4, a4, 1 -80000b70: 23 a2 e7 00 sw a4, 4(a5) -80000b74: 33 e6 c6 00 or a2, a3, a2 -80000b78: 23 a6 c7 18 sw a2, 396(a5) -80000b7c: b3 87 07 01 add a5, a5, a6 -80000b80: 23 a4 b7 00 sw a1, 8(a5) -80000b84: 13 05 00 00 mv a0, zero -80000b88: 67 80 00 00 ret -80000b8c: 13 05 f0 ff addi a0, zero, -1 -80000b90: 67 80 00 00 ret +80000a20 memset: +80000a20: 13 03 f0 00 addi t1, zero, 15 +80000a24: 13 07 05 00 mv a4, a0 +80000a28: 63 7e c3 02 bgeu t1, a2, 60 +80000a2c: 93 77 f7 00 andi a5, a4, 15 +80000a30: 63 90 07 0a bnez a5, 160 +80000a34: 63 92 05 08 bnez a1, 132 +80000a38: 93 76 06 ff andi a3, a2, -16 +80000a3c: 13 76 f6 00 andi a2, a2, 15 +80000a40: b3 86 e6 00 add a3, a3, a4 +80000a44: 23 20 b7 00 sw a1, 0(a4) +80000a48: 23 22 b7 00 sw a1, 4(a4) +80000a4c: 23 24 b7 00 sw a1, 8(a4) +80000a50: 23 26 b7 00 sw a1, 12(a4) +80000a54: 13 07 07 01 addi a4, a4, 16 +80000a58: e3 66 d7 fe bltu a4, a3, -20 +80000a5c: 63 14 06 00 bnez a2, 8 +80000a60: 67 80 00 00 ret +80000a64: b3 06 c3 40 sub a3, t1, a2 +80000a68: 93 96 26 00 slli a3, a3, 2 +80000a6c: 97 02 00 00 auipc t0, 0 +80000a70: b3 86 56 00 add a3, a3, t0 +80000a74: 67 80 c6 00 jr 12(a3) +80000a78: 23 07 b7 00 sb a1, 14(a4) +80000a7c: a3 06 b7 00 sb a1, 13(a4) +80000a80: 23 06 b7 00 sb a1, 12(a4) +80000a84: a3 05 b7 00 sb a1, 11(a4) +80000a88: 23 05 b7 00 sb a1, 10(a4) +80000a8c: a3 04 b7 00 sb a1, 9(a4) +80000a90: 23 04 b7 00 sb a1, 8(a4) +80000a94: a3 03 b7 00 sb a1, 7(a4) +80000a98: 23 03 b7 00 sb a1, 6(a4) +80000a9c: a3 02 b7 00 sb a1, 5(a4) +80000aa0: 23 02 b7 00 sb a1, 4(a4) +80000aa4: a3 01 b7 00 sb a1, 3(a4) +80000aa8: 23 01 b7 00 sb a1, 2(a4) +80000aac: a3 00 b7 00 sb a1, 1(a4) +80000ab0: 23 00 b7 00 sb a1, 0(a4) +80000ab4: 67 80 00 00 ret +80000ab8: 93 f5 f5 0f andi a1, a1, 255 +80000abc: 93 96 85 00 slli a3, a1, 8 +80000ac0: b3 e5 d5 00 or a1, a1, a3 +80000ac4: 93 96 05 01 slli a3, a1, 16 +80000ac8: b3 e5 d5 00 or a1, a1, a3 +80000acc: 6f f0 df f6 j -148 +80000ad0: 93 96 27 00 slli a3, a5, 2 +80000ad4: 97 02 00 00 auipc t0, 0 +80000ad8: b3 86 56 00 add a3, a3, t0 +80000adc: 93 82 00 00 mv t0, ra +80000ae0: e7 80 06 fa jalr -96(a3) +80000ae4: 93 80 02 00 mv ra, t0 +80000ae8: 93 87 07 ff addi a5, a5, -16 +80000aec: 33 07 f7 40 sub a4, a4, a5 +80000af0: 33 06 f6 00 add a2, a2, a5 +80000af4: e3 78 c3 f6 bgeu t1, a2, -144 +80000af8: 6f f0 df f3 j -196 -80000b94 __call_exitprocs: -80000b94: 13 01 01 fd addi sp, sp, -48 -80000b98: b7 17 00 80 lui a5, 524289 -80000b9c: 23 2c 41 01 sw s4, 24(sp) -80000ba0: 03 aa 07 43 lw s4, 1072(a5) -80000ba4: 23 20 21 03 sw s2, 32(sp) -80000ba8: 23 26 11 02 sw ra, 44(sp) -80000bac: 03 29 8a 14 lw s2, 328(s4) -80000bb0: 23 24 81 02 sw s0, 40(sp) -80000bb4: 23 22 91 02 sw s1, 36(sp) -80000bb8: 23 2e 31 01 sw s3, 28(sp) -80000bbc: 23 2a 51 01 sw s5, 20(sp) -80000bc0: 23 28 61 01 sw s6, 16(sp) -80000bc4: 23 26 71 01 sw s7, 12(sp) -80000bc8: 23 24 81 01 sw s8, 8(sp) -80000bcc: 63 00 09 04 beqz s2, 64 -80000bd0: 13 0b 05 00 mv s6, a0 -80000bd4: 93 8b 05 00 mv s7, a1 -80000bd8: 93 0a 10 00 addi s5, zero, 1 -80000bdc: 93 09 f0 ff addi s3, zero, -1 -80000be0: 83 24 49 00 lw s1, 4(s2) -80000be4: 13 84 f4 ff addi s0, s1, -1 -80000be8: 63 42 04 02 bltz s0, 36 -80000bec: 93 94 24 00 slli s1, s1, 2 -80000bf0: b3 04 99 00 add s1, s2, s1 -80000bf4: 63 84 0b 04 beqz s7, 72 -80000bf8: 83 a7 44 10 lw a5, 260(s1) -80000bfc: 63 80 77 05 beq a5, s7, 64 -80000c00: 13 04 f4 ff addi s0, s0, -1 -80000c04: 93 84 c4 ff addi s1, s1, -4 -80000c08: e3 16 34 ff bne s0, s3, -20 -80000c0c: 83 20 c1 02 lw ra, 44(sp) -80000c10: 03 24 81 02 lw s0, 40(sp) -80000c14: 83 24 41 02 lw s1, 36(sp) -80000c18: 03 29 01 02 lw s2, 32(sp) -80000c1c: 83 29 c1 01 lw s3, 28(sp) -80000c20: 03 2a 81 01 lw s4, 24(sp) -80000c24: 83 2a 41 01 lw s5, 20(sp) -80000c28: 03 2b 01 01 lw s6, 16(sp) -80000c2c: 83 2b c1 00 lw s7, 12(sp) -80000c30: 03 2c 81 00 lw s8, 8(sp) -80000c34: 13 01 01 03 addi sp, sp, 48 -80000c38: 67 80 00 00 ret -80000c3c: 83 27 49 00 lw a5, 4(s2) -80000c40: 83 a6 44 00 lw a3, 4(s1) -80000c44: 93 87 f7 ff addi a5, a5, -1 -80000c48: 63 8e 87 04 beq a5, s0, 92 -80000c4c: 23 a2 04 00 sw zero, 4(s1) -80000c50: e3 88 06 fa beqz a3, -80 -80000c54: 83 27 89 18 lw a5, 392(s2) -80000c58: 33 97 8a 00 sll a4, s5, s0 -80000c5c: 03 2c 49 00 lw s8, 4(s2) -80000c60: b3 77 f7 00 and a5, a4, a5 -80000c64: 63 92 07 02 bnez a5, 36 -80000c68: e7 80 06 00 jalr a3 -80000c6c: 03 27 49 00 lw a4, 4(s2) -80000c70: 83 27 8a 14 lw a5, 328(s4) -80000c74: 63 14 87 01 bne a4, s8, 8 -80000c78: e3 04 f9 f8 beq s2, a5, -120 -80000c7c: e3 88 07 f8 beqz a5, -112 -80000c80: 13 89 07 00 mv s2, a5 -80000c84: 6f f0 df f5 j -164 -80000c88: 83 27 c9 18 lw a5, 396(s2) -80000c8c: 83 a5 44 08 lw a1, 132(s1) -80000c90: 33 77 f7 00 and a4, a4, a5 -80000c94: 63 1c 07 00 bnez a4, 24 -80000c98: 13 05 0b 00 mv a0, s6 -80000c9c: e7 80 06 00 jalr a3 -80000ca0: 6f f0 df fc j -52 -80000ca4: 23 22 89 00 sw s0, 4(s2) -80000ca8: 6f f0 9f fa j -88 -80000cac: 13 85 05 00 mv a0, a1 -80000cb0: e7 80 06 00 jalr a3 -80000cb4: 6f f0 9f fb j -72 +80000afc __register_exitproc: +80000afc: b7 17 00 80 lui a5, 524289 +80000b00: 03 a7 07 43 lw a4, 1072(a5) +80000b04: 83 27 87 14 lw a5, 328(a4) +80000b08: 63 8c 07 04 beqz a5, 88 +80000b0c: 03 a7 47 00 lw a4, 4(a5) +80000b10: 13 08 f0 01 addi a6, zero, 31 +80000b14: 63 4e e8 06 blt a6, a4, 124 +80000b18: 13 18 27 00 slli a6, a4, 2 +80000b1c: 63 06 05 02 beqz a0, 44 +80000b20: 33 83 07 01 add t1, a5, a6 +80000b24: 23 24 c3 08 sw a2, 136(t1) +80000b28: 83 a8 87 18 lw a7, 392(a5) +80000b2c: 13 06 10 00 addi a2, zero, 1 +80000b30: 33 16 e6 00 sll a2, a2, a4 +80000b34: b3 e8 c8 00 or a7, a7, a2 +80000b38: 23 a4 17 19 sw a7, 392(a5) +80000b3c: 23 24 d3 10 sw a3, 264(t1) +80000b40: 93 06 20 00 addi a3, zero, 2 +80000b44: 63 04 d5 02 beq a0, a3, 40 +80000b48: 13 07 17 00 addi a4, a4, 1 +80000b4c: 23 a2 e7 00 sw a4, 4(a5) +80000b50: b3 87 07 01 add a5, a5, a6 +80000b54: 23 a4 b7 00 sw a1, 8(a5) +80000b58: 13 05 00 00 mv a0, zero +80000b5c: 67 80 00 00 ret +80000b60: 93 07 c7 14 addi a5, a4, 332 +80000b64: 23 24 f7 14 sw a5, 328(a4) +80000b68: 6f f0 5f fa j -92 +80000b6c: 83 a6 c7 18 lw a3, 396(a5) +80000b70: 13 07 17 00 addi a4, a4, 1 +80000b74: 23 a2 e7 00 sw a4, 4(a5) +80000b78: 33 e6 c6 00 or a2, a3, a2 +80000b7c: 23 a6 c7 18 sw a2, 396(a5) +80000b80: b3 87 07 01 add a5, a5, a6 +80000b84: 23 a4 b7 00 sw a1, 8(a5) +80000b88: 13 05 00 00 mv a0, zero +80000b8c: 67 80 00 00 ret +80000b90: 13 05 f0 ff addi a0, zero, -1 +80000b94: 67 80 00 00 ret + +80000b98 __call_exitprocs: +80000b98: 13 01 01 fd addi sp, sp, -48 +80000b9c: b7 17 00 80 lui a5, 524289 +80000ba0: 23 2c 41 01 sw s4, 24(sp) +80000ba4: 03 aa 07 43 lw s4, 1072(a5) +80000ba8: 23 20 21 03 sw s2, 32(sp) +80000bac: 23 26 11 02 sw ra, 44(sp) +80000bb0: 03 29 8a 14 lw s2, 328(s4) +80000bb4: 23 24 81 02 sw s0, 40(sp) +80000bb8: 23 22 91 02 sw s1, 36(sp) +80000bbc: 23 2e 31 01 sw s3, 28(sp) +80000bc0: 23 2a 51 01 sw s5, 20(sp) +80000bc4: 23 28 61 01 sw s6, 16(sp) +80000bc8: 23 26 71 01 sw s7, 12(sp) +80000bcc: 23 24 81 01 sw s8, 8(sp) +80000bd0: 63 00 09 04 beqz s2, 64 +80000bd4: 13 0b 05 00 mv s6, a0 +80000bd8: 93 8b 05 00 mv s7, a1 +80000bdc: 93 0a 10 00 addi s5, zero, 1 +80000be0: 93 09 f0 ff addi s3, zero, -1 +80000be4: 83 24 49 00 lw s1, 4(s2) +80000be8: 13 84 f4 ff addi s0, s1, -1 +80000bec: 63 42 04 02 bltz s0, 36 +80000bf0: 93 94 24 00 slli s1, s1, 2 +80000bf4: b3 04 99 00 add s1, s2, s1 +80000bf8: 63 84 0b 04 beqz s7, 72 +80000bfc: 83 a7 44 10 lw a5, 260(s1) +80000c00: 63 80 77 05 beq a5, s7, 64 +80000c04: 13 04 f4 ff addi s0, s0, -1 +80000c08: 93 84 c4 ff addi s1, s1, -4 +80000c0c: e3 16 34 ff bne s0, s3, -20 +80000c10: 83 20 c1 02 lw ra, 44(sp) +80000c14: 03 24 81 02 lw s0, 40(sp) +80000c18: 83 24 41 02 lw s1, 36(sp) +80000c1c: 03 29 01 02 lw s2, 32(sp) +80000c20: 83 29 c1 01 lw s3, 28(sp) +80000c24: 03 2a 81 01 lw s4, 24(sp) +80000c28: 83 2a 41 01 lw s5, 20(sp) +80000c2c: 03 2b 01 01 lw s6, 16(sp) +80000c30: 83 2b c1 00 lw s7, 12(sp) +80000c34: 03 2c 81 00 lw s8, 8(sp) +80000c38: 13 01 01 03 addi sp, sp, 48 +80000c3c: 67 80 00 00 ret +80000c40: 83 27 49 00 lw a5, 4(s2) +80000c44: 83 a6 44 00 lw a3, 4(s1) +80000c48: 93 87 f7 ff addi a5, a5, -1 +80000c4c: 63 8e 87 04 beq a5, s0, 92 +80000c50: 23 a2 04 00 sw zero, 4(s1) +80000c54: e3 88 06 fa beqz a3, -80 +80000c58: 83 27 89 18 lw a5, 392(s2) +80000c5c: 33 97 8a 00 sll a4, s5, s0 +80000c60: 03 2c 49 00 lw s8, 4(s2) +80000c64: b3 77 f7 00 and a5, a4, a5 +80000c68: 63 92 07 02 bnez a5, 36 +80000c6c: e7 80 06 00 jalr a3 +80000c70: 03 27 49 00 lw a4, 4(s2) +80000c74: 83 27 8a 14 lw a5, 328(s4) +80000c78: 63 14 87 01 bne a4, s8, 8 +80000c7c: e3 04 f9 f8 beq s2, a5, -120 +80000c80: e3 88 07 f8 beqz a5, -112 +80000c84: 13 89 07 00 mv s2, a5 +80000c88: 6f f0 df f5 j -164 +80000c8c: 83 27 c9 18 lw a5, 396(s2) +80000c90: 83 a5 44 08 lw a1, 132(s1) +80000c94: 33 77 f7 00 and a4, a4, a5 +80000c98: 63 1c 07 00 bnez a4, 24 +80000c9c: 13 05 0b 00 mv a0, s6 +80000ca0: e7 80 06 00 jalr a3 +80000ca4: 6f f0 df fc j -52 +80000ca8: 23 22 89 00 sw s0, 4(s2) +80000cac: 6f f0 9f fa j -88 +80000cb0: 13 85 05 00 mv a0, a1 +80000cb4: e7 80 06 00 jalr a3 +80000cb8: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -1030,80 +1033,83 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 50 03 + a4: 18 03 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 54 03 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: 54 03 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: 50 04 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 184: 08 10 186: 00 80 @@ -1114,54 +1120,54 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 1a4: 04 10 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 cd 00 lb zero, 12(s10) + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 1b4: 04 10 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 e0 00 lb zero, 14(zero) + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 1c4: 04 10 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 1d4: 00 10 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 1e4: 00 10 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 1f4: 00 10 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 00 04 216: 00 00 @@ -1169,7 +1175,7 @@ Disassembly of section .symtab: 21a: 00 00 21c: 10 00 21e: f1 ff - 220: 49 01 + 220: 59 01 222: 00 00 224: 34 14 226: 00 80 @@ -1177,28 +1183,28 @@ Disassembly of section .symtab: 22a: 00 00 22c: 11 00 22e: 06 00 - 230: 57 01 00 00 + 230: 67 01 00 00 jalr sp, zero 234: 30 14 236: 00 80 238: 00 00 23a: 00 00 23c: 10 00 23e: 05 00 - 240: 67 01 00 00 jalr sp, zero + 240: 77 01 00 00 244: 74 01 246: 00 80 248: d0 00 24a: 00 00 24c: 12 00 24e: 02 00 - 250: 83 01 00 00 lb gp, 0(zero) + 250: 93 01 00 00 mv gp, zero 254: 08 18 256: 00 80 258: 00 00 25a: 00 00 25c: 10 00 25e: f1 ff - 260: 94 01 + 260: a4 01 262: 00 00 264: 30 14 266: 00 80 @@ -1206,166 +1212,159 @@ Disassembly of section .symtab: 26a: 00 00 26c: 11 00 26e: 05 00 - 270: a7 01 00 00 - 274: 80 09 + 270: b7 01 00 00 lui gp, 0 + 274: 58 03 276: 00 80 278: 9c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: b9 01 + 280: c9 01 282: 00 00 - 284: 24 09 + 284: f4 03 286: 00 80 288: 5c 00 28a: 00 00 28c: 12 00 28e: 02 00 - 290: cb 01 00 00 fnmsub.s ft3, ft0, ft0, ft0, rne - 294: 00 00 - 296: 00 ff - 298: 00 00 + 290: db 01 00 00 + 294: 98 00 + 296: 00 80 + 298: dc 00 29a: 00 00 - 29c: 10 00 - 29e: f1 ff - 2a0: d7 01 00 00 - 2a4: 98 00 + 29c: 12 00 + 29e: 02 00 + 2a0: ed 01 + 2a2: 00 00 + 2a4: 24 03 2a6: 00 80 - 2a8: dc 00 + 2a8: 00 00 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: e9 01 - 2b2: 00 00 - 2b4: 18 03 + 2b0: f7 01 00 00 + 2b4: 98 0b 2b6: 00 80 - 2b8: 00 00 + 2b8: 24 01 2ba: 00 00 2bc: 12 00 2be: 02 00 - 2c0: f3 01 00 00 - 2c4: 94 0b + 2c0: 2d 02 + 2c2: 00 00 + 2c4: 00 00 2c6: 00 80 - 2c8: 24 01 + 2c8: 50 00 2ca: 00 00 2cc: 12 00 - 2ce: 02 00 - 2d0: 29 02 + 2ce: 01 00 + 2d0: 08 02 2d2: 00 00 - 2d4: 00 00 + 2d4: fc 0a 2d6: 00 80 - 2d8: 50 00 + 2d8: 9c 00 2da: 00 00 2dc: 12 00 - 2de: 01 00 - 2e0: 04 02 + 2de: 02 00 + 2e0: 1c 02 2e2: 00 00 - 2e4: f8 0a + 2e4: b4 14 2e6: 00 80 - 2e8: 9c 00 + 2e8: 00 00 2ea: 00 00 - 2ec: 12 00 - 2ee: 02 00 - 2f0: 18 02 + 2ec: 10 00 + 2ee: 06 00 + 2f0: 28 02 2f2: 00 00 - 2f4: b4 14 + 2f4: 34 14 2f6: 00 80 2f8: 00 00 2fa: 00 00 2fc: 10 00 2fe: 06 00 - 300: 24 02 + 300: 34 02 302: 00 00 - 304: 34 14 + 304: 20 0a 306: 00 80 - 308: 00 00 + 308: dc 00 30a: 00 00 - 30c: 10 00 - 30e: 06 00 - 310: 30 02 - 312: 00 00 - 314: 1c 0a + 30c: 12 00 + 30e: 02 00 + 310: 3b 02 00 00 + 314: 68 00 316: 00 80 - 318: dc 00 + 318: 30 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 37 02 00 00 lui tp, 0 - 324: 68 00 + 320: 40 02 + 322: 00 00 + 324: d8 09 326: 00 80 - 328: 30 00 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 3c 02 - 332: 00 00 - 334: dc 08 + 330: 47 02 00 00 fmsub.s ft4, ft0, ft0, ft0, rne + 334: 08 10 336: 00 80 - 338: 14 00 + 338: 00 00 33a: 00 00 - 33c: 12 00 - 33e: 02 00 - 340: 43 02 00 00 fmadd.s ft4, ft0, ft0, ft0, rne - 344: 08 10 + 33c: 10 00 + 33e: 04 00 + 340: 56 02 + 342: 00 00 + 344: 44 02 346: 00 80 - 348: 00 00 + 348: c8 00 34a: 00 00 - 34c: 10 00 - 34e: 04 00 - 350: 52 02 - 352: 00 00 - 354: 44 02 + 34c: 12 00 + 34e: 02 00 + 350: 77 02 00 00 + 354: 34 14 356: 00 80 - 358: c8 00 + 358: 00 00 35a: 00 00 - 35c: 12 00 - 35e: 02 00 - 360: 73 02 00 00 - 364: 34 14 + 35c: 10 00 + 35e: 05 00 + 360: d8 00 + 362: 00 00 + 364: b4 14 366: 00 80 368: 00 00 36a: 00 00 36c: 10 00 - 36e: 05 00 - 370: c8 00 + 36e: 06 00 + 370: 8c 02 372: 00 00 - 374: b4 14 + 374: ec 09 376: 00 80 - 378: 00 00 + 378: 34 00 37a: 00 00 - 37c: 10 00 - 37e: 06 00 - 380: 88 02 + 37c: 12 00 + 37e: 02 00 + 380: 7e 02 382: 00 00 - 384: f0 08 + 384: c4 07 386: 00 80 - 388: 34 00 + 388: 14 02 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 7a 02 - 392: 00 00 - 394: c8 06 + 390: 8b 02 00 00 + 394: 0c 03 396: 00 80 - 398: 14 02 + 398: 00 00 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 87 02 00 00 - 3a4: 0c 03 + 3a0: 91 02 + 3a2: 00 00 + 3a4: 98 05 3a6: 00 80 - 3a8: 00 00 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 8d 02 - 3b2: 00 00 - 3b4: 9c 04 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1375,258 +1374,262 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 35 36 - 48: 2d 32 - 4a: 61 2d - 4c: 30 35 - 4e: 2d 63 - 50: 62 2d - 52: 36 37 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 5f 73 74 - 140: 61 63 - 142: 6b 5f 73 69 - 146: 7a 65 - 148: 00 67 - 14a: 5f 77 73 70 - 14e: 61 77 - 150: 6e 5f - 152: 61 72 - 154: 67 73 00 5f - 158: 5f 53 44 41 - 15c: 54 41 - 15e: 5f 42 45 47 - 162: 49 4e - 164: 5f 5f 00 5f - 168: 70 6f - 16a: 63 6c 5f 6b bltu t5, s5, 1720 - 16e: 65 72 - 170: 6e 65 - 172: 6c 5f - 174: 46 61 - 176: 6e 31 - 178: 5f 77 6f 72 - 17c: 6b 67 72 6f - 180: 75 70 - 182: 00 5f - 184: 5f 67 6c 6f - 188: 62 61 - 18a: 6c 5f - 18c: 70 6f - 18e: 69 6e - 190: 74 65 - 192: 72 00 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 34 64 + 58: 2d 33 + 5a: 39 2d + 5c: 35 31 + 5e: 2d 37 + 60: 38 2d + 62: 36 63 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 5f 73 74 + 150: 61 63 + 152: 6b 5f 73 69 + 156: 7a 65 + 158: 00 67 + 15a: 5f 77 73 70 + 15e: 61 77 + 160: 6e 5f + 162: 61 72 + 164: 67 73 00 5f + 168: 5f 53 44 41 + 16c: 54 41 + 16e: 5f 42 45 47 + 172: 49 4e + 174: 5f 5f 00 5f + 178: 70 6f + 17a: 63 6c 5f 6b bltu t5, s5, 1720 + 17e: 65 72 + 180: 6e 65 + 182: 6c 5f + 184: 46 61 + 186: 6e 31 + 188: 5f 77 6f 72 + 18c: 6b 67 72 6f + 190: 75 70 + 192: 00 5f 194: 5f 67 6c 6f 198: 62 61 19a: 6c 5f - 19c: 69 6d - 19e: 70 75 - 1a0: 72 65 - 1a2: 5f 70 74 72 - 1a6: 00 5f - 1a8: 5f 6c 69 62 - 1ac: 63 5f 69 6e bge s2, t1, 1790 - 1b0: 69 74 - 1b2: 5f 61 72 72 - 1b6: 61 79 - 1b8: 00 5f - 1ba: 5f 6c 69 62 - 1be: 63 5f 66 69 bge a2, s6, 1694 - 1c2: 6e 69 - 1c4: 5f 61 72 72 - 1c8: 61 79 - 1ca: 00 5f - 1cc: 5f 73 74 61 - 1d0: 63 6b 5f 74 bltu t5, t0, 1878 - 1d4: 6f 70 00 5f j 30192 - 1d8: 70 6f - 1da: 63 6c 5f 6b bltu t5, s5, 1720 - 1de: 65 72 - 1e0: 6e 65 - 1e2: 6c 5f - 1e4: 46 61 - 1e6: 6e 31 - 1e8: 00 76 - 1ea: 78 5f - 1ec: 73 65 74 5f csrrsi a0, 1527, 8 - 1f0: 73 70 00 5f csrci 1520, 0 - 1f4: 5f 63 61 6c - 1f8: 6c 5f - 1fa: 65 78 - 1fc: 69 74 - 1fe: 70 72 - 200: 6f 63 73 00 jal t1, 223238 - 204: 5f 5f 72 65 - 208: 67 69 73 74 - 20c: 65 72 - 20e: 5f 65 78 69 - 212: 74 70 - 214: 72 6f - 216: 63 00 5f 5f beq t5, s5, 1504 - 21a: 42 53 - 21c: 53 5f 45 4e - 220: 44 5f - 222: 5f 00 5f 5f - 226: 62 73 - 228: 73 5f 73 74 csrrwi t5, 1863, 6 - 22c: 61 72 - 22e: 74 00 - 230: 6d 65 - 232: 6d 73 - 234: 65 74 - 236: 00 6d - 238: 61 69 - 23a: 6e 00 - 23c: 61 74 - 23e: 65 78 - 240: 69 74 - 242: 00 5f - 244: 5f 44 41 54 - 248: 41 5f - 24a: 42 45 - 24c: 47 49 4e 5f - 250: 5f 00 5f 70 - 254: 6f 63 6c 5f jal t1, 812534 - 258: 6b 65 72 6e - 25c: 65 6c - 25e: 5f 46 61 6e - 262: 31 5f - 264: 77 6f 72 6b - 268: 67 72 6f 75 - 26c: 70 5f - 26e: 66 61 - 270: 73 74 00 5f csrrci s0, 1520, 0 - 274: 65 64 - 276: 61 74 - 278: 61 00 - 27a: 76 78 - 27c: 5f 70 65 72 - 280: 66 5f - 282: 64 75 - 284: 6d 70 - 286: 00 5f - 288: 65 78 - 28a: 69 74 - 28c: 00 76 - 28e: 78 5f - 290: 73 70 61 77 csrci 1910, 2 - 294: 6e 5f - 296: 6b 65 72 6e - 29a: 65 6c - 29c: 00 + 19c: 70 6f + 19e: 69 6e + 1a0: 74 65 + 1a2: 72 00 + 1a4: 5f 67 6c 6f + 1a8: 62 61 + 1aa: 6c 5f + 1ac: 69 6d + 1ae: 70 75 + 1b0: 72 65 + 1b2: 5f 70 74 72 + 1b6: 00 5f + 1b8: 5f 6c 69 62 + 1bc: 63 5f 69 6e bge s2, t1, 1790 + 1c0: 69 74 + 1c2: 5f 61 72 72 + 1c6: 61 79 + 1c8: 00 5f + 1ca: 5f 6c 69 62 + 1ce: 63 5f 66 69 bge a2, s6, 1694 + 1d2: 6e 69 + 1d4: 5f 61 72 72 + 1d8: 61 79 + 1da: 00 5f + 1dc: 70 6f + 1de: 63 6c 5f 6b bltu t5, s5, 1720 + 1e2: 65 72 + 1e4: 6e 65 + 1e6: 6c 5f + 1e8: 46 61 + 1ea: 6e 31 + 1ec: 00 76 + 1ee: 78 5f + 1f0: 73 65 74 5f csrrsi a0, 1527, 8 + 1f4: 73 70 00 5f csrci 1520, 0 + 1f8: 5f 63 61 6c + 1fc: 6c 5f + 1fe: 65 78 + 200: 69 74 + 202: 70 72 + 204: 6f 63 73 00 jal t1, 223238 + 208: 5f 5f 72 65 + 20c: 67 69 73 74 + 210: 65 72 + 212: 5f 65 78 69 + 216: 74 70 + 218: 72 6f + 21a: 63 00 5f 5f beq t5, s5, 1504 + 21e: 42 53 + 220: 53 5f 45 4e + 224: 44 5f + 226: 5f 00 5f 5f + 22a: 62 73 + 22c: 73 5f 73 74 csrrwi t5, 1863, 6 + 230: 61 72 + 232: 74 00 + 234: 6d 65 + 236: 6d 73 + 238: 65 74 + 23a: 00 6d + 23c: 61 69 + 23e: 6e 00 + 240: 61 74 + 242: 65 78 + 244: 69 74 + 246: 00 5f + 248: 5f 44 41 54 + 24c: 41 5f + 24e: 42 45 + 250: 47 49 4e 5f + 254: 5f 00 5f 70 + 258: 6f 63 6c 5f jal t1, 812534 + 25c: 6b 65 72 6e + 260: 65 6c + 262: 5f 46 61 6e + 266: 31 5f + 268: 77 6f 72 6b + 26c: 67 72 6f 75 + 270: 70 5f + 272: 66 61 + 274: 73 74 00 5f csrrci s0, 1520, 0 + 278: 65 64 + 27a: 61 74 + 27c: 61 00 + 27e: 76 78 + 280: 5f 70 65 72 + 284: 66 5f + 286: 64 75 + 288: 6d 70 + 28a: 00 5f + 28c: 65 78 + 28e: 69 74 + 290: 00 76 + 292: 78 5f + 294: 73 70 61 77 csrci 1910, 2 + 298: 6e 5f + 29a: 6b 65 72 6e + 29e: 65 6c + 2a0: 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/guassian/Fan2.dump b/tests/opencl/guassian/Fan2.dump index cf530fe8..6d05d6c1 100644 --- a/tests/opencl/guassian/Fan2.dump +++ b/tests/opencl/guassian/Fan2.dump @@ -1,39 +1,39 @@ -/tmp/pocl_vortex_kernel-54-45-d2-99-6d.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-17-22-66-13-bf.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 45 67 addi a1, a1, 1652 +80000004: 93 85 05 68 addi a1, a1, 1664 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 40 66 jal 1636 +80000010: ef 00 00 67 jal 1648 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 25 00 00 auipc a0, 2 -80000020: 13 05 85 42 addi a0, a0, 1064 +80000020: 13 05 05 43 addi a0, a0, 1072 80000024: 17 26 00 00 auipc a2, 2 -80000028: 13 06 06 4a addi a2, a2, 1184 +80000028: 13 06 86 4a addi a2, a2, 1192 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 50 54 jal 3396 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 85 c4 addi a0, a0, -952 -80000040: ef 00 90 3f jal 3064 -80000044: ef 00 90 49 jal 3224 +80000034: ef 00 90 54 jal 3400 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 85 71 addi a0, a0, 1816 +80000040: ef 00 50 4f jal 3316 +80000044: ef 00 00 67 jal 1648 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 10 40 j 3072 +8000004c: 6f 00 d0 4f j 3324 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 05 c8 addi a0, a0, -896 -80000060: 6f 00 90 3d j 3032 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 05 75 addi a0, a0, 1872 +80000060: 6f 00 50 4d j 3284 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 40 77 jal 1908 +80000084: ef 00 10 07 jal 2160 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -429,690 +429,693 @@ Disassembly of section .text: 80000664: 67 80 00 00 ret 80000668 _exit: -80000668: ef 00 c0 3b jal 956 -8000066c: 13 05 00 00 mv a0, zero -80000670: 6b 00 05 00 +80000668: 63 06 05 00 beqz a0, 12 +8000066c: 93 01 05 00 mv gp, a0 +80000670: 73 00 00 00 ecall -80000674 vx_set_sp: -80000674: 73 25 00 fc csrr a0, 4032 -80000678: 6b 00 05 00 -8000067c: 97 21 00 00 auipc gp, 2 -80000680: 93 81 c1 19 addi gp, gp, 412 -80000684: 17 01 00 7f auipc sp, 520192 -80000688: 13 01 c1 97 addi sp, sp, -1668 -8000068c: 93 05 00 40 addi a1, zero, 1024 -80000690: 73 26 10 cc csrr a2, 3265 -80000694: b3 85 c5 02 mul a1, a1, a2 -80000698: 33 01 b1 40 sub sp, sp, a1 -8000069c: f3 26 30 cc csrr a3, 3267 -800006a0: 63 86 06 00 beqz a3, 12 -800006a4: 13 05 00 00 mv a0, zero -800006a8: 6b 00 05 00 +80000674 label_exit_next: +80000674: ef 00 c0 4a jal 1196 +80000678: 13 05 00 00 mv a0, zero +8000067c: 6b 00 05 00 -800006ac RETURN: -800006ac: 67 80 00 00 ret +80000680 vx_set_sp: +80000680: 13 05 f0 ff addi a0, zero, -1 +80000684: 6b 00 05 00 +80000688: 97 21 00 00 auipc gp, 2 +8000068c: 93 81 81 19 addi gp, gp, 408 +80000690: 37 01 00 ff lui sp, 1044480 +80000694: 73 26 10 cc csrr a2, 3265 +80000698: 93 15 a6 00 slli a1, a2, 10 +8000069c: 33 01 b1 40 sub sp, sp, a1 +800006a0: f3 26 30 cc csrr a3, 3267 +800006a4: 63 86 06 00 beqz a3, 12 +800006a8: 13 05 00 00 mv a0, zero +800006ac: 6b 00 05 00 -800006b0 spawn_kernel_callback: -800006b0: 13 01 01 fe addi sp, sp, -32 -800006b4: 23 2e 11 00 sw ra, 28(sp) -800006b8: 23 2c 81 00 sw s0, 24(sp) -800006bc: 23 2a 91 00 sw s1, 20(sp) -800006c0: 23 28 21 01 sw s2, 16(sp) -800006c4: 23 26 31 01 sw s3, 12(sp) -800006c8: 23 24 41 01 sw s4, 8(sp) -800006cc: 23 22 51 01 sw s5, 4(sp) -800006d0: f3 27 00 fc csrr a5, 4032 -800006d4: 6b 80 07 00 -800006d8: f3 26 50 cc csrr a3, 3269 -800006dc: 73 29 30 cc csrr s2, 3267 -800006e0: 73 27 00 cc csrr a4, 3264 -800006e4: 73 26 00 fc csrr a2, 4032 -800006e8: b7 27 00 80 lui a5, 524290 -800006ec: 93 96 26 00 slli a3, a3, 2 -800006f0: 93 87 47 44 addi a5, a5, 1092 -800006f4: b3 87 d7 00 add a5, a5, a3 -800006f8: 03 a4 07 00 lw s0, 0(a5) -800006fc: 83 24 44 01 lw s1, 20(s0) -80000700: 83 26 04 01 lw a3, 16(s0) -80000704: b3 2a 99 00 slt s5, s2, s1 -80000708: 93 87 04 00 mv a5, s1 -8000070c: b3 8a da 00 add s5, s5, a3 -80000710: b3 84 26 03 mul s1, a3, s2 -80000714: 63 54 f9 00 bge s2, a5, 8 -80000718: 93 07 09 00 mv a5, s2 -8000071c: b3 84 f4 00 add s1, s1, a5 -80000720: 83 25 04 00 lw a1, 0(s0) -80000724: 83 26 c4 00 lw a3, 12(s0) -80000728: 83 a9 05 00 lw s3, 0(a1) -8000072c: 03 aa 45 00 lw s4, 4(a1) -80000730: b3 84 c4 02 mul s1, s1, a2 -80000734: b3 87 ea 02 mul a5, s5, a4 -80000738: b3 84 d4 00 add s1, s1, a3 -8000073c: b3 84 f4 00 add s1, s1, a5 -80000740: b3 8a 9a 00 add s5, s5, s1 -80000744: 33 8a 49 03 mul s4, s3, s4 -80000748: 63 c0 54 07 blt s1, s5, 96 -8000074c: 6f 00 00 08 j 128 -80000750: 03 47 a4 01 lbu a4, 26(s0) -80000754: 83 46 94 01 lbu a3, 25(s0) -80000758: 33 d7 e4 40 sra a4, s1, a4 -8000075c: b3 07 47 03 mul a5, a4, s4 -80000760: b3 87 f4 40 sub a5, s1, a5 -80000764: 63 80 06 06 beqz a3, 96 -80000768: 83 46 b4 01 lbu a3, 27(s0) -8000076c: b3 d6 d7 40 sra a3, a5, a3 -80000770: b3 88 36 03 mul a7, a3, s3 -80000774: 03 ae 45 01 lw t3, 20(a1) -80000778: 03 a3 05 01 lw t1, 16(a1) -8000077c: 03 a6 c5 00 lw a2, 12(a1) -80000780: 03 28 44 00 lw a6, 4(s0) -80000784: 03 25 84 00 lw a0, 8(s0) -80000788: 93 84 14 00 addi s1, s1, 1 -8000078c: 33 07 c7 01 add a4, a4, t3 -80000790: b3 86 66 00 add a3, a3, t1 -80000794: b3 87 17 41 sub a5, a5, a7 -80000798: 33 86 c7 00 add a2, a5, a2 -8000079c: e7 00 08 00 jalr a6 -800007a0: 63 86 9a 02 beq s5, s1, 44 -800007a4: 83 25 04 00 lw a1, 0(s0) -800007a8: 83 47 84 01 lbu a5, 24(s0) -800007ac: e3 92 07 fa bnez a5, -92 -800007b0: 33 c7 44 03 div a4, s1, s4 -800007b4: 83 46 94 01 lbu a3, 25(s0) -800007b8: b3 07 47 03 mul a5, a4, s4 -800007bc: b3 87 f4 40 sub a5, s1, a5 -800007c0: e3 94 06 fa bnez a3, -88 -800007c4: b3 c6 37 03 div a3, a5, s3 -800007c8: 6f f0 9f fa j -88 -800007cc: 13 39 19 00 seqz s2, s2 -800007d0: 6b 00 09 00 -800007d4: 83 20 c1 01 lw ra, 28(sp) -800007d8: 03 24 81 01 lw s0, 24(sp) -800007dc: 83 24 41 01 lw s1, 20(sp) -800007e0: 03 29 01 01 lw s2, 16(sp) -800007e4: 83 29 c1 00 lw s3, 12(sp) -800007e8: 03 2a 81 00 lw s4, 8(sp) -800007ec: 83 2a 41 00 lw s5, 4(sp) -800007f0: 13 01 01 02 addi sp, sp, 32 -800007f4: 67 80 00 00 ret +800006b0 RETURN: +800006b0: 67 80 00 00 ret -800007f8 vx_spawn_kernel: -800007f8: 13 01 01 fc addi sp, sp, -64 -800007fc: 23 2e 11 02 sw ra, 60(sp) -80000800: 23 2c 81 02 sw s0, 56(sp) -80000804: 23 2a 91 02 sw s1, 52(sp) -80000808: 23 28 21 03 sw s2, 48(sp) -8000080c: 23 26 31 03 sw s3, 44(sp) -80000810: f3 28 20 fc csrr a7, 4034 -80000814: 73 23 10 fc csrr t1, 4033 -80000818: 73 24 00 fc csrr s0, 4032 -8000081c: f3 27 50 cc csrr a5, 3269 -80000820: 13 07 f0 01 addi a4, zero, 31 -80000824: 63 46 f7 0e blt a4, a5, 236 -80000828: 03 2e 05 00 lw t3, 0(a0) -8000082c: 83 26 45 00 lw a3, 4(a0) -80000830: 03 28 85 00 lw a6, 8(a0) -80000834: b3 0e 83 02 mul t4, t1, s0 -80000838: 13 07 10 00 addi a4, zero, 1 -8000083c: b3 06 de 02 mul a3, t3, a3 -80000840: 33 88 06 03 mul a6, a3, a6 -80000844: 63 d4 0e 01 bge t4, a6, 8 -80000848: 33 47 d8 03 div a4, a6, t4 -8000084c: 63 c0 e8 0e blt a7, a4, 224 -80000850: 63 d0 e7 0c bge a5, a4, 192 -80000854: 93 88 f8 ff addi a7, a7, -1 -80000858: b3 4e e8 02 div t4, a6, a4 -8000085c: 93 84 0e 00 mv s1, t4 -80000860: 63 96 f8 00 bne a7, a5, 12 -80000864: 33 67 e8 02 rem a4, a6, a4 -80000868: b3 04 d7 01 add s1, a4, t4 -8000086c: 33 c9 84 02 div s2, s1, s0 -80000870: b3 e4 84 02 rem s1, s1, s0 -80000874: 63 42 69 0c blt s2, t1, 196 -80000878: 93 02 10 00 addi t0, zero, 1 -8000087c: 33 48 69 02 div a6, s2, t1 -80000880: 63 06 08 00 beqz a6, 12 -80000884: 93 02 08 00 mv t0, a6 -80000888: 33 68 69 02 rem a6, s2, t1 -8000088c: d3 f7 06 d0 fcvt.s.w fa5, a3 -80000890: 93 8f f6 ff addi t6, a3, -1 -80000894: 13 0f fe ff addi t5, t3, -1 -80000898: b7 29 00 80 lui s3, 524290 -8000089c: b3 f6 df 00 and a3, t6, a3 -800008a0: 93 89 49 44 addi s3, s3, 1092 -800008a4: 93 b6 16 00 seqz a3, a3 -800008a8: 23 22 a1 00 sw a0, 4(sp) -800008ac: 23 24 b1 00 sw a1, 8(sp) -800008b0: 23 26 c1 00 sw a2, 12(sp) -800008b4: 23 2a 51 00 sw t0, 20(sp) -800008b8: 23 2c 01 01 sw a6, 24(sp) -800008bc: 23 0e d1 00 sb a3, 28(sp) -800008c0: 33 87 fe 02 mul a4, t4, a5 -800008c4: d3 8e 07 e0 fmv.x.w t4, fa5 -800008c8: d3 77 0e d0 fcvt.s.w fa5, t3 -800008cc: 93 97 27 00 slli a5, a5, 2 -800008d0: 33 7e cf 01 and t3, t5, t3 -800008d4: d3 88 07 e0 fmv.x.w a7, fa5 -800008d8: 93 de 7e 41 srai t4, t4, 23 -800008dc: 13 3e 1e 00 seqz t3, t3 -800008e0: 93 d8 78 41 srai a7, a7, 23 -800008e4: 93 8e 1e f8 addi t4, t4, -127 -800008e8: 93 88 18 f8 addi a7, a7, -127 -800008ec: b3 87 f9 00 add a5, s3, a5 -800008f0: 23 28 e1 00 sw a4, 16(sp) -800008f4: 13 07 41 00 addi a4, sp, 4 -800008f8: a3 0e c1 01 sb t3, 29(sp) -800008fc: 23 0f d1 01 sb t4, 30(sp) -80000900: a3 0f 11 01 sb a7, 31(sp) -80000904: 23 a0 e7 00 sw a4, 0(a5) -80000908: 63 4e 20 03 bgtz s2, 60 -8000090c: 63 9c 04 04 bnez s1, 88 -80000910: 83 20 c1 03 lw ra, 60(sp) -80000914: 03 24 81 03 lw s0, 56(sp) -80000918: 83 24 41 03 lw s1, 52(sp) -8000091c: 03 29 01 03 lw s2, 48(sp) -80000920: 83 29 c1 02 lw s3, 44(sp) -80000924: 13 01 01 04 addi sp, sp, 64 -80000928: 67 80 00 00 ret -8000092c: 13 87 08 00 mv a4, a7 -80000930: e3 c2 e7 f2 blt a5, a4, -220 -80000934: 6f f0 df fd j -36 -80000938: 13 08 00 00 mv a6, zero -8000093c: 93 02 10 00 addi t0, zero, 1 -80000940: 6f f0 df f4 j -180 -80000944: 13 07 09 00 mv a4, s2 -80000948: 63 54 23 01 bge t1, s2, 8 -8000094c: 13 07 03 00 mv a4, t1 -80000950: b7 07 00 80 lui a5, 524288 -80000954: 93 87 07 6b addi a5, a5, 1712 -80000958: 6b 10 f7 00 -8000095c: ef f0 5f d5 jal -684 -80000960: e3 88 04 fa beqz s1, -80 -80000964: 33 04 89 02 mul s0, s2, s0 -80000968: 23 28 81 00 sw s0, 16(sp) -8000096c: 6b 80 04 00 -80000970: 73 27 50 cc csrr a4, 3269 -80000974: f3 27 20 cc csrr a5, 3266 -80000978: 13 17 27 00 slli a4, a4, 2 -8000097c: b3 89 e9 00 add s3, s3, a4 -80000980: 03 a5 09 00 lw a0, 0(s3) -80000984: 83 25 05 00 lw a1, 0(a0) -80000988: 83 26 c5 00 lw a3, 12(a0) -8000098c: 03 47 85 01 lbu a4, 24(a0) -80000990: 03 a8 05 00 lw a6, 0(a1) -80000994: 03 a6 45 00 lw a2, 4(a1) -80000998: b3 87 d7 00 add a5, a5, a3 -8000099c: 33 06 c8 02 mul a2, a6, a2 -800009a0: 63 0e 07 06 beqz a4, 124 -800009a4: 03 47 a5 01 lbu a4, 26(a0) -800009a8: 33 d7 e7 40 sra a4, a5, a4 -800009ac: 83 46 95 01 lbu a3, 25(a0) -800009b0: 33 06 e6 02 mul a2, a2, a4 -800009b4: b3 87 c7 40 sub a5, a5, a2 -800009b8: 63 8e 06 04 beqz a3, 92 -800009bc: 83 48 b5 01 lbu a7, 27(a0) -800009c0: b3 d8 17 41 sra a7, a5, a7 -800009c4: 33 08 18 03 mul a6, a6, a7 -800009c8: 03 ae 45 01 lw t3, 20(a1) -800009cc: 83 a6 05 01 lw a3, 16(a1) -800009d0: 03 a6 c5 00 lw a2, 12(a1) -800009d4: 03 23 45 00 lw t1, 4(a0) -800009d8: 03 25 85 00 lw a0, 8(a0) -800009dc: 33 07 c7 01 add a4, a4, t3 -800009e0: b3 86 d8 00 add a3, a7, a3 -800009e4: b3 87 07 41 sub a5, a5, a6 -800009e8: 33 86 c7 00 add a2, a5, a2 -800009ec: e7 00 03 00 jalr t1 -800009f0: 93 07 10 00 addi a5, zero, 1 -800009f4: 6b 80 07 00 -800009f8: 83 20 c1 03 lw ra, 60(sp) -800009fc: 03 24 81 03 lw s0, 56(sp) -80000a00: 83 24 41 03 lw s1, 52(sp) -80000a04: 03 29 01 03 lw s2, 48(sp) -80000a08: 83 29 c1 02 lw s3, 44(sp) -80000a0c: 13 01 01 04 addi sp, sp, 64 -80000a10: 67 80 00 00 ret -80000a14: b3 c8 07 03 div a7, a5, a6 -80000a18: 6f f0 df fa j -84 -80000a1c: 33 c7 c7 02 div a4, a5, a2 -80000a20: 6f f0 df f8 j -116 +800006b4 __libc_init_array: +800006b4: 13 01 01 ff addi sp, sp, -16 +800006b8: 23 24 81 00 sw s0, 8(sp) +800006bc: 23 20 21 01 sw s2, 0(sp) +800006c0: 37 24 00 80 lui s0, 524290 +800006c4: 37 29 00 80 lui s2, 524290 +800006c8: 93 07 84 01 addi a5, s0, 24 +800006cc: 13 09 89 01 addi s2, s2, 24 +800006d0: 33 09 f9 40 sub s2, s2, a5 +800006d4: 23 26 11 00 sw ra, 12(sp) +800006d8: 23 22 91 00 sw s1, 4(sp) +800006dc: 13 59 29 40 srai s2, s2, 2 +800006e0: 63 00 09 02 beqz s2, 32 +800006e4: 13 04 84 01 addi s0, s0, 24 +800006e8: 93 04 00 00 mv s1, zero +800006ec: 83 27 04 00 lw a5, 0(s0) +800006f0: 93 84 14 00 addi s1, s1, 1 +800006f4: 13 04 44 00 addi s0, s0, 4 +800006f8: e7 80 07 00 jalr a5 +800006fc: e3 18 99 fe bne s2, s1, -16 +80000700: 37 24 00 80 lui s0, 524290 +80000704: 37 29 00 80 lui s2, 524290 +80000708: 93 07 84 01 addi a5, s0, 24 +8000070c: 13 09 c9 01 addi s2, s2, 28 +80000710: 33 09 f9 40 sub s2, s2, a5 +80000714: 13 59 29 40 srai s2, s2, 2 +80000718: 63 00 09 02 beqz s2, 32 +8000071c: 13 04 84 01 addi s0, s0, 24 +80000720: 93 04 00 00 mv s1, zero +80000724: 83 27 04 00 lw a5, 0(s0) +80000728: 93 84 14 00 addi s1, s1, 1 +8000072c: 13 04 44 00 addi s0, s0, 4 +80000730: e7 80 07 00 jalr a5 +80000734: e3 18 99 fe bne s2, s1, -16 +80000738: 83 20 c1 00 lw ra, 12(sp) +8000073c: 03 24 81 00 lw s0, 8(sp) +80000740: 83 24 41 00 lw s1, 4(sp) +80000744: 03 29 01 00 lw s2, 0(sp) +80000748: 13 01 01 01 addi sp, sp, 16 +8000074c: 67 80 00 00 ret -80000a24 vx_perf_dump: -80000a24: f3 27 50 cc csrr a5, 3269 -80000a28: 37 07 ff 00 lui a4, 4080 -80000a2c: b3 87 e7 00 add a5, a5, a4 -80000a30: 93 97 87 00 slli a5, a5, 8 -80000a34: 73 27 00 b0 csrr a4, mcycle -80000a38: 23 a0 e7 00 sw a4, 0(a5) -80000a3c: 73 27 10 b0 csrr a4, 2817 -80000a40: 23 a2 e7 00 sw a4, 4(a5) -80000a44: 73 27 20 b0 csrr a4, minstret -80000a48: 23 a4 e7 00 sw a4, 8(a5) -80000a4c: 73 27 30 b0 csrr a4, mhpmcounter3 -80000a50: 23 a6 e7 00 sw a4, 12(a5) -80000a54: 73 27 40 b0 csrr a4, mhpmcounter4 -80000a58: 23 a8 e7 00 sw a4, 16(a5) -80000a5c: 73 27 50 b0 csrr a4, mhpmcounter5 -80000a60: 23 aa e7 00 sw a4, 20(a5) -80000a64: 73 27 60 b0 csrr a4, mhpmcounter6 -80000a68: 23 ac e7 00 sw a4, 24(a5) -80000a6c: 73 27 70 b0 csrr a4, mhpmcounter7 -80000a70: 23 ae e7 00 sw a4, 28(a5) -80000a74: 73 27 80 b0 csrr a4, mhpmcounter8 -80000a78: 23 a0 e7 02 sw a4, 32(a5) -80000a7c: 73 27 90 b0 csrr a4, mhpmcounter9 -80000a80: 23 a2 e7 02 sw a4, 36(a5) -80000a84: 73 27 a0 b0 csrr a4, mhpmcounter10 -80000a88: 23 a4 e7 02 sw a4, 40(a5) -80000a8c: 73 27 b0 b0 csrr a4, mhpmcounter11 -80000a90: 23 a6 e7 02 sw a4, 44(a5) -80000a94: 73 27 c0 b0 csrr a4, mhpmcounter12 -80000a98: 23 a8 e7 02 sw a4, 48(a5) -80000a9c: 73 27 d0 b0 csrr a4, mhpmcounter13 -80000aa0: 23 aa e7 02 sw a4, 52(a5) -80000aa4: 73 27 e0 b0 csrr a4, mhpmcounter14 -80000aa8: 23 ac e7 02 sw a4, 56(a5) -80000aac: 73 27 f0 b0 csrr a4, mhpmcounter15 -80000ab0: 23 ae e7 02 sw a4, 60(a5) -80000ab4: 73 27 00 b1 csrr a4, mhpmcounter16 -80000ab8: 23 a0 e7 04 sw a4, 64(a5) -80000abc: 73 27 10 b1 csrr a4, mhpmcounter17 -80000ac0: 23 a2 e7 04 sw a4, 68(a5) -80000ac4: 73 27 20 b1 csrr a4, mhpmcounter18 -80000ac8: 23 a4 e7 04 sw a4, 72(a5) -80000acc: 73 27 30 b1 csrr a4, mhpmcounter19 -80000ad0: 23 a6 e7 04 sw a4, 76(a5) -80000ad4: 73 27 40 b1 csrr a4, mhpmcounter20 -80000ad8: 23 a8 e7 04 sw a4, 80(a5) -80000adc: 73 27 50 b1 csrr a4, mhpmcounter21 -80000ae0: 23 aa e7 04 sw a4, 84(a5) -80000ae4: 73 27 60 b1 csrr a4, mhpmcounter22 -80000ae8: 23 ac e7 04 sw a4, 88(a5) -80000aec: 73 27 70 b1 csrr a4, mhpmcounter23 -80000af0: 23 ae e7 04 sw a4, 92(a5) -80000af4: 73 27 80 b1 csrr a4, mhpmcounter24 -80000af8: 23 a0 e7 06 sw a4, 96(a5) -80000afc: 73 27 90 b1 csrr a4, mhpmcounter25 -80000b00: 23 a2 e7 06 sw a4, 100(a5) -80000b04: 73 27 a0 b1 csrr a4, mhpmcounter26 -80000b08: 23 a4 e7 06 sw a4, 104(a5) -80000b0c: 73 27 b0 b1 csrr a4, mhpmcounter27 -80000b10: 23 a6 e7 06 sw a4, 108(a5) -80000b14: 73 27 c0 b1 csrr a4, mhpmcounter28 -80000b18: 23 a8 e7 06 sw a4, 112(a5) -80000b1c: 73 27 d0 b1 csrr a4, mhpmcounter29 -80000b20: 23 aa e7 06 sw a4, 116(a5) -80000b24: 73 27 e0 b1 csrr a4, mhpmcounter30 -80000b28: 23 ac e7 06 sw a4, 120(a5) -80000b2c: 73 27 f0 b1 csrr a4, mhpmcounter31 -80000b30: 23 ae e7 06 sw a4, 124(a5) -80000b34: 73 27 00 b8 csrr a4, mcycleh -80000b38: 23 a0 e7 08 sw a4, 128(a5) -80000b3c: 73 27 10 b8 csrr a4, 2945 -80000b40: 23 a2 e7 08 sw a4, 132(a5) -80000b44: 73 27 20 b8 csrr a4, minstreth -80000b48: 23 a4 e7 08 sw a4, 136(a5) -80000b4c: 73 27 30 b8 csrr a4, mhpmcounter3h -80000b50: 23 a6 e7 08 sw a4, 140(a5) -80000b54: 73 27 40 b8 csrr a4, mhpmcounter4h -80000b58: 23 a8 e7 08 sw a4, 144(a5) -80000b5c: 73 27 50 b8 csrr a4, mhpmcounter5h -80000b60: 23 aa e7 08 sw a4, 148(a5) -80000b64: 73 27 60 b8 csrr a4, mhpmcounter6h -80000b68: 23 ac e7 08 sw a4, 152(a5) -80000b6c: 73 27 70 b8 csrr a4, mhpmcounter7h -80000b70: 23 ae e7 08 sw a4, 156(a5) -80000b74: 73 27 80 b8 csrr a4, mhpmcounter8h -80000b78: 23 a0 e7 0a sw a4, 160(a5) -80000b7c: 73 27 90 b8 csrr a4, mhpmcounter9h -80000b80: 23 a2 e7 0a sw a4, 164(a5) -80000b84: 73 27 a0 b8 csrr a4, mhpmcounter10h -80000b88: 23 a4 e7 0a sw a4, 168(a5) -80000b8c: 73 27 b0 b8 csrr a4, mhpmcounter11h -80000b90: 23 a6 e7 0a sw a4, 172(a5) -80000b94: 73 27 c0 b8 csrr a4, mhpmcounter12h -80000b98: 23 a8 e7 0a sw a4, 176(a5) -80000b9c: 73 27 d0 b8 csrr a4, mhpmcounter13h -80000ba0: 23 aa e7 0a sw a4, 180(a5) -80000ba4: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000ba8: 23 ac e7 0a sw a4, 184(a5) -80000bac: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000bb0: 23 ae e7 0a sw a4, 188(a5) -80000bb4: 73 27 00 b9 csrr a4, mhpmcounter16h -80000bb8: 23 a0 e7 0c sw a4, 192(a5) -80000bbc: 73 27 10 b9 csrr a4, mhpmcounter17h -80000bc0: 23 a2 e7 0c sw a4, 196(a5) -80000bc4: 73 27 20 b9 csrr a4, mhpmcounter18h -80000bc8: 23 a4 e7 0c sw a4, 200(a5) -80000bcc: 73 27 30 b9 csrr a4, mhpmcounter19h -80000bd0: 23 a6 e7 0c sw a4, 204(a5) -80000bd4: 73 27 40 b9 csrr a4, mhpmcounter20h -80000bd8: 23 a8 e7 0c sw a4, 208(a5) -80000bdc: 73 27 50 b9 csrr a4, mhpmcounter21h -80000be0: 23 aa e7 0c sw a4, 212(a5) -80000be4: 73 27 60 b9 csrr a4, mhpmcounter22h -80000be8: 23 ac e7 0c sw a4, 216(a5) -80000bec: 73 27 70 b9 csrr a4, mhpmcounter23h -80000bf0: 23 ae e7 0c sw a4, 220(a5) -80000bf4: 73 27 80 b9 csrr a4, mhpmcounter24h -80000bf8: 23 a0 e7 0e sw a4, 224(a5) -80000bfc: 73 27 90 b9 csrr a4, mhpmcounter25h -80000c00: 23 a2 e7 0e sw a4, 228(a5) -80000c04: 73 27 a0 b9 csrr a4, mhpmcounter26h -80000c08: 23 a4 e7 0e sw a4, 232(a5) -80000c0c: 73 27 b0 b9 csrr a4, mhpmcounter27h -80000c10: 23 a6 e7 0e sw a4, 236(a5) -80000c14: 73 27 c0 b9 csrr a4, mhpmcounter28h -80000c18: 23 a8 e7 0e sw a4, 240(a5) -80000c1c: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000c20: 23 aa e7 0e sw a4, 244(a5) -80000c24: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000c28: 23 ac e7 0e sw a4, 248(a5) -80000c2c: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000c30: 23 ae e7 0e sw a4, 252(a5) -80000c34: 67 80 00 00 ret +80000750 __libc_fini_array: +80000750: 13 01 01 ff addi sp, sp, -16 +80000754: 23 24 81 00 sw s0, 8(sp) +80000758: b7 27 00 80 lui a5, 524290 +8000075c: 37 24 00 80 lui s0, 524290 +80000760: 13 04 c4 01 addi s0, s0, 28 +80000764: 93 87 c7 01 addi a5, a5, 28 +80000768: b3 87 87 40 sub a5, a5, s0 +8000076c: 23 22 91 00 sw s1, 4(sp) +80000770: 23 26 11 00 sw ra, 12(sp) +80000774: 93 d4 27 40 srai s1, a5, 2 +80000778: 63 80 04 02 beqz s1, 32 +8000077c: 93 87 c7 ff addi a5, a5, -4 +80000780: 33 84 87 00 add s0, a5, s0 +80000784: 83 27 04 00 lw a5, 0(s0) +80000788: 93 84 f4 ff addi s1, s1, -1 +8000078c: 13 04 c4 ff addi s0, s0, -4 +80000790: e7 80 07 00 jalr a5 +80000794: e3 98 04 fe bnez s1, -16 +80000798: 83 20 c1 00 lw ra, 12(sp) +8000079c: 03 24 81 00 lw s0, 8(sp) +800007a0: 83 24 41 00 lw s1, 4(sp) +800007a4: 13 01 01 01 addi sp, sp, 16 +800007a8: 67 80 00 00 ret -80000c38 atexit: -80000c38: 93 05 05 00 mv a1, a0 -80000c3c: 93 06 00 00 mv a3, zero -80000c40: 13 06 00 00 mv a2, zero -80000c44: 13 05 00 00 mv a0, zero -80000c48: 6f 00 c0 20 j 524 +800007ac spawn_kernel_callback: +800007ac: 13 01 01 fe addi sp, sp, -32 +800007b0: 23 2e 11 00 sw ra, 28(sp) +800007b4: 23 2c 81 00 sw s0, 24(sp) +800007b8: 23 2a 91 00 sw s1, 20(sp) +800007bc: 23 28 21 01 sw s2, 16(sp) +800007c0: 23 26 31 01 sw s3, 12(sp) +800007c4: 23 24 41 01 sw s4, 8(sp) +800007c8: 23 22 51 01 sw s5, 4(sp) +800007cc: 93 07 f0 ff addi a5, zero, -1 +800007d0: 6b 80 07 00 +800007d4: f3 26 50 cc csrr a3, 3269 +800007d8: 73 29 30 cc csrr s2, 3267 +800007dc: 73 27 00 cc csrr a4, 3264 +800007e0: 73 26 00 fc csrr a2, 4032 +800007e4: b7 27 00 80 lui a5, 524290 +800007e8: 93 96 26 00 slli a3, a3, 2 +800007ec: 93 87 c7 44 addi a5, a5, 1100 +800007f0: b3 87 d7 00 add a5, a5, a3 +800007f4: 03 a4 07 00 lw s0, 0(a5) +800007f8: 83 24 44 01 lw s1, 20(s0) +800007fc: 83 26 04 01 lw a3, 16(s0) +80000800: b3 2a 99 00 slt s5, s2, s1 +80000804: 93 87 04 00 mv a5, s1 +80000808: b3 8a da 00 add s5, s5, a3 +8000080c: b3 84 26 03 mul s1, a3, s2 +80000810: 63 54 f9 00 bge s2, a5, 8 +80000814: 93 07 09 00 mv a5, s2 +80000818: b3 84 f4 00 add s1, s1, a5 +8000081c: 83 25 04 00 lw a1, 0(s0) +80000820: 83 26 c4 00 lw a3, 12(s0) +80000824: 83 a9 05 00 lw s3, 0(a1) +80000828: 03 aa 45 00 lw s4, 4(a1) +8000082c: b3 84 c4 02 mul s1, s1, a2 +80000830: b3 87 ea 02 mul a5, s5, a4 +80000834: b3 84 d4 00 add s1, s1, a3 +80000838: b3 84 f4 00 add s1, s1, a5 +8000083c: b3 8a 9a 00 add s5, s5, s1 +80000840: 33 8a 49 03 mul s4, s3, s4 +80000844: 63 c0 54 07 blt s1, s5, 96 +80000848: 6f 00 00 08 j 128 +8000084c: 03 47 a4 01 lbu a4, 26(s0) +80000850: 83 46 94 01 lbu a3, 25(s0) +80000854: 33 d7 e4 40 sra a4, s1, a4 +80000858: b3 07 47 03 mul a5, a4, s4 +8000085c: b3 87 f4 40 sub a5, s1, a5 +80000860: 63 80 06 06 beqz a3, 96 +80000864: 83 46 b4 01 lbu a3, 27(s0) +80000868: b3 d6 d7 40 sra a3, a5, a3 +8000086c: b3 88 36 03 mul a7, a3, s3 +80000870: 03 ae 45 01 lw t3, 20(a1) +80000874: 03 a3 05 01 lw t1, 16(a1) +80000878: 03 a6 c5 00 lw a2, 12(a1) +8000087c: 03 28 44 00 lw a6, 4(s0) +80000880: 03 25 84 00 lw a0, 8(s0) +80000884: 93 84 14 00 addi s1, s1, 1 +80000888: 33 07 c7 01 add a4, a4, t3 +8000088c: b3 86 66 00 add a3, a3, t1 +80000890: b3 87 17 41 sub a5, a5, a7 +80000894: 33 86 c7 00 add a2, a5, a2 +80000898: e7 00 08 00 jalr a6 +8000089c: 63 86 9a 02 beq s5, s1, 44 +800008a0: 83 25 04 00 lw a1, 0(s0) +800008a4: 83 47 84 01 lbu a5, 24(s0) +800008a8: e3 92 07 fa bnez a5, -92 +800008ac: 33 c7 44 03 div a4, s1, s4 +800008b0: 83 46 94 01 lbu a3, 25(s0) +800008b4: b3 07 47 03 mul a5, a4, s4 +800008b8: b3 87 f4 40 sub a5, s1, a5 +800008bc: e3 94 06 fa bnez a3, -88 +800008c0: b3 c6 37 03 div a3, a5, s3 +800008c4: 6f f0 9f fa j -88 +800008c8: 13 39 19 00 seqz s2, s2 +800008cc: 6b 00 09 00 +800008d0: 83 20 c1 01 lw ra, 28(sp) +800008d4: 03 24 81 01 lw s0, 24(sp) +800008d8: 83 24 41 01 lw s1, 20(sp) +800008dc: 03 29 01 01 lw s2, 16(sp) +800008e0: 83 29 c1 00 lw s3, 12(sp) +800008e4: 03 2a 81 00 lw s4, 8(sp) +800008e8: 83 2a 41 00 lw s5, 4(sp) +800008ec: 13 01 01 02 addi sp, sp, 32 +800008f0: 67 80 00 00 ret -80000c4c exit: -80000c4c: 13 01 01 ff addi sp, sp, -16 -80000c50: 93 05 00 00 mv a1, zero -80000c54: 23 24 81 00 sw s0, 8(sp) -80000c58: 23 26 11 00 sw ra, 12(sp) -80000c5c: 13 04 05 00 mv s0, a0 -80000c60: ef 00 00 29 jal 656 -80000c64: b7 27 00 80 lui a5, 524290 -80000c68: 03 a5 07 44 lw a0, 1088(a5) -80000c6c: 83 27 c5 03 lw a5, 60(a0) -80000c70: 63 84 07 00 beqz a5, 8 -80000c74: e7 80 07 00 jalr a5 -80000c78: 13 05 04 00 mv a0, s0 -80000c7c: ef f0 df 9e jal -1556 +800008f4 vx_spawn_kernel: +800008f4: 13 01 01 fc addi sp, sp, -64 +800008f8: 23 2e 11 02 sw ra, 60(sp) +800008fc: 23 2c 81 02 sw s0, 56(sp) +80000900: 23 2a 91 02 sw s1, 52(sp) +80000904: 23 28 21 03 sw s2, 48(sp) +80000908: 23 26 31 03 sw s3, 44(sp) +8000090c: f3 28 20 fc csrr a7, 4034 +80000910: 73 23 10 fc csrr t1, 4033 +80000914: 73 24 00 fc csrr s0, 4032 +80000918: f3 27 50 cc csrr a5, 3269 +8000091c: 13 07 f0 01 addi a4, zero, 31 +80000920: 63 46 f7 0e blt a4, a5, 236 +80000924: 03 2e 05 00 lw t3, 0(a0) +80000928: 83 26 45 00 lw a3, 4(a0) +8000092c: 03 28 85 00 lw a6, 8(a0) +80000930: b3 0e 83 02 mul t4, t1, s0 +80000934: 13 07 10 00 addi a4, zero, 1 +80000938: b3 06 de 02 mul a3, t3, a3 +8000093c: 33 88 06 03 mul a6, a3, a6 +80000940: 63 d4 0e 01 bge t4, a6, 8 +80000944: 33 47 d8 03 div a4, a6, t4 +80000948: 63 c0 e8 0e blt a7, a4, 224 +8000094c: 63 d0 e7 0c bge a5, a4, 192 +80000950: 93 88 f8 ff addi a7, a7, -1 +80000954: b3 4e e8 02 div t4, a6, a4 +80000958: 93 84 0e 00 mv s1, t4 +8000095c: 63 96 f8 00 bne a7, a5, 12 +80000960: 33 67 e8 02 rem a4, a6, a4 +80000964: b3 04 d7 01 add s1, a4, t4 +80000968: 33 c9 84 02 div s2, s1, s0 +8000096c: b3 e4 84 02 rem s1, s1, s0 +80000970: 63 42 69 0c blt s2, t1, 196 +80000974: 93 02 10 00 addi t0, zero, 1 +80000978: 33 48 69 02 div a6, s2, t1 +8000097c: 63 06 08 00 beqz a6, 12 +80000980: 93 02 08 00 mv t0, a6 +80000984: 33 68 69 02 rem a6, s2, t1 +80000988: d3 f7 06 d0 fcvt.s.w fa5, a3 +8000098c: 93 8f f6 ff addi t6, a3, -1 +80000990: 13 0f fe ff addi t5, t3, -1 +80000994: b7 29 00 80 lui s3, 524290 +80000998: b3 f6 df 00 and a3, t6, a3 +8000099c: 93 89 c9 44 addi s3, s3, 1100 +800009a0: 93 b6 16 00 seqz a3, a3 +800009a4: 23 22 a1 00 sw a0, 4(sp) +800009a8: 23 24 b1 00 sw a1, 8(sp) +800009ac: 23 26 c1 00 sw a2, 12(sp) +800009b0: 23 2a 51 00 sw t0, 20(sp) +800009b4: 23 2c 01 01 sw a6, 24(sp) +800009b8: 23 0e d1 00 sb a3, 28(sp) +800009bc: 33 87 fe 02 mul a4, t4, a5 +800009c0: d3 8e 07 e0 fmv.x.w t4, fa5 +800009c4: d3 77 0e d0 fcvt.s.w fa5, t3 +800009c8: 93 97 27 00 slli a5, a5, 2 +800009cc: 33 7e cf 01 and t3, t5, t3 +800009d0: d3 88 07 e0 fmv.x.w a7, fa5 +800009d4: 93 de 7e 41 srai t4, t4, 23 +800009d8: 13 3e 1e 00 seqz t3, t3 +800009dc: 93 d8 78 41 srai a7, a7, 23 +800009e0: 93 8e 1e f8 addi t4, t4, -127 +800009e4: 93 88 18 f8 addi a7, a7, -127 +800009e8: b3 87 f9 00 add a5, s3, a5 +800009ec: 23 28 e1 00 sw a4, 16(sp) +800009f0: 13 07 41 00 addi a4, sp, 4 +800009f4: a3 0e c1 01 sb t3, 29(sp) +800009f8: 23 0f d1 01 sb t4, 30(sp) +800009fc: a3 0f 11 01 sb a7, 31(sp) +80000a00: 23 a0 e7 00 sw a4, 0(a5) +80000a04: 63 4e 20 03 bgtz s2, 60 +80000a08: 63 9c 04 04 bnez s1, 88 +80000a0c: 83 20 c1 03 lw ra, 60(sp) +80000a10: 03 24 81 03 lw s0, 56(sp) +80000a14: 83 24 41 03 lw s1, 52(sp) +80000a18: 03 29 01 03 lw s2, 48(sp) +80000a1c: 83 29 c1 02 lw s3, 44(sp) +80000a20: 13 01 01 04 addi sp, sp, 64 +80000a24: 67 80 00 00 ret +80000a28: 13 87 08 00 mv a4, a7 +80000a2c: e3 c2 e7 f2 blt a5, a4, -220 +80000a30: 6f f0 df fd j -36 +80000a34: 13 08 00 00 mv a6, zero +80000a38: 93 02 10 00 addi t0, zero, 1 +80000a3c: 6f f0 df f4 j -180 +80000a40: 13 07 09 00 mv a4, s2 +80000a44: 63 54 23 01 bge t1, s2, 8 +80000a48: 13 07 03 00 mv a4, t1 +80000a4c: b7 07 00 80 lui a5, 524288 +80000a50: 93 87 c7 7a addi a5, a5, 1964 +80000a54: 6b 10 f7 00 +80000a58: ef f0 5f d5 jal -684 +80000a5c: e3 88 04 fa beqz s1, -80 +80000a60: 33 04 89 02 mul s0, s2, s0 +80000a64: 23 28 81 00 sw s0, 16(sp) +80000a68: 6b 80 04 00 +80000a6c: 73 27 50 cc csrr a4, 3269 +80000a70: f3 27 20 cc csrr a5, 3266 +80000a74: 13 17 27 00 slli a4, a4, 2 +80000a78: b3 89 e9 00 add s3, s3, a4 +80000a7c: 03 a5 09 00 lw a0, 0(s3) +80000a80: 83 25 05 00 lw a1, 0(a0) +80000a84: 83 26 c5 00 lw a3, 12(a0) +80000a88: 03 47 85 01 lbu a4, 24(a0) +80000a8c: 03 a8 05 00 lw a6, 0(a1) +80000a90: 03 a6 45 00 lw a2, 4(a1) +80000a94: b3 87 d7 00 add a5, a5, a3 +80000a98: 33 06 c8 02 mul a2, a6, a2 +80000a9c: 63 0e 07 06 beqz a4, 124 +80000aa0: 03 47 a5 01 lbu a4, 26(a0) +80000aa4: 33 d7 e7 40 sra a4, a5, a4 +80000aa8: 83 46 95 01 lbu a3, 25(a0) +80000aac: 33 06 e6 02 mul a2, a2, a4 +80000ab0: b3 87 c7 40 sub a5, a5, a2 +80000ab4: 63 8e 06 04 beqz a3, 92 +80000ab8: 83 48 b5 01 lbu a7, 27(a0) +80000abc: b3 d8 17 41 sra a7, a5, a7 +80000ac0: 33 08 18 03 mul a6, a6, a7 +80000ac4: 03 ae 45 01 lw t3, 20(a1) +80000ac8: 83 a6 05 01 lw a3, 16(a1) +80000acc: 03 a6 c5 00 lw a2, 12(a1) +80000ad0: 03 23 45 00 lw t1, 4(a0) +80000ad4: 03 25 85 00 lw a0, 8(a0) +80000ad8: 33 07 c7 01 add a4, a4, t3 +80000adc: b3 86 d8 00 add a3, a7, a3 +80000ae0: b3 87 07 41 sub a5, a5, a6 +80000ae4: 33 86 c7 00 add a2, a5, a2 +80000ae8: e7 00 03 00 jalr t1 +80000aec: 93 07 10 00 addi a5, zero, 1 +80000af0: 6b 80 07 00 +80000af4: 83 20 c1 03 lw ra, 60(sp) +80000af8: 03 24 81 03 lw s0, 56(sp) +80000afc: 83 24 41 03 lw s1, 52(sp) +80000b00: 03 29 01 03 lw s2, 48(sp) +80000b04: 83 29 c1 02 lw s3, 44(sp) +80000b08: 13 01 01 04 addi sp, sp, 64 +80000b0c: 67 80 00 00 ret +80000b10: b3 c8 07 03 div a7, a5, a6 +80000b14: 6f f0 df fa j -84 +80000b18: 33 c7 c7 02 div a4, a5, a2 +80000b1c: 6f f0 df f8 j -116 -80000c80 __libc_fini_array: -80000c80: 13 01 01 ff addi sp, sp, -16 -80000c84: 23 24 81 00 sw s0, 8(sp) -80000c88: b7 27 00 80 lui a5, 524290 -80000c8c: 37 24 00 80 lui s0, 524290 -80000c90: 13 04 84 01 addi s0, s0, 24 -80000c94: 93 87 87 01 addi a5, a5, 24 -80000c98: b3 87 87 40 sub a5, a5, s0 -80000c9c: 23 22 91 00 sw s1, 4(sp) -80000ca0: 23 26 11 00 sw ra, 12(sp) -80000ca4: 93 d4 27 40 srai s1, a5, 2 -80000ca8: 63 80 04 02 beqz s1, 32 -80000cac: 93 87 c7 ff addi a5, a5, -4 -80000cb0: 33 84 87 00 add s0, a5, s0 -80000cb4: 83 27 04 00 lw a5, 0(s0) -80000cb8: 93 84 f4 ff addi s1, s1, -1 -80000cbc: 13 04 c4 ff addi s0, s0, -4 -80000cc0: e7 80 07 00 jalr a5 -80000cc4: e3 98 04 fe bnez s1, -16 -80000cc8: 83 20 c1 00 lw ra, 12(sp) -80000ccc: 03 24 81 00 lw s0, 8(sp) -80000cd0: 83 24 41 00 lw s1, 4(sp) -80000cd4: 13 01 01 01 addi sp, sp, 16 -80000cd8: 67 80 00 00 ret +80000b20 vx_perf_dump: +80000b20: f3 27 50 cc csrr a5, 3269 +80000b24: 37 07 ff 00 lui a4, 4080 +80000b28: b3 87 e7 00 add a5, a5, a4 +80000b2c: 93 97 87 00 slli a5, a5, 8 +80000b30: 73 27 00 b0 csrr a4, mcycle +80000b34: 23 a0 e7 00 sw a4, 0(a5) +80000b38: 73 27 10 b0 csrr a4, 2817 +80000b3c: 23 a2 e7 00 sw a4, 4(a5) +80000b40: 73 27 20 b0 csrr a4, minstret +80000b44: 23 a4 e7 00 sw a4, 8(a5) +80000b48: 73 27 30 b0 csrr a4, mhpmcounter3 +80000b4c: 23 a6 e7 00 sw a4, 12(a5) +80000b50: 73 27 40 b0 csrr a4, mhpmcounter4 +80000b54: 23 a8 e7 00 sw a4, 16(a5) +80000b58: 73 27 50 b0 csrr a4, mhpmcounter5 +80000b5c: 23 aa e7 00 sw a4, 20(a5) +80000b60: 73 27 60 b0 csrr a4, mhpmcounter6 +80000b64: 23 ac e7 00 sw a4, 24(a5) +80000b68: 73 27 70 b0 csrr a4, mhpmcounter7 +80000b6c: 23 ae e7 00 sw a4, 28(a5) +80000b70: 73 27 80 b0 csrr a4, mhpmcounter8 +80000b74: 23 a0 e7 02 sw a4, 32(a5) +80000b78: 73 27 90 b0 csrr a4, mhpmcounter9 +80000b7c: 23 a2 e7 02 sw a4, 36(a5) +80000b80: 73 27 a0 b0 csrr a4, mhpmcounter10 +80000b84: 23 a4 e7 02 sw a4, 40(a5) +80000b88: 73 27 b0 b0 csrr a4, mhpmcounter11 +80000b8c: 23 a6 e7 02 sw a4, 44(a5) +80000b90: 73 27 c0 b0 csrr a4, mhpmcounter12 +80000b94: 23 a8 e7 02 sw a4, 48(a5) +80000b98: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000b9c: 23 aa e7 02 sw a4, 52(a5) +80000ba0: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000ba4: 23 ac e7 02 sw a4, 56(a5) +80000ba8: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000bac: 23 ae e7 02 sw a4, 60(a5) +80000bb0: 73 27 00 b1 csrr a4, mhpmcounter16 +80000bb4: 23 a0 e7 04 sw a4, 64(a5) +80000bb8: 73 27 10 b1 csrr a4, mhpmcounter17 +80000bbc: 23 a2 e7 04 sw a4, 68(a5) +80000bc0: 73 27 20 b1 csrr a4, mhpmcounter18 +80000bc4: 23 a4 e7 04 sw a4, 72(a5) +80000bc8: 73 27 30 b1 csrr a4, mhpmcounter19 +80000bcc: 23 a6 e7 04 sw a4, 76(a5) +80000bd0: 73 27 40 b1 csrr a4, mhpmcounter20 +80000bd4: 23 a8 e7 04 sw a4, 80(a5) +80000bd8: 73 27 50 b1 csrr a4, mhpmcounter21 +80000bdc: 23 aa e7 04 sw a4, 84(a5) +80000be0: 73 27 60 b1 csrr a4, mhpmcounter22 +80000be4: 23 ac e7 04 sw a4, 88(a5) +80000be8: 73 27 70 b1 csrr a4, mhpmcounter23 +80000bec: 23 ae e7 04 sw a4, 92(a5) +80000bf0: 73 27 80 b1 csrr a4, mhpmcounter24 +80000bf4: 23 a0 e7 06 sw a4, 96(a5) +80000bf8: 73 27 90 b1 csrr a4, mhpmcounter25 +80000bfc: 23 a2 e7 06 sw a4, 100(a5) +80000c00: 73 27 a0 b1 csrr a4, mhpmcounter26 +80000c04: 23 a4 e7 06 sw a4, 104(a5) +80000c08: 73 27 b0 b1 csrr a4, mhpmcounter27 +80000c0c: 23 a6 e7 06 sw a4, 108(a5) +80000c10: 73 27 c0 b1 csrr a4, mhpmcounter28 +80000c14: 23 a8 e7 06 sw a4, 112(a5) +80000c18: 73 27 d0 b1 csrr a4, mhpmcounter29 +80000c1c: 23 aa e7 06 sw a4, 116(a5) +80000c20: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000c24: 23 ac e7 06 sw a4, 120(a5) +80000c28: 73 27 f0 b1 csrr a4, mhpmcounter31 +80000c2c: 23 ae e7 06 sw a4, 124(a5) +80000c30: 73 27 00 b8 csrr a4, mcycleh +80000c34: 23 a0 e7 08 sw a4, 128(a5) +80000c38: 73 27 10 b8 csrr a4, 2945 +80000c3c: 23 a2 e7 08 sw a4, 132(a5) +80000c40: 73 27 20 b8 csrr a4, minstreth +80000c44: 23 a4 e7 08 sw a4, 136(a5) +80000c48: 73 27 30 b8 csrr a4, mhpmcounter3h +80000c4c: 23 a6 e7 08 sw a4, 140(a5) +80000c50: 73 27 40 b8 csrr a4, mhpmcounter4h +80000c54: 23 a8 e7 08 sw a4, 144(a5) +80000c58: 73 27 50 b8 csrr a4, mhpmcounter5h +80000c5c: 23 aa e7 08 sw a4, 148(a5) +80000c60: 73 27 60 b8 csrr a4, mhpmcounter6h +80000c64: 23 ac e7 08 sw a4, 152(a5) +80000c68: 73 27 70 b8 csrr a4, mhpmcounter7h +80000c6c: 23 ae e7 08 sw a4, 156(a5) +80000c70: 73 27 80 b8 csrr a4, mhpmcounter8h +80000c74: 23 a0 e7 0a sw a4, 160(a5) +80000c78: 73 27 90 b8 csrr a4, mhpmcounter9h +80000c7c: 23 a2 e7 0a sw a4, 164(a5) +80000c80: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000c84: 23 a4 e7 0a sw a4, 168(a5) +80000c88: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000c8c: 23 a6 e7 0a sw a4, 172(a5) +80000c90: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000c94: 23 a8 e7 0a sw a4, 176(a5) +80000c98: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000c9c: 23 aa e7 0a sw a4, 180(a5) +80000ca0: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000ca4: 23 ac e7 0a sw a4, 184(a5) +80000ca8: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000cac: 23 ae e7 0a sw a4, 188(a5) +80000cb0: 73 27 00 b9 csrr a4, mhpmcounter16h +80000cb4: 23 a0 e7 0c sw a4, 192(a5) +80000cb8: 73 27 10 b9 csrr a4, mhpmcounter17h +80000cbc: 23 a2 e7 0c sw a4, 196(a5) +80000cc0: 73 27 20 b9 csrr a4, mhpmcounter18h +80000cc4: 23 a4 e7 0c sw a4, 200(a5) +80000cc8: 73 27 30 b9 csrr a4, mhpmcounter19h +80000ccc: 23 a6 e7 0c sw a4, 204(a5) +80000cd0: 73 27 40 b9 csrr a4, mhpmcounter20h +80000cd4: 23 a8 e7 0c sw a4, 208(a5) +80000cd8: 73 27 50 b9 csrr a4, mhpmcounter21h +80000cdc: 23 aa e7 0c sw a4, 212(a5) +80000ce0: 73 27 60 b9 csrr a4, mhpmcounter22h +80000ce4: 23 ac e7 0c sw a4, 216(a5) +80000ce8: 73 27 70 b9 csrr a4, mhpmcounter23h +80000cec: 23 ae e7 0c sw a4, 220(a5) +80000cf0: 73 27 80 b9 csrr a4, mhpmcounter24h +80000cf4: 23 a0 e7 0e sw a4, 224(a5) +80000cf8: 73 27 90 b9 csrr a4, mhpmcounter25h +80000cfc: 23 a2 e7 0e sw a4, 228(a5) +80000d00: 73 27 a0 b9 csrr a4, mhpmcounter26h +80000d04: 23 a4 e7 0e sw a4, 232(a5) +80000d08: 73 27 b0 b9 csrr a4, mhpmcounter27h +80000d0c: 23 a6 e7 0e sw a4, 236(a5) +80000d10: 73 27 c0 b9 csrr a4, mhpmcounter28h +80000d14: 23 a8 e7 0e sw a4, 240(a5) +80000d18: 73 27 d0 b9 csrr a4, mhpmcounter29h +80000d1c: 23 aa e7 0e sw a4, 244(a5) +80000d20: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000d24: 23 ac e7 0e sw a4, 248(a5) +80000d28: 73 27 f0 b9 csrr a4, mhpmcounter31h +80000d2c: 23 ae e7 0e sw a4, 252(a5) +80000d30: 67 80 00 00 ret -80000cdc __libc_init_array: -80000cdc: 13 01 01 ff addi sp, sp, -16 -80000ce0: 23 24 81 00 sw s0, 8(sp) -80000ce4: 23 20 21 01 sw s2, 0(sp) -80000ce8: 37 24 00 80 lui s0, 524290 -80000cec: 37 29 00 80 lui s2, 524290 -80000cf0: 93 07 44 01 addi a5, s0, 20 -80000cf4: 13 09 49 01 addi s2, s2, 20 -80000cf8: 33 09 f9 40 sub s2, s2, a5 -80000cfc: 23 26 11 00 sw ra, 12(sp) -80000d00: 23 22 91 00 sw s1, 4(sp) -80000d04: 13 59 29 40 srai s2, s2, 2 -80000d08: 63 00 09 02 beqz s2, 32 -80000d0c: 13 04 44 01 addi s0, s0, 20 -80000d10: 93 04 00 00 mv s1, zero -80000d14: 83 27 04 00 lw a5, 0(s0) -80000d18: 93 84 14 00 addi s1, s1, 1 -80000d1c: 13 04 44 00 addi s0, s0, 4 -80000d20: e7 80 07 00 jalr a5 -80000d24: e3 18 99 fe bne s2, s1, -16 -80000d28: 37 24 00 80 lui s0, 524290 -80000d2c: 37 29 00 80 lui s2, 524290 -80000d30: 93 07 44 01 addi a5, s0, 20 -80000d34: 13 09 89 01 addi s2, s2, 24 -80000d38: 33 09 f9 40 sub s2, s2, a5 -80000d3c: 13 59 29 40 srai s2, s2, 2 -80000d40: 63 00 09 02 beqz s2, 32 -80000d44: 13 04 44 01 addi s0, s0, 20 -80000d48: 93 04 00 00 mv s1, zero -80000d4c: 83 27 04 00 lw a5, 0(s0) -80000d50: 93 84 14 00 addi s1, s1, 1 -80000d54: 13 04 44 00 addi s0, s0, 4 -80000d58: e7 80 07 00 jalr a5 -80000d5c: e3 18 99 fe bne s2, s1, -16 -80000d60: 83 20 c1 00 lw ra, 12(sp) -80000d64: 03 24 81 00 lw s0, 8(sp) -80000d68: 83 24 41 00 lw s1, 4(sp) -80000d6c: 03 29 01 00 lw s2, 0(sp) -80000d70: 13 01 01 01 addi sp, sp, 16 -80000d74: 67 80 00 00 ret +80000d34 atexit: +80000d34: 93 05 05 00 mv a1, a0 +80000d38: 93 06 00 00 mv a3, zero +80000d3c: 13 06 00 00 mv a2, zero +80000d40: 13 05 00 00 mv a0, zero +80000d44: 6f 00 40 11 j 276 -80000d78 memset: -80000d78: 13 03 f0 00 addi t1, zero, 15 -80000d7c: 13 07 05 00 mv a4, a0 -80000d80: 63 7e c3 02 bgeu t1, a2, 60 -80000d84: 93 77 f7 00 andi a5, a4, 15 -80000d88: 63 90 07 0a bnez a5, 160 -80000d8c: 63 92 05 08 bnez a1, 132 -80000d90: 93 76 06 ff andi a3, a2, -16 -80000d94: 13 76 f6 00 andi a2, a2, 15 -80000d98: b3 86 e6 00 add a3, a3, a4 -80000d9c: 23 20 b7 00 sw a1, 0(a4) -80000da0: 23 22 b7 00 sw a1, 4(a4) -80000da4: 23 24 b7 00 sw a1, 8(a4) -80000da8: 23 26 b7 00 sw a1, 12(a4) -80000dac: 13 07 07 01 addi a4, a4, 16 -80000db0: e3 66 d7 fe bltu a4, a3, -20 -80000db4: 63 14 06 00 bnez a2, 8 -80000db8: 67 80 00 00 ret -80000dbc: b3 06 c3 40 sub a3, t1, a2 -80000dc0: 93 96 26 00 slli a3, a3, 2 -80000dc4: 97 02 00 00 auipc t0, 0 -80000dc8: b3 86 56 00 add a3, a3, t0 -80000dcc: 67 80 c6 00 jr 12(a3) -80000dd0: 23 07 b7 00 sb a1, 14(a4) -80000dd4: a3 06 b7 00 sb a1, 13(a4) -80000dd8: 23 06 b7 00 sb a1, 12(a4) -80000ddc: a3 05 b7 00 sb a1, 11(a4) -80000de0: 23 05 b7 00 sb a1, 10(a4) -80000de4: a3 04 b7 00 sb a1, 9(a4) -80000de8: 23 04 b7 00 sb a1, 8(a4) -80000dec: a3 03 b7 00 sb a1, 7(a4) -80000df0: 23 03 b7 00 sb a1, 6(a4) -80000df4: a3 02 b7 00 sb a1, 5(a4) -80000df8: 23 02 b7 00 sb a1, 4(a4) -80000dfc: a3 01 b7 00 sb a1, 3(a4) -80000e00: 23 01 b7 00 sb a1, 2(a4) -80000e04: a3 00 b7 00 sb a1, 1(a4) -80000e08: 23 00 b7 00 sb a1, 0(a4) -80000e0c: 67 80 00 00 ret -80000e10: 93 f5 f5 0f andi a1, a1, 255 -80000e14: 93 96 85 00 slli a3, a1, 8 -80000e18: b3 e5 d5 00 or a1, a1, a3 -80000e1c: 93 96 05 01 slli a3, a1, 16 -80000e20: b3 e5 d5 00 or a1, a1, a3 -80000e24: 6f f0 df f6 j -148 -80000e28: 93 96 27 00 slli a3, a5, 2 -80000e2c: 97 02 00 00 auipc t0, 0 -80000e30: b3 86 56 00 add a3, a3, t0 -80000e34: 93 82 00 00 mv t0, ra -80000e38: e7 80 06 fa jalr -96(a3) -80000e3c: 93 80 02 00 mv ra, t0 -80000e40: 93 87 07 ff addi a5, a5, -16 -80000e44: 33 07 f7 40 sub a4, a4, a5 -80000e48: 33 06 f6 00 add a2, a2, a5 -80000e4c: e3 78 c3 f6 bgeu t1, a2, -144 -80000e50: 6f f0 df f3 j -196 +80000d48 exit: +80000d48: 13 01 01 ff addi sp, sp, -16 +80000d4c: 93 05 00 00 mv a1, zero +80000d50: 23 24 81 00 sw s0, 8(sp) +80000d54: 23 26 11 00 sw ra, 12(sp) +80000d58: 13 04 05 00 mv s0, a0 +80000d5c: ef 00 80 19 jal 408 +80000d60: b7 27 00 80 lui a5, 524290 +80000d64: 03 a5 87 44 lw a0, 1096(a5) +80000d68: 83 27 c5 03 lw a5, 60(a0) +80000d6c: 63 84 07 00 beqz a5, 8 +80000d70: e7 80 07 00 jalr a5 +80000d74: 13 05 04 00 mv a0, s0 +80000d78: ef f0 1f 8f jal -1808 -80000e54 __register_exitproc: -80000e54: b7 27 00 80 lui a5, 524290 -80000e58: 03 a7 07 44 lw a4, 1088(a5) -80000e5c: 83 27 87 14 lw a5, 328(a4) -80000e60: 63 8c 07 04 beqz a5, 88 -80000e64: 03 a7 47 00 lw a4, 4(a5) -80000e68: 13 08 f0 01 addi a6, zero, 31 -80000e6c: 63 4e e8 06 blt a6, a4, 124 -80000e70: 13 18 27 00 slli a6, a4, 2 -80000e74: 63 06 05 02 beqz a0, 44 -80000e78: 33 83 07 01 add t1, a5, a6 -80000e7c: 23 24 c3 08 sw a2, 136(t1) -80000e80: 83 a8 87 18 lw a7, 392(a5) -80000e84: 13 06 10 00 addi a2, zero, 1 -80000e88: 33 16 e6 00 sll a2, a2, a4 -80000e8c: b3 e8 c8 00 or a7, a7, a2 -80000e90: 23 a4 17 19 sw a7, 392(a5) -80000e94: 23 24 d3 10 sw a3, 264(t1) -80000e98: 93 06 20 00 addi a3, zero, 2 -80000e9c: 63 04 d5 02 beq a0, a3, 40 -80000ea0: 13 07 17 00 addi a4, a4, 1 -80000ea4: 23 a2 e7 00 sw a4, 4(a5) -80000ea8: b3 87 07 01 add a5, a5, a6 -80000eac: 23 a4 b7 00 sw a1, 8(a5) -80000eb0: 13 05 00 00 mv a0, zero -80000eb4: 67 80 00 00 ret -80000eb8: 93 07 c7 14 addi a5, a4, 332 -80000ebc: 23 24 f7 14 sw a5, 328(a4) -80000ec0: 6f f0 5f fa j -92 -80000ec4: 83 a6 c7 18 lw a3, 396(a5) -80000ec8: 13 07 17 00 addi a4, a4, 1 -80000ecc: 23 a2 e7 00 sw a4, 4(a5) -80000ed0: 33 e6 c6 00 or a2, a3, a2 -80000ed4: 23 a6 c7 18 sw a2, 396(a5) -80000ed8: b3 87 07 01 add a5, a5, a6 -80000edc: 23 a4 b7 00 sw a1, 8(a5) -80000ee0: 13 05 00 00 mv a0, zero -80000ee4: 67 80 00 00 ret -80000ee8: 13 05 f0 ff addi a0, zero, -1 -80000eec: 67 80 00 00 ret +80000d7c memset: +80000d7c: 13 03 f0 00 addi t1, zero, 15 +80000d80: 13 07 05 00 mv a4, a0 +80000d84: 63 7e c3 02 bgeu t1, a2, 60 +80000d88: 93 77 f7 00 andi a5, a4, 15 +80000d8c: 63 90 07 0a bnez a5, 160 +80000d90: 63 92 05 08 bnez a1, 132 +80000d94: 93 76 06 ff andi a3, a2, -16 +80000d98: 13 76 f6 00 andi a2, a2, 15 +80000d9c: b3 86 e6 00 add a3, a3, a4 +80000da0: 23 20 b7 00 sw a1, 0(a4) +80000da4: 23 22 b7 00 sw a1, 4(a4) +80000da8: 23 24 b7 00 sw a1, 8(a4) +80000dac: 23 26 b7 00 sw a1, 12(a4) +80000db0: 13 07 07 01 addi a4, a4, 16 +80000db4: e3 66 d7 fe bltu a4, a3, -20 +80000db8: 63 14 06 00 bnez a2, 8 +80000dbc: 67 80 00 00 ret +80000dc0: b3 06 c3 40 sub a3, t1, a2 +80000dc4: 93 96 26 00 slli a3, a3, 2 +80000dc8: 97 02 00 00 auipc t0, 0 +80000dcc: b3 86 56 00 add a3, a3, t0 +80000dd0: 67 80 c6 00 jr 12(a3) +80000dd4: 23 07 b7 00 sb a1, 14(a4) +80000dd8: a3 06 b7 00 sb a1, 13(a4) +80000ddc: 23 06 b7 00 sb a1, 12(a4) +80000de0: a3 05 b7 00 sb a1, 11(a4) +80000de4: 23 05 b7 00 sb a1, 10(a4) +80000de8: a3 04 b7 00 sb a1, 9(a4) +80000dec: 23 04 b7 00 sb a1, 8(a4) +80000df0: a3 03 b7 00 sb a1, 7(a4) +80000df4: 23 03 b7 00 sb a1, 6(a4) +80000df8: a3 02 b7 00 sb a1, 5(a4) +80000dfc: 23 02 b7 00 sb a1, 4(a4) +80000e00: a3 01 b7 00 sb a1, 3(a4) +80000e04: 23 01 b7 00 sb a1, 2(a4) +80000e08: a3 00 b7 00 sb a1, 1(a4) +80000e0c: 23 00 b7 00 sb a1, 0(a4) +80000e10: 67 80 00 00 ret +80000e14: 93 f5 f5 0f andi a1, a1, 255 +80000e18: 93 96 85 00 slli a3, a1, 8 +80000e1c: b3 e5 d5 00 or a1, a1, a3 +80000e20: 93 96 05 01 slli a3, a1, 16 +80000e24: b3 e5 d5 00 or a1, a1, a3 +80000e28: 6f f0 df f6 j -148 +80000e2c: 93 96 27 00 slli a3, a5, 2 +80000e30: 97 02 00 00 auipc t0, 0 +80000e34: b3 86 56 00 add a3, a3, t0 +80000e38: 93 82 00 00 mv t0, ra +80000e3c: e7 80 06 fa jalr -96(a3) +80000e40: 93 80 02 00 mv ra, t0 +80000e44: 93 87 07 ff addi a5, a5, -16 +80000e48: 33 07 f7 40 sub a4, a4, a5 +80000e4c: 33 06 f6 00 add a2, a2, a5 +80000e50: e3 78 c3 f6 bgeu t1, a2, -144 +80000e54: 6f f0 df f3 j -196 -80000ef0 __call_exitprocs: -80000ef0: 13 01 01 fd addi sp, sp, -48 -80000ef4: b7 27 00 80 lui a5, 524290 -80000ef8: 23 2c 41 01 sw s4, 24(sp) -80000efc: 03 aa 07 44 lw s4, 1088(a5) -80000f00: 23 20 21 03 sw s2, 32(sp) -80000f04: 23 26 11 02 sw ra, 44(sp) -80000f08: 03 29 8a 14 lw s2, 328(s4) -80000f0c: 23 24 81 02 sw s0, 40(sp) -80000f10: 23 22 91 02 sw s1, 36(sp) -80000f14: 23 2e 31 01 sw s3, 28(sp) -80000f18: 23 2a 51 01 sw s5, 20(sp) -80000f1c: 23 28 61 01 sw s6, 16(sp) -80000f20: 23 26 71 01 sw s7, 12(sp) -80000f24: 23 24 81 01 sw s8, 8(sp) -80000f28: 63 00 09 04 beqz s2, 64 -80000f2c: 13 0b 05 00 mv s6, a0 -80000f30: 93 8b 05 00 mv s7, a1 -80000f34: 93 0a 10 00 addi s5, zero, 1 -80000f38: 93 09 f0 ff addi s3, zero, -1 -80000f3c: 83 24 49 00 lw s1, 4(s2) -80000f40: 13 84 f4 ff addi s0, s1, -1 -80000f44: 63 42 04 02 bltz s0, 36 -80000f48: 93 94 24 00 slli s1, s1, 2 -80000f4c: b3 04 99 00 add s1, s2, s1 -80000f50: 63 84 0b 04 beqz s7, 72 -80000f54: 83 a7 44 10 lw a5, 260(s1) -80000f58: 63 80 77 05 beq a5, s7, 64 -80000f5c: 13 04 f4 ff addi s0, s0, -1 -80000f60: 93 84 c4 ff addi s1, s1, -4 -80000f64: e3 16 34 ff bne s0, s3, -20 -80000f68: 83 20 c1 02 lw ra, 44(sp) -80000f6c: 03 24 81 02 lw s0, 40(sp) -80000f70: 83 24 41 02 lw s1, 36(sp) -80000f74: 03 29 01 02 lw s2, 32(sp) -80000f78: 83 29 c1 01 lw s3, 28(sp) -80000f7c: 03 2a 81 01 lw s4, 24(sp) -80000f80: 83 2a 41 01 lw s5, 20(sp) -80000f84: 03 2b 01 01 lw s6, 16(sp) -80000f88: 83 2b c1 00 lw s7, 12(sp) -80000f8c: 03 2c 81 00 lw s8, 8(sp) -80000f90: 13 01 01 03 addi sp, sp, 48 -80000f94: 67 80 00 00 ret -80000f98: 83 27 49 00 lw a5, 4(s2) -80000f9c: 83 a6 44 00 lw a3, 4(s1) -80000fa0: 93 87 f7 ff addi a5, a5, -1 -80000fa4: 63 8e 87 04 beq a5, s0, 92 -80000fa8: 23 a2 04 00 sw zero, 4(s1) -80000fac: e3 88 06 fa beqz a3, -80 -80000fb0: 83 27 89 18 lw a5, 392(s2) -80000fb4: 33 97 8a 00 sll a4, s5, s0 -80000fb8: 03 2c 49 00 lw s8, 4(s2) -80000fbc: b3 77 f7 00 and a5, a4, a5 -80000fc0: 63 92 07 02 bnez a5, 36 -80000fc4: e7 80 06 00 jalr a3 -80000fc8: 03 27 49 00 lw a4, 4(s2) -80000fcc: 83 27 8a 14 lw a5, 328(s4) -80000fd0: 63 14 87 01 bne a4, s8, 8 -80000fd4: e3 04 f9 f8 beq s2, a5, -120 -80000fd8: e3 88 07 f8 beqz a5, -112 -80000fdc: 13 89 07 00 mv s2, a5 -80000fe0: 6f f0 df f5 j -164 -80000fe4: 83 27 c9 18 lw a5, 396(s2) -80000fe8: 83 a5 44 08 lw a1, 132(s1) -80000fec: 33 77 f7 00 and a4, a4, a5 -80000ff0: 63 1c 07 00 bnez a4, 24 -80000ff4: 13 05 0b 00 mv a0, s6 -80000ff8: e7 80 06 00 jalr a3 -80000ffc: 6f f0 df fc j -52 -80001000: 23 22 89 00 sw s0, 4(s2) -80001004: 6f f0 9f fa j -88 -80001008: 13 85 05 00 mv a0, a1 -8000100c: e7 80 06 00 jalr a3 -80001010: 6f f0 9f fb j -72 +80000e58 __register_exitproc: +80000e58: b7 27 00 80 lui a5, 524290 +80000e5c: 03 a7 87 44 lw a4, 1096(a5) +80000e60: 83 27 87 14 lw a5, 328(a4) +80000e64: 63 8c 07 04 beqz a5, 88 +80000e68: 03 a7 47 00 lw a4, 4(a5) +80000e6c: 13 08 f0 01 addi a6, zero, 31 +80000e70: 63 4e e8 06 blt a6, a4, 124 +80000e74: 13 18 27 00 slli a6, a4, 2 +80000e78: 63 06 05 02 beqz a0, 44 +80000e7c: 33 83 07 01 add t1, a5, a6 +80000e80: 23 24 c3 08 sw a2, 136(t1) +80000e84: 83 a8 87 18 lw a7, 392(a5) +80000e88: 13 06 10 00 addi a2, zero, 1 +80000e8c: 33 16 e6 00 sll a2, a2, a4 +80000e90: b3 e8 c8 00 or a7, a7, a2 +80000e94: 23 a4 17 19 sw a7, 392(a5) +80000e98: 23 24 d3 10 sw a3, 264(t1) +80000e9c: 93 06 20 00 addi a3, zero, 2 +80000ea0: 63 04 d5 02 beq a0, a3, 40 +80000ea4: 13 07 17 00 addi a4, a4, 1 +80000ea8: 23 a2 e7 00 sw a4, 4(a5) +80000eac: b3 87 07 01 add a5, a5, a6 +80000eb0: 23 a4 b7 00 sw a1, 8(a5) +80000eb4: 13 05 00 00 mv a0, zero +80000eb8: 67 80 00 00 ret +80000ebc: 93 07 c7 14 addi a5, a4, 332 +80000ec0: 23 24 f7 14 sw a5, 328(a4) +80000ec4: 6f f0 5f fa j -92 +80000ec8: 83 a6 c7 18 lw a3, 396(a5) +80000ecc: 13 07 17 00 addi a4, a4, 1 +80000ed0: 23 a2 e7 00 sw a4, 4(a5) +80000ed4: 33 e6 c6 00 or a2, a3, a2 +80000ed8: 23 a6 c7 18 sw a2, 396(a5) +80000edc: b3 87 07 01 add a5, a5, a6 +80000ee0: 23 a4 b7 00 sw a1, 8(a5) +80000ee4: 13 05 00 00 mv a0, zero +80000ee8: 67 80 00 00 ret +80000eec: 13 05 f0 ff addi a0, zero, -1 +80000ef0: 67 80 00 00 ret + +80000ef4 __call_exitprocs: +80000ef4: 13 01 01 fd addi sp, sp, -48 +80000ef8: b7 27 00 80 lui a5, 524290 +80000efc: 23 2c 41 01 sw s4, 24(sp) +80000f00: 03 aa 87 44 lw s4, 1096(a5) +80000f04: 23 20 21 03 sw s2, 32(sp) +80000f08: 23 26 11 02 sw ra, 44(sp) +80000f0c: 03 29 8a 14 lw s2, 328(s4) +80000f10: 23 24 81 02 sw s0, 40(sp) +80000f14: 23 22 91 02 sw s1, 36(sp) +80000f18: 23 2e 31 01 sw s3, 28(sp) +80000f1c: 23 2a 51 01 sw s5, 20(sp) +80000f20: 23 28 61 01 sw s6, 16(sp) +80000f24: 23 26 71 01 sw s7, 12(sp) +80000f28: 23 24 81 01 sw s8, 8(sp) +80000f2c: 63 00 09 04 beqz s2, 64 +80000f30: 13 0b 05 00 mv s6, a0 +80000f34: 93 8b 05 00 mv s7, a1 +80000f38: 93 0a 10 00 addi s5, zero, 1 +80000f3c: 93 09 f0 ff addi s3, zero, -1 +80000f40: 83 24 49 00 lw s1, 4(s2) +80000f44: 13 84 f4 ff addi s0, s1, -1 +80000f48: 63 42 04 02 bltz s0, 36 +80000f4c: 93 94 24 00 slli s1, s1, 2 +80000f50: b3 04 99 00 add s1, s2, s1 +80000f54: 63 84 0b 04 beqz s7, 72 +80000f58: 83 a7 44 10 lw a5, 260(s1) +80000f5c: 63 80 77 05 beq a5, s7, 64 +80000f60: 13 04 f4 ff addi s0, s0, -1 +80000f64: 93 84 c4 ff addi s1, s1, -4 +80000f68: e3 16 34 ff bne s0, s3, -20 +80000f6c: 83 20 c1 02 lw ra, 44(sp) +80000f70: 03 24 81 02 lw s0, 40(sp) +80000f74: 83 24 41 02 lw s1, 36(sp) +80000f78: 03 29 01 02 lw s2, 32(sp) +80000f7c: 83 29 c1 01 lw s3, 28(sp) +80000f80: 03 2a 81 01 lw s4, 24(sp) +80000f84: 83 2a 41 01 lw s5, 20(sp) +80000f88: 03 2b 01 01 lw s6, 16(sp) +80000f8c: 83 2b c1 00 lw s7, 12(sp) +80000f90: 03 2c 81 00 lw s8, 8(sp) +80000f94: 13 01 01 03 addi sp, sp, 48 +80000f98: 67 80 00 00 ret +80000f9c: 83 27 49 00 lw a5, 4(s2) +80000fa0: 83 a6 44 00 lw a3, 4(s1) +80000fa4: 93 87 f7 ff addi a5, a5, -1 +80000fa8: 63 8e 87 04 beq a5, s0, 92 +80000fac: 23 a2 04 00 sw zero, 4(s1) +80000fb0: e3 88 06 fa beqz a3, -80 +80000fb4: 83 27 89 18 lw a5, 392(s2) +80000fb8: 33 97 8a 00 sll a4, s5, s0 +80000fbc: 03 2c 49 00 lw s8, 4(s2) +80000fc0: b3 77 f7 00 and a5, a4, a5 +80000fc4: 63 92 07 02 bnez a5, 36 +80000fc8: e7 80 06 00 jalr a3 +80000fcc: 03 27 49 00 lw a4, 4(s2) +80000fd0: 83 27 8a 14 lw a5, 328(s4) +80000fd4: 63 14 87 01 bne a4, s8, 8 +80000fd8: e3 04 f9 f8 beq s2, a5, -120 +80000fdc: e3 88 07 f8 beqz a5, -112 +80000fe0: 13 89 07 00 mv s2, a5 +80000fe4: 6f f0 df f5 j -164 +80000fe8: 83 27 c9 18 lw a5, 396(s2) +80000fec: 83 a5 44 08 lw a1, 132(s1) +80000ff0: 33 77 f7 00 and a4, a4, a5 +80000ff4: 63 1c 07 00 bnez a4, 24 +80000ff8: 13 05 0b 00 mv a0, s6 +80000ffc: e7 80 06 00 jalr a3 +80001000: 6f f0 df fc j -52 +80001004: 23 22 89 00 sw s0, 4(s2) +80001008: 6f f0 9f fa j -88 +8000100c: 13 85 05 00 mv a0, a1 +80001010: e7 80 06 00 jalr a3 +80001014: 6f f0 9f fb j -72 Disassembly of section .init_array: -80002014 __preinit_array_start: -80002014: 50 00 -80002016: 00 80 +80002018 __preinit_array_start: +80002018: 50 00 +8000201a: 00 80 Disassembly of section .data: -80002018 impure_data: -80002018: 00 00 -8000201a: 00 00 -8000201c: 04 23 -8000201e: 00 80 -80002020: 6c 23 -80002022: 00 80 -80002024: d4 23 +80002020 impure_data: +80002020: 00 00 +80002022: 00 00 +80002024: 0c 23 80002026: 00 80 +80002028: 74 23 +8000202a: 00 80 +8000202c: dc 23 +8000202e: 00 80 ... -800020c0: 01 00 -800020c2: 00 00 -800020c4: 00 00 -800020c6: 00 00 -800020c8: 0e 33 -800020ca: cd ab -800020cc: 34 12 -800020ce: 6d e6 -800020d0: ec de -800020d2: 05 00 -800020d4: 0b 00 00 00 +800020c8: 01 00 +800020ca: 00 00 +800020cc: 00 00 +800020ce: 00 00 +800020d0: 0e 33 +800020d2: cd ab +800020d4: 34 12 +800020d6: 6d e6 +800020d8: ec de +800020da: 05 00 +800020dc: 0b 00 00 00 ... Disassembly of section .sdata: -80002440 _global_impure_ptr: -80002440: 18 20 -80002442: 00 80 +80002448 _global_impure_ptr: +80002448: 20 20 +8000244a: 00 80 Disassembly of section .bss: -80002444 g_wspawn_args: +8000244c g_wspawn_args: ... Disassembly of section .comment: @@ -1208,28 +1211,28 @@ Disassembly of section .symtab: 2c: 03 00 02 00 lb zero, 0(tp) 30: 00 00 32: 00 00 - 34: 14 20 + 34: 18 20 36: 00 80 38: 00 00 3a: 00 00 3c: 03 00 03 00 lb zero, 0(t1) 40: 00 00 42: 00 00 - 44: 18 20 + 44: 20 20 46: 00 80 48: 00 00 4a: 00 00 4c: 03 00 04 00 lb zero, 0(s0) 50: 00 00 52: 00 00 - 54: 40 24 + 54: 48 24 56: 00 80 58: 00 00 5a: 00 00 5c: 03 00 05 00 lb zero, 0(a0) 60: 00 00 62: 00 00 - 64: 44 24 + 64: 4c 24 66: 00 80 68: 00 00 6a: 00 00 @@ -1245,82 +1248,85 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: ac 06 + a4: 74 06 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: b0 06 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: b0 06 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: ac 07 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 - 184: 18 20 + 184: 20 20 186: 00 80 188: 28 04 18a: 00 00 @@ -1329,56 +1335,54 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 - 1a4: 18 20 + 1a4: 1c 20 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 04 00 - 1b0: cd 00 + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 - 1b4: 18 20 + 1b4: 1c 20 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 04 00 - 1c0: e0 00 + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 - 1c4: 18 20 + 1c4: 1c 20 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 - 1d4: 14 20 + 1d4: 18 20 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 - 1e4: 14 20 + 1e4: 18 20 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 - 1f4: 14 20 + 1f4: 18 20 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 00 04 216: 00 00 @@ -1386,29 +1390,29 @@ Disassembly of section .symtab: 21a: 00 00 21c: 10 00 21e: f1 ff - 220: 49 01 + 220: 59 01 222: 00 00 - 224: 44 24 + 224: 4c 24 226: 00 80 228: 80 00 22a: 00 00 22c: 11 00 22e: 06 00 - 230: 57 01 00 00 - 234: 40 24 + 230: 67 01 00 00 jalr sp, zero + 234: 48 24 236: 00 80 238: 00 00 23a: 00 00 23c: 10 00 23e: 05 00 - 240: 67 01 00 00 jalr sp, zero - 244: 18 28 + 240: 77 01 00 00 + 244: 20 28 246: 00 80 248: 00 00 24a: 00 00 24c: 10 00 24e: f1 ff - 250: 78 01 + 250: 88 01 252: 00 00 254: 7c 04 256: 00 80 @@ -1416,176 +1420,168 @@ Disassembly of section .symtab: 25a: 00 00 25c: 12 00 25e: 02 00 - 260: 99 01 + 260: a9 01 262: 00 00 - 264: 40 24 + 264: 48 24 266: 00 80 268: 04 00 26a: 00 00 26c: 11 00 26e: 05 00 - 270: ac 01 + 270: bc 01 272: 00 00 - 274: dc 0c + 274: b4 06 276: 00 80 278: 9c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: be 01 + 280: ce 01 282: 00 00 - 284: 80 0c + 284: 50 07 286: 00 80 288: 5c 00 28a: 00 00 28c: 12 00 28e: 02 00 - 290: d0 01 + 290: e0 01 292: 00 00 - 294: 00 00 - 296: 00 ff + 294: 80 06 + 296: 00 80 298: 00 00 29a: 00 00 - 29c: 10 00 - 29e: f1 ff - 2a0: dc 01 + 29c: 12 00 + 29e: 02 00 + 2a0: ea 01 2a2: 00 00 - 2a4: 74 06 + 2a4: 84 02 2a6: 00 80 - 2a8: 00 00 + 2a8: f8 01 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: e6 01 + 2b0: 06 02 2b2: 00 00 - 2b4: 84 02 + 2b4: f4 0e 2b6: 00 80 - 2b8: f8 01 + 2b8: 24 01 2ba: 00 00 2bc: 12 00 2be: 02 00 - 2c0: 02 02 + 2c0: 3c 02 2c2: 00 00 - 2c4: f0 0e + 2c4: 00 00 2c6: 00 80 - 2c8: 24 01 + 2c8: 50 00 2ca: 00 00 2cc: 12 00 - 2ce: 02 00 - 2d0: 38 02 - 2d2: 00 00 - 2d4: 00 00 + 2ce: 01 00 + 2d0: 17 02 00 00 auipc tp, 0 + 2d4: 58 0e 2d6: 00 80 - 2d8: 50 00 + 2d8: 9c 00 2da: 00 00 2dc: 12 00 - 2de: 01 00 - 2e0: 13 02 00 00 mv tp, zero - 2e4: 54 0e + 2de: 02 00 + 2e0: 2b 02 00 00 + 2e4: cc 24 2e6: 00 80 - 2e8: 9c 00 + 2e8: 00 00 2ea: 00 00 - 2ec: 12 00 - 2ee: 02 00 - 2f0: 27 02 00 00 - 2f4: c4 24 + 2ec: 10 00 + 2ee: 06 00 + 2f0: 37 02 00 00 lui tp, 0 + 2f4: 4c 24 2f6: 00 80 2f8: 00 00 2fa: 00 00 2fc: 10 00 2fe: 06 00 - 300: 33 02 00 00 add tp, zero, zero - 304: 44 24 + 300: 43 02 00 00 fmadd.s ft4, ft0, ft0, ft0, rne + 304: 7c 0d 306: 00 80 - 308: 00 00 + 308: dc 00 30a: 00 00 - 30c: 10 00 - 30e: 06 00 - 310: 3f 02 00 00 - 314: 78 0d + 30c: 12 00 + 30e: 02 00 + 310: 4a 02 + 312: 00 00 + 314: 68 00 316: 00 80 - 318: dc 00 + 318: 30 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 46 02 - 322: 00 00 - 324: 68 00 + 320: 4f 02 00 00 fnmadd.s ft4, ft0, ft0, ft0, rne + 324: 34 0d 326: 00 80 - 328: 30 00 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 4b 02 00 00 fnmsub.s ft4, ft0, ft0, ft0, rne - 334: 38 0c + 330: 56 02 + 332: 00 00 + 334: 20 20 336: 00 80 - 338: 14 00 + 338: 00 00 33a: 00 00 - 33c: 12 00 - 33e: 02 00 - 340: 52 02 + 33c: 10 00 + 33e: 04 00 + 340: 65 02 342: 00 00 - 344: 18 20 + 344: 4c 24 346: 00 80 348: 00 00 34a: 00 00 34c: 10 00 - 34e: 04 00 - 350: 61 02 + 34e: 05 00 + 350: d8 00 352: 00 00 - 354: 44 24 + 354: cc 24 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 05 00 - 360: c8 00 + 35e: 06 00 + 360: 7a 02 362: 00 00 - 364: c4 24 + 364: 48 0d 366: 00 80 - 368: 00 00 + 368: 34 00 36a: 00 00 - 36c: 10 00 - 36e: 06 00 - 370: 76 02 + 36c: 12 00 + 36e: 02 00 + 370: 6c 02 372: 00 00 - 374: 4c 0c + 374: 20 0b 376: 00 80 - 378: 34 00 + 378: 14 02 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 68 02 + 380: 79 02 382: 00 00 - 384: 24 0a + 384: 68 06 386: 00 80 - 388: 14 02 + 388: 00 00 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 75 02 - 392: 00 00 - 394: 68 06 + 390: 7f 02 00 00 + 394: 98 00 396: 00 80 - 398: 00 00 + 398: ec 01 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 7b 02 00 00 - 3a4: 98 00 + 3a0: 91 02 + 3a2: 00 00 + 3a4: f4 08 3a6: 00 80 - 3a8: ec 01 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 8d 02 - 3b2: 00 00 - 3b4: f8 07 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1595,255 +1591,259 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 36 64 - 48: 2d 34 - 4a: 62 2d - 4c: 63 63 2d 33 bltu s10, s2, 806 - 50: 62 2d - 52: 37 62 2e 63 lui tp, 406246 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 5f 73 74 - 140: 61 63 - 142: 6b 5f 73 69 - 146: 7a 65 - 148: 00 67 - 14a: 5f 77 73 70 - 14e: 61 77 - 150: 6e 5f - 152: 61 72 - 154: 67 73 00 5f - 158: 5f 53 44 41 - 15c: 54 41 - 15e: 5f 42 45 47 - 162: 49 4e - 164: 5f 5f 00 5f - 168: 5f 67 6c 6f - 16c: 62 61 - 16e: 6c 5f - 170: 70 6f - 172: 69 6e - 174: 74 65 - 176: 72 00 - 178: 5f 70 6f 63 - 17c: 6c 5f - 17e: 6b 65 72 6e - 182: 65 6c - 184: 5f 46 61 6e - 188: 32 5f - 18a: 77 6f 72 6b - 18e: 67 72 6f 75 - 192: 70 5f - 194: 66 61 - 196: 73 74 00 5f csrrci s0, 1520, 0 - 19a: 67 6c 6f 62 - 19e: 61 6c - 1a0: 5f 69 6d 70 - 1a4: 75 72 - 1a6: 65 5f - 1a8: 70 74 - 1aa: 72 00 - 1ac: 5f 5f 6c 69 - 1b0: 62 63 - 1b2: 5f 69 6e 69 - 1b6: 74 5f - 1b8: 61 72 - 1ba: 72 61 - 1bc: 79 00 - 1be: 5f 5f 6c 69 - 1c2: 62 63 - 1c4: 5f 66 69 6e - 1c8: 69 5f - 1ca: 61 72 - 1cc: 72 61 - 1ce: 79 00 - 1d0: 5f 5f 73 74 - 1d4: 61 63 - 1d6: 6b 5f 74 6f - 1da: 70 00 - 1dc: 76 78 - 1de: 5f 73 65 74 - 1e2: 5f 73 70 00 - 1e6: 5f 70 6f 63 - 1ea: 6c 5f - 1ec: 6b 65 72 6e - 1f0: 65 6c - 1f2: 5f 46 61 6e - 1f6: 32 5f - 1f8: 77 6f 72 6b - 1fc: 67 72 6f 75 - 200: 70 00 - 202: 5f 5f 63 61 - 206: 6c 6c - 208: 5f 65 78 69 - 20c: 74 70 - 20e: 72 6f - 210: 63 73 00 5f bgeu zero, a6, 1510 - 214: 5f 72 65 67 - 218: 69 73 - 21a: 74 65 - 21c: 72 5f - 21e: 65 78 - 220: 69 74 - 222: 70 72 - 224: 6f 63 00 5f jal t1, 26096 - 228: 5f 42 53 53 - 22c: 5f 45 4e 44 - 230: 5f 5f 00 5f - 234: 5f 62 73 73 - 238: 5f 73 74 61 - 23c: 72 74 - 23e: 00 6d - 240: 65 6d - 242: 73 65 74 00 csrrsi a0, 7, 8 - 246: 6d 61 - 248: 69 6e - 24a: 00 61 - 24c: 74 65 - 24e: 78 69 - 250: 74 00 - 252: 5f 5f 44 41 - 256: 54 41 - 258: 5f 42 45 47 - 25c: 49 4e - 25e: 5f 5f 00 5f - 262: 65 64 - 264: 61 74 - 266: 61 00 - 268: 76 78 - 26a: 5f 70 65 72 - 26e: 66 5f - 270: 64 75 - 272: 6d 70 - 274: 00 5f - 276: 65 78 - 278: 69 74 - 27a: 00 5f - 27c: 70 6f - 27e: 63 6c 5f 6b bltu t5, s5, 1720 - 282: 65 72 - 284: 6e 65 - 286: 6c 5f - 288: 46 61 - 28a: 6e 32 - 28c: 00 76 - 28e: 78 5f - 290: 73 70 61 77 csrci 1910, 2 - 294: 6e 5f - 296: 6b 65 72 6e - 29a: 65 6c - 29c: 00 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 66 66 + 58: 2d 32 + 5a: 32 2d + 5c: 61 66 + 5e: 2d 61 + 60: 33 2d 31 31 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 5f 73 74 + 150: 61 63 + 152: 6b 5f 73 69 + 156: 7a 65 + 158: 00 67 + 15a: 5f 77 73 70 + 15e: 61 77 + 160: 6e 5f + 162: 61 72 + 164: 67 73 00 5f + 168: 5f 53 44 41 + 16c: 54 41 + 16e: 5f 42 45 47 + 172: 49 4e + 174: 5f 5f 00 5f + 178: 5f 67 6c 6f + 17c: 62 61 + 17e: 6c 5f + 180: 70 6f + 182: 69 6e + 184: 74 65 + 186: 72 00 + 188: 5f 70 6f 63 + 18c: 6c 5f + 18e: 6b 65 72 6e + 192: 65 6c + 194: 5f 46 61 6e + 198: 32 5f + 19a: 77 6f 72 6b + 19e: 67 72 6f 75 + 1a2: 70 5f + 1a4: 66 61 + 1a6: 73 74 00 5f csrrci s0, 1520, 0 + 1aa: 67 6c 6f 62 + 1ae: 61 6c + 1b0: 5f 69 6d 70 + 1b4: 75 72 + 1b6: 65 5f + 1b8: 70 74 + 1ba: 72 00 + 1bc: 5f 5f 6c 69 + 1c0: 62 63 + 1c2: 5f 69 6e 69 + 1c6: 74 5f + 1c8: 61 72 + 1ca: 72 61 + 1cc: 79 00 + 1ce: 5f 5f 6c 69 + 1d2: 62 63 + 1d4: 5f 66 69 6e + 1d8: 69 5f + 1da: 61 72 + 1dc: 72 61 + 1de: 79 00 + 1e0: 76 78 + 1e2: 5f 73 65 74 + 1e6: 5f 73 70 00 + 1ea: 5f 70 6f 63 + 1ee: 6c 5f + 1f0: 6b 65 72 6e + 1f4: 65 6c + 1f6: 5f 46 61 6e + 1fa: 32 5f + 1fc: 77 6f 72 6b + 200: 67 72 6f 75 + 204: 70 00 + 206: 5f 5f 63 61 + 20a: 6c 6c + 20c: 5f 65 78 69 + 210: 74 70 + 212: 72 6f + 214: 63 73 00 5f bgeu zero, a6, 1510 + 218: 5f 72 65 67 + 21c: 69 73 + 21e: 74 65 + 220: 72 5f + 222: 65 78 + 224: 69 74 + 226: 70 72 + 228: 6f 63 00 5f jal t1, 26096 + 22c: 5f 42 53 53 + 230: 5f 45 4e 44 + 234: 5f 5f 00 5f + 238: 5f 62 73 73 + 23c: 5f 73 74 61 + 240: 72 74 + 242: 00 6d + 244: 65 6d + 246: 73 65 74 00 csrrsi a0, 7, 8 + 24a: 6d 61 + 24c: 69 6e + 24e: 00 61 + 250: 74 65 + 252: 78 69 + 254: 74 00 + 256: 5f 5f 44 41 + 25a: 54 41 + 25c: 5f 42 45 47 + 260: 49 4e + 262: 5f 5f 00 5f + 266: 65 64 + 268: 61 74 + 26a: 61 00 + 26c: 76 78 + 26e: 5f 70 65 72 + 272: 66 5f + 274: 64 75 + 276: 6d 70 + 278: 00 5f + 27a: 65 78 + 27c: 69 74 + 27e: 00 5f + 280: 70 6f + 282: 63 6c 5f 6b bltu t5, s5, 1720 + 286: 65 72 + 288: 6e 65 + 28a: 6c 5f + 28c: 46 61 + 28e: 6e 32 + 290: 00 76 + 292: 78 5f + 294: 73 70 61 77 csrci 1910, 2 + 298: 6e 5f + 29a: 6b 65 72 6e + 29e: 65 6c + 2a0: 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/guassian/kernel.pocl b/tests/opencl/guassian/kernel.pocl index 2b6f5843..4272e5f9 100644 Binary files a/tests/opencl/guassian/kernel.pocl and b/tests/opencl/guassian/kernel.pocl differ diff --git a/tests/opencl/nearn/NearestNeighbor.dump b/tests/opencl/nearn/NearestNeighbor.dump index 6f6a9b57..276190c0 100644 --- a/tests/opencl/nearn/NearestNeighbor.dump +++ b/tests/opencl/nearn/NearestNeighbor.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-f1-04-b2-42-7e.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-0f-e5-da-b6-48.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 c5 49 addi a1, a1, 1180 +80000004: 93 85 85 4a addi a1, a1, 1192 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 c0 48 jal 1164 +80000010: ef 00 80 49 jal 1176 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,22 +18,22 @@ Disassembly of section .init: 80000028: 13 06 86 49 addi a2, a2, 1176 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 90 4f jal 3320 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 c5 bf addi a0, a0, -1028 -80000040: ef 00 10 3a jal 2976 -80000044: ef 00 d0 44 jal 3148 +80000034: ef 00 d0 4f jal 3324 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 05 54 addi a0, a0, 1344 +80000040: ef 00 d0 49 jal 3228 +80000044: ef 00 80 49 jal 1176 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 50 3b j 2996 +8000004c: 6f 00 10 4b j 3248 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 45 c3 addi a0, a0, -972 -80000060: 6f 00 10 38 j 2944 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 85 57 addi a0, a0, 1400 +80000060: 6f 00 d0 47 j 3196 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 c0 59 jal 1436 +80000084: ef 00 80 69 jal 1688 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -59,7 +59,7 @@ Disassembly of section .text: 800000ac: 83 20 c1 00 lw ra, 12(sp) 800000b0: 13 01 01 01 addi sp, sp, 16 800000b4: 17 13 00 00 auipc t1, 1 -800000b8: 67 00 c3 9a jr -1620(t1) +800000b8: 67 00 83 aa jr -1368(t1) 800000bc _pocl_kernel_NearestNeighbor: 800000bc: 13 01 01 fc addi sp, sp, -64 @@ -313,754 +313,757 @@ Disassembly of section .text: 8000048c: 67 80 00 00 ret 80000490 _exit: -80000490: ef 00 c0 3b jal 956 -80000494: 13 05 00 00 mv a0, zero -80000498: 6b 00 05 00 +80000490: 63 06 05 00 beqz a0, 12 +80000494: 93 01 05 00 mv gp, a0 +80000498: 73 00 00 00 ecall -8000049c vx_set_sp: -8000049c: 73 25 00 fc csrr a0, 4032 -800004a0: 6b 00 05 00 -800004a4: 97 11 00 00 auipc gp, 1 -800004a8: 93 81 41 36 addi gp, gp, 868 -800004ac: 17 01 00 7f auipc sp, 520192 -800004b0: 13 01 41 b5 addi sp, sp, -1196 -800004b4: 93 05 00 40 addi a1, zero, 1024 -800004b8: 73 26 10 cc csrr a2, 3265 -800004bc: b3 85 c5 02 mul a1, a1, a2 -800004c0: 33 01 b1 40 sub sp, sp, a1 -800004c4: f3 26 30 cc csrr a3, 3267 -800004c8: 63 86 06 00 beqz a3, 12 -800004cc: 13 05 00 00 mv a0, zero -800004d0: 6b 00 05 00 +8000049c label_exit_next: +8000049c: ef 00 c0 4a jal 1196 +800004a0: 13 05 00 00 mv a0, zero +800004a4: 6b 00 05 00 -800004d4 RETURN: -800004d4: 67 80 00 00 ret +800004a8 vx_set_sp: +800004a8: 13 05 f0 ff addi a0, zero, -1 +800004ac: 6b 00 05 00 +800004b0: 97 11 00 00 auipc gp, 1 +800004b4: 93 81 81 35 addi gp, gp, 856 +800004b8: 37 01 00 ff lui sp, 1044480 +800004bc: 73 26 10 cc csrr a2, 3265 +800004c0: 93 15 a6 00 slli a1, a2, 10 +800004c4: 33 01 b1 40 sub sp, sp, a1 +800004c8: f3 26 30 cc csrr a3, 3267 +800004cc: 63 86 06 00 beqz a3, 12 +800004d0: 13 05 00 00 mv a0, zero +800004d4: 6b 00 05 00 -800004d8 spawn_kernel_callback: -800004d8: 13 01 01 fe addi sp, sp, -32 -800004dc: 23 2e 11 00 sw ra, 28(sp) -800004e0: 23 2c 81 00 sw s0, 24(sp) -800004e4: 23 2a 91 00 sw s1, 20(sp) -800004e8: 23 28 21 01 sw s2, 16(sp) -800004ec: 23 26 31 01 sw s3, 12(sp) -800004f0: 23 24 41 01 sw s4, 8(sp) -800004f4: 23 22 51 01 sw s5, 4(sp) -800004f8: f3 27 00 fc csrr a5, 4032 -800004fc: 6b 80 07 00 -80000500: f3 26 50 cc csrr a3, 3269 -80000504: 73 29 30 cc csrr s2, 3267 -80000508: 73 27 00 cc csrr a4, 3264 -8000050c: 73 26 00 fc csrr a2, 4032 -80000510: b7 17 00 80 lui a5, 524289 -80000514: 93 96 26 00 slli a3, a3, 2 -80000518: 93 87 c7 43 addi a5, a5, 1084 -8000051c: b3 87 d7 00 add a5, a5, a3 -80000520: 03 a4 07 00 lw s0, 0(a5) -80000524: 83 24 44 01 lw s1, 20(s0) -80000528: 83 26 04 01 lw a3, 16(s0) -8000052c: b3 2a 99 00 slt s5, s2, s1 -80000530: 93 87 04 00 mv a5, s1 -80000534: b3 8a da 00 add s5, s5, a3 -80000538: b3 84 26 03 mul s1, a3, s2 -8000053c: 63 54 f9 00 bge s2, a5, 8 -80000540: 93 07 09 00 mv a5, s2 -80000544: b3 84 f4 00 add s1, s1, a5 -80000548: 83 25 04 00 lw a1, 0(s0) -8000054c: 83 26 c4 00 lw a3, 12(s0) -80000550: 83 a9 05 00 lw s3, 0(a1) -80000554: 03 aa 45 00 lw s4, 4(a1) -80000558: b3 84 c4 02 mul s1, s1, a2 -8000055c: b3 87 ea 02 mul a5, s5, a4 -80000560: b3 84 d4 00 add s1, s1, a3 -80000564: b3 84 f4 00 add s1, s1, a5 -80000568: b3 8a 9a 00 add s5, s5, s1 -8000056c: 33 8a 49 03 mul s4, s3, s4 -80000570: 63 c0 54 07 blt s1, s5, 96 -80000574: 6f 00 00 08 j 128 -80000578: 03 47 a4 01 lbu a4, 26(s0) -8000057c: 83 46 94 01 lbu a3, 25(s0) -80000580: 33 d7 e4 40 sra a4, s1, a4 -80000584: b3 07 47 03 mul a5, a4, s4 -80000588: b3 87 f4 40 sub a5, s1, a5 -8000058c: 63 80 06 06 beqz a3, 96 -80000590: 83 46 b4 01 lbu a3, 27(s0) -80000594: b3 d6 d7 40 sra a3, a5, a3 -80000598: b3 88 36 03 mul a7, a3, s3 -8000059c: 03 ae 45 01 lw t3, 20(a1) -800005a0: 03 a3 05 01 lw t1, 16(a1) -800005a4: 03 a6 c5 00 lw a2, 12(a1) -800005a8: 03 28 44 00 lw a6, 4(s0) -800005ac: 03 25 84 00 lw a0, 8(s0) -800005b0: 93 84 14 00 addi s1, s1, 1 -800005b4: 33 07 c7 01 add a4, a4, t3 -800005b8: b3 86 66 00 add a3, a3, t1 -800005bc: b3 87 17 41 sub a5, a5, a7 -800005c0: 33 86 c7 00 add a2, a5, a2 -800005c4: e7 00 08 00 jalr a6 -800005c8: 63 86 9a 02 beq s5, s1, 44 -800005cc: 83 25 04 00 lw a1, 0(s0) -800005d0: 83 47 84 01 lbu a5, 24(s0) -800005d4: e3 92 07 fa bnez a5, -92 -800005d8: 33 c7 44 03 div a4, s1, s4 -800005dc: 83 46 94 01 lbu a3, 25(s0) -800005e0: b3 07 47 03 mul a5, a4, s4 -800005e4: b3 87 f4 40 sub a5, s1, a5 -800005e8: e3 94 06 fa bnez a3, -88 -800005ec: b3 c6 37 03 div a3, a5, s3 -800005f0: 6f f0 9f fa j -88 -800005f4: 13 39 19 00 seqz s2, s2 -800005f8: 6b 00 09 00 -800005fc: 83 20 c1 01 lw ra, 28(sp) -80000600: 03 24 81 01 lw s0, 24(sp) -80000604: 83 24 41 01 lw s1, 20(sp) -80000608: 03 29 01 01 lw s2, 16(sp) -8000060c: 83 29 c1 00 lw s3, 12(sp) -80000610: 03 2a 81 00 lw s4, 8(sp) -80000614: 83 2a 41 00 lw s5, 4(sp) -80000618: 13 01 01 02 addi sp, sp, 32 -8000061c: 67 80 00 00 ret +800004d8 RETURN: +800004d8: 67 80 00 00 ret -80000620 vx_spawn_kernel: -80000620: 13 01 01 fc addi sp, sp, -64 -80000624: 23 2e 11 02 sw ra, 60(sp) -80000628: 23 2c 81 02 sw s0, 56(sp) -8000062c: 23 2a 91 02 sw s1, 52(sp) -80000630: 23 28 21 03 sw s2, 48(sp) -80000634: 23 26 31 03 sw s3, 44(sp) -80000638: f3 28 20 fc csrr a7, 4034 -8000063c: 73 23 10 fc csrr t1, 4033 -80000640: 73 24 00 fc csrr s0, 4032 -80000644: f3 27 50 cc csrr a5, 3269 -80000648: 13 07 f0 01 addi a4, zero, 31 -8000064c: 63 46 f7 0e blt a4, a5, 236 -80000650: 03 2e 05 00 lw t3, 0(a0) -80000654: 83 26 45 00 lw a3, 4(a0) -80000658: 03 28 85 00 lw a6, 8(a0) -8000065c: b3 0e 83 02 mul t4, t1, s0 -80000660: 13 07 10 00 addi a4, zero, 1 -80000664: b3 06 de 02 mul a3, t3, a3 -80000668: 33 88 06 03 mul a6, a3, a6 -8000066c: 63 d4 0e 01 bge t4, a6, 8 -80000670: 33 47 d8 03 div a4, a6, t4 -80000674: 63 c0 e8 0e blt a7, a4, 224 -80000678: 63 d0 e7 0c bge a5, a4, 192 -8000067c: 93 88 f8 ff addi a7, a7, -1 -80000680: b3 4e e8 02 div t4, a6, a4 -80000684: 93 84 0e 00 mv s1, t4 -80000688: 63 96 f8 00 bne a7, a5, 12 -8000068c: 33 67 e8 02 rem a4, a6, a4 -80000690: b3 04 d7 01 add s1, a4, t4 -80000694: 33 c9 84 02 div s2, s1, s0 -80000698: b3 e4 84 02 rem s1, s1, s0 -8000069c: 63 42 69 0c blt s2, t1, 196 -800006a0: 93 02 10 00 addi t0, zero, 1 -800006a4: 33 48 69 02 div a6, s2, t1 -800006a8: 63 06 08 00 beqz a6, 12 -800006ac: 93 02 08 00 mv t0, a6 -800006b0: 33 68 69 02 rem a6, s2, t1 -800006b4: d3 f7 06 d0 fcvt.s.w fa5, a3 -800006b8: 93 8f f6 ff addi t6, a3, -1 -800006bc: 13 0f fe ff addi t5, t3, -1 -800006c0: b7 19 00 80 lui s3, 524289 -800006c4: b3 f6 df 00 and a3, t6, a3 -800006c8: 93 89 c9 43 addi s3, s3, 1084 -800006cc: 93 b6 16 00 seqz a3, a3 -800006d0: 23 22 a1 00 sw a0, 4(sp) -800006d4: 23 24 b1 00 sw a1, 8(sp) -800006d8: 23 26 c1 00 sw a2, 12(sp) -800006dc: 23 2a 51 00 sw t0, 20(sp) -800006e0: 23 2c 01 01 sw a6, 24(sp) -800006e4: 23 0e d1 00 sb a3, 28(sp) -800006e8: 33 87 fe 02 mul a4, t4, a5 -800006ec: d3 8e 07 e0 fmv.x.w t4, fa5 -800006f0: d3 77 0e d0 fcvt.s.w fa5, t3 -800006f4: 93 97 27 00 slli a5, a5, 2 -800006f8: 33 7e cf 01 and t3, t5, t3 -800006fc: d3 88 07 e0 fmv.x.w a7, fa5 -80000700: 93 de 7e 41 srai t4, t4, 23 -80000704: 13 3e 1e 00 seqz t3, t3 -80000708: 93 d8 78 41 srai a7, a7, 23 -8000070c: 93 8e 1e f8 addi t4, t4, -127 -80000710: 93 88 18 f8 addi a7, a7, -127 -80000714: b3 87 f9 00 add a5, s3, a5 -80000718: 23 28 e1 00 sw a4, 16(sp) -8000071c: 13 07 41 00 addi a4, sp, 4 -80000720: a3 0e c1 01 sb t3, 29(sp) -80000724: 23 0f d1 01 sb t4, 30(sp) -80000728: a3 0f 11 01 sb a7, 31(sp) -8000072c: 23 a0 e7 00 sw a4, 0(a5) -80000730: 63 4e 20 03 bgtz s2, 60 -80000734: 63 9c 04 04 bnez s1, 88 -80000738: 83 20 c1 03 lw ra, 60(sp) -8000073c: 03 24 81 03 lw s0, 56(sp) -80000740: 83 24 41 03 lw s1, 52(sp) -80000744: 03 29 01 03 lw s2, 48(sp) -80000748: 83 29 c1 02 lw s3, 44(sp) -8000074c: 13 01 01 04 addi sp, sp, 64 -80000750: 67 80 00 00 ret -80000754: 13 87 08 00 mv a4, a7 -80000758: e3 c2 e7 f2 blt a5, a4, -220 -8000075c: 6f f0 df fd j -36 -80000760: 13 08 00 00 mv a6, zero -80000764: 93 02 10 00 addi t0, zero, 1 -80000768: 6f f0 df f4 j -180 -8000076c: 13 07 09 00 mv a4, s2 -80000770: 63 54 23 01 bge t1, s2, 8 -80000774: 13 07 03 00 mv a4, t1 -80000778: b7 07 00 80 lui a5, 524288 -8000077c: 93 87 87 4d addi a5, a5, 1240 -80000780: 6b 10 f7 00 -80000784: ef f0 5f d5 jal -684 -80000788: e3 88 04 fa beqz s1, -80 -8000078c: 33 04 89 02 mul s0, s2, s0 -80000790: 23 28 81 00 sw s0, 16(sp) -80000794: 6b 80 04 00 -80000798: 73 27 50 cc csrr a4, 3269 -8000079c: f3 27 20 cc csrr a5, 3266 -800007a0: 13 17 27 00 slli a4, a4, 2 -800007a4: b3 89 e9 00 add s3, s3, a4 -800007a8: 03 a5 09 00 lw a0, 0(s3) -800007ac: 83 25 05 00 lw a1, 0(a0) -800007b0: 83 26 c5 00 lw a3, 12(a0) -800007b4: 03 47 85 01 lbu a4, 24(a0) -800007b8: 03 a8 05 00 lw a6, 0(a1) -800007bc: 03 a6 45 00 lw a2, 4(a1) -800007c0: b3 87 d7 00 add a5, a5, a3 -800007c4: 33 06 c8 02 mul a2, a6, a2 -800007c8: 63 0e 07 06 beqz a4, 124 -800007cc: 03 47 a5 01 lbu a4, 26(a0) -800007d0: 33 d7 e7 40 sra a4, a5, a4 -800007d4: 83 46 95 01 lbu a3, 25(a0) -800007d8: 33 06 e6 02 mul a2, a2, a4 -800007dc: b3 87 c7 40 sub a5, a5, a2 -800007e0: 63 8e 06 04 beqz a3, 92 -800007e4: 83 48 b5 01 lbu a7, 27(a0) -800007e8: b3 d8 17 41 sra a7, a5, a7 -800007ec: 33 08 18 03 mul a6, a6, a7 -800007f0: 03 ae 45 01 lw t3, 20(a1) -800007f4: 83 a6 05 01 lw a3, 16(a1) -800007f8: 03 a6 c5 00 lw a2, 12(a1) -800007fc: 03 23 45 00 lw t1, 4(a0) -80000800: 03 25 85 00 lw a0, 8(a0) -80000804: 33 07 c7 01 add a4, a4, t3 -80000808: b3 86 d8 00 add a3, a7, a3 -8000080c: b3 87 07 41 sub a5, a5, a6 -80000810: 33 86 c7 00 add a2, a5, a2 -80000814: e7 00 03 00 jalr t1 -80000818: 93 07 10 00 addi a5, zero, 1 -8000081c: 6b 80 07 00 -80000820: 83 20 c1 03 lw ra, 60(sp) -80000824: 03 24 81 03 lw s0, 56(sp) -80000828: 83 24 41 03 lw s1, 52(sp) -8000082c: 03 29 01 03 lw s2, 48(sp) -80000830: 83 29 c1 02 lw s3, 44(sp) -80000834: 13 01 01 04 addi sp, sp, 64 -80000838: 67 80 00 00 ret -8000083c: b3 c8 07 03 div a7, a5, a6 -80000840: 6f f0 df fa j -84 -80000844: 33 c7 c7 02 div a4, a5, a2 -80000848: 6f f0 df f8 j -116 +800004dc __libc_init_array: +800004dc: 13 01 01 ff addi sp, sp, -16 +800004e0: 23 24 81 00 sw s0, 8(sp) +800004e4: 23 20 21 01 sw s2, 0(sp) +800004e8: 37 14 00 80 lui s0, 524289 +800004ec: 37 19 00 80 lui s2, 524289 +800004f0: 93 07 04 00 mv a5, s0 +800004f4: 13 09 09 00 mv s2, s2 +800004f8: 33 09 f9 40 sub s2, s2, a5 +800004fc: 23 26 11 00 sw ra, 12(sp) +80000500: 23 22 91 00 sw s1, 4(sp) +80000504: 13 59 29 40 srai s2, s2, 2 +80000508: 63 00 09 02 beqz s2, 32 +8000050c: 13 04 04 00 mv s0, s0 +80000510: 93 04 00 00 mv s1, zero +80000514: 83 27 04 00 lw a5, 0(s0) +80000518: 93 84 14 00 addi s1, s1, 1 +8000051c: 13 04 44 00 addi s0, s0, 4 +80000520: e7 80 07 00 jalr a5 +80000524: e3 18 99 fe bne s2, s1, -16 +80000528: 37 14 00 80 lui s0, 524289 +8000052c: 37 19 00 80 lui s2, 524289 +80000530: 93 07 04 00 mv a5, s0 +80000534: 13 09 49 00 addi s2, s2, 4 +80000538: 33 09 f9 40 sub s2, s2, a5 +8000053c: 13 59 29 40 srai s2, s2, 2 +80000540: 63 00 09 02 beqz s2, 32 +80000544: 13 04 04 00 mv s0, s0 +80000548: 93 04 00 00 mv s1, zero +8000054c: 83 27 04 00 lw a5, 0(s0) +80000550: 93 84 14 00 addi s1, s1, 1 +80000554: 13 04 44 00 addi s0, s0, 4 +80000558: e7 80 07 00 jalr a5 +8000055c: e3 18 99 fe bne s2, s1, -16 +80000560: 83 20 c1 00 lw ra, 12(sp) +80000564: 03 24 81 00 lw s0, 8(sp) +80000568: 83 24 41 00 lw s1, 4(sp) +8000056c: 03 29 01 00 lw s2, 0(sp) +80000570: 13 01 01 01 addi sp, sp, 16 +80000574: 67 80 00 00 ret -8000084c vx_perf_dump: -8000084c: f3 27 50 cc csrr a5, 3269 -80000850: 37 07 ff 00 lui a4, 4080 -80000854: b3 87 e7 00 add a5, a5, a4 -80000858: 93 97 87 00 slli a5, a5, 8 -8000085c: 73 27 00 b0 csrr a4, mcycle -80000860: 23 a0 e7 00 sw a4, 0(a5) -80000864: 73 27 10 b0 csrr a4, 2817 -80000868: 23 a2 e7 00 sw a4, 4(a5) -8000086c: 73 27 20 b0 csrr a4, minstret -80000870: 23 a4 e7 00 sw a4, 8(a5) -80000874: 73 27 30 b0 csrr a4, mhpmcounter3 -80000878: 23 a6 e7 00 sw a4, 12(a5) -8000087c: 73 27 40 b0 csrr a4, mhpmcounter4 -80000880: 23 a8 e7 00 sw a4, 16(a5) -80000884: 73 27 50 b0 csrr a4, mhpmcounter5 -80000888: 23 aa e7 00 sw a4, 20(a5) -8000088c: 73 27 60 b0 csrr a4, mhpmcounter6 -80000890: 23 ac e7 00 sw a4, 24(a5) -80000894: 73 27 70 b0 csrr a4, mhpmcounter7 -80000898: 23 ae e7 00 sw a4, 28(a5) -8000089c: 73 27 80 b0 csrr a4, mhpmcounter8 -800008a0: 23 a0 e7 02 sw a4, 32(a5) -800008a4: 73 27 90 b0 csrr a4, mhpmcounter9 -800008a8: 23 a2 e7 02 sw a4, 36(a5) -800008ac: 73 27 a0 b0 csrr a4, mhpmcounter10 -800008b0: 23 a4 e7 02 sw a4, 40(a5) -800008b4: 73 27 b0 b0 csrr a4, mhpmcounter11 -800008b8: 23 a6 e7 02 sw a4, 44(a5) -800008bc: 73 27 c0 b0 csrr a4, mhpmcounter12 -800008c0: 23 a8 e7 02 sw a4, 48(a5) -800008c4: 73 27 d0 b0 csrr a4, mhpmcounter13 -800008c8: 23 aa e7 02 sw a4, 52(a5) -800008cc: 73 27 e0 b0 csrr a4, mhpmcounter14 -800008d0: 23 ac e7 02 sw a4, 56(a5) -800008d4: 73 27 f0 b0 csrr a4, mhpmcounter15 -800008d8: 23 ae e7 02 sw a4, 60(a5) -800008dc: 73 27 00 b1 csrr a4, mhpmcounter16 -800008e0: 23 a0 e7 04 sw a4, 64(a5) -800008e4: 73 27 10 b1 csrr a4, mhpmcounter17 -800008e8: 23 a2 e7 04 sw a4, 68(a5) -800008ec: 73 27 20 b1 csrr a4, mhpmcounter18 -800008f0: 23 a4 e7 04 sw a4, 72(a5) -800008f4: 73 27 30 b1 csrr a4, mhpmcounter19 -800008f8: 23 a6 e7 04 sw a4, 76(a5) -800008fc: 73 27 40 b1 csrr a4, mhpmcounter20 -80000900: 23 a8 e7 04 sw a4, 80(a5) -80000904: 73 27 50 b1 csrr a4, mhpmcounter21 -80000908: 23 aa e7 04 sw a4, 84(a5) -8000090c: 73 27 60 b1 csrr a4, mhpmcounter22 -80000910: 23 ac e7 04 sw a4, 88(a5) -80000914: 73 27 70 b1 csrr a4, mhpmcounter23 -80000918: 23 ae e7 04 sw a4, 92(a5) -8000091c: 73 27 80 b1 csrr a4, mhpmcounter24 -80000920: 23 a0 e7 06 sw a4, 96(a5) -80000924: 73 27 90 b1 csrr a4, mhpmcounter25 -80000928: 23 a2 e7 06 sw a4, 100(a5) -8000092c: 73 27 a0 b1 csrr a4, mhpmcounter26 -80000930: 23 a4 e7 06 sw a4, 104(a5) -80000934: 73 27 b0 b1 csrr a4, mhpmcounter27 -80000938: 23 a6 e7 06 sw a4, 108(a5) -8000093c: 73 27 c0 b1 csrr a4, mhpmcounter28 -80000940: 23 a8 e7 06 sw a4, 112(a5) -80000944: 73 27 d0 b1 csrr a4, mhpmcounter29 -80000948: 23 aa e7 06 sw a4, 116(a5) -8000094c: 73 27 e0 b1 csrr a4, mhpmcounter30 -80000950: 23 ac e7 06 sw a4, 120(a5) -80000954: 73 27 f0 b1 csrr a4, mhpmcounter31 -80000958: 23 ae e7 06 sw a4, 124(a5) -8000095c: 73 27 00 b8 csrr a4, mcycleh -80000960: 23 a0 e7 08 sw a4, 128(a5) -80000964: 73 27 10 b8 csrr a4, 2945 -80000968: 23 a2 e7 08 sw a4, 132(a5) -8000096c: 73 27 20 b8 csrr a4, minstreth -80000970: 23 a4 e7 08 sw a4, 136(a5) -80000974: 73 27 30 b8 csrr a4, mhpmcounter3h -80000978: 23 a6 e7 08 sw a4, 140(a5) -8000097c: 73 27 40 b8 csrr a4, mhpmcounter4h -80000980: 23 a8 e7 08 sw a4, 144(a5) -80000984: 73 27 50 b8 csrr a4, mhpmcounter5h -80000988: 23 aa e7 08 sw a4, 148(a5) -8000098c: 73 27 60 b8 csrr a4, mhpmcounter6h -80000990: 23 ac e7 08 sw a4, 152(a5) -80000994: 73 27 70 b8 csrr a4, mhpmcounter7h -80000998: 23 ae e7 08 sw a4, 156(a5) -8000099c: 73 27 80 b8 csrr a4, mhpmcounter8h -800009a0: 23 a0 e7 0a sw a4, 160(a5) -800009a4: 73 27 90 b8 csrr a4, mhpmcounter9h -800009a8: 23 a2 e7 0a sw a4, 164(a5) -800009ac: 73 27 a0 b8 csrr a4, mhpmcounter10h -800009b0: 23 a4 e7 0a sw a4, 168(a5) -800009b4: 73 27 b0 b8 csrr a4, mhpmcounter11h -800009b8: 23 a6 e7 0a sw a4, 172(a5) -800009bc: 73 27 c0 b8 csrr a4, mhpmcounter12h -800009c0: 23 a8 e7 0a sw a4, 176(a5) -800009c4: 73 27 d0 b8 csrr a4, mhpmcounter13h -800009c8: 23 aa e7 0a sw a4, 180(a5) -800009cc: 73 27 e0 b8 csrr a4, mhpmcounter14h -800009d0: 23 ac e7 0a sw a4, 184(a5) -800009d4: 73 27 f0 b8 csrr a4, mhpmcounter15h -800009d8: 23 ae e7 0a sw a4, 188(a5) -800009dc: 73 27 00 b9 csrr a4, mhpmcounter16h -800009e0: 23 a0 e7 0c sw a4, 192(a5) -800009e4: 73 27 10 b9 csrr a4, mhpmcounter17h -800009e8: 23 a2 e7 0c sw a4, 196(a5) -800009ec: 73 27 20 b9 csrr a4, mhpmcounter18h -800009f0: 23 a4 e7 0c sw a4, 200(a5) -800009f4: 73 27 30 b9 csrr a4, mhpmcounter19h -800009f8: 23 a6 e7 0c sw a4, 204(a5) -800009fc: 73 27 40 b9 csrr a4, mhpmcounter20h -80000a00: 23 a8 e7 0c sw a4, 208(a5) -80000a04: 73 27 50 b9 csrr a4, mhpmcounter21h -80000a08: 23 aa e7 0c sw a4, 212(a5) -80000a0c: 73 27 60 b9 csrr a4, mhpmcounter22h -80000a10: 23 ac e7 0c sw a4, 216(a5) -80000a14: 73 27 70 b9 csrr a4, mhpmcounter23h -80000a18: 23 ae e7 0c sw a4, 220(a5) -80000a1c: 73 27 80 b9 csrr a4, mhpmcounter24h -80000a20: 23 a0 e7 0e sw a4, 224(a5) -80000a24: 73 27 90 b9 csrr a4, mhpmcounter25h -80000a28: 23 a2 e7 0e sw a4, 228(a5) -80000a2c: 73 27 a0 b9 csrr a4, mhpmcounter26h -80000a30: 23 a4 e7 0e sw a4, 232(a5) -80000a34: 73 27 b0 b9 csrr a4, mhpmcounter27h -80000a38: 23 a6 e7 0e sw a4, 236(a5) -80000a3c: 73 27 c0 b9 csrr a4, mhpmcounter28h -80000a40: 23 a8 e7 0e sw a4, 240(a5) -80000a44: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000a48: 23 aa e7 0e sw a4, 244(a5) -80000a4c: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000a50: 23 ac e7 0e sw a4, 248(a5) -80000a54: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000a58: 23 ae e7 0e sw a4, 252(a5) -80000a5c: 67 80 00 00 ret +80000578 __libc_fini_array: +80000578: 13 01 01 ff addi sp, sp, -16 +8000057c: 23 24 81 00 sw s0, 8(sp) +80000580: b7 17 00 80 lui a5, 524289 +80000584: 37 14 00 80 lui s0, 524289 +80000588: 13 04 44 00 addi s0, s0, 4 +8000058c: 93 87 47 00 addi a5, a5, 4 +80000590: b3 87 87 40 sub a5, a5, s0 +80000594: 23 22 91 00 sw s1, 4(sp) +80000598: 23 26 11 00 sw ra, 12(sp) +8000059c: 93 d4 27 40 srai s1, a5, 2 +800005a0: 63 80 04 02 beqz s1, 32 +800005a4: 93 87 c7 ff addi a5, a5, -4 +800005a8: 33 84 87 00 add s0, a5, s0 +800005ac: 83 27 04 00 lw a5, 0(s0) +800005b0: 93 84 f4 ff addi s1, s1, -1 +800005b4: 13 04 c4 ff addi s0, s0, -4 +800005b8: e7 80 07 00 jalr a5 +800005bc: e3 98 04 fe bnez s1, -16 +800005c0: 83 20 c1 00 lw ra, 12(sp) +800005c4: 03 24 81 00 lw s0, 8(sp) +800005c8: 83 24 41 00 lw s1, 4(sp) +800005cc: 13 01 01 01 addi sp, sp, 16 +800005d0: 67 80 00 00 ret -80000a60 sqrtf: -80000a60: 13 01 01 fe addi sp, sp, -32 -80000a64: 27 26 81 00 fsw fs0, 12(sp) -80000a68: 23 2e 11 00 sw ra, 28(sp) -80000a6c: 53 04 a5 20 fmv.s fs0, fa0 -80000a70: 27 24 91 00 fsw fs1, 8(sp) -80000a74: ef 00 00 06 jal 96 -80000a78: b7 17 00 80 lui a5, 524289 -80000a7c: 03 a7 87 43 lw a4, 1080(a5) -80000a80: 93 07 f0 ff addi a5, zero, -1 -80000a84: 63 0c f7 00 beq a4, a5, 24 -80000a88: d3 27 84 a0 feq.s a5, fs0, fs0 -80000a8c: 63 88 07 00 beqz a5, 16 -80000a90: d3 04 00 f0 fmv.w.x fs1, zero -80000a94: d3 17 94 a0 flt.s a5, fs0, fs1 -80000a98: 63 9c 07 00 bnez a5, 24 -80000a9c: 83 20 c1 01 lw ra, 28(sp) -80000aa0: 07 24 c1 00 flw fs0, 12(sp) -80000aa4: 87 24 81 00 flw fs1, 8(sp) -80000aa8: 13 01 01 02 addi sp, sp, 32 -80000aac: 67 80 00 00 ret -80000ab0: ef 00 40 14 jal 324 -80000ab4: 83 20 c1 01 lw ra, 28(sp) -80000ab8: 93 07 10 02 addi a5, zero, 33 -80000abc: 23 20 f5 00 sw a5, 0(a0) -80000ac0: 53 f5 94 18 fdiv.s fa0, fs1, fs1 -80000ac4: 07 24 c1 00 flw fs0, 12(sp) -80000ac8: 87 24 81 00 flw fs1, 8(sp) -80000acc: 13 01 01 02 addi sp, sp, 32 -80000ad0: 67 80 00 00 ret +800005d4 spawn_kernel_callback: +800005d4: 13 01 01 fe addi sp, sp, -32 +800005d8: 23 2e 11 00 sw ra, 28(sp) +800005dc: 23 2c 81 00 sw s0, 24(sp) +800005e0: 23 2a 91 00 sw s1, 20(sp) +800005e4: 23 28 21 01 sw s2, 16(sp) +800005e8: 23 26 31 01 sw s3, 12(sp) +800005ec: 23 24 41 01 sw s4, 8(sp) +800005f0: 23 22 51 01 sw s5, 4(sp) +800005f4: 93 07 f0 ff addi a5, zero, -1 +800005f8: 6b 80 07 00 +800005fc: f3 26 50 cc csrr a3, 3269 +80000600: 73 29 30 cc csrr s2, 3267 +80000604: 73 27 00 cc csrr a4, 3264 +80000608: 73 26 00 fc csrr a2, 4032 +8000060c: b7 17 00 80 lui a5, 524289 +80000610: 93 96 26 00 slli a3, a3, 2 +80000614: 93 87 c7 43 addi a5, a5, 1084 +80000618: b3 87 d7 00 add a5, a5, a3 +8000061c: 03 a4 07 00 lw s0, 0(a5) +80000620: 83 24 44 01 lw s1, 20(s0) +80000624: 83 26 04 01 lw a3, 16(s0) +80000628: b3 2a 99 00 slt s5, s2, s1 +8000062c: 93 87 04 00 mv a5, s1 +80000630: b3 8a da 00 add s5, s5, a3 +80000634: b3 84 26 03 mul s1, a3, s2 +80000638: 63 54 f9 00 bge s2, a5, 8 +8000063c: 93 07 09 00 mv a5, s2 +80000640: b3 84 f4 00 add s1, s1, a5 +80000644: 83 25 04 00 lw a1, 0(s0) +80000648: 83 26 c4 00 lw a3, 12(s0) +8000064c: 83 a9 05 00 lw s3, 0(a1) +80000650: 03 aa 45 00 lw s4, 4(a1) +80000654: b3 84 c4 02 mul s1, s1, a2 +80000658: b3 87 ea 02 mul a5, s5, a4 +8000065c: b3 84 d4 00 add s1, s1, a3 +80000660: b3 84 f4 00 add s1, s1, a5 +80000664: b3 8a 9a 00 add s5, s5, s1 +80000668: 33 8a 49 03 mul s4, s3, s4 +8000066c: 63 c0 54 07 blt s1, s5, 96 +80000670: 6f 00 00 08 j 128 +80000674: 03 47 a4 01 lbu a4, 26(s0) +80000678: 83 46 94 01 lbu a3, 25(s0) +8000067c: 33 d7 e4 40 sra a4, s1, a4 +80000680: b3 07 47 03 mul a5, a4, s4 +80000684: b3 87 f4 40 sub a5, s1, a5 +80000688: 63 80 06 06 beqz a3, 96 +8000068c: 83 46 b4 01 lbu a3, 27(s0) +80000690: b3 d6 d7 40 sra a3, a5, a3 +80000694: b3 88 36 03 mul a7, a3, s3 +80000698: 03 ae 45 01 lw t3, 20(a1) +8000069c: 03 a3 05 01 lw t1, 16(a1) +800006a0: 03 a6 c5 00 lw a2, 12(a1) +800006a4: 03 28 44 00 lw a6, 4(s0) +800006a8: 03 25 84 00 lw a0, 8(s0) +800006ac: 93 84 14 00 addi s1, s1, 1 +800006b0: 33 07 c7 01 add a4, a4, t3 +800006b4: b3 86 66 00 add a3, a3, t1 +800006b8: b3 87 17 41 sub a5, a5, a7 +800006bc: 33 86 c7 00 add a2, a5, a2 +800006c0: e7 00 08 00 jalr a6 +800006c4: 63 86 9a 02 beq s5, s1, 44 +800006c8: 83 25 04 00 lw a1, 0(s0) +800006cc: 83 47 84 01 lbu a5, 24(s0) +800006d0: e3 92 07 fa bnez a5, -92 +800006d4: 33 c7 44 03 div a4, s1, s4 +800006d8: 83 46 94 01 lbu a3, 25(s0) +800006dc: b3 07 47 03 mul a5, a4, s4 +800006e0: b3 87 f4 40 sub a5, s1, a5 +800006e4: e3 94 06 fa bnez a3, -88 +800006e8: b3 c6 37 03 div a3, a5, s3 +800006ec: 6f f0 9f fa j -88 +800006f0: 13 39 19 00 seqz s2, s2 +800006f4: 6b 00 09 00 +800006f8: 83 20 c1 01 lw ra, 28(sp) +800006fc: 03 24 81 01 lw s0, 24(sp) +80000700: 83 24 41 01 lw s1, 20(sp) +80000704: 03 29 01 01 lw s2, 16(sp) +80000708: 83 29 c1 00 lw s3, 12(sp) +8000070c: 03 2a 81 00 lw s4, 8(sp) +80000710: 83 2a 41 00 lw s5, 4(sp) +80000714: 13 01 01 02 addi sp, sp, 32 +80000718: 67 80 00 00 ret -80000ad4 __ieee754_sqrtf: -80000ad4: d3 06 05 e0 fmv.x.w a3, fa0 -80000ad8: 37 07 80 7f lui a4, 522240 -80000adc: 93 97 16 00 slli a5, a3, 1 -80000ae0: 93 d7 17 00 srli a5, a5, 1 -80000ae4: 63 f2 e7 0c bgeu a5, a4, 196 -80000ae8: 53 05 05 e0 fmv.x.w a0, fa0 -80000aec: 63 8a 07 0a beqz a5, 180 -80000af0: 93 87 06 00 mv a5, a3 -80000af4: 63 c6 06 0c bltz a3, 204 -80000af8: 33 76 d7 00 and a2, a4, a3 -80000afc: 13 d7 76 41 srai a4, a3, 23 -80000b00: 63 14 06 02 bnez a2, 40 -80000b04: 37 06 80 00 lui a2, 2048 -80000b08: b3 76 d6 00 and a3, a2, a3 -80000b0c: 63 94 06 0c bnez a3, 200 -80000b10: 93 97 17 00 slli a5, a5, 1 -80000b14: 93 95 87 00 slli a1, a5, 8 -80000b18: 13 86 06 00 mv a2, a3 -80000b1c: 93 86 16 00 addi a3, a3, 1 -80000b20: e3 d8 05 fe bgez a1, -16 -80000b24: 33 07 c7 40 sub a4, a4, a2 -80000b28: b7 06 80 00 lui a3, 2048 -80000b2c: 13 86 f6 ff addi a2, a3, -1 -80000b30: b3 f7 c7 00 and a5, a5, a2 -80000b34: 13 07 17 f8 addi a4, a4, -127 -80000b38: b3 e6 d7 00 or a3, a5, a3 -80000b3c: 13 76 17 00 andi a2, a4, 1 -80000b40: 93 97 16 00 slli a5, a3, 1 -80000b44: 63 1a 06 06 bnez a2, 116 -80000b48: 13 58 17 40 srai a6, a4, 1 -80000b4c: 93 06 90 01 addi a3, zero, 25 -80000b50: 13 05 00 00 mv a0, zero -80000b54: 93 05 00 00 mv a1, zero -80000b58: 37 07 00 01 lui a4, 4096 -80000b5c: 33 86 e5 00 add a2, a1, a4 -80000b60: 93 86 f6 ff addi a3, a3, -1 -80000b64: 63 c8 c7 00 blt a5, a2, 16 -80000b68: b3 05 e6 00 add a1, a2, a4 -80000b6c: b3 87 c7 40 sub a5, a5, a2 -80000b70: 33 05 e5 00 add a0, a0, a4 -80000b74: 93 97 17 00 slli a5, a5, 1 -80000b78: 13 57 17 00 srli a4, a4, 1 -80000b7c: e3 90 06 fe bnez a3, -32 -80000b80: 63 86 07 00 beqz a5, 12 -80000b84: 13 05 15 00 addi a0, a0, 1 -80000b88: 13 75 e5 ff andi a0, a0, -2 -80000b8c: 13 55 15 40 srai a0, a0, 1 -80000b90: b7 07 00 3f lui a5, 258048 -80000b94: 33 05 f5 00 add a0, a0, a5 -80000b98: 13 17 78 01 slli a4, a6, 23 -80000b9c: 33 05 a7 00 add a0, a4, a0 -80000ba0: 53 05 05 f0 fmv.w.x fa0, a0 -80000ba4: 67 80 00 00 ret -80000ba8: c3 77 a5 50 fmadd.s fa5, fa0, fa0, fa0 -80000bac: 53 85 07 e0 fmv.x.w a0, fa5 -80000bb0: 53 05 05 f0 fmv.w.x fa0, a0 -80000bb4: 67 80 00 00 ret -80000bb8: 93 97 26 00 slli a5, a3, 2 -80000bbc: 6f f0 df f8 j -116 -80000bc0: d3 77 a5 08 fsub.s fa5, fa0, fa0 -80000bc4: d3 f7 f7 18 fdiv.s fa5, fa5, fa5 -80000bc8: 53 85 07 e0 fmv.x.w a0, fa5 -80000bcc: 53 05 05 f0 fmv.w.x fa0, a0 -80000bd0: 67 80 00 00 ret -80000bd4: 13 06 f0 ff addi a2, zero, -1 -80000bd8: 33 07 c7 40 sub a4, a4, a2 -80000bdc: 6f f0 df f4 j -180 +8000071c vx_spawn_kernel: +8000071c: 13 01 01 fc addi sp, sp, -64 +80000720: 23 2e 11 02 sw ra, 60(sp) +80000724: 23 2c 81 02 sw s0, 56(sp) +80000728: 23 2a 91 02 sw s1, 52(sp) +8000072c: 23 28 21 03 sw s2, 48(sp) +80000730: 23 26 31 03 sw s3, 44(sp) +80000734: f3 28 20 fc csrr a7, 4034 +80000738: 73 23 10 fc csrr t1, 4033 +8000073c: 73 24 00 fc csrr s0, 4032 +80000740: f3 27 50 cc csrr a5, 3269 +80000744: 13 07 f0 01 addi a4, zero, 31 +80000748: 63 46 f7 0e blt a4, a5, 236 +8000074c: 03 2e 05 00 lw t3, 0(a0) +80000750: 83 26 45 00 lw a3, 4(a0) +80000754: 03 28 85 00 lw a6, 8(a0) +80000758: b3 0e 83 02 mul t4, t1, s0 +8000075c: 13 07 10 00 addi a4, zero, 1 +80000760: b3 06 de 02 mul a3, t3, a3 +80000764: 33 88 06 03 mul a6, a3, a6 +80000768: 63 d4 0e 01 bge t4, a6, 8 +8000076c: 33 47 d8 03 div a4, a6, t4 +80000770: 63 c0 e8 0e blt a7, a4, 224 +80000774: 63 d0 e7 0c bge a5, a4, 192 +80000778: 93 88 f8 ff addi a7, a7, -1 +8000077c: b3 4e e8 02 div t4, a6, a4 +80000780: 93 84 0e 00 mv s1, t4 +80000784: 63 96 f8 00 bne a7, a5, 12 +80000788: 33 67 e8 02 rem a4, a6, a4 +8000078c: b3 04 d7 01 add s1, a4, t4 +80000790: 33 c9 84 02 div s2, s1, s0 +80000794: b3 e4 84 02 rem s1, s1, s0 +80000798: 63 42 69 0c blt s2, t1, 196 +8000079c: 93 02 10 00 addi t0, zero, 1 +800007a0: 33 48 69 02 div a6, s2, t1 +800007a4: 63 06 08 00 beqz a6, 12 +800007a8: 93 02 08 00 mv t0, a6 +800007ac: 33 68 69 02 rem a6, s2, t1 +800007b0: d3 f7 06 d0 fcvt.s.w fa5, a3 +800007b4: 93 8f f6 ff addi t6, a3, -1 +800007b8: 13 0f fe ff addi t5, t3, -1 +800007bc: b7 19 00 80 lui s3, 524289 +800007c0: b3 f6 df 00 and a3, t6, a3 +800007c4: 93 89 c9 43 addi s3, s3, 1084 +800007c8: 93 b6 16 00 seqz a3, a3 +800007cc: 23 22 a1 00 sw a0, 4(sp) +800007d0: 23 24 b1 00 sw a1, 8(sp) +800007d4: 23 26 c1 00 sw a2, 12(sp) +800007d8: 23 2a 51 00 sw t0, 20(sp) +800007dc: 23 2c 01 01 sw a6, 24(sp) +800007e0: 23 0e d1 00 sb a3, 28(sp) +800007e4: 33 87 fe 02 mul a4, t4, a5 +800007e8: d3 8e 07 e0 fmv.x.w t4, fa5 +800007ec: d3 77 0e d0 fcvt.s.w fa5, t3 +800007f0: 93 97 27 00 slli a5, a5, 2 +800007f4: 33 7e cf 01 and t3, t5, t3 +800007f8: d3 88 07 e0 fmv.x.w a7, fa5 +800007fc: 93 de 7e 41 srai t4, t4, 23 +80000800: 13 3e 1e 00 seqz t3, t3 +80000804: 93 d8 78 41 srai a7, a7, 23 +80000808: 93 8e 1e f8 addi t4, t4, -127 +8000080c: 93 88 18 f8 addi a7, a7, -127 +80000810: b3 87 f9 00 add a5, s3, a5 +80000814: 23 28 e1 00 sw a4, 16(sp) +80000818: 13 07 41 00 addi a4, sp, 4 +8000081c: a3 0e c1 01 sb t3, 29(sp) +80000820: 23 0f d1 01 sb t4, 30(sp) +80000824: a3 0f 11 01 sb a7, 31(sp) +80000828: 23 a0 e7 00 sw a4, 0(a5) +8000082c: 63 4e 20 03 bgtz s2, 60 +80000830: 63 9c 04 04 bnez s1, 88 +80000834: 83 20 c1 03 lw ra, 60(sp) +80000838: 03 24 81 03 lw s0, 56(sp) +8000083c: 83 24 41 03 lw s1, 52(sp) +80000840: 03 29 01 03 lw s2, 48(sp) +80000844: 83 29 c1 02 lw s3, 44(sp) +80000848: 13 01 01 04 addi sp, sp, 64 +8000084c: 67 80 00 00 ret +80000850: 13 87 08 00 mv a4, a7 +80000854: e3 c2 e7 f2 blt a5, a4, -220 +80000858: 6f f0 df fd j -36 +8000085c: 13 08 00 00 mv a6, zero +80000860: 93 02 10 00 addi t0, zero, 1 +80000864: 6f f0 df f4 j -180 +80000868: 13 07 09 00 mv a4, s2 +8000086c: 63 54 23 01 bge t1, s2, 8 +80000870: 13 07 03 00 mv a4, t1 +80000874: b7 07 00 80 lui a5, 524288 +80000878: 93 87 47 5d addi a5, a5, 1492 +8000087c: 6b 10 f7 00 +80000880: ef f0 5f d5 jal -684 +80000884: e3 88 04 fa beqz s1, -80 +80000888: 33 04 89 02 mul s0, s2, s0 +8000088c: 23 28 81 00 sw s0, 16(sp) +80000890: 6b 80 04 00 +80000894: 73 27 50 cc csrr a4, 3269 +80000898: f3 27 20 cc csrr a5, 3266 +8000089c: 13 17 27 00 slli a4, a4, 2 +800008a0: b3 89 e9 00 add s3, s3, a4 +800008a4: 03 a5 09 00 lw a0, 0(s3) +800008a8: 83 25 05 00 lw a1, 0(a0) +800008ac: 83 26 c5 00 lw a3, 12(a0) +800008b0: 03 47 85 01 lbu a4, 24(a0) +800008b4: 03 a8 05 00 lw a6, 0(a1) +800008b8: 03 a6 45 00 lw a2, 4(a1) +800008bc: b3 87 d7 00 add a5, a5, a3 +800008c0: 33 06 c8 02 mul a2, a6, a2 +800008c4: 63 0e 07 06 beqz a4, 124 +800008c8: 03 47 a5 01 lbu a4, 26(a0) +800008cc: 33 d7 e7 40 sra a4, a5, a4 +800008d0: 83 46 95 01 lbu a3, 25(a0) +800008d4: 33 06 e6 02 mul a2, a2, a4 +800008d8: b3 87 c7 40 sub a5, a5, a2 +800008dc: 63 8e 06 04 beqz a3, 92 +800008e0: 83 48 b5 01 lbu a7, 27(a0) +800008e4: b3 d8 17 41 sra a7, a5, a7 +800008e8: 33 08 18 03 mul a6, a6, a7 +800008ec: 03 ae 45 01 lw t3, 20(a1) +800008f0: 83 a6 05 01 lw a3, 16(a1) +800008f4: 03 a6 c5 00 lw a2, 12(a1) +800008f8: 03 23 45 00 lw t1, 4(a0) +800008fc: 03 25 85 00 lw a0, 8(a0) +80000900: 33 07 c7 01 add a4, a4, t3 +80000904: b3 86 d8 00 add a3, a7, a3 +80000908: b3 87 07 41 sub a5, a5, a6 +8000090c: 33 86 c7 00 add a2, a5, a2 +80000910: e7 00 03 00 jalr t1 +80000914: 93 07 10 00 addi a5, zero, 1 +80000918: 6b 80 07 00 +8000091c: 83 20 c1 03 lw ra, 60(sp) +80000920: 03 24 81 03 lw s0, 56(sp) +80000924: 83 24 41 03 lw s1, 52(sp) +80000928: 03 29 01 03 lw s2, 48(sp) +8000092c: 83 29 c1 02 lw s3, 44(sp) +80000930: 13 01 01 04 addi sp, sp, 64 +80000934: 67 80 00 00 ret +80000938: b3 c8 07 03 div a7, a5, a6 +8000093c: 6f f0 df fa j -84 +80000940: 33 c7 c7 02 div a4, a5, a2 +80000944: 6f f0 df f8 j -116 -80000be0 atexit: -80000be0: 93 05 05 00 mv a1, a0 -80000be4: 93 06 00 00 mv a3, zero -80000be8: 13 06 00 00 mv a2, zero -80000bec: 13 05 00 00 mv a0, zero -80000bf0: 6f 00 80 21 j 536 +80000948 vx_perf_dump: +80000948: f3 27 50 cc csrr a5, 3269 +8000094c: 37 07 ff 00 lui a4, 4080 +80000950: b3 87 e7 00 add a5, a5, a4 +80000954: 93 97 87 00 slli a5, a5, 8 +80000958: 73 27 00 b0 csrr a4, mcycle +8000095c: 23 a0 e7 00 sw a4, 0(a5) +80000960: 73 27 10 b0 csrr a4, 2817 +80000964: 23 a2 e7 00 sw a4, 4(a5) +80000968: 73 27 20 b0 csrr a4, minstret +8000096c: 23 a4 e7 00 sw a4, 8(a5) +80000970: 73 27 30 b0 csrr a4, mhpmcounter3 +80000974: 23 a6 e7 00 sw a4, 12(a5) +80000978: 73 27 40 b0 csrr a4, mhpmcounter4 +8000097c: 23 a8 e7 00 sw a4, 16(a5) +80000980: 73 27 50 b0 csrr a4, mhpmcounter5 +80000984: 23 aa e7 00 sw a4, 20(a5) +80000988: 73 27 60 b0 csrr a4, mhpmcounter6 +8000098c: 23 ac e7 00 sw a4, 24(a5) +80000990: 73 27 70 b0 csrr a4, mhpmcounter7 +80000994: 23 ae e7 00 sw a4, 28(a5) +80000998: 73 27 80 b0 csrr a4, mhpmcounter8 +8000099c: 23 a0 e7 02 sw a4, 32(a5) +800009a0: 73 27 90 b0 csrr a4, mhpmcounter9 +800009a4: 23 a2 e7 02 sw a4, 36(a5) +800009a8: 73 27 a0 b0 csrr a4, mhpmcounter10 +800009ac: 23 a4 e7 02 sw a4, 40(a5) +800009b0: 73 27 b0 b0 csrr a4, mhpmcounter11 +800009b4: 23 a6 e7 02 sw a4, 44(a5) +800009b8: 73 27 c0 b0 csrr a4, mhpmcounter12 +800009bc: 23 a8 e7 02 sw a4, 48(a5) +800009c0: 73 27 d0 b0 csrr a4, mhpmcounter13 +800009c4: 23 aa e7 02 sw a4, 52(a5) +800009c8: 73 27 e0 b0 csrr a4, mhpmcounter14 +800009cc: 23 ac e7 02 sw a4, 56(a5) +800009d0: 73 27 f0 b0 csrr a4, mhpmcounter15 +800009d4: 23 ae e7 02 sw a4, 60(a5) +800009d8: 73 27 00 b1 csrr a4, mhpmcounter16 +800009dc: 23 a0 e7 04 sw a4, 64(a5) +800009e0: 73 27 10 b1 csrr a4, mhpmcounter17 +800009e4: 23 a2 e7 04 sw a4, 68(a5) +800009e8: 73 27 20 b1 csrr a4, mhpmcounter18 +800009ec: 23 a4 e7 04 sw a4, 72(a5) +800009f0: 73 27 30 b1 csrr a4, mhpmcounter19 +800009f4: 23 a6 e7 04 sw a4, 76(a5) +800009f8: 73 27 40 b1 csrr a4, mhpmcounter20 +800009fc: 23 a8 e7 04 sw a4, 80(a5) +80000a00: 73 27 50 b1 csrr a4, mhpmcounter21 +80000a04: 23 aa e7 04 sw a4, 84(a5) +80000a08: 73 27 60 b1 csrr a4, mhpmcounter22 +80000a0c: 23 ac e7 04 sw a4, 88(a5) +80000a10: 73 27 70 b1 csrr a4, mhpmcounter23 +80000a14: 23 ae e7 04 sw a4, 92(a5) +80000a18: 73 27 80 b1 csrr a4, mhpmcounter24 +80000a1c: 23 a0 e7 06 sw a4, 96(a5) +80000a20: 73 27 90 b1 csrr a4, mhpmcounter25 +80000a24: 23 a2 e7 06 sw a4, 100(a5) +80000a28: 73 27 a0 b1 csrr a4, mhpmcounter26 +80000a2c: 23 a4 e7 06 sw a4, 104(a5) +80000a30: 73 27 b0 b1 csrr a4, mhpmcounter27 +80000a34: 23 a6 e7 06 sw a4, 108(a5) +80000a38: 73 27 c0 b1 csrr a4, mhpmcounter28 +80000a3c: 23 a8 e7 06 sw a4, 112(a5) +80000a40: 73 27 d0 b1 csrr a4, mhpmcounter29 +80000a44: 23 aa e7 06 sw a4, 116(a5) +80000a48: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000a4c: 23 ac e7 06 sw a4, 120(a5) +80000a50: 73 27 f0 b1 csrr a4, mhpmcounter31 +80000a54: 23 ae e7 06 sw a4, 124(a5) +80000a58: 73 27 00 b8 csrr a4, mcycleh +80000a5c: 23 a0 e7 08 sw a4, 128(a5) +80000a60: 73 27 10 b8 csrr a4, 2945 +80000a64: 23 a2 e7 08 sw a4, 132(a5) +80000a68: 73 27 20 b8 csrr a4, minstreth +80000a6c: 23 a4 e7 08 sw a4, 136(a5) +80000a70: 73 27 30 b8 csrr a4, mhpmcounter3h +80000a74: 23 a6 e7 08 sw a4, 140(a5) +80000a78: 73 27 40 b8 csrr a4, mhpmcounter4h +80000a7c: 23 a8 e7 08 sw a4, 144(a5) +80000a80: 73 27 50 b8 csrr a4, mhpmcounter5h +80000a84: 23 aa e7 08 sw a4, 148(a5) +80000a88: 73 27 60 b8 csrr a4, mhpmcounter6h +80000a8c: 23 ac e7 08 sw a4, 152(a5) +80000a90: 73 27 70 b8 csrr a4, mhpmcounter7h +80000a94: 23 ae e7 08 sw a4, 156(a5) +80000a98: 73 27 80 b8 csrr a4, mhpmcounter8h +80000a9c: 23 a0 e7 0a sw a4, 160(a5) +80000aa0: 73 27 90 b8 csrr a4, mhpmcounter9h +80000aa4: 23 a2 e7 0a sw a4, 164(a5) +80000aa8: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000aac: 23 a4 e7 0a sw a4, 168(a5) +80000ab0: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000ab4: 23 a6 e7 0a sw a4, 172(a5) +80000ab8: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000abc: 23 a8 e7 0a sw a4, 176(a5) +80000ac0: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000ac4: 23 aa e7 0a sw a4, 180(a5) +80000ac8: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000acc: 23 ac e7 0a sw a4, 184(a5) +80000ad0: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000ad4: 23 ae e7 0a sw a4, 188(a5) +80000ad8: 73 27 00 b9 csrr a4, mhpmcounter16h +80000adc: 23 a0 e7 0c sw a4, 192(a5) +80000ae0: 73 27 10 b9 csrr a4, mhpmcounter17h +80000ae4: 23 a2 e7 0c sw a4, 196(a5) +80000ae8: 73 27 20 b9 csrr a4, mhpmcounter18h +80000aec: 23 a4 e7 0c sw a4, 200(a5) +80000af0: 73 27 30 b9 csrr a4, mhpmcounter19h +80000af4: 23 a6 e7 0c sw a4, 204(a5) +80000af8: 73 27 40 b9 csrr a4, mhpmcounter20h +80000afc: 23 a8 e7 0c sw a4, 208(a5) +80000b00: 73 27 50 b9 csrr a4, mhpmcounter21h +80000b04: 23 aa e7 0c sw a4, 212(a5) +80000b08: 73 27 60 b9 csrr a4, mhpmcounter22h +80000b0c: 23 ac e7 0c sw a4, 216(a5) +80000b10: 73 27 70 b9 csrr a4, mhpmcounter23h +80000b14: 23 ae e7 0c sw a4, 220(a5) +80000b18: 73 27 80 b9 csrr a4, mhpmcounter24h +80000b1c: 23 a0 e7 0e sw a4, 224(a5) +80000b20: 73 27 90 b9 csrr a4, mhpmcounter25h +80000b24: 23 a2 e7 0e sw a4, 228(a5) +80000b28: 73 27 a0 b9 csrr a4, mhpmcounter26h +80000b2c: 23 a4 e7 0e sw a4, 232(a5) +80000b30: 73 27 b0 b9 csrr a4, mhpmcounter27h +80000b34: 23 a6 e7 0e sw a4, 236(a5) +80000b38: 73 27 c0 b9 csrr a4, mhpmcounter28h +80000b3c: 23 a8 e7 0e sw a4, 240(a5) +80000b40: 73 27 d0 b9 csrr a4, mhpmcounter29h +80000b44: 23 aa e7 0e sw a4, 244(a5) +80000b48: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000b4c: 23 ac e7 0e sw a4, 248(a5) +80000b50: 73 27 f0 b9 csrr a4, mhpmcounter31h +80000b54: 23 ae e7 0e sw a4, 252(a5) +80000b58: 67 80 00 00 ret -80000bf4 __errno: -80000bf4: b7 17 00 80 lui a5, 524289 -80000bf8: 03 a5 47 43 lw a0, 1076(a5) -80000bfc: 67 80 00 00 ret +80000b5c sqrtf: +80000b5c: 13 01 01 fe addi sp, sp, -32 +80000b60: 27 26 81 00 fsw fs0, 12(sp) +80000b64: 23 2e 11 00 sw ra, 28(sp) +80000b68: 53 04 a5 20 fmv.s fs0, fa0 +80000b6c: 27 24 91 00 fsw fs1, 8(sp) +80000b70: ef 00 00 06 jal 96 +80000b74: b7 17 00 80 lui a5, 524289 +80000b78: 03 a7 87 43 lw a4, 1080(a5) +80000b7c: 93 07 f0 ff addi a5, zero, -1 +80000b80: 63 0c f7 00 beq a4, a5, 24 +80000b84: d3 27 84 a0 feq.s a5, fs0, fs0 +80000b88: 63 88 07 00 beqz a5, 16 +80000b8c: d3 04 00 f0 fmv.w.x fs1, zero +80000b90: d3 17 94 a0 flt.s a5, fs0, fs1 +80000b94: 63 9c 07 00 bnez a5, 24 +80000b98: 83 20 c1 01 lw ra, 28(sp) +80000b9c: 07 24 c1 00 flw fs0, 12(sp) +80000ba0: 87 24 81 00 flw fs1, 8(sp) +80000ba4: 13 01 01 02 addi sp, sp, 32 +80000ba8: 67 80 00 00 ret +80000bac: ef 00 40 14 jal 324 +80000bb0: 83 20 c1 01 lw ra, 28(sp) +80000bb4: 93 07 10 02 addi a5, zero, 33 +80000bb8: 23 20 f5 00 sw a5, 0(a0) +80000bbc: 53 f5 94 18 fdiv.s fa0, fs1, fs1 +80000bc0: 07 24 c1 00 flw fs0, 12(sp) +80000bc4: 87 24 81 00 flw fs1, 8(sp) +80000bc8: 13 01 01 02 addi sp, sp, 32 +80000bcc: 67 80 00 00 ret -80000c00 exit: -80000c00: 13 01 01 ff addi sp, sp, -16 -80000c04: 93 05 00 00 mv a1, zero -80000c08: 23 24 81 00 sw s0, 8(sp) -80000c0c: 23 26 11 00 sw ra, 12(sp) -80000c10: 13 04 05 00 mv s0, a0 -80000c14: ef 00 00 29 jal 656 -80000c18: b7 17 00 80 lui a5, 524289 -80000c1c: 03 a5 07 43 lw a0, 1072(a5) -80000c20: 83 27 c5 03 lw a5, 60(a0) -80000c24: 63 84 07 00 beqz a5, 8 -80000c28: e7 80 07 00 jalr a5 -80000c2c: 13 05 04 00 mv a0, s0 -80000c30: ef f0 1f 86 jal -1952 +80000bd0 __ieee754_sqrtf: +80000bd0: d3 06 05 e0 fmv.x.w a3, fa0 +80000bd4: 37 07 80 7f lui a4, 522240 +80000bd8: 93 97 16 00 slli a5, a3, 1 +80000bdc: 93 d7 17 00 srli a5, a5, 1 +80000be0: 63 f2 e7 0c bgeu a5, a4, 196 +80000be4: 53 05 05 e0 fmv.x.w a0, fa0 +80000be8: 63 8a 07 0a beqz a5, 180 +80000bec: 93 87 06 00 mv a5, a3 +80000bf0: 63 c6 06 0c bltz a3, 204 +80000bf4: 33 76 d7 00 and a2, a4, a3 +80000bf8: 13 d7 76 41 srai a4, a3, 23 +80000bfc: 63 14 06 02 bnez a2, 40 +80000c00: 37 06 80 00 lui a2, 2048 +80000c04: b3 76 d6 00 and a3, a2, a3 +80000c08: 63 94 06 0c bnez a3, 200 +80000c0c: 93 97 17 00 slli a5, a5, 1 +80000c10: 93 95 87 00 slli a1, a5, 8 +80000c14: 13 86 06 00 mv a2, a3 +80000c18: 93 86 16 00 addi a3, a3, 1 +80000c1c: e3 d8 05 fe bgez a1, -16 +80000c20: 33 07 c7 40 sub a4, a4, a2 +80000c24: b7 06 80 00 lui a3, 2048 +80000c28: 13 86 f6 ff addi a2, a3, -1 +80000c2c: b3 f7 c7 00 and a5, a5, a2 +80000c30: 13 07 17 f8 addi a4, a4, -127 +80000c34: b3 e6 d7 00 or a3, a5, a3 +80000c38: 13 76 17 00 andi a2, a4, 1 +80000c3c: 93 97 16 00 slli a5, a3, 1 +80000c40: 63 1a 06 06 bnez a2, 116 +80000c44: 13 58 17 40 srai a6, a4, 1 +80000c48: 93 06 90 01 addi a3, zero, 25 +80000c4c: 13 05 00 00 mv a0, zero +80000c50: 93 05 00 00 mv a1, zero +80000c54: 37 07 00 01 lui a4, 4096 +80000c58: 33 86 e5 00 add a2, a1, a4 +80000c5c: 93 86 f6 ff addi a3, a3, -1 +80000c60: 63 c8 c7 00 blt a5, a2, 16 +80000c64: b3 05 e6 00 add a1, a2, a4 +80000c68: b3 87 c7 40 sub a5, a5, a2 +80000c6c: 33 05 e5 00 add a0, a0, a4 +80000c70: 93 97 17 00 slli a5, a5, 1 +80000c74: 13 57 17 00 srli a4, a4, 1 +80000c78: e3 90 06 fe bnez a3, -32 +80000c7c: 63 86 07 00 beqz a5, 12 +80000c80: 13 05 15 00 addi a0, a0, 1 +80000c84: 13 75 e5 ff andi a0, a0, -2 +80000c88: 13 55 15 40 srai a0, a0, 1 +80000c8c: b7 07 00 3f lui a5, 258048 +80000c90: 33 05 f5 00 add a0, a0, a5 +80000c94: 13 17 78 01 slli a4, a6, 23 +80000c98: 33 05 a7 00 add a0, a4, a0 +80000c9c: 53 05 05 f0 fmv.w.x fa0, a0 +80000ca0: 67 80 00 00 ret +80000ca4: c3 77 a5 50 fmadd.s fa5, fa0, fa0, fa0 +80000ca8: 53 85 07 e0 fmv.x.w a0, fa5 +80000cac: 53 05 05 f0 fmv.w.x fa0, a0 +80000cb0: 67 80 00 00 ret +80000cb4: 93 97 26 00 slli a5, a3, 2 +80000cb8: 6f f0 df f8 j -116 +80000cbc: d3 77 a5 08 fsub.s fa5, fa0, fa0 +80000cc0: d3 f7 f7 18 fdiv.s fa5, fa5, fa5 +80000cc4: 53 85 07 e0 fmv.x.w a0, fa5 +80000cc8: 53 05 05 f0 fmv.w.x fa0, a0 +80000ccc: 67 80 00 00 ret +80000cd0: 13 06 f0 ff addi a2, zero, -1 +80000cd4: 33 07 c7 40 sub a4, a4, a2 +80000cd8: 6f f0 df f4 j -180 -80000c34 __libc_fini_array: -80000c34: 13 01 01 ff addi sp, sp, -16 -80000c38: 23 24 81 00 sw s0, 8(sp) -80000c3c: b7 17 00 80 lui a5, 524289 -80000c40: 37 14 00 80 lui s0, 524289 -80000c44: 13 04 44 00 addi s0, s0, 4 -80000c48: 93 87 47 00 addi a5, a5, 4 -80000c4c: b3 87 87 40 sub a5, a5, s0 -80000c50: 23 22 91 00 sw s1, 4(sp) -80000c54: 23 26 11 00 sw ra, 12(sp) -80000c58: 93 d4 27 40 srai s1, a5, 2 -80000c5c: 63 80 04 02 beqz s1, 32 -80000c60: 93 87 c7 ff addi a5, a5, -4 -80000c64: 33 84 87 00 add s0, a5, s0 -80000c68: 83 27 04 00 lw a5, 0(s0) -80000c6c: 93 84 f4 ff addi s1, s1, -1 -80000c70: 13 04 c4 ff addi s0, s0, -4 -80000c74: e7 80 07 00 jalr a5 -80000c78: e3 98 04 fe bnez s1, -16 -80000c7c: 83 20 c1 00 lw ra, 12(sp) -80000c80: 03 24 81 00 lw s0, 8(sp) -80000c84: 83 24 41 00 lw s1, 4(sp) -80000c88: 13 01 01 01 addi sp, sp, 16 -80000c8c: 67 80 00 00 ret +80000cdc atexit: +80000cdc: 93 05 05 00 mv a1, a0 +80000ce0: 93 06 00 00 mv a3, zero +80000ce4: 13 06 00 00 mv a2, zero +80000ce8: 13 05 00 00 mv a0, zero +80000cec: 6f 00 00 12 j 288 -80000c90 __libc_init_array: -80000c90: 13 01 01 ff addi sp, sp, -16 -80000c94: 23 24 81 00 sw s0, 8(sp) -80000c98: 23 20 21 01 sw s2, 0(sp) -80000c9c: 37 14 00 80 lui s0, 524289 -80000ca0: 37 19 00 80 lui s2, 524289 -80000ca4: 93 07 04 00 mv a5, s0 -80000ca8: 13 09 09 00 mv s2, s2 -80000cac: 33 09 f9 40 sub s2, s2, a5 -80000cb0: 23 26 11 00 sw ra, 12(sp) -80000cb4: 23 22 91 00 sw s1, 4(sp) -80000cb8: 13 59 29 40 srai s2, s2, 2 -80000cbc: 63 00 09 02 beqz s2, 32 -80000cc0: 13 04 04 00 mv s0, s0 -80000cc4: 93 04 00 00 mv s1, zero -80000cc8: 83 27 04 00 lw a5, 0(s0) -80000ccc: 93 84 14 00 addi s1, s1, 1 -80000cd0: 13 04 44 00 addi s0, s0, 4 -80000cd4: e7 80 07 00 jalr a5 -80000cd8: e3 18 99 fe bne s2, s1, -16 -80000cdc: 37 14 00 80 lui s0, 524289 -80000ce0: 37 19 00 80 lui s2, 524289 -80000ce4: 93 07 04 00 mv a5, s0 -80000ce8: 13 09 49 00 addi s2, s2, 4 -80000cec: 33 09 f9 40 sub s2, s2, a5 -80000cf0: 13 59 29 40 srai s2, s2, 2 -80000cf4: 63 00 09 02 beqz s2, 32 -80000cf8: 13 04 04 00 mv s0, s0 -80000cfc: 93 04 00 00 mv s1, zero -80000d00: 83 27 04 00 lw a5, 0(s0) -80000d04: 93 84 14 00 addi s1, s1, 1 -80000d08: 13 04 44 00 addi s0, s0, 4 -80000d0c: e7 80 07 00 jalr a5 -80000d10: e3 18 99 fe bne s2, s1, -16 -80000d14: 83 20 c1 00 lw ra, 12(sp) -80000d18: 03 24 81 00 lw s0, 8(sp) -80000d1c: 83 24 41 00 lw s1, 4(sp) -80000d20: 03 29 01 00 lw s2, 0(sp) -80000d24: 13 01 01 01 addi sp, sp, 16 -80000d28: 67 80 00 00 ret +80000cf0 __errno: +80000cf0: b7 17 00 80 lui a5, 524289 +80000cf4: 03 a5 47 43 lw a0, 1076(a5) +80000cf8: 67 80 00 00 ret -80000d2c memset: -80000d2c: 13 03 f0 00 addi t1, zero, 15 -80000d30: 13 07 05 00 mv a4, a0 -80000d34: 63 7e c3 02 bgeu t1, a2, 60 -80000d38: 93 77 f7 00 andi a5, a4, 15 -80000d3c: 63 90 07 0a bnez a5, 160 -80000d40: 63 92 05 08 bnez a1, 132 -80000d44: 93 76 06 ff andi a3, a2, -16 -80000d48: 13 76 f6 00 andi a2, a2, 15 -80000d4c: b3 86 e6 00 add a3, a3, a4 -80000d50: 23 20 b7 00 sw a1, 0(a4) -80000d54: 23 22 b7 00 sw a1, 4(a4) -80000d58: 23 24 b7 00 sw a1, 8(a4) -80000d5c: 23 26 b7 00 sw a1, 12(a4) -80000d60: 13 07 07 01 addi a4, a4, 16 -80000d64: e3 66 d7 fe bltu a4, a3, -20 -80000d68: 63 14 06 00 bnez a2, 8 -80000d6c: 67 80 00 00 ret -80000d70: b3 06 c3 40 sub a3, t1, a2 -80000d74: 93 96 26 00 slli a3, a3, 2 -80000d78: 97 02 00 00 auipc t0, 0 -80000d7c: b3 86 56 00 add a3, a3, t0 -80000d80: 67 80 c6 00 jr 12(a3) -80000d84: 23 07 b7 00 sb a1, 14(a4) -80000d88: a3 06 b7 00 sb a1, 13(a4) -80000d8c: 23 06 b7 00 sb a1, 12(a4) -80000d90: a3 05 b7 00 sb a1, 11(a4) -80000d94: 23 05 b7 00 sb a1, 10(a4) -80000d98: a3 04 b7 00 sb a1, 9(a4) -80000d9c: 23 04 b7 00 sb a1, 8(a4) -80000da0: a3 03 b7 00 sb a1, 7(a4) -80000da4: 23 03 b7 00 sb a1, 6(a4) -80000da8: a3 02 b7 00 sb a1, 5(a4) -80000dac: 23 02 b7 00 sb a1, 4(a4) -80000db0: a3 01 b7 00 sb a1, 3(a4) -80000db4: 23 01 b7 00 sb a1, 2(a4) -80000db8: a3 00 b7 00 sb a1, 1(a4) -80000dbc: 23 00 b7 00 sb a1, 0(a4) -80000dc0: 67 80 00 00 ret -80000dc4: 93 f5 f5 0f andi a1, a1, 255 -80000dc8: 93 96 85 00 slli a3, a1, 8 -80000dcc: b3 e5 d5 00 or a1, a1, a3 -80000dd0: 93 96 05 01 slli a3, a1, 16 -80000dd4: b3 e5 d5 00 or a1, a1, a3 -80000dd8: 6f f0 df f6 j -148 -80000ddc: 93 96 27 00 slli a3, a5, 2 -80000de0: 97 02 00 00 auipc t0, 0 -80000de4: b3 86 56 00 add a3, a3, t0 -80000de8: 93 82 00 00 mv t0, ra -80000dec: e7 80 06 fa jalr -96(a3) -80000df0: 93 80 02 00 mv ra, t0 -80000df4: 93 87 07 ff addi a5, a5, -16 -80000df8: 33 07 f7 40 sub a4, a4, a5 -80000dfc: 33 06 f6 00 add a2, a2, a5 -80000e00: e3 78 c3 f6 bgeu t1, a2, -144 -80000e04: 6f f0 df f3 j -196 +80000cfc exit: +80000cfc: 13 01 01 ff addi sp, sp, -16 +80000d00: 93 05 00 00 mv a1, zero +80000d04: 23 24 81 00 sw s0, 8(sp) +80000d08: 23 26 11 00 sw ra, 12(sp) +80000d0c: 13 04 05 00 mv s0, a0 +80000d10: ef 00 80 19 jal 408 +80000d14: b7 17 00 80 lui a5, 524289 +80000d18: 03 a5 07 43 lw a0, 1072(a5) +80000d1c: 83 27 c5 03 lw a5, 60(a0) +80000d20: 63 84 07 00 beqz a5, 8 +80000d24: e7 80 07 00 jalr a5 +80000d28: 13 05 04 00 mv a0, s0 +80000d2c: ef f0 4f f6 jal -2204 -80000e08 __register_exitproc: -80000e08: b7 17 00 80 lui a5, 524289 -80000e0c: 03 a7 07 43 lw a4, 1072(a5) -80000e10: 83 27 87 14 lw a5, 328(a4) -80000e14: 63 8c 07 04 beqz a5, 88 -80000e18: 03 a7 47 00 lw a4, 4(a5) -80000e1c: 13 08 f0 01 addi a6, zero, 31 -80000e20: 63 4e e8 06 blt a6, a4, 124 -80000e24: 13 18 27 00 slli a6, a4, 2 -80000e28: 63 06 05 02 beqz a0, 44 -80000e2c: 33 83 07 01 add t1, a5, a6 -80000e30: 23 24 c3 08 sw a2, 136(t1) -80000e34: 83 a8 87 18 lw a7, 392(a5) -80000e38: 13 06 10 00 addi a2, zero, 1 -80000e3c: 33 16 e6 00 sll a2, a2, a4 -80000e40: b3 e8 c8 00 or a7, a7, a2 -80000e44: 23 a4 17 19 sw a7, 392(a5) -80000e48: 23 24 d3 10 sw a3, 264(t1) -80000e4c: 93 06 20 00 addi a3, zero, 2 -80000e50: 63 04 d5 02 beq a0, a3, 40 -80000e54: 13 07 17 00 addi a4, a4, 1 -80000e58: 23 a2 e7 00 sw a4, 4(a5) -80000e5c: b3 87 07 01 add a5, a5, a6 -80000e60: 23 a4 b7 00 sw a1, 8(a5) -80000e64: 13 05 00 00 mv a0, zero -80000e68: 67 80 00 00 ret -80000e6c: 93 07 c7 14 addi a5, a4, 332 -80000e70: 23 24 f7 14 sw a5, 328(a4) -80000e74: 6f f0 5f fa j -92 -80000e78: 83 a6 c7 18 lw a3, 396(a5) -80000e7c: 13 07 17 00 addi a4, a4, 1 -80000e80: 23 a2 e7 00 sw a4, 4(a5) -80000e84: 33 e6 c6 00 or a2, a3, a2 -80000e88: 23 a6 c7 18 sw a2, 396(a5) -80000e8c: b3 87 07 01 add a5, a5, a6 -80000e90: 23 a4 b7 00 sw a1, 8(a5) -80000e94: 13 05 00 00 mv a0, zero -80000e98: 67 80 00 00 ret -80000e9c: 13 05 f0 ff addi a0, zero, -1 -80000ea0: 67 80 00 00 ret +80000d30 memset: +80000d30: 13 03 f0 00 addi t1, zero, 15 +80000d34: 13 07 05 00 mv a4, a0 +80000d38: 63 7e c3 02 bgeu t1, a2, 60 +80000d3c: 93 77 f7 00 andi a5, a4, 15 +80000d40: 63 90 07 0a bnez a5, 160 +80000d44: 63 92 05 08 bnez a1, 132 +80000d48: 93 76 06 ff andi a3, a2, -16 +80000d4c: 13 76 f6 00 andi a2, a2, 15 +80000d50: b3 86 e6 00 add a3, a3, a4 +80000d54: 23 20 b7 00 sw a1, 0(a4) +80000d58: 23 22 b7 00 sw a1, 4(a4) +80000d5c: 23 24 b7 00 sw a1, 8(a4) +80000d60: 23 26 b7 00 sw a1, 12(a4) +80000d64: 13 07 07 01 addi a4, a4, 16 +80000d68: e3 66 d7 fe bltu a4, a3, -20 +80000d6c: 63 14 06 00 bnez a2, 8 +80000d70: 67 80 00 00 ret +80000d74: b3 06 c3 40 sub a3, t1, a2 +80000d78: 93 96 26 00 slli a3, a3, 2 +80000d7c: 97 02 00 00 auipc t0, 0 +80000d80: b3 86 56 00 add a3, a3, t0 +80000d84: 67 80 c6 00 jr 12(a3) +80000d88: 23 07 b7 00 sb a1, 14(a4) +80000d8c: a3 06 b7 00 sb a1, 13(a4) +80000d90: 23 06 b7 00 sb a1, 12(a4) +80000d94: a3 05 b7 00 sb a1, 11(a4) +80000d98: 23 05 b7 00 sb a1, 10(a4) +80000d9c: a3 04 b7 00 sb a1, 9(a4) +80000da0: 23 04 b7 00 sb a1, 8(a4) +80000da4: a3 03 b7 00 sb a1, 7(a4) +80000da8: 23 03 b7 00 sb a1, 6(a4) +80000dac: a3 02 b7 00 sb a1, 5(a4) +80000db0: 23 02 b7 00 sb a1, 4(a4) +80000db4: a3 01 b7 00 sb a1, 3(a4) +80000db8: 23 01 b7 00 sb a1, 2(a4) +80000dbc: a3 00 b7 00 sb a1, 1(a4) +80000dc0: 23 00 b7 00 sb a1, 0(a4) +80000dc4: 67 80 00 00 ret +80000dc8: 93 f5 f5 0f andi a1, a1, 255 +80000dcc: 93 96 85 00 slli a3, a1, 8 +80000dd0: b3 e5 d5 00 or a1, a1, a3 +80000dd4: 93 96 05 01 slli a3, a1, 16 +80000dd8: b3 e5 d5 00 or a1, a1, a3 +80000ddc: 6f f0 df f6 j -148 +80000de0: 93 96 27 00 slli a3, a5, 2 +80000de4: 97 02 00 00 auipc t0, 0 +80000de8: b3 86 56 00 add a3, a3, t0 +80000dec: 93 82 00 00 mv t0, ra +80000df0: e7 80 06 fa jalr -96(a3) +80000df4: 93 80 02 00 mv ra, t0 +80000df8: 93 87 07 ff addi a5, a5, -16 +80000dfc: 33 07 f7 40 sub a4, a4, a5 +80000e00: 33 06 f6 00 add a2, a2, a5 +80000e04: e3 78 c3 f6 bgeu t1, a2, -144 +80000e08: 6f f0 df f3 j -196 -80000ea4 __call_exitprocs: -80000ea4: 13 01 01 fd addi sp, sp, -48 -80000ea8: b7 17 00 80 lui a5, 524289 -80000eac: 23 2c 41 01 sw s4, 24(sp) -80000eb0: 03 aa 07 43 lw s4, 1072(a5) -80000eb4: 23 20 21 03 sw s2, 32(sp) -80000eb8: 23 26 11 02 sw ra, 44(sp) -80000ebc: 03 29 8a 14 lw s2, 328(s4) -80000ec0: 23 24 81 02 sw s0, 40(sp) -80000ec4: 23 22 91 02 sw s1, 36(sp) -80000ec8: 23 2e 31 01 sw s3, 28(sp) -80000ecc: 23 2a 51 01 sw s5, 20(sp) -80000ed0: 23 28 61 01 sw s6, 16(sp) -80000ed4: 23 26 71 01 sw s7, 12(sp) -80000ed8: 23 24 81 01 sw s8, 8(sp) -80000edc: 63 00 09 04 beqz s2, 64 -80000ee0: 13 0b 05 00 mv s6, a0 -80000ee4: 93 8b 05 00 mv s7, a1 -80000ee8: 93 0a 10 00 addi s5, zero, 1 -80000eec: 93 09 f0 ff addi s3, zero, -1 -80000ef0: 83 24 49 00 lw s1, 4(s2) -80000ef4: 13 84 f4 ff addi s0, s1, -1 -80000ef8: 63 42 04 02 bltz s0, 36 -80000efc: 93 94 24 00 slli s1, s1, 2 -80000f00: b3 04 99 00 add s1, s2, s1 -80000f04: 63 84 0b 04 beqz s7, 72 -80000f08: 83 a7 44 10 lw a5, 260(s1) -80000f0c: 63 80 77 05 beq a5, s7, 64 -80000f10: 13 04 f4 ff addi s0, s0, -1 -80000f14: 93 84 c4 ff addi s1, s1, -4 -80000f18: e3 16 34 ff bne s0, s3, -20 -80000f1c: 83 20 c1 02 lw ra, 44(sp) -80000f20: 03 24 81 02 lw s0, 40(sp) -80000f24: 83 24 41 02 lw s1, 36(sp) -80000f28: 03 29 01 02 lw s2, 32(sp) -80000f2c: 83 29 c1 01 lw s3, 28(sp) -80000f30: 03 2a 81 01 lw s4, 24(sp) -80000f34: 83 2a 41 01 lw s5, 20(sp) -80000f38: 03 2b 01 01 lw s6, 16(sp) -80000f3c: 83 2b c1 00 lw s7, 12(sp) -80000f40: 03 2c 81 00 lw s8, 8(sp) -80000f44: 13 01 01 03 addi sp, sp, 48 -80000f48: 67 80 00 00 ret -80000f4c: 83 27 49 00 lw a5, 4(s2) -80000f50: 83 a6 44 00 lw a3, 4(s1) -80000f54: 93 87 f7 ff addi a5, a5, -1 -80000f58: 63 8e 87 04 beq a5, s0, 92 -80000f5c: 23 a2 04 00 sw zero, 4(s1) -80000f60: e3 88 06 fa beqz a3, -80 -80000f64: 83 27 89 18 lw a5, 392(s2) -80000f68: 33 97 8a 00 sll a4, s5, s0 -80000f6c: 03 2c 49 00 lw s8, 4(s2) -80000f70: b3 77 f7 00 and a5, a4, a5 -80000f74: 63 92 07 02 bnez a5, 36 -80000f78: e7 80 06 00 jalr a3 -80000f7c: 03 27 49 00 lw a4, 4(s2) -80000f80: 83 27 8a 14 lw a5, 328(s4) -80000f84: 63 14 87 01 bne a4, s8, 8 -80000f88: e3 04 f9 f8 beq s2, a5, -120 -80000f8c: e3 88 07 f8 beqz a5, -112 -80000f90: 13 89 07 00 mv s2, a5 -80000f94: 6f f0 df f5 j -164 -80000f98: 83 27 c9 18 lw a5, 396(s2) -80000f9c: 83 a5 44 08 lw a1, 132(s1) -80000fa0: 33 77 f7 00 and a4, a4, a5 -80000fa4: 63 1c 07 00 bnez a4, 24 -80000fa8: 13 05 0b 00 mv a0, s6 -80000fac: e7 80 06 00 jalr a3 -80000fb0: 6f f0 df fc j -52 -80000fb4: 23 22 89 00 sw s0, 4(s2) -80000fb8: 6f f0 9f fa j -88 -80000fbc: 13 85 05 00 mv a0, a1 -80000fc0: e7 80 06 00 jalr a3 -80000fc4: 6f f0 9f fb j -72 +80000e0c __register_exitproc: +80000e0c: b7 17 00 80 lui a5, 524289 +80000e10: 03 a7 07 43 lw a4, 1072(a5) +80000e14: 83 27 87 14 lw a5, 328(a4) +80000e18: 63 8c 07 04 beqz a5, 88 +80000e1c: 03 a7 47 00 lw a4, 4(a5) +80000e20: 13 08 f0 01 addi a6, zero, 31 +80000e24: 63 4e e8 06 blt a6, a4, 124 +80000e28: 13 18 27 00 slli a6, a4, 2 +80000e2c: 63 06 05 02 beqz a0, 44 +80000e30: 33 83 07 01 add t1, a5, a6 +80000e34: 23 24 c3 08 sw a2, 136(t1) +80000e38: 83 a8 87 18 lw a7, 392(a5) +80000e3c: 13 06 10 00 addi a2, zero, 1 +80000e40: 33 16 e6 00 sll a2, a2, a4 +80000e44: b3 e8 c8 00 or a7, a7, a2 +80000e48: 23 a4 17 19 sw a7, 392(a5) +80000e4c: 23 24 d3 10 sw a3, 264(t1) +80000e50: 93 06 20 00 addi a3, zero, 2 +80000e54: 63 04 d5 02 beq a0, a3, 40 +80000e58: 13 07 17 00 addi a4, a4, 1 +80000e5c: 23 a2 e7 00 sw a4, 4(a5) +80000e60: b3 87 07 01 add a5, a5, a6 +80000e64: 23 a4 b7 00 sw a1, 8(a5) +80000e68: 13 05 00 00 mv a0, zero +80000e6c: 67 80 00 00 ret +80000e70: 93 07 c7 14 addi a5, a4, 332 +80000e74: 23 24 f7 14 sw a5, 328(a4) +80000e78: 6f f0 5f fa j -92 +80000e7c: 83 a6 c7 18 lw a3, 396(a5) +80000e80: 13 07 17 00 addi a4, a4, 1 +80000e84: 23 a2 e7 00 sw a4, 4(a5) +80000e88: 33 e6 c6 00 or a2, a3, a2 +80000e8c: 23 a6 c7 18 sw a2, 396(a5) +80000e90: b3 87 07 01 add a5, a5, a6 +80000e94: 23 a4 b7 00 sw a1, 8(a5) +80000e98: 13 05 00 00 mv a0, zero +80000e9c: 67 80 00 00 ret +80000ea0: 13 05 f0 ff addi a0, zero, -1 +80000ea4: 67 80 00 00 ret + +80000ea8 __call_exitprocs: +80000ea8: 13 01 01 fd addi sp, sp, -48 +80000eac: b7 17 00 80 lui a5, 524289 +80000eb0: 23 2c 41 01 sw s4, 24(sp) +80000eb4: 03 aa 07 43 lw s4, 1072(a5) +80000eb8: 23 20 21 03 sw s2, 32(sp) +80000ebc: 23 26 11 02 sw ra, 44(sp) +80000ec0: 03 29 8a 14 lw s2, 328(s4) +80000ec4: 23 24 81 02 sw s0, 40(sp) +80000ec8: 23 22 91 02 sw s1, 36(sp) +80000ecc: 23 2e 31 01 sw s3, 28(sp) +80000ed0: 23 2a 51 01 sw s5, 20(sp) +80000ed4: 23 28 61 01 sw s6, 16(sp) +80000ed8: 23 26 71 01 sw s7, 12(sp) +80000edc: 23 24 81 01 sw s8, 8(sp) +80000ee0: 63 00 09 04 beqz s2, 64 +80000ee4: 13 0b 05 00 mv s6, a0 +80000ee8: 93 8b 05 00 mv s7, a1 +80000eec: 93 0a 10 00 addi s5, zero, 1 +80000ef0: 93 09 f0 ff addi s3, zero, -1 +80000ef4: 83 24 49 00 lw s1, 4(s2) +80000ef8: 13 84 f4 ff addi s0, s1, -1 +80000efc: 63 42 04 02 bltz s0, 36 +80000f00: 93 94 24 00 slli s1, s1, 2 +80000f04: b3 04 99 00 add s1, s2, s1 +80000f08: 63 84 0b 04 beqz s7, 72 +80000f0c: 83 a7 44 10 lw a5, 260(s1) +80000f10: 63 80 77 05 beq a5, s7, 64 +80000f14: 13 04 f4 ff addi s0, s0, -1 +80000f18: 93 84 c4 ff addi s1, s1, -4 +80000f1c: e3 16 34 ff bne s0, s3, -20 +80000f20: 83 20 c1 02 lw ra, 44(sp) +80000f24: 03 24 81 02 lw s0, 40(sp) +80000f28: 83 24 41 02 lw s1, 36(sp) +80000f2c: 03 29 01 02 lw s2, 32(sp) +80000f30: 83 29 c1 01 lw s3, 28(sp) +80000f34: 03 2a 81 01 lw s4, 24(sp) +80000f38: 83 2a 41 01 lw s5, 20(sp) +80000f3c: 03 2b 01 01 lw s6, 16(sp) +80000f40: 83 2b c1 00 lw s7, 12(sp) +80000f44: 03 2c 81 00 lw s8, 8(sp) +80000f48: 13 01 01 03 addi sp, sp, 48 +80000f4c: 67 80 00 00 ret +80000f50: 83 27 49 00 lw a5, 4(s2) +80000f54: 83 a6 44 00 lw a3, 4(s1) +80000f58: 93 87 f7 ff addi a5, a5, -1 +80000f5c: 63 8e 87 04 beq a5, s0, 92 +80000f60: 23 a2 04 00 sw zero, 4(s1) +80000f64: e3 88 06 fa beqz a3, -80 +80000f68: 83 27 89 18 lw a5, 392(s2) +80000f6c: 33 97 8a 00 sll a4, s5, s0 +80000f70: 03 2c 49 00 lw s8, 4(s2) +80000f74: b3 77 f7 00 and a5, a4, a5 +80000f78: 63 92 07 02 bnez a5, 36 +80000f7c: e7 80 06 00 jalr a3 +80000f80: 03 27 49 00 lw a4, 4(s2) +80000f84: 83 27 8a 14 lw a5, 328(s4) +80000f88: 63 14 87 01 bne a4, s8, 8 +80000f8c: e3 04 f9 f8 beq s2, a5, -120 +80000f90: e3 88 07 f8 beqz a5, -112 +80000f94: 13 89 07 00 mv s2, a5 +80000f98: 6f f0 df f5 j -164 +80000f9c: 83 27 c9 18 lw a5, 396(s2) +80000fa0: 83 a5 44 08 lw a1, 132(s1) +80000fa4: 33 77 f7 00 and a4, a4, a5 +80000fa8: 63 1c 07 00 bnez a4, 24 +80000fac: 13 05 0b 00 mv a0, s6 +80000fb0: e7 80 06 00 jalr a3 +80000fb4: 6f f0 df fc j -52 +80000fb8: 23 22 89 00 sw s0, 4(s2) +80000fbc: 6f f0 9f fa j -88 +80000fc0: 13 85 05 00 mv a0, a1 +80000fc4: e7 80 06 00 jalr a3 +80000fc8: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -1250,99 +1253,104 @@ Disassembly of section .symtab: ae: f1 ff b0: 0e 00 b2: 00 00 - b4: d4 04 + b4: 9c 04 b6: 00 80 b8: 00 00 ba: 00 00 bc: 00 00 be: 02 00 - c0: 15 00 - ... + c0: 1e 00 + c2: 00 00 + c4: d8 04 + c6: 00 80 + c8: 00 00 ca: 00 00 - cc: 04 00 - ce: f1 ff + cc: 00 00 + ce: 02 00 d0: 25 00 - d2: 00 00 - d4: 50 00 - d6: 00 80 - d8: 18 00 - da: 00 00 - dc: 02 00 - de: 02 00 - e0: 33 00 00 00 add zero, zero, zero ... - ec: 04 00 - ee: f1 ff - f0: 57 00 00 00 + da: 00 00 + dc: 04 00 + de: f1 ff + e0: 35 00 + e2: 00 00 + e4: 50 00 + e6: 00 80 + e8: 18 00 + ea: 00 00 + ec: 02 00 + ee: 02 00 + f0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... fc: 04 00 fe: f1 ff - 100: 63 00 00 00 beqz zero, 0 - 104: 98 00 - 106: 00 80 - 108: 24 00 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 70 00 + 100: 67 00 00 00 jr zero ... + 10c: 04 00 + 10e: f1 ff + 110: 73 00 00 00 ecall + 114: 98 00 + 116: 00 80 + 118: 24 00 11a: 00 00 - 11c: 04 00 - 11e: f1 ff - 120: 7b 00 00 00 - 124: d8 04 - 126: 00 80 - 128: 48 01 + 11c: 02 00 + 11e: 02 00 + 120: 80 00 + ... 12a: 00 00 - 12c: 02 00 - 12e: 02 00 - 130: 91 00 + 12c: 04 00 + 12e: f1 ff + 130: 8e 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 9b 00 00 00 + 140: 99 00 + 142: 00 00 + 144: d4 05 + 146: 00 80 + 148: 48 01 + 14a: 00 00 + 14c: 02 00 + 14e: 02 00 + 150: af 00 00 00 ... - 14c: 04 00 - 14e: f1 ff - 150: a5 00 - ... - 15a: 00 00 15c: 04 00 15e: f1 ff - 160: c7 00 00 00 fmsub.s ft1, ft0, ft0, ft0, rne + 160: b9 00 ... + 16a: 00 00 16c: 04 00 16e: f1 ff - 170: af 00 00 00 + 170: c3 00 00 00 fmadd.s ft1, ft0, ft0, ft0, rne ... 17c: 04 00 17e: f1 ff - 180: c9 00 + 180: d7 00 00 00 ... - 18a: 00 00 18c: 04 00 18e: f1 ff - 190: b7 00 00 00 lui ra, 0 + 190: cd 00 ... + 19a: 00 00 19c: 04 00 19e: f1 ff - 1a0: be 00 + 1a0: d9 00 ... 1aa: 00 00 1ac: 04 00 1ae: f1 ff - 1b0: c5 00 + 1b0: d5 00 ... 1ba: 00 00 1bc: 04 00 1be: f1 ff - 1c0: d0 00 + 1c0: e0 00 ... 1ca: 00 00 1cc: 04 00 1ce: f1 ff - 1d0: d9 00 + 1d0: e9 00 1d2: 00 00 1d4: 08 10 1d6: 00 80 @@ -1353,62 +1361,62 @@ Disassembly of section .symtab: ... 1ec: 04 00 1ee: f1 ff - 1f0: e5 00 + 1f0: f5 00 1f2: 00 00 1f4: 04 10 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 f6 00 lb zero, 15(a2) + 1fe: 03 00 06 01 lb zero, 16(a2) 202: 00 00 204: 04 10 206: 00 80 208: 00 00 20a: 00 00 20c: 00 00 - 20e: 03 00 09 01 lb zero, 16(s2) + 20e: 03 00 19 01 lb zero, 17(s2) 212: 00 00 214: 04 10 216: 00 80 218: 00 00 21a: 00 00 21c: 00 00 - 21e: 03 00 1a 01 lb zero, 17(s4) + 21e: 03 00 2a 01 lb zero, 18(s4) 222: 00 00 224: 00 10 226: 00 80 228: 00 00 22a: 00 00 22c: 00 00 - 22e: 03 00 2e 01 lb zero, 18(t3) + 22e: 03 00 3e 01 lb zero, 19(t3) 232: 00 00 234: 00 10 236: 00 80 238: 00 00 23a: 00 00 23c: 00 00 - 23e: 03 00 41 01 lb zero, 20(sp) + 23e: 03 00 51 01 lb zero, 21(sp) 242: 00 00 244: 00 10 246: 00 80 248: 00 00 24a: 00 00 24c: 00 00 - 24e: 03 00 57 01 lb zero, 21(a4) + 24e: 03 00 67 01 lb zero, 22(a4) ... 25a: 00 00 25c: 10 00 25e: f1 ff - 260: 65 01 + 260: 75 01 262: 00 00 - 264: f4 0b + 264: f0 0c 266: 00 80 268: 0c 00 26a: 00 00 26c: 12 00 26e: 02 00 - 270: 6d 01 + 270: 7d 01 272: 00 00 274: 00 04 276: 00 00 @@ -1416,14 +1424,14 @@ Disassembly of section .symtab: 27a: 00 00 27c: 10 00 27e: f1 ff - 280: 7a 01 + 280: 8a 01 282: 00 00 284: 3c 14 286: 00 80 288: 80 00 28a: 00 00 28c: 11 00 - 28e: 07 00 88 01 + 28e: 07 00 98 01 292: 00 00 294: 30 14 296: 00 80 @@ -1431,15 +1439,15 @@ Disassembly of section .symtab: 29a: 00 00 29c: 10 00 29e: 05 00 - 2a0: 54 02 + 2a0: 58 02 2a2: 00 00 - 2a4: 60 0a + 2a4: 5c 0b 2a6: 00 80 2a8: 74 00 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: 98 01 + 2b0: a8 01 2b2: 00 00 2b4: 08 18 2b6: 00 80 @@ -1447,7 +1455,7 @@ Disassembly of section .symtab: 2ba: 00 00 2bc: 10 00 2be: f1 ff - 2c0: a9 01 + 2c0: b9 01 2c2: 00 00 2c4: 38 14 2c6: 00 80 @@ -1455,7 +1463,7 @@ Disassembly of section .symtab: 2ca: 00 00 2cc: 11 00 2ce: 06 00 - 2d0: b9 01 + 2d0: c9 01 2d2: 00 00 2d4: 30 14 2d6: 00 80 @@ -1463,190 +1471,182 @@ Disassembly of section .symtab: 2da: 00 00 2dc: 11 00 2de: 05 00 - 2e0: cc 01 + 2e0: dc 01 2e2: 00 00 - 2e4: 90 0c + 2e4: dc 04 2e6: 00 80 2e8: 9c 00 2ea: 00 00 2ec: 12 00 2ee: 02 00 - 2f0: de 01 + 2f0: ee 01 2f2: 00 00 - 2f4: 34 0c + 2f4: 78 05 2f6: 00 80 2f8: 5c 00 2fa: 00 00 2fc: 12 00 2fe: 02 00 - 300: f0 01 + 300: 00 02 302: 00 00 - 304: 00 00 - 306: 00 ff + 304: a8 04 + 306: 00 80 308: 00 00 30a: 00 00 - 30c: 10 00 - 30e: f1 ff - 310: fc 01 + 30c: 12 00 + 30e: 02 00 + 310: 0a 02 312: 00 00 - 314: 9c 04 + 314: a8 0e 316: 00 80 - 318: 00 00 + 318: 24 01 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 06 02 + 320: 40 02 322: 00 00 - 324: a4 0e + 324: 00 00 326: 00 80 - 328: 24 01 + 328: 50 00 32a: 00 00 32c: 12 00 - 32e: 02 00 - 330: 3c 02 - 332: 00 00 - 334: 00 00 + 32e: 01 00 + 330: 1b 02 00 00 + 334: 0c 0e 336: 00 80 - 338: 50 00 + 338: 9c 00 33a: 00 00 33c: 12 00 - 33e: 01 00 - 340: 17 02 00 00 auipc tp, 0 - 344: 08 0e + 33e: 02 00 + 340: 2f 02 00 00 + 344: bc 14 346: 00 80 - 348: 9c 00 + 348: 00 00 34a: 00 00 - 34c: 12 00 - 34e: 02 00 - 350: 2b 02 00 00 - 354: bc 14 + 34c: 10 00 + 34e: 07 00 3b 02 + 352: 00 00 + 354: 38 14 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 07 00 37 02 - 362: 00 00 - 364: 38 14 + 35e: 06 00 + 360: 47 02 00 00 fmsub.s ft4, ft0, ft0, ft0, rne + 364: 30 0d 366: 00 80 - 368: 00 00 + 368: dc 00 36a: 00 00 - 36c: 10 00 - 36e: 06 00 - 370: 43 02 00 00 fmadd.s ft4, ft0, ft0, ft0, rne - 374: 2c 0d + 36c: 12 00 + 36e: 02 00 + 370: 4e 02 + 372: 00 00 + 374: d0 0b 376: 00 80 - 378: dc 00 + 378: 0c 01 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 4a 02 + 380: 5e 02 382: 00 00 - 384: d4 0a + 384: 68 00 386: 00 80 - 388: 0c 01 + 388: 30 00 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 5a 02 - 392: 00 00 - 394: 68 00 + 390: 63 02 00 00 beqz zero, 4 + 394: 4c 03 396: 00 80 - 398: 30 00 + 398: 44 01 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 5f 02 00 00 - 3a4: 4c 03 + 3a0: 8f 02 00 00 + 3a4: dc 0c 3a6: 00 80 - 3a8: 44 01 + 3a8: 14 00 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 8b 02 00 00 - 3b4: e0 0b + 3b0: d0 01 + 3b2: 00 00 + 3b4: 34 14 3b6: 00 80 - 3b8: 14 00 + 3b8: 04 00 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 - 3c0: c0 01 + 3bc: 11 00 + 3be: 05 00 + 3c0: 96 02 3c2: 00 00 - 3c4: 34 14 + 3c4: 00 02 3c6: 00 80 - 3c8: 04 00 + 3c8: 4c 01 3ca: 00 00 - 3cc: 11 00 - 3ce: 05 00 - 3d0: 92 02 + 3cc: 12 00 + 3ce: 02 00 + 3d0: bd 02 3d2: 00 00 - 3d4: 00 02 + 3d4: 08 10 3d6: 00 80 - 3d8: 4c 01 + 3d8: 00 00 3da: 00 00 - 3dc: 12 00 - 3de: 02 00 - 3e0: b9 02 + 3dc: 10 00 + 3de: 04 00 + 3e0: cc 02 3e2: 00 00 - 3e4: 08 10 + 3e4: 38 14 3e6: 00 80 3e8: 00 00 3ea: 00 00 3ec: 10 00 - 3ee: 04 00 - 3f0: c8 02 + 3ee: 05 00 + 3f0: 01 01 3f2: 00 00 - 3f4: 38 14 + 3f4: bc 14 3f6: 00 80 3f8: 00 00 3fa: 00 00 3fc: 10 00 - 3fe: 05 00 - 400: f1 00 + 3fe: 07 00 d3 02 402: 00 00 - 404: bc 14 + 404: bc 00 406: 00 80 - 408: 00 00 + 408: 44 01 40a: 00 00 - 40c: 10 00 - 40e: 07 00 cf 02 + 40c: 12 00 + 40e: 02 00 + 410: fe 02 412: 00 00 - 414: bc 00 + 414: fc 0c 416: 00 80 - 418: 44 01 + 418: 34 00 41a: 00 00 41c: 12 00 41e: 02 00 - 420: fa 02 + 420: f0 02 422: 00 00 - 424: 00 0c + 424: 48 09 426: 00 80 - 428: 34 00 + 428: 14 02 42a: 00 00 42c: 12 00 42e: 02 00 - 430: ec 02 + 430: fd 02 432: 00 00 - 434: 4c 08 + 434: 90 04 436: 00 80 - 438: 14 02 + 438: 00 00 43a: 00 00 43c: 12 00 43e: 02 00 - 440: f9 02 - 442: 00 00 - 444: 90 04 + 440: 03 03 00 00 lb t1, 0(zero) + 444: 1c 07 446: 00 80 - 448: 00 00 + 448: 2c 02 44a: 00 00 44c: 12 00 44e: 02 00 - 450: ff 02 00 00 - 454: 20 06 - 456: 00 80 - 458: 2c 02 - 45a: 00 00 - 45c: 12 00 - 45e: 02 00 Disassembly of section .strtab: @@ -1656,303 +1656,304 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 37 33 2d 39 lui t1, 234195 - 4a: 38 2d - 4c: 65 33 - 4e: 2d 34 - 50: 64 2d - 52: 30 30 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 5f - 64: 5a 38 - 66: 5f 63 6c 5f - 6a: 73 71 72 74 csrrci sp, 1863, 4 - 6e: 66 00 - 70: 76 78 - 72: 5f 73 70 61 - 76: 77 6e 2e 63 - 7a: 00 73 - 7c: 70 61 - 7e: 77 6e 5f 6b - 82: 65 72 - 84: 6e 65 - 86: 6c 5f - 88: 63 61 6c 6c bltu s8, t1, 1730 - 8c: 62 61 - 8e: 63 6b 00 76 bltu zero, zero, 1910 - 92: 78 5f - 94: 70 65 - 96: 72 66 - 98: 2e 63 - 9a: 00 77 - 9c: 66 5f - 9e: 73 71 72 74 csrrci sp, 1863, 4 - a2: 2e 63 - a4: 00 65 - a6: 66 5f - a8: 73 71 72 74 csrrci sp, 1863, 4 - ac: 2e 63 - ae: 00 65 - b0: 72 72 - b2: 6e 6f - b4: 2e 63 - b6: 00 66 - b8: 69 6e - ba: 69 2e - bc: 63 00 69 6e beq s2, t1, 1760 - c0: 69 74 - c2: 2e 63 - c4: 00 5f - c6: 5f 61 74 65 - ca: 78 69 - cc: 74 2e - ce: 63 00 69 6d beq s2, s6, 1728 - d2: 70 75 - d4: 72 65 - d6: 2e 63 - d8: 00 69 - da: 6d 70 - dc: 75 72 - de: 65 5f - e0: 64 61 - e2: 74 61 - e4: 00 5f - e6: 5f 66 69 6e - ea: 69 5f - ec: 61 72 - ee: 72 61 - f0: 79 5f - f2: 65 6e - f4: 64 00 - f6: 5f 5f 66 69 - fa: 6e 69 - fc: 5f 61 72 72 - 100: 61 79 - 102: 5f 73 74 61 - 106: 72 74 - 108: 00 5f - 10a: 5f 69 6e 69 - 10e: 74 5f - 110: 61 72 - 112: 72 61 - 114: 79 5f - 116: 65 6e - 118: 64 00 - 11a: 5f 5f 70 72 - 11e: 65 69 - 120: 6e 69 - 122: 74 5f - 124: 61 72 - 126: 72 61 - 128: 79 5f - 12a: 65 6e - 12c: 64 00 - 12e: 5f 5f 69 6e - 132: 69 74 - 134: 5f 61 72 72 - 138: 61 79 - 13a: 5f 73 74 61 - 13e: 72 74 - 140: 00 5f - 142: 5f 70 72 65 - 146: 69 6e - 148: 69 74 - 14a: 5f 61 72 72 - 14e: 61 79 - 150: 5f 73 74 61 - 154: 72 74 - 156: 00 5f - 158: 5f 73 74 61 - 15c: 63 6b 5f 75 bltu t5, s5, 1878 - 160: 73 61 67 65 csrrsi sp, 1622, 14 - 164: 00 5f - 166: 5f 65 72 72 - 16a: 6e 6f - 16c: 00 5f - 16e: 5f 73 74 61 - 172: 63 6b 5f 73 bltu t5, s5, 1846 - 176: 69 7a - 178: 65 00 - 17a: 67 5f 77 73 - 17e: 70 61 - 180: 77 6e 5f 61 - 184: 72 67 - 186: 73 00 5f 5f - 18a: 53 44 41 54 - 18e: 41 5f - 190: 42 45 - 192: 47 49 4e 5f - 196: 5f 00 5f 5f - 19a: 67 6c 6f 62 - 19e: 61 6c - 1a0: 5f 70 6f 69 - 1a4: 6e 74 - 1a6: 65 72 - 1a8: 00 5f - 1aa: 5f 66 64 6c - 1ae: 69 62 - 1b0: 5f 76 65 72 - 1b4: 73 69 6f 6e csrrsi s2, 1766, 30 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 39 30 + 58: 2d 39 + 5a: 32 2d + 5c: 30 36 + 5e: 2d 39 + 60: 37 2d 38 39 lui s10, 234370 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 5f + 74: 5a 38 + 76: 5f 63 6c 5f + 7a: 73 71 72 74 csrrci sp, 1863, 4 + 7e: 66 00 + 80: 76 78 + 82: 5f 73 79 73 + 86: 63 61 6c 6c bltu s8, t1, 1730 + 8a: 73 2e 63 00 csrrs t3, 6, t1 + 8e: 76 78 + 90: 5f 73 70 61 + 94: 77 6e 2e 63 + 98: 00 73 + 9a: 70 61 + 9c: 77 6e 5f 6b + a0: 65 72 + a2: 6e 65 + a4: 6c 5f + a6: 63 61 6c 6c bltu s8, t1, 1730 + aa: 62 61 + ac: 63 6b 00 76 bltu zero, zero, 1910 + b0: 78 5f + b2: 70 65 + b4: 72 66 + b6: 2e 63 + b8: 00 77 + ba: 66 5f + bc: 73 71 72 74 csrrci sp, 1863, 4 + c0: 2e 63 + c2: 00 65 + c4: 66 5f + c6: 73 71 72 74 csrrci sp, 1863, 4 + ca: 2e 63 + cc: 00 65 + ce: 72 72 + d0: 6e 6f + d2: 2e 63 + d4: 00 5f + d6: 5f 61 74 65 + da: 78 69 + dc: 74 2e + de: 63 00 69 6d beq s2, s6, 1728 + e2: 70 75 + e4: 72 65 + e6: 2e 63 + e8: 00 69 + ea: 6d 70 + ec: 75 72 + ee: 65 5f + f0: 64 61 + f2: 74 61 + f4: 00 5f + f6: 5f 66 69 6e + fa: 69 5f + fc: 61 72 + fe: 72 61 + 100: 79 5f + 102: 65 6e + 104: 64 00 + 106: 5f 5f 66 69 + 10a: 6e 69 + 10c: 5f 61 72 72 + 110: 61 79 + 112: 5f 73 74 61 + 116: 72 74 + 118: 00 5f + 11a: 5f 69 6e 69 + 11e: 74 5f + 120: 61 72 + 122: 72 61 + 124: 79 5f + 126: 65 6e + 128: 64 00 + 12a: 5f 5f 70 72 + 12e: 65 69 + 130: 6e 69 + 132: 74 5f + 134: 61 72 + 136: 72 61 + 138: 79 5f + 13a: 65 6e + 13c: 64 00 + 13e: 5f 5f 69 6e + 142: 69 74 + 144: 5f 61 72 72 + 148: 61 79 + 14a: 5f 73 74 61 + 14e: 72 74 + 150: 00 5f + 152: 5f 70 72 65 + 156: 69 6e + 158: 69 74 + 15a: 5f 61 72 72 + 15e: 61 79 + 160: 5f 73 74 61 + 164: 72 74 + 166: 00 5f + 168: 5f 73 74 61 + 16c: 63 6b 5f 75 bltu t5, s5, 1878 + 170: 73 61 67 65 csrrsi sp, 1622, 14 + 174: 00 5f + 176: 5f 65 72 72 + 17a: 6e 6f + 17c: 00 5f + 17e: 5f 73 74 61 + 182: 63 6b 5f 73 bltu t5, s5, 1846 + 186: 69 7a + 188: 65 00 + 18a: 67 5f 77 73 + 18e: 70 61 + 190: 77 6e 5f 61 + 194: 72 67 + 196: 73 00 5f 5f + 19a: 53 44 41 54 + 19e: 41 5f + 1a0: 42 45 + 1a2: 47 49 4e 5f + 1a6: 5f 00 5f 5f + 1aa: 67 6c 6f 62 + 1ae: 61 6c + 1b0: 5f 70 6f 69 + 1b4: 6e 74 + 1b6: 65 72 1b8: 00 5f - 1ba: 67 6c 6f 62 - 1be: 61 6c - 1c0: 5f 69 6d 70 - 1c4: 75 72 - 1c6: 65 5f - 1c8: 70 74 - 1ca: 72 00 - 1cc: 5f 5f 6c 69 - 1d0: 62 63 - 1d2: 5f 69 6e 69 - 1d6: 74 5f - 1d8: 61 72 - 1da: 72 61 - 1dc: 79 00 - 1de: 5f 5f 6c 69 - 1e2: 62 63 - 1e4: 5f 66 69 6e - 1e8: 69 5f - 1ea: 61 72 - 1ec: 72 61 - 1ee: 79 00 - 1f0: 5f 5f 73 74 - 1f4: 61 63 - 1f6: 6b 5f 74 6f - 1fa: 70 00 - 1fc: 76 78 - 1fe: 5f 73 65 74 - 202: 5f 73 70 00 - 206: 5f 5f 63 61 - 20a: 6c 6c - 20c: 5f 65 78 69 - 210: 74 70 - 212: 72 6f - 214: 63 73 00 5f bgeu zero, a6, 1510 - 218: 5f 72 65 67 - 21c: 69 73 - 21e: 74 65 - 220: 72 5f - 222: 65 78 - 224: 69 74 - 226: 70 72 - 228: 6f 63 00 5f jal t1, 26096 - 22c: 5f 42 53 53 - 230: 5f 45 4e 44 - 234: 5f 5f 00 5f - 238: 5f 62 73 73 - 23c: 5f 73 74 61 - 240: 72 74 - 242: 00 6d - 244: 65 6d - 246: 73 65 74 00 csrrsi a0, 7, 8 - 24a: 5f 5f 69 65 - 24e: 65 65 - 250: 37 35 34 5f lui a0, 389955 - 254: 73 71 72 74 csrrci sp, 1863, 4 - 258: 66 00 - 25a: 6d 61 - 25c: 69 6e - 25e: 00 5f - 260: 70 6f - 262: 63 6c 5f 6b bltu t5, s5, 1720 - 266: 65 72 - 268: 6e 65 - 26a: 6c 5f - 26c: 4e 65 - 26e: 61 72 - 270: 65 73 - 272: 74 4e - 274: 65 69 - 276: 67 68 62 6f - 27a: 72 5f - 27c: 77 6f 72 6b - 280: 67 72 6f 75 - 284: 70 5f - 286: 66 61 - 288: 73 74 00 61 csrrci s0, 1552, 0 - 28c: 74 65 - 28e: 78 69 - 290: 74 00 - 292: 5f 70 6f 63 - 296: 6c 5f - 298: 6b 65 72 6e - 29c: 65 6c - 29e: 5f 4e 65 61 - 2a2: 72 65 - 2a4: 73 74 4e 65 csrrci s0, 1620, 28 - 2a8: 69 67 - 2aa: 68 62 - 2ac: 6f 72 5f 77 jal tp, 1015668 - 2b0: 6f 72 6b 67 jal tp, 751222 - 2b4: 72 6f - 2b6: 75 70 - 2b8: 00 5f - 2ba: 5f 44 41 54 - 2be: 41 5f - 2c0: 42 45 - 2c2: 47 49 4e 5f - 2c6: 5f 00 5f 65 - 2ca: 64 61 - 2cc: 74 61 - 2ce: 00 5f - 2d0: 70 6f - 2d2: 63 6c 5f 6b bltu t5, s5, 1720 - 2d6: 65 72 - 2d8: 6e 65 - 2da: 6c 5f - 2dc: 4e 65 - 2de: 61 72 - 2e0: 65 73 - 2e2: 74 4e - 2e4: 65 69 - 2e6: 67 68 62 6f - 2ea: 72 00 - 2ec: 76 78 - 2ee: 5f 70 65 72 - 2f2: 66 5f - 2f4: 64 75 - 2f6: 6d 70 - 2f8: 00 5f - 2fa: 65 78 - 2fc: 69 74 - 2fe: 00 76 - 300: 78 5f - 302: 73 70 61 77 csrci 1910, 2 - 306: 6e 5f - 308: 6b 65 72 6e - 30c: 65 6c - 30e: 00 + 1ba: 5f 66 64 6c + 1be: 69 62 + 1c0: 5f 76 65 72 + 1c4: 73 69 6f 6e csrrsi s2, 1766, 30 + 1c8: 00 5f + 1ca: 67 6c 6f 62 + 1ce: 61 6c + 1d0: 5f 69 6d 70 + 1d4: 75 72 + 1d6: 65 5f + 1d8: 70 74 + 1da: 72 00 + 1dc: 5f 5f 6c 69 + 1e0: 62 63 + 1e2: 5f 69 6e 69 + 1e6: 74 5f + 1e8: 61 72 + 1ea: 72 61 + 1ec: 79 00 + 1ee: 5f 5f 6c 69 + 1f2: 62 63 + 1f4: 5f 66 69 6e + 1f8: 69 5f + 1fa: 61 72 + 1fc: 72 61 + 1fe: 79 00 + 200: 76 78 + 202: 5f 73 65 74 + 206: 5f 73 70 00 + 20a: 5f 5f 63 61 + 20e: 6c 6c + 210: 5f 65 78 69 + 214: 74 70 + 216: 72 6f + 218: 63 73 00 5f bgeu zero, a6, 1510 + 21c: 5f 72 65 67 + 220: 69 73 + 222: 74 65 + 224: 72 5f + 226: 65 78 + 228: 69 74 + 22a: 70 72 + 22c: 6f 63 00 5f jal t1, 26096 + 230: 5f 42 53 53 + 234: 5f 45 4e 44 + 238: 5f 5f 00 5f + 23c: 5f 62 73 73 + 240: 5f 73 74 61 + 244: 72 74 + 246: 00 6d + 248: 65 6d + 24a: 73 65 74 00 csrrsi a0, 7, 8 + 24e: 5f 5f 69 65 + 252: 65 65 + 254: 37 35 34 5f lui a0, 389955 + 258: 73 71 72 74 csrrci sp, 1863, 4 + 25c: 66 00 + 25e: 6d 61 + 260: 69 6e + 262: 00 5f + 264: 70 6f + 266: 63 6c 5f 6b bltu t5, s5, 1720 + 26a: 65 72 + 26c: 6e 65 + 26e: 6c 5f + 270: 4e 65 + 272: 61 72 + 274: 65 73 + 276: 74 4e + 278: 65 69 + 27a: 67 68 62 6f + 27e: 72 5f + 280: 77 6f 72 6b + 284: 67 72 6f 75 + 288: 70 5f + 28a: 66 61 + 28c: 73 74 00 61 csrrci s0, 1552, 0 + 290: 74 65 + 292: 78 69 + 294: 74 00 + 296: 5f 70 6f 63 + 29a: 6c 5f + 29c: 6b 65 72 6e + 2a0: 65 6c + 2a2: 5f 4e 65 61 + 2a6: 72 65 + 2a8: 73 74 4e 65 csrrci s0, 1620, 28 + 2ac: 69 67 + 2ae: 68 62 + 2b0: 6f 72 5f 77 jal tp, 1015668 + 2b4: 6f 72 6b 67 jal tp, 751222 + 2b8: 72 6f + 2ba: 75 70 + 2bc: 00 5f + 2be: 5f 44 41 54 + 2c2: 41 5f + 2c4: 42 45 + 2c6: 47 49 4e 5f + 2ca: 5f 00 5f 65 + 2ce: 64 61 + 2d0: 74 61 + 2d2: 00 5f + 2d4: 70 6f + 2d6: 63 6c 5f 6b bltu t5, s5, 1720 + 2da: 65 72 + 2dc: 6e 65 + 2de: 6c 5f + 2e0: 4e 65 + 2e2: 61 72 + 2e4: 65 73 + 2e6: 74 4e + 2e8: 65 69 + 2ea: 67 68 62 6f + 2ee: 72 00 + 2f0: 76 78 + 2f2: 5f 70 65 72 + 2f6: 66 5f + 2f8: 64 75 + 2fa: 6d 70 + 2fc: 00 5f + 2fe: 65 78 + 300: 69 74 + 302: 00 76 + 304: 78 5f + 306: 73 70 61 77 csrci 1910, 2 + 30a: 6e 5f + 30c: 6b 65 72 6e + 310: 65 6c + 312: 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/nearn/kernel.pocl b/tests/opencl/nearn/kernel.pocl index 998211db..2a47fe23 100644 Binary files a/tests/opencl/nearn/kernel.pocl and b/tests/opencl/nearn/kernel.pocl differ diff --git a/tests/opencl/printf/kernel.pocl b/tests/opencl/printf/kernel.pocl index 58e103aa..cc062fcb 100644 Binary files a/tests/opencl/printf/kernel.pocl and b/tests/opencl/printf/kernel.pocl differ diff --git a/tests/opencl/psort/kernel.pocl b/tests/opencl/psort/kernel.pocl index 47a502e7..89f91624 100644 Binary files a/tests/opencl/psort/kernel.pocl and b/tests/opencl/psort/kernel.pocl differ diff --git a/tests/opencl/psort/psort.dump b/tests/opencl/psort/psort.dump index 615d983f..81641182 100644 --- a/tests/opencl/psort/psort.dump +++ b/tests/opencl/psort/psort.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-cd-5f-e9-7a-18.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-1e-76-20-5b-d1.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 85 3d addi a1, a1, 984 +80000004: 93 85 45 3e addi a1, a1, 996 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 80 3c jal 968 +80000010: ef 00 40 3d jal 980 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,13 +18,13 @@ Disassembly of section .init: 80000028: 13 06 06 49 addi a2, a2, 1168 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 90 2a jal 2728 +80000034: ef 00 d0 2a jal 2732 80000038: 17 05 00 00 auipc a0, 0 -8000003c: 13 05 85 47 addi a0, a0, 1144 -80000040: ef 00 50 25 jal 2644 -80000044: ef 00 00 3d jal 976 +8000003c: 13 05 c5 47 addi a0, a0, 1148 +80000040: ef 00 90 25 jal 2648 +80000044: ef 00 40 3d jal 980 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 d0 25 j 2652 +8000004c: 6f 00 10 26 j 2656 Disassembly of section .text: @@ -32,8 +32,8 @@ Disassembly of section .text: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 80000058: 37 05 00 80 lui a0, 524288 -8000005c: 13 05 05 4b addi a0, a0, 1200 -80000060: 6f 00 50 23 j 2612 +8000005c: 13 05 45 4b addi a0, a0, 1204 +80000060: 6f 00 90 23 j 2616 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 00 5d jal 1488 +80000084: ef 00 40 5d jal 1492 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -262,649 +262,652 @@ Disassembly of section .text: 800003c8: 67 80 00 00 ret 800003cc _exit: -800003cc: ef 00 40 4b jal 1204 -800003d0: 13 05 00 00 mv a0, zero -800003d4: 6b 00 05 00 +800003cc: 63 06 05 00 beqz a0, 12 +800003d0: 93 01 05 00 mv gp, a0 +800003d4: 73 00 00 00 ecall -800003d8 vx_set_sp: -800003d8: 73 25 00 fc csrr a0, 4032 -800003dc: 6b 00 05 00 -800003e0: 97 11 00 00 auipc gp, 1 -800003e4: 93 81 81 42 addi gp, gp, 1064 -800003e8: 17 01 00 7f auipc sp, 520192 -800003ec: 13 01 81 c1 addi sp, sp, -1000 -800003f0: 93 05 00 40 addi a1, zero, 1024 -800003f4: 73 26 10 cc csrr a2, 3265 -800003f8: b3 85 c5 02 mul a1, a1, a2 -800003fc: 33 01 b1 40 sub sp, sp, a1 -80000400: f3 26 30 cc csrr a3, 3267 -80000404: 63 86 06 00 beqz a3, 12 -80000408: 13 05 00 00 mv a0, zero -8000040c: 6b 00 05 00 +800003d8 label_exit_next: +800003d8: ef 00 c0 4a jal 1196 +800003dc: 13 05 00 00 mv a0, zero +800003e0: 6b 00 05 00 -80000410 RETURN: -80000410: 67 80 00 00 ret +800003e4 vx_set_sp: +800003e4: 13 05 f0 ff addi a0, zero, -1 +800003e8: 6b 00 05 00 +800003ec: 97 11 00 00 auipc gp, 1 +800003f0: 93 81 c1 41 addi gp, gp, 1052 +800003f4: 37 01 00 ff lui sp, 1044480 +800003f8: 73 26 10 cc csrr a2, 3265 +800003fc: 93 15 a6 00 slli a1, a2, 10 +80000400: 33 01 b1 40 sub sp, sp, a1 +80000404: f3 26 30 cc csrr a3, 3267 +80000408: 63 86 06 00 beqz a3, 12 +8000040c: 13 05 00 00 mv a0, zero +80000410: 6b 00 05 00 -80000414 __libc_init_array: -80000414: 13 01 01 ff addi sp, sp, -16 -80000418: 23 24 81 00 sw s0, 8(sp) -8000041c: 23 20 21 01 sw s2, 0(sp) -80000420: 37 14 00 80 lui s0, 524289 -80000424: 37 19 00 80 lui s2, 524289 -80000428: 93 07 04 00 mv a5, s0 -8000042c: 13 09 09 00 mv s2, s2 -80000430: 33 09 f9 40 sub s2, s2, a5 -80000434: 23 26 11 00 sw ra, 12(sp) -80000438: 23 22 91 00 sw s1, 4(sp) -8000043c: 13 59 29 40 srai s2, s2, 2 -80000440: 63 00 09 02 beqz s2, 32 -80000444: 13 04 04 00 mv s0, s0 -80000448: 93 04 00 00 mv s1, zero -8000044c: 83 27 04 00 lw a5, 0(s0) -80000450: 93 84 14 00 addi s1, s1, 1 -80000454: 13 04 44 00 addi s0, s0, 4 -80000458: e7 80 07 00 jalr a5 -8000045c: e3 18 99 fe bne s2, s1, -16 -80000460: 37 14 00 80 lui s0, 524289 -80000464: 37 19 00 80 lui s2, 524289 -80000468: 93 07 04 00 mv a5, s0 -8000046c: 13 09 49 00 addi s2, s2, 4 -80000470: 33 09 f9 40 sub s2, s2, a5 -80000474: 13 59 29 40 srai s2, s2, 2 -80000478: 63 00 09 02 beqz s2, 32 -8000047c: 13 04 04 00 mv s0, s0 -80000480: 93 04 00 00 mv s1, zero -80000484: 83 27 04 00 lw a5, 0(s0) -80000488: 93 84 14 00 addi s1, s1, 1 -8000048c: 13 04 44 00 addi s0, s0, 4 -80000490: e7 80 07 00 jalr a5 -80000494: e3 18 99 fe bne s2, s1, -16 -80000498: 83 20 c1 00 lw ra, 12(sp) -8000049c: 03 24 81 00 lw s0, 8(sp) -800004a0: 83 24 41 00 lw s1, 4(sp) -800004a4: 03 29 01 00 lw s2, 0(sp) -800004a8: 13 01 01 01 addi sp, sp, 16 -800004ac: 67 80 00 00 ret +80000414 RETURN: +80000414: 67 80 00 00 ret -800004b0 __libc_fini_array: -800004b0: 13 01 01 ff addi sp, sp, -16 -800004b4: 23 24 81 00 sw s0, 8(sp) -800004b8: b7 17 00 80 lui a5, 524289 -800004bc: 37 14 00 80 lui s0, 524289 -800004c0: 13 04 44 00 addi s0, s0, 4 -800004c4: 93 87 47 00 addi a5, a5, 4 -800004c8: b3 87 87 40 sub a5, a5, s0 -800004cc: 23 22 91 00 sw s1, 4(sp) -800004d0: 23 26 11 00 sw ra, 12(sp) -800004d4: 93 d4 27 40 srai s1, a5, 2 -800004d8: 63 80 04 02 beqz s1, 32 -800004dc: 93 87 c7 ff addi a5, a5, -4 -800004e0: 33 84 87 00 add s0, a5, s0 -800004e4: 83 27 04 00 lw a5, 0(s0) -800004e8: 93 84 f4 ff addi s1, s1, -1 -800004ec: 13 04 c4 ff addi s0, s0, -4 -800004f0: e7 80 07 00 jalr a5 -800004f4: e3 98 04 fe bnez s1, -16 -800004f8: 83 20 c1 00 lw ra, 12(sp) -800004fc: 03 24 81 00 lw s0, 8(sp) -80000500: 83 24 41 00 lw s1, 4(sp) -80000504: 13 01 01 01 addi sp, sp, 16 -80000508: 67 80 00 00 ret +80000418 __libc_init_array: +80000418: 13 01 01 ff addi sp, sp, -16 +8000041c: 23 24 81 00 sw s0, 8(sp) +80000420: 23 20 21 01 sw s2, 0(sp) +80000424: 37 14 00 80 lui s0, 524289 +80000428: 37 19 00 80 lui s2, 524289 +8000042c: 93 07 04 00 mv a5, s0 +80000430: 13 09 09 00 mv s2, s2 +80000434: 33 09 f9 40 sub s2, s2, a5 +80000438: 23 26 11 00 sw ra, 12(sp) +8000043c: 23 22 91 00 sw s1, 4(sp) +80000440: 13 59 29 40 srai s2, s2, 2 +80000444: 63 00 09 02 beqz s2, 32 +80000448: 13 04 04 00 mv s0, s0 +8000044c: 93 04 00 00 mv s1, zero +80000450: 83 27 04 00 lw a5, 0(s0) +80000454: 93 84 14 00 addi s1, s1, 1 +80000458: 13 04 44 00 addi s0, s0, 4 +8000045c: e7 80 07 00 jalr a5 +80000460: e3 18 99 fe bne s2, s1, -16 +80000464: 37 14 00 80 lui s0, 524289 +80000468: 37 19 00 80 lui s2, 524289 +8000046c: 93 07 04 00 mv a5, s0 +80000470: 13 09 49 00 addi s2, s2, 4 +80000474: 33 09 f9 40 sub s2, s2, a5 +80000478: 13 59 29 40 srai s2, s2, 2 +8000047c: 63 00 09 02 beqz s2, 32 +80000480: 13 04 04 00 mv s0, s0 +80000484: 93 04 00 00 mv s1, zero +80000488: 83 27 04 00 lw a5, 0(s0) +8000048c: 93 84 14 00 addi s1, s1, 1 +80000490: 13 04 44 00 addi s0, s0, 4 +80000494: e7 80 07 00 jalr a5 +80000498: e3 18 99 fe bne s2, s1, -16 +8000049c: 83 20 c1 00 lw ra, 12(sp) +800004a0: 03 24 81 00 lw s0, 8(sp) +800004a4: 83 24 41 00 lw s1, 4(sp) +800004a8: 03 29 01 00 lw s2, 0(sp) +800004ac: 13 01 01 01 addi sp, sp, 16 +800004b0: 67 80 00 00 ret -8000050c spawn_kernel_callback: -8000050c: 13 01 01 fe addi sp, sp, -32 -80000510: 23 2e 11 00 sw ra, 28(sp) -80000514: 23 2c 81 00 sw s0, 24(sp) -80000518: 23 2a 91 00 sw s1, 20(sp) -8000051c: 23 28 21 01 sw s2, 16(sp) -80000520: 23 26 31 01 sw s3, 12(sp) -80000524: 23 24 41 01 sw s4, 8(sp) -80000528: 23 22 51 01 sw s5, 4(sp) -8000052c: f3 27 00 fc csrr a5, 4032 -80000530: 6b 80 07 00 -80000534: f3 26 50 cc csrr a3, 3269 -80000538: 73 29 30 cc csrr s2, 3267 -8000053c: 73 27 00 cc csrr a4, 3264 -80000540: 73 26 00 fc csrr a2, 4032 -80000544: b7 17 00 80 lui a5, 524289 -80000548: 93 96 26 00 slli a3, a3, 2 -8000054c: 93 87 47 43 addi a5, a5, 1076 -80000550: b3 87 d7 00 add a5, a5, a3 -80000554: 03 a4 07 00 lw s0, 0(a5) -80000558: 83 24 44 01 lw s1, 20(s0) -8000055c: 83 26 04 01 lw a3, 16(s0) -80000560: b3 2a 99 00 slt s5, s2, s1 -80000564: 93 87 04 00 mv a5, s1 -80000568: b3 8a da 00 add s5, s5, a3 -8000056c: b3 84 26 03 mul s1, a3, s2 -80000570: 63 54 f9 00 bge s2, a5, 8 -80000574: 93 07 09 00 mv a5, s2 -80000578: b3 84 f4 00 add s1, s1, a5 -8000057c: 83 25 04 00 lw a1, 0(s0) -80000580: 83 26 c4 00 lw a3, 12(s0) -80000584: 83 a9 05 00 lw s3, 0(a1) -80000588: 03 aa 45 00 lw s4, 4(a1) -8000058c: b3 84 c4 02 mul s1, s1, a2 -80000590: b3 87 ea 02 mul a5, s5, a4 -80000594: b3 84 d4 00 add s1, s1, a3 -80000598: b3 84 f4 00 add s1, s1, a5 -8000059c: b3 8a 9a 00 add s5, s5, s1 -800005a0: 33 8a 49 03 mul s4, s3, s4 -800005a4: 63 c0 54 07 blt s1, s5, 96 -800005a8: 6f 00 00 08 j 128 -800005ac: 03 47 a4 01 lbu a4, 26(s0) -800005b0: 83 46 94 01 lbu a3, 25(s0) -800005b4: 33 d7 e4 40 sra a4, s1, a4 -800005b8: b3 07 47 03 mul a5, a4, s4 -800005bc: b3 87 f4 40 sub a5, s1, a5 -800005c0: 63 80 06 06 beqz a3, 96 -800005c4: 83 46 b4 01 lbu a3, 27(s0) -800005c8: b3 d6 d7 40 sra a3, a5, a3 -800005cc: b3 88 36 03 mul a7, a3, s3 -800005d0: 03 ae 45 01 lw t3, 20(a1) -800005d4: 03 a3 05 01 lw t1, 16(a1) -800005d8: 03 a6 c5 00 lw a2, 12(a1) -800005dc: 03 28 44 00 lw a6, 4(s0) -800005e0: 03 25 84 00 lw a0, 8(s0) -800005e4: 93 84 14 00 addi s1, s1, 1 -800005e8: 33 07 c7 01 add a4, a4, t3 -800005ec: b3 86 66 00 add a3, a3, t1 -800005f0: b3 87 17 41 sub a5, a5, a7 -800005f4: 33 86 c7 00 add a2, a5, a2 -800005f8: e7 00 08 00 jalr a6 -800005fc: 63 86 9a 02 beq s5, s1, 44 -80000600: 83 25 04 00 lw a1, 0(s0) -80000604: 83 47 84 01 lbu a5, 24(s0) -80000608: e3 92 07 fa bnez a5, -92 -8000060c: 33 c7 44 03 div a4, s1, s4 -80000610: 83 46 94 01 lbu a3, 25(s0) -80000614: b3 07 47 03 mul a5, a4, s4 -80000618: b3 87 f4 40 sub a5, s1, a5 -8000061c: e3 94 06 fa bnez a3, -88 -80000620: b3 c6 37 03 div a3, a5, s3 -80000624: 6f f0 9f fa j -88 -80000628: 13 39 19 00 seqz s2, s2 -8000062c: 6b 00 09 00 -80000630: 83 20 c1 01 lw ra, 28(sp) -80000634: 03 24 81 01 lw s0, 24(sp) -80000638: 83 24 41 01 lw s1, 20(sp) -8000063c: 03 29 01 01 lw s2, 16(sp) -80000640: 83 29 c1 00 lw s3, 12(sp) -80000644: 03 2a 81 00 lw s4, 8(sp) -80000648: 83 2a 41 00 lw s5, 4(sp) -8000064c: 13 01 01 02 addi sp, sp, 32 -80000650: 67 80 00 00 ret +800004b4 __libc_fini_array: +800004b4: 13 01 01 ff addi sp, sp, -16 +800004b8: 23 24 81 00 sw s0, 8(sp) +800004bc: b7 17 00 80 lui a5, 524289 +800004c0: 37 14 00 80 lui s0, 524289 +800004c4: 13 04 44 00 addi s0, s0, 4 +800004c8: 93 87 47 00 addi a5, a5, 4 +800004cc: b3 87 87 40 sub a5, a5, s0 +800004d0: 23 22 91 00 sw s1, 4(sp) +800004d4: 23 26 11 00 sw ra, 12(sp) +800004d8: 93 d4 27 40 srai s1, a5, 2 +800004dc: 63 80 04 02 beqz s1, 32 +800004e0: 93 87 c7 ff addi a5, a5, -4 +800004e4: 33 84 87 00 add s0, a5, s0 +800004e8: 83 27 04 00 lw a5, 0(s0) +800004ec: 93 84 f4 ff addi s1, s1, -1 +800004f0: 13 04 c4 ff addi s0, s0, -4 +800004f4: e7 80 07 00 jalr a5 +800004f8: e3 98 04 fe bnez s1, -16 +800004fc: 83 20 c1 00 lw ra, 12(sp) +80000500: 03 24 81 00 lw s0, 8(sp) +80000504: 83 24 41 00 lw s1, 4(sp) +80000508: 13 01 01 01 addi sp, sp, 16 +8000050c: 67 80 00 00 ret -80000654 vx_spawn_kernel: -80000654: 13 01 01 fc addi sp, sp, -64 -80000658: 23 2e 11 02 sw ra, 60(sp) -8000065c: 23 2c 81 02 sw s0, 56(sp) -80000660: 23 2a 91 02 sw s1, 52(sp) -80000664: 23 28 21 03 sw s2, 48(sp) -80000668: 23 26 31 03 sw s3, 44(sp) -8000066c: f3 28 20 fc csrr a7, 4034 -80000670: 73 23 10 fc csrr t1, 4033 -80000674: 73 24 00 fc csrr s0, 4032 -80000678: f3 27 50 cc csrr a5, 3269 -8000067c: 13 07 f0 01 addi a4, zero, 31 -80000680: 63 46 f7 0e blt a4, a5, 236 -80000684: 03 2e 05 00 lw t3, 0(a0) -80000688: 83 26 45 00 lw a3, 4(a0) -8000068c: 03 28 85 00 lw a6, 8(a0) -80000690: b3 0e 83 02 mul t4, t1, s0 -80000694: 13 07 10 00 addi a4, zero, 1 -80000698: b3 06 de 02 mul a3, t3, a3 -8000069c: 33 88 06 03 mul a6, a3, a6 -800006a0: 63 d4 0e 01 bge t4, a6, 8 -800006a4: 33 47 d8 03 div a4, a6, t4 -800006a8: 63 c0 e8 0e blt a7, a4, 224 -800006ac: 63 d0 e7 0c bge a5, a4, 192 -800006b0: 93 88 f8 ff addi a7, a7, -1 -800006b4: b3 4e e8 02 div t4, a6, a4 -800006b8: 93 84 0e 00 mv s1, t4 -800006bc: 63 96 f8 00 bne a7, a5, 12 -800006c0: 33 67 e8 02 rem a4, a6, a4 -800006c4: b3 04 d7 01 add s1, a4, t4 -800006c8: 33 c9 84 02 div s2, s1, s0 -800006cc: b3 e4 84 02 rem s1, s1, s0 -800006d0: 63 42 69 0c blt s2, t1, 196 -800006d4: 93 02 10 00 addi t0, zero, 1 -800006d8: 33 48 69 02 div a6, s2, t1 -800006dc: 63 06 08 00 beqz a6, 12 -800006e0: 93 02 08 00 mv t0, a6 -800006e4: 33 68 69 02 rem a6, s2, t1 -800006e8: d3 f7 06 d0 fcvt.s.w fa5, a3 -800006ec: 93 8f f6 ff addi t6, a3, -1 -800006f0: 13 0f fe ff addi t5, t3, -1 -800006f4: b7 19 00 80 lui s3, 524289 -800006f8: b3 f6 df 00 and a3, t6, a3 -800006fc: 93 89 49 43 addi s3, s3, 1076 -80000700: 93 b6 16 00 seqz a3, a3 -80000704: 23 22 a1 00 sw a0, 4(sp) -80000708: 23 24 b1 00 sw a1, 8(sp) -8000070c: 23 26 c1 00 sw a2, 12(sp) -80000710: 23 2a 51 00 sw t0, 20(sp) -80000714: 23 2c 01 01 sw a6, 24(sp) -80000718: 23 0e d1 00 sb a3, 28(sp) -8000071c: 33 87 fe 02 mul a4, t4, a5 -80000720: d3 8e 07 e0 fmv.x.w t4, fa5 -80000724: d3 77 0e d0 fcvt.s.w fa5, t3 -80000728: 93 97 27 00 slli a5, a5, 2 -8000072c: 33 7e cf 01 and t3, t5, t3 -80000730: d3 88 07 e0 fmv.x.w a7, fa5 -80000734: 93 de 7e 41 srai t4, t4, 23 -80000738: 13 3e 1e 00 seqz t3, t3 -8000073c: 93 d8 78 41 srai a7, a7, 23 -80000740: 93 8e 1e f8 addi t4, t4, -127 -80000744: 93 88 18 f8 addi a7, a7, -127 -80000748: b3 87 f9 00 add a5, s3, a5 -8000074c: 23 28 e1 00 sw a4, 16(sp) -80000750: 13 07 41 00 addi a4, sp, 4 -80000754: a3 0e c1 01 sb t3, 29(sp) -80000758: 23 0f d1 01 sb t4, 30(sp) -8000075c: a3 0f 11 01 sb a7, 31(sp) -80000760: 23 a0 e7 00 sw a4, 0(a5) -80000764: 63 4e 20 03 bgtz s2, 60 -80000768: 63 9c 04 04 bnez s1, 88 -8000076c: 83 20 c1 03 lw ra, 60(sp) -80000770: 03 24 81 03 lw s0, 56(sp) -80000774: 83 24 41 03 lw s1, 52(sp) -80000778: 03 29 01 03 lw s2, 48(sp) -8000077c: 83 29 c1 02 lw s3, 44(sp) -80000780: 13 01 01 04 addi sp, sp, 64 -80000784: 67 80 00 00 ret -80000788: 13 87 08 00 mv a4, a7 -8000078c: e3 c2 e7 f2 blt a5, a4, -220 -80000790: 6f f0 df fd j -36 -80000794: 13 08 00 00 mv a6, zero -80000798: 93 02 10 00 addi t0, zero, 1 -8000079c: 6f f0 df f4 j -180 -800007a0: 13 07 09 00 mv a4, s2 -800007a4: 63 54 23 01 bge t1, s2, 8 -800007a8: 13 07 03 00 mv a4, t1 -800007ac: b7 07 00 80 lui a5, 524288 -800007b0: 93 87 c7 50 addi a5, a5, 1292 -800007b4: 6b 10 f7 00 -800007b8: ef f0 5f d5 jal -684 -800007bc: e3 88 04 fa beqz s1, -80 -800007c0: 33 04 89 02 mul s0, s2, s0 -800007c4: 23 28 81 00 sw s0, 16(sp) -800007c8: 6b 80 04 00 -800007cc: 73 27 50 cc csrr a4, 3269 -800007d0: f3 27 20 cc csrr a5, 3266 -800007d4: 13 17 27 00 slli a4, a4, 2 -800007d8: b3 89 e9 00 add s3, s3, a4 -800007dc: 03 a5 09 00 lw a0, 0(s3) -800007e0: 83 25 05 00 lw a1, 0(a0) -800007e4: 83 26 c5 00 lw a3, 12(a0) -800007e8: 03 47 85 01 lbu a4, 24(a0) -800007ec: 03 a8 05 00 lw a6, 0(a1) -800007f0: 03 a6 45 00 lw a2, 4(a1) -800007f4: b3 87 d7 00 add a5, a5, a3 -800007f8: 33 06 c8 02 mul a2, a6, a2 -800007fc: 63 0e 07 06 beqz a4, 124 -80000800: 03 47 a5 01 lbu a4, 26(a0) -80000804: 33 d7 e7 40 sra a4, a5, a4 -80000808: 83 46 95 01 lbu a3, 25(a0) -8000080c: 33 06 e6 02 mul a2, a2, a4 -80000810: b3 87 c7 40 sub a5, a5, a2 -80000814: 63 8e 06 04 beqz a3, 92 -80000818: 83 48 b5 01 lbu a7, 27(a0) -8000081c: b3 d8 17 41 sra a7, a5, a7 -80000820: 33 08 18 03 mul a6, a6, a7 -80000824: 03 ae 45 01 lw t3, 20(a1) -80000828: 83 a6 05 01 lw a3, 16(a1) -8000082c: 03 a6 c5 00 lw a2, 12(a1) -80000830: 03 23 45 00 lw t1, 4(a0) -80000834: 03 25 85 00 lw a0, 8(a0) -80000838: 33 07 c7 01 add a4, a4, t3 -8000083c: b3 86 d8 00 add a3, a7, a3 -80000840: b3 87 07 41 sub a5, a5, a6 -80000844: 33 86 c7 00 add a2, a5, a2 -80000848: e7 00 03 00 jalr t1 -8000084c: 93 07 10 00 addi a5, zero, 1 -80000850: 6b 80 07 00 -80000854: 83 20 c1 03 lw ra, 60(sp) -80000858: 03 24 81 03 lw s0, 56(sp) -8000085c: 83 24 41 03 lw s1, 52(sp) -80000860: 03 29 01 03 lw s2, 48(sp) -80000864: 83 29 c1 02 lw s3, 44(sp) -80000868: 13 01 01 04 addi sp, sp, 64 -8000086c: 67 80 00 00 ret -80000870: b3 c8 07 03 div a7, a5, a6 -80000874: 6f f0 df fa j -84 -80000878: 33 c7 c7 02 div a4, a5, a2 -8000087c: 6f f0 df f8 j -116 +80000510 spawn_kernel_callback: +80000510: 13 01 01 fe addi sp, sp, -32 +80000514: 23 2e 11 00 sw ra, 28(sp) +80000518: 23 2c 81 00 sw s0, 24(sp) +8000051c: 23 2a 91 00 sw s1, 20(sp) +80000520: 23 28 21 01 sw s2, 16(sp) +80000524: 23 26 31 01 sw s3, 12(sp) +80000528: 23 24 41 01 sw s4, 8(sp) +8000052c: 23 22 51 01 sw s5, 4(sp) +80000530: 93 07 f0 ff addi a5, zero, -1 +80000534: 6b 80 07 00 +80000538: f3 26 50 cc csrr a3, 3269 +8000053c: 73 29 30 cc csrr s2, 3267 +80000540: 73 27 00 cc csrr a4, 3264 +80000544: 73 26 00 fc csrr a2, 4032 +80000548: b7 17 00 80 lui a5, 524289 +8000054c: 93 96 26 00 slli a3, a3, 2 +80000550: 93 87 47 43 addi a5, a5, 1076 +80000554: b3 87 d7 00 add a5, a5, a3 +80000558: 03 a4 07 00 lw s0, 0(a5) +8000055c: 83 24 44 01 lw s1, 20(s0) +80000560: 83 26 04 01 lw a3, 16(s0) +80000564: b3 2a 99 00 slt s5, s2, s1 +80000568: 93 87 04 00 mv a5, s1 +8000056c: b3 8a da 00 add s5, s5, a3 +80000570: b3 84 26 03 mul s1, a3, s2 +80000574: 63 54 f9 00 bge s2, a5, 8 +80000578: 93 07 09 00 mv a5, s2 +8000057c: b3 84 f4 00 add s1, s1, a5 +80000580: 83 25 04 00 lw a1, 0(s0) +80000584: 83 26 c4 00 lw a3, 12(s0) +80000588: 83 a9 05 00 lw s3, 0(a1) +8000058c: 03 aa 45 00 lw s4, 4(a1) +80000590: b3 84 c4 02 mul s1, s1, a2 +80000594: b3 87 ea 02 mul a5, s5, a4 +80000598: b3 84 d4 00 add s1, s1, a3 +8000059c: b3 84 f4 00 add s1, s1, a5 +800005a0: b3 8a 9a 00 add s5, s5, s1 +800005a4: 33 8a 49 03 mul s4, s3, s4 +800005a8: 63 c0 54 07 blt s1, s5, 96 +800005ac: 6f 00 00 08 j 128 +800005b0: 03 47 a4 01 lbu a4, 26(s0) +800005b4: 83 46 94 01 lbu a3, 25(s0) +800005b8: 33 d7 e4 40 sra a4, s1, a4 +800005bc: b3 07 47 03 mul a5, a4, s4 +800005c0: b3 87 f4 40 sub a5, s1, a5 +800005c4: 63 80 06 06 beqz a3, 96 +800005c8: 83 46 b4 01 lbu a3, 27(s0) +800005cc: b3 d6 d7 40 sra a3, a5, a3 +800005d0: b3 88 36 03 mul a7, a3, s3 +800005d4: 03 ae 45 01 lw t3, 20(a1) +800005d8: 03 a3 05 01 lw t1, 16(a1) +800005dc: 03 a6 c5 00 lw a2, 12(a1) +800005e0: 03 28 44 00 lw a6, 4(s0) +800005e4: 03 25 84 00 lw a0, 8(s0) +800005e8: 93 84 14 00 addi s1, s1, 1 +800005ec: 33 07 c7 01 add a4, a4, t3 +800005f0: b3 86 66 00 add a3, a3, t1 +800005f4: b3 87 17 41 sub a5, a5, a7 +800005f8: 33 86 c7 00 add a2, a5, a2 +800005fc: e7 00 08 00 jalr a6 +80000600: 63 86 9a 02 beq s5, s1, 44 +80000604: 83 25 04 00 lw a1, 0(s0) +80000608: 83 47 84 01 lbu a5, 24(s0) +8000060c: e3 92 07 fa bnez a5, -92 +80000610: 33 c7 44 03 div a4, s1, s4 +80000614: 83 46 94 01 lbu a3, 25(s0) +80000618: b3 07 47 03 mul a5, a4, s4 +8000061c: b3 87 f4 40 sub a5, s1, a5 +80000620: e3 94 06 fa bnez a3, -88 +80000624: b3 c6 37 03 div a3, a5, s3 +80000628: 6f f0 9f fa j -88 +8000062c: 13 39 19 00 seqz s2, s2 +80000630: 6b 00 09 00 +80000634: 83 20 c1 01 lw ra, 28(sp) +80000638: 03 24 81 01 lw s0, 24(sp) +8000063c: 83 24 41 01 lw s1, 20(sp) +80000640: 03 29 01 01 lw s2, 16(sp) +80000644: 83 29 c1 00 lw s3, 12(sp) +80000648: 03 2a 81 00 lw s4, 8(sp) +8000064c: 83 2a 41 00 lw s5, 4(sp) +80000650: 13 01 01 02 addi sp, sp, 32 +80000654: 67 80 00 00 ret -80000880 vx_perf_dump: -80000880: f3 27 50 cc csrr a5, 3269 -80000884: 37 07 ff 00 lui a4, 4080 -80000888: b3 87 e7 00 add a5, a5, a4 -8000088c: 93 97 87 00 slli a5, a5, 8 -80000890: 73 27 00 b0 csrr a4, mcycle -80000894: 23 a0 e7 00 sw a4, 0(a5) -80000898: 73 27 10 b0 csrr a4, 2817 -8000089c: 23 a2 e7 00 sw a4, 4(a5) -800008a0: 73 27 20 b0 csrr a4, minstret -800008a4: 23 a4 e7 00 sw a4, 8(a5) -800008a8: 73 27 30 b0 csrr a4, mhpmcounter3 -800008ac: 23 a6 e7 00 sw a4, 12(a5) -800008b0: 73 27 40 b0 csrr a4, mhpmcounter4 -800008b4: 23 a8 e7 00 sw a4, 16(a5) -800008b8: 73 27 50 b0 csrr a4, mhpmcounter5 -800008bc: 23 aa e7 00 sw a4, 20(a5) -800008c0: 73 27 60 b0 csrr a4, mhpmcounter6 -800008c4: 23 ac e7 00 sw a4, 24(a5) -800008c8: 73 27 70 b0 csrr a4, mhpmcounter7 -800008cc: 23 ae e7 00 sw a4, 28(a5) -800008d0: 73 27 80 b0 csrr a4, mhpmcounter8 -800008d4: 23 a0 e7 02 sw a4, 32(a5) -800008d8: 73 27 90 b0 csrr a4, mhpmcounter9 -800008dc: 23 a2 e7 02 sw a4, 36(a5) -800008e0: 73 27 a0 b0 csrr a4, mhpmcounter10 -800008e4: 23 a4 e7 02 sw a4, 40(a5) -800008e8: 73 27 b0 b0 csrr a4, mhpmcounter11 -800008ec: 23 a6 e7 02 sw a4, 44(a5) -800008f0: 73 27 c0 b0 csrr a4, mhpmcounter12 -800008f4: 23 a8 e7 02 sw a4, 48(a5) -800008f8: 73 27 d0 b0 csrr a4, mhpmcounter13 -800008fc: 23 aa e7 02 sw a4, 52(a5) -80000900: 73 27 e0 b0 csrr a4, mhpmcounter14 -80000904: 23 ac e7 02 sw a4, 56(a5) -80000908: 73 27 f0 b0 csrr a4, mhpmcounter15 -8000090c: 23 ae e7 02 sw a4, 60(a5) -80000910: 73 27 00 b1 csrr a4, mhpmcounter16 -80000914: 23 a0 e7 04 sw a4, 64(a5) -80000918: 73 27 10 b1 csrr a4, mhpmcounter17 -8000091c: 23 a2 e7 04 sw a4, 68(a5) -80000920: 73 27 20 b1 csrr a4, mhpmcounter18 -80000924: 23 a4 e7 04 sw a4, 72(a5) -80000928: 73 27 30 b1 csrr a4, mhpmcounter19 -8000092c: 23 a6 e7 04 sw a4, 76(a5) -80000930: 73 27 40 b1 csrr a4, mhpmcounter20 -80000934: 23 a8 e7 04 sw a4, 80(a5) -80000938: 73 27 50 b1 csrr a4, mhpmcounter21 -8000093c: 23 aa e7 04 sw a4, 84(a5) -80000940: 73 27 60 b1 csrr a4, mhpmcounter22 -80000944: 23 ac e7 04 sw a4, 88(a5) -80000948: 73 27 70 b1 csrr a4, mhpmcounter23 -8000094c: 23 ae e7 04 sw a4, 92(a5) -80000950: 73 27 80 b1 csrr a4, mhpmcounter24 -80000954: 23 a0 e7 06 sw a4, 96(a5) -80000958: 73 27 90 b1 csrr a4, mhpmcounter25 -8000095c: 23 a2 e7 06 sw a4, 100(a5) -80000960: 73 27 a0 b1 csrr a4, mhpmcounter26 -80000964: 23 a4 e7 06 sw a4, 104(a5) -80000968: 73 27 b0 b1 csrr a4, mhpmcounter27 -8000096c: 23 a6 e7 06 sw a4, 108(a5) -80000970: 73 27 c0 b1 csrr a4, mhpmcounter28 -80000974: 23 a8 e7 06 sw a4, 112(a5) -80000978: 73 27 d0 b1 csrr a4, mhpmcounter29 -8000097c: 23 aa e7 06 sw a4, 116(a5) -80000980: 73 27 e0 b1 csrr a4, mhpmcounter30 -80000984: 23 ac e7 06 sw a4, 120(a5) -80000988: 73 27 f0 b1 csrr a4, mhpmcounter31 -8000098c: 23 ae e7 06 sw a4, 124(a5) -80000990: 73 27 00 b8 csrr a4, mcycleh -80000994: 23 a0 e7 08 sw a4, 128(a5) -80000998: 73 27 10 b8 csrr a4, 2945 -8000099c: 23 a2 e7 08 sw a4, 132(a5) -800009a0: 73 27 20 b8 csrr a4, minstreth -800009a4: 23 a4 e7 08 sw a4, 136(a5) -800009a8: 73 27 30 b8 csrr a4, mhpmcounter3h -800009ac: 23 a6 e7 08 sw a4, 140(a5) -800009b0: 73 27 40 b8 csrr a4, mhpmcounter4h -800009b4: 23 a8 e7 08 sw a4, 144(a5) -800009b8: 73 27 50 b8 csrr a4, mhpmcounter5h -800009bc: 23 aa e7 08 sw a4, 148(a5) -800009c0: 73 27 60 b8 csrr a4, mhpmcounter6h -800009c4: 23 ac e7 08 sw a4, 152(a5) -800009c8: 73 27 70 b8 csrr a4, mhpmcounter7h -800009cc: 23 ae e7 08 sw a4, 156(a5) -800009d0: 73 27 80 b8 csrr a4, mhpmcounter8h -800009d4: 23 a0 e7 0a sw a4, 160(a5) -800009d8: 73 27 90 b8 csrr a4, mhpmcounter9h -800009dc: 23 a2 e7 0a sw a4, 164(a5) -800009e0: 73 27 a0 b8 csrr a4, mhpmcounter10h -800009e4: 23 a4 e7 0a sw a4, 168(a5) -800009e8: 73 27 b0 b8 csrr a4, mhpmcounter11h -800009ec: 23 a6 e7 0a sw a4, 172(a5) -800009f0: 73 27 c0 b8 csrr a4, mhpmcounter12h -800009f4: 23 a8 e7 0a sw a4, 176(a5) -800009f8: 73 27 d0 b8 csrr a4, mhpmcounter13h -800009fc: 23 aa e7 0a sw a4, 180(a5) -80000a00: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000a04: 23 ac e7 0a sw a4, 184(a5) -80000a08: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000a0c: 23 ae e7 0a sw a4, 188(a5) -80000a10: 73 27 00 b9 csrr a4, mhpmcounter16h -80000a14: 23 a0 e7 0c sw a4, 192(a5) -80000a18: 73 27 10 b9 csrr a4, mhpmcounter17h -80000a1c: 23 a2 e7 0c sw a4, 196(a5) -80000a20: 73 27 20 b9 csrr a4, mhpmcounter18h -80000a24: 23 a4 e7 0c sw a4, 200(a5) -80000a28: 73 27 30 b9 csrr a4, mhpmcounter19h -80000a2c: 23 a6 e7 0c sw a4, 204(a5) -80000a30: 73 27 40 b9 csrr a4, mhpmcounter20h -80000a34: 23 a8 e7 0c sw a4, 208(a5) -80000a38: 73 27 50 b9 csrr a4, mhpmcounter21h -80000a3c: 23 aa e7 0c sw a4, 212(a5) -80000a40: 73 27 60 b9 csrr a4, mhpmcounter22h -80000a44: 23 ac e7 0c sw a4, 216(a5) -80000a48: 73 27 70 b9 csrr a4, mhpmcounter23h -80000a4c: 23 ae e7 0c sw a4, 220(a5) -80000a50: 73 27 80 b9 csrr a4, mhpmcounter24h -80000a54: 23 a0 e7 0e sw a4, 224(a5) -80000a58: 73 27 90 b9 csrr a4, mhpmcounter25h -80000a5c: 23 a2 e7 0e sw a4, 228(a5) -80000a60: 73 27 a0 b9 csrr a4, mhpmcounter26h -80000a64: 23 a4 e7 0e sw a4, 232(a5) -80000a68: 73 27 b0 b9 csrr a4, mhpmcounter27h -80000a6c: 23 a6 e7 0e sw a4, 236(a5) -80000a70: 73 27 c0 b9 csrr a4, mhpmcounter28h -80000a74: 23 a8 e7 0e sw a4, 240(a5) -80000a78: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000a7c: 23 aa e7 0e sw a4, 244(a5) -80000a80: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000a84: 23 ac e7 0e sw a4, 248(a5) -80000a88: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000a8c: 23 ae e7 0e sw a4, 252(a5) -80000a90: 67 80 00 00 ret +80000658 vx_spawn_kernel: +80000658: 13 01 01 fc addi sp, sp, -64 +8000065c: 23 2e 11 02 sw ra, 60(sp) +80000660: 23 2c 81 02 sw s0, 56(sp) +80000664: 23 2a 91 02 sw s1, 52(sp) +80000668: 23 28 21 03 sw s2, 48(sp) +8000066c: 23 26 31 03 sw s3, 44(sp) +80000670: f3 28 20 fc csrr a7, 4034 +80000674: 73 23 10 fc csrr t1, 4033 +80000678: 73 24 00 fc csrr s0, 4032 +8000067c: f3 27 50 cc csrr a5, 3269 +80000680: 13 07 f0 01 addi a4, zero, 31 +80000684: 63 46 f7 0e blt a4, a5, 236 +80000688: 03 2e 05 00 lw t3, 0(a0) +8000068c: 83 26 45 00 lw a3, 4(a0) +80000690: 03 28 85 00 lw a6, 8(a0) +80000694: b3 0e 83 02 mul t4, t1, s0 +80000698: 13 07 10 00 addi a4, zero, 1 +8000069c: b3 06 de 02 mul a3, t3, a3 +800006a0: 33 88 06 03 mul a6, a3, a6 +800006a4: 63 d4 0e 01 bge t4, a6, 8 +800006a8: 33 47 d8 03 div a4, a6, t4 +800006ac: 63 c0 e8 0e blt a7, a4, 224 +800006b0: 63 d0 e7 0c bge a5, a4, 192 +800006b4: 93 88 f8 ff addi a7, a7, -1 +800006b8: b3 4e e8 02 div t4, a6, a4 +800006bc: 93 84 0e 00 mv s1, t4 +800006c0: 63 96 f8 00 bne a7, a5, 12 +800006c4: 33 67 e8 02 rem a4, a6, a4 +800006c8: b3 04 d7 01 add s1, a4, t4 +800006cc: 33 c9 84 02 div s2, s1, s0 +800006d0: b3 e4 84 02 rem s1, s1, s0 +800006d4: 63 42 69 0c blt s2, t1, 196 +800006d8: 93 02 10 00 addi t0, zero, 1 +800006dc: 33 48 69 02 div a6, s2, t1 +800006e0: 63 06 08 00 beqz a6, 12 +800006e4: 93 02 08 00 mv t0, a6 +800006e8: 33 68 69 02 rem a6, s2, t1 +800006ec: d3 f7 06 d0 fcvt.s.w fa5, a3 +800006f0: 93 8f f6 ff addi t6, a3, -1 +800006f4: 13 0f fe ff addi t5, t3, -1 +800006f8: b7 19 00 80 lui s3, 524289 +800006fc: b3 f6 df 00 and a3, t6, a3 +80000700: 93 89 49 43 addi s3, s3, 1076 +80000704: 93 b6 16 00 seqz a3, a3 +80000708: 23 22 a1 00 sw a0, 4(sp) +8000070c: 23 24 b1 00 sw a1, 8(sp) +80000710: 23 26 c1 00 sw a2, 12(sp) +80000714: 23 2a 51 00 sw t0, 20(sp) +80000718: 23 2c 01 01 sw a6, 24(sp) +8000071c: 23 0e d1 00 sb a3, 28(sp) +80000720: 33 87 fe 02 mul a4, t4, a5 +80000724: d3 8e 07 e0 fmv.x.w t4, fa5 +80000728: d3 77 0e d0 fcvt.s.w fa5, t3 +8000072c: 93 97 27 00 slli a5, a5, 2 +80000730: 33 7e cf 01 and t3, t5, t3 +80000734: d3 88 07 e0 fmv.x.w a7, fa5 +80000738: 93 de 7e 41 srai t4, t4, 23 +8000073c: 13 3e 1e 00 seqz t3, t3 +80000740: 93 d8 78 41 srai a7, a7, 23 +80000744: 93 8e 1e f8 addi t4, t4, -127 +80000748: 93 88 18 f8 addi a7, a7, -127 +8000074c: b3 87 f9 00 add a5, s3, a5 +80000750: 23 28 e1 00 sw a4, 16(sp) +80000754: 13 07 41 00 addi a4, sp, 4 +80000758: a3 0e c1 01 sb t3, 29(sp) +8000075c: 23 0f d1 01 sb t4, 30(sp) +80000760: a3 0f 11 01 sb a7, 31(sp) +80000764: 23 a0 e7 00 sw a4, 0(a5) +80000768: 63 4e 20 03 bgtz s2, 60 +8000076c: 63 9c 04 04 bnez s1, 88 +80000770: 83 20 c1 03 lw ra, 60(sp) +80000774: 03 24 81 03 lw s0, 56(sp) +80000778: 83 24 41 03 lw s1, 52(sp) +8000077c: 03 29 01 03 lw s2, 48(sp) +80000780: 83 29 c1 02 lw s3, 44(sp) +80000784: 13 01 01 04 addi sp, sp, 64 +80000788: 67 80 00 00 ret +8000078c: 13 87 08 00 mv a4, a7 +80000790: e3 c2 e7 f2 blt a5, a4, -220 +80000794: 6f f0 df fd j -36 +80000798: 13 08 00 00 mv a6, zero +8000079c: 93 02 10 00 addi t0, zero, 1 +800007a0: 6f f0 df f4 j -180 +800007a4: 13 07 09 00 mv a4, s2 +800007a8: 63 54 23 01 bge t1, s2, 8 +800007ac: 13 07 03 00 mv a4, t1 +800007b0: b7 07 00 80 lui a5, 524288 +800007b4: 93 87 07 51 addi a5, a5, 1296 +800007b8: 6b 10 f7 00 +800007bc: ef f0 5f d5 jal -684 +800007c0: e3 88 04 fa beqz s1, -80 +800007c4: 33 04 89 02 mul s0, s2, s0 +800007c8: 23 28 81 00 sw s0, 16(sp) +800007cc: 6b 80 04 00 +800007d0: 73 27 50 cc csrr a4, 3269 +800007d4: f3 27 20 cc csrr a5, 3266 +800007d8: 13 17 27 00 slli a4, a4, 2 +800007dc: b3 89 e9 00 add s3, s3, a4 +800007e0: 03 a5 09 00 lw a0, 0(s3) +800007e4: 83 25 05 00 lw a1, 0(a0) +800007e8: 83 26 c5 00 lw a3, 12(a0) +800007ec: 03 47 85 01 lbu a4, 24(a0) +800007f0: 03 a8 05 00 lw a6, 0(a1) +800007f4: 03 a6 45 00 lw a2, 4(a1) +800007f8: b3 87 d7 00 add a5, a5, a3 +800007fc: 33 06 c8 02 mul a2, a6, a2 +80000800: 63 0e 07 06 beqz a4, 124 +80000804: 03 47 a5 01 lbu a4, 26(a0) +80000808: 33 d7 e7 40 sra a4, a5, a4 +8000080c: 83 46 95 01 lbu a3, 25(a0) +80000810: 33 06 e6 02 mul a2, a2, a4 +80000814: b3 87 c7 40 sub a5, a5, a2 +80000818: 63 8e 06 04 beqz a3, 92 +8000081c: 83 48 b5 01 lbu a7, 27(a0) +80000820: b3 d8 17 41 sra a7, a5, a7 +80000824: 33 08 18 03 mul a6, a6, a7 +80000828: 03 ae 45 01 lw t3, 20(a1) +8000082c: 83 a6 05 01 lw a3, 16(a1) +80000830: 03 a6 c5 00 lw a2, 12(a1) +80000834: 03 23 45 00 lw t1, 4(a0) +80000838: 03 25 85 00 lw a0, 8(a0) +8000083c: 33 07 c7 01 add a4, a4, t3 +80000840: b3 86 d8 00 add a3, a7, a3 +80000844: b3 87 07 41 sub a5, a5, a6 +80000848: 33 86 c7 00 add a2, a5, a2 +8000084c: e7 00 03 00 jalr t1 +80000850: 93 07 10 00 addi a5, zero, 1 +80000854: 6b 80 07 00 +80000858: 83 20 c1 03 lw ra, 60(sp) +8000085c: 03 24 81 03 lw s0, 56(sp) +80000860: 83 24 41 03 lw s1, 52(sp) +80000864: 03 29 01 03 lw s2, 48(sp) +80000868: 83 29 c1 02 lw s3, 44(sp) +8000086c: 13 01 01 04 addi sp, sp, 64 +80000870: 67 80 00 00 ret +80000874: b3 c8 07 03 div a7, a5, a6 +80000878: 6f f0 df fa j -84 +8000087c: 33 c7 c7 02 div a4, a5, a2 +80000880: 6f f0 df f8 j -116 -80000a94 atexit: -80000a94: 93 05 05 00 mv a1, a0 -80000a98: 93 06 00 00 mv a3, zero -80000a9c: 13 06 00 00 mv a2, zero -80000aa0: 13 05 00 00 mv a0, zero -80000aa4: 6f 00 40 11 j 276 +80000884 vx_perf_dump: +80000884: f3 27 50 cc csrr a5, 3269 +80000888: 37 07 ff 00 lui a4, 4080 +8000088c: b3 87 e7 00 add a5, a5, a4 +80000890: 93 97 87 00 slli a5, a5, 8 +80000894: 73 27 00 b0 csrr a4, mcycle +80000898: 23 a0 e7 00 sw a4, 0(a5) +8000089c: 73 27 10 b0 csrr a4, 2817 +800008a0: 23 a2 e7 00 sw a4, 4(a5) +800008a4: 73 27 20 b0 csrr a4, minstret +800008a8: 23 a4 e7 00 sw a4, 8(a5) +800008ac: 73 27 30 b0 csrr a4, mhpmcounter3 +800008b0: 23 a6 e7 00 sw a4, 12(a5) +800008b4: 73 27 40 b0 csrr a4, mhpmcounter4 +800008b8: 23 a8 e7 00 sw a4, 16(a5) +800008bc: 73 27 50 b0 csrr a4, mhpmcounter5 +800008c0: 23 aa e7 00 sw a4, 20(a5) +800008c4: 73 27 60 b0 csrr a4, mhpmcounter6 +800008c8: 23 ac e7 00 sw a4, 24(a5) +800008cc: 73 27 70 b0 csrr a4, mhpmcounter7 +800008d0: 23 ae e7 00 sw a4, 28(a5) +800008d4: 73 27 80 b0 csrr a4, mhpmcounter8 +800008d8: 23 a0 e7 02 sw a4, 32(a5) +800008dc: 73 27 90 b0 csrr a4, mhpmcounter9 +800008e0: 23 a2 e7 02 sw a4, 36(a5) +800008e4: 73 27 a0 b0 csrr a4, mhpmcounter10 +800008e8: 23 a4 e7 02 sw a4, 40(a5) +800008ec: 73 27 b0 b0 csrr a4, mhpmcounter11 +800008f0: 23 a6 e7 02 sw a4, 44(a5) +800008f4: 73 27 c0 b0 csrr a4, mhpmcounter12 +800008f8: 23 a8 e7 02 sw a4, 48(a5) +800008fc: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000900: 23 aa e7 02 sw a4, 52(a5) +80000904: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000908: 23 ac e7 02 sw a4, 56(a5) +8000090c: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000910: 23 ae e7 02 sw a4, 60(a5) +80000914: 73 27 00 b1 csrr a4, mhpmcounter16 +80000918: 23 a0 e7 04 sw a4, 64(a5) +8000091c: 73 27 10 b1 csrr a4, mhpmcounter17 +80000920: 23 a2 e7 04 sw a4, 68(a5) +80000924: 73 27 20 b1 csrr a4, mhpmcounter18 +80000928: 23 a4 e7 04 sw a4, 72(a5) +8000092c: 73 27 30 b1 csrr a4, mhpmcounter19 +80000930: 23 a6 e7 04 sw a4, 76(a5) +80000934: 73 27 40 b1 csrr a4, mhpmcounter20 +80000938: 23 a8 e7 04 sw a4, 80(a5) +8000093c: 73 27 50 b1 csrr a4, mhpmcounter21 +80000940: 23 aa e7 04 sw a4, 84(a5) +80000944: 73 27 60 b1 csrr a4, mhpmcounter22 +80000948: 23 ac e7 04 sw a4, 88(a5) +8000094c: 73 27 70 b1 csrr a4, mhpmcounter23 +80000950: 23 ae e7 04 sw a4, 92(a5) +80000954: 73 27 80 b1 csrr a4, mhpmcounter24 +80000958: 23 a0 e7 06 sw a4, 96(a5) +8000095c: 73 27 90 b1 csrr a4, mhpmcounter25 +80000960: 23 a2 e7 06 sw a4, 100(a5) +80000964: 73 27 a0 b1 csrr a4, mhpmcounter26 +80000968: 23 a4 e7 06 sw a4, 104(a5) +8000096c: 73 27 b0 b1 csrr a4, mhpmcounter27 +80000970: 23 a6 e7 06 sw a4, 108(a5) +80000974: 73 27 c0 b1 csrr a4, mhpmcounter28 +80000978: 23 a8 e7 06 sw a4, 112(a5) +8000097c: 73 27 d0 b1 csrr a4, mhpmcounter29 +80000980: 23 aa e7 06 sw a4, 116(a5) +80000984: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000988: 23 ac e7 06 sw a4, 120(a5) +8000098c: 73 27 f0 b1 csrr a4, mhpmcounter31 +80000990: 23 ae e7 06 sw a4, 124(a5) +80000994: 73 27 00 b8 csrr a4, mcycleh +80000998: 23 a0 e7 08 sw a4, 128(a5) +8000099c: 73 27 10 b8 csrr a4, 2945 +800009a0: 23 a2 e7 08 sw a4, 132(a5) +800009a4: 73 27 20 b8 csrr a4, minstreth +800009a8: 23 a4 e7 08 sw a4, 136(a5) +800009ac: 73 27 30 b8 csrr a4, mhpmcounter3h +800009b0: 23 a6 e7 08 sw a4, 140(a5) +800009b4: 73 27 40 b8 csrr a4, mhpmcounter4h +800009b8: 23 a8 e7 08 sw a4, 144(a5) +800009bc: 73 27 50 b8 csrr a4, mhpmcounter5h +800009c0: 23 aa e7 08 sw a4, 148(a5) +800009c4: 73 27 60 b8 csrr a4, mhpmcounter6h +800009c8: 23 ac e7 08 sw a4, 152(a5) +800009cc: 73 27 70 b8 csrr a4, mhpmcounter7h +800009d0: 23 ae e7 08 sw a4, 156(a5) +800009d4: 73 27 80 b8 csrr a4, mhpmcounter8h +800009d8: 23 a0 e7 0a sw a4, 160(a5) +800009dc: 73 27 90 b8 csrr a4, mhpmcounter9h +800009e0: 23 a2 e7 0a sw a4, 164(a5) +800009e4: 73 27 a0 b8 csrr a4, mhpmcounter10h +800009e8: 23 a4 e7 0a sw a4, 168(a5) +800009ec: 73 27 b0 b8 csrr a4, mhpmcounter11h +800009f0: 23 a6 e7 0a sw a4, 172(a5) +800009f4: 73 27 c0 b8 csrr a4, mhpmcounter12h +800009f8: 23 a8 e7 0a sw a4, 176(a5) +800009fc: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000a00: 23 aa e7 0a sw a4, 180(a5) +80000a04: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000a08: 23 ac e7 0a sw a4, 184(a5) +80000a0c: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000a10: 23 ae e7 0a sw a4, 188(a5) +80000a14: 73 27 00 b9 csrr a4, mhpmcounter16h +80000a18: 23 a0 e7 0c sw a4, 192(a5) +80000a1c: 73 27 10 b9 csrr a4, mhpmcounter17h +80000a20: 23 a2 e7 0c sw a4, 196(a5) +80000a24: 73 27 20 b9 csrr a4, mhpmcounter18h +80000a28: 23 a4 e7 0c sw a4, 200(a5) +80000a2c: 73 27 30 b9 csrr a4, mhpmcounter19h +80000a30: 23 a6 e7 0c sw a4, 204(a5) +80000a34: 73 27 40 b9 csrr a4, mhpmcounter20h +80000a38: 23 a8 e7 0c sw a4, 208(a5) +80000a3c: 73 27 50 b9 csrr a4, mhpmcounter21h +80000a40: 23 aa e7 0c sw a4, 212(a5) +80000a44: 73 27 60 b9 csrr a4, mhpmcounter22h +80000a48: 23 ac e7 0c sw a4, 216(a5) +80000a4c: 73 27 70 b9 csrr a4, mhpmcounter23h +80000a50: 23 ae e7 0c sw a4, 220(a5) +80000a54: 73 27 80 b9 csrr a4, mhpmcounter24h +80000a58: 23 a0 e7 0e sw a4, 224(a5) +80000a5c: 73 27 90 b9 csrr a4, mhpmcounter25h +80000a60: 23 a2 e7 0e sw a4, 228(a5) +80000a64: 73 27 a0 b9 csrr a4, mhpmcounter26h +80000a68: 23 a4 e7 0e sw a4, 232(a5) +80000a6c: 73 27 b0 b9 csrr a4, mhpmcounter27h +80000a70: 23 a6 e7 0e sw a4, 236(a5) +80000a74: 73 27 c0 b9 csrr a4, mhpmcounter28h +80000a78: 23 a8 e7 0e sw a4, 240(a5) +80000a7c: 73 27 d0 b9 csrr a4, mhpmcounter29h +80000a80: 23 aa e7 0e sw a4, 244(a5) +80000a84: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000a88: 23 ac e7 0e sw a4, 248(a5) +80000a8c: 73 27 f0 b9 csrr a4, mhpmcounter31h +80000a90: 23 ae e7 0e sw a4, 252(a5) +80000a94: 67 80 00 00 ret -80000aa8 exit: -80000aa8: 13 01 01 ff addi sp, sp, -16 -80000aac: 93 05 00 00 mv a1, zero -80000ab0: 23 24 81 00 sw s0, 8(sp) -80000ab4: 23 26 11 00 sw ra, 12(sp) -80000ab8: 13 04 05 00 mv s0, a0 -80000abc: ef 00 80 19 jal 408 -80000ac0: b7 17 00 80 lui a5, 524289 -80000ac4: 03 a5 07 43 lw a0, 1072(a5) -80000ac8: 83 27 c5 03 lw a5, 60(a0) -80000acc: 63 84 07 00 beqz a5, 8 -80000ad0: e7 80 07 00 jalr a5 -80000ad4: 13 05 04 00 mv a0, s0 -80000ad8: ef f0 5f 8f jal -1804 +80000a98 atexit: +80000a98: 93 05 05 00 mv a1, a0 +80000a9c: 93 06 00 00 mv a3, zero +80000aa0: 13 06 00 00 mv a2, zero +80000aa4: 13 05 00 00 mv a0, zero +80000aa8: 6f 00 40 11 j 276 -80000adc memset: -80000adc: 13 03 f0 00 addi t1, zero, 15 -80000ae0: 13 07 05 00 mv a4, a0 -80000ae4: 63 7e c3 02 bgeu t1, a2, 60 -80000ae8: 93 77 f7 00 andi a5, a4, 15 -80000aec: 63 90 07 0a bnez a5, 160 -80000af0: 63 92 05 08 bnez a1, 132 -80000af4: 93 76 06 ff andi a3, a2, -16 -80000af8: 13 76 f6 00 andi a2, a2, 15 -80000afc: b3 86 e6 00 add a3, a3, a4 -80000b00: 23 20 b7 00 sw a1, 0(a4) -80000b04: 23 22 b7 00 sw a1, 4(a4) -80000b08: 23 24 b7 00 sw a1, 8(a4) -80000b0c: 23 26 b7 00 sw a1, 12(a4) -80000b10: 13 07 07 01 addi a4, a4, 16 -80000b14: e3 66 d7 fe bltu a4, a3, -20 -80000b18: 63 14 06 00 bnez a2, 8 -80000b1c: 67 80 00 00 ret -80000b20: b3 06 c3 40 sub a3, t1, a2 -80000b24: 93 96 26 00 slli a3, a3, 2 -80000b28: 97 02 00 00 auipc t0, 0 -80000b2c: b3 86 56 00 add a3, a3, t0 -80000b30: 67 80 c6 00 jr 12(a3) -80000b34: 23 07 b7 00 sb a1, 14(a4) -80000b38: a3 06 b7 00 sb a1, 13(a4) -80000b3c: 23 06 b7 00 sb a1, 12(a4) -80000b40: a3 05 b7 00 sb a1, 11(a4) -80000b44: 23 05 b7 00 sb a1, 10(a4) -80000b48: a3 04 b7 00 sb a1, 9(a4) -80000b4c: 23 04 b7 00 sb a1, 8(a4) -80000b50: a3 03 b7 00 sb a1, 7(a4) -80000b54: 23 03 b7 00 sb a1, 6(a4) -80000b58: a3 02 b7 00 sb a1, 5(a4) -80000b5c: 23 02 b7 00 sb a1, 4(a4) -80000b60: a3 01 b7 00 sb a1, 3(a4) -80000b64: 23 01 b7 00 sb a1, 2(a4) -80000b68: a3 00 b7 00 sb a1, 1(a4) -80000b6c: 23 00 b7 00 sb a1, 0(a4) -80000b70: 67 80 00 00 ret -80000b74: 93 f5 f5 0f andi a1, a1, 255 -80000b78: 93 96 85 00 slli a3, a1, 8 -80000b7c: b3 e5 d5 00 or a1, a1, a3 -80000b80: 93 96 05 01 slli a3, a1, 16 -80000b84: b3 e5 d5 00 or a1, a1, a3 -80000b88: 6f f0 df f6 j -148 -80000b8c: 93 96 27 00 slli a3, a5, 2 -80000b90: 97 02 00 00 auipc t0, 0 -80000b94: b3 86 56 00 add a3, a3, t0 -80000b98: 93 82 00 00 mv t0, ra -80000b9c: e7 80 06 fa jalr -96(a3) -80000ba0: 93 80 02 00 mv ra, t0 -80000ba4: 93 87 07 ff addi a5, a5, -16 -80000ba8: 33 07 f7 40 sub a4, a4, a5 -80000bac: 33 06 f6 00 add a2, a2, a5 -80000bb0: e3 78 c3 f6 bgeu t1, a2, -144 -80000bb4: 6f f0 df f3 j -196 +80000aac exit: +80000aac: 13 01 01 ff addi sp, sp, -16 +80000ab0: 93 05 00 00 mv a1, zero +80000ab4: 23 24 81 00 sw s0, 8(sp) +80000ab8: 23 26 11 00 sw ra, 12(sp) +80000abc: 13 04 05 00 mv s0, a0 +80000ac0: ef 00 80 19 jal 408 +80000ac4: b7 17 00 80 lui a5, 524289 +80000ac8: 03 a5 07 43 lw a0, 1072(a5) +80000acc: 83 27 c5 03 lw a5, 60(a0) +80000ad0: 63 84 07 00 beqz a5, 8 +80000ad4: e7 80 07 00 jalr a5 +80000ad8: 13 05 04 00 mv a0, s0 +80000adc: ef f0 1f 8f jal -1808 -80000bb8 __register_exitproc: -80000bb8: b7 17 00 80 lui a5, 524289 -80000bbc: 03 a7 07 43 lw a4, 1072(a5) -80000bc0: 83 27 87 14 lw a5, 328(a4) -80000bc4: 63 8c 07 04 beqz a5, 88 -80000bc8: 03 a7 47 00 lw a4, 4(a5) -80000bcc: 13 08 f0 01 addi a6, zero, 31 -80000bd0: 63 4e e8 06 blt a6, a4, 124 -80000bd4: 13 18 27 00 slli a6, a4, 2 -80000bd8: 63 06 05 02 beqz a0, 44 -80000bdc: 33 83 07 01 add t1, a5, a6 -80000be0: 23 24 c3 08 sw a2, 136(t1) -80000be4: 83 a8 87 18 lw a7, 392(a5) -80000be8: 13 06 10 00 addi a2, zero, 1 -80000bec: 33 16 e6 00 sll a2, a2, a4 -80000bf0: b3 e8 c8 00 or a7, a7, a2 -80000bf4: 23 a4 17 19 sw a7, 392(a5) -80000bf8: 23 24 d3 10 sw a3, 264(t1) -80000bfc: 93 06 20 00 addi a3, zero, 2 -80000c00: 63 04 d5 02 beq a0, a3, 40 -80000c04: 13 07 17 00 addi a4, a4, 1 -80000c08: 23 a2 e7 00 sw a4, 4(a5) -80000c0c: b3 87 07 01 add a5, a5, a6 -80000c10: 23 a4 b7 00 sw a1, 8(a5) -80000c14: 13 05 00 00 mv a0, zero -80000c18: 67 80 00 00 ret -80000c1c: 93 07 c7 14 addi a5, a4, 332 -80000c20: 23 24 f7 14 sw a5, 328(a4) -80000c24: 6f f0 5f fa j -92 -80000c28: 83 a6 c7 18 lw a3, 396(a5) -80000c2c: 13 07 17 00 addi a4, a4, 1 -80000c30: 23 a2 e7 00 sw a4, 4(a5) -80000c34: 33 e6 c6 00 or a2, a3, a2 -80000c38: 23 a6 c7 18 sw a2, 396(a5) -80000c3c: b3 87 07 01 add a5, a5, a6 -80000c40: 23 a4 b7 00 sw a1, 8(a5) -80000c44: 13 05 00 00 mv a0, zero -80000c48: 67 80 00 00 ret -80000c4c: 13 05 f0 ff addi a0, zero, -1 -80000c50: 67 80 00 00 ret +80000ae0 memset: +80000ae0: 13 03 f0 00 addi t1, zero, 15 +80000ae4: 13 07 05 00 mv a4, a0 +80000ae8: 63 7e c3 02 bgeu t1, a2, 60 +80000aec: 93 77 f7 00 andi a5, a4, 15 +80000af0: 63 90 07 0a bnez a5, 160 +80000af4: 63 92 05 08 bnez a1, 132 +80000af8: 93 76 06 ff andi a3, a2, -16 +80000afc: 13 76 f6 00 andi a2, a2, 15 +80000b00: b3 86 e6 00 add a3, a3, a4 +80000b04: 23 20 b7 00 sw a1, 0(a4) +80000b08: 23 22 b7 00 sw a1, 4(a4) +80000b0c: 23 24 b7 00 sw a1, 8(a4) +80000b10: 23 26 b7 00 sw a1, 12(a4) +80000b14: 13 07 07 01 addi a4, a4, 16 +80000b18: e3 66 d7 fe bltu a4, a3, -20 +80000b1c: 63 14 06 00 bnez a2, 8 +80000b20: 67 80 00 00 ret +80000b24: b3 06 c3 40 sub a3, t1, a2 +80000b28: 93 96 26 00 slli a3, a3, 2 +80000b2c: 97 02 00 00 auipc t0, 0 +80000b30: b3 86 56 00 add a3, a3, t0 +80000b34: 67 80 c6 00 jr 12(a3) +80000b38: 23 07 b7 00 sb a1, 14(a4) +80000b3c: a3 06 b7 00 sb a1, 13(a4) +80000b40: 23 06 b7 00 sb a1, 12(a4) +80000b44: a3 05 b7 00 sb a1, 11(a4) +80000b48: 23 05 b7 00 sb a1, 10(a4) +80000b4c: a3 04 b7 00 sb a1, 9(a4) +80000b50: 23 04 b7 00 sb a1, 8(a4) +80000b54: a3 03 b7 00 sb a1, 7(a4) +80000b58: 23 03 b7 00 sb a1, 6(a4) +80000b5c: a3 02 b7 00 sb a1, 5(a4) +80000b60: 23 02 b7 00 sb a1, 4(a4) +80000b64: a3 01 b7 00 sb a1, 3(a4) +80000b68: 23 01 b7 00 sb a1, 2(a4) +80000b6c: a3 00 b7 00 sb a1, 1(a4) +80000b70: 23 00 b7 00 sb a1, 0(a4) +80000b74: 67 80 00 00 ret +80000b78: 93 f5 f5 0f andi a1, a1, 255 +80000b7c: 93 96 85 00 slli a3, a1, 8 +80000b80: b3 e5 d5 00 or a1, a1, a3 +80000b84: 93 96 05 01 slli a3, a1, 16 +80000b88: b3 e5 d5 00 or a1, a1, a3 +80000b8c: 6f f0 df f6 j -148 +80000b90: 93 96 27 00 slli a3, a5, 2 +80000b94: 97 02 00 00 auipc t0, 0 +80000b98: b3 86 56 00 add a3, a3, t0 +80000b9c: 93 82 00 00 mv t0, ra +80000ba0: e7 80 06 fa jalr -96(a3) +80000ba4: 93 80 02 00 mv ra, t0 +80000ba8: 93 87 07 ff addi a5, a5, -16 +80000bac: 33 07 f7 40 sub a4, a4, a5 +80000bb0: 33 06 f6 00 add a2, a2, a5 +80000bb4: e3 78 c3 f6 bgeu t1, a2, -144 +80000bb8: 6f f0 df f3 j -196 -80000c54 __call_exitprocs: -80000c54: 13 01 01 fd addi sp, sp, -48 -80000c58: b7 17 00 80 lui a5, 524289 -80000c5c: 23 2c 41 01 sw s4, 24(sp) -80000c60: 03 aa 07 43 lw s4, 1072(a5) -80000c64: 23 20 21 03 sw s2, 32(sp) -80000c68: 23 26 11 02 sw ra, 44(sp) -80000c6c: 03 29 8a 14 lw s2, 328(s4) -80000c70: 23 24 81 02 sw s0, 40(sp) -80000c74: 23 22 91 02 sw s1, 36(sp) -80000c78: 23 2e 31 01 sw s3, 28(sp) -80000c7c: 23 2a 51 01 sw s5, 20(sp) -80000c80: 23 28 61 01 sw s6, 16(sp) -80000c84: 23 26 71 01 sw s7, 12(sp) -80000c88: 23 24 81 01 sw s8, 8(sp) -80000c8c: 63 00 09 04 beqz s2, 64 -80000c90: 13 0b 05 00 mv s6, a0 -80000c94: 93 8b 05 00 mv s7, a1 -80000c98: 93 0a 10 00 addi s5, zero, 1 -80000c9c: 93 09 f0 ff addi s3, zero, -1 -80000ca0: 83 24 49 00 lw s1, 4(s2) -80000ca4: 13 84 f4 ff addi s0, s1, -1 -80000ca8: 63 42 04 02 bltz s0, 36 -80000cac: 93 94 24 00 slli s1, s1, 2 -80000cb0: b3 04 99 00 add s1, s2, s1 -80000cb4: 63 84 0b 04 beqz s7, 72 -80000cb8: 83 a7 44 10 lw a5, 260(s1) -80000cbc: 63 80 77 05 beq a5, s7, 64 -80000cc0: 13 04 f4 ff addi s0, s0, -1 -80000cc4: 93 84 c4 ff addi s1, s1, -4 -80000cc8: e3 16 34 ff bne s0, s3, -20 -80000ccc: 83 20 c1 02 lw ra, 44(sp) -80000cd0: 03 24 81 02 lw s0, 40(sp) -80000cd4: 83 24 41 02 lw s1, 36(sp) -80000cd8: 03 29 01 02 lw s2, 32(sp) -80000cdc: 83 29 c1 01 lw s3, 28(sp) -80000ce0: 03 2a 81 01 lw s4, 24(sp) -80000ce4: 83 2a 41 01 lw s5, 20(sp) -80000ce8: 03 2b 01 01 lw s6, 16(sp) -80000cec: 83 2b c1 00 lw s7, 12(sp) -80000cf0: 03 2c 81 00 lw s8, 8(sp) -80000cf4: 13 01 01 03 addi sp, sp, 48 -80000cf8: 67 80 00 00 ret -80000cfc: 83 27 49 00 lw a5, 4(s2) -80000d00: 83 a6 44 00 lw a3, 4(s1) -80000d04: 93 87 f7 ff addi a5, a5, -1 -80000d08: 63 8e 87 04 beq a5, s0, 92 -80000d0c: 23 a2 04 00 sw zero, 4(s1) -80000d10: e3 88 06 fa beqz a3, -80 -80000d14: 83 27 89 18 lw a5, 392(s2) -80000d18: 33 97 8a 00 sll a4, s5, s0 -80000d1c: 03 2c 49 00 lw s8, 4(s2) -80000d20: b3 77 f7 00 and a5, a4, a5 -80000d24: 63 92 07 02 bnez a5, 36 -80000d28: e7 80 06 00 jalr a3 -80000d2c: 03 27 49 00 lw a4, 4(s2) -80000d30: 83 27 8a 14 lw a5, 328(s4) -80000d34: 63 14 87 01 bne a4, s8, 8 -80000d38: e3 04 f9 f8 beq s2, a5, -120 -80000d3c: e3 88 07 f8 beqz a5, -112 -80000d40: 13 89 07 00 mv s2, a5 -80000d44: 6f f0 df f5 j -164 -80000d48: 83 27 c9 18 lw a5, 396(s2) -80000d4c: 83 a5 44 08 lw a1, 132(s1) -80000d50: 33 77 f7 00 and a4, a4, a5 -80000d54: 63 1c 07 00 bnez a4, 24 -80000d58: 13 05 0b 00 mv a0, s6 -80000d5c: e7 80 06 00 jalr a3 -80000d60: 6f f0 df fc j -52 -80000d64: 23 22 89 00 sw s0, 4(s2) -80000d68: 6f f0 9f fa j -88 -80000d6c: 13 85 05 00 mv a0, a1 -80000d70: e7 80 06 00 jalr a3 -80000d74: 6f f0 9f fb j -72 +80000bbc __register_exitproc: +80000bbc: b7 17 00 80 lui a5, 524289 +80000bc0: 03 a7 07 43 lw a4, 1072(a5) +80000bc4: 83 27 87 14 lw a5, 328(a4) +80000bc8: 63 8c 07 04 beqz a5, 88 +80000bcc: 03 a7 47 00 lw a4, 4(a5) +80000bd0: 13 08 f0 01 addi a6, zero, 31 +80000bd4: 63 4e e8 06 blt a6, a4, 124 +80000bd8: 13 18 27 00 slli a6, a4, 2 +80000bdc: 63 06 05 02 beqz a0, 44 +80000be0: 33 83 07 01 add t1, a5, a6 +80000be4: 23 24 c3 08 sw a2, 136(t1) +80000be8: 83 a8 87 18 lw a7, 392(a5) +80000bec: 13 06 10 00 addi a2, zero, 1 +80000bf0: 33 16 e6 00 sll a2, a2, a4 +80000bf4: b3 e8 c8 00 or a7, a7, a2 +80000bf8: 23 a4 17 19 sw a7, 392(a5) +80000bfc: 23 24 d3 10 sw a3, 264(t1) +80000c00: 93 06 20 00 addi a3, zero, 2 +80000c04: 63 04 d5 02 beq a0, a3, 40 +80000c08: 13 07 17 00 addi a4, a4, 1 +80000c0c: 23 a2 e7 00 sw a4, 4(a5) +80000c10: b3 87 07 01 add a5, a5, a6 +80000c14: 23 a4 b7 00 sw a1, 8(a5) +80000c18: 13 05 00 00 mv a0, zero +80000c1c: 67 80 00 00 ret +80000c20: 93 07 c7 14 addi a5, a4, 332 +80000c24: 23 24 f7 14 sw a5, 328(a4) +80000c28: 6f f0 5f fa j -92 +80000c2c: 83 a6 c7 18 lw a3, 396(a5) +80000c30: 13 07 17 00 addi a4, a4, 1 +80000c34: 23 a2 e7 00 sw a4, 4(a5) +80000c38: 33 e6 c6 00 or a2, a3, a2 +80000c3c: 23 a6 c7 18 sw a2, 396(a5) +80000c40: b3 87 07 01 add a5, a5, a6 +80000c44: 23 a4 b7 00 sw a1, 8(a5) +80000c48: 13 05 00 00 mv a0, zero +80000c4c: 67 80 00 00 ret +80000c50: 13 05 f0 ff addi a0, zero, -1 +80000c54: 67 80 00 00 ret + +80000c58 __call_exitprocs: +80000c58: 13 01 01 fd addi sp, sp, -48 +80000c5c: b7 17 00 80 lui a5, 524289 +80000c60: 23 2c 41 01 sw s4, 24(sp) +80000c64: 03 aa 07 43 lw s4, 1072(a5) +80000c68: 23 20 21 03 sw s2, 32(sp) +80000c6c: 23 26 11 02 sw ra, 44(sp) +80000c70: 03 29 8a 14 lw s2, 328(s4) +80000c74: 23 24 81 02 sw s0, 40(sp) +80000c78: 23 22 91 02 sw s1, 36(sp) +80000c7c: 23 2e 31 01 sw s3, 28(sp) +80000c80: 23 2a 51 01 sw s5, 20(sp) +80000c84: 23 28 61 01 sw s6, 16(sp) +80000c88: 23 26 71 01 sw s7, 12(sp) +80000c8c: 23 24 81 01 sw s8, 8(sp) +80000c90: 63 00 09 04 beqz s2, 64 +80000c94: 13 0b 05 00 mv s6, a0 +80000c98: 93 8b 05 00 mv s7, a1 +80000c9c: 93 0a 10 00 addi s5, zero, 1 +80000ca0: 93 09 f0 ff addi s3, zero, -1 +80000ca4: 83 24 49 00 lw s1, 4(s2) +80000ca8: 13 84 f4 ff addi s0, s1, -1 +80000cac: 63 42 04 02 bltz s0, 36 +80000cb0: 93 94 24 00 slli s1, s1, 2 +80000cb4: b3 04 99 00 add s1, s2, s1 +80000cb8: 63 84 0b 04 beqz s7, 72 +80000cbc: 83 a7 44 10 lw a5, 260(s1) +80000cc0: 63 80 77 05 beq a5, s7, 64 +80000cc4: 13 04 f4 ff addi s0, s0, -1 +80000cc8: 93 84 c4 ff addi s1, s1, -4 +80000ccc: e3 16 34 ff bne s0, s3, -20 +80000cd0: 83 20 c1 02 lw ra, 44(sp) +80000cd4: 03 24 81 02 lw s0, 40(sp) +80000cd8: 83 24 41 02 lw s1, 36(sp) +80000cdc: 03 29 01 02 lw s2, 32(sp) +80000ce0: 83 29 c1 01 lw s3, 28(sp) +80000ce4: 03 2a 81 01 lw s4, 24(sp) +80000ce8: 83 2a 41 01 lw s5, 20(sp) +80000cec: 03 2b 01 01 lw s6, 16(sp) +80000cf0: 83 2b c1 00 lw s7, 12(sp) +80000cf4: 03 2c 81 00 lw s8, 8(sp) +80000cf8: 13 01 01 03 addi sp, sp, 48 +80000cfc: 67 80 00 00 ret +80000d00: 83 27 49 00 lw a5, 4(s2) +80000d04: 83 a6 44 00 lw a3, 4(s1) +80000d08: 93 87 f7 ff addi a5, a5, -1 +80000d0c: 63 8e 87 04 beq a5, s0, 92 +80000d10: 23 a2 04 00 sw zero, 4(s1) +80000d14: e3 88 06 fa beqz a3, -80 +80000d18: 83 27 89 18 lw a5, 392(s2) +80000d1c: 33 97 8a 00 sll a4, s5, s0 +80000d20: 03 2c 49 00 lw s8, 4(s2) +80000d24: b3 77 f7 00 and a5, a4, a5 +80000d28: 63 92 07 02 bnez a5, 36 +80000d2c: e7 80 06 00 jalr a3 +80000d30: 03 27 49 00 lw a4, 4(s2) +80000d34: 83 27 8a 14 lw a5, 328(s4) +80000d38: 63 14 87 01 bne a4, s8, 8 +80000d3c: e3 04 f9 f8 beq s2, a5, -120 +80000d40: e3 88 07 f8 beqz a5, -112 +80000d44: 13 89 07 00 mv s2, a5 +80000d48: 6f f0 df f5 j -164 +80000d4c: 83 27 c9 18 lw a5, 396(s2) +80000d50: 83 a5 44 08 lw a1, 132(s1) +80000d54: 33 77 f7 00 and a4, a4, a5 +80000d58: 63 1c 07 00 bnez a4, 24 +80000d5c: 13 05 0b 00 mv a0, s6 +80000d60: e7 80 06 00 jalr a3 +80000d64: 6f f0 df fc j -52 +80000d68: 23 22 89 00 sw s0, 4(s2) +80000d6c: 6f f0 9f fa j -88 +80000d70: 13 85 05 00 mv a0, a1 +80000d74: e7 80 06 00 jalr a3 +80000d78: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -1078,221 +1081,221 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 10 04 + a4: d8 03 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 14 04 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 71 00 + 100: 73 00 00 00 ecall ... - 10a: 00 00 10c: 04 00 10e: f1 ff - 110: 7c 00 - 112: 00 00 - 114: 0c 05 - 116: 00 80 - 118: 48 01 - 11a: 00 00 - 11c: 02 00 - 11e: 02 00 - 120: 92 00 + 110: 81 00 ... + 11a: 00 00 + 11c: 04 00 + 11e: f1 ff + 120: 8c 00 + 122: 00 00 + 124: 10 05 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: 9e 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: a0 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 9c 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: a7 00 00 00 + 160: ac 00 ... + 16a: 00 00 16c: 04 00 16e: f1 ff - 170: b0 00 - 172: 00 00 - 174: 08 10 - 176: 00 80 - 178: 28 04 - 17a: 00 00 - 17c: 01 00 - 17e: 04 00 + 170: b7 00 00 00 lui ra, 0 ... - 18c: 04 00 - 18e: f1 ff - 190: bc 00 - 192: 00 00 - 194: 04 10 - 196: 00 80 - 198: 00 00 - 19a: 00 00 - 19c: 00 00 - 19e: 03 00 cd 00 lb zero, 12(s10) + 17c: 04 00 + 17e: f1 ff + 180: c0 00 + 182: 00 00 + 184: 08 10 + 186: 00 80 + 188: 28 04 + 18a: 00 00 + 18c: 01 00 + 18e: 04 00 + ... + 19c: 04 00 + 19e: f1 ff + 1a0: cc 00 1a2: 00 00 1a4: 04 10 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 e0 00 lb zero, 14(zero) + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 1b4: 04 10 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 f1 00 lb zero, 15(sp) + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 - 1c4: 00 10 + 1c4: 04 10 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 05 01 lb zero, 16(a0) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 1d4: 00 10 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 18 01 lb zero, 17(a6) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 1e4: 00 10 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 2e 01 lb zero, 18(t3) - ... + 1ee: 03 00 28 01 lb zero, 18(a6) + 1f2: 00 00 + 1f4: 00 10 + 1f6: 00 80 + 1f8: 00 00 1fa: 00 00 - 1fc: 10 00 - 1fe: f1 ff - 200: 3c 01 - 202: 00 00 - 204: b4 01 - 206: 00 80 - 208: 10 01 + 1fc: 00 00 + 1fe: 03 00 3e 01 lb zero, 19(t3) + ... 20a: 00 00 - 20c: 12 00 - 20e: 02 00 - 210: 59 01 + 20c: 10 00 + 20e: f1 ff + 210: 4c 01 212: 00 00 - 214: 00 04 - 216: 00 00 - 218: 00 00 + 214: b4 01 + 216: 00 80 + 218: 10 01 21a: 00 00 - 21c: 10 00 - 21e: f1 ff - 220: 66 01 + 21c: 12 00 + 21e: 02 00 + 220: 69 01 222: 00 00 - 224: 34 14 - 226: 00 80 - 228: 80 00 + 224: 00 04 + 226: 00 00 + 228: 00 00 22a: 00 00 - 22c: 11 00 - 22e: 06 00 - 230: 74 01 + 22c: 10 00 + 22e: f1 ff + 230: 76 01 232: 00 00 - 234: 30 14 + 234: 34 14 236: 00 80 - 238: 00 00 + 238: 80 00 23a: 00 00 - 23c: 10 00 - 23e: 05 00 + 23c: 11 00 + 23e: 06 00 240: 84 01 242: 00 00 - 244: 08 18 + 244: 30 14 246: 00 80 248: 00 00 24a: 00 00 24c: 10 00 - 24e: f1 ff - 250: 95 01 + 24e: 05 00 + 250: 94 01 252: 00 00 - 254: 30 14 + 254: 08 18 256: 00 80 - 258: 04 00 + 258: 00 00 25a: 00 00 - 25c: 11 00 - 25e: 05 00 - 260: a8 01 + 25c: 10 00 + 25e: f1 ff + 260: a5 01 262: 00 00 - 264: 14 04 + 264: 30 14 266: 00 80 - 268: 9c 00 + 268: 04 00 26a: 00 00 - 26c: 12 00 - 26e: 02 00 - 270: ba 01 + 26c: 11 00 + 26e: 05 00 + 270: b8 01 272: 00 00 - 274: b0 04 + 274: 18 04 276: 00 80 - 278: 5c 00 + 278: 9c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: cc 01 + 280: ca 01 282: 00 00 - 284: 00 00 - 286: 00 ff - 288: 00 00 + 284: b4 04 + 286: 00 80 + 288: 5c 00 28a: 00 00 - 28c: 10 00 - 28e: f1 ff - 290: d8 01 + 28c: 12 00 + 28e: 02 00 + 290: dc 01 292: 00 00 - 294: d8 03 + 294: e4 03 296: 00 80 298: 00 00 29a: 00 00 29c: 12 00 29e: 02 00 - 2a0: e2 01 + 2a0: e6 01 2a2: 00 00 - 2a4: 54 0c + 2a4: 58 0c 2a6: 00 80 2a8: 24 01 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: 4d 02 + 2b0: 51 02 2b2: 00 00 2b4: 00 00 2b6: 00 80 @@ -1300,21 +1303,21 @@ Disassembly of section .symtab: 2ba: 00 00 2bc: 12 00 2be: 01 00 - 2c0: f3 01 00 00 - 2c4: b8 0b + 2c0: f7 01 00 00 + 2c4: bc 0b 2c6: 00 80 2c8: 9c 00 2ca: 00 00 2cc: 12 00 2ce: 02 00 - 2d0: 07 02 00 00 + 2d0: 0b 02 00 00 2d4: 98 00 2d6: 00 80 2d8: 1c 01 2da: 00 00 2dc: 12 00 2de: 02 00 - 2e0: 1a 02 + 2e0: 1e 02 2e2: 00 00 2e4: b4 14 2e6: 00 80 @@ -1322,7 +1325,7 @@ Disassembly of section .symtab: 2ea: 00 00 2ec: 10 00 2ee: 06 00 - 2f0: 26 02 + 2f0: 2a 02 2f2: 00 00 2f4: c4 02 2f6: 00 80 @@ -1330,7 +1333,7 @@ Disassembly of section .symtab: 2fa: 00 00 2fc: 12 00 2fe: 02 00 - 300: 48 02 + 300: 4c 02 302: 00 00 304: 34 14 306: 00 80 @@ -1338,37 +1341,37 @@ Disassembly of section .symtab: 30a: 00 00 30c: 10 00 30e: 06 00 - 310: 54 02 + 310: 58 02 312: 00 00 - 314: dc 0a + 314: e0 0a 316: 00 80 318: dc 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 5b 02 00 00 + 320: 5f 02 00 00 324: 68 00 326: 00 80 328: 30 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 60 02 + 330: 64 02 332: 00 00 - 334: 94 0a + 334: 98 0a 336: 00 80 338: 14 00 33a: 00 00 33c: 12 00 33e: 02 00 - 340: 67 02 00 00 jalr tp, zero + 340: 6b 02 00 00 344: 08 10 346: 00 80 348: 00 00 34a: 00 00 34c: 10 00 34e: 04 00 - 350: 76 02 + 350: 7a 02 352: 00 00 354: 34 14 356: 00 80 @@ -1376,7 +1379,7 @@ Disassembly of section .symtab: 35a: 00 00 35c: 10 00 35e: 05 00 - 360: c8 00 + 360: d8 00 362: 00 00 364: b4 14 366: 00 80 @@ -1384,22 +1387,22 @@ Disassembly of section .symtab: 36a: 00 00 36c: 10 00 36e: 06 00 - 370: 8b 02 00 00 - 374: a8 0a + 370: 8f 02 00 00 + 374: ac 0a 376: 00 80 378: 34 00 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 7d 02 + 380: 81 02 382: 00 00 - 384: 80 08 + 384: 84 08 386: 00 80 388: 14 02 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 8a 02 + 390: 8e 02 392: 00 00 394: cc 03 396: 00 80 @@ -1407,9 +1410,9 @@ Disassembly of section .symtab: 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 90 02 + 3a0: 94 02 3a2: 00 00 - 3a4: 54 06 + 3a4: 58 06 3a6: 00 80 3a8: 2c 02 3aa: 00 00 @@ -1424,255 +1427,257 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 65 64 - 48: 2d 66 - 4a: 31 2d - 4c: 35 32 - 4e: 2d 64 - 50: 36 2d - 52: 64 33 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 79 73 63 csrrci s2, 1591, 6 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 66 66 + 58: 2d 64 + 5a: 64 2d + 5c: 33 39 2d 34 + 60: 36 2d + 62: 64 34 + 64: 2e 63 + 66: 00 70 + 68: 61 72 6a: 61 6c - 6c: 6c 73 - 6e: 2e 63 - 70: 00 76 - 72: 78 5f - 74: 73 70 61 77 csrci 1910, 2 - 78: 6e 2e - 7a: 63 00 73 70 beq t1, t2, 1792 - 7e: 61 77 - 80: 6e 5f - 82: 6b 65 72 6e - 86: 65 6c - 88: 5f 63 61 6c - 8c: 6c 62 - 8e: 61 63 - 90: 6b 00 76 78 - 94: 5f 70 65 72 - 98: 66 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 70 6f 63 - 140: 6c 5f - 142: 6b 65 72 6e - 146: 65 6c - 148: 5f 70 73 6f - 14c: 72 74 - 14e: 5f 77 6f 72 - 152: 6b 67 72 6f - 156: 75 70 - 158: 00 5f - 15a: 5f 73 74 61 - 15e: 63 6b 5f 73 bltu t5, s5, 1846 - 162: 69 7a - 164: 65 00 - 166: 67 5f 77 73 - 16a: 70 61 - 16c: 77 6e 5f 61 - 170: 72 67 - 172: 73 00 5f 5f - 176: 53 44 41 54 - 17a: 41 5f - 17c: 42 45 - 17e: 47 49 4e 5f - 182: 5f 00 5f 5f - 186: 67 6c 6f 62 - 18a: 61 6c - 18c: 5f 70 6f 69 - 190: 6e 74 - 192: 65 72 - 194: 00 5f + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 70 6f 63 + 150: 6c 5f + 152: 6b 65 72 6e + 156: 65 6c + 158: 5f 70 73 6f + 15c: 72 74 + 15e: 5f 77 6f 72 + 162: 6b 67 72 6f + 166: 75 70 + 168: 00 5f + 16a: 5f 73 74 61 + 16e: 63 6b 5f 73 bltu t5, s5, 1846 + 172: 69 7a + 174: 65 00 + 176: 67 5f 77 73 + 17a: 70 61 + 17c: 77 6e 5f 61 + 180: 72 67 + 182: 73 00 5f 5f + 186: 53 44 41 54 + 18a: 41 5f + 18c: 42 45 + 18e: 47 49 4e 5f + 192: 5f 00 5f 5f 196: 67 6c 6f 62 19a: 61 6c - 19c: 5f 69 6d 70 - 1a0: 75 72 - 1a2: 65 5f - 1a4: 70 74 - 1a6: 72 00 - 1a8: 5f 5f 6c 69 - 1ac: 62 63 - 1ae: 5f 69 6e 69 - 1b2: 74 5f - 1b4: 61 72 - 1b6: 72 61 - 1b8: 79 00 - 1ba: 5f 5f 6c 69 - 1be: 62 63 - 1c0: 5f 66 69 6e - 1c4: 69 5f - 1c6: 61 72 - 1c8: 72 61 - 1ca: 79 00 - 1cc: 5f 5f 73 74 - 1d0: 61 63 - 1d2: 6b 5f 74 6f - 1d6: 70 00 - 1d8: 76 78 - 1da: 5f 73 65 74 - 1de: 5f 73 70 00 - 1e2: 5f 5f 63 61 - 1e6: 6c 6c - 1e8: 5f 65 78 69 - 1ec: 74 70 - 1ee: 72 6f - 1f0: 63 73 00 5f bgeu zero, a6, 1510 - 1f4: 5f 72 65 67 - 1f8: 69 73 - 1fa: 74 65 - 1fc: 72 5f - 1fe: 65 78 - 200: 69 74 - 202: 70 72 - 204: 6f 63 00 5f jal t1, 26096 - 208: 70 6f - 20a: 63 6c 5f 6b bltu t5, s5, 1720 - 20e: 65 72 - 210: 6e 65 - 212: 6c 5f - 214: 70 73 - 216: 6f 72 74 00 jal tp, 292870 - 21a: 5f 5f 42 53 - 21e: 53 5f 45 4e - 222: 44 5f - 224: 5f 00 5f 70 - 228: 6f 63 6c 5f jal t1, 812534 - 22c: 6b 65 72 6e - 230: 65 6c - 232: 5f 70 73 6f - 236: 72 74 - 238: 5f 77 6f 72 - 23c: 6b 67 72 6f - 240: 75 70 - 242: 5f 66 61 73 - 246: 74 00 - 248: 5f 5f 62 73 - 24c: 73 5f 73 74 csrrwi t5, 1863, 6 - 250: 61 72 - 252: 74 00 - 254: 6d 65 - 256: 6d 73 - 258: 65 74 - 25a: 00 6d - 25c: 61 69 - 25e: 6e 00 - 260: 61 74 - 262: 65 78 - 264: 69 74 - 266: 00 5f - 268: 5f 44 41 54 - 26c: 41 5f - 26e: 42 45 - 270: 47 49 4e 5f - 274: 5f 00 5f 65 - 278: 64 61 - 27a: 74 61 - 27c: 00 76 - 27e: 78 5f - 280: 70 65 - 282: 72 66 - 284: 5f 64 75 6d - 288: 70 00 - 28a: 5f 65 78 69 - 28e: 74 00 - 290: 76 78 - 292: 5f 73 70 61 - 296: 77 6e 5f 6b - 29a: 65 72 - 29c: 6e 65 - 29e: 6c 00 + 19c: 5f 70 6f 69 + 1a0: 6e 74 + 1a2: 65 72 + 1a4: 00 5f + 1a6: 67 6c 6f 62 + 1aa: 61 6c + 1ac: 5f 69 6d 70 + 1b0: 75 72 + 1b2: 65 5f + 1b4: 70 74 + 1b6: 72 00 + 1b8: 5f 5f 6c 69 + 1bc: 62 63 + 1be: 5f 69 6e 69 + 1c2: 74 5f + 1c4: 61 72 + 1c6: 72 61 + 1c8: 79 00 + 1ca: 5f 5f 6c 69 + 1ce: 62 63 + 1d0: 5f 66 69 6e + 1d4: 69 5f + 1d6: 61 72 + 1d8: 72 61 + 1da: 79 00 + 1dc: 76 78 + 1de: 5f 73 65 74 + 1e2: 5f 73 70 00 + 1e6: 5f 5f 63 61 + 1ea: 6c 6c + 1ec: 5f 65 78 69 + 1f0: 74 70 + 1f2: 72 6f + 1f4: 63 73 00 5f bgeu zero, a6, 1510 + 1f8: 5f 72 65 67 + 1fc: 69 73 + 1fe: 74 65 + 200: 72 5f + 202: 65 78 + 204: 69 74 + 206: 70 72 + 208: 6f 63 00 5f jal t1, 26096 + 20c: 70 6f + 20e: 63 6c 5f 6b bltu t5, s5, 1720 + 212: 65 72 + 214: 6e 65 + 216: 6c 5f + 218: 70 73 + 21a: 6f 72 74 00 jal tp, 292870 + 21e: 5f 5f 42 53 + 222: 53 5f 45 4e + 226: 44 5f + 228: 5f 00 5f 70 + 22c: 6f 63 6c 5f jal t1, 812534 + 230: 6b 65 72 6e + 234: 65 6c + 236: 5f 70 73 6f + 23a: 72 74 + 23c: 5f 77 6f 72 + 240: 6b 67 72 6f + 244: 75 70 + 246: 5f 66 61 73 + 24a: 74 00 + 24c: 5f 5f 62 73 + 250: 73 5f 73 74 csrrwi t5, 1863, 6 + 254: 61 72 + 256: 74 00 + 258: 6d 65 + 25a: 6d 73 + 25c: 65 74 + 25e: 00 6d + 260: 61 69 + 262: 6e 00 + 264: 61 74 + 266: 65 78 + 268: 69 74 + 26a: 00 5f + 26c: 5f 44 41 54 + 270: 41 5f + 272: 42 45 + 274: 47 49 4e 5f + 278: 5f 00 5f 65 + 27c: 64 61 + 27e: 74 61 + 280: 00 76 + 282: 78 5f + 284: 70 65 + 286: 72 66 + 288: 5f 64 75 6d + 28c: 70 00 + 28e: 5f 65 78 69 + 292: 74 00 + 294: 76 78 + 296: 5f 73 70 61 + 29a: 77 6e 5f 6b + 29e: 65 72 + 2a0: 6e 65 + 2a2: 6c 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/saxpy/kernel.pocl b/tests/opencl/saxpy/kernel.pocl index e22c3ed1..8f367ab3 100644 Binary files a/tests/opencl/saxpy/kernel.pocl and b/tests/opencl/saxpy/kernel.pocl differ diff --git a/tests/opencl/saxpy/saxpy.dump b/tests/opencl/saxpy/saxpy.dump index 56a19426..9421787c 100644 --- a/tests/opencl/saxpy/saxpy.dump +++ b/tests/opencl/saxpy/saxpy.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-1a-29-17-50-fc.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-52-ba-ba-2f-4b.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 05 24 addi a1, a1, 576 +80000004: 93 85 c5 24 addi a1, a1, 588 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 00 23 jal 560 +80000010: ef 00 c0 23 jal 572 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,22 +18,22 @@ Disassembly of section .init: 80000028: 13 06 06 49 addi a2, a2, 1168 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 10 11 jal 2320 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 45 81 addi a0, a0, -2028 -80000040: ef 00 40 7c jal 1988 -80000044: ef 00 50 06 jal 2148 +80000034: ef 00 50 11 jal 2324 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 45 2e addi a0, a0, 740 +80000040: ef 00 10 0c jal 2240 +80000044: ef 00 c0 23 jal 572 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 c0 7c j 1996 +8000004c: 6f 00 90 0c j 2248 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 c5 84 addi a0, a0, -1972 -80000060: 6f 00 40 7a j 1956 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 c5 31 addi a0, a0, 796 +80000060: 6f 00 10 0a j 2208 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 00 34 jal 832 +80000084: ef 00 c0 43 jal 1084 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -160,649 +160,652 @@ Disassembly of section .text: 80000230: 67 80 00 00 ret 80000234 _exit: -80000234: ef 00 c0 3b jal 956 -80000238: 13 05 00 00 mv a0, zero -8000023c: 6b 00 05 00 +80000234: 63 06 05 00 beqz a0, 12 +80000238: 93 01 05 00 mv gp, a0 +8000023c: 73 00 00 00 ecall -80000240 vx_set_sp: -80000240: 73 25 00 fc csrr a0, 4032 -80000244: 6b 00 05 00 -80000248: 97 11 00 00 auipc gp, 1 -8000024c: 93 81 01 5c addi gp, gp, 1472 -80000250: 17 01 00 7f auipc sp, 520192 -80000254: 13 01 01 db addi sp, sp, -592 -80000258: 93 05 00 40 addi a1, zero, 1024 -8000025c: 73 26 10 cc csrr a2, 3265 -80000260: b3 85 c5 02 mul a1, a1, a2 -80000264: 33 01 b1 40 sub sp, sp, a1 -80000268: f3 26 30 cc csrr a3, 3267 -8000026c: 63 86 06 00 beqz a3, 12 -80000270: 13 05 00 00 mv a0, zero -80000274: 6b 00 05 00 +80000240 label_exit_next: +80000240: ef 00 c0 4a jal 1196 +80000244: 13 05 00 00 mv a0, zero +80000248: 6b 00 05 00 -80000278 RETURN: -80000278: 67 80 00 00 ret +8000024c vx_set_sp: +8000024c: 13 05 f0 ff addi a0, zero, -1 +80000250: 6b 00 05 00 +80000254: 97 11 00 00 auipc gp, 1 +80000258: 93 81 41 5b addi gp, gp, 1460 +8000025c: 37 01 00 ff lui sp, 1044480 +80000260: 73 26 10 cc csrr a2, 3265 +80000264: 93 15 a6 00 slli a1, a2, 10 +80000268: 33 01 b1 40 sub sp, sp, a1 +8000026c: f3 26 30 cc csrr a3, 3267 +80000270: 63 86 06 00 beqz a3, 12 +80000274: 13 05 00 00 mv a0, zero +80000278: 6b 00 05 00 -8000027c spawn_kernel_callback: -8000027c: 13 01 01 fe addi sp, sp, -32 -80000280: 23 2e 11 00 sw ra, 28(sp) -80000284: 23 2c 81 00 sw s0, 24(sp) -80000288: 23 2a 91 00 sw s1, 20(sp) -8000028c: 23 28 21 01 sw s2, 16(sp) -80000290: 23 26 31 01 sw s3, 12(sp) -80000294: 23 24 41 01 sw s4, 8(sp) -80000298: 23 22 51 01 sw s5, 4(sp) -8000029c: f3 27 00 fc csrr a5, 4032 -800002a0: 6b 80 07 00 -800002a4: f3 26 50 cc csrr a3, 3269 -800002a8: 73 29 30 cc csrr s2, 3267 -800002ac: 73 27 00 cc csrr a4, 3264 -800002b0: 73 26 00 fc csrr a2, 4032 -800002b4: b7 17 00 80 lui a5, 524289 -800002b8: 93 96 26 00 slli a3, a3, 2 -800002bc: 93 87 47 43 addi a5, a5, 1076 -800002c0: b3 87 d7 00 add a5, a5, a3 -800002c4: 03 a4 07 00 lw s0, 0(a5) -800002c8: 83 24 44 01 lw s1, 20(s0) -800002cc: 83 26 04 01 lw a3, 16(s0) -800002d0: b3 2a 99 00 slt s5, s2, s1 -800002d4: 93 87 04 00 mv a5, s1 -800002d8: b3 8a da 00 add s5, s5, a3 -800002dc: b3 84 26 03 mul s1, a3, s2 -800002e0: 63 54 f9 00 bge s2, a5, 8 -800002e4: 93 07 09 00 mv a5, s2 -800002e8: b3 84 f4 00 add s1, s1, a5 -800002ec: 83 25 04 00 lw a1, 0(s0) -800002f0: 83 26 c4 00 lw a3, 12(s0) -800002f4: 83 a9 05 00 lw s3, 0(a1) -800002f8: 03 aa 45 00 lw s4, 4(a1) -800002fc: b3 84 c4 02 mul s1, s1, a2 -80000300: b3 87 ea 02 mul a5, s5, a4 -80000304: b3 84 d4 00 add s1, s1, a3 -80000308: b3 84 f4 00 add s1, s1, a5 -8000030c: b3 8a 9a 00 add s5, s5, s1 -80000310: 33 8a 49 03 mul s4, s3, s4 -80000314: 63 c0 54 07 blt s1, s5, 96 -80000318: 6f 00 00 08 j 128 -8000031c: 03 47 a4 01 lbu a4, 26(s0) -80000320: 83 46 94 01 lbu a3, 25(s0) -80000324: 33 d7 e4 40 sra a4, s1, a4 -80000328: b3 07 47 03 mul a5, a4, s4 -8000032c: b3 87 f4 40 sub a5, s1, a5 -80000330: 63 80 06 06 beqz a3, 96 -80000334: 83 46 b4 01 lbu a3, 27(s0) -80000338: b3 d6 d7 40 sra a3, a5, a3 -8000033c: b3 88 36 03 mul a7, a3, s3 -80000340: 03 ae 45 01 lw t3, 20(a1) -80000344: 03 a3 05 01 lw t1, 16(a1) -80000348: 03 a6 c5 00 lw a2, 12(a1) -8000034c: 03 28 44 00 lw a6, 4(s0) -80000350: 03 25 84 00 lw a0, 8(s0) -80000354: 93 84 14 00 addi s1, s1, 1 -80000358: 33 07 c7 01 add a4, a4, t3 -8000035c: b3 86 66 00 add a3, a3, t1 -80000360: b3 87 17 41 sub a5, a5, a7 -80000364: 33 86 c7 00 add a2, a5, a2 -80000368: e7 00 08 00 jalr a6 -8000036c: 63 86 9a 02 beq s5, s1, 44 -80000370: 83 25 04 00 lw a1, 0(s0) -80000374: 83 47 84 01 lbu a5, 24(s0) -80000378: e3 92 07 fa bnez a5, -92 -8000037c: 33 c7 44 03 div a4, s1, s4 -80000380: 83 46 94 01 lbu a3, 25(s0) -80000384: b3 07 47 03 mul a5, a4, s4 -80000388: b3 87 f4 40 sub a5, s1, a5 -8000038c: e3 94 06 fa bnez a3, -88 -80000390: b3 c6 37 03 div a3, a5, s3 -80000394: 6f f0 9f fa j -88 -80000398: 13 39 19 00 seqz s2, s2 -8000039c: 6b 00 09 00 -800003a0: 83 20 c1 01 lw ra, 28(sp) -800003a4: 03 24 81 01 lw s0, 24(sp) -800003a8: 83 24 41 01 lw s1, 20(sp) -800003ac: 03 29 01 01 lw s2, 16(sp) -800003b0: 83 29 c1 00 lw s3, 12(sp) -800003b4: 03 2a 81 00 lw s4, 8(sp) -800003b8: 83 2a 41 00 lw s5, 4(sp) -800003bc: 13 01 01 02 addi sp, sp, 32 -800003c0: 67 80 00 00 ret +8000027c RETURN: +8000027c: 67 80 00 00 ret -800003c4 vx_spawn_kernel: -800003c4: 13 01 01 fc addi sp, sp, -64 -800003c8: 23 2e 11 02 sw ra, 60(sp) -800003cc: 23 2c 81 02 sw s0, 56(sp) -800003d0: 23 2a 91 02 sw s1, 52(sp) -800003d4: 23 28 21 03 sw s2, 48(sp) -800003d8: 23 26 31 03 sw s3, 44(sp) -800003dc: f3 28 20 fc csrr a7, 4034 -800003e0: 73 23 10 fc csrr t1, 4033 -800003e4: 73 24 00 fc csrr s0, 4032 -800003e8: f3 27 50 cc csrr a5, 3269 -800003ec: 13 07 f0 01 addi a4, zero, 31 -800003f0: 63 46 f7 0e blt a4, a5, 236 -800003f4: 03 2e 05 00 lw t3, 0(a0) -800003f8: 83 26 45 00 lw a3, 4(a0) -800003fc: 03 28 85 00 lw a6, 8(a0) -80000400: b3 0e 83 02 mul t4, t1, s0 -80000404: 13 07 10 00 addi a4, zero, 1 -80000408: b3 06 de 02 mul a3, t3, a3 -8000040c: 33 88 06 03 mul a6, a3, a6 -80000410: 63 d4 0e 01 bge t4, a6, 8 -80000414: 33 47 d8 03 div a4, a6, t4 -80000418: 63 c0 e8 0e blt a7, a4, 224 -8000041c: 63 d0 e7 0c bge a5, a4, 192 -80000420: 93 88 f8 ff addi a7, a7, -1 -80000424: b3 4e e8 02 div t4, a6, a4 -80000428: 93 84 0e 00 mv s1, t4 -8000042c: 63 96 f8 00 bne a7, a5, 12 -80000430: 33 67 e8 02 rem a4, a6, a4 -80000434: b3 04 d7 01 add s1, a4, t4 -80000438: 33 c9 84 02 div s2, s1, s0 -8000043c: b3 e4 84 02 rem s1, s1, s0 -80000440: 63 42 69 0c blt s2, t1, 196 -80000444: 93 02 10 00 addi t0, zero, 1 -80000448: 33 48 69 02 div a6, s2, t1 -8000044c: 63 06 08 00 beqz a6, 12 -80000450: 93 02 08 00 mv t0, a6 -80000454: 33 68 69 02 rem a6, s2, t1 -80000458: d3 f7 06 d0 fcvt.s.w fa5, a3 -8000045c: 93 8f f6 ff addi t6, a3, -1 -80000460: 13 0f fe ff addi t5, t3, -1 -80000464: b7 19 00 80 lui s3, 524289 -80000468: b3 f6 df 00 and a3, t6, a3 -8000046c: 93 89 49 43 addi s3, s3, 1076 -80000470: 93 b6 16 00 seqz a3, a3 -80000474: 23 22 a1 00 sw a0, 4(sp) -80000478: 23 24 b1 00 sw a1, 8(sp) -8000047c: 23 26 c1 00 sw a2, 12(sp) -80000480: 23 2a 51 00 sw t0, 20(sp) -80000484: 23 2c 01 01 sw a6, 24(sp) -80000488: 23 0e d1 00 sb a3, 28(sp) -8000048c: 33 87 fe 02 mul a4, t4, a5 -80000490: d3 8e 07 e0 fmv.x.w t4, fa5 -80000494: d3 77 0e d0 fcvt.s.w fa5, t3 -80000498: 93 97 27 00 slli a5, a5, 2 -8000049c: 33 7e cf 01 and t3, t5, t3 -800004a0: d3 88 07 e0 fmv.x.w a7, fa5 -800004a4: 93 de 7e 41 srai t4, t4, 23 -800004a8: 13 3e 1e 00 seqz t3, t3 -800004ac: 93 d8 78 41 srai a7, a7, 23 -800004b0: 93 8e 1e f8 addi t4, t4, -127 -800004b4: 93 88 18 f8 addi a7, a7, -127 -800004b8: b3 87 f9 00 add a5, s3, a5 -800004bc: 23 28 e1 00 sw a4, 16(sp) -800004c0: 13 07 41 00 addi a4, sp, 4 -800004c4: a3 0e c1 01 sb t3, 29(sp) -800004c8: 23 0f d1 01 sb t4, 30(sp) -800004cc: a3 0f 11 01 sb a7, 31(sp) -800004d0: 23 a0 e7 00 sw a4, 0(a5) -800004d4: 63 4e 20 03 bgtz s2, 60 -800004d8: 63 9c 04 04 bnez s1, 88 -800004dc: 83 20 c1 03 lw ra, 60(sp) -800004e0: 03 24 81 03 lw s0, 56(sp) -800004e4: 83 24 41 03 lw s1, 52(sp) -800004e8: 03 29 01 03 lw s2, 48(sp) -800004ec: 83 29 c1 02 lw s3, 44(sp) -800004f0: 13 01 01 04 addi sp, sp, 64 -800004f4: 67 80 00 00 ret -800004f8: 13 87 08 00 mv a4, a7 -800004fc: e3 c2 e7 f2 blt a5, a4, -220 -80000500: 6f f0 df fd j -36 -80000504: 13 08 00 00 mv a6, zero -80000508: 93 02 10 00 addi t0, zero, 1 -8000050c: 6f f0 df f4 j -180 -80000510: 13 07 09 00 mv a4, s2 -80000514: 63 54 23 01 bge t1, s2, 8 -80000518: 13 07 03 00 mv a4, t1 -8000051c: b7 07 00 80 lui a5, 524288 -80000520: 93 87 c7 27 addi a5, a5, 636 -80000524: 6b 10 f7 00 -80000528: ef f0 5f d5 jal -684 -8000052c: e3 88 04 fa beqz s1, -80 -80000530: 33 04 89 02 mul s0, s2, s0 -80000534: 23 28 81 00 sw s0, 16(sp) -80000538: 6b 80 04 00 -8000053c: 73 27 50 cc csrr a4, 3269 -80000540: f3 27 20 cc csrr a5, 3266 -80000544: 13 17 27 00 slli a4, a4, 2 -80000548: b3 89 e9 00 add s3, s3, a4 -8000054c: 03 a5 09 00 lw a0, 0(s3) -80000550: 83 25 05 00 lw a1, 0(a0) -80000554: 83 26 c5 00 lw a3, 12(a0) -80000558: 03 47 85 01 lbu a4, 24(a0) -8000055c: 03 a8 05 00 lw a6, 0(a1) -80000560: 03 a6 45 00 lw a2, 4(a1) -80000564: b3 87 d7 00 add a5, a5, a3 -80000568: 33 06 c8 02 mul a2, a6, a2 -8000056c: 63 0e 07 06 beqz a4, 124 -80000570: 03 47 a5 01 lbu a4, 26(a0) -80000574: 33 d7 e7 40 sra a4, a5, a4 -80000578: 83 46 95 01 lbu a3, 25(a0) -8000057c: 33 06 e6 02 mul a2, a2, a4 -80000580: b3 87 c7 40 sub a5, a5, a2 -80000584: 63 8e 06 04 beqz a3, 92 -80000588: 83 48 b5 01 lbu a7, 27(a0) -8000058c: b3 d8 17 41 sra a7, a5, a7 -80000590: 33 08 18 03 mul a6, a6, a7 -80000594: 03 ae 45 01 lw t3, 20(a1) -80000598: 83 a6 05 01 lw a3, 16(a1) -8000059c: 03 a6 c5 00 lw a2, 12(a1) -800005a0: 03 23 45 00 lw t1, 4(a0) -800005a4: 03 25 85 00 lw a0, 8(a0) -800005a8: 33 07 c7 01 add a4, a4, t3 -800005ac: b3 86 d8 00 add a3, a7, a3 -800005b0: b3 87 07 41 sub a5, a5, a6 -800005b4: 33 86 c7 00 add a2, a5, a2 -800005b8: e7 00 03 00 jalr t1 -800005bc: 93 07 10 00 addi a5, zero, 1 -800005c0: 6b 80 07 00 -800005c4: 83 20 c1 03 lw ra, 60(sp) -800005c8: 03 24 81 03 lw s0, 56(sp) -800005cc: 83 24 41 03 lw s1, 52(sp) -800005d0: 03 29 01 03 lw s2, 48(sp) -800005d4: 83 29 c1 02 lw s3, 44(sp) -800005d8: 13 01 01 04 addi sp, sp, 64 -800005dc: 67 80 00 00 ret -800005e0: b3 c8 07 03 div a7, a5, a6 -800005e4: 6f f0 df fa j -84 -800005e8: 33 c7 c7 02 div a4, a5, a2 -800005ec: 6f f0 df f8 j -116 +80000280 __libc_init_array: +80000280: 13 01 01 ff addi sp, sp, -16 +80000284: 23 24 81 00 sw s0, 8(sp) +80000288: 23 20 21 01 sw s2, 0(sp) +8000028c: 37 14 00 80 lui s0, 524289 +80000290: 37 19 00 80 lui s2, 524289 +80000294: 93 07 04 00 mv a5, s0 +80000298: 13 09 09 00 mv s2, s2 +8000029c: 33 09 f9 40 sub s2, s2, a5 +800002a0: 23 26 11 00 sw ra, 12(sp) +800002a4: 23 22 91 00 sw s1, 4(sp) +800002a8: 13 59 29 40 srai s2, s2, 2 +800002ac: 63 00 09 02 beqz s2, 32 +800002b0: 13 04 04 00 mv s0, s0 +800002b4: 93 04 00 00 mv s1, zero +800002b8: 83 27 04 00 lw a5, 0(s0) +800002bc: 93 84 14 00 addi s1, s1, 1 +800002c0: 13 04 44 00 addi s0, s0, 4 +800002c4: e7 80 07 00 jalr a5 +800002c8: e3 18 99 fe bne s2, s1, -16 +800002cc: 37 14 00 80 lui s0, 524289 +800002d0: 37 19 00 80 lui s2, 524289 +800002d4: 93 07 04 00 mv a5, s0 +800002d8: 13 09 49 00 addi s2, s2, 4 +800002dc: 33 09 f9 40 sub s2, s2, a5 +800002e0: 13 59 29 40 srai s2, s2, 2 +800002e4: 63 00 09 02 beqz s2, 32 +800002e8: 13 04 04 00 mv s0, s0 +800002ec: 93 04 00 00 mv s1, zero +800002f0: 83 27 04 00 lw a5, 0(s0) +800002f4: 93 84 14 00 addi s1, s1, 1 +800002f8: 13 04 44 00 addi s0, s0, 4 +800002fc: e7 80 07 00 jalr a5 +80000300: e3 18 99 fe bne s2, s1, -16 +80000304: 83 20 c1 00 lw ra, 12(sp) +80000308: 03 24 81 00 lw s0, 8(sp) +8000030c: 83 24 41 00 lw s1, 4(sp) +80000310: 03 29 01 00 lw s2, 0(sp) +80000314: 13 01 01 01 addi sp, sp, 16 +80000318: 67 80 00 00 ret -800005f0 vx_perf_dump: -800005f0: f3 27 50 cc csrr a5, 3269 -800005f4: 37 07 ff 00 lui a4, 4080 -800005f8: b3 87 e7 00 add a5, a5, a4 -800005fc: 93 97 87 00 slli a5, a5, 8 -80000600: 73 27 00 b0 csrr a4, mcycle -80000604: 23 a0 e7 00 sw a4, 0(a5) -80000608: 73 27 10 b0 csrr a4, 2817 -8000060c: 23 a2 e7 00 sw a4, 4(a5) -80000610: 73 27 20 b0 csrr a4, minstret -80000614: 23 a4 e7 00 sw a4, 8(a5) -80000618: 73 27 30 b0 csrr a4, mhpmcounter3 -8000061c: 23 a6 e7 00 sw a4, 12(a5) -80000620: 73 27 40 b0 csrr a4, mhpmcounter4 -80000624: 23 a8 e7 00 sw a4, 16(a5) -80000628: 73 27 50 b0 csrr a4, mhpmcounter5 -8000062c: 23 aa e7 00 sw a4, 20(a5) -80000630: 73 27 60 b0 csrr a4, mhpmcounter6 -80000634: 23 ac e7 00 sw a4, 24(a5) -80000638: 73 27 70 b0 csrr a4, mhpmcounter7 -8000063c: 23 ae e7 00 sw a4, 28(a5) -80000640: 73 27 80 b0 csrr a4, mhpmcounter8 -80000644: 23 a0 e7 02 sw a4, 32(a5) -80000648: 73 27 90 b0 csrr a4, mhpmcounter9 -8000064c: 23 a2 e7 02 sw a4, 36(a5) -80000650: 73 27 a0 b0 csrr a4, mhpmcounter10 -80000654: 23 a4 e7 02 sw a4, 40(a5) -80000658: 73 27 b0 b0 csrr a4, mhpmcounter11 -8000065c: 23 a6 e7 02 sw a4, 44(a5) -80000660: 73 27 c0 b0 csrr a4, mhpmcounter12 -80000664: 23 a8 e7 02 sw a4, 48(a5) -80000668: 73 27 d0 b0 csrr a4, mhpmcounter13 -8000066c: 23 aa e7 02 sw a4, 52(a5) -80000670: 73 27 e0 b0 csrr a4, mhpmcounter14 -80000674: 23 ac e7 02 sw a4, 56(a5) -80000678: 73 27 f0 b0 csrr a4, mhpmcounter15 -8000067c: 23 ae e7 02 sw a4, 60(a5) -80000680: 73 27 00 b1 csrr a4, mhpmcounter16 -80000684: 23 a0 e7 04 sw a4, 64(a5) -80000688: 73 27 10 b1 csrr a4, mhpmcounter17 -8000068c: 23 a2 e7 04 sw a4, 68(a5) -80000690: 73 27 20 b1 csrr a4, mhpmcounter18 -80000694: 23 a4 e7 04 sw a4, 72(a5) -80000698: 73 27 30 b1 csrr a4, mhpmcounter19 -8000069c: 23 a6 e7 04 sw a4, 76(a5) -800006a0: 73 27 40 b1 csrr a4, mhpmcounter20 -800006a4: 23 a8 e7 04 sw a4, 80(a5) -800006a8: 73 27 50 b1 csrr a4, mhpmcounter21 -800006ac: 23 aa e7 04 sw a4, 84(a5) -800006b0: 73 27 60 b1 csrr a4, mhpmcounter22 -800006b4: 23 ac e7 04 sw a4, 88(a5) -800006b8: 73 27 70 b1 csrr a4, mhpmcounter23 -800006bc: 23 ae e7 04 sw a4, 92(a5) -800006c0: 73 27 80 b1 csrr a4, mhpmcounter24 -800006c4: 23 a0 e7 06 sw a4, 96(a5) -800006c8: 73 27 90 b1 csrr a4, mhpmcounter25 -800006cc: 23 a2 e7 06 sw a4, 100(a5) -800006d0: 73 27 a0 b1 csrr a4, mhpmcounter26 -800006d4: 23 a4 e7 06 sw a4, 104(a5) -800006d8: 73 27 b0 b1 csrr a4, mhpmcounter27 -800006dc: 23 a6 e7 06 sw a4, 108(a5) -800006e0: 73 27 c0 b1 csrr a4, mhpmcounter28 -800006e4: 23 a8 e7 06 sw a4, 112(a5) -800006e8: 73 27 d0 b1 csrr a4, mhpmcounter29 -800006ec: 23 aa e7 06 sw a4, 116(a5) -800006f0: 73 27 e0 b1 csrr a4, mhpmcounter30 -800006f4: 23 ac e7 06 sw a4, 120(a5) -800006f8: 73 27 f0 b1 csrr a4, mhpmcounter31 -800006fc: 23 ae e7 06 sw a4, 124(a5) -80000700: 73 27 00 b8 csrr a4, mcycleh -80000704: 23 a0 e7 08 sw a4, 128(a5) -80000708: 73 27 10 b8 csrr a4, 2945 -8000070c: 23 a2 e7 08 sw a4, 132(a5) -80000710: 73 27 20 b8 csrr a4, minstreth -80000714: 23 a4 e7 08 sw a4, 136(a5) -80000718: 73 27 30 b8 csrr a4, mhpmcounter3h -8000071c: 23 a6 e7 08 sw a4, 140(a5) -80000720: 73 27 40 b8 csrr a4, mhpmcounter4h -80000724: 23 a8 e7 08 sw a4, 144(a5) -80000728: 73 27 50 b8 csrr a4, mhpmcounter5h -8000072c: 23 aa e7 08 sw a4, 148(a5) -80000730: 73 27 60 b8 csrr a4, mhpmcounter6h -80000734: 23 ac e7 08 sw a4, 152(a5) -80000738: 73 27 70 b8 csrr a4, mhpmcounter7h -8000073c: 23 ae e7 08 sw a4, 156(a5) -80000740: 73 27 80 b8 csrr a4, mhpmcounter8h -80000744: 23 a0 e7 0a sw a4, 160(a5) -80000748: 73 27 90 b8 csrr a4, mhpmcounter9h -8000074c: 23 a2 e7 0a sw a4, 164(a5) -80000750: 73 27 a0 b8 csrr a4, mhpmcounter10h -80000754: 23 a4 e7 0a sw a4, 168(a5) -80000758: 73 27 b0 b8 csrr a4, mhpmcounter11h -8000075c: 23 a6 e7 0a sw a4, 172(a5) -80000760: 73 27 c0 b8 csrr a4, mhpmcounter12h -80000764: 23 a8 e7 0a sw a4, 176(a5) -80000768: 73 27 d0 b8 csrr a4, mhpmcounter13h -8000076c: 23 aa e7 0a sw a4, 180(a5) -80000770: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000774: 23 ac e7 0a sw a4, 184(a5) -80000778: 73 27 f0 b8 csrr a4, mhpmcounter15h -8000077c: 23 ae e7 0a sw a4, 188(a5) -80000780: 73 27 00 b9 csrr a4, mhpmcounter16h -80000784: 23 a0 e7 0c sw a4, 192(a5) -80000788: 73 27 10 b9 csrr a4, mhpmcounter17h -8000078c: 23 a2 e7 0c sw a4, 196(a5) -80000790: 73 27 20 b9 csrr a4, mhpmcounter18h -80000794: 23 a4 e7 0c sw a4, 200(a5) -80000798: 73 27 30 b9 csrr a4, mhpmcounter19h -8000079c: 23 a6 e7 0c sw a4, 204(a5) -800007a0: 73 27 40 b9 csrr a4, mhpmcounter20h -800007a4: 23 a8 e7 0c sw a4, 208(a5) -800007a8: 73 27 50 b9 csrr a4, mhpmcounter21h -800007ac: 23 aa e7 0c sw a4, 212(a5) -800007b0: 73 27 60 b9 csrr a4, mhpmcounter22h -800007b4: 23 ac e7 0c sw a4, 216(a5) -800007b8: 73 27 70 b9 csrr a4, mhpmcounter23h -800007bc: 23 ae e7 0c sw a4, 220(a5) -800007c0: 73 27 80 b9 csrr a4, mhpmcounter24h -800007c4: 23 a0 e7 0e sw a4, 224(a5) -800007c8: 73 27 90 b9 csrr a4, mhpmcounter25h -800007cc: 23 a2 e7 0e sw a4, 228(a5) -800007d0: 73 27 a0 b9 csrr a4, mhpmcounter26h -800007d4: 23 a4 e7 0e sw a4, 232(a5) -800007d8: 73 27 b0 b9 csrr a4, mhpmcounter27h -800007dc: 23 a6 e7 0e sw a4, 236(a5) -800007e0: 73 27 c0 b9 csrr a4, mhpmcounter28h -800007e4: 23 a8 e7 0e sw a4, 240(a5) -800007e8: 73 27 d0 b9 csrr a4, mhpmcounter29h -800007ec: 23 aa e7 0e sw a4, 244(a5) -800007f0: 73 27 e0 b9 csrr a4, mhpmcounter30h -800007f4: 23 ac e7 0e sw a4, 248(a5) -800007f8: 73 27 f0 b9 csrr a4, mhpmcounter31h -800007fc: 23 ae e7 0e sw a4, 252(a5) -80000800: 67 80 00 00 ret +8000031c __libc_fini_array: +8000031c: 13 01 01 ff addi sp, sp, -16 +80000320: 23 24 81 00 sw s0, 8(sp) +80000324: b7 17 00 80 lui a5, 524289 +80000328: 37 14 00 80 lui s0, 524289 +8000032c: 13 04 44 00 addi s0, s0, 4 +80000330: 93 87 47 00 addi a5, a5, 4 +80000334: b3 87 87 40 sub a5, a5, s0 +80000338: 23 22 91 00 sw s1, 4(sp) +8000033c: 23 26 11 00 sw ra, 12(sp) +80000340: 93 d4 27 40 srai s1, a5, 2 +80000344: 63 80 04 02 beqz s1, 32 +80000348: 93 87 c7 ff addi a5, a5, -4 +8000034c: 33 84 87 00 add s0, a5, s0 +80000350: 83 27 04 00 lw a5, 0(s0) +80000354: 93 84 f4 ff addi s1, s1, -1 +80000358: 13 04 c4 ff addi s0, s0, -4 +8000035c: e7 80 07 00 jalr a5 +80000360: e3 98 04 fe bnez s1, -16 +80000364: 83 20 c1 00 lw ra, 12(sp) +80000368: 03 24 81 00 lw s0, 8(sp) +8000036c: 83 24 41 00 lw s1, 4(sp) +80000370: 13 01 01 01 addi sp, sp, 16 +80000374: 67 80 00 00 ret -80000804 atexit: -80000804: 93 05 05 00 mv a1, a0 -80000808: 93 06 00 00 mv a3, zero -8000080c: 13 06 00 00 mv a2, zero -80000810: 13 05 00 00 mv a0, zero -80000814: 6f 00 c0 20 j 524 +80000378 spawn_kernel_callback: +80000378: 13 01 01 fe addi sp, sp, -32 +8000037c: 23 2e 11 00 sw ra, 28(sp) +80000380: 23 2c 81 00 sw s0, 24(sp) +80000384: 23 2a 91 00 sw s1, 20(sp) +80000388: 23 28 21 01 sw s2, 16(sp) +8000038c: 23 26 31 01 sw s3, 12(sp) +80000390: 23 24 41 01 sw s4, 8(sp) +80000394: 23 22 51 01 sw s5, 4(sp) +80000398: 93 07 f0 ff addi a5, zero, -1 +8000039c: 6b 80 07 00 +800003a0: f3 26 50 cc csrr a3, 3269 +800003a4: 73 29 30 cc csrr s2, 3267 +800003a8: 73 27 00 cc csrr a4, 3264 +800003ac: 73 26 00 fc csrr a2, 4032 +800003b0: b7 17 00 80 lui a5, 524289 +800003b4: 93 96 26 00 slli a3, a3, 2 +800003b8: 93 87 47 43 addi a5, a5, 1076 +800003bc: b3 87 d7 00 add a5, a5, a3 +800003c0: 03 a4 07 00 lw s0, 0(a5) +800003c4: 83 24 44 01 lw s1, 20(s0) +800003c8: 83 26 04 01 lw a3, 16(s0) +800003cc: b3 2a 99 00 slt s5, s2, s1 +800003d0: 93 87 04 00 mv a5, s1 +800003d4: b3 8a da 00 add s5, s5, a3 +800003d8: b3 84 26 03 mul s1, a3, s2 +800003dc: 63 54 f9 00 bge s2, a5, 8 +800003e0: 93 07 09 00 mv a5, s2 +800003e4: b3 84 f4 00 add s1, s1, a5 +800003e8: 83 25 04 00 lw a1, 0(s0) +800003ec: 83 26 c4 00 lw a3, 12(s0) +800003f0: 83 a9 05 00 lw s3, 0(a1) +800003f4: 03 aa 45 00 lw s4, 4(a1) +800003f8: b3 84 c4 02 mul s1, s1, a2 +800003fc: b3 87 ea 02 mul a5, s5, a4 +80000400: b3 84 d4 00 add s1, s1, a3 +80000404: b3 84 f4 00 add s1, s1, a5 +80000408: b3 8a 9a 00 add s5, s5, s1 +8000040c: 33 8a 49 03 mul s4, s3, s4 +80000410: 63 c0 54 07 blt s1, s5, 96 +80000414: 6f 00 00 08 j 128 +80000418: 03 47 a4 01 lbu a4, 26(s0) +8000041c: 83 46 94 01 lbu a3, 25(s0) +80000420: 33 d7 e4 40 sra a4, s1, a4 +80000424: b3 07 47 03 mul a5, a4, s4 +80000428: b3 87 f4 40 sub a5, s1, a5 +8000042c: 63 80 06 06 beqz a3, 96 +80000430: 83 46 b4 01 lbu a3, 27(s0) +80000434: b3 d6 d7 40 sra a3, a5, a3 +80000438: b3 88 36 03 mul a7, a3, s3 +8000043c: 03 ae 45 01 lw t3, 20(a1) +80000440: 03 a3 05 01 lw t1, 16(a1) +80000444: 03 a6 c5 00 lw a2, 12(a1) +80000448: 03 28 44 00 lw a6, 4(s0) +8000044c: 03 25 84 00 lw a0, 8(s0) +80000450: 93 84 14 00 addi s1, s1, 1 +80000454: 33 07 c7 01 add a4, a4, t3 +80000458: b3 86 66 00 add a3, a3, t1 +8000045c: b3 87 17 41 sub a5, a5, a7 +80000460: 33 86 c7 00 add a2, a5, a2 +80000464: e7 00 08 00 jalr a6 +80000468: 63 86 9a 02 beq s5, s1, 44 +8000046c: 83 25 04 00 lw a1, 0(s0) +80000470: 83 47 84 01 lbu a5, 24(s0) +80000474: e3 92 07 fa bnez a5, -92 +80000478: 33 c7 44 03 div a4, s1, s4 +8000047c: 83 46 94 01 lbu a3, 25(s0) +80000480: b3 07 47 03 mul a5, a4, s4 +80000484: b3 87 f4 40 sub a5, s1, a5 +80000488: e3 94 06 fa bnez a3, -88 +8000048c: b3 c6 37 03 div a3, a5, s3 +80000490: 6f f0 9f fa j -88 +80000494: 13 39 19 00 seqz s2, s2 +80000498: 6b 00 09 00 +8000049c: 83 20 c1 01 lw ra, 28(sp) +800004a0: 03 24 81 01 lw s0, 24(sp) +800004a4: 83 24 41 01 lw s1, 20(sp) +800004a8: 03 29 01 01 lw s2, 16(sp) +800004ac: 83 29 c1 00 lw s3, 12(sp) +800004b0: 03 2a 81 00 lw s4, 8(sp) +800004b4: 83 2a 41 00 lw s5, 4(sp) +800004b8: 13 01 01 02 addi sp, sp, 32 +800004bc: 67 80 00 00 ret -80000818 exit: -80000818: 13 01 01 ff addi sp, sp, -16 -8000081c: 93 05 00 00 mv a1, zero -80000820: 23 24 81 00 sw s0, 8(sp) -80000824: 23 26 11 00 sw ra, 12(sp) -80000828: 13 04 05 00 mv s0, a0 -8000082c: ef 00 00 29 jal 656 -80000830: b7 17 00 80 lui a5, 524289 -80000834: 03 a5 07 43 lw a0, 1072(a5) -80000838: 83 27 c5 03 lw a5, 60(a0) -8000083c: 63 84 07 00 beqz a5, 8 -80000840: e7 80 07 00 jalr a5 -80000844: 13 05 04 00 mv a0, s0 -80000848: ef f0 df 9e jal -1556 +800004c0 vx_spawn_kernel: +800004c0: 13 01 01 fc addi sp, sp, -64 +800004c4: 23 2e 11 02 sw ra, 60(sp) +800004c8: 23 2c 81 02 sw s0, 56(sp) +800004cc: 23 2a 91 02 sw s1, 52(sp) +800004d0: 23 28 21 03 sw s2, 48(sp) +800004d4: 23 26 31 03 sw s3, 44(sp) +800004d8: f3 28 20 fc csrr a7, 4034 +800004dc: 73 23 10 fc csrr t1, 4033 +800004e0: 73 24 00 fc csrr s0, 4032 +800004e4: f3 27 50 cc csrr a5, 3269 +800004e8: 13 07 f0 01 addi a4, zero, 31 +800004ec: 63 46 f7 0e blt a4, a5, 236 +800004f0: 03 2e 05 00 lw t3, 0(a0) +800004f4: 83 26 45 00 lw a3, 4(a0) +800004f8: 03 28 85 00 lw a6, 8(a0) +800004fc: b3 0e 83 02 mul t4, t1, s0 +80000500: 13 07 10 00 addi a4, zero, 1 +80000504: b3 06 de 02 mul a3, t3, a3 +80000508: 33 88 06 03 mul a6, a3, a6 +8000050c: 63 d4 0e 01 bge t4, a6, 8 +80000510: 33 47 d8 03 div a4, a6, t4 +80000514: 63 c0 e8 0e blt a7, a4, 224 +80000518: 63 d0 e7 0c bge a5, a4, 192 +8000051c: 93 88 f8 ff addi a7, a7, -1 +80000520: b3 4e e8 02 div t4, a6, a4 +80000524: 93 84 0e 00 mv s1, t4 +80000528: 63 96 f8 00 bne a7, a5, 12 +8000052c: 33 67 e8 02 rem a4, a6, a4 +80000530: b3 04 d7 01 add s1, a4, t4 +80000534: 33 c9 84 02 div s2, s1, s0 +80000538: b3 e4 84 02 rem s1, s1, s0 +8000053c: 63 42 69 0c blt s2, t1, 196 +80000540: 93 02 10 00 addi t0, zero, 1 +80000544: 33 48 69 02 div a6, s2, t1 +80000548: 63 06 08 00 beqz a6, 12 +8000054c: 93 02 08 00 mv t0, a6 +80000550: 33 68 69 02 rem a6, s2, t1 +80000554: d3 f7 06 d0 fcvt.s.w fa5, a3 +80000558: 93 8f f6 ff addi t6, a3, -1 +8000055c: 13 0f fe ff addi t5, t3, -1 +80000560: b7 19 00 80 lui s3, 524289 +80000564: b3 f6 df 00 and a3, t6, a3 +80000568: 93 89 49 43 addi s3, s3, 1076 +8000056c: 93 b6 16 00 seqz a3, a3 +80000570: 23 22 a1 00 sw a0, 4(sp) +80000574: 23 24 b1 00 sw a1, 8(sp) +80000578: 23 26 c1 00 sw a2, 12(sp) +8000057c: 23 2a 51 00 sw t0, 20(sp) +80000580: 23 2c 01 01 sw a6, 24(sp) +80000584: 23 0e d1 00 sb a3, 28(sp) +80000588: 33 87 fe 02 mul a4, t4, a5 +8000058c: d3 8e 07 e0 fmv.x.w t4, fa5 +80000590: d3 77 0e d0 fcvt.s.w fa5, t3 +80000594: 93 97 27 00 slli a5, a5, 2 +80000598: 33 7e cf 01 and t3, t5, t3 +8000059c: d3 88 07 e0 fmv.x.w a7, fa5 +800005a0: 93 de 7e 41 srai t4, t4, 23 +800005a4: 13 3e 1e 00 seqz t3, t3 +800005a8: 93 d8 78 41 srai a7, a7, 23 +800005ac: 93 8e 1e f8 addi t4, t4, -127 +800005b0: 93 88 18 f8 addi a7, a7, -127 +800005b4: b3 87 f9 00 add a5, s3, a5 +800005b8: 23 28 e1 00 sw a4, 16(sp) +800005bc: 13 07 41 00 addi a4, sp, 4 +800005c0: a3 0e c1 01 sb t3, 29(sp) +800005c4: 23 0f d1 01 sb t4, 30(sp) +800005c8: a3 0f 11 01 sb a7, 31(sp) +800005cc: 23 a0 e7 00 sw a4, 0(a5) +800005d0: 63 4e 20 03 bgtz s2, 60 +800005d4: 63 9c 04 04 bnez s1, 88 +800005d8: 83 20 c1 03 lw ra, 60(sp) +800005dc: 03 24 81 03 lw s0, 56(sp) +800005e0: 83 24 41 03 lw s1, 52(sp) +800005e4: 03 29 01 03 lw s2, 48(sp) +800005e8: 83 29 c1 02 lw s3, 44(sp) +800005ec: 13 01 01 04 addi sp, sp, 64 +800005f0: 67 80 00 00 ret +800005f4: 13 87 08 00 mv a4, a7 +800005f8: e3 c2 e7 f2 blt a5, a4, -220 +800005fc: 6f f0 df fd j -36 +80000600: 13 08 00 00 mv a6, zero +80000604: 93 02 10 00 addi t0, zero, 1 +80000608: 6f f0 df f4 j -180 +8000060c: 13 07 09 00 mv a4, s2 +80000610: 63 54 23 01 bge t1, s2, 8 +80000614: 13 07 03 00 mv a4, t1 +80000618: b7 07 00 80 lui a5, 524288 +8000061c: 93 87 87 37 addi a5, a5, 888 +80000620: 6b 10 f7 00 +80000624: ef f0 5f d5 jal -684 +80000628: e3 88 04 fa beqz s1, -80 +8000062c: 33 04 89 02 mul s0, s2, s0 +80000630: 23 28 81 00 sw s0, 16(sp) +80000634: 6b 80 04 00 +80000638: 73 27 50 cc csrr a4, 3269 +8000063c: f3 27 20 cc csrr a5, 3266 +80000640: 13 17 27 00 slli a4, a4, 2 +80000644: b3 89 e9 00 add s3, s3, a4 +80000648: 03 a5 09 00 lw a0, 0(s3) +8000064c: 83 25 05 00 lw a1, 0(a0) +80000650: 83 26 c5 00 lw a3, 12(a0) +80000654: 03 47 85 01 lbu a4, 24(a0) +80000658: 03 a8 05 00 lw a6, 0(a1) +8000065c: 03 a6 45 00 lw a2, 4(a1) +80000660: b3 87 d7 00 add a5, a5, a3 +80000664: 33 06 c8 02 mul a2, a6, a2 +80000668: 63 0e 07 06 beqz a4, 124 +8000066c: 03 47 a5 01 lbu a4, 26(a0) +80000670: 33 d7 e7 40 sra a4, a5, a4 +80000674: 83 46 95 01 lbu a3, 25(a0) +80000678: 33 06 e6 02 mul a2, a2, a4 +8000067c: b3 87 c7 40 sub a5, a5, a2 +80000680: 63 8e 06 04 beqz a3, 92 +80000684: 83 48 b5 01 lbu a7, 27(a0) +80000688: b3 d8 17 41 sra a7, a5, a7 +8000068c: 33 08 18 03 mul a6, a6, a7 +80000690: 03 ae 45 01 lw t3, 20(a1) +80000694: 83 a6 05 01 lw a3, 16(a1) +80000698: 03 a6 c5 00 lw a2, 12(a1) +8000069c: 03 23 45 00 lw t1, 4(a0) +800006a0: 03 25 85 00 lw a0, 8(a0) +800006a4: 33 07 c7 01 add a4, a4, t3 +800006a8: b3 86 d8 00 add a3, a7, a3 +800006ac: b3 87 07 41 sub a5, a5, a6 +800006b0: 33 86 c7 00 add a2, a5, a2 +800006b4: e7 00 03 00 jalr t1 +800006b8: 93 07 10 00 addi a5, zero, 1 +800006bc: 6b 80 07 00 +800006c0: 83 20 c1 03 lw ra, 60(sp) +800006c4: 03 24 81 03 lw s0, 56(sp) +800006c8: 83 24 41 03 lw s1, 52(sp) +800006cc: 03 29 01 03 lw s2, 48(sp) +800006d0: 83 29 c1 02 lw s3, 44(sp) +800006d4: 13 01 01 04 addi sp, sp, 64 +800006d8: 67 80 00 00 ret +800006dc: b3 c8 07 03 div a7, a5, a6 +800006e0: 6f f0 df fa j -84 +800006e4: 33 c7 c7 02 div a4, a5, a2 +800006e8: 6f f0 df f8 j -116 -8000084c __libc_fini_array: -8000084c: 13 01 01 ff addi sp, sp, -16 -80000850: 23 24 81 00 sw s0, 8(sp) -80000854: b7 17 00 80 lui a5, 524289 -80000858: 37 14 00 80 lui s0, 524289 -8000085c: 13 04 44 00 addi s0, s0, 4 -80000860: 93 87 47 00 addi a5, a5, 4 -80000864: b3 87 87 40 sub a5, a5, s0 -80000868: 23 22 91 00 sw s1, 4(sp) -8000086c: 23 26 11 00 sw ra, 12(sp) -80000870: 93 d4 27 40 srai s1, a5, 2 -80000874: 63 80 04 02 beqz s1, 32 -80000878: 93 87 c7 ff addi a5, a5, -4 -8000087c: 33 84 87 00 add s0, a5, s0 -80000880: 83 27 04 00 lw a5, 0(s0) -80000884: 93 84 f4 ff addi s1, s1, -1 -80000888: 13 04 c4 ff addi s0, s0, -4 -8000088c: e7 80 07 00 jalr a5 -80000890: e3 98 04 fe bnez s1, -16 -80000894: 83 20 c1 00 lw ra, 12(sp) -80000898: 03 24 81 00 lw s0, 8(sp) -8000089c: 83 24 41 00 lw s1, 4(sp) -800008a0: 13 01 01 01 addi sp, sp, 16 -800008a4: 67 80 00 00 ret +800006ec vx_perf_dump: +800006ec: f3 27 50 cc csrr a5, 3269 +800006f0: 37 07 ff 00 lui a4, 4080 +800006f4: b3 87 e7 00 add a5, a5, a4 +800006f8: 93 97 87 00 slli a5, a5, 8 +800006fc: 73 27 00 b0 csrr a4, mcycle +80000700: 23 a0 e7 00 sw a4, 0(a5) +80000704: 73 27 10 b0 csrr a4, 2817 +80000708: 23 a2 e7 00 sw a4, 4(a5) +8000070c: 73 27 20 b0 csrr a4, minstret +80000710: 23 a4 e7 00 sw a4, 8(a5) +80000714: 73 27 30 b0 csrr a4, mhpmcounter3 +80000718: 23 a6 e7 00 sw a4, 12(a5) +8000071c: 73 27 40 b0 csrr a4, mhpmcounter4 +80000720: 23 a8 e7 00 sw a4, 16(a5) +80000724: 73 27 50 b0 csrr a4, mhpmcounter5 +80000728: 23 aa e7 00 sw a4, 20(a5) +8000072c: 73 27 60 b0 csrr a4, mhpmcounter6 +80000730: 23 ac e7 00 sw a4, 24(a5) +80000734: 73 27 70 b0 csrr a4, mhpmcounter7 +80000738: 23 ae e7 00 sw a4, 28(a5) +8000073c: 73 27 80 b0 csrr a4, mhpmcounter8 +80000740: 23 a0 e7 02 sw a4, 32(a5) +80000744: 73 27 90 b0 csrr a4, mhpmcounter9 +80000748: 23 a2 e7 02 sw a4, 36(a5) +8000074c: 73 27 a0 b0 csrr a4, mhpmcounter10 +80000750: 23 a4 e7 02 sw a4, 40(a5) +80000754: 73 27 b0 b0 csrr a4, mhpmcounter11 +80000758: 23 a6 e7 02 sw a4, 44(a5) +8000075c: 73 27 c0 b0 csrr a4, mhpmcounter12 +80000760: 23 a8 e7 02 sw a4, 48(a5) +80000764: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000768: 23 aa e7 02 sw a4, 52(a5) +8000076c: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000770: 23 ac e7 02 sw a4, 56(a5) +80000774: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000778: 23 ae e7 02 sw a4, 60(a5) +8000077c: 73 27 00 b1 csrr a4, mhpmcounter16 +80000780: 23 a0 e7 04 sw a4, 64(a5) +80000784: 73 27 10 b1 csrr a4, mhpmcounter17 +80000788: 23 a2 e7 04 sw a4, 68(a5) +8000078c: 73 27 20 b1 csrr a4, mhpmcounter18 +80000790: 23 a4 e7 04 sw a4, 72(a5) +80000794: 73 27 30 b1 csrr a4, mhpmcounter19 +80000798: 23 a6 e7 04 sw a4, 76(a5) +8000079c: 73 27 40 b1 csrr a4, mhpmcounter20 +800007a0: 23 a8 e7 04 sw a4, 80(a5) +800007a4: 73 27 50 b1 csrr a4, mhpmcounter21 +800007a8: 23 aa e7 04 sw a4, 84(a5) +800007ac: 73 27 60 b1 csrr a4, mhpmcounter22 +800007b0: 23 ac e7 04 sw a4, 88(a5) +800007b4: 73 27 70 b1 csrr a4, mhpmcounter23 +800007b8: 23 ae e7 04 sw a4, 92(a5) +800007bc: 73 27 80 b1 csrr a4, mhpmcounter24 +800007c0: 23 a0 e7 06 sw a4, 96(a5) +800007c4: 73 27 90 b1 csrr a4, mhpmcounter25 +800007c8: 23 a2 e7 06 sw a4, 100(a5) +800007cc: 73 27 a0 b1 csrr a4, mhpmcounter26 +800007d0: 23 a4 e7 06 sw a4, 104(a5) +800007d4: 73 27 b0 b1 csrr a4, mhpmcounter27 +800007d8: 23 a6 e7 06 sw a4, 108(a5) +800007dc: 73 27 c0 b1 csrr a4, mhpmcounter28 +800007e0: 23 a8 e7 06 sw a4, 112(a5) +800007e4: 73 27 d0 b1 csrr a4, mhpmcounter29 +800007e8: 23 aa e7 06 sw a4, 116(a5) +800007ec: 73 27 e0 b1 csrr a4, mhpmcounter30 +800007f0: 23 ac e7 06 sw a4, 120(a5) +800007f4: 73 27 f0 b1 csrr a4, mhpmcounter31 +800007f8: 23 ae e7 06 sw a4, 124(a5) +800007fc: 73 27 00 b8 csrr a4, mcycleh +80000800: 23 a0 e7 08 sw a4, 128(a5) +80000804: 73 27 10 b8 csrr a4, 2945 +80000808: 23 a2 e7 08 sw a4, 132(a5) +8000080c: 73 27 20 b8 csrr a4, minstreth +80000810: 23 a4 e7 08 sw a4, 136(a5) +80000814: 73 27 30 b8 csrr a4, mhpmcounter3h +80000818: 23 a6 e7 08 sw a4, 140(a5) +8000081c: 73 27 40 b8 csrr a4, mhpmcounter4h +80000820: 23 a8 e7 08 sw a4, 144(a5) +80000824: 73 27 50 b8 csrr a4, mhpmcounter5h +80000828: 23 aa e7 08 sw a4, 148(a5) +8000082c: 73 27 60 b8 csrr a4, mhpmcounter6h +80000830: 23 ac e7 08 sw a4, 152(a5) +80000834: 73 27 70 b8 csrr a4, mhpmcounter7h +80000838: 23 ae e7 08 sw a4, 156(a5) +8000083c: 73 27 80 b8 csrr a4, mhpmcounter8h +80000840: 23 a0 e7 0a sw a4, 160(a5) +80000844: 73 27 90 b8 csrr a4, mhpmcounter9h +80000848: 23 a2 e7 0a sw a4, 164(a5) +8000084c: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000850: 23 a4 e7 0a sw a4, 168(a5) +80000854: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000858: 23 a6 e7 0a sw a4, 172(a5) +8000085c: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000860: 23 a8 e7 0a sw a4, 176(a5) +80000864: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000868: 23 aa e7 0a sw a4, 180(a5) +8000086c: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000870: 23 ac e7 0a sw a4, 184(a5) +80000874: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000878: 23 ae e7 0a sw a4, 188(a5) +8000087c: 73 27 00 b9 csrr a4, mhpmcounter16h +80000880: 23 a0 e7 0c sw a4, 192(a5) +80000884: 73 27 10 b9 csrr a4, mhpmcounter17h +80000888: 23 a2 e7 0c sw a4, 196(a5) +8000088c: 73 27 20 b9 csrr a4, mhpmcounter18h +80000890: 23 a4 e7 0c sw a4, 200(a5) +80000894: 73 27 30 b9 csrr a4, mhpmcounter19h +80000898: 23 a6 e7 0c sw a4, 204(a5) +8000089c: 73 27 40 b9 csrr a4, mhpmcounter20h +800008a0: 23 a8 e7 0c sw a4, 208(a5) +800008a4: 73 27 50 b9 csrr a4, mhpmcounter21h +800008a8: 23 aa e7 0c sw a4, 212(a5) +800008ac: 73 27 60 b9 csrr a4, mhpmcounter22h +800008b0: 23 ac e7 0c sw a4, 216(a5) +800008b4: 73 27 70 b9 csrr a4, mhpmcounter23h +800008b8: 23 ae e7 0c sw a4, 220(a5) +800008bc: 73 27 80 b9 csrr a4, mhpmcounter24h +800008c0: 23 a0 e7 0e sw a4, 224(a5) +800008c4: 73 27 90 b9 csrr a4, mhpmcounter25h +800008c8: 23 a2 e7 0e sw a4, 228(a5) +800008cc: 73 27 a0 b9 csrr a4, mhpmcounter26h +800008d0: 23 a4 e7 0e sw a4, 232(a5) +800008d4: 73 27 b0 b9 csrr a4, mhpmcounter27h +800008d8: 23 a6 e7 0e sw a4, 236(a5) +800008dc: 73 27 c0 b9 csrr a4, mhpmcounter28h +800008e0: 23 a8 e7 0e sw a4, 240(a5) +800008e4: 73 27 d0 b9 csrr a4, mhpmcounter29h +800008e8: 23 aa e7 0e sw a4, 244(a5) +800008ec: 73 27 e0 b9 csrr a4, mhpmcounter30h +800008f0: 23 ac e7 0e sw a4, 248(a5) +800008f4: 73 27 f0 b9 csrr a4, mhpmcounter31h +800008f8: 23 ae e7 0e sw a4, 252(a5) +800008fc: 67 80 00 00 ret -800008a8 __libc_init_array: -800008a8: 13 01 01 ff addi sp, sp, -16 -800008ac: 23 24 81 00 sw s0, 8(sp) -800008b0: 23 20 21 01 sw s2, 0(sp) -800008b4: 37 14 00 80 lui s0, 524289 -800008b8: 37 19 00 80 lui s2, 524289 -800008bc: 93 07 04 00 mv a5, s0 -800008c0: 13 09 09 00 mv s2, s2 -800008c4: 33 09 f9 40 sub s2, s2, a5 -800008c8: 23 26 11 00 sw ra, 12(sp) -800008cc: 23 22 91 00 sw s1, 4(sp) -800008d0: 13 59 29 40 srai s2, s2, 2 -800008d4: 63 00 09 02 beqz s2, 32 -800008d8: 13 04 04 00 mv s0, s0 -800008dc: 93 04 00 00 mv s1, zero -800008e0: 83 27 04 00 lw a5, 0(s0) -800008e4: 93 84 14 00 addi s1, s1, 1 -800008e8: 13 04 44 00 addi s0, s0, 4 -800008ec: e7 80 07 00 jalr a5 -800008f0: e3 18 99 fe bne s2, s1, -16 -800008f4: 37 14 00 80 lui s0, 524289 -800008f8: 37 19 00 80 lui s2, 524289 -800008fc: 93 07 04 00 mv a5, s0 -80000900: 13 09 49 00 addi s2, s2, 4 -80000904: 33 09 f9 40 sub s2, s2, a5 -80000908: 13 59 29 40 srai s2, s2, 2 -8000090c: 63 00 09 02 beqz s2, 32 -80000910: 13 04 04 00 mv s0, s0 -80000914: 93 04 00 00 mv s1, zero -80000918: 83 27 04 00 lw a5, 0(s0) -8000091c: 93 84 14 00 addi s1, s1, 1 -80000920: 13 04 44 00 addi s0, s0, 4 -80000924: e7 80 07 00 jalr a5 -80000928: e3 18 99 fe bne s2, s1, -16 -8000092c: 83 20 c1 00 lw ra, 12(sp) -80000930: 03 24 81 00 lw s0, 8(sp) -80000934: 83 24 41 00 lw s1, 4(sp) -80000938: 03 29 01 00 lw s2, 0(sp) -8000093c: 13 01 01 01 addi sp, sp, 16 -80000940: 67 80 00 00 ret +80000900 atexit: +80000900: 93 05 05 00 mv a1, a0 +80000904: 93 06 00 00 mv a3, zero +80000908: 13 06 00 00 mv a2, zero +8000090c: 13 05 00 00 mv a0, zero +80000910: 6f 00 40 11 j 276 -80000944 memset: -80000944: 13 03 f0 00 addi t1, zero, 15 -80000948: 13 07 05 00 mv a4, a0 -8000094c: 63 7e c3 02 bgeu t1, a2, 60 -80000950: 93 77 f7 00 andi a5, a4, 15 -80000954: 63 90 07 0a bnez a5, 160 -80000958: 63 92 05 08 bnez a1, 132 -8000095c: 93 76 06 ff andi a3, a2, -16 -80000960: 13 76 f6 00 andi a2, a2, 15 -80000964: b3 86 e6 00 add a3, a3, a4 -80000968: 23 20 b7 00 sw a1, 0(a4) -8000096c: 23 22 b7 00 sw a1, 4(a4) -80000970: 23 24 b7 00 sw a1, 8(a4) -80000974: 23 26 b7 00 sw a1, 12(a4) -80000978: 13 07 07 01 addi a4, a4, 16 -8000097c: e3 66 d7 fe bltu a4, a3, -20 -80000980: 63 14 06 00 bnez a2, 8 -80000984: 67 80 00 00 ret -80000988: b3 06 c3 40 sub a3, t1, a2 -8000098c: 93 96 26 00 slli a3, a3, 2 -80000990: 97 02 00 00 auipc t0, 0 -80000994: b3 86 56 00 add a3, a3, t0 -80000998: 67 80 c6 00 jr 12(a3) -8000099c: 23 07 b7 00 sb a1, 14(a4) -800009a0: a3 06 b7 00 sb a1, 13(a4) -800009a4: 23 06 b7 00 sb a1, 12(a4) -800009a8: a3 05 b7 00 sb a1, 11(a4) -800009ac: 23 05 b7 00 sb a1, 10(a4) -800009b0: a3 04 b7 00 sb a1, 9(a4) -800009b4: 23 04 b7 00 sb a1, 8(a4) -800009b8: a3 03 b7 00 sb a1, 7(a4) -800009bc: 23 03 b7 00 sb a1, 6(a4) -800009c0: a3 02 b7 00 sb a1, 5(a4) -800009c4: 23 02 b7 00 sb a1, 4(a4) -800009c8: a3 01 b7 00 sb a1, 3(a4) -800009cc: 23 01 b7 00 sb a1, 2(a4) -800009d0: a3 00 b7 00 sb a1, 1(a4) -800009d4: 23 00 b7 00 sb a1, 0(a4) -800009d8: 67 80 00 00 ret -800009dc: 93 f5 f5 0f andi a1, a1, 255 -800009e0: 93 96 85 00 slli a3, a1, 8 -800009e4: b3 e5 d5 00 or a1, a1, a3 -800009e8: 93 96 05 01 slli a3, a1, 16 -800009ec: b3 e5 d5 00 or a1, a1, a3 -800009f0: 6f f0 df f6 j -148 -800009f4: 93 96 27 00 slli a3, a5, 2 -800009f8: 97 02 00 00 auipc t0, 0 -800009fc: b3 86 56 00 add a3, a3, t0 -80000a00: 93 82 00 00 mv t0, ra -80000a04: e7 80 06 fa jalr -96(a3) -80000a08: 93 80 02 00 mv ra, t0 -80000a0c: 93 87 07 ff addi a5, a5, -16 -80000a10: 33 07 f7 40 sub a4, a4, a5 -80000a14: 33 06 f6 00 add a2, a2, a5 -80000a18: e3 78 c3 f6 bgeu t1, a2, -144 -80000a1c: 6f f0 df f3 j -196 +80000914 exit: +80000914: 13 01 01 ff addi sp, sp, -16 +80000918: 93 05 00 00 mv a1, zero +8000091c: 23 24 81 00 sw s0, 8(sp) +80000920: 23 26 11 00 sw ra, 12(sp) +80000924: 13 04 05 00 mv s0, a0 +80000928: ef 00 80 19 jal 408 +8000092c: b7 17 00 80 lui a5, 524289 +80000930: 03 a5 07 43 lw a0, 1072(a5) +80000934: 83 27 c5 03 lw a5, 60(a0) +80000938: 63 84 07 00 beqz a5, 8 +8000093c: e7 80 07 00 jalr a5 +80000940: 13 05 04 00 mv a0, s0 +80000944: ef f0 1f 8f jal -1808 -80000a20 __register_exitproc: -80000a20: b7 17 00 80 lui a5, 524289 -80000a24: 03 a7 07 43 lw a4, 1072(a5) -80000a28: 83 27 87 14 lw a5, 328(a4) -80000a2c: 63 8c 07 04 beqz a5, 88 -80000a30: 03 a7 47 00 lw a4, 4(a5) -80000a34: 13 08 f0 01 addi a6, zero, 31 -80000a38: 63 4e e8 06 blt a6, a4, 124 -80000a3c: 13 18 27 00 slli a6, a4, 2 -80000a40: 63 06 05 02 beqz a0, 44 -80000a44: 33 83 07 01 add t1, a5, a6 -80000a48: 23 24 c3 08 sw a2, 136(t1) -80000a4c: 83 a8 87 18 lw a7, 392(a5) -80000a50: 13 06 10 00 addi a2, zero, 1 -80000a54: 33 16 e6 00 sll a2, a2, a4 -80000a58: b3 e8 c8 00 or a7, a7, a2 -80000a5c: 23 a4 17 19 sw a7, 392(a5) -80000a60: 23 24 d3 10 sw a3, 264(t1) -80000a64: 93 06 20 00 addi a3, zero, 2 -80000a68: 63 04 d5 02 beq a0, a3, 40 -80000a6c: 13 07 17 00 addi a4, a4, 1 -80000a70: 23 a2 e7 00 sw a4, 4(a5) -80000a74: b3 87 07 01 add a5, a5, a6 -80000a78: 23 a4 b7 00 sw a1, 8(a5) -80000a7c: 13 05 00 00 mv a0, zero -80000a80: 67 80 00 00 ret -80000a84: 93 07 c7 14 addi a5, a4, 332 -80000a88: 23 24 f7 14 sw a5, 328(a4) -80000a8c: 6f f0 5f fa j -92 -80000a90: 83 a6 c7 18 lw a3, 396(a5) -80000a94: 13 07 17 00 addi a4, a4, 1 -80000a98: 23 a2 e7 00 sw a4, 4(a5) -80000a9c: 33 e6 c6 00 or a2, a3, a2 -80000aa0: 23 a6 c7 18 sw a2, 396(a5) -80000aa4: b3 87 07 01 add a5, a5, a6 -80000aa8: 23 a4 b7 00 sw a1, 8(a5) -80000aac: 13 05 00 00 mv a0, zero -80000ab0: 67 80 00 00 ret -80000ab4: 13 05 f0 ff addi a0, zero, -1 -80000ab8: 67 80 00 00 ret +80000948 memset: +80000948: 13 03 f0 00 addi t1, zero, 15 +8000094c: 13 07 05 00 mv a4, a0 +80000950: 63 7e c3 02 bgeu t1, a2, 60 +80000954: 93 77 f7 00 andi a5, a4, 15 +80000958: 63 90 07 0a bnez a5, 160 +8000095c: 63 92 05 08 bnez a1, 132 +80000960: 93 76 06 ff andi a3, a2, -16 +80000964: 13 76 f6 00 andi a2, a2, 15 +80000968: b3 86 e6 00 add a3, a3, a4 +8000096c: 23 20 b7 00 sw a1, 0(a4) +80000970: 23 22 b7 00 sw a1, 4(a4) +80000974: 23 24 b7 00 sw a1, 8(a4) +80000978: 23 26 b7 00 sw a1, 12(a4) +8000097c: 13 07 07 01 addi a4, a4, 16 +80000980: e3 66 d7 fe bltu a4, a3, -20 +80000984: 63 14 06 00 bnez a2, 8 +80000988: 67 80 00 00 ret +8000098c: b3 06 c3 40 sub a3, t1, a2 +80000990: 93 96 26 00 slli a3, a3, 2 +80000994: 97 02 00 00 auipc t0, 0 +80000998: b3 86 56 00 add a3, a3, t0 +8000099c: 67 80 c6 00 jr 12(a3) +800009a0: 23 07 b7 00 sb a1, 14(a4) +800009a4: a3 06 b7 00 sb a1, 13(a4) +800009a8: 23 06 b7 00 sb a1, 12(a4) +800009ac: a3 05 b7 00 sb a1, 11(a4) +800009b0: 23 05 b7 00 sb a1, 10(a4) +800009b4: a3 04 b7 00 sb a1, 9(a4) +800009b8: 23 04 b7 00 sb a1, 8(a4) +800009bc: a3 03 b7 00 sb a1, 7(a4) +800009c0: 23 03 b7 00 sb a1, 6(a4) +800009c4: a3 02 b7 00 sb a1, 5(a4) +800009c8: 23 02 b7 00 sb a1, 4(a4) +800009cc: a3 01 b7 00 sb a1, 3(a4) +800009d0: 23 01 b7 00 sb a1, 2(a4) +800009d4: a3 00 b7 00 sb a1, 1(a4) +800009d8: 23 00 b7 00 sb a1, 0(a4) +800009dc: 67 80 00 00 ret +800009e0: 93 f5 f5 0f andi a1, a1, 255 +800009e4: 93 96 85 00 slli a3, a1, 8 +800009e8: b3 e5 d5 00 or a1, a1, a3 +800009ec: 93 96 05 01 slli a3, a1, 16 +800009f0: b3 e5 d5 00 or a1, a1, a3 +800009f4: 6f f0 df f6 j -148 +800009f8: 93 96 27 00 slli a3, a5, 2 +800009fc: 97 02 00 00 auipc t0, 0 +80000a00: b3 86 56 00 add a3, a3, t0 +80000a04: 93 82 00 00 mv t0, ra +80000a08: e7 80 06 fa jalr -96(a3) +80000a0c: 93 80 02 00 mv ra, t0 +80000a10: 93 87 07 ff addi a5, a5, -16 +80000a14: 33 07 f7 40 sub a4, a4, a5 +80000a18: 33 06 f6 00 add a2, a2, a5 +80000a1c: e3 78 c3 f6 bgeu t1, a2, -144 +80000a20: 6f f0 df f3 j -196 -80000abc __call_exitprocs: -80000abc: 13 01 01 fd addi sp, sp, -48 -80000ac0: b7 17 00 80 lui a5, 524289 -80000ac4: 23 2c 41 01 sw s4, 24(sp) -80000ac8: 03 aa 07 43 lw s4, 1072(a5) -80000acc: 23 20 21 03 sw s2, 32(sp) -80000ad0: 23 26 11 02 sw ra, 44(sp) -80000ad4: 03 29 8a 14 lw s2, 328(s4) -80000ad8: 23 24 81 02 sw s0, 40(sp) -80000adc: 23 22 91 02 sw s1, 36(sp) -80000ae0: 23 2e 31 01 sw s3, 28(sp) -80000ae4: 23 2a 51 01 sw s5, 20(sp) -80000ae8: 23 28 61 01 sw s6, 16(sp) -80000aec: 23 26 71 01 sw s7, 12(sp) -80000af0: 23 24 81 01 sw s8, 8(sp) -80000af4: 63 00 09 04 beqz s2, 64 -80000af8: 13 0b 05 00 mv s6, a0 -80000afc: 93 8b 05 00 mv s7, a1 -80000b00: 93 0a 10 00 addi s5, zero, 1 -80000b04: 93 09 f0 ff addi s3, zero, -1 -80000b08: 83 24 49 00 lw s1, 4(s2) -80000b0c: 13 84 f4 ff addi s0, s1, -1 -80000b10: 63 42 04 02 bltz s0, 36 -80000b14: 93 94 24 00 slli s1, s1, 2 -80000b18: b3 04 99 00 add s1, s2, s1 -80000b1c: 63 84 0b 04 beqz s7, 72 -80000b20: 83 a7 44 10 lw a5, 260(s1) -80000b24: 63 80 77 05 beq a5, s7, 64 -80000b28: 13 04 f4 ff addi s0, s0, -1 -80000b2c: 93 84 c4 ff addi s1, s1, -4 -80000b30: e3 16 34 ff bne s0, s3, -20 -80000b34: 83 20 c1 02 lw ra, 44(sp) -80000b38: 03 24 81 02 lw s0, 40(sp) -80000b3c: 83 24 41 02 lw s1, 36(sp) -80000b40: 03 29 01 02 lw s2, 32(sp) -80000b44: 83 29 c1 01 lw s3, 28(sp) -80000b48: 03 2a 81 01 lw s4, 24(sp) -80000b4c: 83 2a 41 01 lw s5, 20(sp) -80000b50: 03 2b 01 01 lw s6, 16(sp) -80000b54: 83 2b c1 00 lw s7, 12(sp) -80000b58: 03 2c 81 00 lw s8, 8(sp) -80000b5c: 13 01 01 03 addi sp, sp, 48 -80000b60: 67 80 00 00 ret -80000b64: 83 27 49 00 lw a5, 4(s2) -80000b68: 83 a6 44 00 lw a3, 4(s1) -80000b6c: 93 87 f7 ff addi a5, a5, -1 -80000b70: 63 8e 87 04 beq a5, s0, 92 -80000b74: 23 a2 04 00 sw zero, 4(s1) -80000b78: e3 88 06 fa beqz a3, -80 -80000b7c: 83 27 89 18 lw a5, 392(s2) -80000b80: 33 97 8a 00 sll a4, s5, s0 -80000b84: 03 2c 49 00 lw s8, 4(s2) -80000b88: b3 77 f7 00 and a5, a4, a5 -80000b8c: 63 92 07 02 bnez a5, 36 -80000b90: e7 80 06 00 jalr a3 -80000b94: 03 27 49 00 lw a4, 4(s2) -80000b98: 83 27 8a 14 lw a5, 328(s4) -80000b9c: 63 14 87 01 bne a4, s8, 8 -80000ba0: e3 04 f9 f8 beq s2, a5, -120 -80000ba4: e3 88 07 f8 beqz a5, -112 -80000ba8: 13 89 07 00 mv s2, a5 -80000bac: 6f f0 df f5 j -164 -80000bb0: 83 27 c9 18 lw a5, 396(s2) -80000bb4: 83 a5 44 08 lw a1, 132(s1) -80000bb8: 33 77 f7 00 and a4, a4, a5 -80000bbc: 63 1c 07 00 bnez a4, 24 -80000bc0: 13 05 0b 00 mv a0, s6 -80000bc4: e7 80 06 00 jalr a3 -80000bc8: 6f f0 df fc j -52 -80000bcc: 23 22 89 00 sw s0, 4(s2) -80000bd0: 6f f0 9f fa j -88 -80000bd4: 13 85 05 00 mv a0, a1 -80000bd8: e7 80 06 00 jalr a3 -80000bdc: 6f f0 9f fb j -72 +80000a24 __register_exitproc: +80000a24: b7 17 00 80 lui a5, 524289 +80000a28: 03 a7 07 43 lw a4, 1072(a5) +80000a2c: 83 27 87 14 lw a5, 328(a4) +80000a30: 63 8c 07 04 beqz a5, 88 +80000a34: 03 a7 47 00 lw a4, 4(a5) +80000a38: 13 08 f0 01 addi a6, zero, 31 +80000a3c: 63 4e e8 06 blt a6, a4, 124 +80000a40: 13 18 27 00 slli a6, a4, 2 +80000a44: 63 06 05 02 beqz a0, 44 +80000a48: 33 83 07 01 add t1, a5, a6 +80000a4c: 23 24 c3 08 sw a2, 136(t1) +80000a50: 83 a8 87 18 lw a7, 392(a5) +80000a54: 13 06 10 00 addi a2, zero, 1 +80000a58: 33 16 e6 00 sll a2, a2, a4 +80000a5c: b3 e8 c8 00 or a7, a7, a2 +80000a60: 23 a4 17 19 sw a7, 392(a5) +80000a64: 23 24 d3 10 sw a3, 264(t1) +80000a68: 93 06 20 00 addi a3, zero, 2 +80000a6c: 63 04 d5 02 beq a0, a3, 40 +80000a70: 13 07 17 00 addi a4, a4, 1 +80000a74: 23 a2 e7 00 sw a4, 4(a5) +80000a78: b3 87 07 01 add a5, a5, a6 +80000a7c: 23 a4 b7 00 sw a1, 8(a5) +80000a80: 13 05 00 00 mv a0, zero +80000a84: 67 80 00 00 ret +80000a88: 93 07 c7 14 addi a5, a4, 332 +80000a8c: 23 24 f7 14 sw a5, 328(a4) +80000a90: 6f f0 5f fa j -92 +80000a94: 83 a6 c7 18 lw a3, 396(a5) +80000a98: 13 07 17 00 addi a4, a4, 1 +80000a9c: 23 a2 e7 00 sw a4, 4(a5) +80000aa0: 33 e6 c6 00 or a2, a3, a2 +80000aa4: 23 a6 c7 18 sw a2, 396(a5) +80000aa8: b3 87 07 01 add a5, a5, a6 +80000aac: 23 a4 b7 00 sw a1, 8(a5) +80000ab0: 13 05 00 00 mv a0, zero +80000ab4: 67 80 00 00 ret +80000ab8: 13 05 f0 ff addi a0, zero, -1 +80000abc: 67 80 00 00 ret + +80000ac0 __call_exitprocs: +80000ac0: 13 01 01 fd addi sp, sp, -48 +80000ac4: b7 17 00 80 lui a5, 524289 +80000ac8: 23 2c 41 01 sw s4, 24(sp) +80000acc: 03 aa 07 43 lw s4, 1072(a5) +80000ad0: 23 20 21 03 sw s2, 32(sp) +80000ad4: 23 26 11 02 sw ra, 44(sp) +80000ad8: 03 29 8a 14 lw s2, 328(s4) +80000adc: 23 24 81 02 sw s0, 40(sp) +80000ae0: 23 22 91 02 sw s1, 36(sp) +80000ae4: 23 2e 31 01 sw s3, 28(sp) +80000ae8: 23 2a 51 01 sw s5, 20(sp) +80000aec: 23 28 61 01 sw s6, 16(sp) +80000af0: 23 26 71 01 sw s7, 12(sp) +80000af4: 23 24 81 01 sw s8, 8(sp) +80000af8: 63 00 09 04 beqz s2, 64 +80000afc: 13 0b 05 00 mv s6, a0 +80000b00: 93 8b 05 00 mv s7, a1 +80000b04: 93 0a 10 00 addi s5, zero, 1 +80000b08: 93 09 f0 ff addi s3, zero, -1 +80000b0c: 83 24 49 00 lw s1, 4(s2) +80000b10: 13 84 f4 ff addi s0, s1, -1 +80000b14: 63 42 04 02 bltz s0, 36 +80000b18: 93 94 24 00 slli s1, s1, 2 +80000b1c: b3 04 99 00 add s1, s2, s1 +80000b20: 63 84 0b 04 beqz s7, 72 +80000b24: 83 a7 44 10 lw a5, 260(s1) +80000b28: 63 80 77 05 beq a5, s7, 64 +80000b2c: 13 04 f4 ff addi s0, s0, -1 +80000b30: 93 84 c4 ff addi s1, s1, -4 +80000b34: e3 16 34 ff bne s0, s3, -20 +80000b38: 83 20 c1 02 lw ra, 44(sp) +80000b3c: 03 24 81 02 lw s0, 40(sp) +80000b40: 83 24 41 02 lw s1, 36(sp) +80000b44: 03 29 01 02 lw s2, 32(sp) +80000b48: 83 29 c1 01 lw s3, 28(sp) +80000b4c: 03 2a 81 01 lw s4, 24(sp) +80000b50: 83 2a 41 01 lw s5, 20(sp) +80000b54: 03 2b 01 01 lw s6, 16(sp) +80000b58: 83 2b c1 00 lw s7, 12(sp) +80000b5c: 03 2c 81 00 lw s8, 8(sp) +80000b60: 13 01 01 03 addi sp, sp, 48 +80000b64: 67 80 00 00 ret +80000b68: 83 27 49 00 lw a5, 4(s2) +80000b6c: 83 a6 44 00 lw a3, 4(s1) +80000b70: 93 87 f7 ff addi a5, a5, -1 +80000b74: 63 8e 87 04 beq a5, s0, 92 +80000b78: 23 a2 04 00 sw zero, 4(s1) +80000b7c: e3 88 06 fa beqz a3, -80 +80000b80: 83 27 89 18 lw a5, 392(s2) +80000b84: 33 97 8a 00 sll a4, s5, s0 +80000b88: 03 2c 49 00 lw s8, 4(s2) +80000b8c: b3 77 f7 00 and a5, a4, a5 +80000b90: 63 92 07 02 bnez a5, 36 +80000b94: e7 80 06 00 jalr a3 +80000b98: 03 27 49 00 lw a4, 4(s2) +80000b9c: 83 27 8a 14 lw a5, 328(s4) +80000ba0: 63 14 87 01 bne a4, s8, 8 +80000ba4: e3 04 f9 f8 beq s2, a5, -120 +80000ba8: e3 88 07 f8 beqz a5, -112 +80000bac: 13 89 07 00 mv s2, a5 +80000bb0: 6f f0 df f5 j -164 +80000bb4: 83 27 c9 18 lw a5, 396(s2) +80000bb8: 83 a5 44 08 lw a1, 132(s1) +80000bbc: 33 77 f7 00 and a4, a4, a5 +80000bc0: 63 1c 07 00 bnez a4, 24 +80000bc4: 13 05 0b 00 mv a0, s6 +80000bc8: e7 80 06 00 jalr a3 +80000bcc: 6f f0 df fc j -52 +80000bd0: 23 22 89 00 sw s0, 4(s2) +80000bd4: 6f f0 9f fa j -88 +80000bd8: 13 85 05 00 mv a0, a1 +80000bdc: e7 80 06 00 jalr a3 +80000be0: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -976,80 +979,83 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 78 02 + a4: 40 02 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 7c 02 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: 7c 02 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: 78 03 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 184: 08 10 186: 00 80 @@ -1060,54 +1066,54 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 1a4: 04 10 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 cd 00 lb zero, 12(s10) + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 1b4: 04 10 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 e0 00 lb zero, 14(zero) + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 1c4: 04 10 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 1d4: 00 10 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 1e4: 00 10 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 1f4: 00 10 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 00 04 216: 00 00 @@ -1115,7 +1121,7 @@ Disassembly of section .symtab: 21a: 00 00 21c: 10 00 21e: f1 ff - 220: 49 01 + 220: 59 01 222: 00 00 224: 34 14 226: 00 80 @@ -1123,21 +1129,21 @@ Disassembly of section .symtab: 22a: 00 00 22c: 11 00 22e: 06 00 - 230: 57 01 00 00 + 230: 67 01 00 00 jalr sp, zero 234: 30 14 236: 00 80 238: 00 00 23a: 00 00 23c: 10 00 23e: 05 00 - 240: 67 01 00 00 jalr sp, zero + 240: 77 01 00 00 244: 08 18 246: 00 80 248: 00 00 24a: 00 00 24c: 10 00 24e: f1 ff - 250: 78 01 + 250: 88 01 252: 00 00 254: 30 14 256: 00 80 @@ -1145,178 +1151,170 @@ Disassembly of section .symtab: 25a: 00 00 25c: 11 00 25e: 05 00 - 260: 8b 01 00 00 - 264: a8 08 + 260: 9b 01 00 00 + 264: 80 02 266: 00 80 268: 9c 00 26a: 00 00 26c: 12 00 26e: 02 00 - 270: 9d 01 + 270: ad 01 272: 00 00 - 274: 4c 08 + 274: 1c 03 276: 00 80 278: 5c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: af 01 00 00 + 280: bf 01 00 00 284: 98 00 286: 00 80 288: 94 00 28a: 00 00 28c: 12 00 28e: 02 00 - 290: c2 01 + 290: d2 01 292: 00 00 - 294: 00 00 - 296: 00 ff + 294: 4c 02 + 296: 00 80 298: 00 00 29a: 00 00 - 29c: 10 00 - 29e: f1 ff - 2a0: ce 01 + 29c: 12 00 + 29e: 02 00 + 2a0: dc 01 2a2: 00 00 - 2a4: 40 02 + 2a4: c0 0a 2a6: 00 80 - 2a8: 00 00 + 2a8: 24 01 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: d8 01 + 2b0: 12 02 2b2: 00 00 - 2b4: bc 0a + 2b4: 00 00 2b6: 00 80 - 2b8: 24 01 + 2b8: 50 00 2ba: 00 00 2bc: 12 00 - 2be: 02 00 - 2c0: 0e 02 + 2be: 01 00 + 2c0: ed 01 2c2: 00 00 - 2c4: 00 00 + 2c4: 24 0a 2c6: 00 80 - 2c8: 50 00 + 2c8: 9c 00 2ca: 00 00 2cc: 12 00 - 2ce: 01 00 - 2d0: e9 01 + 2ce: 02 00 + 2d0: 01 02 2d2: 00 00 - 2d4: 20 0a + 2d4: b4 14 2d6: 00 80 - 2d8: 9c 00 + 2d8: 00 00 2da: 00 00 - 2dc: 12 00 - 2de: 02 00 - 2e0: fd 01 + 2dc: 10 00 + 2de: 06 00 + 2e0: 0d 02 2e2: 00 00 - 2e4: b4 14 + 2e4: 34 14 2e6: 00 80 2e8: 00 00 2ea: 00 00 2ec: 10 00 2ee: 06 00 - 2f0: 09 02 + 2f0: 19 02 2f2: 00 00 - 2f4: 34 14 + 2f4: 48 09 2f6: 00 80 - 2f8: 00 00 + 2f8: dc 00 2fa: 00 00 - 2fc: 10 00 - 2fe: 06 00 - 300: 15 02 + 2fc: 12 00 + 2fe: 02 00 + 300: 20 02 302: 00 00 - 304: 44 09 + 304: 68 00 306: 00 80 - 308: dc 00 + 308: 30 00 30a: 00 00 30c: 12 00 30e: 02 00 - 310: 1c 02 + 310: 25 02 312: 00 00 - 314: 68 00 + 314: b4 01 316: 00 80 - 318: 30 00 + 318: 80 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 21 02 - 322: 00 00 - 324: b4 01 + 320: 47 02 00 00 fmsub.s ft4, ft0, ft0, ft0, rne + 324: 00 09 326: 00 80 - 328: 80 00 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 43 02 00 00 fmadd.s ft4, ft0, ft0, ft0, rne - 334: 04 08 + 330: 4e 02 + 332: 00 00 + 334: 08 10 336: 00 80 - 338: 14 00 + 338: 00 00 33a: 00 00 - 33c: 12 00 - 33e: 02 00 - 340: 4a 02 + 33c: 10 00 + 33e: 04 00 + 340: 5d 02 342: 00 00 - 344: 08 10 + 344: 34 14 346: 00 80 348: 00 00 34a: 00 00 34c: 10 00 - 34e: 04 00 - 350: 59 02 + 34e: 05 00 + 350: d8 00 352: 00 00 - 354: 34 14 + 354: b4 14 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 05 00 - 360: c8 00 + 35e: 06 00 + 360: 72 02 362: 00 00 - 364: b4 14 + 364: 14 09 366: 00 80 - 368: 00 00 + 368: 34 00 36a: 00 00 - 36c: 10 00 - 36e: 06 00 - 370: 6e 02 + 36c: 12 00 + 36e: 02 00 + 370: 64 02 372: 00 00 - 374: 18 08 + 374: ec 06 376: 00 80 - 378: 34 00 + 378: 14 02 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 60 02 + 380: 71 02 382: 00 00 - 384: f0 05 + 384: 34 02 386: 00 80 - 388: 14 02 + 388: 00 00 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 6d 02 - 392: 00 00 - 394: 34 02 + 390: 77 02 00 00 + 394: 2c 01 396: 00 80 - 398: 00 00 + 398: 88 00 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 73 02 00 00 - 3a4: 2c 01 + 3a0: 94 02 + 3a2: 00 00 + 3a4: c0 04 3a6: 00 80 - 3a8: 88 00 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 90 02 - 3b2: 00 00 - 3b4: c4 03 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1326,256 +1324,259 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 34 63 - 48: 2d 65 - 4a: 30 2d - 4c: 39 35 - 4e: 2d 63 - 50: 37 2d 31 35 lui s10, 217874 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 5f 73 74 - 140: 61 63 - 142: 6b 5f 73 69 - 146: 7a 65 - 148: 00 67 - 14a: 5f 77 73 70 - 14e: 61 77 - 150: 6e 5f - 152: 61 72 - 154: 67 73 00 5f - 158: 5f 53 44 41 - 15c: 54 41 - 15e: 5f 42 45 47 - 162: 49 4e - 164: 5f 5f 00 5f - 168: 5f 67 6c 6f - 16c: 62 61 - 16e: 6c 5f - 170: 70 6f - 172: 69 6e - 174: 74 65 - 176: 72 00 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 66 61 + 58: 2d 64 + 5a: 37 2d 64 34 lui s10, 214594 + 5e: 2d 64 + 60: 36 2d + 62: 31 37 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 5f 73 74 + 150: 61 63 + 152: 6b 5f 73 69 + 156: 7a 65 + 158: 00 67 + 15a: 5f 77 73 70 + 15e: 61 77 + 160: 6e 5f + 162: 61 72 + 164: 67 73 00 5f + 168: 5f 53 44 41 + 16c: 54 41 + 16e: 5f 42 45 47 + 172: 49 4e + 174: 5f 5f 00 5f 178: 5f 67 6c 6f 17c: 62 61 17e: 6c 5f - 180: 69 6d - 182: 70 75 - 184: 72 65 - 186: 5f 70 74 72 - 18a: 00 5f - 18c: 5f 6c 69 62 - 190: 63 5f 69 6e bge s2, t1, 1790 - 194: 69 74 - 196: 5f 61 72 72 - 19a: 61 79 - 19c: 00 5f - 19e: 5f 6c 69 62 - 1a2: 63 5f 66 69 bge a2, s6, 1694 - 1a6: 6e 69 - 1a8: 5f 61 72 72 - 1ac: 61 79 - 1ae: 00 5f - 1b0: 70 6f - 1b2: 63 6c 5f 6b bltu t5, s5, 1720 - 1b6: 65 72 - 1b8: 6e 65 - 1ba: 6c 5f - 1bc: 73 61 78 70 csrrsi sp, 1799, 16 - 1c0: 79 00 - 1c2: 5f 5f 73 74 - 1c6: 61 63 - 1c8: 6b 5f 74 6f - 1cc: 70 00 - 1ce: 76 78 - 1d0: 5f 73 65 74 - 1d4: 5f 73 70 00 - 1d8: 5f 5f 63 61 - 1dc: 6c 6c - 1de: 5f 65 78 69 - 1e2: 74 70 - 1e4: 72 6f - 1e6: 63 73 00 5f bgeu zero, a6, 1510 - 1ea: 5f 72 65 67 - 1ee: 69 73 - 1f0: 74 65 - 1f2: 72 5f - 1f4: 65 78 - 1f6: 69 74 - 1f8: 70 72 - 1fa: 6f 63 00 5f jal t1, 26096 - 1fe: 5f 42 53 53 - 202: 5f 45 4e 44 - 206: 5f 5f 00 5f - 20a: 5f 62 73 73 - 20e: 5f 73 74 61 - 212: 72 74 - 214: 00 6d - 216: 65 6d - 218: 73 65 74 00 csrrsi a0, 7, 8 - 21c: 6d 61 - 21e: 69 6e - 220: 00 5f - 222: 70 6f - 224: 63 6c 5f 6b bltu t5, s5, 1720 - 228: 65 72 - 22a: 6e 65 - 22c: 6c 5f - 22e: 73 61 78 70 csrrsi sp, 1799, 16 - 232: 79 5f - 234: 77 6f 72 6b - 238: 67 72 6f 75 - 23c: 70 5f - 23e: 66 61 - 240: 73 74 00 61 csrrci s0, 1552, 0 - 244: 74 65 - 246: 78 69 - 248: 74 00 - 24a: 5f 5f 44 41 - 24e: 54 41 - 250: 5f 42 45 47 - 254: 49 4e - 256: 5f 5f 00 5f - 25a: 65 64 - 25c: 61 74 - 25e: 61 00 - 260: 76 78 - 262: 5f 70 65 72 - 266: 66 5f - 268: 64 75 - 26a: 6d 70 - 26c: 00 5f - 26e: 65 78 - 270: 69 74 - 272: 00 5f - 274: 70 6f - 276: 63 6c 5f 6b bltu t5, s5, 1720 - 27a: 65 72 - 27c: 6e 65 - 27e: 6c 5f - 280: 73 61 78 70 csrrsi sp, 1799, 16 - 284: 79 5f - 286: 77 6f 72 6b - 28a: 67 72 6f 75 - 28e: 70 00 - 290: 76 78 - 292: 5f 73 70 61 - 296: 77 6e 5f 6b - 29a: 65 72 - 29c: 6e 65 - 29e: 6c 00 + 180: 70 6f + 182: 69 6e + 184: 74 65 + 186: 72 00 + 188: 5f 67 6c 6f + 18c: 62 61 + 18e: 6c 5f + 190: 69 6d + 192: 70 75 + 194: 72 65 + 196: 5f 70 74 72 + 19a: 00 5f + 19c: 5f 6c 69 62 + 1a0: 63 5f 69 6e bge s2, t1, 1790 + 1a4: 69 74 + 1a6: 5f 61 72 72 + 1aa: 61 79 + 1ac: 00 5f + 1ae: 5f 6c 69 62 + 1b2: 63 5f 66 69 bge a2, s6, 1694 + 1b6: 6e 69 + 1b8: 5f 61 72 72 + 1bc: 61 79 + 1be: 00 5f + 1c0: 70 6f + 1c2: 63 6c 5f 6b bltu t5, s5, 1720 + 1c6: 65 72 + 1c8: 6e 65 + 1ca: 6c 5f + 1cc: 73 61 78 70 csrrsi sp, 1799, 16 + 1d0: 79 00 + 1d2: 76 78 + 1d4: 5f 73 65 74 + 1d8: 5f 73 70 00 + 1dc: 5f 5f 63 61 + 1e0: 6c 6c + 1e2: 5f 65 78 69 + 1e6: 74 70 + 1e8: 72 6f + 1ea: 63 73 00 5f bgeu zero, a6, 1510 + 1ee: 5f 72 65 67 + 1f2: 69 73 + 1f4: 74 65 + 1f6: 72 5f + 1f8: 65 78 + 1fa: 69 74 + 1fc: 70 72 + 1fe: 6f 63 00 5f jal t1, 26096 + 202: 5f 42 53 53 + 206: 5f 45 4e 44 + 20a: 5f 5f 00 5f + 20e: 5f 62 73 73 + 212: 5f 73 74 61 + 216: 72 74 + 218: 00 6d + 21a: 65 6d + 21c: 73 65 74 00 csrrsi a0, 7, 8 + 220: 6d 61 + 222: 69 6e + 224: 00 5f + 226: 70 6f + 228: 63 6c 5f 6b bltu t5, s5, 1720 + 22c: 65 72 + 22e: 6e 65 + 230: 6c 5f + 232: 73 61 78 70 csrrsi sp, 1799, 16 + 236: 79 5f + 238: 77 6f 72 6b + 23c: 67 72 6f 75 + 240: 70 5f + 242: 66 61 + 244: 73 74 00 61 csrrci s0, 1552, 0 + 248: 74 65 + 24a: 78 69 + 24c: 74 00 + 24e: 5f 5f 44 41 + 252: 54 41 + 254: 5f 42 45 47 + 258: 49 4e + 25a: 5f 5f 00 5f + 25e: 65 64 + 260: 61 74 + 262: 61 00 + 264: 76 78 + 266: 5f 70 65 72 + 26a: 66 5f + 26c: 64 75 + 26e: 6d 70 + 270: 00 5f + 272: 65 78 + 274: 69 74 + 276: 00 5f + 278: 70 6f + 27a: 63 6c 5f 6b bltu t5, s5, 1720 + 27e: 65 72 + 280: 6e 65 + 282: 6c 5f + 284: 73 61 78 70 csrrsi sp, 1799, 16 + 288: 79 5f + 28a: 77 6f 72 6b + 28e: 67 72 6f 75 + 292: 70 00 + 294: 76 78 + 296: 5f 73 70 61 + 29a: 77 6e 5f 6b + 29e: 65 72 + 2a0: 6e 65 + 2a2: 6c 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/sfilter/kernel.pocl b/tests/opencl/sfilter/kernel.pocl index d25af866..4613e21a 100644 Binary files a/tests/opencl/sfilter/kernel.pocl and b/tests/opencl/sfilter/kernel.pocl differ diff --git a/tests/opencl/sfilter/sfilter.dump b/tests/opencl/sfilter/sfilter.dump index fa8424d3..27ae6df0 100644 --- a/tests/opencl/sfilter/sfilter.dump +++ b/tests/opencl/sfilter/sfilter.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-9f-8e-ef-77-50.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-a0-2c-e3-dc-d4.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 05 7d addi a1, a1, 2000 +80000004: 93 85 c5 7d addi a1, a1, 2012 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 00 7c jal 1984 +80000010: ef 00 c0 7c jal 1996 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 25 00 00 auipc a0, 2 @@ -18,13 +18,13 @@ Disassembly of section .init: 80000028: 13 06 06 60 addi a2, a2, 1536 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 10 6a jal 3744 +80000034: ef 00 50 6a jal 3748 80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 45 da addi a0, a0, -604 -80000040: ef 00 50 55 jal 3412 -80000044: ef 00 50 5f jal 3572 +8000003c: 13 05 45 87 addi a0, a0, -1932 +80000040: ef 00 10 65 jal 3664 +80000044: ef 00 c0 7c jal 1996 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 d0 55 j 3420 +8000004c: 6f 00 90 65 j 3672 Disassembly of section .text: @@ -32,8 +32,8 @@ Disassembly of section .text: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 c5 dd addi a0, a0, -548 -80000060: 6f 00 50 53 j 3380 +8000005c: 13 05 c5 8a addi a0, a0, -1876 +80000060: 6f 00 10 63 j 3632 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 10 0d jal 2256 +80000084: ef 00 d0 1c jal 2508 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -516,655 +516,658 @@ Disassembly of section .text: 800007c0: 67 80 00 00 ret 800007c4 _exit: -800007c4: ef 00 c0 3b jal 956 -800007c8: 13 05 00 00 mv a0, zero -800007cc: 6b 00 05 00 +800007c4: 63 06 05 00 beqz a0, 12 +800007c8: 93 01 05 00 mv gp, a0 +800007cc: 73 00 00 00 ecall -800007d0 vx_set_sp: -800007d0: 73 25 00 fc csrr a0, 4032 -800007d4: 6b 00 05 00 -800007d8: 97 21 00 00 auipc gp, 2 -800007dc: 93 81 01 1a addi gp, gp, 416 -800007e0: 17 01 00 7f auipc sp, 520192 -800007e4: 13 01 01 82 addi sp, sp, -2016 -800007e8: 93 05 00 40 addi a1, zero, 1024 -800007ec: 73 26 10 cc csrr a2, 3265 -800007f0: b3 85 c5 02 mul a1, a1, a2 -800007f4: 33 01 b1 40 sub sp, sp, a1 -800007f8: f3 26 30 cc csrr a3, 3267 -800007fc: 63 86 06 00 beqz a3, 12 -80000800: 13 05 00 00 mv a0, zero -80000804: 6b 00 05 00 +800007d0 label_exit_next: +800007d0: ef 00 c0 4a jal 1196 +800007d4: 13 05 00 00 mv a0, zero +800007d8: 6b 00 05 00 -80000808 RETURN: -80000808: 67 80 00 00 ret +800007dc vx_set_sp: +800007dc: 13 05 f0 ff addi a0, zero, -1 +800007e0: 6b 00 05 00 +800007e4: 97 21 00 00 auipc gp, 2 +800007e8: 93 81 41 19 addi gp, gp, 404 +800007ec: 37 01 00 ff lui sp, 1044480 +800007f0: 73 26 10 cc csrr a2, 3265 +800007f4: 93 15 a6 00 slli a1, a2, 10 +800007f8: 33 01 b1 40 sub sp, sp, a1 +800007fc: f3 26 30 cc csrr a3, 3267 +80000800: 63 86 06 00 beqz a3, 12 +80000804: 13 05 00 00 mv a0, zero +80000808: 6b 00 05 00 -8000080c spawn_kernel_callback: -8000080c: 13 01 01 fe addi sp, sp, -32 -80000810: 23 2e 11 00 sw ra, 28(sp) -80000814: 23 2c 81 00 sw s0, 24(sp) -80000818: 23 2a 91 00 sw s1, 20(sp) -8000081c: 23 28 21 01 sw s2, 16(sp) -80000820: 23 26 31 01 sw s3, 12(sp) -80000824: 23 24 41 01 sw s4, 8(sp) -80000828: 23 22 51 01 sw s5, 4(sp) -8000082c: f3 27 00 fc csrr a5, 4032 -80000830: 6b 80 07 00 -80000834: f3 26 50 cc csrr a3, 3269 -80000838: 73 29 30 cc csrr s2, 3267 -8000083c: 73 27 00 cc csrr a4, 3264 -80000840: 73 26 00 fc csrr a2, 4032 -80000844: b7 27 00 80 lui a5, 524290 -80000848: 93 96 26 00 slli a3, a3, 2 -8000084c: 93 87 47 5a addi a5, a5, 1444 -80000850: b3 87 d7 00 add a5, a5, a3 -80000854: 03 a4 07 00 lw s0, 0(a5) -80000858: 83 24 44 01 lw s1, 20(s0) -8000085c: 83 26 04 01 lw a3, 16(s0) -80000860: b3 2a 99 00 slt s5, s2, s1 -80000864: 93 87 04 00 mv a5, s1 -80000868: b3 8a da 00 add s5, s5, a3 -8000086c: b3 84 26 03 mul s1, a3, s2 -80000870: 63 54 f9 00 bge s2, a5, 8 -80000874: 93 07 09 00 mv a5, s2 -80000878: b3 84 f4 00 add s1, s1, a5 -8000087c: 83 25 04 00 lw a1, 0(s0) -80000880: 83 26 c4 00 lw a3, 12(s0) -80000884: 83 a9 05 00 lw s3, 0(a1) -80000888: 03 aa 45 00 lw s4, 4(a1) -8000088c: b3 84 c4 02 mul s1, s1, a2 -80000890: b3 87 ea 02 mul a5, s5, a4 -80000894: b3 84 d4 00 add s1, s1, a3 -80000898: b3 84 f4 00 add s1, s1, a5 -8000089c: b3 8a 9a 00 add s5, s5, s1 -800008a0: 33 8a 49 03 mul s4, s3, s4 -800008a4: 63 c0 54 07 blt s1, s5, 96 -800008a8: 6f 00 00 08 j 128 -800008ac: 03 47 a4 01 lbu a4, 26(s0) -800008b0: 83 46 94 01 lbu a3, 25(s0) -800008b4: 33 d7 e4 40 sra a4, s1, a4 -800008b8: b3 07 47 03 mul a5, a4, s4 -800008bc: b3 87 f4 40 sub a5, s1, a5 -800008c0: 63 80 06 06 beqz a3, 96 -800008c4: 83 46 b4 01 lbu a3, 27(s0) -800008c8: b3 d6 d7 40 sra a3, a5, a3 -800008cc: b3 88 36 03 mul a7, a3, s3 -800008d0: 03 ae 45 01 lw t3, 20(a1) -800008d4: 03 a3 05 01 lw t1, 16(a1) -800008d8: 03 a6 c5 00 lw a2, 12(a1) -800008dc: 03 28 44 00 lw a6, 4(s0) -800008e0: 03 25 84 00 lw a0, 8(s0) -800008e4: 93 84 14 00 addi s1, s1, 1 -800008e8: 33 07 c7 01 add a4, a4, t3 -800008ec: b3 86 66 00 add a3, a3, t1 -800008f0: b3 87 17 41 sub a5, a5, a7 -800008f4: 33 86 c7 00 add a2, a5, a2 -800008f8: e7 00 08 00 jalr a6 -800008fc: 63 86 9a 02 beq s5, s1, 44 -80000900: 83 25 04 00 lw a1, 0(s0) -80000904: 83 47 84 01 lbu a5, 24(s0) -80000908: e3 92 07 fa bnez a5, -92 -8000090c: 33 c7 44 03 div a4, s1, s4 -80000910: 83 46 94 01 lbu a3, 25(s0) -80000914: b3 07 47 03 mul a5, a4, s4 -80000918: b3 87 f4 40 sub a5, s1, a5 -8000091c: e3 94 06 fa bnez a3, -88 -80000920: b3 c6 37 03 div a3, a5, s3 -80000924: 6f f0 9f fa j -88 -80000928: 13 39 19 00 seqz s2, s2 -8000092c: 6b 00 09 00 -80000930: 83 20 c1 01 lw ra, 28(sp) -80000934: 03 24 81 01 lw s0, 24(sp) -80000938: 83 24 41 01 lw s1, 20(sp) -8000093c: 03 29 01 01 lw s2, 16(sp) -80000940: 83 29 c1 00 lw s3, 12(sp) -80000944: 03 2a 81 00 lw s4, 8(sp) -80000948: 83 2a 41 00 lw s5, 4(sp) -8000094c: 13 01 01 02 addi sp, sp, 32 -80000950: 67 80 00 00 ret +8000080c RETURN: +8000080c: 67 80 00 00 ret -80000954 vx_spawn_kernel: -80000954: 13 01 01 fc addi sp, sp, -64 -80000958: 23 2e 11 02 sw ra, 60(sp) -8000095c: 23 2c 81 02 sw s0, 56(sp) -80000960: 23 2a 91 02 sw s1, 52(sp) -80000964: 23 28 21 03 sw s2, 48(sp) -80000968: 23 26 31 03 sw s3, 44(sp) -8000096c: f3 28 20 fc csrr a7, 4034 -80000970: 73 23 10 fc csrr t1, 4033 -80000974: 73 24 00 fc csrr s0, 4032 -80000978: f3 27 50 cc csrr a5, 3269 -8000097c: 13 07 f0 01 addi a4, zero, 31 -80000980: 63 46 f7 0e blt a4, a5, 236 -80000984: 03 2e 05 00 lw t3, 0(a0) -80000988: 83 26 45 00 lw a3, 4(a0) -8000098c: 03 28 85 00 lw a6, 8(a0) -80000990: b3 0e 83 02 mul t4, t1, s0 -80000994: 13 07 10 00 addi a4, zero, 1 -80000998: b3 06 de 02 mul a3, t3, a3 -8000099c: 33 88 06 03 mul a6, a3, a6 -800009a0: 63 d4 0e 01 bge t4, a6, 8 -800009a4: 33 47 d8 03 div a4, a6, t4 -800009a8: 63 c0 e8 0e blt a7, a4, 224 -800009ac: 63 d0 e7 0c bge a5, a4, 192 -800009b0: 93 88 f8 ff addi a7, a7, -1 -800009b4: b3 4e e8 02 div t4, a6, a4 -800009b8: 93 84 0e 00 mv s1, t4 -800009bc: 63 96 f8 00 bne a7, a5, 12 -800009c0: 33 67 e8 02 rem a4, a6, a4 -800009c4: b3 04 d7 01 add s1, a4, t4 -800009c8: 33 c9 84 02 div s2, s1, s0 -800009cc: b3 e4 84 02 rem s1, s1, s0 -800009d0: 63 42 69 0c blt s2, t1, 196 -800009d4: 93 02 10 00 addi t0, zero, 1 -800009d8: 33 48 69 02 div a6, s2, t1 -800009dc: 63 06 08 00 beqz a6, 12 -800009e0: 93 02 08 00 mv t0, a6 -800009e4: 33 68 69 02 rem a6, s2, t1 -800009e8: d3 f7 06 d0 fcvt.s.w fa5, a3 -800009ec: 93 8f f6 ff addi t6, a3, -1 -800009f0: 13 0f fe ff addi t5, t3, -1 -800009f4: b7 29 00 80 lui s3, 524290 -800009f8: b3 f6 df 00 and a3, t6, a3 -800009fc: 93 89 49 5a addi s3, s3, 1444 -80000a00: 93 b6 16 00 seqz a3, a3 -80000a04: 23 22 a1 00 sw a0, 4(sp) -80000a08: 23 24 b1 00 sw a1, 8(sp) -80000a0c: 23 26 c1 00 sw a2, 12(sp) -80000a10: 23 2a 51 00 sw t0, 20(sp) -80000a14: 23 2c 01 01 sw a6, 24(sp) -80000a18: 23 0e d1 00 sb a3, 28(sp) -80000a1c: 33 87 fe 02 mul a4, t4, a5 -80000a20: d3 8e 07 e0 fmv.x.w t4, fa5 -80000a24: d3 77 0e d0 fcvt.s.w fa5, t3 -80000a28: 93 97 27 00 slli a5, a5, 2 -80000a2c: 33 7e cf 01 and t3, t5, t3 -80000a30: d3 88 07 e0 fmv.x.w a7, fa5 -80000a34: 93 de 7e 41 srai t4, t4, 23 -80000a38: 13 3e 1e 00 seqz t3, t3 -80000a3c: 93 d8 78 41 srai a7, a7, 23 -80000a40: 93 8e 1e f8 addi t4, t4, -127 -80000a44: 93 88 18 f8 addi a7, a7, -127 -80000a48: b3 87 f9 00 add a5, s3, a5 -80000a4c: 23 28 e1 00 sw a4, 16(sp) -80000a50: 13 07 41 00 addi a4, sp, 4 -80000a54: a3 0e c1 01 sb t3, 29(sp) -80000a58: 23 0f d1 01 sb t4, 30(sp) -80000a5c: a3 0f 11 01 sb a7, 31(sp) -80000a60: 23 a0 e7 00 sw a4, 0(a5) -80000a64: 63 4e 20 03 bgtz s2, 60 -80000a68: 63 9c 04 04 bnez s1, 88 -80000a6c: 83 20 c1 03 lw ra, 60(sp) -80000a70: 03 24 81 03 lw s0, 56(sp) -80000a74: 83 24 41 03 lw s1, 52(sp) -80000a78: 03 29 01 03 lw s2, 48(sp) -80000a7c: 83 29 c1 02 lw s3, 44(sp) -80000a80: 13 01 01 04 addi sp, sp, 64 -80000a84: 67 80 00 00 ret -80000a88: 13 87 08 00 mv a4, a7 -80000a8c: e3 c2 e7 f2 blt a5, a4, -220 -80000a90: 6f f0 df fd j -36 -80000a94: 13 08 00 00 mv a6, zero -80000a98: 93 02 10 00 addi t0, zero, 1 -80000a9c: 6f f0 df f4 j -180 -80000aa0: 13 07 09 00 mv a4, s2 -80000aa4: 63 54 23 01 bge t1, s2, 8 -80000aa8: 13 07 03 00 mv a4, t1 -80000aac: b7 17 00 80 lui a5, 524289 -80000ab0: 93 87 c7 80 addi a5, a5, -2036 -80000ab4: 6b 10 f7 00 -80000ab8: ef f0 5f d5 jal -684 -80000abc: e3 88 04 fa beqz s1, -80 -80000ac0: 33 04 89 02 mul s0, s2, s0 -80000ac4: 23 28 81 00 sw s0, 16(sp) -80000ac8: 6b 80 04 00 -80000acc: 73 27 50 cc csrr a4, 3269 -80000ad0: f3 27 20 cc csrr a5, 3266 -80000ad4: 13 17 27 00 slli a4, a4, 2 -80000ad8: b3 89 e9 00 add s3, s3, a4 -80000adc: 03 a5 09 00 lw a0, 0(s3) -80000ae0: 83 25 05 00 lw a1, 0(a0) -80000ae4: 83 26 c5 00 lw a3, 12(a0) -80000ae8: 03 47 85 01 lbu a4, 24(a0) -80000aec: 03 a8 05 00 lw a6, 0(a1) -80000af0: 03 a6 45 00 lw a2, 4(a1) -80000af4: b3 87 d7 00 add a5, a5, a3 -80000af8: 33 06 c8 02 mul a2, a6, a2 -80000afc: 63 0e 07 06 beqz a4, 124 -80000b00: 03 47 a5 01 lbu a4, 26(a0) -80000b04: 33 d7 e7 40 sra a4, a5, a4 -80000b08: 83 46 95 01 lbu a3, 25(a0) -80000b0c: 33 06 e6 02 mul a2, a2, a4 -80000b10: b3 87 c7 40 sub a5, a5, a2 -80000b14: 63 8e 06 04 beqz a3, 92 -80000b18: 83 48 b5 01 lbu a7, 27(a0) -80000b1c: b3 d8 17 41 sra a7, a5, a7 -80000b20: 33 08 18 03 mul a6, a6, a7 -80000b24: 03 ae 45 01 lw t3, 20(a1) -80000b28: 83 a6 05 01 lw a3, 16(a1) -80000b2c: 03 a6 c5 00 lw a2, 12(a1) -80000b30: 03 23 45 00 lw t1, 4(a0) -80000b34: 03 25 85 00 lw a0, 8(a0) -80000b38: 33 07 c7 01 add a4, a4, t3 -80000b3c: b3 86 d8 00 add a3, a7, a3 -80000b40: b3 87 07 41 sub a5, a5, a6 -80000b44: 33 86 c7 00 add a2, a5, a2 -80000b48: e7 00 03 00 jalr t1 -80000b4c: 93 07 10 00 addi a5, zero, 1 -80000b50: 6b 80 07 00 -80000b54: 83 20 c1 03 lw ra, 60(sp) -80000b58: 03 24 81 03 lw s0, 56(sp) -80000b5c: 83 24 41 03 lw s1, 52(sp) -80000b60: 03 29 01 03 lw s2, 48(sp) -80000b64: 83 29 c1 02 lw s3, 44(sp) -80000b68: 13 01 01 04 addi sp, sp, 64 -80000b6c: 67 80 00 00 ret -80000b70: b3 c8 07 03 div a7, a5, a6 -80000b74: 6f f0 df fa j -84 -80000b78: 33 c7 c7 02 div a4, a5, a2 -80000b7c: 6f f0 df f8 j -116 +80000810 __libc_init_array: +80000810: 13 01 01 ff addi sp, sp, -16 +80000814: 23 24 81 00 sw s0, 8(sp) +80000818: 23 20 21 01 sw s2, 0(sp) +8000081c: 37 24 00 80 lui s0, 524290 +80000820: 37 29 00 80 lui s2, 524290 +80000824: 93 07 44 17 addi a5, s0, 372 +80000828: 13 09 49 17 addi s2, s2, 372 +8000082c: 33 09 f9 40 sub s2, s2, a5 +80000830: 23 26 11 00 sw ra, 12(sp) +80000834: 23 22 91 00 sw s1, 4(sp) +80000838: 13 59 29 40 srai s2, s2, 2 +8000083c: 63 00 09 02 beqz s2, 32 +80000840: 13 04 44 17 addi s0, s0, 372 +80000844: 93 04 00 00 mv s1, zero +80000848: 83 27 04 00 lw a5, 0(s0) +8000084c: 93 84 14 00 addi s1, s1, 1 +80000850: 13 04 44 00 addi s0, s0, 4 +80000854: e7 80 07 00 jalr a5 +80000858: e3 18 99 fe bne s2, s1, -16 +8000085c: 37 24 00 80 lui s0, 524290 +80000860: 37 29 00 80 lui s2, 524290 +80000864: 93 07 44 17 addi a5, s0, 372 +80000868: 13 09 89 17 addi s2, s2, 376 +8000086c: 33 09 f9 40 sub s2, s2, a5 +80000870: 13 59 29 40 srai s2, s2, 2 +80000874: 63 00 09 02 beqz s2, 32 +80000878: 13 04 44 17 addi s0, s0, 372 +8000087c: 93 04 00 00 mv s1, zero +80000880: 83 27 04 00 lw a5, 0(s0) +80000884: 93 84 14 00 addi s1, s1, 1 +80000888: 13 04 44 00 addi s0, s0, 4 +8000088c: e7 80 07 00 jalr a5 +80000890: e3 18 99 fe bne s2, s1, -16 +80000894: 83 20 c1 00 lw ra, 12(sp) +80000898: 03 24 81 00 lw s0, 8(sp) +8000089c: 83 24 41 00 lw s1, 4(sp) +800008a0: 03 29 01 00 lw s2, 0(sp) +800008a4: 13 01 01 01 addi sp, sp, 16 +800008a8: 67 80 00 00 ret -80000b80 vx_perf_dump: -80000b80: f3 27 50 cc csrr a5, 3269 -80000b84: 37 07 ff 00 lui a4, 4080 -80000b88: b3 87 e7 00 add a5, a5, a4 -80000b8c: 93 97 87 00 slli a5, a5, 8 -80000b90: 73 27 00 b0 csrr a4, mcycle -80000b94: 23 a0 e7 00 sw a4, 0(a5) -80000b98: 73 27 10 b0 csrr a4, 2817 -80000b9c: 23 a2 e7 00 sw a4, 4(a5) -80000ba0: 73 27 20 b0 csrr a4, minstret -80000ba4: 23 a4 e7 00 sw a4, 8(a5) -80000ba8: 73 27 30 b0 csrr a4, mhpmcounter3 -80000bac: 23 a6 e7 00 sw a4, 12(a5) -80000bb0: 73 27 40 b0 csrr a4, mhpmcounter4 -80000bb4: 23 a8 e7 00 sw a4, 16(a5) -80000bb8: 73 27 50 b0 csrr a4, mhpmcounter5 -80000bbc: 23 aa e7 00 sw a4, 20(a5) -80000bc0: 73 27 60 b0 csrr a4, mhpmcounter6 -80000bc4: 23 ac e7 00 sw a4, 24(a5) -80000bc8: 73 27 70 b0 csrr a4, mhpmcounter7 -80000bcc: 23 ae e7 00 sw a4, 28(a5) -80000bd0: 73 27 80 b0 csrr a4, mhpmcounter8 -80000bd4: 23 a0 e7 02 sw a4, 32(a5) -80000bd8: 73 27 90 b0 csrr a4, mhpmcounter9 -80000bdc: 23 a2 e7 02 sw a4, 36(a5) -80000be0: 73 27 a0 b0 csrr a4, mhpmcounter10 -80000be4: 23 a4 e7 02 sw a4, 40(a5) -80000be8: 73 27 b0 b0 csrr a4, mhpmcounter11 -80000bec: 23 a6 e7 02 sw a4, 44(a5) -80000bf0: 73 27 c0 b0 csrr a4, mhpmcounter12 -80000bf4: 23 a8 e7 02 sw a4, 48(a5) -80000bf8: 73 27 d0 b0 csrr a4, mhpmcounter13 -80000bfc: 23 aa e7 02 sw a4, 52(a5) -80000c00: 73 27 e0 b0 csrr a4, mhpmcounter14 -80000c04: 23 ac e7 02 sw a4, 56(a5) -80000c08: 73 27 f0 b0 csrr a4, mhpmcounter15 -80000c0c: 23 ae e7 02 sw a4, 60(a5) -80000c10: 73 27 00 b1 csrr a4, mhpmcounter16 -80000c14: 23 a0 e7 04 sw a4, 64(a5) -80000c18: 73 27 10 b1 csrr a4, mhpmcounter17 -80000c1c: 23 a2 e7 04 sw a4, 68(a5) -80000c20: 73 27 20 b1 csrr a4, mhpmcounter18 -80000c24: 23 a4 e7 04 sw a4, 72(a5) -80000c28: 73 27 30 b1 csrr a4, mhpmcounter19 -80000c2c: 23 a6 e7 04 sw a4, 76(a5) -80000c30: 73 27 40 b1 csrr a4, mhpmcounter20 -80000c34: 23 a8 e7 04 sw a4, 80(a5) -80000c38: 73 27 50 b1 csrr a4, mhpmcounter21 -80000c3c: 23 aa e7 04 sw a4, 84(a5) -80000c40: 73 27 60 b1 csrr a4, mhpmcounter22 -80000c44: 23 ac e7 04 sw a4, 88(a5) -80000c48: 73 27 70 b1 csrr a4, mhpmcounter23 -80000c4c: 23 ae e7 04 sw a4, 92(a5) -80000c50: 73 27 80 b1 csrr a4, mhpmcounter24 -80000c54: 23 a0 e7 06 sw a4, 96(a5) -80000c58: 73 27 90 b1 csrr a4, mhpmcounter25 -80000c5c: 23 a2 e7 06 sw a4, 100(a5) -80000c60: 73 27 a0 b1 csrr a4, mhpmcounter26 -80000c64: 23 a4 e7 06 sw a4, 104(a5) -80000c68: 73 27 b0 b1 csrr a4, mhpmcounter27 -80000c6c: 23 a6 e7 06 sw a4, 108(a5) -80000c70: 73 27 c0 b1 csrr a4, mhpmcounter28 -80000c74: 23 a8 e7 06 sw a4, 112(a5) -80000c78: 73 27 d0 b1 csrr a4, mhpmcounter29 -80000c7c: 23 aa e7 06 sw a4, 116(a5) -80000c80: 73 27 e0 b1 csrr a4, mhpmcounter30 -80000c84: 23 ac e7 06 sw a4, 120(a5) -80000c88: 73 27 f0 b1 csrr a4, mhpmcounter31 -80000c8c: 23 ae e7 06 sw a4, 124(a5) -80000c90: 73 27 00 b8 csrr a4, mcycleh -80000c94: 23 a0 e7 08 sw a4, 128(a5) -80000c98: 73 27 10 b8 csrr a4, 2945 -80000c9c: 23 a2 e7 08 sw a4, 132(a5) -80000ca0: 73 27 20 b8 csrr a4, minstreth -80000ca4: 23 a4 e7 08 sw a4, 136(a5) -80000ca8: 73 27 30 b8 csrr a4, mhpmcounter3h -80000cac: 23 a6 e7 08 sw a4, 140(a5) -80000cb0: 73 27 40 b8 csrr a4, mhpmcounter4h -80000cb4: 23 a8 e7 08 sw a4, 144(a5) -80000cb8: 73 27 50 b8 csrr a4, mhpmcounter5h -80000cbc: 23 aa e7 08 sw a4, 148(a5) -80000cc0: 73 27 60 b8 csrr a4, mhpmcounter6h -80000cc4: 23 ac e7 08 sw a4, 152(a5) -80000cc8: 73 27 70 b8 csrr a4, mhpmcounter7h -80000ccc: 23 ae e7 08 sw a4, 156(a5) -80000cd0: 73 27 80 b8 csrr a4, mhpmcounter8h -80000cd4: 23 a0 e7 0a sw a4, 160(a5) -80000cd8: 73 27 90 b8 csrr a4, mhpmcounter9h -80000cdc: 23 a2 e7 0a sw a4, 164(a5) -80000ce0: 73 27 a0 b8 csrr a4, mhpmcounter10h -80000ce4: 23 a4 e7 0a sw a4, 168(a5) -80000ce8: 73 27 b0 b8 csrr a4, mhpmcounter11h -80000cec: 23 a6 e7 0a sw a4, 172(a5) -80000cf0: 73 27 c0 b8 csrr a4, mhpmcounter12h -80000cf4: 23 a8 e7 0a sw a4, 176(a5) -80000cf8: 73 27 d0 b8 csrr a4, mhpmcounter13h -80000cfc: 23 aa e7 0a sw a4, 180(a5) -80000d00: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000d04: 23 ac e7 0a sw a4, 184(a5) -80000d08: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000d0c: 23 ae e7 0a sw a4, 188(a5) -80000d10: 73 27 00 b9 csrr a4, mhpmcounter16h -80000d14: 23 a0 e7 0c sw a4, 192(a5) -80000d18: 73 27 10 b9 csrr a4, mhpmcounter17h -80000d1c: 23 a2 e7 0c sw a4, 196(a5) -80000d20: 73 27 20 b9 csrr a4, mhpmcounter18h -80000d24: 23 a4 e7 0c sw a4, 200(a5) -80000d28: 73 27 30 b9 csrr a4, mhpmcounter19h -80000d2c: 23 a6 e7 0c sw a4, 204(a5) -80000d30: 73 27 40 b9 csrr a4, mhpmcounter20h -80000d34: 23 a8 e7 0c sw a4, 208(a5) -80000d38: 73 27 50 b9 csrr a4, mhpmcounter21h -80000d3c: 23 aa e7 0c sw a4, 212(a5) -80000d40: 73 27 60 b9 csrr a4, mhpmcounter22h -80000d44: 23 ac e7 0c sw a4, 216(a5) -80000d48: 73 27 70 b9 csrr a4, mhpmcounter23h -80000d4c: 23 ae e7 0c sw a4, 220(a5) -80000d50: 73 27 80 b9 csrr a4, mhpmcounter24h -80000d54: 23 a0 e7 0e sw a4, 224(a5) -80000d58: 73 27 90 b9 csrr a4, mhpmcounter25h -80000d5c: 23 a2 e7 0e sw a4, 228(a5) -80000d60: 73 27 a0 b9 csrr a4, mhpmcounter26h -80000d64: 23 a4 e7 0e sw a4, 232(a5) -80000d68: 73 27 b0 b9 csrr a4, mhpmcounter27h -80000d6c: 23 a6 e7 0e sw a4, 236(a5) -80000d70: 73 27 c0 b9 csrr a4, mhpmcounter28h -80000d74: 23 a8 e7 0e sw a4, 240(a5) -80000d78: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000d7c: 23 aa e7 0e sw a4, 244(a5) -80000d80: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000d84: 23 ac e7 0e sw a4, 248(a5) -80000d88: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000d8c: 23 ae e7 0e sw a4, 252(a5) -80000d90: 67 80 00 00 ret +800008ac __libc_fini_array: +800008ac: 13 01 01 ff addi sp, sp, -16 +800008b0: 23 24 81 00 sw s0, 8(sp) +800008b4: b7 27 00 80 lui a5, 524290 +800008b8: 37 24 00 80 lui s0, 524290 +800008bc: 13 04 84 17 addi s0, s0, 376 +800008c0: 93 87 87 17 addi a5, a5, 376 +800008c4: b3 87 87 40 sub a5, a5, s0 +800008c8: 23 22 91 00 sw s1, 4(sp) +800008cc: 23 26 11 00 sw ra, 12(sp) +800008d0: 93 d4 27 40 srai s1, a5, 2 +800008d4: 63 80 04 02 beqz s1, 32 +800008d8: 93 87 c7 ff addi a5, a5, -4 +800008dc: 33 84 87 00 add s0, a5, s0 +800008e0: 83 27 04 00 lw a5, 0(s0) +800008e4: 93 84 f4 ff addi s1, s1, -1 +800008e8: 13 04 c4 ff addi s0, s0, -4 +800008ec: e7 80 07 00 jalr a5 +800008f0: e3 98 04 fe bnez s1, -16 +800008f4: 83 20 c1 00 lw ra, 12(sp) +800008f8: 03 24 81 00 lw s0, 8(sp) +800008fc: 83 24 41 00 lw s1, 4(sp) +80000900: 13 01 01 01 addi sp, sp, 16 +80000904: 67 80 00 00 ret -80000d94 atexit: -80000d94: 93 05 05 00 mv a1, a0 -80000d98: 93 06 00 00 mv a3, zero -80000d9c: 13 06 00 00 mv a2, zero -80000da0: 13 05 00 00 mv a0, zero -80000da4: 6f 00 c0 20 j 524 +80000908 spawn_kernel_callback: +80000908: 13 01 01 fe addi sp, sp, -32 +8000090c: 23 2e 11 00 sw ra, 28(sp) +80000910: 23 2c 81 00 sw s0, 24(sp) +80000914: 23 2a 91 00 sw s1, 20(sp) +80000918: 23 28 21 01 sw s2, 16(sp) +8000091c: 23 26 31 01 sw s3, 12(sp) +80000920: 23 24 41 01 sw s4, 8(sp) +80000924: 23 22 51 01 sw s5, 4(sp) +80000928: 93 07 f0 ff addi a5, zero, -1 +8000092c: 6b 80 07 00 +80000930: f3 26 50 cc csrr a3, 3269 +80000934: 73 29 30 cc csrr s2, 3267 +80000938: 73 27 00 cc csrr a4, 3264 +8000093c: 73 26 00 fc csrr a2, 4032 +80000940: b7 27 00 80 lui a5, 524290 +80000944: 93 96 26 00 slli a3, a3, 2 +80000948: 93 87 47 5a addi a5, a5, 1444 +8000094c: b3 87 d7 00 add a5, a5, a3 +80000950: 03 a4 07 00 lw s0, 0(a5) +80000954: 83 24 44 01 lw s1, 20(s0) +80000958: 83 26 04 01 lw a3, 16(s0) +8000095c: b3 2a 99 00 slt s5, s2, s1 +80000960: 93 87 04 00 mv a5, s1 +80000964: b3 8a da 00 add s5, s5, a3 +80000968: b3 84 26 03 mul s1, a3, s2 +8000096c: 63 54 f9 00 bge s2, a5, 8 +80000970: 93 07 09 00 mv a5, s2 +80000974: b3 84 f4 00 add s1, s1, a5 +80000978: 83 25 04 00 lw a1, 0(s0) +8000097c: 83 26 c4 00 lw a3, 12(s0) +80000980: 83 a9 05 00 lw s3, 0(a1) +80000984: 03 aa 45 00 lw s4, 4(a1) +80000988: b3 84 c4 02 mul s1, s1, a2 +8000098c: b3 87 ea 02 mul a5, s5, a4 +80000990: b3 84 d4 00 add s1, s1, a3 +80000994: b3 84 f4 00 add s1, s1, a5 +80000998: b3 8a 9a 00 add s5, s5, s1 +8000099c: 33 8a 49 03 mul s4, s3, s4 +800009a0: 63 c0 54 07 blt s1, s5, 96 +800009a4: 6f 00 00 08 j 128 +800009a8: 03 47 a4 01 lbu a4, 26(s0) +800009ac: 83 46 94 01 lbu a3, 25(s0) +800009b0: 33 d7 e4 40 sra a4, s1, a4 +800009b4: b3 07 47 03 mul a5, a4, s4 +800009b8: b3 87 f4 40 sub a5, s1, a5 +800009bc: 63 80 06 06 beqz a3, 96 +800009c0: 83 46 b4 01 lbu a3, 27(s0) +800009c4: b3 d6 d7 40 sra a3, a5, a3 +800009c8: b3 88 36 03 mul a7, a3, s3 +800009cc: 03 ae 45 01 lw t3, 20(a1) +800009d0: 03 a3 05 01 lw t1, 16(a1) +800009d4: 03 a6 c5 00 lw a2, 12(a1) +800009d8: 03 28 44 00 lw a6, 4(s0) +800009dc: 03 25 84 00 lw a0, 8(s0) +800009e0: 93 84 14 00 addi s1, s1, 1 +800009e4: 33 07 c7 01 add a4, a4, t3 +800009e8: b3 86 66 00 add a3, a3, t1 +800009ec: b3 87 17 41 sub a5, a5, a7 +800009f0: 33 86 c7 00 add a2, a5, a2 +800009f4: e7 00 08 00 jalr a6 +800009f8: 63 86 9a 02 beq s5, s1, 44 +800009fc: 83 25 04 00 lw a1, 0(s0) +80000a00: 83 47 84 01 lbu a5, 24(s0) +80000a04: e3 92 07 fa bnez a5, -92 +80000a08: 33 c7 44 03 div a4, s1, s4 +80000a0c: 83 46 94 01 lbu a3, 25(s0) +80000a10: b3 07 47 03 mul a5, a4, s4 +80000a14: b3 87 f4 40 sub a5, s1, a5 +80000a18: e3 94 06 fa bnez a3, -88 +80000a1c: b3 c6 37 03 div a3, a5, s3 +80000a20: 6f f0 9f fa j -88 +80000a24: 13 39 19 00 seqz s2, s2 +80000a28: 6b 00 09 00 +80000a2c: 83 20 c1 01 lw ra, 28(sp) +80000a30: 03 24 81 01 lw s0, 24(sp) +80000a34: 83 24 41 01 lw s1, 20(sp) +80000a38: 03 29 01 01 lw s2, 16(sp) +80000a3c: 83 29 c1 00 lw s3, 12(sp) +80000a40: 03 2a 81 00 lw s4, 8(sp) +80000a44: 83 2a 41 00 lw s5, 4(sp) +80000a48: 13 01 01 02 addi sp, sp, 32 +80000a4c: 67 80 00 00 ret -80000da8 exit: -80000da8: 13 01 01 ff addi sp, sp, -16 -80000dac: 93 05 00 00 mv a1, zero -80000db0: 23 24 81 00 sw s0, 8(sp) -80000db4: 23 26 11 00 sw ra, 12(sp) -80000db8: 13 04 05 00 mv s0, a0 -80000dbc: ef 00 00 29 jal 656 -80000dc0: b7 27 00 80 lui a5, 524290 -80000dc4: 03 a5 07 5a lw a0, 1440(a5) -80000dc8: 83 27 c5 03 lw a5, 60(a0) -80000dcc: 63 84 07 00 beqz a5, 8 -80000dd0: e7 80 07 00 jalr a5 -80000dd4: 13 05 04 00 mv a0, s0 -80000dd8: ef f0 df 9e jal -1556 +80000a50 vx_spawn_kernel: +80000a50: 13 01 01 fc addi sp, sp, -64 +80000a54: 23 2e 11 02 sw ra, 60(sp) +80000a58: 23 2c 81 02 sw s0, 56(sp) +80000a5c: 23 2a 91 02 sw s1, 52(sp) +80000a60: 23 28 21 03 sw s2, 48(sp) +80000a64: 23 26 31 03 sw s3, 44(sp) +80000a68: f3 28 20 fc csrr a7, 4034 +80000a6c: 73 23 10 fc csrr t1, 4033 +80000a70: 73 24 00 fc csrr s0, 4032 +80000a74: f3 27 50 cc csrr a5, 3269 +80000a78: 13 07 f0 01 addi a4, zero, 31 +80000a7c: 63 46 f7 0e blt a4, a5, 236 +80000a80: 03 2e 05 00 lw t3, 0(a0) +80000a84: 83 26 45 00 lw a3, 4(a0) +80000a88: 03 28 85 00 lw a6, 8(a0) +80000a8c: b3 0e 83 02 mul t4, t1, s0 +80000a90: 13 07 10 00 addi a4, zero, 1 +80000a94: b3 06 de 02 mul a3, t3, a3 +80000a98: 33 88 06 03 mul a6, a3, a6 +80000a9c: 63 d4 0e 01 bge t4, a6, 8 +80000aa0: 33 47 d8 03 div a4, a6, t4 +80000aa4: 63 c0 e8 0e blt a7, a4, 224 +80000aa8: 63 d0 e7 0c bge a5, a4, 192 +80000aac: 93 88 f8 ff addi a7, a7, -1 +80000ab0: b3 4e e8 02 div t4, a6, a4 +80000ab4: 93 84 0e 00 mv s1, t4 +80000ab8: 63 96 f8 00 bne a7, a5, 12 +80000abc: 33 67 e8 02 rem a4, a6, a4 +80000ac0: b3 04 d7 01 add s1, a4, t4 +80000ac4: 33 c9 84 02 div s2, s1, s0 +80000ac8: b3 e4 84 02 rem s1, s1, s0 +80000acc: 63 42 69 0c blt s2, t1, 196 +80000ad0: 93 02 10 00 addi t0, zero, 1 +80000ad4: 33 48 69 02 div a6, s2, t1 +80000ad8: 63 06 08 00 beqz a6, 12 +80000adc: 93 02 08 00 mv t0, a6 +80000ae0: 33 68 69 02 rem a6, s2, t1 +80000ae4: d3 f7 06 d0 fcvt.s.w fa5, a3 +80000ae8: 93 8f f6 ff addi t6, a3, -1 +80000aec: 13 0f fe ff addi t5, t3, -1 +80000af0: b7 29 00 80 lui s3, 524290 +80000af4: b3 f6 df 00 and a3, t6, a3 +80000af8: 93 89 49 5a addi s3, s3, 1444 +80000afc: 93 b6 16 00 seqz a3, a3 +80000b00: 23 22 a1 00 sw a0, 4(sp) +80000b04: 23 24 b1 00 sw a1, 8(sp) +80000b08: 23 26 c1 00 sw a2, 12(sp) +80000b0c: 23 2a 51 00 sw t0, 20(sp) +80000b10: 23 2c 01 01 sw a6, 24(sp) +80000b14: 23 0e d1 00 sb a3, 28(sp) +80000b18: 33 87 fe 02 mul a4, t4, a5 +80000b1c: d3 8e 07 e0 fmv.x.w t4, fa5 +80000b20: d3 77 0e d0 fcvt.s.w fa5, t3 +80000b24: 93 97 27 00 slli a5, a5, 2 +80000b28: 33 7e cf 01 and t3, t5, t3 +80000b2c: d3 88 07 e0 fmv.x.w a7, fa5 +80000b30: 93 de 7e 41 srai t4, t4, 23 +80000b34: 13 3e 1e 00 seqz t3, t3 +80000b38: 93 d8 78 41 srai a7, a7, 23 +80000b3c: 93 8e 1e f8 addi t4, t4, -127 +80000b40: 93 88 18 f8 addi a7, a7, -127 +80000b44: b3 87 f9 00 add a5, s3, a5 +80000b48: 23 28 e1 00 sw a4, 16(sp) +80000b4c: 13 07 41 00 addi a4, sp, 4 +80000b50: a3 0e c1 01 sb t3, 29(sp) +80000b54: 23 0f d1 01 sb t4, 30(sp) +80000b58: a3 0f 11 01 sb a7, 31(sp) +80000b5c: 23 a0 e7 00 sw a4, 0(a5) +80000b60: 63 4e 20 03 bgtz s2, 60 +80000b64: 63 9c 04 04 bnez s1, 88 +80000b68: 83 20 c1 03 lw ra, 60(sp) +80000b6c: 03 24 81 03 lw s0, 56(sp) +80000b70: 83 24 41 03 lw s1, 52(sp) +80000b74: 03 29 01 03 lw s2, 48(sp) +80000b78: 83 29 c1 02 lw s3, 44(sp) +80000b7c: 13 01 01 04 addi sp, sp, 64 +80000b80: 67 80 00 00 ret +80000b84: 13 87 08 00 mv a4, a7 +80000b88: e3 c2 e7 f2 blt a5, a4, -220 +80000b8c: 6f f0 df fd j -36 +80000b90: 13 08 00 00 mv a6, zero +80000b94: 93 02 10 00 addi t0, zero, 1 +80000b98: 6f f0 df f4 j -180 +80000b9c: 13 07 09 00 mv a4, s2 +80000ba0: 63 54 23 01 bge t1, s2, 8 +80000ba4: 13 07 03 00 mv a4, t1 +80000ba8: b7 17 00 80 lui a5, 524289 +80000bac: 93 87 87 90 addi a5, a5, -1784 +80000bb0: 6b 10 f7 00 +80000bb4: ef f0 5f d5 jal -684 +80000bb8: e3 88 04 fa beqz s1, -80 +80000bbc: 33 04 89 02 mul s0, s2, s0 +80000bc0: 23 28 81 00 sw s0, 16(sp) +80000bc4: 6b 80 04 00 +80000bc8: 73 27 50 cc csrr a4, 3269 +80000bcc: f3 27 20 cc csrr a5, 3266 +80000bd0: 13 17 27 00 slli a4, a4, 2 +80000bd4: b3 89 e9 00 add s3, s3, a4 +80000bd8: 03 a5 09 00 lw a0, 0(s3) +80000bdc: 83 25 05 00 lw a1, 0(a0) +80000be0: 83 26 c5 00 lw a3, 12(a0) +80000be4: 03 47 85 01 lbu a4, 24(a0) +80000be8: 03 a8 05 00 lw a6, 0(a1) +80000bec: 03 a6 45 00 lw a2, 4(a1) +80000bf0: b3 87 d7 00 add a5, a5, a3 +80000bf4: 33 06 c8 02 mul a2, a6, a2 +80000bf8: 63 0e 07 06 beqz a4, 124 +80000bfc: 03 47 a5 01 lbu a4, 26(a0) +80000c00: 33 d7 e7 40 sra a4, a5, a4 +80000c04: 83 46 95 01 lbu a3, 25(a0) +80000c08: 33 06 e6 02 mul a2, a2, a4 +80000c0c: b3 87 c7 40 sub a5, a5, a2 +80000c10: 63 8e 06 04 beqz a3, 92 +80000c14: 83 48 b5 01 lbu a7, 27(a0) +80000c18: b3 d8 17 41 sra a7, a5, a7 +80000c1c: 33 08 18 03 mul a6, a6, a7 +80000c20: 03 ae 45 01 lw t3, 20(a1) +80000c24: 83 a6 05 01 lw a3, 16(a1) +80000c28: 03 a6 c5 00 lw a2, 12(a1) +80000c2c: 03 23 45 00 lw t1, 4(a0) +80000c30: 03 25 85 00 lw a0, 8(a0) +80000c34: 33 07 c7 01 add a4, a4, t3 +80000c38: b3 86 d8 00 add a3, a7, a3 +80000c3c: b3 87 07 41 sub a5, a5, a6 +80000c40: 33 86 c7 00 add a2, a5, a2 +80000c44: e7 00 03 00 jalr t1 +80000c48: 93 07 10 00 addi a5, zero, 1 +80000c4c: 6b 80 07 00 +80000c50: 83 20 c1 03 lw ra, 60(sp) +80000c54: 03 24 81 03 lw s0, 56(sp) +80000c58: 83 24 41 03 lw s1, 52(sp) +80000c5c: 03 29 01 03 lw s2, 48(sp) +80000c60: 83 29 c1 02 lw s3, 44(sp) +80000c64: 13 01 01 04 addi sp, sp, 64 +80000c68: 67 80 00 00 ret +80000c6c: b3 c8 07 03 div a7, a5, a6 +80000c70: 6f f0 df fa j -84 +80000c74: 33 c7 c7 02 div a4, a5, a2 +80000c78: 6f f0 df f8 j -116 -80000ddc __libc_fini_array: -80000ddc: 13 01 01 ff addi sp, sp, -16 -80000de0: 23 24 81 00 sw s0, 8(sp) -80000de4: b7 27 00 80 lui a5, 524290 -80000de8: 37 24 00 80 lui s0, 524290 -80000dec: 13 04 44 17 addi s0, s0, 372 -80000df0: 93 87 47 17 addi a5, a5, 372 -80000df4: b3 87 87 40 sub a5, a5, s0 -80000df8: 23 22 91 00 sw s1, 4(sp) -80000dfc: 23 26 11 00 sw ra, 12(sp) -80000e00: 93 d4 27 40 srai s1, a5, 2 -80000e04: 63 80 04 02 beqz s1, 32 -80000e08: 93 87 c7 ff addi a5, a5, -4 -80000e0c: 33 84 87 00 add s0, a5, s0 -80000e10: 83 27 04 00 lw a5, 0(s0) -80000e14: 93 84 f4 ff addi s1, s1, -1 -80000e18: 13 04 c4 ff addi s0, s0, -4 -80000e1c: e7 80 07 00 jalr a5 -80000e20: e3 98 04 fe bnez s1, -16 -80000e24: 83 20 c1 00 lw ra, 12(sp) -80000e28: 03 24 81 00 lw s0, 8(sp) -80000e2c: 83 24 41 00 lw s1, 4(sp) -80000e30: 13 01 01 01 addi sp, sp, 16 -80000e34: 67 80 00 00 ret +80000c7c vx_perf_dump: +80000c7c: f3 27 50 cc csrr a5, 3269 +80000c80: 37 07 ff 00 lui a4, 4080 +80000c84: b3 87 e7 00 add a5, a5, a4 +80000c88: 93 97 87 00 slli a5, a5, 8 +80000c8c: 73 27 00 b0 csrr a4, mcycle +80000c90: 23 a0 e7 00 sw a4, 0(a5) +80000c94: 73 27 10 b0 csrr a4, 2817 +80000c98: 23 a2 e7 00 sw a4, 4(a5) +80000c9c: 73 27 20 b0 csrr a4, minstret +80000ca0: 23 a4 e7 00 sw a4, 8(a5) +80000ca4: 73 27 30 b0 csrr a4, mhpmcounter3 +80000ca8: 23 a6 e7 00 sw a4, 12(a5) +80000cac: 73 27 40 b0 csrr a4, mhpmcounter4 +80000cb0: 23 a8 e7 00 sw a4, 16(a5) +80000cb4: 73 27 50 b0 csrr a4, mhpmcounter5 +80000cb8: 23 aa e7 00 sw a4, 20(a5) +80000cbc: 73 27 60 b0 csrr a4, mhpmcounter6 +80000cc0: 23 ac e7 00 sw a4, 24(a5) +80000cc4: 73 27 70 b0 csrr a4, mhpmcounter7 +80000cc8: 23 ae e7 00 sw a4, 28(a5) +80000ccc: 73 27 80 b0 csrr a4, mhpmcounter8 +80000cd0: 23 a0 e7 02 sw a4, 32(a5) +80000cd4: 73 27 90 b0 csrr a4, mhpmcounter9 +80000cd8: 23 a2 e7 02 sw a4, 36(a5) +80000cdc: 73 27 a0 b0 csrr a4, mhpmcounter10 +80000ce0: 23 a4 e7 02 sw a4, 40(a5) +80000ce4: 73 27 b0 b0 csrr a4, mhpmcounter11 +80000ce8: 23 a6 e7 02 sw a4, 44(a5) +80000cec: 73 27 c0 b0 csrr a4, mhpmcounter12 +80000cf0: 23 a8 e7 02 sw a4, 48(a5) +80000cf4: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000cf8: 23 aa e7 02 sw a4, 52(a5) +80000cfc: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000d00: 23 ac e7 02 sw a4, 56(a5) +80000d04: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000d08: 23 ae e7 02 sw a4, 60(a5) +80000d0c: 73 27 00 b1 csrr a4, mhpmcounter16 +80000d10: 23 a0 e7 04 sw a4, 64(a5) +80000d14: 73 27 10 b1 csrr a4, mhpmcounter17 +80000d18: 23 a2 e7 04 sw a4, 68(a5) +80000d1c: 73 27 20 b1 csrr a4, mhpmcounter18 +80000d20: 23 a4 e7 04 sw a4, 72(a5) +80000d24: 73 27 30 b1 csrr a4, mhpmcounter19 +80000d28: 23 a6 e7 04 sw a4, 76(a5) +80000d2c: 73 27 40 b1 csrr a4, mhpmcounter20 +80000d30: 23 a8 e7 04 sw a4, 80(a5) +80000d34: 73 27 50 b1 csrr a4, mhpmcounter21 +80000d38: 23 aa e7 04 sw a4, 84(a5) +80000d3c: 73 27 60 b1 csrr a4, mhpmcounter22 +80000d40: 23 ac e7 04 sw a4, 88(a5) +80000d44: 73 27 70 b1 csrr a4, mhpmcounter23 +80000d48: 23 ae e7 04 sw a4, 92(a5) +80000d4c: 73 27 80 b1 csrr a4, mhpmcounter24 +80000d50: 23 a0 e7 06 sw a4, 96(a5) +80000d54: 73 27 90 b1 csrr a4, mhpmcounter25 +80000d58: 23 a2 e7 06 sw a4, 100(a5) +80000d5c: 73 27 a0 b1 csrr a4, mhpmcounter26 +80000d60: 23 a4 e7 06 sw a4, 104(a5) +80000d64: 73 27 b0 b1 csrr a4, mhpmcounter27 +80000d68: 23 a6 e7 06 sw a4, 108(a5) +80000d6c: 73 27 c0 b1 csrr a4, mhpmcounter28 +80000d70: 23 a8 e7 06 sw a4, 112(a5) +80000d74: 73 27 d0 b1 csrr a4, mhpmcounter29 +80000d78: 23 aa e7 06 sw a4, 116(a5) +80000d7c: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000d80: 23 ac e7 06 sw a4, 120(a5) +80000d84: 73 27 f0 b1 csrr a4, mhpmcounter31 +80000d88: 23 ae e7 06 sw a4, 124(a5) +80000d8c: 73 27 00 b8 csrr a4, mcycleh +80000d90: 23 a0 e7 08 sw a4, 128(a5) +80000d94: 73 27 10 b8 csrr a4, 2945 +80000d98: 23 a2 e7 08 sw a4, 132(a5) +80000d9c: 73 27 20 b8 csrr a4, minstreth +80000da0: 23 a4 e7 08 sw a4, 136(a5) +80000da4: 73 27 30 b8 csrr a4, mhpmcounter3h +80000da8: 23 a6 e7 08 sw a4, 140(a5) +80000dac: 73 27 40 b8 csrr a4, mhpmcounter4h +80000db0: 23 a8 e7 08 sw a4, 144(a5) +80000db4: 73 27 50 b8 csrr a4, mhpmcounter5h +80000db8: 23 aa e7 08 sw a4, 148(a5) +80000dbc: 73 27 60 b8 csrr a4, mhpmcounter6h +80000dc0: 23 ac e7 08 sw a4, 152(a5) +80000dc4: 73 27 70 b8 csrr a4, mhpmcounter7h +80000dc8: 23 ae e7 08 sw a4, 156(a5) +80000dcc: 73 27 80 b8 csrr a4, mhpmcounter8h +80000dd0: 23 a0 e7 0a sw a4, 160(a5) +80000dd4: 73 27 90 b8 csrr a4, mhpmcounter9h +80000dd8: 23 a2 e7 0a sw a4, 164(a5) +80000ddc: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000de0: 23 a4 e7 0a sw a4, 168(a5) +80000de4: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000de8: 23 a6 e7 0a sw a4, 172(a5) +80000dec: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000df0: 23 a8 e7 0a sw a4, 176(a5) +80000df4: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000df8: 23 aa e7 0a sw a4, 180(a5) +80000dfc: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000e00: 23 ac e7 0a sw a4, 184(a5) +80000e04: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000e08: 23 ae e7 0a sw a4, 188(a5) +80000e0c: 73 27 00 b9 csrr a4, mhpmcounter16h +80000e10: 23 a0 e7 0c sw a4, 192(a5) +80000e14: 73 27 10 b9 csrr a4, mhpmcounter17h +80000e18: 23 a2 e7 0c sw a4, 196(a5) +80000e1c: 73 27 20 b9 csrr a4, mhpmcounter18h +80000e20: 23 a4 e7 0c sw a4, 200(a5) +80000e24: 73 27 30 b9 csrr a4, mhpmcounter19h +80000e28: 23 a6 e7 0c sw a4, 204(a5) +80000e2c: 73 27 40 b9 csrr a4, mhpmcounter20h +80000e30: 23 a8 e7 0c sw a4, 208(a5) +80000e34: 73 27 50 b9 csrr a4, mhpmcounter21h +80000e38: 23 aa e7 0c sw a4, 212(a5) +80000e3c: 73 27 60 b9 csrr a4, mhpmcounter22h +80000e40: 23 ac e7 0c sw a4, 216(a5) +80000e44: 73 27 70 b9 csrr a4, mhpmcounter23h +80000e48: 23 ae e7 0c sw a4, 220(a5) +80000e4c: 73 27 80 b9 csrr a4, mhpmcounter24h +80000e50: 23 a0 e7 0e sw a4, 224(a5) +80000e54: 73 27 90 b9 csrr a4, mhpmcounter25h +80000e58: 23 a2 e7 0e sw a4, 228(a5) +80000e5c: 73 27 a0 b9 csrr a4, mhpmcounter26h +80000e60: 23 a4 e7 0e sw a4, 232(a5) +80000e64: 73 27 b0 b9 csrr a4, mhpmcounter27h +80000e68: 23 a6 e7 0e sw a4, 236(a5) +80000e6c: 73 27 c0 b9 csrr a4, mhpmcounter28h +80000e70: 23 a8 e7 0e sw a4, 240(a5) +80000e74: 73 27 d0 b9 csrr a4, mhpmcounter29h +80000e78: 23 aa e7 0e sw a4, 244(a5) +80000e7c: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000e80: 23 ac e7 0e sw a4, 248(a5) +80000e84: 73 27 f0 b9 csrr a4, mhpmcounter31h +80000e88: 23 ae e7 0e sw a4, 252(a5) +80000e8c: 67 80 00 00 ret -80000e38 __libc_init_array: -80000e38: 13 01 01 ff addi sp, sp, -16 -80000e3c: 23 24 81 00 sw s0, 8(sp) -80000e40: 23 20 21 01 sw s2, 0(sp) -80000e44: 37 24 00 80 lui s0, 524290 -80000e48: 37 29 00 80 lui s2, 524290 -80000e4c: 93 07 04 17 addi a5, s0, 368 -80000e50: 13 09 09 17 addi s2, s2, 368 -80000e54: 33 09 f9 40 sub s2, s2, a5 -80000e58: 23 26 11 00 sw ra, 12(sp) -80000e5c: 23 22 91 00 sw s1, 4(sp) -80000e60: 13 59 29 40 srai s2, s2, 2 -80000e64: 63 00 09 02 beqz s2, 32 -80000e68: 13 04 04 17 addi s0, s0, 368 -80000e6c: 93 04 00 00 mv s1, zero -80000e70: 83 27 04 00 lw a5, 0(s0) -80000e74: 93 84 14 00 addi s1, s1, 1 -80000e78: 13 04 44 00 addi s0, s0, 4 -80000e7c: e7 80 07 00 jalr a5 -80000e80: e3 18 99 fe bne s2, s1, -16 -80000e84: 37 24 00 80 lui s0, 524290 -80000e88: 37 29 00 80 lui s2, 524290 -80000e8c: 93 07 04 17 addi a5, s0, 368 -80000e90: 13 09 49 17 addi s2, s2, 372 -80000e94: 33 09 f9 40 sub s2, s2, a5 -80000e98: 13 59 29 40 srai s2, s2, 2 -80000e9c: 63 00 09 02 beqz s2, 32 -80000ea0: 13 04 04 17 addi s0, s0, 368 -80000ea4: 93 04 00 00 mv s1, zero -80000ea8: 83 27 04 00 lw a5, 0(s0) -80000eac: 93 84 14 00 addi s1, s1, 1 -80000eb0: 13 04 44 00 addi s0, s0, 4 -80000eb4: e7 80 07 00 jalr a5 -80000eb8: e3 18 99 fe bne s2, s1, -16 -80000ebc: 83 20 c1 00 lw ra, 12(sp) -80000ec0: 03 24 81 00 lw s0, 8(sp) -80000ec4: 83 24 41 00 lw s1, 4(sp) -80000ec8: 03 29 01 00 lw s2, 0(sp) -80000ecc: 13 01 01 01 addi sp, sp, 16 -80000ed0: 67 80 00 00 ret +80000e90 atexit: +80000e90: 93 05 05 00 mv a1, a0 +80000e94: 93 06 00 00 mv a3, zero +80000e98: 13 06 00 00 mv a2, zero +80000e9c: 13 05 00 00 mv a0, zero +80000ea0: 6f 00 40 11 j 276 -80000ed4 memset: -80000ed4: 13 03 f0 00 addi t1, zero, 15 -80000ed8: 13 07 05 00 mv a4, a0 -80000edc: 63 7e c3 02 bgeu t1, a2, 60 -80000ee0: 93 77 f7 00 andi a5, a4, 15 -80000ee4: 63 90 07 0a bnez a5, 160 -80000ee8: 63 92 05 08 bnez a1, 132 -80000eec: 93 76 06 ff andi a3, a2, -16 -80000ef0: 13 76 f6 00 andi a2, a2, 15 -80000ef4: b3 86 e6 00 add a3, a3, a4 -80000ef8: 23 20 b7 00 sw a1, 0(a4) -80000efc: 23 22 b7 00 sw a1, 4(a4) -80000f00: 23 24 b7 00 sw a1, 8(a4) -80000f04: 23 26 b7 00 sw a1, 12(a4) -80000f08: 13 07 07 01 addi a4, a4, 16 -80000f0c: e3 66 d7 fe bltu a4, a3, -20 -80000f10: 63 14 06 00 bnez a2, 8 -80000f14: 67 80 00 00 ret -80000f18: b3 06 c3 40 sub a3, t1, a2 -80000f1c: 93 96 26 00 slli a3, a3, 2 -80000f20: 97 02 00 00 auipc t0, 0 -80000f24: b3 86 56 00 add a3, a3, t0 -80000f28: 67 80 c6 00 jr 12(a3) -80000f2c: 23 07 b7 00 sb a1, 14(a4) -80000f30: a3 06 b7 00 sb a1, 13(a4) -80000f34: 23 06 b7 00 sb a1, 12(a4) -80000f38: a3 05 b7 00 sb a1, 11(a4) -80000f3c: 23 05 b7 00 sb a1, 10(a4) -80000f40: a3 04 b7 00 sb a1, 9(a4) -80000f44: 23 04 b7 00 sb a1, 8(a4) -80000f48: a3 03 b7 00 sb a1, 7(a4) -80000f4c: 23 03 b7 00 sb a1, 6(a4) -80000f50: a3 02 b7 00 sb a1, 5(a4) -80000f54: 23 02 b7 00 sb a1, 4(a4) -80000f58: a3 01 b7 00 sb a1, 3(a4) -80000f5c: 23 01 b7 00 sb a1, 2(a4) -80000f60: a3 00 b7 00 sb a1, 1(a4) -80000f64: 23 00 b7 00 sb a1, 0(a4) -80000f68: 67 80 00 00 ret -80000f6c: 93 f5 f5 0f andi a1, a1, 255 -80000f70: 93 96 85 00 slli a3, a1, 8 -80000f74: b3 e5 d5 00 or a1, a1, a3 -80000f78: 93 96 05 01 slli a3, a1, 16 -80000f7c: b3 e5 d5 00 or a1, a1, a3 -80000f80: 6f f0 df f6 j -148 -80000f84: 93 96 27 00 slli a3, a5, 2 -80000f88: 97 02 00 00 auipc t0, 0 -80000f8c: b3 86 56 00 add a3, a3, t0 -80000f90: 93 82 00 00 mv t0, ra -80000f94: e7 80 06 fa jalr -96(a3) -80000f98: 93 80 02 00 mv ra, t0 -80000f9c: 93 87 07 ff addi a5, a5, -16 -80000fa0: 33 07 f7 40 sub a4, a4, a5 -80000fa4: 33 06 f6 00 add a2, a2, a5 -80000fa8: e3 78 c3 f6 bgeu t1, a2, -144 -80000fac: 6f f0 df f3 j -196 +80000ea4 exit: +80000ea4: 13 01 01 ff addi sp, sp, -16 +80000ea8: 93 05 00 00 mv a1, zero +80000eac: 23 24 81 00 sw s0, 8(sp) +80000eb0: 23 26 11 00 sw ra, 12(sp) +80000eb4: 13 04 05 00 mv s0, a0 +80000eb8: ef 00 80 19 jal 408 +80000ebc: b7 27 00 80 lui a5, 524290 +80000ec0: 03 a5 07 5a lw a0, 1440(a5) +80000ec4: 83 27 c5 03 lw a5, 60(a0) +80000ec8: 63 84 07 00 beqz a5, 8 +80000ecc: e7 80 07 00 jalr a5 +80000ed0: 13 05 04 00 mv a0, s0 +80000ed4: ef f0 1f 8f jal -1808 -80000fb0 __register_exitproc: -80000fb0: b7 27 00 80 lui a5, 524290 -80000fb4: 03 a7 07 5a lw a4, 1440(a5) -80000fb8: 83 27 87 14 lw a5, 328(a4) -80000fbc: 63 8c 07 04 beqz a5, 88 -80000fc0: 03 a7 47 00 lw a4, 4(a5) -80000fc4: 13 08 f0 01 addi a6, zero, 31 -80000fc8: 63 4e e8 06 blt a6, a4, 124 -80000fcc: 13 18 27 00 slli a6, a4, 2 -80000fd0: 63 06 05 02 beqz a0, 44 -80000fd4: 33 83 07 01 add t1, a5, a6 -80000fd8: 23 24 c3 08 sw a2, 136(t1) -80000fdc: 83 a8 87 18 lw a7, 392(a5) -80000fe0: 13 06 10 00 addi a2, zero, 1 -80000fe4: 33 16 e6 00 sll a2, a2, a4 -80000fe8: b3 e8 c8 00 or a7, a7, a2 -80000fec: 23 a4 17 19 sw a7, 392(a5) -80000ff0: 23 24 d3 10 sw a3, 264(t1) -80000ff4: 93 06 20 00 addi a3, zero, 2 -80000ff8: 63 04 d5 02 beq a0, a3, 40 -80000ffc: 13 07 17 00 addi a4, a4, 1 -80001000: 23 a2 e7 00 sw a4, 4(a5) -80001004: b3 87 07 01 add a5, a5, a6 -80001008: 23 a4 b7 00 sw a1, 8(a5) -8000100c: 13 05 00 00 mv a0, zero -80001010: 67 80 00 00 ret -80001014: 93 07 c7 14 addi a5, a4, 332 -80001018: 23 24 f7 14 sw a5, 328(a4) -8000101c: 6f f0 5f fa j -92 -80001020: 83 a6 c7 18 lw a3, 396(a5) -80001024: 13 07 17 00 addi a4, a4, 1 -80001028: 23 a2 e7 00 sw a4, 4(a5) -8000102c: 33 e6 c6 00 or a2, a3, a2 -80001030: 23 a6 c7 18 sw a2, 396(a5) -80001034: b3 87 07 01 add a5, a5, a6 -80001038: 23 a4 b7 00 sw a1, 8(a5) -8000103c: 13 05 00 00 mv a0, zero -80001040: 67 80 00 00 ret -80001044: 13 05 f0 ff addi a0, zero, -1 -80001048: 67 80 00 00 ret +80000ed8 memset: +80000ed8: 13 03 f0 00 addi t1, zero, 15 +80000edc: 13 07 05 00 mv a4, a0 +80000ee0: 63 7e c3 02 bgeu t1, a2, 60 +80000ee4: 93 77 f7 00 andi a5, a4, 15 +80000ee8: 63 90 07 0a bnez a5, 160 +80000eec: 63 92 05 08 bnez a1, 132 +80000ef0: 93 76 06 ff andi a3, a2, -16 +80000ef4: 13 76 f6 00 andi a2, a2, 15 +80000ef8: b3 86 e6 00 add a3, a3, a4 +80000efc: 23 20 b7 00 sw a1, 0(a4) +80000f00: 23 22 b7 00 sw a1, 4(a4) +80000f04: 23 24 b7 00 sw a1, 8(a4) +80000f08: 23 26 b7 00 sw a1, 12(a4) +80000f0c: 13 07 07 01 addi a4, a4, 16 +80000f10: e3 66 d7 fe bltu a4, a3, -20 +80000f14: 63 14 06 00 bnez a2, 8 +80000f18: 67 80 00 00 ret +80000f1c: b3 06 c3 40 sub a3, t1, a2 +80000f20: 93 96 26 00 slli a3, a3, 2 +80000f24: 97 02 00 00 auipc t0, 0 +80000f28: b3 86 56 00 add a3, a3, t0 +80000f2c: 67 80 c6 00 jr 12(a3) +80000f30: 23 07 b7 00 sb a1, 14(a4) +80000f34: a3 06 b7 00 sb a1, 13(a4) +80000f38: 23 06 b7 00 sb a1, 12(a4) +80000f3c: a3 05 b7 00 sb a1, 11(a4) +80000f40: 23 05 b7 00 sb a1, 10(a4) +80000f44: a3 04 b7 00 sb a1, 9(a4) +80000f48: 23 04 b7 00 sb a1, 8(a4) +80000f4c: a3 03 b7 00 sb a1, 7(a4) +80000f50: 23 03 b7 00 sb a1, 6(a4) +80000f54: a3 02 b7 00 sb a1, 5(a4) +80000f58: 23 02 b7 00 sb a1, 4(a4) +80000f5c: a3 01 b7 00 sb a1, 3(a4) +80000f60: 23 01 b7 00 sb a1, 2(a4) +80000f64: a3 00 b7 00 sb a1, 1(a4) +80000f68: 23 00 b7 00 sb a1, 0(a4) +80000f6c: 67 80 00 00 ret +80000f70: 93 f5 f5 0f andi a1, a1, 255 +80000f74: 93 96 85 00 slli a3, a1, 8 +80000f78: b3 e5 d5 00 or a1, a1, a3 +80000f7c: 93 96 05 01 slli a3, a1, 16 +80000f80: b3 e5 d5 00 or a1, a1, a3 +80000f84: 6f f0 df f6 j -148 +80000f88: 93 96 27 00 slli a3, a5, 2 +80000f8c: 97 02 00 00 auipc t0, 0 +80000f90: b3 86 56 00 add a3, a3, t0 +80000f94: 93 82 00 00 mv t0, ra +80000f98: e7 80 06 fa jalr -96(a3) +80000f9c: 93 80 02 00 mv ra, t0 +80000fa0: 93 87 07 ff addi a5, a5, -16 +80000fa4: 33 07 f7 40 sub a4, a4, a5 +80000fa8: 33 06 f6 00 add a2, a2, a5 +80000fac: e3 78 c3 f6 bgeu t1, a2, -144 +80000fb0: 6f f0 df f3 j -196 -8000104c __call_exitprocs: -8000104c: 13 01 01 fd addi sp, sp, -48 -80001050: b7 27 00 80 lui a5, 524290 -80001054: 23 2c 41 01 sw s4, 24(sp) -80001058: 03 aa 07 5a lw s4, 1440(a5) -8000105c: 23 20 21 03 sw s2, 32(sp) -80001060: 23 26 11 02 sw ra, 44(sp) -80001064: 03 29 8a 14 lw s2, 328(s4) -80001068: 23 24 81 02 sw s0, 40(sp) -8000106c: 23 22 91 02 sw s1, 36(sp) -80001070: 23 2e 31 01 sw s3, 28(sp) -80001074: 23 2a 51 01 sw s5, 20(sp) -80001078: 23 28 61 01 sw s6, 16(sp) -8000107c: 23 26 71 01 sw s7, 12(sp) -80001080: 23 24 81 01 sw s8, 8(sp) -80001084: 63 00 09 04 beqz s2, 64 -80001088: 13 0b 05 00 mv s6, a0 -8000108c: 93 8b 05 00 mv s7, a1 -80001090: 93 0a 10 00 addi s5, zero, 1 -80001094: 93 09 f0 ff addi s3, zero, -1 -80001098: 83 24 49 00 lw s1, 4(s2) -8000109c: 13 84 f4 ff addi s0, s1, -1 -800010a0: 63 42 04 02 bltz s0, 36 -800010a4: 93 94 24 00 slli s1, s1, 2 -800010a8: b3 04 99 00 add s1, s2, s1 -800010ac: 63 84 0b 04 beqz s7, 72 -800010b0: 83 a7 44 10 lw a5, 260(s1) -800010b4: 63 80 77 05 beq a5, s7, 64 -800010b8: 13 04 f4 ff addi s0, s0, -1 -800010bc: 93 84 c4 ff addi s1, s1, -4 -800010c0: e3 16 34 ff bne s0, s3, -20 -800010c4: 83 20 c1 02 lw ra, 44(sp) -800010c8: 03 24 81 02 lw s0, 40(sp) -800010cc: 83 24 41 02 lw s1, 36(sp) -800010d0: 03 29 01 02 lw s2, 32(sp) -800010d4: 83 29 c1 01 lw s3, 28(sp) -800010d8: 03 2a 81 01 lw s4, 24(sp) -800010dc: 83 2a 41 01 lw s5, 20(sp) -800010e0: 03 2b 01 01 lw s6, 16(sp) -800010e4: 83 2b c1 00 lw s7, 12(sp) -800010e8: 03 2c 81 00 lw s8, 8(sp) -800010ec: 13 01 01 03 addi sp, sp, 48 -800010f0: 67 80 00 00 ret -800010f4: 83 27 49 00 lw a5, 4(s2) -800010f8: 83 a6 44 00 lw a3, 4(s1) -800010fc: 93 87 f7 ff addi a5, a5, -1 -80001100: 63 8e 87 04 beq a5, s0, 92 -80001104: 23 a2 04 00 sw zero, 4(s1) -80001108: e3 88 06 fa beqz a3, -80 -8000110c: 83 27 89 18 lw a5, 392(s2) -80001110: 33 97 8a 00 sll a4, s5, s0 -80001114: 03 2c 49 00 lw s8, 4(s2) -80001118: b3 77 f7 00 and a5, a4, a5 -8000111c: 63 92 07 02 bnez a5, 36 -80001120: e7 80 06 00 jalr a3 -80001124: 03 27 49 00 lw a4, 4(s2) -80001128: 83 27 8a 14 lw a5, 328(s4) -8000112c: 63 14 87 01 bne a4, s8, 8 -80001130: e3 04 f9 f8 beq s2, a5, -120 -80001134: e3 88 07 f8 beqz a5, -112 -80001138: 13 89 07 00 mv s2, a5 -8000113c: 6f f0 df f5 j -164 -80001140: 83 27 c9 18 lw a5, 396(s2) -80001144: 83 a5 44 08 lw a1, 132(s1) -80001148: 33 77 f7 00 and a4, a4, a5 -8000114c: 63 1c 07 00 bnez a4, 24 -80001150: 13 05 0b 00 mv a0, s6 -80001154: e7 80 06 00 jalr a3 -80001158: 6f f0 df fc j -52 -8000115c: 23 22 89 00 sw s0, 4(s2) -80001160: 6f f0 9f fa j -88 -80001164: 13 85 05 00 mv a0, a1 -80001168: e7 80 06 00 jalr a3 -8000116c: 6f f0 9f fb j -72 +80000fb4 __register_exitproc: +80000fb4: b7 27 00 80 lui a5, 524290 +80000fb8: 03 a7 07 5a lw a4, 1440(a5) +80000fbc: 83 27 87 14 lw a5, 328(a4) +80000fc0: 63 8c 07 04 beqz a5, 88 +80000fc4: 03 a7 47 00 lw a4, 4(a5) +80000fc8: 13 08 f0 01 addi a6, zero, 31 +80000fcc: 63 4e e8 06 blt a6, a4, 124 +80000fd0: 13 18 27 00 slli a6, a4, 2 +80000fd4: 63 06 05 02 beqz a0, 44 +80000fd8: 33 83 07 01 add t1, a5, a6 +80000fdc: 23 24 c3 08 sw a2, 136(t1) +80000fe0: 83 a8 87 18 lw a7, 392(a5) +80000fe4: 13 06 10 00 addi a2, zero, 1 +80000fe8: 33 16 e6 00 sll a2, a2, a4 +80000fec: b3 e8 c8 00 or a7, a7, a2 +80000ff0: 23 a4 17 19 sw a7, 392(a5) +80000ff4: 23 24 d3 10 sw a3, 264(t1) +80000ff8: 93 06 20 00 addi a3, zero, 2 +80000ffc: 63 04 d5 02 beq a0, a3, 40 +80001000: 13 07 17 00 addi a4, a4, 1 +80001004: 23 a2 e7 00 sw a4, 4(a5) +80001008: b3 87 07 01 add a5, a5, a6 +8000100c: 23 a4 b7 00 sw a1, 8(a5) +80001010: 13 05 00 00 mv a0, zero +80001014: 67 80 00 00 ret +80001018: 93 07 c7 14 addi a5, a4, 332 +8000101c: 23 24 f7 14 sw a5, 328(a4) +80001020: 6f f0 5f fa j -92 +80001024: 83 a6 c7 18 lw a3, 396(a5) +80001028: 13 07 17 00 addi a4, a4, 1 +8000102c: 23 a2 e7 00 sw a4, 4(a5) +80001030: 33 e6 c6 00 or a2, a3, a2 +80001034: 23 a6 c7 18 sw a2, 396(a5) +80001038: b3 87 07 01 add a5, a5, a6 +8000103c: 23 a4 b7 00 sw a1, 8(a5) +80001040: 13 05 00 00 mv a0, zero +80001044: 67 80 00 00 ret +80001048: 13 05 f0 ff addi a0, zero, -1 +8000104c: 67 80 00 00 ret + +80001050 __call_exitprocs: +80001050: 13 01 01 fd addi sp, sp, -48 +80001054: b7 27 00 80 lui a5, 524290 +80001058: 23 2c 41 01 sw s4, 24(sp) +8000105c: 03 aa 07 5a lw s4, 1440(a5) +80001060: 23 20 21 03 sw s2, 32(sp) +80001064: 23 26 11 02 sw ra, 44(sp) +80001068: 03 29 8a 14 lw s2, 328(s4) +8000106c: 23 24 81 02 sw s0, 40(sp) +80001070: 23 22 91 02 sw s1, 36(sp) +80001074: 23 2e 31 01 sw s3, 28(sp) +80001078: 23 2a 51 01 sw s5, 20(sp) +8000107c: 23 28 61 01 sw s6, 16(sp) +80001080: 23 26 71 01 sw s7, 12(sp) +80001084: 23 24 81 01 sw s8, 8(sp) +80001088: 63 00 09 04 beqz s2, 64 +8000108c: 13 0b 05 00 mv s6, a0 +80001090: 93 8b 05 00 mv s7, a1 +80001094: 93 0a 10 00 addi s5, zero, 1 +80001098: 93 09 f0 ff addi s3, zero, -1 +8000109c: 83 24 49 00 lw s1, 4(s2) +800010a0: 13 84 f4 ff addi s0, s1, -1 +800010a4: 63 42 04 02 bltz s0, 36 +800010a8: 93 94 24 00 slli s1, s1, 2 +800010ac: b3 04 99 00 add s1, s2, s1 +800010b0: 63 84 0b 04 beqz s7, 72 +800010b4: 83 a7 44 10 lw a5, 260(s1) +800010b8: 63 80 77 05 beq a5, s7, 64 +800010bc: 13 04 f4 ff addi s0, s0, -1 +800010c0: 93 84 c4 ff addi s1, s1, -4 +800010c4: e3 16 34 ff bne s0, s3, -20 +800010c8: 83 20 c1 02 lw ra, 44(sp) +800010cc: 03 24 81 02 lw s0, 40(sp) +800010d0: 83 24 41 02 lw s1, 36(sp) +800010d4: 03 29 01 02 lw s2, 32(sp) +800010d8: 83 29 c1 01 lw s3, 28(sp) +800010dc: 03 2a 81 01 lw s4, 24(sp) +800010e0: 83 2a 41 01 lw s5, 20(sp) +800010e4: 03 2b 01 01 lw s6, 16(sp) +800010e8: 83 2b c1 00 lw s7, 12(sp) +800010ec: 03 2c 81 00 lw s8, 8(sp) +800010f0: 13 01 01 03 addi sp, sp, 48 +800010f4: 67 80 00 00 ret +800010f8: 83 27 49 00 lw a5, 4(s2) +800010fc: 83 a6 44 00 lw a3, 4(s1) +80001100: 93 87 f7 ff addi a5, a5, -1 +80001104: 63 8e 87 04 beq a5, s0, 92 +80001108: 23 a2 04 00 sw zero, 4(s1) +8000110c: e3 88 06 fa beqz a3, -80 +80001110: 83 27 89 18 lw a5, 392(s2) +80001114: 33 97 8a 00 sll a4, s5, s0 +80001118: 03 2c 49 00 lw s8, 4(s2) +8000111c: b3 77 f7 00 and a5, a4, a5 +80001120: 63 92 07 02 bnez a5, 36 +80001124: e7 80 06 00 jalr a3 +80001128: 03 27 49 00 lw a4, 4(s2) +8000112c: 83 27 8a 14 lw a5, 328(s4) +80001130: 63 14 87 01 bne a4, s8, 8 +80001134: e3 04 f9 f8 beq s2, a5, -120 +80001138: e3 88 07 f8 beqz a5, -112 +8000113c: 13 89 07 00 mv s2, a5 +80001140: 6f f0 df f5 j -164 +80001144: 83 27 c9 18 lw a5, 396(s2) +80001148: 83 a5 44 08 lw a1, 132(s1) +8000114c: 33 77 f7 00 and a4, a4, a5 +80001150: 63 1c 07 00 bnez a4, 24 +80001154: 13 05 0b 00 mv a0, s6 +80001158: e7 80 06 00 jalr a3 +8000115c: 6f f0 df fc j -52 +80001160: 23 22 89 00 sw s0, 4(s2) +80001164: 6f f0 9f fa j -88 +80001168: 13 85 05 00 mv a0, a1 +8000116c: e7 80 06 00 jalr a3 +80001170: 6f f0 9f fb j -72 Disassembly of section .init_array: -80002170 __preinit_array_start: -80002170: 50 00 -80002172: 00 80 +80002174 __preinit_array_start: +80002174: 50 00 +80002176: 00 80 Disassembly of section .data: @@ -1295,7 +1298,7 @@ Disassembly of section .symtab: 2c: 03 00 02 00 lb zero, 0(tp) 30: 00 00 32: 00 00 - 34: 70 21 + 34: 74 21 36: 00 80 38: 00 00 3a: 00 00 @@ -1332,80 +1335,83 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 08 08 + a4: d0 07 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 0c 08 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: 0c 08 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: 08 09 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 184: 78 21 186: 00 80 @@ -1416,54 +1422,56 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 - 1a4: 74 21 + 1a4: 78 21 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 cd 00 lb zero, 12(s10) + 1ae: 04 00 + 1b0: dd 00 1b2: 00 00 - 1b4: 74 21 + 1b4: 78 21 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 e0 00 lb zero, 14(zero) + 1be: 04 00 + 1c0: f0 00 1c2: 00 00 - 1c4: 74 21 + 1c4: 78 21 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 - 1d4: 70 21 + 1d4: 74 21 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 - 1e4: 70 21 + 1e4: 74 21 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 - 1f4: 70 21 + 1f4: 74 21 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 00 04 216: 00 00 @@ -1471,7 +1479,7 @@ Disassembly of section .symtab: 21a: 00 00 21c: 10 00 21e: f1 ff - 220: 49 01 + 220: 59 01 222: 00 00 224: a4 25 226: 00 80 @@ -1479,21 +1487,21 @@ Disassembly of section .symtab: 22a: 00 00 22c: 11 00 22e: 06 00 - 230: 57 01 00 00 + 230: 67 01 00 00 jalr sp, zero 234: a0 25 236: 00 80 238: 00 00 23a: 00 00 23c: 10 00 23e: 05 00 - 240: 67 01 00 00 jalr sp, zero + 240: 77 01 00 00 244: 78 29 246: 00 80 248: 00 00 24a: 00 00 24c: 10 00 24e: f1 ff - 250: 78 01 + 250: 88 01 252: 00 00 254: a0 25 256: 00 80 @@ -1501,174 +1509,167 @@ Disassembly of section .symtab: 25a: 00 00 25c: 11 00 25e: 05 00 - 260: 8b 01 00 00 - 264: 38 0e + 260: 9b 01 00 00 + 264: 10 08 266: 00 80 268: 9c 00 26a: 00 00 26c: 12 00 26e: 02 00 - 270: 9d 01 + 270: ad 01 272: 00 00 - 274: dc 0d + 274: ac 08 276: 00 80 278: 5c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: af 01 00 00 - 284: 00 00 - 286: 00 ff + 280: bf 01 00 00 + 284: dc 07 + 286: 00 80 288: 00 00 28a: 00 00 - 28c: 10 00 - 28e: f1 ff - 290: bb 01 00 00 - 294: d0 07 + 28c: 12 00 + 28e: 02 00 + 290: c9 01 + 292: 00 00 + 294: 50 10 296: 00 80 - 298: 00 00 + 298: 24 01 29a: 00 00 29c: 12 00 29e: 02 00 - 2a0: c5 01 + 2a0: 14 02 2a2: 00 00 - 2a4: 4c 10 + 2a4: 00 00 2a6: 00 80 - 2a8: 24 01 + 2a8: 50 00 2aa: 00 00 2ac: 12 00 - 2ae: 02 00 - 2b0: 10 02 + 2ae: 01 00 + 2b0: da 01 2b2: 00 00 - 2b4: 00 00 + 2b4: b4 0f 2b6: 00 80 - 2b8: 50 00 + 2b8: 9c 00 2ba: 00 00 2bc: 12 00 - 2be: 01 00 - 2c0: d6 01 + 2be: 02 00 + 2c0: ee 01 2c2: 00 00 - 2c4: b0 0f + 2c4: 98 00 2c6: 00 80 - 2c8: 9c 00 + 2c8: 34 02 2ca: 00 00 2cc: 12 00 2ce: 02 00 - 2d0: ea 01 - 2d2: 00 00 - 2d4: 98 00 + 2d0: 03 02 00 00 lb tp, 0(zero) + 2d4: 24 26 2d6: 00 80 - 2d8: 34 02 + 2d8: 00 00 2da: 00 00 - 2dc: 12 00 - 2de: 02 00 - 2e0: ff 01 00 00 - 2e4: 24 26 + 2dc: 10 00 + 2de: 06 00 + 2e0: 0f 02 00 00 + 2e4: a4 25 2e6: 00 80 2e8: 00 00 2ea: 00 00 2ec: 10 00 2ee: 06 00 - 2f0: 0b 02 00 00 - 2f4: a4 25 + 2f0: 1b 02 00 00 + 2f4: d8 0e 2f6: 00 80 - 2f8: 00 00 + 2f8: dc 00 2fa: 00 00 - 2fc: 10 00 - 2fe: 06 00 - 300: 17 02 00 00 auipc tp, 0 - 304: d4 0e + 2fc: 12 00 + 2fe: 02 00 + 300: 22 02 + 302: 00 00 + 304: 68 00 306: 00 80 - 308: dc 00 + 308: 30 00 30a: 00 00 30c: 12 00 30e: 02 00 - 310: 1e 02 - 312: 00 00 - 314: 68 00 + 310: 27 02 00 00 + 314: cc 02 316: 00 80 - 318: 30 00 + 318: 80 02 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 23 02 00 00 sb zero, 4(zero) - 324: cc 02 + 320: 46 02 + 322: 00 00 + 324: 90 0e 326: 00 80 - 328: 80 02 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 42 02 + 330: 4d 02 332: 00 00 - 334: 94 0d + 334: 78 21 336: 00 80 - 338: 14 00 + 338: 00 00 33a: 00 00 - 33c: 12 00 - 33e: 02 00 - 340: 49 02 + 33c: 10 00 + 33e: 04 00 + 340: 5c 02 342: 00 00 - 344: 78 21 + 344: a4 25 346: 00 80 348: 00 00 34a: 00 00 34c: 10 00 - 34e: 04 00 - 350: 58 02 + 34e: 05 00 + 350: d8 00 352: 00 00 - 354: a4 25 + 354: 24 26 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 05 00 - 360: c8 00 + 35e: 06 00 + 360: 71 02 362: 00 00 - 364: 24 26 + 364: a4 0e 366: 00 80 - 368: 00 00 + 368: 34 00 36a: 00 00 - 36c: 10 00 - 36e: 06 00 - 370: 6d 02 - 372: 00 00 - 374: a8 0d + 36c: 12 00 + 36e: 02 00 + 370: 63 02 00 00 beqz zero, 4 + 374: 7c 0c 376: 00 80 - 378: 34 00 + 378: 14 02 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 5f 02 00 00 - 384: 80 0b + 380: 70 02 + 382: 00 00 + 384: c4 07 386: 00 80 - 388: 14 02 + 388: 00 00 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 6c 02 + 390: 76 02 392: 00 00 - 394: c4 07 + 394: 4c 05 396: 00 80 - 398: 00 00 + 398: 78 02 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 72 02 + 3a0: 9a 02 3a2: 00 00 - 3a4: 4c 05 + 3a4: 50 0a 3a6: 00 80 - 3a8: 78 02 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 96 02 - 3b2: 00 00 - 3b4: 54 09 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1678,255 +1679,258 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 30 37 - 48: 2d 33 - 4a: 36 2d - 4c: 31 64 - 4e: 2d 66 - 50: 32 2d - 52: 66 65 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 5f 73 74 - 140: 61 63 - 142: 6b 5f 73 69 - 146: 7a 65 - 148: 00 67 - 14a: 5f 77 73 70 - 14e: 61 77 - 150: 6e 5f - 152: 61 72 - 154: 67 73 00 5f - 158: 5f 53 44 41 - 15c: 54 41 - 15e: 5f 42 45 47 - 162: 49 4e - 164: 5f 5f 00 5f - 168: 5f 67 6c 6f - 16c: 62 61 - 16e: 6c 5f - 170: 70 6f - 172: 69 6e - 174: 74 65 - 176: 72 00 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 64 38 + 58: 2d 64 + 5a: 63 2d 35 36 + 5e: 2d 32 + 60: 30 2d + 62: 32 37 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 5f 73 74 + 150: 61 63 + 152: 6b 5f 73 69 + 156: 7a 65 + 158: 00 67 + 15a: 5f 77 73 70 + 15e: 61 77 + 160: 6e 5f + 162: 61 72 + 164: 67 73 00 5f + 168: 5f 53 44 41 + 16c: 54 41 + 16e: 5f 42 45 47 + 172: 49 4e + 174: 5f 5f 00 5f 178: 5f 67 6c 6f 17c: 62 61 17e: 6c 5f - 180: 69 6d - 182: 70 75 - 184: 72 65 - 186: 5f 70 74 72 - 18a: 00 5f - 18c: 5f 6c 69 62 - 190: 63 5f 69 6e bge s2, t1, 1790 - 194: 69 74 - 196: 5f 61 72 72 - 19a: 61 79 - 19c: 00 5f - 19e: 5f 6c 69 62 - 1a2: 63 5f 66 69 bge a2, s6, 1694 - 1a6: 6e 69 - 1a8: 5f 61 72 72 - 1ac: 61 79 - 1ae: 00 5f - 1b0: 5f 73 74 61 - 1b4: 63 6b 5f 74 bltu t5, t0, 1878 - 1b8: 6f 70 00 76 j 30560 - 1bc: 78 5f - 1be: 73 65 74 5f csrrsi a0, 1527, 8 - 1c2: 73 70 00 5f csrci 1520, 0 - 1c6: 5f 63 61 6c - 1ca: 6c 5f - 1cc: 65 78 - 1ce: 69 74 - 1d0: 70 72 - 1d2: 6f 63 73 00 jal t1, 223238 - 1d6: 5f 5f 72 65 - 1da: 67 69 73 74 - 1de: 65 72 - 1e0: 5f 65 78 69 - 1e4: 74 70 - 1e6: 72 6f - 1e8: 63 00 5f 70 beq t5, t0, 1792 - 1ec: 6f 63 6c 5f jal t1, 812534 - 1f0: 6b 65 72 6e - 1f4: 65 6c - 1f6: 5f 73 66 69 - 1fa: 6c 74 - 1fc: 65 72 - 1fe: 00 5f - 200: 5f 42 53 53 - 204: 5f 45 4e 44 - 208: 5f 5f 00 5f - 20c: 5f 62 73 73 - 210: 5f 73 74 61 - 214: 72 74 - 216: 00 6d - 218: 65 6d - 21a: 73 65 74 00 csrrsi a0, 7, 8 - 21e: 6d 61 - 220: 69 6e - 222: 00 5f - 224: 70 6f - 226: 63 6c 5f 6b bltu t5, s5, 1720 - 22a: 65 72 - 22c: 6e 65 - 22e: 6c 5f - 230: 73 66 69 6c csrrsi a2, 1734, 18 - 234: 74 65 - 236: 72 5f - 238: 77 6f 72 6b - 23c: 67 72 6f 75 - 240: 70 00 - 242: 61 74 - 244: 65 78 - 246: 69 74 - 248: 00 5f - 24a: 5f 44 41 54 - 24e: 41 5f - 250: 42 45 - 252: 47 49 4e 5f - 256: 5f 00 5f 65 - 25a: 64 61 - 25c: 74 61 - 25e: 00 76 - 260: 78 5f - 262: 70 65 - 264: 72 66 - 266: 5f 64 75 6d - 26a: 70 00 - 26c: 5f 65 78 69 - 270: 74 00 - 272: 5f 70 6f 63 - 276: 6c 5f - 278: 6b 65 72 6e - 27c: 65 6c - 27e: 5f 73 66 69 - 282: 6c 74 - 284: 65 72 - 286: 5f 77 6f 72 - 28a: 6b 67 72 6f - 28e: 75 70 - 290: 5f 66 61 73 - 294: 74 00 - 296: 76 78 - 298: 5f 73 70 61 - 29c: 77 6e 5f 6b - 2a0: 65 72 - 2a2: 6e 65 - 2a4: 6c 00 + 180: 70 6f + 182: 69 6e + 184: 74 65 + 186: 72 00 + 188: 5f 67 6c 6f + 18c: 62 61 + 18e: 6c 5f + 190: 69 6d + 192: 70 75 + 194: 72 65 + 196: 5f 70 74 72 + 19a: 00 5f + 19c: 5f 6c 69 62 + 1a0: 63 5f 69 6e bge s2, t1, 1790 + 1a4: 69 74 + 1a6: 5f 61 72 72 + 1aa: 61 79 + 1ac: 00 5f + 1ae: 5f 6c 69 62 + 1b2: 63 5f 66 69 bge a2, s6, 1694 + 1b6: 6e 69 + 1b8: 5f 61 72 72 + 1bc: 61 79 + 1be: 00 76 + 1c0: 78 5f + 1c2: 73 65 74 5f csrrsi a0, 1527, 8 + 1c6: 73 70 00 5f csrci 1520, 0 + 1ca: 5f 63 61 6c + 1ce: 6c 5f + 1d0: 65 78 + 1d2: 69 74 + 1d4: 70 72 + 1d6: 6f 63 73 00 jal t1, 223238 + 1da: 5f 5f 72 65 + 1de: 67 69 73 74 + 1e2: 65 72 + 1e4: 5f 65 78 69 + 1e8: 74 70 + 1ea: 72 6f + 1ec: 63 00 5f 70 beq t5, t0, 1792 + 1f0: 6f 63 6c 5f jal t1, 812534 + 1f4: 6b 65 72 6e + 1f8: 65 6c + 1fa: 5f 73 66 69 + 1fe: 6c 74 + 200: 65 72 + 202: 00 5f + 204: 5f 42 53 53 + 208: 5f 45 4e 44 + 20c: 5f 5f 00 5f + 210: 5f 62 73 73 + 214: 5f 73 74 61 + 218: 72 74 + 21a: 00 6d + 21c: 65 6d + 21e: 73 65 74 00 csrrsi a0, 7, 8 + 222: 6d 61 + 224: 69 6e + 226: 00 5f + 228: 70 6f + 22a: 63 6c 5f 6b bltu t5, s5, 1720 + 22e: 65 72 + 230: 6e 65 + 232: 6c 5f + 234: 73 66 69 6c csrrsi a2, 1734, 18 + 238: 74 65 + 23a: 72 5f + 23c: 77 6f 72 6b + 240: 67 72 6f 75 + 244: 70 00 + 246: 61 74 + 248: 65 78 + 24a: 69 74 + 24c: 00 5f + 24e: 5f 44 41 54 + 252: 41 5f + 254: 42 45 + 256: 47 49 4e 5f + 25a: 5f 00 5f 65 + 25e: 64 61 + 260: 74 61 + 262: 00 76 + 264: 78 5f + 266: 70 65 + 268: 72 66 + 26a: 5f 64 75 6d + 26e: 70 00 + 270: 5f 65 78 69 + 274: 74 00 + 276: 5f 70 6f 63 + 27a: 6c 5f + 27c: 6b 65 72 6e + 280: 65 6c + 282: 5f 73 66 69 + 286: 6c 74 + 288: 65 72 + 28a: 5f 77 6f 72 + 28e: 6b 67 72 6f + 292: 75 70 + 294: 5f 66 61 73 + 298: 74 00 + 29a: 76 78 + 29c: 5f 73 70 61 + 2a0: 77 6e 5f 6b + 2a4: 65 72 + 2a6: 6e 65 + 2a8: 6c 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/sgemm/kernel.pocl b/tests/opencl/sgemm/kernel.pocl index e9f6d282..6760e776 100644 Binary files a/tests/opencl/sgemm/kernel.pocl and b/tests/opencl/sgemm/kernel.pocl differ diff --git a/tests/opencl/sgemm/sgemm.dump b/tests/opencl/sgemm/sgemm.dump index 708277b7..75fae0f7 100644 --- a/tests/opencl/sgemm/sgemm.dump +++ b/tests/opencl/sgemm/sgemm.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-35-bd-3b-d7-33.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-ac-e8-44-56-4a.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 85 4d addi a1, a1, 1240 +80000004: 93 85 45 4e addi a1, a1, 1252 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 80 4c jal 1224 +80000010: ef 00 40 4d jal 1236 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,22 +18,22 @@ Disassembly of section .init: 80000028: 13 06 c6 49 addi a2, a2, 1180 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 90 3a jal 2984 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 c5 aa addi a0, a0, -1364 -80000040: ef 00 d0 25 jal 2652 -80000044: ef 00 d0 2f jal 2812 +80000034: ef 00 d0 3a jal 2988 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 c5 57 addi a0, a0, 1404 +80000040: ef 00 90 35 jal 2904 +80000044: ef 00 40 4d jal 1236 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 50 26 j 2660 +8000004c: 6f 00 10 36 j 2912 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 45 ae addi a0, a0, -1308 -80000060: 6f 00 d0 23 j 2620 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 45 5b addi a0, a0, 1460 +80000060: 6f 00 90 33 j 2872 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 80 5d jal 1496 +80000084: ef 00 40 6d jal 1748 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -326,649 +326,652 @@ Disassembly of section .text: 800004c8: 67 80 00 00 ret 800004cc _exit: -800004cc: ef 00 c0 3b jal 956 -800004d0: 13 05 00 00 mv a0, zero -800004d4: 6b 00 05 00 +800004cc: 63 06 05 00 beqz a0, 12 +800004d0: 93 01 05 00 mv gp, a0 +800004d4: 73 00 00 00 ecall -800004d8 vx_set_sp: -800004d8: 73 25 00 fc csrr a0, 4032 -800004dc: 6b 00 05 00 -800004e0: 97 11 00 00 auipc gp, 1 -800004e4: 93 81 81 32 addi gp, gp, 808 -800004e8: 17 01 00 7f auipc sp, 520192 -800004ec: 13 01 81 b1 addi sp, sp, -1256 -800004f0: 93 05 00 40 addi a1, zero, 1024 -800004f4: 73 26 10 cc csrr a2, 3265 -800004f8: b3 85 c5 02 mul a1, a1, a2 -800004fc: 33 01 b1 40 sub sp, sp, a1 -80000500: f3 26 30 cc csrr a3, 3267 -80000504: 63 86 06 00 beqz a3, 12 -80000508: 13 05 00 00 mv a0, zero -8000050c: 6b 00 05 00 +800004d8 label_exit_next: +800004d8: ef 00 c0 4a jal 1196 +800004dc: 13 05 00 00 mv a0, zero +800004e0: 6b 00 05 00 -80000510 RETURN: -80000510: 67 80 00 00 ret +800004e4 vx_set_sp: +800004e4: 13 05 f0 ff addi a0, zero, -1 +800004e8: 6b 00 05 00 +800004ec: 97 11 00 00 auipc gp, 1 +800004f0: 93 81 c1 31 addi gp, gp, 796 +800004f4: 37 01 00 ff lui sp, 1044480 +800004f8: 73 26 10 cc csrr a2, 3265 +800004fc: 93 15 a6 00 slli a1, a2, 10 +80000500: 33 01 b1 40 sub sp, sp, a1 +80000504: f3 26 30 cc csrr a3, 3267 +80000508: 63 86 06 00 beqz a3, 12 +8000050c: 13 05 00 00 mv a0, zero +80000510: 6b 00 05 00 -80000514 spawn_kernel_callback: -80000514: 13 01 01 fe addi sp, sp, -32 -80000518: 23 2e 11 00 sw ra, 28(sp) -8000051c: 23 2c 81 00 sw s0, 24(sp) -80000520: 23 2a 91 00 sw s1, 20(sp) -80000524: 23 28 21 01 sw s2, 16(sp) -80000528: 23 26 31 01 sw s3, 12(sp) -8000052c: 23 24 41 01 sw s4, 8(sp) -80000530: 23 22 51 01 sw s5, 4(sp) -80000534: f3 27 00 fc csrr a5, 4032 -80000538: 6b 80 07 00 -8000053c: f3 26 50 cc csrr a3, 3269 -80000540: 73 29 30 cc csrr s2, 3267 -80000544: 73 27 00 cc csrr a4, 3264 -80000548: 73 26 00 fc csrr a2, 4032 -8000054c: b7 17 00 80 lui a5, 524289 -80000550: 93 96 26 00 slli a3, a3, 2 -80000554: 93 87 07 44 addi a5, a5, 1088 -80000558: b3 87 d7 00 add a5, a5, a3 -8000055c: 03 a4 07 00 lw s0, 0(a5) -80000560: 83 24 44 01 lw s1, 20(s0) -80000564: 83 26 04 01 lw a3, 16(s0) -80000568: b3 2a 99 00 slt s5, s2, s1 -8000056c: 93 87 04 00 mv a5, s1 -80000570: b3 8a da 00 add s5, s5, a3 -80000574: b3 84 26 03 mul s1, a3, s2 -80000578: 63 54 f9 00 bge s2, a5, 8 -8000057c: 93 07 09 00 mv a5, s2 -80000580: b3 84 f4 00 add s1, s1, a5 -80000584: 83 25 04 00 lw a1, 0(s0) -80000588: 83 26 c4 00 lw a3, 12(s0) -8000058c: 83 a9 05 00 lw s3, 0(a1) -80000590: 03 aa 45 00 lw s4, 4(a1) -80000594: b3 84 c4 02 mul s1, s1, a2 -80000598: b3 87 ea 02 mul a5, s5, a4 -8000059c: b3 84 d4 00 add s1, s1, a3 -800005a0: b3 84 f4 00 add s1, s1, a5 -800005a4: b3 8a 9a 00 add s5, s5, s1 -800005a8: 33 8a 49 03 mul s4, s3, s4 -800005ac: 63 c0 54 07 blt s1, s5, 96 -800005b0: 6f 00 00 08 j 128 -800005b4: 03 47 a4 01 lbu a4, 26(s0) -800005b8: 83 46 94 01 lbu a3, 25(s0) -800005bc: 33 d7 e4 40 sra a4, s1, a4 -800005c0: b3 07 47 03 mul a5, a4, s4 -800005c4: b3 87 f4 40 sub a5, s1, a5 -800005c8: 63 80 06 06 beqz a3, 96 -800005cc: 83 46 b4 01 lbu a3, 27(s0) -800005d0: b3 d6 d7 40 sra a3, a5, a3 -800005d4: b3 88 36 03 mul a7, a3, s3 -800005d8: 03 ae 45 01 lw t3, 20(a1) -800005dc: 03 a3 05 01 lw t1, 16(a1) -800005e0: 03 a6 c5 00 lw a2, 12(a1) -800005e4: 03 28 44 00 lw a6, 4(s0) -800005e8: 03 25 84 00 lw a0, 8(s0) -800005ec: 93 84 14 00 addi s1, s1, 1 -800005f0: 33 07 c7 01 add a4, a4, t3 -800005f4: b3 86 66 00 add a3, a3, t1 -800005f8: b3 87 17 41 sub a5, a5, a7 -800005fc: 33 86 c7 00 add a2, a5, a2 -80000600: e7 00 08 00 jalr a6 -80000604: 63 86 9a 02 beq s5, s1, 44 -80000608: 83 25 04 00 lw a1, 0(s0) -8000060c: 83 47 84 01 lbu a5, 24(s0) -80000610: e3 92 07 fa bnez a5, -92 -80000614: 33 c7 44 03 div a4, s1, s4 -80000618: 83 46 94 01 lbu a3, 25(s0) -8000061c: b3 07 47 03 mul a5, a4, s4 -80000620: b3 87 f4 40 sub a5, s1, a5 -80000624: e3 94 06 fa bnez a3, -88 -80000628: b3 c6 37 03 div a3, a5, s3 -8000062c: 6f f0 9f fa j -88 -80000630: 13 39 19 00 seqz s2, s2 -80000634: 6b 00 09 00 -80000638: 83 20 c1 01 lw ra, 28(sp) -8000063c: 03 24 81 01 lw s0, 24(sp) -80000640: 83 24 41 01 lw s1, 20(sp) -80000644: 03 29 01 01 lw s2, 16(sp) -80000648: 83 29 c1 00 lw s3, 12(sp) -8000064c: 03 2a 81 00 lw s4, 8(sp) -80000650: 83 2a 41 00 lw s5, 4(sp) -80000654: 13 01 01 02 addi sp, sp, 32 -80000658: 67 80 00 00 ret +80000514 RETURN: +80000514: 67 80 00 00 ret -8000065c vx_spawn_kernel: -8000065c: 13 01 01 fc addi sp, sp, -64 -80000660: 23 2e 11 02 sw ra, 60(sp) -80000664: 23 2c 81 02 sw s0, 56(sp) -80000668: 23 2a 91 02 sw s1, 52(sp) -8000066c: 23 28 21 03 sw s2, 48(sp) -80000670: 23 26 31 03 sw s3, 44(sp) -80000674: f3 28 20 fc csrr a7, 4034 -80000678: 73 23 10 fc csrr t1, 4033 -8000067c: 73 24 00 fc csrr s0, 4032 -80000680: f3 27 50 cc csrr a5, 3269 -80000684: 13 07 f0 01 addi a4, zero, 31 -80000688: 63 46 f7 0e blt a4, a5, 236 -8000068c: 03 2e 05 00 lw t3, 0(a0) -80000690: 83 26 45 00 lw a3, 4(a0) -80000694: 03 28 85 00 lw a6, 8(a0) -80000698: b3 0e 83 02 mul t4, t1, s0 -8000069c: 13 07 10 00 addi a4, zero, 1 -800006a0: b3 06 de 02 mul a3, t3, a3 -800006a4: 33 88 06 03 mul a6, a3, a6 -800006a8: 63 d4 0e 01 bge t4, a6, 8 -800006ac: 33 47 d8 03 div a4, a6, t4 -800006b0: 63 c0 e8 0e blt a7, a4, 224 -800006b4: 63 d0 e7 0c bge a5, a4, 192 -800006b8: 93 88 f8 ff addi a7, a7, -1 -800006bc: b3 4e e8 02 div t4, a6, a4 -800006c0: 93 84 0e 00 mv s1, t4 -800006c4: 63 96 f8 00 bne a7, a5, 12 -800006c8: 33 67 e8 02 rem a4, a6, a4 -800006cc: b3 04 d7 01 add s1, a4, t4 -800006d0: 33 c9 84 02 div s2, s1, s0 -800006d4: b3 e4 84 02 rem s1, s1, s0 -800006d8: 63 42 69 0c blt s2, t1, 196 -800006dc: 93 02 10 00 addi t0, zero, 1 -800006e0: 33 48 69 02 div a6, s2, t1 -800006e4: 63 06 08 00 beqz a6, 12 -800006e8: 93 02 08 00 mv t0, a6 -800006ec: 33 68 69 02 rem a6, s2, t1 -800006f0: d3 f7 06 d0 fcvt.s.w fa5, a3 -800006f4: 93 8f f6 ff addi t6, a3, -1 -800006f8: 13 0f fe ff addi t5, t3, -1 -800006fc: b7 19 00 80 lui s3, 524289 -80000700: b3 f6 df 00 and a3, t6, a3 -80000704: 93 89 09 44 addi s3, s3, 1088 -80000708: 93 b6 16 00 seqz a3, a3 -8000070c: 23 22 a1 00 sw a0, 4(sp) -80000710: 23 24 b1 00 sw a1, 8(sp) -80000714: 23 26 c1 00 sw a2, 12(sp) -80000718: 23 2a 51 00 sw t0, 20(sp) -8000071c: 23 2c 01 01 sw a6, 24(sp) -80000720: 23 0e d1 00 sb a3, 28(sp) -80000724: 33 87 fe 02 mul a4, t4, a5 -80000728: d3 8e 07 e0 fmv.x.w t4, fa5 -8000072c: d3 77 0e d0 fcvt.s.w fa5, t3 -80000730: 93 97 27 00 slli a5, a5, 2 -80000734: 33 7e cf 01 and t3, t5, t3 -80000738: d3 88 07 e0 fmv.x.w a7, fa5 -8000073c: 93 de 7e 41 srai t4, t4, 23 -80000740: 13 3e 1e 00 seqz t3, t3 -80000744: 93 d8 78 41 srai a7, a7, 23 -80000748: 93 8e 1e f8 addi t4, t4, -127 -8000074c: 93 88 18 f8 addi a7, a7, -127 -80000750: b3 87 f9 00 add a5, s3, a5 -80000754: 23 28 e1 00 sw a4, 16(sp) -80000758: 13 07 41 00 addi a4, sp, 4 -8000075c: a3 0e c1 01 sb t3, 29(sp) -80000760: 23 0f d1 01 sb t4, 30(sp) -80000764: a3 0f 11 01 sb a7, 31(sp) -80000768: 23 a0 e7 00 sw a4, 0(a5) -8000076c: 63 4e 20 03 bgtz s2, 60 -80000770: 63 9c 04 04 bnez s1, 88 -80000774: 83 20 c1 03 lw ra, 60(sp) -80000778: 03 24 81 03 lw s0, 56(sp) -8000077c: 83 24 41 03 lw s1, 52(sp) -80000780: 03 29 01 03 lw s2, 48(sp) -80000784: 83 29 c1 02 lw s3, 44(sp) -80000788: 13 01 01 04 addi sp, sp, 64 -8000078c: 67 80 00 00 ret -80000790: 13 87 08 00 mv a4, a7 -80000794: e3 c2 e7 f2 blt a5, a4, -220 -80000798: 6f f0 df fd j -36 -8000079c: 13 08 00 00 mv a6, zero -800007a0: 93 02 10 00 addi t0, zero, 1 -800007a4: 6f f0 df f4 j -180 -800007a8: 13 07 09 00 mv a4, s2 -800007ac: 63 54 23 01 bge t1, s2, 8 -800007b0: 13 07 03 00 mv a4, t1 -800007b4: b7 07 00 80 lui a5, 524288 -800007b8: 93 87 47 51 addi a5, a5, 1300 -800007bc: 6b 10 f7 00 -800007c0: ef f0 5f d5 jal -684 -800007c4: e3 88 04 fa beqz s1, -80 -800007c8: 33 04 89 02 mul s0, s2, s0 -800007cc: 23 28 81 00 sw s0, 16(sp) -800007d0: 6b 80 04 00 -800007d4: 73 27 50 cc csrr a4, 3269 -800007d8: f3 27 20 cc csrr a5, 3266 -800007dc: 13 17 27 00 slli a4, a4, 2 -800007e0: b3 89 e9 00 add s3, s3, a4 -800007e4: 03 a5 09 00 lw a0, 0(s3) -800007e8: 83 25 05 00 lw a1, 0(a0) -800007ec: 83 26 c5 00 lw a3, 12(a0) -800007f0: 03 47 85 01 lbu a4, 24(a0) -800007f4: 03 a8 05 00 lw a6, 0(a1) -800007f8: 03 a6 45 00 lw a2, 4(a1) -800007fc: b3 87 d7 00 add a5, a5, a3 -80000800: 33 06 c8 02 mul a2, a6, a2 -80000804: 63 0e 07 06 beqz a4, 124 -80000808: 03 47 a5 01 lbu a4, 26(a0) -8000080c: 33 d7 e7 40 sra a4, a5, a4 -80000810: 83 46 95 01 lbu a3, 25(a0) -80000814: 33 06 e6 02 mul a2, a2, a4 -80000818: b3 87 c7 40 sub a5, a5, a2 -8000081c: 63 8e 06 04 beqz a3, 92 -80000820: 83 48 b5 01 lbu a7, 27(a0) -80000824: b3 d8 17 41 sra a7, a5, a7 -80000828: 33 08 18 03 mul a6, a6, a7 -8000082c: 03 ae 45 01 lw t3, 20(a1) -80000830: 83 a6 05 01 lw a3, 16(a1) -80000834: 03 a6 c5 00 lw a2, 12(a1) -80000838: 03 23 45 00 lw t1, 4(a0) -8000083c: 03 25 85 00 lw a0, 8(a0) -80000840: 33 07 c7 01 add a4, a4, t3 -80000844: b3 86 d8 00 add a3, a7, a3 -80000848: b3 87 07 41 sub a5, a5, a6 -8000084c: 33 86 c7 00 add a2, a5, a2 -80000850: e7 00 03 00 jalr t1 -80000854: 93 07 10 00 addi a5, zero, 1 -80000858: 6b 80 07 00 -8000085c: 83 20 c1 03 lw ra, 60(sp) -80000860: 03 24 81 03 lw s0, 56(sp) -80000864: 83 24 41 03 lw s1, 52(sp) -80000868: 03 29 01 03 lw s2, 48(sp) -8000086c: 83 29 c1 02 lw s3, 44(sp) -80000870: 13 01 01 04 addi sp, sp, 64 -80000874: 67 80 00 00 ret -80000878: b3 c8 07 03 div a7, a5, a6 -8000087c: 6f f0 df fa j -84 -80000880: 33 c7 c7 02 div a4, a5, a2 -80000884: 6f f0 df f8 j -116 +80000518 __libc_init_array: +80000518: 13 01 01 ff addi sp, sp, -16 +8000051c: 23 24 81 00 sw s0, 8(sp) +80000520: 23 20 21 01 sw s2, 0(sp) +80000524: 37 14 00 80 lui s0, 524289 +80000528: 37 19 00 80 lui s2, 524289 +8000052c: 93 07 04 00 mv a5, s0 +80000530: 13 09 09 00 mv s2, s2 +80000534: 33 09 f9 40 sub s2, s2, a5 +80000538: 23 26 11 00 sw ra, 12(sp) +8000053c: 23 22 91 00 sw s1, 4(sp) +80000540: 13 59 29 40 srai s2, s2, 2 +80000544: 63 00 09 02 beqz s2, 32 +80000548: 13 04 04 00 mv s0, s0 +8000054c: 93 04 00 00 mv s1, zero +80000550: 83 27 04 00 lw a5, 0(s0) +80000554: 93 84 14 00 addi s1, s1, 1 +80000558: 13 04 44 00 addi s0, s0, 4 +8000055c: e7 80 07 00 jalr a5 +80000560: e3 18 99 fe bne s2, s1, -16 +80000564: 37 14 00 80 lui s0, 524289 +80000568: 37 19 00 80 lui s2, 524289 +8000056c: 93 07 04 00 mv a5, s0 +80000570: 13 09 49 00 addi s2, s2, 4 +80000574: 33 09 f9 40 sub s2, s2, a5 +80000578: 13 59 29 40 srai s2, s2, 2 +8000057c: 63 00 09 02 beqz s2, 32 +80000580: 13 04 04 00 mv s0, s0 +80000584: 93 04 00 00 mv s1, zero +80000588: 83 27 04 00 lw a5, 0(s0) +8000058c: 93 84 14 00 addi s1, s1, 1 +80000590: 13 04 44 00 addi s0, s0, 4 +80000594: e7 80 07 00 jalr a5 +80000598: e3 18 99 fe bne s2, s1, -16 +8000059c: 83 20 c1 00 lw ra, 12(sp) +800005a0: 03 24 81 00 lw s0, 8(sp) +800005a4: 83 24 41 00 lw s1, 4(sp) +800005a8: 03 29 01 00 lw s2, 0(sp) +800005ac: 13 01 01 01 addi sp, sp, 16 +800005b0: 67 80 00 00 ret -80000888 vx_perf_dump: -80000888: f3 27 50 cc csrr a5, 3269 -8000088c: 37 07 ff 00 lui a4, 4080 -80000890: b3 87 e7 00 add a5, a5, a4 -80000894: 93 97 87 00 slli a5, a5, 8 -80000898: 73 27 00 b0 csrr a4, mcycle -8000089c: 23 a0 e7 00 sw a4, 0(a5) -800008a0: 73 27 10 b0 csrr a4, 2817 -800008a4: 23 a2 e7 00 sw a4, 4(a5) -800008a8: 73 27 20 b0 csrr a4, minstret -800008ac: 23 a4 e7 00 sw a4, 8(a5) -800008b0: 73 27 30 b0 csrr a4, mhpmcounter3 -800008b4: 23 a6 e7 00 sw a4, 12(a5) -800008b8: 73 27 40 b0 csrr a4, mhpmcounter4 -800008bc: 23 a8 e7 00 sw a4, 16(a5) -800008c0: 73 27 50 b0 csrr a4, mhpmcounter5 -800008c4: 23 aa e7 00 sw a4, 20(a5) -800008c8: 73 27 60 b0 csrr a4, mhpmcounter6 -800008cc: 23 ac e7 00 sw a4, 24(a5) -800008d0: 73 27 70 b0 csrr a4, mhpmcounter7 -800008d4: 23 ae e7 00 sw a4, 28(a5) -800008d8: 73 27 80 b0 csrr a4, mhpmcounter8 -800008dc: 23 a0 e7 02 sw a4, 32(a5) -800008e0: 73 27 90 b0 csrr a4, mhpmcounter9 -800008e4: 23 a2 e7 02 sw a4, 36(a5) -800008e8: 73 27 a0 b0 csrr a4, mhpmcounter10 -800008ec: 23 a4 e7 02 sw a4, 40(a5) -800008f0: 73 27 b0 b0 csrr a4, mhpmcounter11 -800008f4: 23 a6 e7 02 sw a4, 44(a5) -800008f8: 73 27 c0 b0 csrr a4, mhpmcounter12 -800008fc: 23 a8 e7 02 sw a4, 48(a5) -80000900: 73 27 d0 b0 csrr a4, mhpmcounter13 -80000904: 23 aa e7 02 sw a4, 52(a5) -80000908: 73 27 e0 b0 csrr a4, mhpmcounter14 -8000090c: 23 ac e7 02 sw a4, 56(a5) -80000910: 73 27 f0 b0 csrr a4, mhpmcounter15 -80000914: 23 ae e7 02 sw a4, 60(a5) -80000918: 73 27 00 b1 csrr a4, mhpmcounter16 -8000091c: 23 a0 e7 04 sw a4, 64(a5) -80000920: 73 27 10 b1 csrr a4, mhpmcounter17 -80000924: 23 a2 e7 04 sw a4, 68(a5) -80000928: 73 27 20 b1 csrr a4, mhpmcounter18 -8000092c: 23 a4 e7 04 sw a4, 72(a5) -80000930: 73 27 30 b1 csrr a4, mhpmcounter19 -80000934: 23 a6 e7 04 sw a4, 76(a5) -80000938: 73 27 40 b1 csrr a4, mhpmcounter20 -8000093c: 23 a8 e7 04 sw a4, 80(a5) -80000940: 73 27 50 b1 csrr a4, mhpmcounter21 -80000944: 23 aa e7 04 sw a4, 84(a5) -80000948: 73 27 60 b1 csrr a4, mhpmcounter22 -8000094c: 23 ac e7 04 sw a4, 88(a5) -80000950: 73 27 70 b1 csrr a4, mhpmcounter23 -80000954: 23 ae e7 04 sw a4, 92(a5) -80000958: 73 27 80 b1 csrr a4, mhpmcounter24 -8000095c: 23 a0 e7 06 sw a4, 96(a5) -80000960: 73 27 90 b1 csrr a4, mhpmcounter25 -80000964: 23 a2 e7 06 sw a4, 100(a5) -80000968: 73 27 a0 b1 csrr a4, mhpmcounter26 -8000096c: 23 a4 e7 06 sw a4, 104(a5) -80000970: 73 27 b0 b1 csrr a4, mhpmcounter27 -80000974: 23 a6 e7 06 sw a4, 108(a5) -80000978: 73 27 c0 b1 csrr a4, mhpmcounter28 -8000097c: 23 a8 e7 06 sw a4, 112(a5) -80000980: 73 27 d0 b1 csrr a4, mhpmcounter29 -80000984: 23 aa e7 06 sw a4, 116(a5) -80000988: 73 27 e0 b1 csrr a4, mhpmcounter30 -8000098c: 23 ac e7 06 sw a4, 120(a5) -80000990: 73 27 f0 b1 csrr a4, mhpmcounter31 -80000994: 23 ae e7 06 sw a4, 124(a5) -80000998: 73 27 00 b8 csrr a4, mcycleh -8000099c: 23 a0 e7 08 sw a4, 128(a5) -800009a0: 73 27 10 b8 csrr a4, 2945 -800009a4: 23 a2 e7 08 sw a4, 132(a5) -800009a8: 73 27 20 b8 csrr a4, minstreth -800009ac: 23 a4 e7 08 sw a4, 136(a5) -800009b0: 73 27 30 b8 csrr a4, mhpmcounter3h -800009b4: 23 a6 e7 08 sw a4, 140(a5) -800009b8: 73 27 40 b8 csrr a4, mhpmcounter4h -800009bc: 23 a8 e7 08 sw a4, 144(a5) -800009c0: 73 27 50 b8 csrr a4, mhpmcounter5h -800009c4: 23 aa e7 08 sw a4, 148(a5) -800009c8: 73 27 60 b8 csrr a4, mhpmcounter6h -800009cc: 23 ac e7 08 sw a4, 152(a5) -800009d0: 73 27 70 b8 csrr a4, mhpmcounter7h -800009d4: 23 ae e7 08 sw a4, 156(a5) -800009d8: 73 27 80 b8 csrr a4, mhpmcounter8h -800009dc: 23 a0 e7 0a sw a4, 160(a5) -800009e0: 73 27 90 b8 csrr a4, mhpmcounter9h -800009e4: 23 a2 e7 0a sw a4, 164(a5) -800009e8: 73 27 a0 b8 csrr a4, mhpmcounter10h -800009ec: 23 a4 e7 0a sw a4, 168(a5) -800009f0: 73 27 b0 b8 csrr a4, mhpmcounter11h -800009f4: 23 a6 e7 0a sw a4, 172(a5) -800009f8: 73 27 c0 b8 csrr a4, mhpmcounter12h -800009fc: 23 a8 e7 0a sw a4, 176(a5) -80000a00: 73 27 d0 b8 csrr a4, mhpmcounter13h -80000a04: 23 aa e7 0a sw a4, 180(a5) -80000a08: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000a0c: 23 ac e7 0a sw a4, 184(a5) -80000a10: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000a14: 23 ae e7 0a sw a4, 188(a5) -80000a18: 73 27 00 b9 csrr a4, mhpmcounter16h -80000a1c: 23 a0 e7 0c sw a4, 192(a5) -80000a20: 73 27 10 b9 csrr a4, mhpmcounter17h -80000a24: 23 a2 e7 0c sw a4, 196(a5) -80000a28: 73 27 20 b9 csrr a4, mhpmcounter18h -80000a2c: 23 a4 e7 0c sw a4, 200(a5) -80000a30: 73 27 30 b9 csrr a4, mhpmcounter19h -80000a34: 23 a6 e7 0c sw a4, 204(a5) -80000a38: 73 27 40 b9 csrr a4, mhpmcounter20h -80000a3c: 23 a8 e7 0c sw a4, 208(a5) -80000a40: 73 27 50 b9 csrr a4, mhpmcounter21h -80000a44: 23 aa e7 0c sw a4, 212(a5) -80000a48: 73 27 60 b9 csrr a4, mhpmcounter22h -80000a4c: 23 ac e7 0c sw a4, 216(a5) -80000a50: 73 27 70 b9 csrr a4, mhpmcounter23h -80000a54: 23 ae e7 0c sw a4, 220(a5) -80000a58: 73 27 80 b9 csrr a4, mhpmcounter24h -80000a5c: 23 a0 e7 0e sw a4, 224(a5) -80000a60: 73 27 90 b9 csrr a4, mhpmcounter25h -80000a64: 23 a2 e7 0e sw a4, 228(a5) -80000a68: 73 27 a0 b9 csrr a4, mhpmcounter26h -80000a6c: 23 a4 e7 0e sw a4, 232(a5) -80000a70: 73 27 b0 b9 csrr a4, mhpmcounter27h -80000a74: 23 a6 e7 0e sw a4, 236(a5) -80000a78: 73 27 c0 b9 csrr a4, mhpmcounter28h -80000a7c: 23 a8 e7 0e sw a4, 240(a5) -80000a80: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000a84: 23 aa e7 0e sw a4, 244(a5) -80000a88: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000a8c: 23 ac e7 0e sw a4, 248(a5) -80000a90: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000a94: 23 ae e7 0e sw a4, 252(a5) -80000a98: 67 80 00 00 ret +800005b4 __libc_fini_array: +800005b4: 13 01 01 ff addi sp, sp, -16 +800005b8: 23 24 81 00 sw s0, 8(sp) +800005bc: b7 17 00 80 lui a5, 524289 +800005c0: 37 14 00 80 lui s0, 524289 +800005c4: 13 04 44 00 addi s0, s0, 4 +800005c8: 93 87 47 00 addi a5, a5, 4 +800005cc: b3 87 87 40 sub a5, a5, s0 +800005d0: 23 22 91 00 sw s1, 4(sp) +800005d4: 23 26 11 00 sw ra, 12(sp) +800005d8: 93 d4 27 40 srai s1, a5, 2 +800005dc: 63 80 04 02 beqz s1, 32 +800005e0: 93 87 c7 ff addi a5, a5, -4 +800005e4: 33 84 87 00 add s0, a5, s0 +800005e8: 83 27 04 00 lw a5, 0(s0) +800005ec: 93 84 f4 ff addi s1, s1, -1 +800005f0: 13 04 c4 ff addi s0, s0, -4 +800005f4: e7 80 07 00 jalr a5 +800005f8: e3 98 04 fe bnez s1, -16 +800005fc: 83 20 c1 00 lw ra, 12(sp) +80000600: 03 24 81 00 lw s0, 8(sp) +80000604: 83 24 41 00 lw s1, 4(sp) +80000608: 13 01 01 01 addi sp, sp, 16 +8000060c: 67 80 00 00 ret -80000a9c atexit: -80000a9c: 93 05 05 00 mv a1, a0 -80000aa0: 93 06 00 00 mv a3, zero -80000aa4: 13 06 00 00 mv a2, zero -80000aa8: 13 05 00 00 mv a0, zero -80000aac: 6f 00 c0 20 j 524 +80000610 spawn_kernel_callback: +80000610: 13 01 01 fe addi sp, sp, -32 +80000614: 23 2e 11 00 sw ra, 28(sp) +80000618: 23 2c 81 00 sw s0, 24(sp) +8000061c: 23 2a 91 00 sw s1, 20(sp) +80000620: 23 28 21 01 sw s2, 16(sp) +80000624: 23 26 31 01 sw s3, 12(sp) +80000628: 23 24 41 01 sw s4, 8(sp) +8000062c: 23 22 51 01 sw s5, 4(sp) +80000630: 93 07 f0 ff addi a5, zero, -1 +80000634: 6b 80 07 00 +80000638: f3 26 50 cc csrr a3, 3269 +8000063c: 73 29 30 cc csrr s2, 3267 +80000640: 73 27 00 cc csrr a4, 3264 +80000644: 73 26 00 fc csrr a2, 4032 +80000648: b7 17 00 80 lui a5, 524289 +8000064c: 93 96 26 00 slli a3, a3, 2 +80000650: 93 87 07 44 addi a5, a5, 1088 +80000654: b3 87 d7 00 add a5, a5, a3 +80000658: 03 a4 07 00 lw s0, 0(a5) +8000065c: 83 24 44 01 lw s1, 20(s0) +80000660: 83 26 04 01 lw a3, 16(s0) +80000664: b3 2a 99 00 slt s5, s2, s1 +80000668: 93 87 04 00 mv a5, s1 +8000066c: b3 8a da 00 add s5, s5, a3 +80000670: b3 84 26 03 mul s1, a3, s2 +80000674: 63 54 f9 00 bge s2, a5, 8 +80000678: 93 07 09 00 mv a5, s2 +8000067c: b3 84 f4 00 add s1, s1, a5 +80000680: 83 25 04 00 lw a1, 0(s0) +80000684: 83 26 c4 00 lw a3, 12(s0) +80000688: 83 a9 05 00 lw s3, 0(a1) +8000068c: 03 aa 45 00 lw s4, 4(a1) +80000690: b3 84 c4 02 mul s1, s1, a2 +80000694: b3 87 ea 02 mul a5, s5, a4 +80000698: b3 84 d4 00 add s1, s1, a3 +8000069c: b3 84 f4 00 add s1, s1, a5 +800006a0: b3 8a 9a 00 add s5, s5, s1 +800006a4: 33 8a 49 03 mul s4, s3, s4 +800006a8: 63 c0 54 07 blt s1, s5, 96 +800006ac: 6f 00 00 08 j 128 +800006b0: 03 47 a4 01 lbu a4, 26(s0) +800006b4: 83 46 94 01 lbu a3, 25(s0) +800006b8: 33 d7 e4 40 sra a4, s1, a4 +800006bc: b3 07 47 03 mul a5, a4, s4 +800006c0: b3 87 f4 40 sub a5, s1, a5 +800006c4: 63 80 06 06 beqz a3, 96 +800006c8: 83 46 b4 01 lbu a3, 27(s0) +800006cc: b3 d6 d7 40 sra a3, a5, a3 +800006d0: b3 88 36 03 mul a7, a3, s3 +800006d4: 03 ae 45 01 lw t3, 20(a1) +800006d8: 03 a3 05 01 lw t1, 16(a1) +800006dc: 03 a6 c5 00 lw a2, 12(a1) +800006e0: 03 28 44 00 lw a6, 4(s0) +800006e4: 03 25 84 00 lw a0, 8(s0) +800006e8: 93 84 14 00 addi s1, s1, 1 +800006ec: 33 07 c7 01 add a4, a4, t3 +800006f0: b3 86 66 00 add a3, a3, t1 +800006f4: b3 87 17 41 sub a5, a5, a7 +800006f8: 33 86 c7 00 add a2, a5, a2 +800006fc: e7 00 08 00 jalr a6 +80000700: 63 86 9a 02 beq s5, s1, 44 +80000704: 83 25 04 00 lw a1, 0(s0) +80000708: 83 47 84 01 lbu a5, 24(s0) +8000070c: e3 92 07 fa bnez a5, -92 +80000710: 33 c7 44 03 div a4, s1, s4 +80000714: 83 46 94 01 lbu a3, 25(s0) +80000718: b3 07 47 03 mul a5, a4, s4 +8000071c: b3 87 f4 40 sub a5, s1, a5 +80000720: e3 94 06 fa bnez a3, -88 +80000724: b3 c6 37 03 div a3, a5, s3 +80000728: 6f f0 9f fa j -88 +8000072c: 13 39 19 00 seqz s2, s2 +80000730: 6b 00 09 00 +80000734: 83 20 c1 01 lw ra, 28(sp) +80000738: 03 24 81 01 lw s0, 24(sp) +8000073c: 83 24 41 01 lw s1, 20(sp) +80000740: 03 29 01 01 lw s2, 16(sp) +80000744: 83 29 c1 00 lw s3, 12(sp) +80000748: 03 2a 81 00 lw s4, 8(sp) +8000074c: 83 2a 41 00 lw s5, 4(sp) +80000750: 13 01 01 02 addi sp, sp, 32 +80000754: 67 80 00 00 ret -80000ab0 exit: -80000ab0: 13 01 01 ff addi sp, sp, -16 -80000ab4: 93 05 00 00 mv a1, zero -80000ab8: 23 24 81 00 sw s0, 8(sp) -80000abc: 23 26 11 00 sw ra, 12(sp) -80000ac0: 13 04 05 00 mv s0, a0 -80000ac4: ef 00 00 29 jal 656 -80000ac8: b7 17 00 80 lui a5, 524289 -80000acc: 03 a5 07 43 lw a0, 1072(a5) -80000ad0: 83 27 c5 03 lw a5, 60(a0) -80000ad4: 63 84 07 00 beqz a5, 8 -80000ad8: e7 80 07 00 jalr a5 -80000adc: 13 05 04 00 mv a0, s0 -80000ae0: ef f0 df 9e jal -1556 +80000758 vx_spawn_kernel: +80000758: 13 01 01 fc addi sp, sp, -64 +8000075c: 23 2e 11 02 sw ra, 60(sp) +80000760: 23 2c 81 02 sw s0, 56(sp) +80000764: 23 2a 91 02 sw s1, 52(sp) +80000768: 23 28 21 03 sw s2, 48(sp) +8000076c: 23 26 31 03 sw s3, 44(sp) +80000770: f3 28 20 fc csrr a7, 4034 +80000774: 73 23 10 fc csrr t1, 4033 +80000778: 73 24 00 fc csrr s0, 4032 +8000077c: f3 27 50 cc csrr a5, 3269 +80000780: 13 07 f0 01 addi a4, zero, 31 +80000784: 63 46 f7 0e blt a4, a5, 236 +80000788: 03 2e 05 00 lw t3, 0(a0) +8000078c: 83 26 45 00 lw a3, 4(a0) +80000790: 03 28 85 00 lw a6, 8(a0) +80000794: b3 0e 83 02 mul t4, t1, s0 +80000798: 13 07 10 00 addi a4, zero, 1 +8000079c: b3 06 de 02 mul a3, t3, a3 +800007a0: 33 88 06 03 mul a6, a3, a6 +800007a4: 63 d4 0e 01 bge t4, a6, 8 +800007a8: 33 47 d8 03 div a4, a6, t4 +800007ac: 63 c0 e8 0e blt a7, a4, 224 +800007b0: 63 d0 e7 0c bge a5, a4, 192 +800007b4: 93 88 f8 ff addi a7, a7, -1 +800007b8: b3 4e e8 02 div t4, a6, a4 +800007bc: 93 84 0e 00 mv s1, t4 +800007c0: 63 96 f8 00 bne a7, a5, 12 +800007c4: 33 67 e8 02 rem a4, a6, a4 +800007c8: b3 04 d7 01 add s1, a4, t4 +800007cc: 33 c9 84 02 div s2, s1, s0 +800007d0: b3 e4 84 02 rem s1, s1, s0 +800007d4: 63 42 69 0c blt s2, t1, 196 +800007d8: 93 02 10 00 addi t0, zero, 1 +800007dc: 33 48 69 02 div a6, s2, t1 +800007e0: 63 06 08 00 beqz a6, 12 +800007e4: 93 02 08 00 mv t0, a6 +800007e8: 33 68 69 02 rem a6, s2, t1 +800007ec: d3 f7 06 d0 fcvt.s.w fa5, a3 +800007f0: 93 8f f6 ff addi t6, a3, -1 +800007f4: 13 0f fe ff addi t5, t3, -1 +800007f8: b7 19 00 80 lui s3, 524289 +800007fc: b3 f6 df 00 and a3, t6, a3 +80000800: 93 89 09 44 addi s3, s3, 1088 +80000804: 93 b6 16 00 seqz a3, a3 +80000808: 23 22 a1 00 sw a0, 4(sp) +8000080c: 23 24 b1 00 sw a1, 8(sp) +80000810: 23 26 c1 00 sw a2, 12(sp) +80000814: 23 2a 51 00 sw t0, 20(sp) +80000818: 23 2c 01 01 sw a6, 24(sp) +8000081c: 23 0e d1 00 sb a3, 28(sp) +80000820: 33 87 fe 02 mul a4, t4, a5 +80000824: d3 8e 07 e0 fmv.x.w t4, fa5 +80000828: d3 77 0e d0 fcvt.s.w fa5, t3 +8000082c: 93 97 27 00 slli a5, a5, 2 +80000830: 33 7e cf 01 and t3, t5, t3 +80000834: d3 88 07 e0 fmv.x.w a7, fa5 +80000838: 93 de 7e 41 srai t4, t4, 23 +8000083c: 13 3e 1e 00 seqz t3, t3 +80000840: 93 d8 78 41 srai a7, a7, 23 +80000844: 93 8e 1e f8 addi t4, t4, -127 +80000848: 93 88 18 f8 addi a7, a7, -127 +8000084c: b3 87 f9 00 add a5, s3, a5 +80000850: 23 28 e1 00 sw a4, 16(sp) +80000854: 13 07 41 00 addi a4, sp, 4 +80000858: a3 0e c1 01 sb t3, 29(sp) +8000085c: 23 0f d1 01 sb t4, 30(sp) +80000860: a3 0f 11 01 sb a7, 31(sp) +80000864: 23 a0 e7 00 sw a4, 0(a5) +80000868: 63 4e 20 03 bgtz s2, 60 +8000086c: 63 9c 04 04 bnez s1, 88 +80000870: 83 20 c1 03 lw ra, 60(sp) +80000874: 03 24 81 03 lw s0, 56(sp) +80000878: 83 24 41 03 lw s1, 52(sp) +8000087c: 03 29 01 03 lw s2, 48(sp) +80000880: 83 29 c1 02 lw s3, 44(sp) +80000884: 13 01 01 04 addi sp, sp, 64 +80000888: 67 80 00 00 ret +8000088c: 13 87 08 00 mv a4, a7 +80000890: e3 c2 e7 f2 blt a5, a4, -220 +80000894: 6f f0 df fd j -36 +80000898: 13 08 00 00 mv a6, zero +8000089c: 93 02 10 00 addi t0, zero, 1 +800008a0: 6f f0 df f4 j -180 +800008a4: 13 07 09 00 mv a4, s2 +800008a8: 63 54 23 01 bge t1, s2, 8 +800008ac: 13 07 03 00 mv a4, t1 +800008b0: b7 07 00 80 lui a5, 524288 +800008b4: 93 87 07 61 addi a5, a5, 1552 +800008b8: 6b 10 f7 00 +800008bc: ef f0 5f d5 jal -684 +800008c0: e3 88 04 fa beqz s1, -80 +800008c4: 33 04 89 02 mul s0, s2, s0 +800008c8: 23 28 81 00 sw s0, 16(sp) +800008cc: 6b 80 04 00 +800008d0: 73 27 50 cc csrr a4, 3269 +800008d4: f3 27 20 cc csrr a5, 3266 +800008d8: 13 17 27 00 slli a4, a4, 2 +800008dc: b3 89 e9 00 add s3, s3, a4 +800008e0: 03 a5 09 00 lw a0, 0(s3) +800008e4: 83 25 05 00 lw a1, 0(a0) +800008e8: 83 26 c5 00 lw a3, 12(a0) +800008ec: 03 47 85 01 lbu a4, 24(a0) +800008f0: 03 a8 05 00 lw a6, 0(a1) +800008f4: 03 a6 45 00 lw a2, 4(a1) +800008f8: b3 87 d7 00 add a5, a5, a3 +800008fc: 33 06 c8 02 mul a2, a6, a2 +80000900: 63 0e 07 06 beqz a4, 124 +80000904: 03 47 a5 01 lbu a4, 26(a0) +80000908: 33 d7 e7 40 sra a4, a5, a4 +8000090c: 83 46 95 01 lbu a3, 25(a0) +80000910: 33 06 e6 02 mul a2, a2, a4 +80000914: b3 87 c7 40 sub a5, a5, a2 +80000918: 63 8e 06 04 beqz a3, 92 +8000091c: 83 48 b5 01 lbu a7, 27(a0) +80000920: b3 d8 17 41 sra a7, a5, a7 +80000924: 33 08 18 03 mul a6, a6, a7 +80000928: 03 ae 45 01 lw t3, 20(a1) +8000092c: 83 a6 05 01 lw a3, 16(a1) +80000930: 03 a6 c5 00 lw a2, 12(a1) +80000934: 03 23 45 00 lw t1, 4(a0) +80000938: 03 25 85 00 lw a0, 8(a0) +8000093c: 33 07 c7 01 add a4, a4, t3 +80000940: b3 86 d8 00 add a3, a7, a3 +80000944: b3 87 07 41 sub a5, a5, a6 +80000948: 33 86 c7 00 add a2, a5, a2 +8000094c: e7 00 03 00 jalr t1 +80000950: 93 07 10 00 addi a5, zero, 1 +80000954: 6b 80 07 00 +80000958: 83 20 c1 03 lw ra, 60(sp) +8000095c: 03 24 81 03 lw s0, 56(sp) +80000960: 83 24 41 03 lw s1, 52(sp) +80000964: 03 29 01 03 lw s2, 48(sp) +80000968: 83 29 c1 02 lw s3, 44(sp) +8000096c: 13 01 01 04 addi sp, sp, 64 +80000970: 67 80 00 00 ret +80000974: b3 c8 07 03 div a7, a5, a6 +80000978: 6f f0 df fa j -84 +8000097c: 33 c7 c7 02 div a4, a5, a2 +80000980: 6f f0 df f8 j -116 -80000ae4 __libc_fini_array: -80000ae4: 13 01 01 ff addi sp, sp, -16 -80000ae8: 23 24 81 00 sw s0, 8(sp) -80000aec: b7 17 00 80 lui a5, 524289 -80000af0: 37 14 00 80 lui s0, 524289 -80000af4: 13 04 44 00 addi s0, s0, 4 -80000af8: 93 87 47 00 addi a5, a5, 4 -80000afc: b3 87 87 40 sub a5, a5, s0 -80000b00: 23 22 91 00 sw s1, 4(sp) -80000b04: 23 26 11 00 sw ra, 12(sp) -80000b08: 93 d4 27 40 srai s1, a5, 2 -80000b0c: 63 80 04 02 beqz s1, 32 -80000b10: 93 87 c7 ff addi a5, a5, -4 -80000b14: 33 84 87 00 add s0, a5, s0 -80000b18: 83 27 04 00 lw a5, 0(s0) -80000b1c: 93 84 f4 ff addi s1, s1, -1 -80000b20: 13 04 c4 ff addi s0, s0, -4 -80000b24: e7 80 07 00 jalr a5 -80000b28: e3 98 04 fe bnez s1, -16 -80000b2c: 83 20 c1 00 lw ra, 12(sp) -80000b30: 03 24 81 00 lw s0, 8(sp) -80000b34: 83 24 41 00 lw s1, 4(sp) -80000b38: 13 01 01 01 addi sp, sp, 16 -80000b3c: 67 80 00 00 ret +80000984 vx_perf_dump: +80000984: f3 27 50 cc csrr a5, 3269 +80000988: 37 07 ff 00 lui a4, 4080 +8000098c: b3 87 e7 00 add a5, a5, a4 +80000990: 93 97 87 00 slli a5, a5, 8 +80000994: 73 27 00 b0 csrr a4, mcycle +80000998: 23 a0 e7 00 sw a4, 0(a5) +8000099c: 73 27 10 b0 csrr a4, 2817 +800009a0: 23 a2 e7 00 sw a4, 4(a5) +800009a4: 73 27 20 b0 csrr a4, minstret +800009a8: 23 a4 e7 00 sw a4, 8(a5) +800009ac: 73 27 30 b0 csrr a4, mhpmcounter3 +800009b0: 23 a6 e7 00 sw a4, 12(a5) +800009b4: 73 27 40 b0 csrr a4, mhpmcounter4 +800009b8: 23 a8 e7 00 sw a4, 16(a5) +800009bc: 73 27 50 b0 csrr a4, mhpmcounter5 +800009c0: 23 aa e7 00 sw a4, 20(a5) +800009c4: 73 27 60 b0 csrr a4, mhpmcounter6 +800009c8: 23 ac e7 00 sw a4, 24(a5) +800009cc: 73 27 70 b0 csrr a4, mhpmcounter7 +800009d0: 23 ae e7 00 sw a4, 28(a5) +800009d4: 73 27 80 b0 csrr a4, mhpmcounter8 +800009d8: 23 a0 e7 02 sw a4, 32(a5) +800009dc: 73 27 90 b0 csrr a4, mhpmcounter9 +800009e0: 23 a2 e7 02 sw a4, 36(a5) +800009e4: 73 27 a0 b0 csrr a4, mhpmcounter10 +800009e8: 23 a4 e7 02 sw a4, 40(a5) +800009ec: 73 27 b0 b0 csrr a4, mhpmcounter11 +800009f0: 23 a6 e7 02 sw a4, 44(a5) +800009f4: 73 27 c0 b0 csrr a4, mhpmcounter12 +800009f8: 23 a8 e7 02 sw a4, 48(a5) +800009fc: 73 27 d0 b0 csrr a4, mhpmcounter13 +80000a00: 23 aa e7 02 sw a4, 52(a5) +80000a04: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000a08: 23 ac e7 02 sw a4, 56(a5) +80000a0c: 73 27 f0 b0 csrr a4, mhpmcounter15 +80000a10: 23 ae e7 02 sw a4, 60(a5) +80000a14: 73 27 00 b1 csrr a4, mhpmcounter16 +80000a18: 23 a0 e7 04 sw a4, 64(a5) +80000a1c: 73 27 10 b1 csrr a4, mhpmcounter17 +80000a20: 23 a2 e7 04 sw a4, 68(a5) +80000a24: 73 27 20 b1 csrr a4, mhpmcounter18 +80000a28: 23 a4 e7 04 sw a4, 72(a5) +80000a2c: 73 27 30 b1 csrr a4, mhpmcounter19 +80000a30: 23 a6 e7 04 sw a4, 76(a5) +80000a34: 73 27 40 b1 csrr a4, mhpmcounter20 +80000a38: 23 a8 e7 04 sw a4, 80(a5) +80000a3c: 73 27 50 b1 csrr a4, mhpmcounter21 +80000a40: 23 aa e7 04 sw a4, 84(a5) +80000a44: 73 27 60 b1 csrr a4, mhpmcounter22 +80000a48: 23 ac e7 04 sw a4, 88(a5) +80000a4c: 73 27 70 b1 csrr a4, mhpmcounter23 +80000a50: 23 ae e7 04 sw a4, 92(a5) +80000a54: 73 27 80 b1 csrr a4, mhpmcounter24 +80000a58: 23 a0 e7 06 sw a4, 96(a5) +80000a5c: 73 27 90 b1 csrr a4, mhpmcounter25 +80000a60: 23 a2 e7 06 sw a4, 100(a5) +80000a64: 73 27 a0 b1 csrr a4, mhpmcounter26 +80000a68: 23 a4 e7 06 sw a4, 104(a5) +80000a6c: 73 27 b0 b1 csrr a4, mhpmcounter27 +80000a70: 23 a6 e7 06 sw a4, 108(a5) +80000a74: 73 27 c0 b1 csrr a4, mhpmcounter28 +80000a78: 23 a8 e7 06 sw a4, 112(a5) +80000a7c: 73 27 d0 b1 csrr a4, mhpmcounter29 +80000a80: 23 aa e7 06 sw a4, 116(a5) +80000a84: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000a88: 23 ac e7 06 sw a4, 120(a5) +80000a8c: 73 27 f0 b1 csrr a4, mhpmcounter31 +80000a90: 23 ae e7 06 sw a4, 124(a5) +80000a94: 73 27 00 b8 csrr a4, mcycleh +80000a98: 23 a0 e7 08 sw a4, 128(a5) +80000a9c: 73 27 10 b8 csrr a4, 2945 +80000aa0: 23 a2 e7 08 sw a4, 132(a5) +80000aa4: 73 27 20 b8 csrr a4, minstreth +80000aa8: 23 a4 e7 08 sw a4, 136(a5) +80000aac: 73 27 30 b8 csrr a4, mhpmcounter3h +80000ab0: 23 a6 e7 08 sw a4, 140(a5) +80000ab4: 73 27 40 b8 csrr a4, mhpmcounter4h +80000ab8: 23 a8 e7 08 sw a4, 144(a5) +80000abc: 73 27 50 b8 csrr a4, mhpmcounter5h +80000ac0: 23 aa e7 08 sw a4, 148(a5) +80000ac4: 73 27 60 b8 csrr a4, mhpmcounter6h +80000ac8: 23 ac e7 08 sw a4, 152(a5) +80000acc: 73 27 70 b8 csrr a4, mhpmcounter7h +80000ad0: 23 ae e7 08 sw a4, 156(a5) +80000ad4: 73 27 80 b8 csrr a4, mhpmcounter8h +80000ad8: 23 a0 e7 0a sw a4, 160(a5) +80000adc: 73 27 90 b8 csrr a4, mhpmcounter9h +80000ae0: 23 a2 e7 0a sw a4, 164(a5) +80000ae4: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000ae8: 23 a4 e7 0a sw a4, 168(a5) +80000aec: 73 27 b0 b8 csrr a4, mhpmcounter11h +80000af0: 23 a6 e7 0a sw a4, 172(a5) +80000af4: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000af8: 23 a8 e7 0a sw a4, 176(a5) +80000afc: 73 27 d0 b8 csrr a4, mhpmcounter13h +80000b00: 23 aa e7 0a sw a4, 180(a5) +80000b04: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000b08: 23 ac e7 0a sw a4, 184(a5) +80000b0c: 73 27 f0 b8 csrr a4, mhpmcounter15h +80000b10: 23 ae e7 0a sw a4, 188(a5) +80000b14: 73 27 00 b9 csrr a4, mhpmcounter16h +80000b18: 23 a0 e7 0c sw a4, 192(a5) +80000b1c: 73 27 10 b9 csrr a4, mhpmcounter17h +80000b20: 23 a2 e7 0c sw a4, 196(a5) +80000b24: 73 27 20 b9 csrr a4, mhpmcounter18h +80000b28: 23 a4 e7 0c sw a4, 200(a5) +80000b2c: 73 27 30 b9 csrr a4, mhpmcounter19h +80000b30: 23 a6 e7 0c sw a4, 204(a5) +80000b34: 73 27 40 b9 csrr a4, mhpmcounter20h +80000b38: 23 a8 e7 0c sw a4, 208(a5) +80000b3c: 73 27 50 b9 csrr a4, mhpmcounter21h +80000b40: 23 aa e7 0c sw a4, 212(a5) +80000b44: 73 27 60 b9 csrr a4, mhpmcounter22h +80000b48: 23 ac e7 0c sw a4, 216(a5) +80000b4c: 73 27 70 b9 csrr a4, mhpmcounter23h +80000b50: 23 ae e7 0c sw a4, 220(a5) +80000b54: 73 27 80 b9 csrr a4, mhpmcounter24h +80000b58: 23 a0 e7 0e sw a4, 224(a5) +80000b5c: 73 27 90 b9 csrr a4, mhpmcounter25h +80000b60: 23 a2 e7 0e sw a4, 228(a5) +80000b64: 73 27 a0 b9 csrr a4, mhpmcounter26h +80000b68: 23 a4 e7 0e sw a4, 232(a5) +80000b6c: 73 27 b0 b9 csrr a4, mhpmcounter27h +80000b70: 23 a6 e7 0e sw a4, 236(a5) +80000b74: 73 27 c0 b9 csrr a4, mhpmcounter28h +80000b78: 23 a8 e7 0e sw a4, 240(a5) +80000b7c: 73 27 d0 b9 csrr a4, mhpmcounter29h +80000b80: 23 aa e7 0e sw a4, 244(a5) +80000b84: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000b88: 23 ac e7 0e sw a4, 248(a5) +80000b8c: 73 27 f0 b9 csrr a4, mhpmcounter31h +80000b90: 23 ae e7 0e sw a4, 252(a5) +80000b94: 67 80 00 00 ret -80000b40 __libc_init_array: -80000b40: 13 01 01 ff addi sp, sp, -16 -80000b44: 23 24 81 00 sw s0, 8(sp) -80000b48: 23 20 21 01 sw s2, 0(sp) -80000b4c: 37 14 00 80 lui s0, 524289 -80000b50: 37 19 00 80 lui s2, 524289 -80000b54: 93 07 04 00 mv a5, s0 -80000b58: 13 09 09 00 mv s2, s2 -80000b5c: 33 09 f9 40 sub s2, s2, a5 -80000b60: 23 26 11 00 sw ra, 12(sp) -80000b64: 23 22 91 00 sw s1, 4(sp) -80000b68: 13 59 29 40 srai s2, s2, 2 -80000b6c: 63 00 09 02 beqz s2, 32 -80000b70: 13 04 04 00 mv s0, s0 -80000b74: 93 04 00 00 mv s1, zero -80000b78: 83 27 04 00 lw a5, 0(s0) -80000b7c: 93 84 14 00 addi s1, s1, 1 -80000b80: 13 04 44 00 addi s0, s0, 4 -80000b84: e7 80 07 00 jalr a5 -80000b88: e3 18 99 fe bne s2, s1, -16 -80000b8c: 37 14 00 80 lui s0, 524289 -80000b90: 37 19 00 80 lui s2, 524289 -80000b94: 93 07 04 00 mv a5, s0 -80000b98: 13 09 49 00 addi s2, s2, 4 -80000b9c: 33 09 f9 40 sub s2, s2, a5 -80000ba0: 13 59 29 40 srai s2, s2, 2 -80000ba4: 63 00 09 02 beqz s2, 32 -80000ba8: 13 04 04 00 mv s0, s0 -80000bac: 93 04 00 00 mv s1, zero -80000bb0: 83 27 04 00 lw a5, 0(s0) -80000bb4: 93 84 14 00 addi s1, s1, 1 -80000bb8: 13 04 44 00 addi s0, s0, 4 -80000bbc: e7 80 07 00 jalr a5 -80000bc0: e3 18 99 fe bne s2, s1, -16 -80000bc4: 83 20 c1 00 lw ra, 12(sp) -80000bc8: 03 24 81 00 lw s0, 8(sp) -80000bcc: 83 24 41 00 lw s1, 4(sp) -80000bd0: 03 29 01 00 lw s2, 0(sp) -80000bd4: 13 01 01 01 addi sp, sp, 16 -80000bd8: 67 80 00 00 ret +80000b98 atexit: +80000b98: 93 05 05 00 mv a1, a0 +80000b9c: 93 06 00 00 mv a3, zero +80000ba0: 13 06 00 00 mv a2, zero +80000ba4: 13 05 00 00 mv a0, zero +80000ba8: 6f 00 40 11 j 276 -80000bdc memset: -80000bdc: 13 03 f0 00 addi t1, zero, 15 -80000be0: 13 07 05 00 mv a4, a0 -80000be4: 63 7e c3 02 bgeu t1, a2, 60 -80000be8: 93 77 f7 00 andi a5, a4, 15 -80000bec: 63 90 07 0a bnez a5, 160 -80000bf0: 63 92 05 08 bnez a1, 132 -80000bf4: 93 76 06 ff andi a3, a2, -16 -80000bf8: 13 76 f6 00 andi a2, a2, 15 -80000bfc: b3 86 e6 00 add a3, a3, a4 -80000c00: 23 20 b7 00 sw a1, 0(a4) -80000c04: 23 22 b7 00 sw a1, 4(a4) -80000c08: 23 24 b7 00 sw a1, 8(a4) -80000c0c: 23 26 b7 00 sw a1, 12(a4) -80000c10: 13 07 07 01 addi a4, a4, 16 -80000c14: e3 66 d7 fe bltu a4, a3, -20 -80000c18: 63 14 06 00 bnez a2, 8 -80000c1c: 67 80 00 00 ret -80000c20: b3 06 c3 40 sub a3, t1, a2 -80000c24: 93 96 26 00 slli a3, a3, 2 -80000c28: 97 02 00 00 auipc t0, 0 -80000c2c: b3 86 56 00 add a3, a3, t0 -80000c30: 67 80 c6 00 jr 12(a3) -80000c34: 23 07 b7 00 sb a1, 14(a4) -80000c38: a3 06 b7 00 sb a1, 13(a4) -80000c3c: 23 06 b7 00 sb a1, 12(a4) -80000c40: a3 05 b7 00 sb a1, 11(a4) -80000c44: 23 05 b7 00 sb a1, 10(a4) -80000c48: a3 04 b7 00 sb a1, 9(a4) -80000c4c: 23 04 b7 00 sb a1, 8(a4) -80000c50: a3 03 b7 00 sb a1, 7(a4) -80000c54: 23 03 b7 00 sb a1, 6(a4) -80000c58: a3 02 b7 00 sb a1, 5(a4) -80000c5c: 23 02 b7 00 sb a1, 4(a4) -80000c60: a3 01 b7 00 sb a1, 3(a4) -80000c64: 23 01 b7 00 sb a1, 2(a4) -80000c68: a3 00 b7 00 sb a1, 1(a4) -80000c6c: 23 00 b7 00 sb a1, 0(a4) -80000c70: 67 80 00 00 ret -80000c74: 93 f5 f5 0f andi a1, a1, 255 -80000c78: 93 96 85 00 slli a3, a1, 8 -80000c7c: b3 e5 d5 00 or a1, a1, a3 -80000c80: 93 96 05 01 slli a3, a1, 16 -80000c84: b3 e5 d5 00 or a1, a1, a3 -80000c88: 6f f0 df f6 j -148 -80000c8c: 93 96 27 00 slli a3, a5, 2 -80000c90: 97 02 00 00 auipc t0, 0 -80000c94: b3 86 56 00 add a3, a3, t0 -80000c98: 93 82 00 00 mv t0, ra -80000c9c: e7 80 06 fa jalr -96(a3) -80000ca0: 93 80 02 00 mv ra, t0 -80000ca4: 93 87 07 ff addi a5, a5, -16 -80000ca8: 33 07 f7 40 sub a4, a4, a5 -80000cac: 33 06 f6 00 add a2, a2, a5 -80000cb0: e3 78 c3 f6 bgeu t1, a2, -144 -80000cb4: 6f f0 df f3 j -196 +80000bac exit: +80000bac: 13 01 01 ff addi sp, sp, -16 +80000bb0: 93 05 00 00 mv a1, zero +80000bb4: 23 24 81 00 sw s0, 8(sp) +80000bb8: 23 26 11 00 sw ra, 12(sp) +80000bbc: 13 04 05 00 mv s0, a0 +80000bc0: ef 00 80 19 jal 408 +80000bc4: b7 17 00 80 lui a5, 524289 +80000bc8: 03 a5 07 43 lw a0, 1072(a5) +80000bcc: 83 27 c5 03 lw a5, 60(a0) +80000bd0: 63 84 07 00 beqz a5, 8 +80000bd4: e7 80 07 00 jalr a5 +80000bd8: 13 05 04 00 mv a0, s0 +80000bdc: ef f0 1f 8f jal -1808 -80000cb8 __register_exitproc: -80000cb8: b7 17 00 80 lui a5, 524289 -80000cbc: 03 a7 07 43 lw a4, 1072(a5) -80000cc0: 83 27 87 14 lw a5, 328(a4) -80000cc4: 63 8c 07 04 beqz a5, 88 -80000cc8: 03 a7 47 00 lw a4, 4(a5) -80000ccc: 13 08 f0 01 addi a6, zero, 31 -80000cd0: 63 4e e8 06 blt a6, a4, 124 -80000cd4: 13 18 27 00 slli a6, a4, 2 -80000cd8: 63 06 05 02 beqz a0, 44 -80000cdc: 33 83 07 01 add t1, a5, a6 -80000ce0: 23 24 c3 08 sw a2, 136(t1) -80000ce4: 83 a8 87 18 lw a7, 392(a5) -80000ce8: 13 06 10 00 addi a2, zero, 1 -80000cec: 33 16 e6 00 sll a2, a2, a4 -80000cf0: b3 e8 c8 00 or a7, a7, a2 -80000cf4: 23 a4 17 19 sw a7, 392(a5) -80000cf8: 23 24 d3 10 sw a3, 264(t1) -80000cfc: 93 06 20 00 addi a3, zero, 2 -80000d00: 63 04 d5 02 beq a0, a3, 40 -80000d04: 13 07 17 00 addi a4, a4, 1 -80000d08: 23 a2 e7 00 sw a4, 4(a5) -80000d0c: b3 87 07 01 add a5, a5, a6 -80000d10: 23 a4 b7 00 sw a1, 8(a5) -80000d14: 13 05 00 00 mv a0, zero -80000d18: 67 80 00 00 ret -80000d1c: 93 07 c7 14 addi a5, a4, 332 -80000d20: 23 24 f7 14 sw a5, 328(a4) -80000d24: 6f f0 5f fa j -92 -80000d28: 83 a6 c7 18 lw a3, 396(a5) -80000d2c: 13 07 17 00 addi a4, a4, 1 -80000d30: 23 a2 e7 00 sw a4, 4(a5) -80000d34: 33 e6 c6 00 or a2, a3, a2 -80000d38: 23 a6 c7 18 sw a2, 396(a5) -80000d3c: b3 87 07 01 add a5, a5, a6 -80000d40: 23 a4 b7 00 sw a1, 8(a5) -80000d44: 13 05 00 00 mv a0, zero -80000d48: 67 80 00 00 ret -80000d4c: 13 05 f0 ff addi a0, zero, -1 -80000d50: 67 80 00 00 ret +80000be0 memset: +80000be0: 13 03 f0 00 addi t1, zero, 15 +80000be4: 13 07 05 00 mv a4, a0 +80000be8: 63 7e c3 02 bgeu t1, a2, 60 +80000bec: 93 77 f7 00 andi a5, a4, 15 +80000bf0: 63 90 07 0a bnez a5, 160 +80000bf4: 63 92 05 08 bnez a1, 132 +80000bf8: 93 76 06 ff andi a3, a2, -16 +80000bfc: 13 76 f6 00 andi a2, a2, 15 +80000c00: b3 86 e6 00 add a3, a3, a4 +80000c04: 23 20 b7 00 sw a1, 0(a4) +80000c08: 23 22 b7 00 sw a1, 4(a4) +80000c0c: 23 24 b7 00 sw a1, 8(a4) +80000c10: 23 26 b7 00 sw a1, 12(a4) +80000c14: 13 07 07 01 addi a4, a4, 16 +80000c18: e3 66 d7 fe bltu a4, a3, -20 +80000c1c: 63 14 06 00 bnez a2, 8 +80000c20: 67 80 00 00 ret +80000c24: b3 06 c3 40 sub a3, t1, a2 +80000c28: 93 96 26 00 slli a3, a3, 2 +80000c2c: 97 02 00 00 auipc t0, 0 +80000c30: b3 86 56 00 add a3, a3, t0 +80000c34: 67 80 c6 00 jr 12(a3) +80000c38: 23 07 b7 00 sb a1, 14(a4) +80000c3c: a3 06 b7 00 sb a1, 13(a4) +80000c40: 23 06 b7 00 sb a1, 12(a4) +80000c44: a3 05 b7 00 sb a1, 11(a4) +80000c48: 23 05 b7 00 sb a1, 10(a4) +80000c4c: a3 04 b7 00 sb a1, 9(a4) +80000c50: 23 04 b7 00 sb a1, 8(a4) +80000c54: a3 03 b7 00 sb a1, 7(a4) +80000c58: 23 03 b7 00 sb a1, 6(a4) +80000c5c: a3 02 b7 00 sb a1, 5(a4) +80000c60: 23 02 b7 00 sb a1, 4(a4) +80000c64: a3 01 b7 00 sb a1, 3(a4) +80000c68: 23 01 b7 00 sb a1, 2(a4) +80000c6c: a3 00 b7 00 sb a1, 1(a4) +80000c70: 23 00 b7 00 sb a1, 0(a4) +80000c74: 67 80 00 00 ret +80000c78: 93 f5 f5 0f andi a1, a1, 255 +80000c7c: 93 96 85 00 slli a3, a1, 8 +80000c80: b3 e5 d5 00 or a1, a1, a3 +80000c84: 93 96 05 01 slli a3, a1, 16 +80000c88: b3 e5 d5 00 or a1, a1, a3 +80000c8c: 6f f0 df f6 j -148 +80000c90: 93 96 27 00 slli a3, a5, 2 +80000c94: 97 02 00 00 auipc t0, 0 +80000c98: b3 86 56 00 add a3, a3, t0 +80000c9c: 93 82 00 00 mv t0, ra +80000ca0: e7 80 06 fa jalr -96(a3) +80000ca4: 93 80 02 00 mv ra, t0 +80000ca8: 93 87 07 ff addi a5, a5, -16 +80000cac: 33 07 f7 40 sub a4, a4, a5 +80000cb0: 33 06 f6 00 add a2, a2, a5 +80000cb4: e3 78 c3 f6 bgeu t1, a2, -144 +80000cb8: 6f f0 df f3 j -196 -80000d54 __call_exitprocs: -80000d54: 13 01 01 fd addi sp, sp, -48 -80000d58: b7 17 00 80 lui a5, 524289 -80000d5c: 23 2c 41 01 sw s4, 24(sp) -80000d60: 03 aa 07 43 lw s4, 1072(a5) -80000d64: 23 20 21 03 sw s2, 32(sp) -80000d68: 23 26 11 02 sw ra, 44(sp) -80000d6c: 03 29 8a 14 lw s2, 328(s4) -80000d70: 23 24 81 02 sw s0, 40(sp) -80000d74: 23 22 91 02 sw s1, 36(sp) -80000d78: 23 2e 31 01 sw s3, 28(sp) -80000d7c: 23 2a 51 01 sw s5, 20(sp) -80000d80: 23 28 61 01 sw s6, 16(sp) -80000d84: 23 26 71 01 sw s7, 12(sp) -80000d88: 23 24 81 01 sw s8, 8(sp) -80000d8c: 63 00 09 04 beqz s2, 64 -80000d90: 13 0b 05 00 mv s6, a0 -80000d94: 93 8b 05 00 mv s7, a1 -80000d98: 93 0a 10 00 addi s5, zero, 1 -80000d9c: 93 09 f0 ff addi s3, zero, -1 -80000da0: 83 24 49 00 lw s1, 4(s2) -80000da4: 13 84 f4 ff addi s0, s1, -1 -80000da8: 63 42 04 02 bltz s0, 36 -80000dac: 93 94 24 00 slli s1, s1, 2 -80000db0: b3 04 99 00 add s1, s2, s1 -80000db4: 63 84 0b 04 beqz s7, 72 -80000db8: 83 a7 44 10 lw a5, 260(s1) -80000dbc: 63 80 77 05 beq a5, s7, 64 -80000dc0: 13 04 f4 ff addi s0, s0, -1 -80000dc4: 93 84 c4 ff addi s1, s1, -4 -80000dc8: e3 16 34 ff bne s0, s3, -20 -80000dcc: 83 20 c1 02 lw ra, 44(sp) -80000dd0: 03 24 81 02 lw s0, 40(sp) -80000dd4: 83 24 41 02 lw s1, 36(sp) -80000dd8: 03 29 01 02 lw s2, 32(sp) -80000ddc: 83 29 c1 01 lw s3, 28(sp) -80000de0: 03 2a 81 01 lw s4, 24(sp) -80000de4: 83 2a 41 01 lw s5, 20(sp) -80000de8: 03 2b 01 01 lw s6, 16(sp) -80000dec: 83 2b c1 00 lw s7, 12(sp) -80000df0: 03 2c 81 00 lw s8, 8(sp) -80000df4: 13 01 01 03 addi sp, sp, 48 -80000df8: 67 80 00 00 ret -80000dfc: 83 27 49 00 lw a5, 4(s2) -80000e00: 83 a6 44 00 lw a3, 4(s1) -80000e04: 93 87 f7 ff addi a5, a5, -1 -80000e08: 63 8e 87 04 beq a5, s0, 92 -80000e0c: 23 a2 04 00 sw zero, 4(s1) -80000e10: e3 88 06 fa beqz a3, -80 -80000e14: 83 27 89 18 lw a5, 392(s2) -80000e18: 33 97 8a 00 sll a4, s5, s0 -80000e1c: 03 2c 49 00 lw s8, 4(s2) -80000e20: b3 77 f7 00 and a5, a4, a5 -80000e24: 63 92 07 02 bnez a5, 36 -80000e28: e7 80 06 00 jalr a3 -80000e2c: 03 27 49 00 lw a4, 4(s2) -80000e30: 83 27 8a 14 lw a5, 328(s4) -80000e34: 63 14 87 01 bne a4, s8, 8 -80000e38: e3 04 f9 f8 beq s2, a5, -120 -80000e3c: e3 88 07 f8 beqz a5, -112 -80000e40: 13 89 07 00 mv s2, a5 -80000e44: 6f f0 df f5 j -164 -80000e48: 83 27 c9 18 lw a5, 396(s2) -80000e4c: 83 a5 44 08 lw a1, 132(s1) -80000e50: 33 77 f7 00 and a4, a4, a5 -80000e54: 63 1c 07 00 bnez a4, 24 -80000e58: 13 05 0b 00 mv a0, s6 -80000e5c: e7 80 06 00 jalr a3 -80000e60: 6f f0 df fc j -52 -80000e64: 23 22 89 00 sw s0, 4(s2) -80000e68: 6f f0 9f fa j -88 -80000e6c: 13 85 05 00 mv a0, a1 -80000e70: e7 80 06 00 jalr a3 -80000e74: 6f f0 9f fb j -72 +80000cbc __register_exitproc: +80000cbc: b7 17 00 80 lui a5, 524289 +80000cc0: 03 a7 07 43 lw a4, 1072(a5) +80000cc4: 83 27 87 14 lw a5, 328(a4) +80000cc8: 63 8c 07 04 beqz a5, 88 +80000ccc: 03 a7 47 00 lw a4, 4(a5) +80000cd0: 13 08 f0 01 addi a6, zero, 31 +80000cd4: 63 4e e8 06 blt a6, a4, 124 +80000cd8: 13 18 27 00 slli a6, a4, 2 +80000cdc: 63 06 05 02 beqz a0, 44 +80000ce0: 33 83 07 01 add t1, a5, a6 +80000ce4: 23 24 c3 08 sw a2, 136(t1) +80000ce8: 83 a8 87 18 lw a7, 392(a5) +80000cec: 13 06 10 00 addi a2, zero, 1 +80000cf0: 33 16 e6 00 sll a2, a2, a4 +80000cf4: b3 e8 c8 00 or a7, a7, a2 +80000cf8: 23 a4 17 19 sw a7, 392(a5) +80000cfc: 23 24 d3 10 sw a3, 264(t1) +80000d00: 93 06 20 00 addi a3, zero, 2 +80000d04: 63 04 d5 02 beq a0, a3, 40 +80000d08: 13 07 17 00 addi a4, a4, 1 +80000d0c: 23 a2 e7 00 sw a4, 4(a5) +80000d10: b3 87 07 01 add a5, a5, a6 +80000d14: 23 a4 b7 00 sw a1, 8(a5) +80000d18: 13 05 00 00 mv a0, zero +80000d1c: 67 80 00 00 ret +80000d20: 93 07 c7 14 addi a5, a4, 332 +80000d24: 23 24 f7 14 sw a5, 328(a4) +80000d28: 6f f0 5f fa j -92 +80000d2c: 83 a6 c7 18 lw a3, 396(a5) +80000d30: 13 07 17 00 addi a4, a4, 1 +80000d34: 23 a2 e7 00 sw a4, 4(a5) +80000d38: 33 e6 c6 00 or a2, a3, a2 +80000d3c: 23 a6 c7 18 sw a2, 396(a5) +80000d40: b3 87 07 01 add a5, a5, a6 +80000d44: 23 a4 b7 00 sw a1, 8(a5) +80000d48: 13 05 00 00 mv a0, zero +80000d4c: 67 80 00 00 ret +80000d50: 13 05 f0 ff addi a0, zero, -1 +80000d54: 67 80 00 00 ret + +80000d58 __call_exitprocs: +80000d58: 13 01 01 fd addi sp, sp, -48 +80000d5c: b7 17 00 80 lui a5, 524289 +80000d60: 23 2c 41 01 sw s4, 24(sp) +80000d64: 03 aa 07 43 lw s4, 1072(a5) +80000d68: 23 20 21 03 sw s2, 32(sp) +80000d6c: 23 26 11 02 sw ra, 44(sp) +80000d70: 03 29 8a 14 lw s2, 328(s4) +80000d74: 23 24 81 02 sw s0, 40(sp) +80000d78: 23 22 91 02 sw s1, 36(sp) +80000d7c: 23 2e 31 01 sw s3, 28(sp) +80000d80: 23 2a 51 01 sw s5, 20(sp) +80000d84: 23 28 61 01 sw s6, 16(sp) +80000d88: 23 26 71 01 sw s7, 12(sp) +80000d8c: 23 24 81 01 sw s8, 8(sp) +80000d90: 63 00 09 04 beqz s2, 64 +80000d94: 13 0b 05 00 mv s6, a0 +80000d98: 93 8b 05 00 mv s7, a1 +80000d9c: 93 0a 10 00 addi s5, zero, 1 +80000da0: 93 09 f0 ff addi s3, zero, -1 +80000da4: 83 24 49 00 lw s1, 4(s2) +80000da8: 13 84 f4 ff addi s0, s1, -1 +80000dac: 63 42 04 02 bltz s0, 36 +80000db0: 93 94 24 00 slli s1, s1, 2 +80000db4: b3 04 99 00 add s1, s2, s1 +80000db8: 63 84 0b 04 beqz s7, 72 +80000dbc: 83 a7 44 10 lw a5, 260(s1) +80000dc0: 63 80 77 05 beq a5, s7, 64 +80000dc4: 13 04 f4 ff addi s0, s0, -1 +80000dc8: 93 84 c4 ff addi s1, s1, -4 +80000dcc: e3 16 34 ff bne s0, s3, -20 +80000dd0: 83 20 c1 02 lw ra, 44(sp) +80000dd4: 03 24 81 02 lw s0, 40(sp) +80000dd8: 83 24 41 02 lw s1, 36(sp) +80000ddc: 03 29 01 02 lw s2, 32(sp) +80000de0: 83 29 c1 01 lw s3, 28(sp) +80000de4: 03 2a 81 01 lw s4, 24(sp) +80000de8: 83 2a 41 01 lw s5, 20(sp) +80000dec: 03 2b 01 01 lw s6, 16(sp) +80000df0: 83 2b c1 00 lw s7, 12(sp) +80000df4: 03 2c 81 00 lw s8, 8(sp) +80000df8: 13 01 01 03 addi sp, sp, 48 +80000dfc: 67 80 00 00 ret +80000e00: 83 27 49 00 lw a5, 4(s2) +80000e04: 83 a6 44 00 lw a3, 4(s1) +80000e08: 93 87 f7 ff addi a5, a5, -1 +80000e0c: 63 8e 87 04 beq a5, s0, 92 +80000e10: 23 a2 04 00 sw zero, 4(s1) +80000e14: e3 88 06 fa beqz a3, -80 +80000e18: 83 27 89 18 lw a5, 392(s2) +80000e1c: 33 97 8a 00 sll a4, s5, s0 +80000e20: 03 2c 49 00 lw s8, 4(s2) +80000e24: b3 77 f7 00 and a5, a4, a5 +80000e28: 63 92 07 02 bnez a5, 36 +80000e2c: e7 80 06 00 jalr a3 +80000e30: 03 27 49 00 lw a4, 4(s2) +80000e34: 83 27 8a 14 lw a5, 328(s4) +80000e38: 63 14 87 01 bne a4, s8, 8 +80000e3c: e3 04 f9 f8 beq s2, a5, -120 +80000e40: e3 88 07 f8 beqz a5, -112 +80000e44: 13 89 07 00 mv s2, a5 +80000e48: 6f f0 df f5 j -164 +80000e4c: 83 27 c9 18 lw a5, 396(s2) +80000e50: 83 a5 44 08 lw a1, 132(s1) +80000e54: 33 77 f7 00 and a4, a4, a5 +80000e58: 63 1c 07 00 bnez a4, 24 +80000e5c: 13 05 0b 00 mv a0, s6 +80000e60: e7 80 06 00 jalr a3 +80000e64: 6f f0 df fc j -52 +80000e68: 23 22 89 00 sw s0, 4(s2) +80000e6c: 6f f0 9f fa j -88 +80000e70: 13 85 05 00 mv a0, a1 +80000e74: e7 80 06 00 jalr a3 +80000e78: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -1143,80 +1146,83 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 10 05 + a4: d8 04 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 14 05 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: 14 05 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: 10 06 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 184: 08 10 186: 00 80 @@ -1227,54 +1233,54 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 1a4: 04 10 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 cd 00 lb zero, 12(s10) + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 1b4: 04 10 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 e0 00 lb zero, 14(zero) + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 1c4: 04 10 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 1d4: 00 10 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 1e4: 00 10 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 1f4: 00 10 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 00 04 216: 00 00 @@ -1282,7 +1288,7 @@ Disassembly of section .symtab: 21a: 00 00 21c: 10 00 21e: f1 ff - 220: 49 01 + 220: 59 01 222: 00 00 224: 40 14 226: 00 80 @@ -1290,14 +1296,14 @@ Disassembly of section .symtab: 22a: 00 00 22c: 11 00 22e: 06 00 - 230: 57 01 00 00 + 230: 67 01 00 00 jalr sp, zero 234: 00 02 236: 00 80 238: 6c 01 23a: 00 00 23c: 12 00 23e: 02 00 - 240: 74 01 + 240: 84 01 242: 00 00 244: 30 14 246: 00 80 @@ -1305,7 +1311,7 @@ Disassembly of section .symtab: 24a: 00 00 24c: 10 00 24e: 05 00 - 250: 84 01 + 250: 94 01 252: 00 00 254: 08 18 256: 00 80 @@ -1313,7 +1319,7 @@ Disassembly of section .symtab: 25a: 00 00 25c: 10 00 25e: f1 ff - 260: 95 01 + 260: a5 01 262: 00 00 264: 30 14 266: 00 80 @@ -1321,168 +1327,160 @@ Disassembly of section .symtab: 26a: 00 00 26c: 11 00 26e: 05 00 - 270: a8 01 + 270: b8 01 272: 00 00 - 274: 40 0b + 274: 18 05 276: 00 80 278: 9c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: ba 01 + 280: ca 01 282: 00 00 - 284: e4 0a + 284: b4 05 286: 00 80 288: 5c 00 28a: 00 00 28c: 12 00 28e: 02 00 - 290: cc 01 + 290: dc 01 292: 00 00 - 294: 00 00 - 296: 00 ff + 294: e4 04 + 296: 00 80 298: 00 00 29a: 00 00 - 29c: 10 00 - 29e: f1 ff - 2a0: d8 01 + 29c: 12 00 + 29e: 02 00 + 2a0: e6 01 2a2: 00 00 - 2a4: d8 04 + 2a4: 58 0d 2a6: 00 80 - 2a8: 00 00 + 2a8: 24 01 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: e2 01 + 2b0: 1c 02 2b2: 00 00 - 2b4: 54 0d + 2b4: 00 00 2b6: 00 80 - 2b8: 24 01 + 2b8: 50 00 2ba: 00 00 2bc: 12 00 - 2be: 02 00 - 2c0: 18 02 - 2c2: 00 00 - 2c4: 00 00 + 2be: 01 00 + 2c0: f7 01 00 00 + 2c4: bc 0c 2c6: 00 80 - 2c8: 50 00 + 2c8: 9c 00 2ca: 00 00 2cc: 12 00 - 2ce: 01 00 - 2d0: f3 01 00 00 - 2d4: b8 0c + 2ce: 02 00 + 2d0: 0b 02 00 00 + 2d4: c0 14 2d6: 00 80 - 2d8: 9c 00 + 2d8: 00 00 2da: 00 00 - 2dc: 12 00 - 2de: 02 00 - 2e0: 07 02 00 00 - 2e4: c0 14 + 2dc: 10 00 + 2de: 06 00 + 2e0: 17 02 00 00 auipc tp, 0 + 2e4: 40 14 2e6: 00 80 2e8: 00 00 2ea: 00 00 2ec: 10 00 2ee: 06 00 - 2f0: 13 02 00 00 mv tp, zero - 2f4: 40 14 + 2f0: 23 02 00 00 sb zero, 4(zero) + 2f4: 6c 03 2f6: 00 80 - 2f8: 00 00 + 2f8: 60 01 2fa: 00 00 - 2fc: 10 00 - 2fe: 06 00 - 300: 1f 02 00 00 - 304: 6c 03 + 2fc: 12 00 + 2fe: 02 00 + 300: 45 02 + 302: 00 00 + 304: e0 0b 306: 00 80 - 308: 60 01 + 308: dc 00 30a: 00 00 30c: 12 00 30e: 02 00 - 310: 41 02 + 310: 4c 02 312: 00 00 - 314: dc 0b + 314: 68 00 316: 00 80 - 318: dc 00 + 318: 30 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 48 02 + 320: 51 02 322: 00 00 - 324: 68 00 + 324: 98 0b 326: 00 80 - 328: 30 00 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 4d 02 + 330: 58 02 332: 00 00 - 334: 9c 0a + 334: 08 10 336: 00 80 - 338: 14 00 + 338: 00 00 33a: 00 00 - 33c: 12 00 - 33e: 02 00 - 340: 54 02 - 342: 00 00 - 344: 08 10 + 33c: 10 00 + 33e: 04 00 + 340: 67 02 00 00 jalr tp, zero + 344: 40 14 346: 00 80 348: 00 00 34a: 00 00 34c: 10 00 - 34e: 04 00 - 350: 63 02 00 00 beqz zero, 4 - 354: 40 14 + 34e: 05 00 + 350: d8 00 + 352: 00 00 + 354: c0 14 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 05 00 - 360: c8 00 - 362: 00 00 - 364: c0 14 + 35e: 06 00 + 360: 8f 02 00 00 + 364: ac 0b 366: 00 80 - 368: 00 00 + 368: 34 00 36a: 00 00 - 36c: 10 00 - 36e: 06 00 - 370: 8b 02 00 00 - 374: b0 0a + 36c: 12 00 + 36e: 02 00 + 370: 6e 02 + 372: 00 00 + 374: 98 00 376: 00 80 - 378: 34 00 + 378: 68 01 37a: 00 00 37c: 12 00 37e: 02 00 - 380: 6a 02 + 380: 81 02 382: 00 00 - 384: 98 00 + 384: 84 09 386: 00 80 - 388: 68 01 + 388: 14 02 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 7d 02 + 390: 8e 02 392: 00 00 - 394: 88 08 + 394: cc 04 396: 00 80 - 398: 14 02 + 398: 00 00 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 8a 02 + 3a0: 94 02 3a2: 00 00 - 3a4: cc 04 + 3a4: 58 07 3a6: 00 80 - 3a8: 00 00 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 90 02 - 3b2: 00 00 - 3b4: 5c 06 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1492,254 +1490,258 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 61 34 - 48: 2d 30 - 4a: 31 2d - 4c: 37 31 2d 35 lui sp, 217811 - 50: 37 2d 36 61 lui s10, 398178 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 5f 73 74 - 140: 61 63 - 142: 6b 5f 73 69 - 146: 7a 65 - 148: 00 67 - 14a: 5f 77 73 70 - 14e: 61 77 - 150: 6e 5f - 152: 61 72 - 154: 67 73 00 5f - 158: 70 6f - 15a: 63 6c 5f 6b bltu t5, s5, 1720 - 15e: 65 72 - 160: 6e 65 - 162: 6c 5f - 164: 73 67 65 6d csrrsi a4, 1750, 10 - 168: 6d 5f - 16a: 77 6f 72 6b - 16e: 67 72 6f 75 - 172: 70 00 - 174: 5f 5f 53 44 - 178: 41 54 - 17a: 41 5f - 17c: 42 45 - 17e: 47 49 4e 5f - 182: 5f 00 5f 5f - 186: 67 6c 6f 62 - 18a: 61 6c - 18c: 5f 70 6f 69 - 190: 6e 74 - 192: 65 72 - 194: 00 5f + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 32 30 + 58: 2d 38 + 5a: 62 2d + 5c: 62 66 + 5e: 2d 36 + 60: 37 2d 30 64 lui s10, 410370 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 5f 73 74 + 150: 61 63 + 152: 6b 5f 73 69 + 156: 7a 65 + 158: 00 67 + 15a: 5f 77 73 70 + 15e: 61 77 + 160: 6e 5f + 162: 61 72 + 164: 67 73 00 5f + 168: 70 6f + 16a: 63 6c 5f 6b bltu t5, s5, 1720 + 16e: 65 72 + 170: 6e 65 + 172: 6c 5f + 174: 73 67 65 6d csrrsi a4, 1750, 10 + 178: 6d 5f + 17a: 77 6f 72 6b + 17e: 67 72 6f 75 + 182: 70 00 + 184: 5f 5f 53 44 + 188: 41 54 + 18a: 41 5f + 18c: 42 45 + 18e: 47 49 4e 5f + 192: 5f 00 5f 5f 196: 67 6c 6f 62 19a: 61 6c - 19c: 5f 69 6d 70 - 1a0: 75 72 - 1a2: 65 5f - 1a4: 70 74 - 1a6: 72 00 - 1a8: 5f 5f 6c 69 - 1ac: 62 63 - 1ae: 5f 69 6e 69 - 1b2: 74 5f - 1b4: 61 72 - 1b6: 72 61 - 1b8: 79 00 - 1ba: 5f 5f 6c 69 - 1be: 62 63 - 1c0: 5f 66 69 6e - 1c4: 69 5f - 1c6: 61 72 - 1c8: 72 61 - 1ca: 79 00 - 1cc: 5f 5f 73 74 - 1d0: 61 63 - 1d2: 6b 5f 74 6f - 1d6: 70 00 - 1d8: 76 78 - 1da: 5f 73 65 74 - 1de: 5f 73 70 00 - 1e2: 5f 5f 63 61 - 1e6: 6c 6c - 1e8: 5f 65 78 69 - 1ec: 74 70 - 1ee: 72 6f - 1f0: 63 73 00 5f bgeu zero, a6, 1510 - 1f4: 5f 72 65 67 - 1f8: 69 73 - 1fa: 74 65 - 1fc: 72 5f - 1fe: 65 78 - 200: 69 74 - 202: 70 72 - 204: 6f 63 00 5f jal t1, 26096 - 208: 5f 42 53 53 - 20c: 5f 45 4e 44 - 210: 5f 5f 00 5f - 214: 5f 62 73 73 - 218: 5f 73 74 61 - 21c: 72 74 - 21e: 00 5f - 220: 70 6f - 222: 63 6c 5f 6b bltu t5, s5, 1720 - 226: 65 72 - 228: 6e 65 - 22a: 6c 5f - 22c: 73 67 65 6d csrrsi a4, 1750, 10 - 230: 6d 5f - 232: 77 6f 72 6b - 236: 67 72 6f 75 - 23a: 70 5f - 23c: 66 61 - 23e: 73 74 00 6d csrrci s0, 1744, 0 - 242: 65 6d - 244: 73 65 74 00 csrrsi a0, 7, 8 - 248: 6d 61 - 24a: 69 6e - 24c: 00 61 - 24e: 74 65 - 250: 78 69 - 252: 74 00 - 254: 5f 5f 44 41 - 258: 54 41 - 25a: 5f 42 45 47 - 25e: 49 4e - 260: 5f 5f 00 5f - 264: 65 64 - 266: 61 74 - 268: 61 00 - 26a: 5f 70 6f 63 - 26e: 6c 5f - 270: 6b 65 72 6e - 274: 65 6c - 276: 5f 73 67 65 - 27a: 6d 6d - 27c: 00 76 - 27e: 78 5f - 280: 70 65 - 282: 72 66 - 284: 5f 64 75 6d - 288: 70 00 - 28a: 5f 65 78 69 - 28e: 74 00 - 290: 76 78 - 292: 5f 73 70 61 - 296: 77 6e 5f 6b - 29a: 65 72 - 29c: 6e 65 - 29e: 6c 00 + 19c: 5f 70 6f 69 + 1a0: 6e 74 + 1a2: 65 72 + 1a4: 00 5f + 1a6: 67 6c 6f 62 + 1aa: 61 6c + 1ac: 5f 69 6d 70 + 1b0: 75 72 + 1b2: 65 5f + 1b4: 70 74 + 1b6: 72 00 + 1b8: 5f 5f 6c 69 + 1bc: 62 63 + 1be: 5f 69 6e 69 + 1c2: 74 5f + 1c4: 61 72 + 1c6: 72 61 + 1c8: 79 00 + 1ca: 5f 5f 6c 69 + 1ce: 62 63 + 1d0: 5f 66 69 6e + 1d4: 69 5f + 1d6: 61 72 + 1d8: 72 61 + 1da: 79 00 + 1dc: 76 78 + 1de: 5f 73 65 74 + 1e2: 5f 73 70 00 + 1e6: 5f 5f 63 61 + 1ea: 6c 6c + 1ec: 5f 65 78 69 + 1f0: 74 70 + 1f2: 72 6f + 1f4: 63 73 00 5f bgeu zero, a6, 1510 + 1f8: 5f 72 65 67 + 1fc: 69 73 + 1fe: 74 65 + 200: 72 5f + 202: 65 78 + 204: 69 74 + 206: 70 72 + 208: 6f 63 00 5f jal t1, 26096 + 20c: 5f 42 53 53 + 210: 5f 45 4e 44 + 214: 5f 5f 00 5f + 218: 5f 62 73 73 + 21c: 5f 73 74 61 + 220: 72 74 + 222: 00 5f + 224: 70 6f + 226: 63 6c 5f 6b bltu t5, s5, 1720 + 22a: 65 72 + 22c: 6e 65 + 22e: 6c 5f + 230: 73 67 65 6d csrrsi a4, 1750, 10 + 234: 6d 5f + 236: 77 6f 72 6b + 23a: 67 72 6f 75 + 23e: 70 5f + 240: 66 61 + 242: 73 74 00 6d csrrci s0, 1744, 0 + 246: 65 6d + 248: 73 65 74 00 csrrsi a0, 7, 8 + 24c: 6d 61 + 24e: 69 6e + 250: 00 61 + 252: 74 65 + 254: 78 69 + 256: 74 00 + 258: 5f 5f 44 41 + 25c: 54 41 + 25e: 5f 42 45 47 + 262: 49 4e + 264: 5f 5f 00 5f + 268: 65 64 + 26a: 61 74 + 26c: 61 00 + 26e: 5f 70 6f 63 + 272: 6c 5f + 274: 6b 65 72 6e + 278: 65 6c + 27a: 5f 73 67 65 + 27e: 6d 6d + 280: 00 76 + 282: 78 5f + 284: 70 65 + 286: 72 66 + 288: 5f 64 75 6d + 28c: 70 00 + 28e: 5f 65 78 69 + 292: 74 00 + 294: 76 78 + 296: 5f 73 70 61 + 29a: 77 6e 5f 6b + 29e: 65 72 + 2a0: 6e 65 + 2a2: 6c 00 Disassembly of section .shstrtab: diff --git a/tests/opencl/vecadd/kernel.pocl b/tests/opencl/vecadd/kernel.pocl index 230878b6..b2365915 100644 Binary files a/tests/opencl/vecadd/kernel.pocl and b/tests/opencl/vecadd/kernel.pocl differ diff --git a/tests/opencl/vecadd/vecadd.dump b/tests/opencl/vecadd/vecadd.dump index 468485de..6aed0dcf 100644 --- a/tests/opencl/vecadd/vecadd.dump +++ b/tests/opencl/vecadd/vecadd.dump @@ -1,15 +1,15 @@ -/tmp/pocl_vortex_kernel-d3-1f-7f-52-5c.elf: file format ELF32-riscv +/tmp/pocl_vortex_kernel-e1-fe-83-a6-e4.elf: file format ELF32-riscv Disassembly of section .init: 80000000 _start: 80000000: 97 05 00 00 auipc a1, 0 -80000004: 93 85 45 25 addi a1, a1, 596 +80000004: 93 85 05 26 addi a1, a1, 608 80000008: 73 25 10 fc csrr a0, 4033 8000000c: 6b 10 b5 00 -80000010: ef 00 40 24 jal 580 +80000010: ef 00 00 25 jal 592 80000014: 13 05 10 00 addi a0, zero, 1 80000018: 6b 00 05 00 8000001c: 17 15 00 00 auipc a0, 1 @@ -18,22 +18,22 @@ Disassembly of section .init: 80000028: 13 06 06 49 addi a2, a2, 1168 8000002c: 33 06 a6 40 sub a2, a2, a0 80000030: 93 05 00 00 mv a1, zero -80000034: ef 00 50 12 jal 2340 -80000038: 17 15 00 00 auipc a0, 1 -8000003c: 13 05 85 82 addi a0, a0, -2008 -80000040: ef 00 80 7d jal 2008 -80000044: ef 00 90 07 jal 2168 +80000034: ef 00 90 12 jal 2344 +80000038: 17 05 00 00 auipc a0, 0 +8000003c: 13 05 85 2f addi a0, a0, 760 +80000040: ef 00 50 0d jal 2260 +80000044: ef 00 00 25 jal 592 80000048: ef 00 00 02 jal 32 -8000004c: 6f 00 00 7e j 2016 +8000004c: 6f 00 d0 0d j 2268 Disassembly of section .text: 80000050 register_fini: 80000050: 93 07 00 00 mv a5, zero 80000054: 63 88 07 00 beqz a5, 16 -80000058: 37 15 00 80 lui a0, 524289 -8000005c: 13 05 05 86 addi a0, a0, -1952 -80000060: 6f 00 80 7b j 1976 +80000058: 37 05 00 80 lui a0, 524288 +8000005c: 13 05 05 33 addi a0, a0, 816 +80000060: 6f 00 50 0b j 2228 80000064: 67 80 00 00 ret 80000068 main: @@ -44,7 +44,7 @@ Disassembly of section .text: 80000078: 37 05 ff 7f lui a0, 524272 8000007c: 13 06 45 03 addi a2, a0, 52 80000080: 37 05 ff 7f lui a0, 524272 -80000084: ef 00 40 35 jal 852 +80000084: ef 00 00 45 jal 1104 80000088: 13 05 00 00 mv a0, zero 8000008c: 83 20 c1 00 lw ra, 12(sp) 80000090: 13 01 01 01 addi sp, sp, 16 @@ -165,649 +165,652 @@ Disassembly of section .text: 80000244: 67 80 00 00 ret 80000248 _exit: -80000248: ef 00 c0 3b jal 956 -8000024c: 13 05 00 00 mv a0, zero -80000250: 6b 00 05 00 +80000248: 63 06 05 00 beqz a0, 12 +8000024c: 93 01 05 00 mv gp, a0 +80000250: 73 00 00 00 ecall -80000254 vx_set_sp: -80000254: 73 25 00 fc csrr a0, 4032 -80000258: 6b 00 05 00 -8000025c: 97 11 00 00 auipc gp, 1 -80000260: 93 81 c1 5a addi gp, gp, 1452 -80000264: 17 01 00 7f auipc sp, 520192 -80000268: 13 01 c1 d9 addi sp, sp, -612 -8000026c: 93 05 00 40 addi a1, zero, 1024 -80000270: 73 26 10 cc csrr a2, 3265 -80000274: b3 85 c5 02 mul a1, a1, a2 -80000278: 33 01 b1 40 sub sp, sp, a1 -8000027c: f3 26 30 cc csrr a3, 3267 -80000280: 63 86 06 00 beqz a3, 12 -80000284: 13 05 00 00 mv a0, zero -80000288: 6b 00 05 00 +80000254 label_exit_next: +80000254: ef 00 c0 4a jal 1196 +80000258: 13 05 00 00 mv a0, zero +8000025c: 6b 00 05 00 -8000028c RETURN: -8000028c: 67 80 00 00 ret +80000260 vx_set_sp: +80000260: 13 05 f0 ff addi a0, zero, -1 +80000264: 6b 00 05 00 +80000268: 97 11 00 00 auipc gp, 1 +8000026c: 93 81 01 5a addi gp, gp, 1440 +80000270: 37 01 00 ff lui sp, 1044480 +80000274: 73 26 10 cc csrr a2, 3265 +80000278: 93 15 a6 00 slli a1, a2, 10 +8000027c: 33 01 b1 40 sub sp, sp, a1 +80000280: f3 26 30 cc csrr a3, 3267 +80000284: 63 86 06 00 beqz a3, 12 +80000288: 13 05 00 00 mv a0, zero +8000028c: 6b 00 05 00 -80000290 spawn_kernel_callback: -80000290: 13 01 01 fe addi sp, sp, -32 -80000294: 23 2e 11 00 sw ra, 28(sp) -80000298: 23 2c 81 00 sw s0, 24(sp) -8000029c: 23 2a 91 00 sw s1, 20(sp) -800002a0: 23 28 21 01 sw s2, 16(sp) -800002a4: 23 26 31 01 sw s3, 12(sp) -800002a8: 23 24 41 01 sw s4, 8(sp) -800002ac: 23 22 51 01 sw s5, 4(sp) -800002b0: f3 27 00 fc csrr a5, 4032 -800002b4: 6b 80 07 00 -800002b8: f3 26 50 cc csrr a3, 3269 -800002bc: 73 29 30 cc csrr s2, 3267 -800002c0: 73 27 00 cc csrr a4, 3264 -800002c4: 73 26 00 fc csrr a2, 4032 -800002c8: b7 17 00 80 lui a5, 524289 -800002cc: 93 96 26 00 slli a3, a3, 2 -800002d0: 93 87 47 43 addi a5, a5, 1076 -800002d4: b3 87 d7 00 add a5, a5, a3 -800002d8: 03 a4 07 00 lw s0, 0(a5) -800002dc: 83 24 44 01 lw s1, 20(s0) -800002e0: 83 26 04 01 lw a3, 16(s0) -800002e4: b3 2a 99 00 slt s5, s2, s1 -800002e8: 93 87 04 00 mv a5, s1 -800002ec: b3 8a da 00 add s5, s5, a3 -800002f0: b3 84 26 03 mul s1, a3, s2 -800002f4: 63 54 f9 00 bge s2, a5, 8 -800002f8: 93 07 09 00 mv a5, s2 -800002fc: b3 84 f4 00 add s1, s1, a5 -80000300: 83 25 04 00 lw a1, 0(s0) -80000304: 83 26 c4 00 lw a3, 12(s0) -80000308: 83 a9 05 00 lw s3, 0(a1) -8000030c: 03 aa 45 00 lw s4, 4(a1) -80000310: b3 84 c4 02 mul s1, s1, a2 -80000314: b3 87 ea 02 mul a5, s5, a4 -80000318: b3 84 d4 00 add s1, s1, a3 -8000031c: b3 84 f4 00 add s1, s1, a5 -80000320: b3 8a 9a 00 add s5, s5, s1 -80000324: 33 8a 49 03 mul s4, s3, s4 -80000328: 63 c0 54 07 blt s1, s5, 96 -8000032c: 6f 00 00 08 j 128 -80000330: 03 47 a4 01 lbu a4, 26(s0) -80000334: 83 46 94 01 lbu a3, 25(s0) -80000338: 33 d7 e4 40 sra a4, s1, a4 -8000033c: b3 07 47 03 mul a5, a4, s4 -80000340: b3 87 f4 40 sub a5, s1, a5 -80000344: 63 80 06 06 beqz a3, 96 -80000348: 83 46 b4 01 lbu a3, 27(s0) -8000034c: b3 d6 d7 40 sra a3, a5, a3 -80000350: b3 88 36 03 mul a7, a3, s3 -80000354: 03 ae 45 01 lw t3, 20(a1) -80000358: 03 a3 05 01 lw t1, 16(a1) -8000035c: 03 a6 c5 00 lw a2, 12(a1) -80000360: 03 28 44 00 lw a6, 4(s0) -80000364: 03 25 84 00 lw a0, 8(s0) -80000368: 93 84 14 00 addi s1, s1, 1 -8000036c: 33 07 c7 01 add a4, a4, t3 -80000370: b3 86 66 00 add a3, a3, t1 -80000374: b3 87 17 41 sub a5, a5, a7 -80000378: 33 86 c7 00 add a2, a5, a2 -8000037c: e7 00 08 00 jalr a6 -80000380: 63 86 9a 02 beq s5, s1, 44 -80000384: 83 25 04 00 lw a1, 0(s0) -80000388: 83 47 84 01 lbu a5, 24(s0) -8000038c: e3 92 07 fa bnez a5, -92 -80000390: 33 c7 44 03 div a4, s1, s4 -80000394: 83 46 94 01 lbu a3, 25(s0) -80000398: b3 07 47 03 mul a5, a4, s4 -8000039c: b3 87 f4 40 sub a5, s1, a5 -800003a0: e3 94 06 fa bnez a3, -88 -800003a4: b3 c6 37 03 div a3, a5, s3 -800003a8: 6f f0 9f fa j -88 -800003ac: 13 39 19 00 seqz s2, s2 -800003b0: 6b 00 09 00 -800003b4: 83 20 c1 01 lw ra, 28(sp) -800003b8: 03 24 81 01 lw s0, 24(sp) -800003bc: 83 24 41 01 lw s1, 20(sp) -800003c0: 03 29 01 01 lw s2, 16(sp) -800003c4: 83 29 c1 00 lw s3, 12(sp) -800003c8: 03 2a 81 00 lw s4, 8(sp) -800003cc: 83 2a 41 00 lw s5, 4(sp) -800003d0: 13 01 01 02 addi sp, sp, 32 -800003d4: 67 80 00 00 ret +80000290 RETURN: +80000290: 67 80 00 00 ret -800003d8 vx_spawn_kernel: -800003d8: 13 01 01 fc addi sp, sp, -64 -800003dc: 23 2e 11 02 sw ra, 60(sp) -800003e0: 23 2c 81 02 sw s0, 56(sp) -800003e4: 23 2a 91 02 sw s1, 52(sp) -800003e8: 23 28 21 03 sw s2, 48(sp) -800003ec: 23 26 31 03 sw s3, 44(sp) -800003f0: f3 28 20 fc csrr a7, 4034 -800003f4: 73 23 10 fc csrr t1, 4033 -800003f8: 73 24 00 fc csrr s0, 4032 -800003fc: f3 27 50 cc csrr a5, 3269 -80000400: 13 07 f0 01 addi a4, zero, 31 -80000404: 63 46 f7 0e blt a4, a5, 236 -80000408: 03 2e 05 00 lw t3, 0(a0) -8000040c: 83 26 45 00 lw a3, 4(a0) -80000410: 03 28 85 00 lw a6, 8(a0) -80000414: b3 0e 83 02 mul t4, t1, s0 -80000418: 13 07 10 00 addi a4, zero, 1 -8000041c: b3 06 de 02 mul a3, t3, a3 -80000420: 33 88 06 03 mul a6, a3, a6 -80000424: 63 d4 0e 01 bge t4, a6, 8 -80000428: 33 47 d8 03 div a4, a6, t4 -8000042c: 63 c0 e8 0e blt a7, a4, 224 -80000430: 63 d0 e7 0c bge a5, a4, 192 -80000434: 93 88 f8 ff addi a7, a7, -1 -80000438: b3 4e e8 02 div t4, a6, a4 -8000043c: 93 84 0e 00 mv s1, t4 -80000440: 63 96 f8 00 bne a7, a5, 12 -80000444: 33 67 e8 02 rem a4, a6, a4 -80000448: b3 04 d7 01 add s1, a4, t4 -8000044c: 33 c9 84 02 div s2, s1, s0 -80000450: b3 e4 84 02 rem s1, s1, s0 -80000454: 63 42 69 0c blt s2, t1, 196 -80000458: 93 02 10 00 addi t0, zero, 1 -8000045c: 33 48 69 02 div a6, s2, t1 -80000460: 63 06 08 00 beqz a6, 12 -80000464: 93 02 08 00 mv t0, a6 -80000468: 33 68 69 02 rem a6, s2, t1 -8000046c: d3 f7 06 d0 fcvt.s.w fa5, a3 -80000470: 93 8f f6 ff addi t6, a3, -1 -80000474: 13 0f fe ff addi t5, t3, -1 -80000478: b7 19 00 80 lui s3, 524289 -8000047c: b3 f6 df 00 and a3, t6, a3 -80000480: 93 89 49 43 addi s3, s3, 1076 -80000484: 93 b6 16 00 seqz a3, a3 -80000488: 23 22 a1 00 sw a0, 4(sp) -8000048c: 23 24 b1 00 sw a1, 8(sp) -80000490: 23 26 c1 00 sw a2, 12(sp) -80000494: 23 2a 51 00 sw t0, 20(sp) -80000498: 23 2c 01 01 sw a6, 24(sp) -8000049c: 23 0e d1 00 sb a3, 28(sp) -800004a0: 33 87 fe 02 mul a4, t4, a5 -800004a4: d3 8e 07 e0 fmv.x.w t4, fa5 -800004a8: d3 77 0e d0 fcvt.s.w fa5, t3 -800004ac: 93 97 27 00 slli a5, a5, 2 -800004b0: 33 7e cf 01 and t3, t5, t3 -800004b4: d3 88 07 e0 fmv.x.w a7, fa5 -800004b8: 93 de 7e 41 srai t4, t4, 23 -800004bc: 13 3e 1e 00 seqz t3, t3 -800004c0: 93 d8 78 41 srai a7, a7, 23 -800004c4: 93 8e 1e f8 addi t4, t4, -127 -800004c8: 93 88 18 f8 addi a7, a7, -127 -800004cc: b3 87 f9 00 add a5, s3, a5 -800004d0: 23 28 e1 00 sw a4, 16(sp) -800004d4: 13 07 41 00 addi a4, sp, 4 -800004d8: a3 0e c1 01 sb t3, 29(sp) -800004dc: 23 0f d1 01 sb t4, 30(sp) -800004e0: a3 0f 11 01 sb a7, 31(sp) -800004e4: 23 a0 e7 00 sw a4, 0(a5) -800004e8: 63 4e 20 03 bgtz s2, 60 -800004ec: 63 9c 04 04 bnez s1, 88 -800004f0: 83 20 c1 03 lw ra, 60(sp) -800004f4: 03 24 81 03 lw s0, 56(sp) -800004f8: 83 24 41 03 lw s1, 52(sp) -800004fc: 03 29 01 03 lw s2, 48(sp) -80000500: 83 29 c1 02 lw s3, 44(sp) -80000504: 13 01 01 04 addi sp, sp, 64 -80000508: 67 80 00 00 ret -8000050c: 13 87 08 00 mv a4, a7 -80000510: e3 c2 e7 f2 blt a5, a4, -220 -80000514: 6f f0 df fd j -36 -80000518: 13 08 00 00 mv a6, zero -8000051c: 93 02 10 00 addi t0, zero, 1 -80000520: 6f f0 df f4 j -180 -80000524: 13 07 09 00 mv a4, s2 -80000528: 63 54 23 01 bge t1, s2, 8 -8000052c: 13 07 03 00 mv a4, t1 -80000530: b7 07 00 80 lui a5, 524288 -80000534: 93 87 07 29 addi a5, a5, 656 -80000538: 6b 10 f7 00 -8000053c: ef f0 5f d5 jal -684 -80000540: e3 88 04 fa beqz s1, -80 -80000544: 33 04 89 02 mul s0, s2, s0 -80000548: 23 28 81 00 sw s0, 16(sp) -8000054c: 6b 80 04 00 -80000550: 73 27 50 cc csrr a4, 3269 -80000554: f3 27 20 cc csrr a5, 3266 -80000558: 13 17 27 00 slli a4, a4, 2 -8000055c: b3 89 e9 00 add s3, s3, a4 -80000560: 03 a5 09 00 lw a0, 0(s3) -80000564: 83 25 05 00 lw a1, 0(a0) -80000568: 83 26 c5 00 lw a3, 12(a0) -8000056c: 03 47 85 01 lbu a4, 24(a0) -80000570: 03 a8 05 00 lw a6, 0(a1) -80000574: 03 a6 45 00 lw a2, 4(a1) -80000578: b3 87 d7 00 add a5, a5, a3 -8000057c: 33 06 c8 02 mul a2, a6, a2 -80000580: 63 0e 07 06 beqz a4, 124 -80000584: 03 47 a5 01 lbu a4, 26(a0) -80000588: 33 d7 e7 40 sra a4, a5, a4 -8000058c: 83 46 95 01 lbu a3, 25(a0) -80000590: 33 06 e6 02 mul a2, a2, a4 -80000594: b3 87 c7 40 sub a5, a5, a2 -80000598: 63 8e 06 04 beqz a3, 92 -8000059c: 83 48 b5 01 lbu a7, 27(a0) -800005a0: b3 d8 17 41 sra a7, a5, a7 -800005a4: 33 08 18 03 mul a6, a6, a7 -800005a8: 03 ae 45 01 lw t3, 20(a1) -800005ac: 83 a6 05 01 lw a3, 16(a1) -800005b0: 03 a6 c5 00 lw a2, 12(a1) -800005b4: 03 23 45 00 lw t1, 4(a0) -800005b8: 03 25 85 00 lw a0, 8(a0) -800005bc: 33 07 c7 01 add a4, a4, t3 -800005c0: b3 86 d8 00 add a3, a7, a3 -800005c4: b3 87 07 41 sub a5, a5, a6 -800005c8: 33 86 c7 00 add a2, a5, a2 -800005cc: e7 00 03 00 jalr t1 -800005d0: 93 07 10 00 addi a5, zero, 1 -800005d4: 6b 80 07 00 -800005d8: 83 20 c1 03 lw ra, 60(sp) -800005dc: 03 24 81 03 lw s0, 56(sp) -800005e0: 83 24 41 03 lw s1, 52(sp) -800005e4: 03 29 01 03 lw s2, 48(sp) -800005e8: 83 29 c1 02 lw s3, 44(sp) -800005ec: 13 01 01 04 addi sp, sp, 64 -800005f0: 67 80 00 00 ret -800005f4: b3 c8 07 03 div a7, a5, a6 -800005f8: 6f f0 df fa j -84 -800005fc: 33 c7 c7 02 div a4, a5, a2 -80000600: 6f f0 df f8 j -116 +80000294 __libc_init_array: +80000294: 13 01 01 ff addi sp, sp, -16 +80000298: 23 24 81 00 sw s0, 8(sp) +8000029c: 23 20 21 01 sw s2, 0(sp) +800002a0: 37 14 00 80 lui s0, 524289 +800002a4: 37 19 00 80 lui s2, 524289 +800002a8: 93 07 04 00 mv a5, s0 +800002ac: 13 09 09 00 mv s2, s2 +800002b0: 33 09 f9 40 sub s2, s2, a5 +800002b4: 23 26 11 00 sw ra, 12(sp) +800002b8: 23 22 91 00 sw s1, 4(sp) +800002bc: 13 59 29 40 srai s2, s2, 2 +800002c0: 63 00 09 02 beqz s2, 32 +800002c4: 13 04 04 00 mv s0, s0 +800002c8: 93 04 00 00 mv s1, zero +800002cc: 83 27 04 00 lw a5, 0(s0) +800002d0: 93 84 14 00 addi s1, s1, 1 +800002d4: 13 04 44 00 addi s0, s0, 4 +800002d8: e7 80 07 00 jalr a5 +800002dc: e3 18 99 fe bne s2, s1, -16 +800002e0: 37 14 00 80 lui s0, 524289 +800002e4: 37 19 00 80 lui s2, 524289 +800002e8: 93 07 04 00 mv a5, s0 +800002ec: 13 09 49 00 addi s2, s2, 4 +800002f0: 33 09 f9 40 sub s2, s2, a5 +800002f4: 13 59 29 40 srai s2, s2, 2 +800002f8: 63 00 09 02 beqz s2, 32 +800002fc: 13 04 04 00 mv s0, s0 +80000300: 93 04 00 00 mv s1, zero +80000304: 83 27 04 00 lw a5, 0(s0) +80000308: 93 84 14 00 addi s1, s1, 1 +8000030c: 13 04 44 00 addi s0, s0, 4 +80000310: e7 80 07 00 jalr a5 +80000314: e3 18 99 fe bne s2, s1, -16 +80000318: 83 20 c1 00 lw ra, 12(sp) +8000031c: 03 24 81 00 lw s0, 8(sp) +80000320: 83 24 41 00 lw s1, 4(sp) +80000324: 03 29 01 00 lw s2, 0(sp) +80000328: 13 01 01 01 addi sp, sp, 16 +8000032c: 67 80 00 00 ret -80000604 vx_perf_dump: -80000604: f3 27 50 cc csrr a5, 3269 -80000608: 37 07 ff 00 lui a4, 4080 -8000060c: b3 87 e7 00 add a5, a5, a4 -80000610: 93 97 87 00 slli a5, a5, 8 -80000614: 73 27 00 b0 csrr a4, mcycle -80000618: 23 a0 e7 00 sw a4, 0(a5) -8000061c: 73 27 10 b0 csrr a4, 2817 -80000620: 23 a2 e7 00 sw a4, 4(a5) -80000624: 73 27 20 b0 csrr a4, minstret -80000628: 23 a4 e7 00 sw a4, 8(a5) -8000062c: 73 27 30 b0 csrr a4, mhpmcounter3 -80000630: 23 a6 e7 00 sw a4, 12(a5) -80000634: 73 27 40 b0 csrr a4, mhpmcounter4 -80000638: 23 a8 e7 00 sw a4, 16(a5) -8000063c: 73 27 50 b0 csrr a4, mhpmcounter5 -80000640: 23 aa e7 00 sw a4, 20(a5) -80000644: 73 27 60 b0 csrr a4, mhpmcounter6 -80000648: 23 ac e7 00 sw a4, 24(a5) -8000064c: 73 27 70 b0 csrr a4, mhpmcounter7 -80000650: 23 ae e7 00 sw a4, 28(a5) -80000654: 73 27 80 b0 csrr a4, mhpmcounter8 -80000658: 23 a0 e7 02 sw a4, 32(a5) -8000065c: 73 27 90 b0 csrr a4, mhpmcounter9 -80000660: 23 a2 e7 02 sw a4, 36(a5) -80000664: 73 27 a0 b0 csrr a4, mhpmcounter10 -80000668: 23 a4 e7 02 sw a4, 40(a5) -8000066c: 73 27 b0 b0 csrr a4, mhpmcounter11 -80000670: 23 a6 e7 02 sw a4, 44(a5) -80000674: 73 27 c0 b0 csrr a4, mhpmcounter12 -80000678: 23 a8 e7 02 sw a4, 48(a5) -8000067c: 73 27 d0 b0 csrr a4, mhpmcounter13 -80000680: 23 aa e7 02 sw a4, 52(a5) -80000684: 73 27 e0 b0 csrr a4, mhpmcounter14 -80000688: 23 ac e7 02 sw a4, 56(a5) -8000068c: 73 27 f0 b0 csrr a4, mhpmcounter15 -80000690: 23 ae e7 02 sw a4, 60(a5) -80000694: 73 27 00 b1 csrr a4, mhpmcounter16 -80000698: 23 a0 e7 04 sw a4, 64(a5) -8000069c: 73 27 10 b1 csrr a4, mhpmcounter17 -800006a0: 23 a2 e7 04 sw a4, 68(a5) -800006a4: 73 27 20 b1 csrr a4, mhpmcounter18 -800006a8: 23 a4 e7 04 sw a4, 72(a5) -800006ac: 73 27 30 b1 csrr a4, mhpmcounter19 -800006b0: 23 a6 e7 04 sw a4, 76(a5) -800006b4: 73 27 40 b1 csrr a4, mhpmcounter20 -800006b8: 23 a8 e7 04 sw a4, 80(a5) -800006bc: 73 27 50 b1 csrr a4, mhpmcounter21 -800006c0: 23 aa e7 04 sw a4, 84(a5) -800006c4: 73 27 60 b1 csrr a4, mhpmcounter22 -800006c8: 23 ac e7 04 sw a4, 88(a5) -800006cc: 73 27 70 b1 csrr a4, mhpmcounter23 -800006d0: 23 ae e7 04 sw a4, 92(a5) -800006d4: 73 27 80 b1 csrr a4, mhpmcounter24 -800006d8: 23 a0 e7 06 sw a4, 96(a5) -800006dc: 73 27 90 b1 csrr a4, mhpmcounter25 -800006e0: 23 a2 e7 06 sw a4, 100(a5) -800006e4: 73 27 a0 b1 csrr a4, mhpmcounter26 -800006e8: 23 a4 e7 06 sw a4, 104(a5) -800006ec: 73 27 b0 b1 csrr a4, mhpmcounter27 -800006f0: 23 a6 e7 06 sw a4, 108(a5) -800006f4: 73 27 c0 b1 csrr a4, mhpmcounter28 -800006f8: 23 a8 e7 06 sw a4, 112(a5) -800006fc: 73 27 d0 b1 csrr a4, mhpmcounter29 -80000700: 23 aa e7 06 sw a4, 116(a5) -80000704: 73 27 e0 b1 csrr a4, mhpmcounter30 -80000708: 23 ac e7 06 sw a4, 120(a5) -8000070c: 73 27 f0 b1 csrr a4, mhpmcounter31 -80000710: 23 ae e7 06 sw a4, 124(a5) -80000714: 73 27 00 b8 csrr a4, mcycleh -80000718: 23 a0 e7 08 sw a4, 128(a5) -8000071c: 73 27 10 b8 csrr a4, 2945 -80000720: 23 a2 e7 08 sw a4, 132(a5) -80000724: 73 27 20 b8 csrr a4, minstreth -80000728: 23 a4 e7 08 sw a4, 136(a5) -8000072c: 73 27 30 b8 csrr a4, mhpmcounter3h -80000730: 23 a6 e7 08 sw a4, 140(a5) -80000734: 73 27 40 b8 csrr a4, mhpmcounter4h -80000738: 23 a8 e7 08 sw a4, 144(a5) -8000073c: 73 27 50 b8 csrr a4, mhpmcounter5h -80000740: 23 aa e7 08 sw a4, 148(a5) -80000744: 73 27 60 b8 csrr a4, mhpmcounter6h -80000748: 23 ac e7 08 sw a4, 152(a5) -8000074c: 73 27 70 b8 csrr a4, mhpmcounter7h -80000750: 23 ae e7 08 sw a4, 156(a5) -80000754: 73 27 80 b8 csrr a4, mhpmcounter8h -80000758: 23 a0 e7 0a sw a4, 160(a5) -8000075c: 73 27 90 b8 csrr a4, mhpmcounter9h -80000760: 23 a2 e7 0a sw a4, 164(a5) -80000764: 73 27 a0 b8 csrr a4, mhpmcounter10h -80000768: 23 a4 e7 0a sw a4, 168(a5) -8000076c: 73 27 b0 b8 csrr a4, mhpmcounter11h -80000770: 23 a6 e7 0a sw a4, 172(a5) -80000774: 73 27 c0 b8 csrr a4, mhpmcounter12h -80000778: 23 a8 e7 0a sw a4, 176(a5) -8000077c: 73 27 d0 b8 csrr a4, mhpmcounter13h -80000780: 23 aa e7 0a sw a4, 180(a5) -80000784: 73 27 e0 b8 csrr a4, mhpmcounter14h -80000788: 23 ac e7 0a sw a4, 184(a5) -8000078c: 73 27 f0 b8 csrr a4, mhpmcounter15h -80000790: 23 ae e7 0a sw a4, 188(a5) -80000794: 73 27 00 b9 csrr a4, mhpmcounter16h -80000798: 23 a0 e7 0c sw a4, 192(a5) -8000079c: 73 27 10 b9 csrr a4, mhpmcounter17h -800007a0: 23 a2 e7 0c sw a4, 196(a5) -800007a4: 73 27 20 b9 csrr a4, mhpmcounter18h -800007a8: 23 a4 e7 0c sw a4, 200(a5) -800007ac: 73 27 30 b9 csrr a4, mhpmcounter19h -800007b0: 23 a6 e7 0c sw a4, 204(a5) -800007b4: 73 27 40 b9 csrr a4, mhpmcounter20h -800007b8: 23 a8 e7 0c sw a4, 208(a5) -800007bc: 73 27 50 b9 csrr a4, mhpmcounter21h -800007c0: 23 aa e7 0c sw a4, 212(a5) -800007c4: 73 27 60 b9 csrr a4, mhpmcounter22h -800007c8: 23 ac e7 0c sw a4, 216(a5) -800007cc: 73 27 70 b9 csrr a4, mhpmcounter23h -800007d0: 23 ae e7 0c sw a4, 220(a5) -800007d4: 73 27 80 b9 csrr a4, mhpmcounter24h -800007d8: 23 a0 e7 0e sw a4, 224(a5) -800007dc: 73 27 90 b9 csrr a4, mhpmcounter25h -800007e0: 23 a2 e7 0e sw a4, 228(a5) -800007e4: 73 27 a0 b9 csrr a4, mhpmcounter26h -800007e8: 23 a4 e7 0e sw a4, 232(a5) -800007ec: 73 27 b0 b9 csrr a4, mhpmcounter27h -800007f0: 23 a6 e7 0e sw a4, 236(a5) -800007f4: 73 27 c0 b9 csrr a4, mhpmcounter28h -800007f8: 23 a8 e7 0e sw a4, 240(a5) -800007fc: 73 27 d0 b9 csrr a4, mhpmcounter29h -80000800: 23 aa e7 0e sw a4, 244(a5) -80000804: 73 27 e0 b9 csrr a4, mhpmcounter30h -80000808: 23 ac e7 0e sw a4, 248(a5) -8000080c: 73 27 f0 b9 csrr a4, mhpmcounter31h -80000810: 23 ae e7 0e sw a4, 252(a5) -80000814: 67 80 00 00 ret +80000330 __libc_fini_array: +80000330: 13 01 01 ff addi sp, sp, -16 +80000334: 23 24 81 00 sw s0, 8(sp) +80000338: b7 17 00 80 lui a5, 524289 +8000033c: 37 14 00 80 lui s0, 524289 +80000340: 13 04 44 00 addi s0, s0, 4 +80000344: 93 87 47 00 addi a5, a5, 4 +80000348: b3 87 87 40 sub a5, a5, s0 +8000034c: 23 22 91 00 sw s1, 4(sp) +80000350: 23 26 11 00 sw ra, 12(sp) +80000354: 93 d4 27 40 srai s1, a5, 2 +80000358: 63 80 04 02 beqz s1, 32 +8000035c: 93 87 c7 ff addi a5, a5, -4 +80000360: 33 84 87 00 add s0, a5, s0 +80000364: 83 27 04 00 lw a5, 0(s0) +80000368: 93 84 f4 ff addi s1, s1, -1 +8000036c: 13 04 c4 ff addi s0, s0, -4 +80000370: e7 80 07 00 jalr a5 +80000374: e3 98 04 fe bnez s1, -16 +80000378: 83 20 c1 00 lw ra, 12(sp) +8000037c: 03 24 81 00 lw s0, 8(sp) +80000380: 83 24 41 00 lw s1, 4(sp) +80000384: 13 01 01 01 addi sp, sp, 16 +80000388: 67 80 00 00 ret -80000818 atexit: -80000818: 93 05 05 00 mv a1, a0 -8000081c: 93 06 00 00 mv a3, zero -80000820: 13 06 00 00 mv a2, zero -80000824: 13 05 00 00 mv a0, zero -80000828: 6f 00 c0 20 j 524 +8000038c spawn_kernel_callback: +8000038c: 13 01 01 fe addi sp, sp, -32 +80000390: 23 2e 11 00 sw ra, 28(sp) +80000394: 23 2c 81 00 sw s0, 24(sp) +80000398: 23 2a 91 00 sw s1, 20(sp) +8000039c: 23 28 21 01 sw s2, 16(sp) +800003a0: 23 26 31 01 sw s3, 12(sp) +800003a4: 23 24 41 01 sw s4, 8(sp) +800003a8: 23 22 51 01 sw s5, 4(sp) +800003ac: 93 07 f0 ff addi a5, zero, -1 +800003b0: 6b 80 07 00 +800003b4: f3 26 50 cc csrr a3, 3269 +800003b8: 73 29 30 cc csrr s2, 3267 +800003bc: 73 27 00 cc csrr a4, 3264 +800003c0: 73 26 00 fc csrr a2, 4032 +800003c4: b7 17 00 80 lui a5, 524289 +800003c8: 93 96 26 00 slli a3, a3, 2 +800003cc: 93 87 47 43 addi a5, a5, 1076 +800003d0: b3 87 d7 00 add a5, a5, a3 +800003d4: 03 a4 07 00 lw s0, 0(a5) +800003d8: 83 24 44 01 lw s1, 20(s0) +800003dc: 83 26 04 01 lw a3, 16(s0) +800003e0: b3 2a 99 00 slt s5, s2, s1 +800003e4: 93 87 04 00 mv a5, s1 +800003e8: b3 8a da 00 add s5, s5, a3 +800003ec: b3 84 26 03 mul s1, a3, s2 +800003f0: 63 54 f9 00 bge s2, a5, 8 +800003f4: 93 07 09 00 mv a5, s2 +800003f8: b3 84 f4 00 add s1, s1, a5 +800003fc: 83 25 04 00 lw a1, 0(s0) +80000400: 83 26 c4 00 lw a3, 12(s0) +80000404: 83 a9 05 00 lw s3, 0(a1) +80000408: 03 aa 45 00 lw s4, 4(a1) +8000040c: b3 84 c4 02 mul s1, s1, a2 +80000410: b3 87 ea 02 mul a5, s5, a4 +80000414: b3 84 d4 00 add s1, s1, a3 +80000418: b3 84 f4 00 add s1, s1, a5 +8000041c: b3 8a 9a 00 add s5, s5, s1 +80000420: 33 8a 49 03 mul s4, s3, s4 +80000424: 63 c0 54 07 blt s1, s5, 96 +80000428: 6f 00 00 08 j 128 +8000042c: 03 47 a4 01 lbu a4, 26(s0) +80000430: 83 46 94 01 lbu a3, 25(s0) +80000434: 33 d7 e4 40 sra a4, s1, a4 +80000438: b3 07 47 03 mul a5, a4, s4 +8000043c: b3 87 f4 40 sub a5, s1, a5 +80000440: 63 80 06 06 beqz a3, 96 +80000444: 83 46 b4 01 lbu a3, 27(s0) +80000448: b3 d6 d7 40 sra a3, a5, a3 +8000044c: b3 88 36 03 mul a7, a3, s3 +80000450: 03 ae 45 01 lw t3, 20(a1) +80000454: 03 a3 05 01 lw t1, 16(a1) +80000458: 03 a6 c5 00 lw a2, 12(a1) +8000045c: 03 28 44 00 lw a6, 4(s0) +80000460: 03 25 84 00 lw a0, 8(s0) +80000464: 93 84 14 00 addi s1, s1, 1 +80000468: 33 07 c7 01 add a4, a4, t3 +8000046c: b3 86 66 00 add a3, a3, t1 +80000470: b3 87 17 41 sub a5, a5, a7 +80000474: 33 86 c7 00 add a2, a5, a2 +80000478: e7 00 08 00 jalr a6 +8000047c: 63 86 9a 02 beq s5, s1, 44 +80000480: 83 25 04 00 lw a1, 0(s0) +80000484: 83 47 84 01 lbu a5, 24(s0) +80000488: e3 92 07 fa bnez a5, -92 +8000048c: 33 c7 44 03 div a4, s1, s4 +80000490: 83 46 94 01 lbu a3, 25(s0) +80000494: b3 07 47 03 mul a5, a4, s4 +80000498: b3 87 f4 40 sub a5, s1, a5 +8000049c: e3 94 06 fa bnez a3, -88 +800004a0: b3 c6 37 03 div a3, a5, s3 +800004a4: 6f f0 9f fa j -88 +800004a8: 13 39 19 00 seqz s2, s2 +800004ac: 6b 00 09 00 +800004b0: 83 20 c1 01 lw ra, 28(sp) +800004b4: 03 24 81 01 lw s0, 24(sp) +800004b8: 83 24 41 01 lw s1, 20(sp) +800004bc: 03 29 01 01 lw s2, 16(sp) +800004c0: 83 29 c1 00 lw s3, 12(sp) +800004c4: 03 2a 81 00 lw s4, 8(sp) +800004c8: 83 2a 41 00 lw s5, 4(sp) +800004cc: 13 01 01 02 addi sp, sp, 32 +800004d0: 67 80 00 00 ret -8000082c exit: -8000082c: 13 01 01 ff addi sp, sp, -16 -80000830: 93 05 00 00 mv a1, zero -80000834: 23 24 81 00 sw s0, 8(sp) -80000838: 23 26 11 00 sw ra, 12(sp) -8000083c: 13 04 05 00 mv s0, a0 -80000840: ef 00 00 29 jal 656 -80000844: b7 17 00 80 lui a5, 524289 -80000848: 03 a5 07 43 lw a0, 1072(a5) -8000084c: 83 27 c5 03 lw a5, 60(a0) -80000850: 63 84 07 00 beqz a5, 8 -80000854: e7 80 07 00 jalr a5 -80000858: 13 05 04 00 mv a0, s0 -8000085c: ef f0 df 9e jal -1556 +800004d4 vx_spawn_kernel: +800004d4: 13 01 01 fc addi sp, sp, -64 +800004d8: 23 2e 11 02 sw ra, 60(sp) +800004dc: 23 2c 81 02 sw s0, 56(sp) +800004e0: 23 2a 91 02 sw s1, 52(sp) +800004e4: 23 28 21 03 sw s2, 48(sp) +800004e8: 23 26 31 03 sw s3, 44(sp) +800004ec: f3 28 20 fc csrr a7, 4034 +800004f0: 73 23 10 fc csrr t1, 4033 +800004f4: 73 24 00 fc csrr s0, 4032 +800004f8: f3 27 50 cc csrr a5, 3269 +800004fc: 13 07 f0 01 addi a4, zero, 31 +80000500: 63 46 f7 0e blt a4, a5, 236 +80000504: 03 2e 05 00 lw t3, 0(a0) +80000508: 83 26 45 00 lw a3, 4(a0) +8000050c: 03 28 85 00 lw a6, 8(a0) +80000510: b3 0e 83 02 mul t4, t1, s0 +80000514: 13 07 10 00 addi a4, zero, 1 +80000518: b3 06 de 02 mul a3, t3, a3 +8000051c: 33 88 06 03 mul a6, a3, a6 +80000520: 63 d4 0e 01 bge t4, a6, 8 +80000524: 33 47 d8 03 div a4, a6, t4 +80000528: 63 c0 e8 0e blt a7, a4, 224 +8000052c: 63 d0 e7 0c bge a5, a4, 192 +80000530: 93 88 f8 ff addi a7, a7, -1 +80000534: b3 4e e8 02 div t4, a6, a4 +80000538: 93 84 0e 00 mv s1, t4 +8000053c: 63 96 f8 00 bne a7, a5, 12 +80000540: 33 67 e8 02 rem a4, a6, a4 +80000544: b3 04 d7 01 add s1, a4, t4 +80000548: 33 c9 84 02 div s2, s1, s0 +8000054c: b3 e4 84 02 rem s1, s1, s0 +80000550: 63 42 69 0c blt s2, t1, 196 +80000554: 93 02 10 00 addi t0, zero, 1 +80000558: 33 48 69 02 div a6, s2, t1 +8000055c: 63 06 08 00 beqz a6, 12 +80000560: 93 02 08 00 mv t0, a6 +80000564: 33 68 69 02 rem a6, s2, t1 +80000568: d3 f7 06 d0 fcvt.s.w fa5, a3 +8000056c: 93 8f f6 ff addi t6, a3, -1 +80000570: 13 0f fe ff addi t5, t3, -1 +80000574: b7 19 00 80 lui s3, 524289 +80000578: b3 f6 df 00 and a3, t6, a3 +8000057c: 93 89 49 43 addi s3, s3, 1076 +80000580: 93 b6 16 00 seqz a3, a3 +80000584: 23 22 a1 00 sw a0, 4(sp) +80000588: 23 24 b1 00 sw a1, 8(sp) +8000058c: 23 26 c1 00 sw a2, 12(sp) +80000590: 23 2a 51 00 sw t0, 20(sp) +80000594: 23 2c 01 01 sw a6, 24(sp) +80000598: 23 0e d1 00 sb a3, 28(sp) +8000059c: 33 87 fe 02 mul a4, t4, a5 +800005a0: d3 8e 07 e0 fmv.x.w t4, fa5 +800005a4: d3 77 0e d0 fcvt.s.w fa5, t3 +800005a8: 93 97 27 00 slli a5, a5, 2 +800005ac: 33 7e cf 01 and t3, t5, t3 +800005b0: d3 88 07 e0 fmv.x.w a7, fa5 +800005b4: 93 de 7e 41 srai t4, t4, 23 +800005b8: 13 3e 1e 00 seqz t3, t3 +800005bc: 93 d8 78 41 srai a7, a7, 23 +800005c0: 93 8e 1e f8 addi t4, t4, -127 +800005c4: 93 88 18 f8 addi a7, a7, -127 +800005c8: b3 87 f9 00 add a5, s3, a5 +800005cc: 23 28 e1 00 sw a4, 16(sp) +800005d0: 13 07 41 00 addi a4, sp, 4 +800005d4: a3 0e c1 01 sb t3, 29(sp) +800005d8: 23 0f d1 01 sb t4, 30(sp) +800005dc: a3 0f 11 01 sb a7, 31(sp) +800005e0: 23 a0 e7 00 sw a4, 0(a5) +800005e4: 63 4e 20 03 bgtz s2, 60 +800005e8: 63 9c 04 04 bnez s1, 88 +800005ec: 83 20 c1 03 lw ra, 60(sp) +800005f0: 03 24 81 03 lw s0, 56(sp) +800005f4: 83 24 41 03 lw s1, 52(sp) +800005f8: 03 29 01 03 lw s2, 48(sp) +800005fc: 83 29 c1 02 lw s3, 44(sp) +80000600: 13 01 01 04 addi sp, sp, 64 +80000604: 67 80 00 00 ret +80000608: 13 87 08 00 mv a4, a7 +8000060c: e3 c2 e7 f2 blt a5, a4, -220 +80000610: 6f f0 df fd j -36 +80000614: 13 08 00 00 mv a6, zero +80000618: 93 02 10 00 addi t0, zero, 1 +8000061c: 6f f0 df f4 j -180 +80000620: 13 07 09 00 mv a4, s2 +80000624: 63 54 23 01 bge t1, s2, 8 +80000628: 13 07 03 00 mv a4, t1 +8000062c: b7 07 00 80 lui a5, 524288 +80000630: 93 87 c7 38 addi a5, a5, 908 +80000634: 6b 10 f7 00 +80000638: ef f0 5f d5 jal -684 +8000063c: e3 88 04 fa beqz s1, -80 +80000640: 33 04 89 02 mul s0, s2, s0 +80000644: 23 28 81 00 sw s0, 16(sp) +80000648: 6b 80 04 00 +8000064c: 73 27 50 cc csrr a4, 3269 +80000650: f3 27 20 cc csrr a5, 3266 +80000654: 13 17 27 00 slli a4, a4, 2 +80000658: b3 89 e9 00 add s3, s3, a4 +8000065c: 03 a5 09 00 lw a0, 0(s3) +80000660: 83 25 05 00 lw a1, 0(a0) +80000664: 83 26 c5 00 lw a3, 12(a0) +80000668: 03 47 85 01 lbu a4, 24(a0) +8000066c: 03 a8 05 00 lw a6, 0(a1) +80000670: 03 a6 45 00 lw a2, 4(a1) +80000674: b3 87 d7 00 add a5, a5, a3 +80000678: 33 06 c8 02 mul a2, a6, a2 +8000067c: 63 0e 07 06 beqz a4, 124 +80000680: 03 47 a5 01 lbu a4, 26(a0) +80000684: 33 d7 e7 40 sra a4, a5, a4 +80000688: 83 46 95 01 lbu a3, 25(a0) +8000068c: 33 06 e6 02 mul a2, a2, a4 +80000690: b3 87 c7 40 sub a5, a5, a2 +80000694: 63 8e 06 04 beqz a3, 92 +80000698: 83 48 b5 01 lbu a7, 27(a0) +8000069c: b3 d8 17 41 sra a7, a5, a7 +800006a0: 33 08 18 03 mul a6, a6, a7 +800006a4: 03 ae 45 01 lw t3, 20(a1) +800006a8: 83 a6 05 01 lw a3, 16(a1) +800006ac: 03 a6 c5 00 lw a2, 12(a1) +800006b0: 03 23 45 00 lw t1, 4(a0) +800006b4: 03 25 85 00 lw a0, 8(a0) +800006b8: 33 07 c7 01 add a4, a4, t3 +800006bc: b3 86 d8 00 add a3, a7, a3 +800006c0: b3 87 07 41 sub a5, a5, a6 +800006c4: 33 86 c7 00 add a2, a5, a2 +800006c8: e7 00 03 00 jalr t1 +800006cc: 93 07 10 00 addi a5, zero, 1 +800006d0: 6b 80 07 00 +800006d4: 83 20 c1 03 lw ra, 60(sp) +800006d8: 03 24 81 03 lw s0, 56(sp) +800006dc: 83 24 41 03 lw s1, 52(sp) +800006e0: 03 29 01 03 lw s2, 48(sp) +800006e4: 83 29 c1 02 lw s3, 44(sp) +800006e8: 13 01 01 04 addi sp, sp, 64 +800006ec: 67 80 00 00 ret +800006f0: b3 c8 07 03 div a7, a5, a6 +800006f4: 6f f0 df fa j -84 +800006f8: 33 c7 c7 02 div a4, a5, a2 +800006fc: 6f f0 df f8 j -116 -80000860 __libc_fini_array: -80000860: 13 01 01 ff addi sp, sp, -16 -80000864: 23 24 81 00 sw s0, 8(sp) -80000868: b7 17 00 80 lui a5, 524289 -8000086c: 37 14 00 80 lui s0, 524289 -80000870: 13 04 44 00 addi s0, s0, 4 -80000874: 93 87 47 00 addi a5, a5, 4 -80000878: b3 87 87 40 sub a5, a5, s0 -8000087c: 23 22 91 00 sw s1, 4(sp) -80000880: 23 26 11 00 sw ra, 12(sp) -80000884: 93 d4 27 40 srai s1, a5, 2 -80000888: 63 80 04 02 beqz s1, 32 -8000088c: 93 87 c7 ff addi a5, a5, -4 -80000890: 33 84 87 00 add s0, a5, s0 -80000894: 83 27 04 00 lw a5, 0(s0) -80000898: 93 84 f4 ff addi s1, s1, -1 -8000089c: 13 04 c4 ff addi s0, s0, -4 -800008a0: e7 80 07 00 jalr a5 -800008a4: e3 98 04 fe bnez s1, -16 -800008a8: 83 20 c1 00 lw ra, 12(sp) -800008ac: 03 24 81 00 lw s0, 8(sp) -800008b0: 83 24 41 00 lw s1, 4(sp) -800008b4: 13 01 01 01 addi sp, sp, 16 -800008b8: 67 80 00 00 ret +80000700 vx_perf_dump: +80000700: f3 27 50 cc csrr a5, 3269 +80000704: 37 07 ff 00 lui a4, 4080 +80000708: b3 87 e7 00 add a5, a5, a4 +8000070c: 93 97 87 00 slli a5, a5, 8 +80000710: 73 27 00 b0 csrr a4, mcycle +80000714: 23 a0 e7 00 sw a4, 0(a5) +80000718: 73 27 10 b0 csrr a4, 2817 +8000071c: 23 a2 e7 00 sw a4, 4(a5) +80000720: 73 27 20 b0 csrr a4, minstret +80000724: 23 a4 e7 00 sw a4, 8(a5) +80000728: 73 27 30 b0 csrr a4, mhpmcounter3 +8000072c: 23 a6 e7 00 sw a4, 12(a5) +80000730: 73 27 40 b0 csrr a4, mhpmcounter4 +80000734: 23 a8 e7 00 sw a4, 16(a5) +80000738: 73 27 50 b0 csrr a4, mhpmcounter5 +8000073c: 23 aa e7 00 sw a4, 20(a5) +80000740: 73 27 60 b0 csrr a4, mhpmcounter6 +80000744: 23 ac e7 00 sw a4, 24(a5) +80000748: 73 27 70 b0 csrr a4, mhpmcounter7 +8000074c: 23 ae e7 00 sw a4, 28(a5) +80000750: 73 27 80 b0 csrr a4, mhpmcounter8 +80000754: 23 a0 e7 02 sw a4, 32(a5) +80000758: 73 27 90 b0 csrr a4, mhpmcounter9 +8000075c: 23 a2 e7 02 sw a4, 36(a5) +80000760: 73 27 a0 b0 csrr a4, mhpmcounter10 +80000764: 23 a4 e7 02 sw a4, 40(a5) +80000768: 73 27 b0 b0 csrr a4, mhpmcounter11 +8000076c: 23 a6 e7 02 sw a4, 44(a5) +80000770: 73 27 c0 b0 csrr a4, mhpmcounter12 +80000774: 23 a8 e7 02 sw a4, 48(a5) +80000778: 73 27 d0 b0 csrr a4, mhpmcounter13 +8000077c: 23 aa e7 02 sw a4, 52(a5) +80000780: 73 27 e0 b0 csrr a4, mhpmcounter14 +80000784: 23 ac e7 02 sw a4, 56(a5) +80000788: 73 27 f0 b0 csrr a4, mhpmcounter15 +8000078c: 23 ae e7 02 sw a4, 60(a5) +80000790: 73 27 00 b1 csrr a4, mhpmcounter16 +80000794: 23 a0 e7 04 sw a4, 64(a5) +80000798: 73 27 10 b1 csrr a4, mhpmcounter17 +8000079c: 23 a2 e7 04 sw a4, 68(a5) +800007a0: 73 27 20 b1 csrr a4, mhpmcounter18 +800007a4: 23 a4 e7 04 sw a4, 72(a5) +800007a8: 73 27 30 b1 csrr a4, mhpmcounter19 +800007ac: 23 a6 e7 04 sw a4, 76(a5) +800007b0: 73 27 40 b1 csrr a4, mhpmcounter20 +800007b4: 23 a8 e7 04 sw a4, 80(a5) +800007b8: 73 27 50 b1 csrr a4, mhpmcounter21 +800007bc: 23 aa e7 04 sw a4, 84(a5) +800007c0: 73 27 60 b1 csrr a4, mhpmcounter22 +800007c4: 23 ac e7 04 sw a4, 88(a5) +800007c8: 73 27 70 b1 csrr a4, mhpmcounter23 +800007cc: 23 ae e7 04 sw a4, 92(a5) +800007d0: 73 27 80 b1 csrr a4, mhpmcounter24 +800007d4: 23 a0 e7 06 sw a4, 96(a5) +800007d8: 73 27 90 b1 csrr a4, mhpmcounter25 +800007dc: 23 a2 e7 06 sw a4, 100(a5) +800007e0: 73 27 a0 b1 csrr a4, mhpmcounter26 +800007e4: 23 a4 e7 06 sw a4, 104(a5) +800007e8: 73 27 b0 b1 csrr a4, mhpmcounter27 +800007ec: 23 a6 e7 06 sw a4, 108(a5) +800007f0: 73 27 c0 b1 csrr a4, mhpmcounter28 +800007f4: 23 a8 e7 06 sw a4, 112(a5) +800007f8: 73 27 d0 b1 csrr a4, mhpmcounter29 +800007fc: 23 aa e7 06 sw a4, 116(a5) +80000800: 73 27 e0 b1 csrr a4, mhpmcounter30 +80000804: 23 ac e7 06 sw a4, 120(a5) +80000808: 73 27 f0 b1 csrr a4, mhpmcounter31 +8000080c: 23 ae e7 06 sw a4, 124(a5) +80000810: 73 27 00 b8 csrr a4, mcycleh +80000814: 23 a0 e7 08 sw a4, 128(a5) +80000818: 73 27 10 b8 csrr a4, 2945 +8000081c: 23 a2 e7 08 sw a4, 132(a5) +80000820: 73 27 20 b8 csrr a4, minstreth +80000824: 23 a4 e7 08 sw a4, 136(a5) +80000828: 73 27 30 b8 csrr a4, mhpmcounter3h +8000082c: 23 a6 e7 08 sw a4, 140(a5) +80000830: 73 27 40 b8 csrr a4, mhpmcounter4h +80000834: 23 a8 e7 08 sw a4, 144(a5) +80000838: 73 27 50 b8 csrr a4, mhpmcounter5h +8000083c: 23 aa e7 08 sw a4, 148(a5) +80000840: 73 27 60 b8 csrr a4, mhpmcounter6h +80000844: 23 ac e7 08 sw a4, 152(a5) +80000848: 73 27 70 b8 csrr a4, mhpmcounter7h +8000084c: 23 ae e7 08 sw a4, 156(a5) +80000850: 73 27 80 b8 csrr a4, mhpmcounter8h +80000854: 23 a0 e7 0a sw a4, 160(a5) +80000858: 73 27 90 b8 csrr a4, mhpmcounter9h +8000085c: 23 a2 e7 0a sw a4, 164(a5) +80000860: 73 27 a0 b8 csrr a4, mhpmcounter10h +80000864: 23 a4 e7 0a sw a4, 168(a5) +80000868: 73 27 b0 b8 csrr a4, mhpmcounter11h +8000086c: 23 a6 e7 0a sw a4, 172(a5) +80000870: 73 27 c0 b8 csrr a4, mhpmcounter12h +80000874: 23 a8 e7 0a sw a4, 176(a5) +80000878: 73 27 d0 b8 csrr a4, mhpmcounter13h +8000087c: 23 aa e7 0a sw a4, 180(a5) +80000880: 73 27 e0 b8 csrr a4, mhpmcounter14h +80000884: 23 ac e7 0a sw a4, 184(a5) +80000888: 73 27 f0 b8 csrr a4, mhpmcounter15h +8000088c: 23 ae e7 0a sw a4, 188(a5) +80000890: 73 27 00 b9 csrr a4, mhpmcounter16h +80000894: 23 a0 e7 0c sw a4, 192(a5) +80000898: 73 27 10 b9 csrr a4, mhpmcounter17h +8000089c: 23 a2 e7 0c sw a4, 196(a5) +800008a0: 73 27 20 b9 csrr a4, mhpmcounter18h +800008a4: 23 a4 e7 0c sw a4, 200(a5) +800008a8: 73 27 30 b9 csrr a4, mhpmcounter19h +800008ac: 23 a6 e7 0c sw a4, 204(a5) +800008b0: 73 27 40 b9 csrr a4, mhpmcounter20h +800008b4: 23 a8 e7 0c sw a4, 208(a5) +800008b8: 73 27 50 b9 csrr a4, mhpmcounter21h +800008bc: 23 aa e7 0c sw a4, 212(a5) +800008c0: 73 27 60 b9 csrr a4, mhpmcounter22h +800008c4: 23 ac e7 0c sw a4, 216(a5) +800008c8: 73 27 70 b9 csrr a4, mhpmcounter23h +800008cc: 23 ae e7 0c sw a4, 220(a5) +800008d0: 73 27 80 b9 csrr a4, mhpmcounter24h +800008d4: 23 a0 e7 0e sw a4, 224(a5) +800008d8: 73 27 90 b9 csrr a4, mhpmcounter25h +800008dc: 23 a2 e7 0e sw a4, 228(a5) +800008e0: 73 27 a0 b9 csrr a4, mhpmcounter26h +800008e4: 23 a4 e7 0e sw a4, 232(a5) +800008e8: 73 27 b0 b9 csrr a4, mhpmcounter27h +800008ec: 23 a6 e7 0e sw a4, 236(a5) +800008f0: 73 27 c0 b9 csrr a4, mhpmcounter28h +800008f4: 23 a8 e7 0e sw a4, 240(a5) +800008f8: 73 27 d0 b9 csrr a4, mhpmcounter29h +800008fc: 23 aa e7 0e sw a4, 244(a5) +80000900: 73 27 e0 b9 csrr a4, mhpmcounter30h +80000904: 23 ac e7 0e sw a4, 248(a5) +80000908: 73 27 f0 b9 csrr a4, mhpmcounter31h +8000090c: 23 ae e7 0e sw a4, 252(a5) +80000910: 67 80 00 00 ret -800008bc __libc_init_array: -800008bc: 13 01 01 ff addi sp, sp, -16 -800008c0: 23 24 81 00 sw s0, 8(sp) -800008c4: 23 20 21 01 sw s2, 0(sp) -800008c8: 37 14 00 80 lui s0, 524289 -800008cc: 37 19 00 80 lui s2, 524289 -800008d0: 93 07 04 00 mv a5, s0 -800008d4: 13 09 09 00 mv s2, s2 -800008d8: 33 09 f9 40 sub s2, s2, a5 -800008dc: 23 26 11 00 sw ra, 12(sp) -800008e0: 23 22 91 00 sw s1, 4(sp) -800008e4: 13 59 29 40 srai s2, s2, 2 -800008e8: 63 00 09 02 beqz s2, 32 -800008ec: 13 04 04 00 mv s0, s0 -800008f0: 93 04 00 00 mv s1, zero -800008f4: 83 27 04 00 lw a5, 0(s0) -800008f8: 93 84 14 00 addi s1, s1, 1 -800008fc: 13 04 44 00 addi s0, s0, 4 -80000900: e7 80 07 00 jalr a5 -80000904: e3 18 99 fe bne s2, s1, -16 -80000908: 37 14 00 80 lui s0, 524289 -8000090c: 37 19 00 80 lui s2, 524289 -80000910: 93 07 04 00 mv a5, s0 -80000914: 13 09 49 00 addi s2, s2, 4 -80000918: 33 09 f9 40 sub s2, s2, a5 -8000091c: 13 59 29 40 srai s2, s2, 2 -80000920: 63 00 09 02 beqz s2, 32 -80000924: 13 04 04 00 mv s0, s0 -80000928: 93 04 00 00 mv s1, zero -8000092c: 83 27 04 00 lw a5, 0(s0) -80000930: 93 84 14 00 addi s1, s1, 1 -80000934: 13 04 44 00 addi s0, s0, 4 -80000938: e7 80 07 00 jalr a5 -8000093c: e3 18 99 fe bne s2, s1, -16 -80000940: 83 20 c1 00 lw ra, 12(sp) -80000944: 03 24 81 00 lw s0, 8(sp) -80000948: 83 24 41 00 lw s1, 4(sp) -8000094c: 03 29 01 00 lw s2, 0(sp) -80000950: 13 01 01 01 addi sp, sp, 16 -80000954: 67 80 00 00 ret +80000914 atexit: +80000914: 93 05 05 00 mv a1, a0 +80000918: 93 06 00 00 mv a3, zero +8000091c: 13 06 00 00 mv a2, zero +80000920: 13 05 00 00 mv a0, zero +80000924: 6f 00 40 11 j 276 -80000958 memset: -80000958: 13 03 f0 00 addi t1, zero, 15 -8000095c: 13 07 05 00 mv a4, a0 -80000960: 63 7e c3 02 bgeu t1, a2, 60 -80000964: 93 77 f7 00 andi a5, a4, 15 -80000968: 63 90 07 0a bnez a5, 160 -8000096c: 63 92 05 08 bnez a1, 132 -80000970: 93 76 06 ff andi a3, a2, -16 -80000974: 13 76 f6 00 andi a2, a2, 15 -80000978: b3 86 e6 00 add a3, a3, a4 -8000097c: 23 20 b7 00 sw a1, 0(a4) -80000980: 23 22 b7 00 sw a1, 4(a4) -80000984: 23 24 b7 00 sw a1, 8(a4) -80000988: 23 26 b7 00 sw a1, 12(a4) -8000098c: 13 07 07 01 addi a4, a4, 16 -80000990: e3 66 d7 fe bltu a4, a3, -20 -80000994: 63 14 06 00 bnez a2, 8 -80000998: 67 80 00 00 ret -8000099c: b3 06 c3 40 sub a3, t1, a2 -800009a0: 93 96 26 00 slli a3, a3, 2 -800009a4: 97 02 00 00 auipc t0, 0 -800009a8: b3 86 56 00 add a3, a3, t0 -800009ac: 67 80 c6 00 jr 12(a3) -800009b0: 23 07 b7 00 sb a1, 14(a4) -800009b4: a3 06 b7 00 sb a1, 13(a4) -800009b8: 23 06 b7 00 sb a1, 12(a4) -800009bc: a3 05 b7 00 sb a1, 11(a4) -800009c0: 23 05 b7 00 sb a1, 10(a4) -800009c4: a3 04 b7 00 sb a1, 9(a4) -800009c8: 23 04 b7 00 sb a1, 8(a4) -800009cc: a3 03 b7 00 sb a1, 7(a4) -800009d0: 23 03 b7 00 sb a1, 6(a4) -800009d4: a3 02 b7 00 sb a1, 5(a4) -800009d8: 23 02 b7 00 sb a1, 4(a4) -800009dc: a3 01 b7 00 sb a1, 3(a4) -800009e0: 23 01 b7 00 sb a1, 2(a4) -800009e4: a3 00 b7 00 sb a1, 1(a4) -800009e8: 23 00 b7 00 sb a1, 0(a4) -800009ec: 67 80 00 00 ret -800009f0: 93 f5 f5 0f andi a1, a1, 255 -800009f4: 93 96 85 00 slli a3, a1, 8 -800009f8: b3 e5 d5 00 or a1, a1, a3 -800009fc: 93 96 05 01 slli a3, a1, 16 -80000a00: b3 e5 d5 00 or a1, a1, a3 -80000a04: 6f f0 df f6 j -148 -80000a08: 93 96 27 00 slli a3, a5, 2 -80000a0c: 97 02 00 00 auipc t0, 0 -80000a10: b3 86 56 00 add a3, a3, t0 -80000a14: 93 82 00 00 mv t0, ra -80000a18: e7 80 06 fa jalr -96(a3) -80000a1c: 93 80 02 00 mv ra, t0 -80000a20: 93 87 07 ff addi a5, a5, -16 -80000a24: 33 07 f7 40 sub a4, a4, a5 -80000a28: 33 06 f6 00 add a2, a2, a5 -80000a2c: e3 78 c3 f6 bgeu t1, a2, -144 -80000a30: 6f f0 df f3 j -196 +80000928 exit: +80000928: 13 01 01 ff addi sp, sp, -16 +8000092c: 93 05 00 00 mv a1, zero +80000930: 23 24 81 00 sw s0, 8(sp) +80000934: 23 26 11 00 sw ra, 12(sp) +80000938: 13 04 05 00 mv s0, a0 +8000093c: ef 00 80 19 jal 408 +80000940: b7 17 00 80 lui a5, 524289 +80000944: 03 a5 07 43 lw a0, 1072(a5) +80000948: 83 27 c5 03 lw a5, 60(a0) +8000094c: 63 84 07 00 beqz a5, 8 +80000950: e7 80 07 00 jalr a5 +80000954: 13 05 04 00 mv a0, s0 +80000958: ef f0 1f 8f jal -1808 -80000a34 __register_exitproc: -80000a34: b7 17 00 80 lui a5, 524289 -80000a38: 03 a7 07 43 lw a4, 1072(a5) -80000a3c: 83 27 87 14 lw a5, 328(a4) -80000a40: 63 8c 07 04 beqz a5, 88 -80000a44: 03 a7 47 00 lw a4, 4(a5) -80000a48: 13 08 f0 01 addi a6, zero, 31 -80000a4c: 63 4e e8 06 blt a6, a4, 124 -80000a50: 13 18 27 00 slli a6, a4, 2 -80000a54: 63 06 05 02 beqz a0, 44 -80000a58: 33 83 07 01 add t1, a5, a6 -80000a5c: 23 24 c3 08 sw a2, 136(t1) -80000a60: 83 a8 87 18 lw a7, 392(a5) -80000a64: 13 06 10 00 addi a2, zero, 1 -80000a68: 33 16 e6 00 sll a2, a2, a4 -80000a6c: b3 e8 c8 00 or a7, a7, a2 -80000a70: 23 a4 17 19 sw a7, 392(a5) -80000a74: 23 24 d3 10 sw a3, 264(t1) -80000a78: 93 06 20 00 addi a3, zero, 2 -80000a7c: 63 04 d5 02 beq a0, a3, 40 -80000a80: 13 07 17 00 addi a4, a4, 1 -80000a84: 23 a2 e7 00 sw a4, 4(a5) -80000a88: b3 87 07 01 add a5, a5, a6 -80000a8c: 23 a4 b7 00 sw a1, 8(a5) -80000a90: 13 05 00 00 mv a0, zero -80000a94: 67 80 00 00 ret -80000a98: 93 07 c7 14 addi a5, a4, 332 -80000a9c: 23 24 f7 14 sw a5, 328(a4) -80000aa0: 6f f0 5f fa j -92 -80000aa4: 83 a6 c7 18 lw a3, 396(a5) -80000aa8: 13 07 17 00 addi a4, a4, 1 -80000aac: 23 a2 e7 00 sw a4, 4(a5) -80000ab0: 33 e6 c6 00 or a2, a3, a2 -80000ab4: 23 a6 c7 18 sw a2, 396(a5) -80000ab8: b3 87 07 01 add a5, a5, a6 -80000abc: 23 a4 b7 00 sw a1, 8(a5) -80000ac0: 13 05 00 00 mv a0, zero -80000ac4: 67 80 00 00 ret -80000ac8: 13 05 f0 ff addi a0, zero, -1 -80000acc: 67 80 00 00 ret +8000095c memset: +8000095c: 13 03 f0 00 addi t1, zero, 15 +80000960: 13 07 05 00 mv a4, a0 +80000964: 63 7e c3 02 bgeu t1, a2, 60 +80000968: 93 77 f7 00 andi a5, a4, 15 +8000096c: 63 90 07 0a bnez a5, 160 +80000970: 63 92 05 08 bnez a1, 132 +80000974: 93 76 06 ff andi a3, a2, -16 +80000978: 13 76 f6 00 andi a2, a2, 15 +8000097c: b3 86 e6 00 add a3, a3, a4 +80000980: 23 20 b7 00 sw a1, 0(a4) +80000984: 23 22 b7 00 sw a1, 4(a4) +80000988: 23 24 b7 00 sw a1, 8(a4) +8000098c: 23 26 b7 00 sw a1, 12(a4) +80000990: 13 07 07 01 addi a4, a4, 16 +80000994: e3 66 d7 fe bltu a4, a3, -20 +80000998: 63 14 06 00 bnez a2, 8 +8000099c: 67 80 00 00 ret +800009a0: b3 06 c3 40 sub a3, t1, a2 +800009a4: 93 96 26 00 slli a3, a3, 2 +800009a8: 97 02 00 00 auipc t0, 0 +800009ac: b3 86 56 00 add a3, a3, t0 +800009b0: 67 80 c6 00 jr 12(a3) +800009b4: 23 07 b7 00 sb a1, 14(a4) +800009b8: a3 06 b7 00 sb a1, 13(a4) +800009bc: 23 06 b7 00 sb a1, 12(a4) +800009c0: a3 05 b7 00 sb a1, 11(a4) +800009c4: 23 05 b7 00 sb a1, 10(a4) +800009c8: a3 04 b7 00 sb a1, 9(a4) +800009cc: 23 04 b7 00 sb a1, 8(a4) +800009d0: a3 03 b7 00 sb a1, 7(a4) +800009d4: 23 03 b7 00 sb a1, 6(a4) +800009d8: a3 02 b7 00 sb a1, 5(a4) +800009dc: 23 02 b7 00 sb a1, 4(a4) +800009e0: a3 01 b7 00 sb a1, 3(a4) +800009e4: 23 01 b7 00 sb a1, 2(a4) +800009e8: a3 00 b7 00 sb a1, 1(a4) +800009ec: 23 00 b7 00 sb a1, 0(a4) +800009f0: 67 80 00 00 ret +800009f4: 93 f5 f5 0f andi a1, a1, 255 +800009f8: 93 96 85 00 slli a3, a1, 8 +800009fc: b3 e5 d5 00 or a1, a1, a3 +80000a00: 93 96 05 01 slli a3, a1, 16 +80000a04: b3 e5 d5 00 or a1, a1, a3 +80000a08: 6f f0 df f6 j -148 +80000a0c: 93 96 27 00 slli a3, a5, 2 +80000a10: 97 02 00 00 auipc t0, 0 +80000a14: b3 86 56 00 add a3, a3, t0 +80000a18: 93 82 00 00 mv t0, ra +80000a1c: e7 80 06 fa jalr -96(a3) +80000a20: 93 80 02 00 mv ra, t0 +80000a24: 93 87 07 ff addi a5, a5, -16 +80000a28: 33 07 f7 40 sub a4, a4, a5 +80000a2c: 33 06 f6 00 add a2, a2, a5 +80000a30: e3 78 c3 f6 bgeu t1, a2, -144 +80000a34: 6f f0 df f3 j -196 -80000ad0 __call_exitprocs: -80000ad0: 13 01 01 fd addi sp, sp, -48 -80000ad4: b7 17 00 80 lui a5, 524289 -80000ad8: 23 2c 41 01 sw s4, 24(sp) -80000adc: 03 aa 07 43 lw s4, 1072(a5) -80000ae0: 23 20 21 03 sw s2, 32(sp) -80000ae4: 23 26 11 02 sw ra, 44(sp) -80000ae8: 03 29 8a 14 lw s2, 328(s4) -80000aec: 23 24 81 02 sw s0, 40(sp) -80000af0: 23 22 91 02 sw s1, 36(sp) -80000af4: 23 2e 31 01 sw s3, 28(sp) -80000af8: 23 2a 51 01 sw s5, 20(sp) -80000afc: 23 28 61 01 sw s6, 16(sp) -80000b00: 23 26 71 01 sw s7, 12(sp) -80000b04: 23 24 81 01 sw s8, 8(sp) -80000b08: 63 00 09 04 beqz s2, 64 -80000b0c: 13 0b 05 00 mv s6, a0 -80000b10: 93 8b 05 00 mv s7, a1 -80000b14: 93 0a 10 00 addi s5, zero, 1 -80000b18: 93 09 f0 ff addi s3, zero, -1 -80000b1c: 83 24 49 00 lw s1, 4(s2) -80000b20: 13 84 f4 ff addi s0, s1, -1 -80000b24: 63 42 04 02 bltz s0, 36 -80000b28: 93 94 24 00 slli s1, s1, 2 -80000b2c: b3 04 99 00 add s1, s2, s1 -80000b30: 63 84 0b 04 beqz s7, 72 -80000b34: 83 a7 44 10 lw a5, 260(s1) -80000b38: 63 80 77 05 beq a5, s7, 64 -80000b3c: 13 04 f4 ff addi s0, s0, -1 -80000b40: 93 84 c4 ff addi s1, s1, -4 -80000b44: e3 16 34 ff bne s0, s3, -20 -80000b48: 83 20 c1 02 lw ra, 44(sp) -80000b4c: 03 24 81 02 lw s0, 40(sp) -80000b50: 83 24 41 02 lw s1, 36(sp) -80000b54: 03 29 01 02 lw s2, 32(sp) -80000b58: 83 29 c1 01 lw s3, 28(sp) -80000b5c: 03 2a 81 01 lw s4, 24(sp) -80000b60: 83 2a 41 01 lw s5, 20(sp) -80000b64: 03 2b 01 01 lw s6, 16(sp) -80000b68: 83 2b c1 00 lw s7, 12(sp) -80000b6c: 03 2c 81 00 lw s8, 8(sp) -80000b70: 13 01 01 03 addi sp, sp, 48 -80000b74: 67 80 00 00 ret -80000b78: 83 27 49 00 lw a5, 4(s2) -80000b7c: 83 a6 44 00 lw a3, 4(s1) -80000b80: 93 87 f7 ff addi a5, a5, -1 -80000b84: 63 8e 87 04 beq a5, s0, 92 -80000b88: 23 a2 04 00 sw zero, 4(s1) -80000b8c: e3 88 06 fa beqz a3, -80 -80000b90: 83 27 89 18 lw a5, 392(s2) -80000b94: 33 97 8a 00 sll a4, s5, s0 -80000b98: 03 2c 49 00 lw s8, 4(s2) -80000b9c: b3 77 f7 00 and a5, a4, a5 -80000ba0: 63 92 07 02 bnez a5, 36 -80000ba4: e7 80 06 00 jalr a3 -80000ba8: 03 27 49 00 lw a4, 4(s2) -80000bac: 83 27 8a 14 lw a5, 328(s4) -80000bb0: 63 14 87 01 bne a4, s8, 8 -80000bb4: e3 04 f9 f8 beq s2, a5, -120 -80000bb8: e3 88 07 f8 beqz a5, -112 -80000bbc: 13 89 07 00 mv s2, a5 -80000bc0: 6f f0 df f5 j -164 -80000bc4: 83 27 c9 18 lw a5, 396(s2) -80000bc8: 83 a5 44 08 lw a1, 132(s1) -80000bcc: 33 77 f7 00 and a4, a4, a5 -80000bd0: 63 1c 07 00 bnez a4, 24 -80000bd4: 13 05 0b 00 mv a0, s6 -80000bd8: e7 80 06 00 jalr a3 -80000bdc: 6f f0 df fc j -52 -80000be0: 23 22 89 00 sw s0, 4(s2) -80000be4: 6f f0 9f fa j -88 -80000be8: 13 85 05 00 mv a0, a1 -80000bec: e7 80 06 00 jalr a3 -80000bf0: 6f f0 9f fb j -72 +80000a38 __register_exitproc: +80000a38: b7 17 00 80 lui a5, 524289 +80000a3c: 03 a7 07 43 lw a4, 1072(a5) +80000a40: 83 27 87 14 lw a5, 328(a4) +80000a44: 63 8c 07 04 beqz a5, 88 +80000a48: 03 a7 47 00 lw a4, 4(a5) +80000a4c: 13 08 f0 01 addi a6, zero, 31 +80000a50: 63 4e e8 06 blt a6, a4, 124 +80000a54: 13 18 27 00 slli a6, a4, 2 +80000a58: 63 06 05 02 beqz a0, 44 +80000a5c: 33 83 07 01 add t1, a5, a6 +80000a60: 23 24 c3 08 sw a2, 136(t1) +80000a64: 83 a8 87 18 lw a7, 392(a5) +80000a68: 13 06 10 00 addi a2, zero, 1 +80000a6c: 33 16 e6 00 sll a2, a2, a4 +80000a70: b3 e8 c8 00 or a7, a7, a2 +80000a74: 23 a4 17 19 sw a7, 392(a5) +80000a78: 23 24 d3 10 sw a3, 264(t1) +80000a7c: 93 06 20 00 addi a3, zero, 2 +80000a80: 63 04 d5 02 beq a0, a3, 40 +80000a84: 13 07 17 00 addi a4, a4, 1 +80000a88: 23 a2 e7 00 sw a4, 4(a5) +80000a8c: b3 87 07 01 add a5, a5, a6 +80000a90: 23 a4 b7 00 sw a1, 8(a5) +80000a94: 13 05 00 00 mv a0, zero +80000a98: 67 80 00 00 ret +80000a9c: 93 07 c7 14 addi a5, a4, 332 +80000aa0: 23 24 f7 14 sw a5, 328(a4) +80000aa4: 6f f0 5f fa j -92 +80000aa8: 83 a6 c7 18 lw a3, 396(a5) +80000aac: 13 07 17 00 addi a4, a4, 1 +80000ab0: 23 a2 e7 00 sw a4, 4(a5) +80000ab4: 33 e6 c6 00 or a2, a3, a2 +80000ab8: 23 a6 c7 18 sw a2, 396(a5) +80000abc: b3 87 07 01 add a5, a5, a6 +80000ac0: 23 a4 b7 00 sw a1, 8(a5) +80000ac4: 13 05 00 00 mv a0, zero +80000ac8: 67 80 00 00 ret +80000acc: 13 05 f0 ff addi a0, zero, -1 +80000ad0: 67 80 00 00 ret + +80000ad4 __call_exitprocs: +80000ad4: 13 01 01 fd addi sp, sp, -48 +80000ad8: b7 17 00 80 lui a5, 524289 +80000adc: 23 2c 41 01 sw s4, 24(sp) +80000ae0: 03 aa 07 43 lw s4, 1072(a5) +80000ae4: 23 20 21 03 sw s2, 32(sp) +80000ae8: 23 26 11 02 sw ra, 44(sp) +80000aec: 03 29 8a 14 lw s2, 328(s4) +80000af0: 23 24 81 02 sw s0, 40(sp) +80000af4: 23 22 91 02 sw s1, 36(sp) +80000af8: 23 2e 31 01 sw s3, 28(sp) +80000afc: 23 2a 51 01 sw s5, 20(sp) +80000b00: 23 28 61 01 sw s6, 16(sp) +80000b04: 23 26 71 01 sw s7, 12(sp) +80000b08: 23 24 81 01 sw s8, 8(sp) +80000b0c: 63 00 09 04 beqz s2, 64 +80000b10: 13 0b 05 00 mv s6, a0 +80000b14: 93 8b 05 00 mv s7, a1 +80000b18: 93 0a 10 00 addi s5, zero, 1 +80000b1c: 93 09 f0 ff addi s3, zero, -1 +80000b20: 83 24 49 00 lw s1, 4(s2) +80000b24: 13 84 f4 ff addi s0, s1, -1 +80000b28: 63 42 04 02 bltz s0, 36 +80000b2c: 93 94 24 00 slli s1, s1, 2 +80000b30: b3 04 99 00 add s1, s2, s1 +80000b34: 63 84 0b 04 beqz s7, 72 +80000b38: 83 a7 44 10 lw a5, 260(s1) +80000b3c: 63 80 77 05 beq a5, s7, 64 +80000b40: 13 04 f4 ff addi s0, s0, -1 +80000b44: 93 84 c4 ff addi s1, s1, -4 +80000b48: e3 16 34 ff bne s0, s3, -20 +80000b4c: 83 20 c1 02 lw ra, 44(sp) +80000b50: 03 24 81 02 lw s0, 40(sp) +80000b54: 83 24 41 02 lw s1, 36(sp) +80000b58: 03 29 01 02 lw s2, 32(sp) +80000b5c: 83 29 c1 01 lw s3, 28(sp) +80000b60: 03 2a 81 01 lw s4, 24(sp) +80000b64: 83 2a 41 01 lw s5, 20(sp) +80000b68: 03 2b 01 01 lw s6, 16(sp) +80000b6c: 83 2b c1 00 lw s7, 12(sp) +80000b70: 03 2c 81 00 lw s8, 8(sp) +80000b74: 13 01 01 03 addi sp, sp, 48 +80000b78: 67 80 00 00 ret +80000b7c: 83 27 49 00 lw a5, 4(s2) +80000b80: 83 a6 44 00 lw a3, 4(s1) +80000b84: 93 87 f7 ff addi a5, a5, -1 +80000b88: 63 8e 87 04 beq a5, s0, 92 +80000b8c: 23 a2 04 00 sw zero, 4(s1) +80000b90: e3 88 06 fa beqz a3, -80 +80000b94: 83 27 89 18 lw a5, 392(s2) +80000b98: 33 97 8a 00 sll a4, s5, s0 +80000b9c: 03 2c 49 00 lw s8, 4(s2) +80000ba0: b3 77 f7 00 and a5, a4, a5 +80000ba4: 63 92 07 02 bnez a5, 36 +80000ba8: e7 80 06 00 jalr a3 +80000bac: 03 27 49 00 lw a4, 4(s2) +80000bb0: 83 27 8a 14 lw a5, 328(s4) +80000bb4: 63 14 87 01 bne a4, s8, 8 +80000bb8: e3 04 f9 f8 beq s2, a5, -120 +80000bbc: e3 88 07 f8 beqz a5, -112 +80000bc0: 13 89 07 00 mv s2, a5 +80000bc4: 6f f0 df f5 j -164 +80000bc8: 83 27 c9 18 lw a5, 396(s2) +80000bcc: 83 a5 44 08 lw a1, 132(s1) +80000bd0: 33 77 f7 00 and a4, a4, a5 +80000bd4: 63 1c 07 00 bnez a4, 24 +80000bd8: 13 05 0b 00 mv a0, s6 +80000bdc: e7 80 06 00 jalr a3 +80000be0: 6f f0 df fc j -52 +80000be4: 23 22 89 00 sw s0, 4(s2) +80000be8: 6f f0 9f fa j -88 +80000bec: 13 85 05 00 mv a0, a1 +80000bf0: e7 80 06 00 jalr a3 +80000bf4: 6f f0 9f fb j -72 Disassembly of section .init_array: @@ -981,80 +984,83 @@ Disassembly of section .symtab: 9e: f1 ff a0: 0e 00 a2: 00 00 - a4: 8c 02 + a4: 54 02 a6: 00 80 a8: 00 00 aa: 00 00 ac: 00 00 ae: 02 00 - b0: 15 00 - ... + b0: 1e 00 + b2: 00 00 + b4: 90 02 + b6: 00 80 + b8: 00 00 ba: 00 00 - bc: 04 00 - be: f1 ff + bc: 00 00 + be: 02 00 c0: 25 00 - c2: 00 00 - c4: 50 00 - c6: 00 80 - c8: 18 00 - ca: 00 00 - cc: 02 00 - ce: 02 00 - d0: 33 00 00 00 add zero, zero, zero ... - dc: 04 00 - de: f1 ff - e0: 57 00 00 00 + ca: 00 00 + cc: 04 00 + ce: f1 ff + d0: 35 00 + d2: 00 00 + d4: 50 00 + d6: 00 80 + d8: 18 00 + da: 00 00 + dc: 02 00 + de: 02 00 + e0: 43 00 00 00 fmadd.s ft0, ft0, ft0, ft0, rne ... ec: 04 00 ee: f1 ff - f0: 63 00 00 00 beqz zero, 0 + f0: 67 00 00 00 jr zero ... fc: 04 00 fe: f1 ff - 100: 6e 00 - 102: 00 00 - 104: 90 02 - 106: 00 80 - 108: 48 01 - 10a: 00 00 - 10c: 02 00 - 10e: 02 00 - 110: 84 00 + 100: 73 00 00 00 ecall + ... + 10c: 04 00 + 10e: f1 ff + 110: 81 00 ... 11a: 00 00 11c: 04 00 11e: f1 ff - 120: 9e 00 - ... + 120: 8c 00 + 122: 00 00 + 124: 8c 03 + 126: 00 80 + 128: 48 01 12a: 00 00 - 12c: 04 00 - 12e: f1 ff - 130: a0 00 + 12c: 02 00 + 12e: 02 00 + 130: a2 00 ... 13a: 00 00 13c: 04 00 13e: f1 ff - 140: 8e 00 + 140: ae 00 ... 14a: 00 00 14c: 04 00 14e: f1 ff - 150: 95 00 + 150: b0 00 ... 15a: 00 00 15c: 04 00 15e: f1 ff - 160: 9c 00 + 160: ac 00 ... 16a: 00 00 16c: 04 00 16e: f1 ff - 170: a7 00 00 00 + 170: b7 00 00 00 lui ra, 0 ... 17c: 04 00 17e: f1 ff - 180: b0 00 + 180: c0 00 182: 00 00 184: 08 10 186: 00 80 @@ -1065,54 +1071,54 @@ Disassembly of section .symtab: ... 19c: 04 00 19e: f1 ff - 1a0: bc 00 + 1a0: cc 00 1a2: 00 00 1a4: 04 10 1a6: 00 80 1a8: 00 00 1aa: 00 00 1ac: 00 00 - 1ae: 03 00 cd 00 lb zero, 12(s10) + 1ae: 03 00 dd 00 lb zero, 13(s10) 1b2: 00 00 1b4: 04 10 1b6: 00 80 1b8: 00 00 1ba: 00 00 1bc: 00 00 - 1be: 03 00 e0 00 lb zero, 14(zero) + 1be: 03 00 f0 00 lb zero, 15(zero) 1c2: 00 00 1c4: 04 10 1c6: 00 80 1c8: 00 00 1ca: 00 00 1cc: 00 00 - 1ce: 03 00 f1 00 lb zero, 15(sp) + 1ce: 03 00 01 01 lb zero, 16(sp) 1d2: 00 00 1d4: 00 10 1d6: 00 80 1d8: 00 00 1da: 00 00 1dc: 00 00 - 1de: 03 00 05 01 lb zero, 16(a0) + 1de: 03 00 15 01 lb zero, 17(a0) 1e2: 00 00 1e4: 00 10 1e6: 00 80 1e8: 00 00 1ea: 00 00 1ec: 00 00 - 1ee: 03 00 18 01 lb zero, 17(a6) + 1ee: 03 00 28 01 lb zero, 18(a6) 1f2: 00 00 1f4: 00 10 1f6: 00 80 1f8: 00 00 1fa: 00 00 1fc: 00 00 - 1fe: 03 00 2e 01 lb zero, 18(t3) + 1fe: 03 00 3e 01 lb zero, 19(t3) ... 20a: 00 00 20c: 10 00 20e: f1 ff - 210: 3c 01 + 210: 4c 01 212: 00 00 214: 98 00 216: 00 80 @@ -1120,7 +1126,7 @@ Disassembly of section .symtab: 21a: 00 00 21c: 12 00 21e: 02 00 - 220: 50 01 + 220: 60 01 222: 00 00 224: 00 04 226: 00 00 @@ -1128,7 +1134,7 @@ Disassembly of section .symtab: 22a: 00 00 22c: 10 00 22e: f1 ff - 230: 5d 01 + 230: 6d 01 232: 00 00 234: 34 14 236: 00 80 @@ -1136,21 +1142,21 @@ Disassembly of section .symtab: 23a: 00 00 23c: 11 00 23e: 06 00 - 240: 6b 01 00 00 + 240: 7b 01 00 00 244: 30 14 246: 00 80 248: 00 00 24a: 00 00 24c: 10 00 24e: 05 00 - 250: 7b 01 00 00 + 250: 8b 01 00 00 254: 08 18 256: 00 80 258: 00 00 25a: 00 00 25c: 10 00 25e: f1 ff - 260: 8c 01 + 260: 9c 01 262: 00 00 264: 30 14 266: 00 80 @@ -1158,169 +1164,162 @@ Disassembly of section .symtab: 26a: 00 00 26c: 11 00 26e: 05 00 - 270: 9f 01 00 00 - 274: bc 08 + 270: af 01 00 00 + 274: 94 02 276: 00 80 278: 9c 00 27a: 00 00 27c: 12 00 27e: 02 00 - 280: b1 01 + 280: c1 01 282: 00 00 - 284: 60 08 + 284: 30 03 286: 00 80 288: 5c 00 28a: 00 00 28c: 12 00 28e: 02 00 - 290: c3 01 00 00 fmadd.s ft3, ft0, ft0, ft0, rne - 294: 00 00 - 296: 00 ff + 290: d3 01 00 00 fadd.s ft3, ft0, ft0, rne + 294: 60 02 + 296: 00 80 298: 00 00 29a: 00 00 - 29c: 10 00 - 29e: f1 ff - 2a0: cf 01 00 00 fnmadd.s ft3, ft0, ft0, ft0, rne - 2a4: 54 02 + 29c: 12 00 + 29e: 02 00 + 2a0: dd 01 + 2a2: 00 00 + 2a4: d4 0a 2a6: 00 80 - 2a8: 00 00 + 2a8: 24 01 2aa: 00 00 2ac: 12 00 2ae: 02 00 - 2b0: d9 01 - 2b2: 00 00 - 2b4: d0 0a + 2b0: 13 02 00 00 mv tp, zero + 2b4: 00 00 2b6: 00 80 - 2b8: 24 01 + 2b8: 50 00 2ba: 00 00 2bc: 12 00 - 2be: 02 00 - 2c0: 0f 02 00 00 - 2c4: 00 00 + 2be: 01 00 + 2c0: ee 01 + 2c2: 00 00 + 2c4: 38 0a 2c6: 00 80 - 2c8: 50 00 + 2c8: 9c 00 2ca: 00 00 2cc: 12 00 - 2ce: 01 00 - 2d0: ea 01 + 2ce: 02 00 + 2d0: 02 02 2d2: 00 00 - 2d4: 34 0a + 2d4: b4 14 2d6: 00 80 - 2d8: 9c 00 + 2d8: 00 00 2da: 00 00 - 2dc: 12 00 - 2de: 02 00 - 2e0: fe 01 + 2dc: 10 00 + 2de: 06 00 + 2e0: 0e 02 2e2: 00 00 - 2e4: b4 14 + 2e4: 34 14 2e6: 00 80 2e8: 00 00 2ea: 00 00 2ec: 10 00 2ee: 06 00 - 2f0: 0a 02 + 2f0: 1a 02 2f2: 00 00 - 2f4: 34 14 + 2f4: 5c 09 2f6: 00 80 - 2f8: 00 00 + 2f8: dc 00 2fa: 00 00 - 2fc: 10 00 - 2fe: 06 00 - 300: 16 02 + 2fc: 12 00 + 2fe: 02 00 + 300: 21 02 302: 00 00 - 304: 58 09 + 304: 68 00 306: 00 80 - 308: dc 00 + 308: 30 00 30a: 00 00 30c: 12 00 30e: 02 00 - 310: 1d 02 + 310: 26 02 312: 00 00 - 314: 68 00 + 314: c4 01 316: 00 80 - 318: 30 00 + 318: 84 00 31a: 00 00 31c: 12 00 31e: 02 00 - 320: 22 02 + 320: 49 02 322: 00 00 - 324: c4 01 + 324: 14 09 326: 00 80 - 328: 84 00 + 328: 14 00 32a: 00 00 32c: 12 00 32e: 02 00 - 330: 45 02 + 330: 50 02 332: 00 00 - 334: 18 08 + 334: 34 01 336: 00 80 - 338: 14 00 + 338: 90 00 33a: 00 00 33c: 12 00 33e: 02 00 - 340: 4c 02 + 340: 6e 02 342: 00 00 - 344: 34 01 + 344: 08 10 346: 00 80 - 348: 90 00 + 348: 00 00 34a: 00 00 - 34c: 12 00 - 34e: 02 00 - 350: 6a 02 + 34c: 10 00 + 34e: 04 00 + 350: 7d 02 352: 00 00 - 354: 08 10 + 354: 34 14 356: 00 80 358: 00 00 35a: 00 00 35c: 10 00 - 35e: 04 00 - 360: 79 02 + 35e: 05 00 + 360: d8 00 362: 00 00 - 364: 34 14 + 364: b4 14 366: 00 80 368: 00 00 36a: 00 00 36c: 10 00 - 36e: 05 00 - 370: c8 00 + 36e: 06 00 + 370: 92 02 372: 00 00 - 374: b4 14 + 374: 28 09 376: 00 80 - 378: 00 00 + 378: 34 00 37a: 00 00 - 37c: 10 00 - 37e: 06 00 - 380: 8e 02 + 37c: 12 00 + 37e: 02 00 + 380: 84 02 382: 00 00 - 384: 2c 08 + 384: 00 07 386: 00 80 - 388: 34 00 + 388: 14 02 38a: 00 00 38c: 12 00 38e: 02 00 - 390: 80 02 + 390: 91 02 392: 00 00 - 394: 04 06 + 394: 48 02 396: 00 80 - 398: 14 02 + 398: 00 00 39a: 00 00 39c: 12 00 39e: 02 00 - 3a0: 8d 02 - 3a2: 00 00 - 3a4: 48 02 + 3a0: 97 02 00 00 auipc t0, 0 + 3a4: d4 04 3a6: 00 80 - 3a8: 00 00 + 3a8: 2c 02 3aa: 00 00 3ac: 12 00 3ae: 02 00 - 3b0: 93 02 00 00 mv t0, zero - 3b4: d8 03 - 3b6: 00 80 - 3b8: 2c 02 - 3ba: 00 00 - 3bc: 12 00 - 3be: 02 00 Disassembly of section .strtab: @@ -1330,255 +1329,260 @@ Disassembly of section .strtab: 4: 73 74 61 72 csrrci s0, 1830, 2 8: 74 2e a: 53 2e 6f 00 fadd.s ft8, ft10, ft6, rdn - e: 52 45 - 10: 54 55 - 12: 52 4e - 14: 00 5f - 16: 5f 63 61 6c - 1a: 6c 5f - 1c: 61 74 - 1e: 65 78 - 20: 69 74 - 22: 2e 63 - 24: 00 72 - 26: 65 67 - 28: 69 73 - 2a: 74 65 - 2c: 72 5f - 2e: 66 69 - 30: 6e 69 - 32: 00 70 - 34: 6f 63 6c 5f jal t1, 812534 - 38: 76 6f - 3a: 72 74 - 3c: 65 78 - 3e: 5f 6b 65 72 - 42: 6e 65 - 44: 6c 2d - 46: 37 38 2d 36 lui a6, 221907 - 4a: 32 2d - 4c: 30 32 - 4e: 2d 39 - 50: 33 2d 63 35 - 54: 2e 63 - 56: 00 70 - 58: 61 72 - 5a: 61 6c - 5c: 6c 65 - 5e: 6c 5f - 60: 62 63 - 62: 00 76 - 64: 78 5f - 66: 73 70 61 77 csrci 1910, 2 - 6a: 6e 2e - 6c: 63 00 73 70 beq t1, t2, 1792 - 70: 61 77 - 72: 6e 5f - 74: 6b 65 72 6e - 78: 65 6c - 7a: 5f 63 61 6c - 7e: 6c 62 - 80: 61 63 - 82: 6b 00 76 78 - 86: 5f 70 65 72 - 8a: 66 2e - 8c: 63 00 66 69 beq a2, s6, 1664 - 90: 6e 69 - 92: 2e 63 - 94: 00 69 - 96: 6e 69 - 98: 74 2e - 9a: 63 00 5f 5f beq t5, s5, 1504 - 9e: 61 74 - a0: 65 78 - a2: 69 74 - a4: 2e 63 - a6: 00 69 - a8: 6d 70 - aa: 75 72 - ac: 65 2e - ae: 63 00 69 6d beq s2, s6, 1728 - b2: 70 75 - b4: 72 65 - b6: 5f 64 61 74 - ba: 61 00 - bc: 5f 5f 66 69 - c0: 6e 69 - c2: 5f 61 72 72 - c6: 61 79 - c8: 5f 65 6e 64 - cc: 00 5f - ce: 5f 66 69 6e - d2: 69 5f - d4: 61 72 - d6: 72 61 - d8: 79 5f - da: 73 74 61 72 csrrci s0, 1830, 2 - de: 74 00 - e0: 5f 5f 69 6e - e4: 69 74 - e6: 5f 61 72 72 - ea: 61 79 - ec: 5f 65 6e 64 - f0: 00 5f - f2: 5f 70 72 65 - f6: 69 6e - f8: 69 74 - fa: 5f 61 72 72 - fe: 61 79 - 100: 5f 65 6e 64 - 104: 00 5f - 106: 5f 69 6e 69 - 10a: 74 5f - 10c: 61 72 - 10e: 72 61 - 110: 79 5f - 112: 73 74 61 72 csrrci s0, 1830, 2 - 116: 74 00 - 118: 5f 5f 70 72 - 11c: 65 69 - 11e: 6e 69 - 120: 74 5f - 122: 61 72 - 124: 72 61 - 126: 79 5f - 128: 73 74 61 72 csrrci s0, 1830, 2 - 12c: 74 00 - 12e: 5f 5f 73 74 - 132: 61 63 - 134: 6b 5f 75 73 - 138: 61 67 - 13a: 65 00 - 13c: 5f 70 6f 63 - 140: 6c 5f - 142: 6b 65 72 6e - 146: 65 6c - 148: 5f 76 65 63 - 14c: 61 64 - 14e: 64 00 - 150: 5f 5f 73 74 - 154: 61 63 - 156: 6b 5f 73 69 - 15a: 7a 65 - 15c: 00 67 - 15e: 5f 77 73 70 - 162: 61 77 - 164: 6e 5f - 166: 61 72 - 168: 67 73 00 5f - 16c: 5f 53 44 41 - 170: 54 41 - 172: 5f 42 45 47 - 176: 49 4e - 178: 5f 5f 00 5f - 17c: 5f 67 6c 6f - 180: 62 61 - 182: 6c 5f - 184: 70 6f - 186: 69 6e - 188: 74 65 - 18a: 72 00 + e: 6c 61 + 10: 62 65 + 12: 6c 5f + 14: 65 78 + 16: 69 74 + 18: 5f 6e 65 78 + 1c: 74 00 + 1e: 52 45 + 20: 54 55 + 22: 52 4e + 24: 00 5f + 26: 5f 63 61 6c + 2a: 6c 5f + 2c: 61 74 + 2e: 65 78 + 30: 69 74 + 32: 2e 63 + 34: 00 72 + 36: 65 67 + 38: 69 73 + 3a: 74 65 + 3c: 72 5f + 3e: 66 69 + 40: 6e 69 + 42: 00 70 + 44: 6f 63 6c 5f jal t1, 812534 + 48: 76 6f + 4a: 72 74 + 4c: 65 78 + 4e: 5f 6b 65 72 + 52: 6e 65 + 54: 6c 2d + 56: 65 66 + 58: 2d 65 + 5a: 35 2d + 5c: 33 34 2d 66 + 60: 32 2d + 62: 31 65 + 64: 2e 63 + 66: 00 70 + 68: 61 72 + 6a: 61 6c + 6c: 6c 65 + 6e: 6c 5f + 70: 62 63 + 72: 00 76 + 74: 78 5f + 76: 73 79 73 63 csrrci s2, 1591, 6 + 7a: 61 6c + 7c: 6c 73 + 7e: 2e 63 + 80: 00 76 + 82: 78 5f + 84: 73 70 61 77 csrci 1910, 2 + 88: 6e 2e + 8a: 63 00 73 70 beq t1, t2, 1792 + 8e: 61 77 + 90: 6e 5f + 92: 6b 65 72 6e + 96: 65 6c + 98: 5f 63 61 6c + 9c: 6c 62 + 9e: 61 63 + a0: 6b 00 76 78 + a4: 5f 70 65 72 + a8: 66 2e + aa: 63 00 5f 5f beq t5, s5, 1504 + ae: 61 74 + b0: 65 78 + b2: 69 74 + b4: 2e 63 + b6: 00 69 + b8: 6d 70 + ba: 75 72 + bc: 65 2e + be: 63 00 69 6d beq s2, s6, 1728 + c2: 70 75 + c4: 72 65 + c6: 5f 64 61 74 + ca: 61 00 + cc: 5f 5f 66 69 + d0: 6e 69 + d2: 5f 61 72 72 + d6: 61 79 + d8: 5f 65 6e 64 + dc: 00 5f + de: 5f 66 69 6e + e2: 69 5f + e4: 61 72 + e6: 72 61 + e8: 79 5f + ea: 73 74 61 72 csrrci s0, 1830, 2 + ee: 74 00 + f0: 5f 5f 69 6e + f4: 69 74 + f6: 5f 61 72 72 + fa: 61 79 + fc: 5f 65 6e 64 + 100: 00 5f + 102: 5f 70 72 65 + 106: 69 6e + 108: 69 74 + 10a: 5f 61 72 72 + 10e: 61 79 + 110: 5f 65 6e 64 + 114: 00 5f + 116: 5f 69 6e 69 + 11a: 74 5f + 11c: 61 72 + 11e: 72 61 + 120: 79 5f + 122: 73 74 61 72 csrrci s0, 1830, 2 + 126: 74 00 + 128: 5f 5f 70 72 + 12c: 65 69 + 12e: 6e 69 + 130: 74 5f + 132: 61 72 + 134: 72 61 + 136: 79 5f + 138: 73 74 61 72 csrrci s0, 1830, 2 + 13c: 74 00 + 13e: 5f 5f 73 74 + 142: 61 63 + 144: 6b 5f 75 73 + 148: 61 67 + 14a: 65 00 + 14c: 5f 70 6f 63 + 150: 6c 5f + 152: 6b 65 72 6e + 156: 65 6c + 158: 5f 76 65 63 + 15c: 61 64 + 15e: 64 00 + 160: 5f 5f 73 74 + 164: 61 63 + 166: 6b 5f 73 69 + 16a: 7a 65 + 16c: 00 67 + 16e: 5f 77 73 70 + 172: 61 77 + 174: 6e 5f + 176: 61 72 + 178: 67 73 00 5f + 17c: 5f 53 44 41 + 180: 54 41 + 182: 5f 42 45 47 + 186: 49 4e + 188: 5f 5f 00 5f 18c: 5f 67 6c 6f 190: 62 61 192: 6c 5f - 194: 69 6d - 196: 70 75 - 198: 72 65 - 19a: 5f 70 74 72 - 19e: 00 5f - 1a0: 5f 6c 69 62 - 1a4: 63 5f 69 6e bge s2, t1, 1790 - 1a8: 69 74 - 1aa: 5f 61 72 72 - 1ae: 61 79 - 1b0: 00 5f - 1b2: 5f 6c 69 62 - 1b6: 63 5f 66 69 bge a2, s6, 1694 - 1ba: 6e 69 - 1bc: 5f 61 72 72 - 1c0: 61 79 - 1c2: 00 5f - 1c4: 5f 73 74 61 - 1c8: 63 6b 5f 74 bltu t5, t0, 1878 - 1cc: 6f 70 00 76 j 30560 - 1d0: 78 5f - 1d2: 73 65 74 5f csrrsi a0, 1527, 8 - 1d6: 73 70 00 5f csrci 1520, 0 - 1da: 5f 63 61 6c - 1de: 6c 5f - 1e0: 65 78 - 1e2: 69 74 - 1e4: 70 72 - 1e6: 6f 63 73 00 jal t1, 223238 - 1ea: 5f 5f 72 65 - 1ee: 67 69 73 74 - 1f2: 65 72 - 1f4: 5f 65 78 69 - 1f8: 74 70 - 1fa: 72 6f - 1fc: 63 00 5f 5f beq t5, s5, 1504 - 200: 42 53 - 202: 53 5f 45 4e - 206: 44 5f - 208: 5f 00 5f 5f - 20c: 62 73 - 20e: 73 5f 73 74 csrrwi t5, 1863, 6 - 212: 61 72 - 214: 74 00 - 216: 6d 65 - 218: 6d 73 - 21a: 65 74 - 21c: 00 6d - 21e: 61 69 - 220: 6e 00 - 222: 5f 70 6f 63 - 226: 6c 5f - 228: 6b 65 72 6e - 22c: 65 6c - 22e: 5f 76 65 63 - 232: 61 64 - 234: 64 5f - 236: 77 6f 72 6b - 23a: 67 72 6f 75 - 23e: 70 5f - 240: 66 61 - 242: 73 74 00 61 csrrci s0, 1552, 0 - 246: 74 65 - 248: 78 69 - 24a: 74 00 - 24c: 5f 70 6f 63 - 250: 6c 5f - 252: 6b 65 72 6e - 256: 65 6c - 258: 5f 76 65 63 - 25c: 61 64 - 25e: 64 5f - 260: 77 6f 72 6b - 264: 67 72 6f 75 - 268: 70 00 - 26a: 5f 5f 44 41 - 26e: 54 41 - 270: 5f 42 45 47 - 274: 49 4e - 276: 5f 5f 00 5f - 27a: 65 64 - 27c: 61 74 - 27e: 61 00 - 280: 76 78 - 282: 5f 70 65 72 - 286: 66 5f - 288: 64 75 - 28a: 6d 70 - 28c: 00 5f - 28e: 65 78 - 290: 69 74 - 292: 00 76 - 294: 78 5f - 296: 73 70 61 77 csrci 1910, 2 - 29a: 6e 5f - 29c: 6b 65 72 6e - 2a0: 65 6c - 2a2: 00 + 194: 70 6f + 196: 69 6e + 198: 74 65 + 19a: 72 00 + 19c: 5f 67 6c 6f + 1a0: 62 61 + 1a2: 6c 5f + 1a4: 69 6d + 1a6: 70 75 + 1a8: 72 65 + 1aa: 5f 70 74 72 + 1ae: 00 5f + 1b0: 5f 6c 69 62 + 1b4: 63 5f 69 6e bge s2, t1, 1790 + 1b8: 69 74 + 1ba: 5f 61 72 72 + 1be: 61 79 + 1c0: 00 5f + 1c2: 5f 6c 69 62 + 1c6: 63 5f 66 69 bge a2, s6, 1694 + 1ca: 6e 69 + 1cc: 5f 61 72 72 + 1d0: 61 79 + 1d2: 00 76 + 1d4: 78 5f + 1d6: 73 65 74 5f csrrsi a0, 1527, 8 + 1da: 73 70 00 5f csrci 1520, 0 + 1de: 5f 63 61 6c + 1e2: 6c 5f + 1e4: 65 78 + 1e6: 69 74 + 1e8: 70 72 + 1ea: 6f 63 73 00 jal t1, 223238 + 1ee: 5f 5f 72 65 + 1f2: 67 69 73 74 + 1f6: 65 72 + 1f8: 5f 65 78 69 + 1fc: 74 70 + 1fe: 72 6f + 200: 63 00 5f 5f beq t5, s5, 1504 + 204: 42 53 + 206: 53 5f 45 4e + 20a: 44 5f + 20c: 5f 00 5f 5f + 210: 62 73 + 212: 73 5f 73 74 csrrwi t5, 1863, 6 + 216: 61 72 + 218: 74 00 + 21a: 6d 65 + 21c: 6d 73 + 21e: 65 74 + 220: 00 6d + 222: 61 69 + 224: 6e 00 + 226: 5f 70 6f 63 + 22a: 6c 5f + 22c: 6b 65 72 6e + 230: 65 6c + 232: 5f 76 65 63 + 236: 61 64 + 238: 64 5f + 23a: 77 6f 72 6b + 23e: 67 72 6f 75 + 242: 70 5f + 244: 66 61 + 246: 73 74 00 61 csrrci s0, 1552, 0 + 24a: 74 65 + 24c: 78 69 + 24e: 74 00 + 250: 5f 70 6f 63 + 254: 6c 5f + 256: 6b 65 72 6e + 25a: 65 6c + 25c: 5f 76 65 63 + 260: 61 64 + 262: 64 5f + 264: 77 6f 72 6b + 268: 67 72 6f 75 + 26c: 70 00 + 26e: 5f 5f 44 41 + 272: 54 41 + 274: 5f 42 45 47 + 278: 49 4e + 27a: 5f 5f 00 5f + 27e: 65 64 + 280: 61 74 + 282: 61 00 + 284: 76 78 + 286: 5f 70 65 72 + 28a: 66 5f + 28c: 64 75 + 28e: 6d 70 + 290: 00 5f + 292: 65 78 + 294: 69 74 + 296: 00 76 + 298: 78 5f + 29a: 73 70 61 77 csrci 1910, 2 + 29e: 6e 5f + 2a0: 6b 65 72 6e + 2a4: 65 6c + 2a6: 00 Disassembly of section .shstrtab: