diff --git a/kernel/.DS_Store b/kernel/.DS_Store deleted file mode 100644 index 8f25690d..00000000 Binary files a/kernel/.DS_Store and /dev/null differ diff --git a/kernel/Makefile b/kernel/Makefile deleted file mode 100644 index 04fa14d6..00000000 --- a/kernel/Makefile +++ /dev/null @@ -1,25 +0,0 @@ - -COMP = /opt/riscv/bin/riscv32-unknown-elf-gcc -# COMP = /opt/riscv/bin/riscv32-unknown-linux-gnu-gcc -CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib - -DMP = /opt/riscv/bin/riscv32-unknown-elf-objdump -CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy - -# DMP = /opt/riscv/bin/riscv32-unknown-linux-gnu-objdump -# CPY = /opt/riscv/bin/riscv32-unknown-linux-gnu-objcopy - -VX_LIB = ./vx_os/vx_back/vx_back.s ./vx_os/vx_back/vx_back.c ./vx_os/vx_util/queue.s -VX_IO = ./vx_os/vx_io/vx_io.s ./vx_os/vx_io/vx_io.c -VX_FR = ./vx_include/vx_front.c - -all: HEX DUMP ELF - -DUMP: ELF - $(DMP) -D vortex_test.elf > vortex_test.dump - -HEX: ELF - $(CPY) -O ihex vortex_test.elf vortex_test.hex - -ELF: - $(COMP) $(CC_FLAGS) $(VX_LIB) $(VX_IO) $(VX_FR) vx_main.c -o vortex_test.elf diff --git a/kernel/linker.ld b/kernel/linker.ld deleted file mode 100644 index 8fbf7896..00000000 --- a/kernel/linker.ld +++ /dev/null @@ -1,48 +0,0 @@ -/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf32lriscv.x ---- */ -/* Default linker script, for normal executables */ -/* Copyright (C) 2014-2017 Free Software Foundation, Inc. - Copying and distribution of this script, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. */ -OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv", - "elf32-littleriscv") -OUTPUT_ARCH(riscv) -ENTRY(_start) -SECTIONS -{ - . = 0x80000000; - .text : - { - *(.text) - *(.text.unlikely .text.*_unlikely .text.unlikely.*) - *(.text.exit .text.exit.*) - *(.text.startup .text.startup.*) - *(.text.hot .text.hot.*) - *(.stub .text.* .gnu.linkonce.t.*) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - } - .init : - { - KEEP (*(SORT_NONE(.init))) - } - .plt : { *(.plt) } - .iplt : { *(.iplt) } - .fini : - { - KEEP (*(SORT_NONE(.fini))) - } - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - PROVIDE (_edata = .); - PROVIDE (_end = .); - PROVIDE (__global_pointer$ = .); - - . = 0x81000000; - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } - .rodata1 : { *(.rodata1) } - . = 0x82000000; - .comment : { *(.comment) } - -} diff --git a/kernel/vortex_test.dump b/kernel/vortex_test.dump deleted file mode 100644 index 179caf03..00000000 --- a/kernel/vortex_test.dump +++ /dev/null @@ -1,2051 +0,0 @@ - -vortex_test.elf: file format elf32-littleriscv - - -Disassembly of section .text: - -80000000 <_start>: -80000000: 7ffff137 lui sp,0x7ffff -80000004: 041010ef jal ra,80001844
-80000008: 00000513 li a0,0 -8000000c: 0005006b 0x5006b - -80000010 : -80000010: 00068b93 mv s7,a3 -80000014: 00070d13 mv s10,a4 -80000018: 00010f13 mv t5,sp -8000001c: 00050393 mv t2,a0 - -80000020 : -80000020: 00100513 li a0,1 - -80000024 : -80000024: 00755c63 bge a0,t2,8000003c - -80000028 : -80000028: 80010113 addi sp,sp,-2048 # 7fffe800 -8000002c: 00050313 mv t1,a0 -80000030: 0003506b 0x3506b - -80000034 : -80000034: 00150513 addi a0,a0,1 -80000038: fedff06f j 80000024 - -8000003c : -8000003c: 00000013 nop -80000040: 00000013 nop -80000044: 00000013 nop -80000048: 00000013 nop -8000004c: 00000013 nop -80000050: 00000013 nop -80000054: 000f0113 mv sp,t5 -80000058: 00000513 li a0,0 -8000005c: 00060f93 mv t6,a2 -80000060: 00038d93 mv s11,t2 -80000064: 00000013 nop -80000068: 00000013 nop -8000006c: 00000013 nop -80000070: 00000013 nop -80000074: 00000013 nop -80000078: 00000013 nop -8000007c: 00000013 nop -80000080: 00000013 nop -80000084: 01bfe0eb 0x1bfe0eb -80000088: 00000013 nop -8000008c: 00000013 nop -80000090: 00000013 nop -80000094: 00000013 nop -80000098: 00000013 nop -8000009c: 00000013 nop -800000a0: 00000517 auipc a0,0x0 -800000a4: 1b450513 addi a0,a0,436 # 80000254 -800000a8: 0005406b 0x5406b - -800000ac : -800000ac: 00000317 auipc t1,0x0 -800000b0: f6430313 addi t1,t1,-156 # 80000010 -800000b4: 0003006b 0x3006b -800000b8: 00008067 ret - -800000bc : -800000bc: 01000217 auipc tp,0x1000 -800000c0: 25820213 addi tp,tp,600 # 81000314 -800000c4: 00022023 sw zero,0(tp) # 0 -800000c8: 00122223 sw ra,4(tp) # 4 -800000cc: 00222423 sw sp,8(tp) # 8 -800000d0: 00322623 sw gp,12(tp) # c -800000d4: 00422823 sw tp,16(tp) # 10 -800000d8: 00522a23 sw t0,20(tp) # 14 -800000dc: 00622c23 sw t1,24(tp) # 18 -800000e0: 00722e23 sw t2,28(tp) # 1c -800000e4: 02822023 sw s0,32(tp) # 20 -800000e8: 02922223 sw s1,36(tp) # 24 -800000ec: 02a22423 sw a0,40(tp) # 28 -800000f0: 02b22623 sw a1,44(tp) # 2c -800000f4: 02c22823 sw a2,48(tp) # 30 -800000f8: 02d22a23 sw a3,52(tp) # 34 -800000fc: 02e22c23 sw a4,56(tp) # 38 -80000100: 02f22e23 sw a5,60(tp) # 3c -80000104: 05022023 sw a6,64(tp) # 40 -80000108: 05122223 sw a7,68(tp) # 44 -8000010c: 05222423 sw s2,72(tp) # 48 -80000110: 05322623 sw s3,76(tp) # 4c -80000114: 05422823 sw s4,80(tp) # 50 -80000118: 05522a23 sw s5,84(tp) # 54 -8000011c: 05622c23 sw s6,88(tp) # 58 -80000120: 05722e23 sw s7,92(tp) # 5c -80000124: 07822023 sw s8,96(tp) # 60 -80000128: 07922223 sw s9,100(tp) # 64 -8000012c: 07a22423 sw s10,104(tp) # 68 -80000130: 07b22623 sw s11,108(tp) # 6c -80000134: 07c22823 sw t3,112(tp) # 70 -80000138: 07d22a23 sw t4,116(tp) # 74 -8000013c: 07e22c23 sw t5,120(tp) # 78 -80000140: 07f22e23 sw t6,124(tp) # 7c -80000144: 00100213 li tp,1 -80000148: 00008067 ret - -8000014c : -8000014c: 01000217 auipc tp,0x1000 -80000150: 1c820213 addi tp,tp,456 # 81000314 -80000154: 00022003 lw zero,0(tp) # 0 -80000158: 00422083 lw ra,4(tp) # 4 -8000015c: 00822103 lw sp,8(tp) # 8 -80000160: 00c22183 lw gp,12(tp) # c -80000164: 01022203 lw tp,16(tp) # 10 -80000168: 01422283 lw t0,20(tp) # 14 -8000016c: 01822303 lw t1,24(tp) # 18 -80000170: 01c22383 lw t2,28(tp) # 1c -80000174: 02022403 lw s0,32(tp) # 20 -80000178: 02422483 lw s1,36(tp) # 24 -8000017c: 02822503 lw a0,40(tp) # 28 -80000180: 02c22583 lw a1,44(tp) # 2c -80000184: 03022603 lw a2,48(tp) # 30 -80000188: 03422683 lw a3,52(tp) # 34 -8000018c: 03822703 lw a4,56(tp) # 38 -80000190: 03c22783 lw a5,60(tp) # 3c -80000194: 04022803 lw a6,64(tp) # 40 -80000198: 04422883 lw a7,68(tp) # 44 -8000019c: 04822903 lw s2,72(tp) # 48 -800001a0: 04c22983 lw s3,76(tp) # 4c -800001a4: 05022a03 lw s4,80(tp) # 50 -800001a8: 05422a83 lw s5,84(tp) # 54 -800001ac: 05822b03 lw s6,88(tp) # 58 -800001b0: 05c22b83 lw s7,92(tp) # 5c -800001b4: 06022c03 lw s8,96(tp) # 60 -800001b8: 06422c83 lw s9,100(tp) # 64 -800001bc: 06822d03 lw s10,104(tp) # 68 -800001c0: 06c22d83 lw s11,108(tp) # 6c -800001c4: 07022e03 lw t3,112(tp) # 70 -800001c8: 07422e83 lw t4,116(tp) # 74 -800001cc: 07822f03 lw t5,120(tp) # 78 -800001d0: 07c22f83 lw t6,124(tp) # 7c -800001d4: 00000213 li tp,0 -800001d8: 00008067 ret - -800001dc : -800001dc: 02002573 csrr a0,0x20 -800001e0: 00008067 ret - -800001e4 : -800001e4: 02102573 csrr a0,0x21 -800001e8: 00008067 ret - -800001ec : -800001ec: fe010113 addi sp,sp,-32 -800001f0: 00112e23 sw ra,28(sp) -800001f4: 00812c23 sw s0,24(sp) -800001f8: 02010413 addi s0,sp,32 -800001fc: fe042623 sw zero,-20(s0) -80000200: 0340006f j 80000234 -80000204: fec42703 lw a4,-20(s0) -80000208: 000017b7 lui a5,0x1 -8000020c: 97478793 addi a5,a5,-1676 # 974 -80000210: 02f70733 mul a4,a4,a5 -80000214: 810007b7 lui a5,0x81000 -80000218: 41478793 addi a5,a5,1044 # 81000414 -8000021c: 00f707b3 add a5,a4,a5 -80000220: 00078513 mv a0,a5 -80000224: 440000ef jal ra,80000664 -80000228: fec42783 lw a5,-20(s0) -8000022c: 00178793 addi a5,a5,1 -80000230: fef42623 sw a5,-20(s0) -80000234: fec42703 lw a4,-20(s0) -80000238: 01f00793 li a5,31 -8000023c: fce7d4e3 bge a5,a4,80000204 -80000240: 00000013 nop -80000244: 01c12083 lw ra,28(sp) -80000248: 01812403 lw s0,24(sp) -8000024c: 02010113 addi sp,sp,32 -80000250: 00008067 ret - -80000254 : -80000254: fd010113 addi sp,sp,-48 -80000258: 02112623 sw ra,44(sp) -8000025c: 02812423 sw s0,40(sp) -80000260: 03a12223 sw s10,36(sp) -80000264: 03010413 addi s0,sp,48 -80000268: 00000013 nop -8000026c: 000d0713 mv a4,s10 -80000270: 000017b7 lui a5,0x1 -80000274: 97478793 addi a5,a5,-1676 # 974 -80000278: 02f70733 mul a4,a4,a5 -8000027c: 810007b7 lui a5,0x81000 -80000280: 41478793 addi a5,a5,1044 # 81000414 -80000284: 00f707b3 add a5,a4,a5 -80000288: 00078513 mv a0,a5 -8000028c: 504000ef jal ra,80000790 -80000290: 00050793 mv a5,a0 -80000294: 02078a63 beqz a5,800002c8 -80000298: 000d0713 mv a4,s10 -8000029c: 810007b7 lui a5,0x81000 -800002a0: 00271713 slli a4,a4,0x2 -800002a4: 26c78793 addi a5,a5,620 # 8100026c -800002a8: 00f707b3 add a5,a4,a5 -800002ac: 00100713 li a4,1 -800002b0: 00e7a023 sw a4,0(a5) -800002b4: 000d0793 mv a5,s10 -800002b8: 00079663 bnez a5,800002c4 -800002bc: e91ff0ef jal ra,8000014c -800002c0: 05c0006f j 8000031c -800002c4: 00000073 ecall -800002c8: 000d0713 mv a4,s10 -800002cc: 000017b7 lui a5,0x1 -800002d0: 97478793 addi a5,a5,-1676 # 974 -800002d4: 02f70733 mul a4,a4,a5 -800002d8: 810007b7 lui a5,0x81000 -800002dc: 41478793 addi a5,a5,1044 # 81000414 -800002e0: 00f707b3 add a5,a4,a5 -800002e4: fd840713 addi a4,s0,-40 -800002e8: 00070593 mv a1,a4 -800002ec: 00078513 mv a0,a5 -800002f0: 400000ef jal ra,800006f0 -800002f4: fe042783 lw a5,-32(s0) -800002f8: 00078113 mv sp,a5 -800002fc: fdc42783 lw a5,-36(s0) -80000300: fd842583 lw a1,-40(s0) -80000304: fe442603 lw a2,-28(s0) -80000308: fe842683 lw a3,-24(s0) -8000030c: fec42703 lw a4,-20(s0) -80000310: 00078513 mv a0,a5 -80000314: cfdff0ef jal ra,80000010 -80000318: 00000073 ecall -8000031c: 02c12083 lw ra,44(sp) -80000320: 02812403 lw s0,40(sp) -80000324: 02412d03 lw s10,36(sp) -80000328: 03010113 addi sp,sp,48 -8000032c: 00008067 ret - -80000330 : -80000330: fb010113 addi sp,sp,-80 -80000334: 04112623 sw ra,76(sp) -80000338: 04812423 sw s0,72(sp) -8000033c: 05010413 addi s0,sp,80 -80000340: e9dff0ef jal ra,800001dc -80000344: fea42423 sw a0,-24(s0) -80000348: 00010993 mv s3,sp -8000034c: 00100793 li a5,1 -80000350: fef42623 sw a5,-20(s0) -80000354: 08c0006f j 800003e0 -80000358: fec42703 lw a4,-20(s0) -8000035c: 000017b7 lui a5,0x1 -80000360: 97478793 addi a5,a5,-1676 # 974 -80000364: 02f70733 mul a4,a4,a5 -80000368: 810007b7 lui a5,0x81000 -8000036c: 41478793 addi a5,a5,1044 # 81000414 -80000370: 00f707b3 add a5,a4,a5 -80000374: 00078513 mv a0,a5 -80000378: 418000ef jal ra,80000790 -8000037c: 00050793 mv a5,a0 -80000380: 04079a63 bnez a5,800003d4 -80000384: fec42703 lw a4,-20(s0) -80000388: 000017b7 lui a5,0x1 -8000038c: 97478793 addi a5,a5,-1676 # 974 -80000390: 02f70733 mul a4,a4,a5 -80000394: 810007b7 lui a5,0x81000 -80000398: 41478793 addi a5,a5,1044 # 81000414 -8000039c: 00f707b3 add a5,a4,a5 -800003a0: fd040713 addi a4,s0,-48 -800003a4: 00070593 mv a1,a4 -800003a8: 00078513 mv a0,a5 -800003ac: 344000ef jal ra,800006f0 -800003b0: fd842783 lw a5,-40(s0) -800003b4: 00078113 mv sp,a5 -800003b8: fd442783 lw a5,-44(s0) -800003bc: fd042583 lw a1,-48(s0) -800003c0: fdc42603 lw a2,-36(s0) -800003c4: fe042683 lw a3,-32(s0) -800003c8: fe442703 lw a4,-28(s0) -800003cc: 00078513 mv a0,a5 -800003d0: cddff0ef jal ra,800000ac -800003d4: fec42783 lw a5,-20(s0) -800003d8: 00178793 addi a5,a5,1 -800003dc: fef42623 sw a5,-20(s0) -800003e0: fec42783 lw a5,-20(s0) -800003e4: fe842703 lw a4,-24(s0) -800003e8: f6e7e8e3 bltu a5,a4,80000358 -800003ec: 00098113 mv sp,s3 -800003f0: ccdff0ef jal ra,800000bc -800003f4: 00020793 mv a5,tp -800003f8: 04078863 beqz a5,80000448 -800003fc: 810007b7 lui a5,0x81000 -80000400: 41478513 addi a0,a5,1044 # 81000414 -80000404: 38c000ef jal ra,80000790 -80000408: 00050793 mv a5,a0 -8000040c: 02079e63 bnez a5,80000448 -80000410: fb840793 addi a5,s0,-72 -80000414: 00078593 mv a1,a5 -80000418: 810007b7 lui a5,0x81000 -8000041c: 41478513 addi a0,a5,1044 # 81000414 -80000420: 2d0000ef jal ra,800006f0 -80000424: fc042783 lw a5,-64(s0) -80000428: 00078113 mv sp,a5 -8000042c: fbc42783 lw a5,-68(s0) -80000430: fb842583 lw a1,-72(s0) -80000434: fc442603 lw a2,-60(s0) -80000438: fc842683 lw a3,-56(s0) -8000043c: fcc42703 lw a4,-52(s0) -80000440: 00078513 mv a0,a5 -80000444: bcdff0ef jal ra,80000010 -80000448: 00000013 nop -8000044c: 04c12083 lw ra,76(sp) -80000450: 04812403 lw s0,72(sp) -80000454: 05010113 addi sp,sp,80 -80000458: 00008067 ret - -8000045c : -8000045c: fb010113 addi sp,sp,-80 -80000460: 04112623 sw ra,76(sp) -80000464: 04812423 sw s0,72(sp) -80000468: 05010413 addi s0,sp,80 -8000046c: faa42e23 sw a0,-68(s0) -80000470: fab42c23 sw a1,-72(s0) -80000474: fac42a23 sw a2,-76(s0) -80000478: fad42823 sw a3,-80(s0) -8000047c: d71ff0ef jal ra,800001ec -80000480: d5dff0ef jal ra,800001dc -80000484: fea42223 sw a0,-28(s0) -80000488: 00010913 mv s2,sp -8000048c: fe042623 sw zero,-20(s0) -80000490: fe042423 sw zero,-24(s0) -80000494: 0900006f j 80000524 -80000498: ffff09b7 lui s3,0xffff0 -8000049c: 01310133 add sp,sp,s3 -800004a0: fe842783 lw a5,-24(s0) -800004a4: fcf42623 sw a5,-52(s0) -800004a8: fb842783 lw a5,-72(s0) -800004ac: fcf42823 sw a5,-48(s0) -800004b0: 00010793 mv a5,sp -800004b4: fcf42a23 sw a5,-44(s0) -800004b8: fb442783 lw a5,-76(s0) -800004bc: fcf42c23 sw a5,-40(s0) -800004c0: fb042783 lw a5,-80(s0) -800004c4: fcf42e23 sw a5,-36(s0) -800004c8: fec42783 lw a5,-20(s0) -800004cc: fef42023 sw a5,-32(s0) -800004d0: fec42703 lw a4,-20(s0) -800004d4: 000017b7 lui a5,0x1 -800004d8: 97478793 addi a5,a5,-1676 # 974 -800004dc: 02f70733 mul a4,a4,a5 -800004e0: 810007b7 lui a5,0x81000 -800004e4: 41478793 addi a5,a5,1044 # 81000414 -800004e8: 00f707b3 add a5,a4,a5 -800004ec: fcc40713 addi a4,s0,-52 -800004f0: 00070593 mv a1,a4 -800004f4: 00078513 mv a0,a5 -800004f8: 190000ef jal ra,80000688 -800004fc: fec42783 lw a5,-20(s0) -80000500: 00178793 addi a5,a5,1 -80000504: fef42623 sw a5,-20(s0) -80000508: fec42783 lw a5,-20(s0) -8000050c: fe442703 lw a4,-28(s0) -80000510: 00e7e463 bltu a5,a4,80000518 -80000514: fe042623 sw zero,-20(s0) -80000518: fe842783 lw a5,-24(s0) -8000051c: 00178793 addi a5,a5,1 -80000520: fef42423 sw a5,-24(s0) -80000524: fe842703 lw a4,-24(s0) -80000528: fbc42783 lw a5,-68(s0) -8000052c: f6f766e3 bltu a4,a5,80000498 -80000530: 00090113 mv sp,s2 -80000534: dfdff0ef jal ra,80000330 -80000538: 00000013 nop -8000053c: 04c12083 lw ra,76(sp) -80000540: 04812403 lw s0,72(sp) -80000544: 05010113 addi sp,sp,80 -80000548: 00008067 ret - -8000054c : -8000054c: fd010113 addi sp,sp,-48 -80000550: 02112623 sw ra,44(sp) -80000554: 02812423 sw s0,40(sp) -80000558: 03010413 addi s0,sp,48 -8000055c: fca42e23 sw a0,-36(s0) -80000560: fdc42583 lw a1,-36(s0) -80000564: 810007b7 lui a5,0x81000 -80000568: 04078513 addi a0,a5,64 # 81000040 -8000056c: 2d8000ef jal ra,80000844 -80000570: c6dff0ef jal ra,800001dc -80000574: fea42023 sw a0,-32(s0) -80000578: fe042623 sw zero,-20(s0) -8000057c: 0680006f j 800005e4 -80000580: 00100793 li a5,1 -80000584: fef42623 sw a5,-20(s0) -80000588: fe042423 sw zero,-24(s0) -8000058c: 03c0006f j 800005c8 -80000590: 810007b7 lui a5,0x81000 -80000594: fe842703 lw a4,-24(s0) -80000598: 00271713 slli a4,a4,0x2 -8000059c: 26c78793 addi a5,a5,620 # 8100026c -800005a0: 00f707b3 add a5,a4,a5 -800005a4: 0007a703 lw a4,0(a5) -800005a8: 00100793 li a5,1 -800005ac: 00f71863 bne a4,a5,800005bc -800005b0: fec42783 lw a5,-20(s0) -800005b4: 00178793 addi a5,a5,1 -800005b8: fef42623 sw a5,-20(s0) -800005bc: fe842783 lw a5,-24(s0) -800005c0: 00178793 addi a5,a5,1 -800005c4: fef42423 sw a5,-24(s0) -800005c8: fe842703 lw a4,-24(s0) -800005cc: 01f00793 li a5,31 -800005d0: fce7d0e3 bge a5,a4,80000590 -800005d4: fec42583 lw a1,-20(s0) -800005d8: 810007b7 lui a5,0x81000 -800005dc: 04c78513 addi a0,a5,76 # 8100004c -800005e0: 264000ef jal ra,80000844 -800005e4: fec42703 lw a4,-20(s0) -800005e8: fdc42783 lw a5,-36(s0) -800005ec: f8f76ae3 bltu a4,a5,80000580 -800005f0: fe042223 sw zero,-28(s0) -800005f4: 0280006f j 8000061c -800005f8: 810007b7 lui a5,0x81000 -800005fc: fe442703 lw a4,-28(s0) -80000600: 00271713 slli a4,a4,0x2 -80000604: 26c78793 addi a5,a5,620 # 8100026c -80000608: 00f707b3 add a5,a4,a5 -8000060c: 0007a023 sw zero,0(a5) -80000610: fe442783 lw a5,-28(s0) -80000614: 00178793 addi a5,a5,1 -80000618: fef42223 sw a5,-28(s0) -8000061c: fe442783 lw a5,-28(s0) -80000620: fe042703 lw a4,-32(s0) -80000624: fce7eae3 bltu a5,a4,800005f8 -80000628: 00000013 nop -8000062c: 02c12083 lw ra,44(sp) -80000630: 02812403 lw s0,40(sp) -80000634: 03010113 addi sp,sp,48 -80000638: 00008067 ret - -8000063c : -8000063c: ff010113 addi sp,sp,-16 -80000640: 00812623 sw s0,12(sp) -80000644: 01712423 sw s7,8(sp) -80000648: 01010413 addi s0,sp,16 -8000064c: 000b8793 mv a5,s7 -80000650: 00078513 mv a0,a5 -80000654: 00c12403 lw s0,12(sp) -80000658: 00812b83 lw s7,8(sp) -8000065c: 01010113 addi sp,sp,16 -80000660: 00008067 ret - -80000664 : -80000664: 00050293 mv t0,a0 -80000668: 00000313 li t1,0 -8000066c: 00700393 li t2,7 -80000670: 0062a023 sw t1,0(t0) -80000674: 0062a223 sw t1,4(t0) -80000678: 0062a423 sw t1,8(t0) -8000067c: 0072a623 sw t2,12(t0) -80000680: 0062a823 sw t1,16(t0) -80000684: 00008067 ret - -80000688 : -80000688: 00050293 mv t0,a0 -8000068c: 0082a303 lw t1,8(t0) -80000690: 00130313 addi t1,t1,1 -80000694: 0062a423 sw t1,8(t0) -80000698: 01428313 addi t1,t0,20 -8000069c: 0042ae83 lw t4,4(t0) -800006a0: 005e9393 slli t2,t4,0x5 -800006a4: 00730333 add t1,t1,t2 -800006a8: 0005ae03 lw t3,0(a1) -800006ac: 01c32023 sw t3,0(t1) -800006b0: 0045ae03 lw t3,4(a1) -800006b4: 01c32223 sw t3,4(t1) -800006b8: 0085ae03 lw t3,8(a1) -800006bc: 01c32423 sw t3,8(t1) -800006c0: 00c5ae03 lw t3,12(a1) -800006c4: 01c32623 sw t3,12(t1) -800006c8: 0105ae03 lw t3,16(a1) -800006cc: 01c32823 sw t3,16(t1) -800006d0: 0145ae03 lw t3,20(a1) -800006d4: 01c32a23 sw t3,20(t1) -800006d8: 001e8e93 addi t4,t4,1 -800006dc: 03200f13 li t5,50 -800006e0: 01ee9463 bne t4,t5,800006e8 -800006e4: 00000e93 li t4,0 - -800006e8 : -800006e8: 01d2a223 sw t4,4(t0) -800006ec: 00008067 ret - -800006f0 : -800006f0: 00050293 mv t0,a0 -800006f4: 0082a303 lw t1,8(t0) -800006f8: 00000013 nop -800006fc: 00000013 nop -80000700: 00000013 nop -80000704: 00000013 nop -80000708: 00000013 nop -8000070c: 00000013 nop -80000710: fff30313 addi t1,t1,-1 -80000714: 0062a423 sw t1,8(t0) -80000718: 01428313 addi t1,t0,20 -8000071c: 0002ae83 lw t4,0(t0) -80000720: 03200f93 li t6,50 -80000724: 000e8f13 mv t5,t4 -80000728: 001f0f13 addi t5,t5,1 -8000072c: 01ff1463 bne t5,t6,80000734 -80000730: 00000f13 li t5,0 - -80000734 : -80000734: 01e2a023 sw t5,0(t0) -80000738: 005e9393 slli t2,t4,0x5 -8000073c: 00730333 add t1,t1,t2 -80000740: 00032e03 lw t3,0(t1) -80000744: 01c5a023 sw t3,0(a1) -80000748: 00432e03 lw t3,4(t1) -8000074c: 01c5a223 sw t3,4(a1) -80000750: 00832e03 lw t3,8(t1) -80000754: 01c5a423 sw t3,8(a1) -80000758: 00c32e03 lw t3,12(t1) -8000075c: 01c5a623 sw t3,12(a1) -80000760: 01032e03 lw t3,16(t1) -80000764: 01c5a823 sw t3,16(a1) -80000768: 01432e03 lw t3,20(t1) -8000076c: 01c5aa23 sw t3,20(a1) -80000770: 00008067 ret - -80000774 : -80000774: 00050293 mv t0,a0 -80000778: 0082a303 lw t1,8(t0) -8000077c: 00000513 li a0,0 -80000780: 03200e13 li t3,50 -80000784: 006e1463 bne t3,t1,8000078c -80000788: 00150513 addi a0,a0,1 - -8000078c : -8000078c: 00008067 ret - -80000790 : -80000790: 00050293 mv t0,a0 -80000794: 0082a303 lw t1,8(t0) -80000798: 00000513 li a0,0 -8000079c: 00000e13 li t3,0 -800007a0: 006e1463 bne t3,t1,800007a8 -800007a4: 00150513 addi a0,a0,1 - -800007a8 : -800007a8: 00008067 ret - -800007ac : -800007ac: 00050293 mv t0,a0 -800007b0: 00c2a303 lw t1,12(t0) -800007b4: 0102a383 lw t2,16(t0) -800007b8: 0063b533 sltu a0,t2,t1 -800007bc: 00008067 ret - -800007c0 : -800007c0: ff410113 addi sp,sp,-12 -800007c4: 00112023 sw ra,0(sp) -800007c8: 00b12223 sw a1,4(sp) - -800007cc : -800007cc: 00054583 lbu a1,0(a0) -800007d0: 00058863 beqz a1,800007e0 -800007d4: 01c000ef jal ra,800007f0 -800007d8: 00150513 addi a0,a0,1 -800007dc: ff1ff06f j 800007cc - -800007e0 : -800007e0: 00012083 lw ra,0(sp) -800007e4: 00412583 lw a1,4(sp) -800007e8: 00c10113 addi sp,sp,12 -800007ec: 00008067 ret - -800007f0 : -800007f0: 000108b7 lui a7,0x10 -800007f4: 00b8a023 sw a1,0(a7) # 10000 -800007f8: 00008067 ret - -800007fc : -800007fc: fe010113 addi sp,sp,-32 -80000800: 00112e23 sw ra,28(sp) -80000804: 00812c23 sw s0,24(sp) -80000808: 02010413 addi s0,sp,32 -8000080c: fea42623 sw a0,-20(s0) -80000810: 810007b7 lui a5,0x81000 -80000814: fec42703 lw a4,-20(s0) -80000818: 00271713 slli a4,a4,0x2 -8000081c: 1a878793 addi a5,a5,424 # 810001a8 -80000820: 00f707b3 add a5,a4,a5 -80000824: 0007a783 lw a5,0(a5) -80000828: 00078513 mv a0,a5 -8000082c: f95ff0ef jal ra,800007c0 -80000830: 00000013 nop -80000834: 01c12083 lw ra,28(sp) -80000838: 01812403 lw s0,24(sp) -8000083c: 02010113 addi sp,sp,32 -80000840: 00008067 ret - -80000844 : -80000844: fe010113 addi sp,sp,-32 -80000848: 00112e23 sw ra,28(sp) -8000084c: 00812c23 sw s0,24(sp) -80000850: 02010413 addi s0,sp,32 -80000854: fea42623 sw a0,-20(s0) -80000858: feb42423 sw a1,-24(s0) -8000085c: fec42503 lw a0,-20(s0) -80000860: f61ff0ef jal ra,800007c0 -80000864: fe842503 lw a0,-24(s0) -80000868: f95ff0ef jal ra,800007fc -8000086c: 810007b7 lui a5,0x81000 -80000870: 09478513 addi a0,a5,148 # 81000094 -80000874: f4dff0ef jal ra,800007c0 -80000878: 00000013 nop -8000087c: 01c12083 lw ra,28(sp) -80000880: 01812403 lw s0,24(sp) -80000884: 02010113 addi sp,sp,32 -80000888: 00008067 ret - -8000088c : -8000088c: fd010113 addi sp,sp,-48 -80000890: 02112623 sw ra,44(sp) -80000894: 02812423 sw s0,40(sp) -80000898: 03010413 addi s0,sp,48 -8000089c: fca42e23 sw a0,-36(s0) -800008a0: fcb42c23 sw a1,-40(s0) -800008a4: fcc42a23 sw a2,-44(s0) -800008a8: fcd42823 sw a3,-48(s0) -800008ac: 810267b7 lui a5,0x81026 -800008b0: fdc42703 lw a4,-36(s0) -800008b4: 1ae7ae23 sw a4,444(a5) # 810261bc -800008b8: 810267b7 lui a5,0x81026 -800008bc: 1bc78793 addi a5,a5,444 # 810261bc -800008c0: fd842703 lw a4,-40(s0) -800008c4: 00e7a223 sw a4,4(a5) -800008c8: 810267b7 lui a5,0x81026 -800008cc: 1bc78793 addi a5,a5,444 # 810261bc -800008d0: fd442703 lw a4,-44(s0) -800008d4: 00e7a423 sw a4,8(a5) -800008d8: 810267b7 lui a5,0x81026 -800008dc: 1bc78793 addi a5,a5,444 # 810261bc -800008e0: fd042703 lw a4,-48(s0) -800008e4: 00e7a623 sw a4,12(a5) -800008e8: 8fdff0ef jal ra,800001e4 -800008ec: fea42423 sw a0,-24(s0) -800008f0: fd042703 lw a4,-48(s0) -800008f4: fe842783 lw a5,-24(s0) -800008f8: 02f757b3 divu a5,a4,a5 -800008fc: fef42623 sw a5,-20(s0) -80000900: fd042703 lw a4,-48(s0) -80000904: fe842783 lw a5,-24(s0) -80000908: 02f777b3 remu a5,a4,a5 -8000090c: 00078863 beqz a5,8000091c -80000910: fec42783 lw a5,-20(s0) -80000914: 00178793 addi a5,a5,1 -80000918: fef42623 sw a5,-20(s0) -8000091c: 810267b7 lui a5,0x81026 -80000920: 1bc78793 addi a5,a5,444 # 810261bc -80000924: fec42703 lw a4,-20(s0) -80000928: 00e7a823 sw a4,16(a5) -8000092c: fd042703 lw a4,-48(s0) -80000930: fe842783 lw a5,-24(s0) -80000934: 02f76263 bltu a4,a5,80000958 -80000938: 810267b7 lui a5,0x81026 -8000093c: 1bc78693 addi a3,a5,444 # 810261bc -80000940: 800017b7 lui a5,0x80001 -80000944: 9b078613 addi a2,a5,-1616 # 800009b0 -80000948: fe842583 lw a1,-24(s0) -8000094c: fd042503 lw a0,-48(s0) -80000950: b0dff0ef jal ra,8000045c -80000954: 0200006f j 80000974 -80000958: 810267b7 lui a5,0x81026 -8000095c: 1bc78693 addi a3,a5,444 # 810261bc -80000960: 800017b7 lui a5,0x80001 -80000964: 9b078613 addi a2,a5,-1616 # 800009b0 -80000968: fd042583 lw a1,-48(s0) -8000096c: fd042503 lw a0,-48(s0) -80000970: aedff0ef jal ra,8000045c -80000974: 869ff0ef jal ra,800001dc -80000978: fea42223 sw a0,-28(s0) -8000097c: fd042703 lw a4,-48(s0) -80000980: fe442783 lw a5,-28(s0) -80000984: 00e7f863 bgeu a5,a4,80000994 -80000988: fe442503 lw a0,-28(s0) -8000098c: bc1ff0ef jal ra,8000054c -80000990: 00c0006f j 8000099c -80000994: fd042503 lw a0,-48(s0) -80000998: bb5ff0ef jal ra,8000054c -8000099c: 00000013 nop -800009a0: 02c12083 lw ra,44(sp) -800009a4: 02812403 lw s0,40(sp) -800009a8: 03010113 addi sp,sp,48 -800009ac: 00008067 ret - -800009b0 <_vx_mat_mult>: -800009b0: fa010113 addi sp,sp,-96 -800009b4: 04112e23 sw ra,92(sp) -800009b8: 04812c23 sw s0,88(sp) -800009bc: 06010413 addi s0,sp,96 -800009c0: faa42623 sw a0,-84(s0) -800009c4: fab42423 sw a1,-88(s0) -800009c8: c75ff0ef jal ra,8000063c -800009cc: fca42c23 sw a0,-40(s0) -800009d0: fd842783 lw a5,-40(s0) -800009d4: 0007a783 lw a5,0(a5) -800009d8: fcf42a23 sw a5,-44(s0) -800009dc: fd842783 lw a5,-40(s0) -800009e0: 0047a783 lw a5,4(a5) -800009e4: fcf42823 sw a5,-48(s0) -800009e8: fd842783 lw a5,-40(s0) -800009ec: 0087a783 lw a5,8(a5) -800009f0: fcf42623 sw a5,-52(s0) -800009f4: fd842783 lw a5,-40(s0) -800009f8: 0107a783 lw a5,16(a5) -800009fc: fef42623 sw a5,-20(s0) -80000a00: fec42703 lw a4,-20(s0) -80000a04: fac42783 lw a5,-84(s0) -80000a08: 02f707b3 mul a5,a4,a5 -80000a0c: fef42423 sw a5,-24(s0) -80000a10: fec42783 lw a5,-20(s0) -80000a14: 00079a63 bnez a5,80000a28 <_vx_mat_mult+0x78> -80000a18: 00100793 li a5,1 -80000a1c: fef42623 sw a5,-20(s0) -80000a20: fac42783 lw a5,-84(s0) -80000a24: fef42423 sw a5,-24(s0) -80000a28: fd842783 lw a5,-40(s0) -80000a2c: 00c7a783 lw a5,12(a5) -80000a30: fcf42423 sw a5,-56(s0) -80000a34: fe042223 sw zero,-28(s0) -80000a38: 0d80006f j 80000b10 <_vx_mat_mult+0x160> -80000a3c: fe042023 sw zero,-32(s0) -80000a40: fc042e23 sw zero,-36(s0) -80000a44: 0780006f j 80000abc <_vx_mat_mult+0x10c> -80000a48: fa842703 lw a4,-88(s0) -80000a4c: fc842783 lw a5,-56(s0) -80000a50: 02f707b3 mul a5,a4,a5 -80000a54: fdc42703 lw a4,-36(s0) -80000a58: 00f707b3 add a5,a4,a5 -80000a5c: fcf42223 sw a5,-60(s0) -80000a60: fc842703 lw a4,-56(s0) -80000a64: fdc42783 lw a5,-36(s0) -80000a68: 02f707b3 mul a5,a4,a5 -80000a6c: fe842703 lw a4,-24(s0) -80000a70: 00f707b3 add a5,a4,a5 -80000a74: fcf42023 sw a5,-64(s0) -80000a78: fc442783 lw a5,-60(s0) -80000a7c: 00279793 slli a5,a5,0x2 -80000a80: fd442703 lw a4,-44(s0) -80000a84: 00f707b3 add a5,a4,a5 -80000a88: 0007a703 lw a4,0(a5) -80000a8c: fc042783 lw a5,-64(s0) -80000a90: 00279793 slli a5,a5,0x2 -80000a94: fd042683 lw a3,-48(s0) -80000a98: 00f687b3 add a5,a3,a5 -80000a9c: 0007a783 lw a5,0(a5) -80000aa0: 02f707b3 mul a5,a4,a5 -80000aa4: fe042703 lw a4,-32(s0) -80000aa8: 00f707b3 add a5,a4,a5 -80000aac: fef42023 sw a5,-32(s0) -80000ab0: fdc42783 lw a5,-36(s0) -80000ab4: 00178793 addi a5,a5,1 -80000ab8: fcf42e23 sw a5,-36(s0) -80000abc: fdc42703 lw a4,-36(s0) -80000ac0: fc842783 lw a5,-56(s0) -80000ac4: f8f762e3 bltu a4,a5,80000a48 <_vx_mat_mult+0x98> -80000ac8: fa842703 lw a4,-88(s0) -80000acc: fc842783 lw a5,-56(s0) -80000ad0: 02f70733 mul a4,a4,a5 -80000ad4: fe842783 lw a5,-24(s0) -80000ad8: 00f707b3 add a5,a4,a5 -80000adc: faf42e23 sw a5,-68(s0) -80000ae0: fbc42783 lw a5,-68(s0) -80000ae4: 00279793 slli a5,a5,0x2 -80000ae8: fcc42703 lw a4,-52(s0) -80000aec: 00f707b3 add a5,a4,a5 -80000af0: fe042703 lw a4,-32(s0) -80000af4: 00e7a023 sw a4,0(a5) -80000af8: fe842783 lw a5,-24(s0) -80000afc: 00178793 addi a5,a5,1 -80000b00: fef42423 sw a5,-24(s0) -80000b04: fe442783 lw a5,-28(s0) -80000b08: 00178793 addi a5,a5,1 -80000b0c: fef42223 sw a5,-28(s0) -80000b10: fe442783 lw a5,-28(s0) -80000b14: fec42703 lw a4,-20(s0) -80000b18: f2e7e2e3 bltu a5,a4,80000a3c <_vx_mat_mult+0x8c> -80000b1c: 00000013 nop -80000b20: 05c12083 lw ra,92(sp) -80000b24: 05812403 lw s0,88(sp) -80000b28: 06010113 addi sp,sp,96 -80000b2c: 00008067 ret - -80000b30 : -80000b30: fc010113 addi sp,sp,-64 -80000b34: 02112e23 sw ra,60(sp) -80000b38: 02812c23 sw s0,56(sp) -80000b3c: 04010413 addi s0,sp,64 -80000b40: fca42e23 sw a0,-36(s0) -80000b44: fcb42c23 sw a1,-40(s0) -80000b48: fcc42a23 sw a2,-44(s0) -80000b4c: fcd42823 sw a3,-48(s0) -80000b50: fce42623 sw a4,-52(s0) -80000b54: 810267b7 lui a5,0x81026 -80000b58: fdc42703 lw a4,-36(s0) -80000b5c: 1ce7a823 sw a4,464(a5) # 810261d0 -80000b60: 810267b7 lui a5,0x81026 -80000b64: 1d078793 addi a5,a5,464 # 810261d0 -80000b68: fd842703 lw a4,-40(s0) -80000b6c: 00e7a223 sw a4,4(a5) -80000b70: 810267b7 lui a5,0x81026 -80000b74: 1d078793 addi a5,a5,464 # 810261d0 -80000b78: fd442703 lw a4,-44(s0) -80000b7c: 00e7a423 sw a4,8(a5) -80000b80: 810267b7 lui a5,0x81026 -80000b84: 1d078793 addi a5,a5,464 # 810261d0 -80000b88: fcc42703 lw a4,-52(s0) -80000b8c: 00e7a623 sw a4,12(a5) -80000b90: 810267b7 lui a5,0x81026 -80000b94: 1d078793 addi a5,a5,464 # 810261d0 -80000b98: fd042703 lw a4,-48(s0) -80000b9c: 00e7a823 sw a4,16(a5) -80000ba0: e44ff0ef jal ra,800001e4 -80000ba4: fea42423 sw a0,-24(s0) -80000ba8: fcc42703 lw a4,-52(s0) -80000bac: fe842783 lw a5,-24(s0) -80000bb0: 02f757b3 divu a5,a4,a5 -80000bb4: fef42623 sw a5,-20(s0) -80000bb8: fcc42703 lw a4,-52(s0) -80000bbc: fe842783 lw a5,-24(s0) -80000bc0: 02f777b3 remu a5,a4,a5 -80000bc4: 00078863 beqz a5,80000bd4 -80000bc8: fec42783 lw a5,-20(s0) -80000bcc: 00178793 addi a5,a5,1 -80000bd0: fef42623 sw a5,-20(s0) -80000bd4: 810267b7 lui a5,0x81026 -80000bd8: 1d078793 addi a5,a5,464 # 810261d0 -80000bdc: fec42703 lw a4,-20(s0) -80000be0: 00e7aa23 sw a4,20(a5) -80000be4: fcc42703 lw a4,-52(s0) -80000be8: fe842783 lw a5,-24(s0) -80000bec: 02f76263 bltu a4,a5,80000c10 -80000bf0: 810267b7 lui a5,0x81026 -80000bf4: 1d078693 addi a3,a5,464 # 810261d0 -80000bf8: 800017b7 lui a5,0x80001 -80000bfc: c6878613 addi a2,a5,-920 # 80000c68 -80000c00: fe842583 lw a1,-24(s0) -80000c04: fd042503 lw a0,-48(s0) -80000c08: 855ff0ef jal ra,8000045c -80000c0c: 0200006f j 80000c2c -80000c10: 810267b7 lui a5,0x81026 -80000c14: 1d078693 addi a3,a5,464 # 810261d0 -80000c18: 800017b7 lui a5,0x80001 -80000c1c: c6878613 addi a2,a5,-920 # 80000c68 -80000c20: fcc42583 lw a1,-52(s0) -80000c24: fd042503 lw a0,-48(s0) -80000c28: 835ff0ef jal ra,8000045c -80000c2c: db0ff0ef jal ra,800001dc -80000c30: fea42223 sw a0,-28(s0) -80000c34: fd042703 lw a4,-48(s0) -80000c38: fe442783 lw a5,-28(s0) -80000c3c: 00e7f863 bgeu a5,a4,80000c4c -80000c40: fe442503 lw a0,-28(s0) -80000c44: 909ff0ef jal ra,8000054c -80000c48: 00c0006f j 80000c54 -80000c4c: fd042503 lw a0,-48(s0) -80000c50: 8fdff0ef jal ra,8000054c -80000c54: 00000013 nop -80000c58: 03c12083 lw ra,60(sp) -80000c5c: 03812403 lw s0,56(sp) -80000c60: 04010113 addi sp,sp,64 -80000c64: 00008067 ret - -80000c68 <_vx_mat_add>: -80000c68: fb010113 addi sp,sp,-80 -80000c6c: 04112623 sw ra,76(sp) -80000c70: 04812423 sw s0,72(sp) -80000c74: 05010413 addi s0,sp,80 -80000c78: faa42e23 sw a0,-68(s0) -80000c7c: fab42c23 sw a1,-72(s0) -80000c80: 9bdff0ef jal ra,8000063c -80000c84: fea42023 sw a0,-32(s0) -80000c88: fe042783 lw a5,-32(s0) -80000c8c: 0007a783 lw a5,0(a5) -80000c90: fcf42e23 sw a5,-36(s0) -80000c94: fe042783 lw a5,-32(s0) -80000c98: 0047a783 lw a5,4(a5) -80000c9c: fcf42c23 sw a5,-40(s0) -80000ca0: fe042783 lw a5,-32(s0) -80000ca4: 0087a783 lw a5,8(a5) -80000ca8: fcf42a23 sw a5,-44(s0) -80000cac: fe042783 lw a5,-32(s0) -80000cb0: 0147a783 lw a5,20(a5) -80000cb4: fef42623 sw a5,-20(s0) -80000cb8: fec42703 lw a4,-20(s0) -80000cbc: fbc42783 lw a5,-68(s0) -80000cc0: 02f707b3 mul a5,a4,a5 -80000cc4: fef42423 sw a5,-24(s0) -80000cc8: fec42783 lw a5,-20(s0) -80000ccc: 00079a63 bnez a5,80000ce0 <_vx_mat_add+0x78> -80000cd0: 00100793 li a5,1 -80000cd4: fef42623 sw a5,-20(s0) -80000cd8: fbc42783 lw a5,-68(s0) -80000cdc: fef42423 sw a5,-24(s0) -80000ce0: fe042783 lw a5,-32(s0) -80000ce4: 00c7a783 lw a5,12(a5) -80000ce8: fcf42823 sw a5,-48(s0) -80000cec: fe042223 sw zero,-28(s0) -80000cf0: 0c00006f j 80000db0 <_vx_mat_add+0x148> -80000cf4: fb842703 lw a4,-72(s0) -80000cf8: fd042783 lw a5,-48(s0) -80000cfc: 02f70733 mul a4,a4,a5 -80000d00: fe842783 lw a5,-24(s0) -80000d04: 00f707b3 add a5,a4,a5 -80000d08: fcf42623 sw a5,-52(s0) -80000d0c: fe842703 lw a4,-24(s0) -80000d10: fd042783 lw a5,-48(s0) -80000d14: 00f737b3 sltu a5,a4,a5 -80000d18: 0ff7f793 andi a5,a5,255 -80000d1c: fcf42423 sw a5,-56(s0) -80000d20: fc842783 lw a5,-56(s0) -80000d24: 0017b793 seqz a5,a5 -80000d28: fcf403a3 sb a5,-57(s0) -80000d2c: fc744783 lbu a5,-57(s0) -80000d30: 00078f13 mv t5,a5 -80000d34: 800017b7 lui a5,0x80001 -80000d38: d9c78f93 addi t6,a5,-612 # 80000d9c -80000d3c: 000f206b 0xf206b -80000d40: 01ff707b 0x1ff707b -80000d44: fcc42783 lw a5,-52(s0) -80000d48: 00279793 slli a5,a5,0x2 -80000d4c: fdc42703 lw a4,-36(s0) -80000d50: 00f707b3 add a5,a4,a5 -80000d54: 0007a683 lw a3,0(a5) -80000d58: fcc42783 lw a5,-52(s0) -80000d5c: 00279793 slli a5,a5,0x2 -80000d60: fd842703 lw a4,-40(s0) -80000d64: 00f707b3 add a5,a4,a5 -80000d68: 0007a703 lw a4,0(a5) -80000d6c: fcc42783 lw a5,-52(s0) -80000d70: 00279793 slli a5,a5,0x2 -80000d74: fd442603 lw a2,-44(s0) -80000d78: 00f607b3 add a5,a2,a5 -80000d7c: 00e68733 add a4,a3,a4 -80000d80: 00e7a023 sw a4,0(a5) -80000d84: fe842783 lw a5,-24(s0) -80000d88: 00178793 addi a5,a5,1 -80000d8c: fef42423 sw a5,-24(s0) -80000d90: 800017b7 lui a5,0x80001 -80000d94: da078e13 addi t3,a5,-608 # 80000da0 -80000d98: 000e0067 jr t3 -80000d9c: 00000013 nop -80000da0: 0000306b 0x306b -80000da4: fe442783 lw a5,-28(s0) -80000da8: 00178793 addi a5,a5,1 -80000dac: fef42223 sw a5,-28(s0) -80000db0: fe442783 lw a5,-28(s0) -80000db4: fec42703 lw a4,-20(s0) -80000db8: f2e7eee3 bltu a5,a4,80000cf4 <_vx_mat_add+0x8c> -80000dbc: 00000013 nop -80000dc0: 04c12083 lw ra,76(sp) -80000dc4: 04812403 lw s0,72(sp) -80000dc8: 05010113 addi sp,sp,80 -80000dcc: 00008067 ret - -80000dd0 : -80000dd0: fc010113 addi sp,sp,-64 -80000dd4: 02112e23 sw ra,60(sp) -80000dd8: 02812c23 sw s0,56(sp) -80000ddc: 04010413 addi s0,sp,64 -80000de0: fca42e23 sw a0,-36(s0) -80000de4: fcb42c23 sw a1,-40(s0) -80000de8: fcc42a23 sw a2,-44(s0) -80000dec: fcd42823 sw a3,-48(s0) -80000df0: fce42623 sw a4,-52(s0) -80000df4: 810267b7 lui a5,0x81026 -80000df8: fdc42703 lw a4,-36(s0) -80000dfc: 1ce7a823 sw a4,464(a5) # 810261d0 -80000e00: 810267b7 lui a5,0x81026 -80000e04: 1d078793 addi a5,a5,464 # 810261d0 -80000e08: fd842703 lw a4,-40(s0) -80000e0c: 00e7a223 sw a4,4(a5) -80000e10: 810267b7 lui a5,0x81026 -80000e14: 1d078793 addi a5,a5,464 # 810261d0 -80000e18: fd442703 lw a4,-44(s0) -80000e1c: 00e7a423 sw a4,8(a5) -80000e20: 810267b7 lui a5,0x81026 -80000e24: 1d078793 addi a5,a5,464 # 810261d0 -80000e28: fcc42703 lw a4,-52(s0) -80000e2c: 00e7a623 sw a4,12(a5) -80000e30: 810267b7 lui a5,0x81026 -80000e34: 1d078793 addi a5,a5,464 # 810261d0 -80000e38: fd042703 lw a4,-48(s0) -80000e3c: 00e7a823 sw a4,16(a5) -80000e40: ba4ff0ef jal ra,800001e4 -80000e44: fea42423 sw a0,-24(s0) -80000e48: fcc42703 lw a4,-52(s0) -80000e4c: fe842783 lw a5,-24(s0) -80000e50: 02f757b3 divu a5,a4,a5 -80000e54: fef42623 sw a5,-20(s0) -80000e58: fcc42703 lw a4,-52(s0) -80000e5c: fe842783 lw a5,-24(s0) -80000e60: 02f777b3 remu a5,a4,a5 -80000e64: 00078863 beqz a5,80000e74 -80000e68: fec42783 lw a5,-20(s0) -80000e6c: 00178793 addi a5,a5,1 -80000e70: fef42623 sw a5,-20(s0) -80000e74: 810267b7 lui a5,0x81026 -80000e78: 1d078793 addi a5,a5,464 # 810261d0 -80000e7c: fec42703 lw a4,-20(s0) -80000e80: 00e7aa23 sw a4,20(a5) -80000e84: fcc42703 lw a4,-52(s0) -80000e88: fe842783 lw a5,-24(s0) -80000e8c: 02f76263 bltu a4,a5,80000eb0 -80000e90: 810267b7 lui a5,0x81026 -80000e94: 1d078693 addi a3,a5,464 # 810261d0 -80000e98: 800017b7 lui a5,0x80001 -80000e9c: f0878613 addi a2,a5,-248 # 80000f08 -80000ea0: fe842583 lw a1,-24(s0) -80000ea4: fd042503 lw a0,-48(s0) -80000ea8: db4ff0ef jal ra,8000045c -80000eac: 0200006f j 80000ecc -80000eb0: 810267b7 lui a5,0x81026 -80000eb4: 1d078693 addi a3,a5,464 # 810261d0 -80000eb8: 800017b7 lui a5,0x80001 -80000ebc: f0878613 addi a2,a5,-248 # 80000f08 -80000ec0: fcc42583 lw a1,-52(s0) -80000ec4: fd042503 lw a0,-48(s0) -80000ec8: d94ff0ef jal ra,8000045c -80000ecc: b10ff0ef jal ra,800001dc -80000ed0: fea42223 sw a0,-28(s0) -80000ed4: fd042703 lw a4,-48(s0) -80000ed8: fe442783 lw a5,-28(s0) -80000edc: 00e7f863 bgeu a5,a4,80000eec -80000ee0: fe442503 lw a0,-28(s0) -80000ee4: e68ff0ef jal ra,8000054c -80000ee8: 00c0006f j 80000ef4 -80000eec: fd042503 lw a0,-48(s0) -80000ef0: e5cff0ef jal ra,8000054c -80000ef4: 00000013 nop -80000ef8: 03c12083 lw ra,60(sp) -80000efc: 03812403 lw s0,56(sp) -80000f00: 04010113 addi sp,sp,64 -80000f04: 00008067 ret - -80000f08 <_vx_mat_sub>: -80000f08: fb010113 addi sp,sp,-80 -80000f0c: 04112623 sw ra,76(sp) -80000f10: 04812423 sw s0,72(sp) -80000f14: 05010413 addi s0,sp,80 -80000f18: faa42e23 sw a0,-68(s0) -80000f1c: fab42c23 sw a1,-72(s0) -80000f20: f1cff0ef jal ra,8000063c -80000f24: fea42023 sw a0,-32(s0) -80000f28: fe042783 lw a5,-32(s0) -80000f2c: 0007a783 lw a5,0(a5) -80000f30: fcf42e23 sw a5,-36(s0) -80000f34: fe042783 lw a5,-32(s0) -80000f38: 0047a783 lw a5,4(a5) -80000f3c: fcf42c23 sw a5,-40(s0) -80000f40: fe042783 lw a5,-32(s0) -80000f44: 0087a783 lw a5,8(a5) -80000f48: fcf42a23 sw a5,-44(s0) -80000f4c: fe042783 lw a5,-32(s0) -80000f50: 0147a783 lw a5,20(a5) -80000f54: fef42623 sw a5,-20(s0) -80000f58: fec42703 lw a4,-20(s0) -80000f5c: fbc42783 lw a5,-68(s0) -80000f60: 02f707b3 mul a5,a4,a5 -80000f64: fef42423 sw a5,-24(s0) -80000f68: fec42783 lw a5,-20(s0) -80000f6c: 00079a63 bnez a5,80000f80 <_vx_mat_sub+0x78> -80000f70: 00100793 li a5,1 -80000f74: fef42623 sw a5,-20(s0) -80000f78: fbc42783 lw a5,-68(s0) -80000f7c: fef42423 sw a5,-24(s0) -80000f80: fe042783 lw a5,-32(s0) -80000f84: 00c7a783 lw a5,12(a5) -80000f88: fcf42823 sw a5,-48(s0) -80000f8c: fe042223 sw zero,-28(s0) -80000f90: 0c00006f j 80001050 <_vx_mat_sub+0x148> -80000f94: fb842703 lw a4,-72(s0) -80000f98: fd042783 lw a5,-48(s0) -80000f9c: 02f70733 mul a4,a4,a5 -80000fa0: fe842783 lw a5,-24(s0) -80000fa4: 00f707b3 add a5,a4,a5 -80000fa8: fcf42623 sw a5,-52(s0) -80000fac: fe842703 lw a4,-24(s0) -80000fb0: fd042783 lw a5,-48(s0) -80000fb4: 00f737b3 sltu a5,a4,a5 -80000fb8: 0ff7f793 andi a5,a5,255 -80000fbc: fcf42423 sw a5,-56(s0) -80000fc0: fc842783 lw a5,-56(s0) -80000fc4: 0017b793 seqz a5,a5 -80000fc8: fcf403a3 sb a5,-57(s0) -80000fcc: fc744783 lbu a5,-57(s0) -80000fd0: 00078f13 mv t5,a5 -80000fd4: 800017b7 lui a5,0x80001 -80000fd8: 03c78f93 addi t6,a5,60 # 8000103c -80000fdc: 000f206b 0xf206b -80000fe0: 01ff707b 0x1ff707b -80000fe4: fcc42783 lw a5,-52(s0) -80000fe8: 00279793 slli a5,a5,0x2 -80000fec: fdc42703 lw a4,-36(s0) -80000ff0: 00f707b3 add a5,a4,a5 -80000ff4: 0007a683 lw a3,0(a5) -80000ff8: fcc42783 lw a5,-52(s0) -80000ffc: 00279793 slli a5,a5,0x2 -80001000: fd842703 lw a4,-40(s0) -80001004: 00f707b3 add a5,a4,a5 -80001008: 0007a703 lw a4,0(a5) -8000100c: fcc42783 lw a5,-52(s0) -80001010: 00279793 slli a5,a5,0x2 -80001014: fd442603 lw a2,-44(s0) -80001018: 00f607b3 add a5,a2,a5 -8000101c: 40e68733 sub a4,a3,a4 -80001020: 00e7a023 sw a4,0(a5) -80001024: fe842783 lw a5,-24(s0) -80001028: 00178793 addi a5,a5,1 -8000102c: fef42423 sw a5,-24(s0) -80001030: 800017b7 lui a5,0x80001 -80001034: 04078e13 addi t3,a5,64 # 80001040 -80001038: 000e0067 jr t3 -8000103c: 00000013 nop -80001040: 0000306b 0x306b -80001044: fe442783 lw a5,-28(s0) -80001048: 00178793 addi a5,a5,1 -8000104c: fef42223 sw a5,-28(s0) -80001050: fe442783 lw a5,-28(s0) -80001054: fec42703 lw a4,-20(s0) -80001058: f2e7eee3 bltu a5,a4,80000f94 <_vx_mat_sub+0x8c> -8000105c: 00000013 nop -80001060: 04c12083 lw ra,76(sp) -80001064: 04812403 lw s0,72(sp) -80001068: 05010113 addi sp,sp,80 -8000106c: 00008067 ret - -80001070 : -80001070: fc010113 addi sp,sp,-64 -80001074: 02112e23 sw ra,60(sp) -80001078: 02812c23 sw s0,56(sp) -8000107c: 04010413 addi s0,sp,64 -80001080: fca42e23 sw a0,-36(s0) -80001084: fcb42c23 sw a1,-40(s0) -80001088: fcc42a23 sw a2,-44(s0) -8000108c: fcd42823 sw a3,-48(s0) -80001090: fce42623 sw a4,-52(s0) -80001094: 810267b7 lui a5,0x81026 -80001098: fdc42703 lw a4,-36(s0) -8000109c: 1ee7a423 sw a4,488(a5) # 810261e8 -800010a0: 810267b7 lui a5,0x81026 -800010a4: 1e878793 addi a5,a5,488 # 810261e8 -800010a8: fd842703 lw a4,-40(s0) -800010ac: 00e7a223 sw a4,4(a5) -800010b0: 810267b7 lui a5,0x81026 -800010b4: 1e878793 addi a5,a5,488 # 810261e8 -800010b8: fd442703 lw a4,-44(s0) -800010bc: 00e7a423 sw a4,8(a5) -800010c0: 810267b7 lui a5,0x81026 -800010c4: 1e878793 addi a5,a5,488 # 810261e8 -800010c8: fcc42703 lw a4,-52(s0) -800010cc: 00e7a623 sw a4,12(a5) -800010d0: 810267b7 lui a5,0x81026 -800010d4: 1e878793 addi a5,a5,488 # 810261e8 -800010d8: fd042703 lw a4,-48(s0) -800010dc: 00e7a823 sw a4,16(a5) -800010e0: 904ff0ef jal ra,800001e4 -800010e4: fea42423 sw a0,-24(s0) -800010e8: fcc42703 lw a4,-52(s0) -800010ec: fe842783 lw a5,-24(s0) -800010f0: 02f757b3 divu a5,a4,a5 -800010f4: fef42623 sw a5,-20(s0) -800010f8: fcc42703 lw a4,-52(s0) -800010fc: fe842783 lw a5,-24(s0) -80001100: 02f777b3 remu a5,a4,a5 -80001104: 00078863 beqz a5,80001114 -80001108: fec42783 lw a5,-20(s0) -8000110c: 00178793 addi a5,a5,1 -80001110: fef42623 sw a5,-20(s0) -80001114: 810267b7 lui a5,0x81026 -80001118: 1e878793 addi a5,a5,488 # 810261e8 -8000111c: fec42703 lw a4,-20(s0) -80001120: 00e7aa23 sw a4,20(a5) -80001124: fcc42703 lw a4,-52(s0) -80001128: fe842783 lw a5,-24(s0) -8000112c: 02f76263 bltu a4,a5,80001150 -80001130: 810267b7 lui a5,0x81026 -80001134: 1e878693 addi a3,a5,488 # 810261e8 -80001138: 800017b7 lui a5,0x80001 -8000113c: 1a878613 addi a2,a5,424 # 800011a8 -80001140: fe842583 lw a1,-24(s0) -80001144: fd042503 lw a0,-48(s0) -80001148: b14ff0ef jal ra,8000045c -8000114c: 0200006f j 8000116c -80001150: 810267b7 lui a5,0x81026 -80001154: 1e878693 addi a3,a5,488 # 810261e8 -80001158: 800017b7 lui a5,0x80001 -8000115c: 1a878613 addi a2,a5,424 # 800011a8 -80001160: fcc42583 lw a1,-52(s0) -80001164: fd042503 lw a0,-48(s0) -80001168: af4ff0ef jal ra,8000045c -8000116c: 870ff0ef jal ra,800001dc -80001170: fea42223 sw a0,-28(s0) -80001174: fd042703 lw a4,-48(s0) -80001178: fe442783 lw a5,-28(s0) -8000117c: 00e7f863 bgeu a5,a4,8000118c -80001180: fe442503 lw a0,-28(s0) -80001184: bc8ff0ef jal ra,8000054c -80001188: 00c0006f j 80001194 -8000118c: fd042503 lw a0,-48(s0) -80001190: bbcff0ef jal ra,8000054c -80001194: 00000013 nop -80001198: 03c12083 lw ra,60(sp) -8000119c: 03812403 lw s0,56(sp) -800011a0: 04010113 addi sp,sp,64 -800011a4: 00008067 ret - -800011a8 <_vx_e_mat_add>: -800011a8: fb010113 addi sp,sp,-80 -800011ac: 04112623 sw ra,76(sp) -800011b0: 04812423 sw s0,72(sp) -800011b4: 05010413 addi s0,sp,80 -800011b8: faa42e23 sw a0,-68(s0) -800011bc: fab42c23 sw a1,-72(s0) -800011c0: c7cff0ef jal ra,8000063c -800011c4: fea42023 sw a0,-32(s0) -800011c8: fe042783 lw a5,-32(s0) -800011cc: 0007a783 lw a5,0(a5) -800011d0: fcf42e23 sw a5,-36(s0) -800011d4: fe042783 lw a5,-32(s0) -800011d8: 0047a783 lw a5,4(a5) -800011dc: 0007a783 lw a5,0(a5) -800011e0: fcf42c23 sw a5,-40(s0) -800011e4: fe042783 lw a5,-32(s0) -800011e8: 0087a783 lw a5,8(a5) -800011ec: fcf42a23 sw a5,-44(s0) -800011f0: fe042783 lw a5,-32(s0) -800011f4: 0147a783 lw a5,20(a5) -800011f8: fef42623 sw a5,-20(s0) -800011fc: fec42703 lw a4,-20(s0) -80001200: fbc42783 lw a5,-68(s0) -80001204: 02f707b3 mul a5,a4,a5 -80001208: fef42423 sw a5,-24(s0) -8000120c: fec42783 lw a5,-20(s0) -80001210: 00079a63 bnez a5,80001224 <_vx_e_mat_add+0x7c> -80001214: 00100793 li a5,1 -80001218: fef42623 sw a5,-20(s0) -8000121c: fbc42783 lw a5,-68(s0) -80001220: fef42423 sw a5,-24(s0) -80001224: fe042783 lw a5,-32(s0) -80001228: 00c7a783 lw a5,12(a5) -8000122c: fcf42823 sw a5,-48(s0) -80001230: fe042223 sw zero,-28(s0) -80001234: 0b00006f j 800012e4 <_vx_e_mat_add+0x13c> -80001238: fb842703 lw a4,-72(s0) -8000123c: fd042783 lw a5,-48(s0) -80001240: 02f70733 mul a4,a4,a5 -80001244: fe842783 lw a5,-24(s0) -80001248: 00f707b3 add a5,a4,a5 -8000124c: fcf42623 sw a5,-52(s0) -80001250: fe842703 lw a4,-24(s0) -80001254: fd042783 lw a5,-48(s0) -80001258: 00f737b3 sltu a5,a4,a5 -8000125c: 0ff7f793 andi a5,a5,255 -80001260: fcf42423 sw a5,-56(s0) -80001264: fc842783 lw a5,-56(s0) -80001268: 0017b793 seqz a5,a5 -8000126c: fcf403a3 sb a5,-57(s0) -80001270: fc744783 lbu a5,-57(s0) -80001274: 00078f13 mv t5,a5 -80001278: 800017b7 lui a5,0x80001 -8000127c: 2d078f93 addi t6,a5,720 # 800012d0 -80001280: 000f206b 0xf206b -80001284: 01ff707b 0x1ff707b -80001288: fcc42783 lw a5,-52(s0) -8000128c: 00279793 slli a5,a5,0x2 -80001290: fdc42703 lw a4,-36(s0) -80001294: 00f707b3 add a5,a4,a5 -80001298: 0007a683 lw a3,0(a5) -8000129c: fcc42783 lw a5,-52(s0) -800012a0: 00279793 slli a5,a5,0x2 -800012a4: fd442703 lw a4,-44(s0) -800012a8: 00f707b3 add a5,a4,a5 -800012ac: fd842703 lw a4,-40(s0) -800012b0: 00e68733 add a4,a3,a4 -800012b4: 00e7a023 sw a4,0(a5) -800012b8: fe842783 lw a5,-24(s0) -800012bc: 00178793 addi a5,a5,1 -800012c0: fef42423 sw a5,-24(s0) -800012c4: 800017b7 lui a5,0x80001 -800012c8: 2d478e13 addi t3,a5,724 # 800012d4 -800012cc: 000e0067 jr t3 -800012d0: 00000013 nop -800012d4: 0000306b 0x306b -800012d8: fe442783 lw a5,-28(s0) -800012dc: 00178793 addi a5,a5,1 -800012e0: fef42223 sw a5,-28(s0) -800012e4: fe442783 lw a5,-28(s0) -800012e8: fec42703 lw a4,-20(s0) -800012ec: f4e7e6e3 bltu a5,a4,80001238 <_vx_e_mat_add+0x90> -800012f0: 00000013 nop -800012f4: 04c12083 lw ra,76(sp) -800012f8: 04812403 lw s0,72(sp) -800012fc: 05010113 addi sp,sp,80 -80001300: 00008067 ret - -80001304 : -80001304: fc010113 addi sp,sp,-64 -80001308: 02112e23 sw ra,60(sp) -8000130c: 02812c23 sw s0,56(sp) -80001310: 04010413 addi s0,sp,64 -80001314: fca42e23 sw a0,-36(s0) -80001318: fcb42c23 sw a1,-40(s0) -8000131c: fcc42a23 sw a2,-44(s0) -80001320: fcd42823 sw a3,-48(s0) -80001324: fce42623 sw a4,-52(s0) -80001328: 810267b7 lui a5,0x81026 -8000132c: fdc42703 lw a4,-36(s0) -80001330: 1ee7a423 sw a4,488(a5) # 810261e8 -80001334: 810267b7 lui a5,0x81026 -80001338: 1e878793 addi a5,a5,488 # 810261e8 -8000133c: fd842703 lw a4,-40(s0) -80001340: 00e7a223 sw a4,4(a5) -80001344: 810267b7 lui a5,0x81026 -80001348: 1e878793 addi a5,a5,488 # 810261e8 -8000134c: fd442703 lw a4,-44(s0) -80001350: 00e7a423 sw a4,8(a5) -80001354: 810267b7 lui a5,0x81026 -80001358: 1e878793 addi a5,a5,488 # 810261e8 -8000135c: fcc42703 lw a4,-52(s0) -80001360: 00e7a623 sw a4,12(a5) -80001364: 810267b7 lui a5,0x81026 -80001368: 1e878793 addi a5,a5,488 # 810261e8 -8000136c: fd042703 lw a4,-48(s0) -80001370: 00e7a823 sw a4,16(a5) -80001374: e71fe0ef jal ra,800001e4 -80001378: fea42423 sw a0,-24(s0) -8000137c: fcc42703 lw a4,-52(s0) -80001380: fe842783 lw a5,-24(s0) -80001384: 02f757b3 divu a5,a4,a5 -80001388: fef42623 sw a5,-20(s0) -8000138c: fcc42703 lw a4,-52(s0) -80001390: fe842783 lw a5,-24(s0) -80001394: 02f777b3 remu a5,a4,a5 -80001398: 00078863 beqz a5,800013a8 -8000139c: fec42783 lw a5,-20(s0) -800013a0: 00178793 addi a5,a5,1 -800013a4: fef42623 sw a5,-20(s0) -800013a8: 810267b7 lui a5,0x81026 -800013ac: 1e878793 addi a5,a5,488 # 810261e8 -800013b0: fec42703 lw a4,-20(s0) -800013b4: 00e7aa23 sw a4,20(a5) -800013b8: fcc42703 lw a4,-52(s0) -800013bc: fe842783 lw a5,-24(s0) -800013c0: 02f76263 bltu a4,a5,800013e4 -800013c4: 810267b7 lui a5,0x81026 -800013c8: 1e878693 addi a3,a5,488 # 810261e8 -800013cc: 800017b7 lui a5,0x80001 -800013d0: 43c78613 addi a2,a5,1084 # 8000143c -800013d4: fe842583 lw a1,-24(s0) -800013d8: fd042503 lw a0,-48(s0) -800013dc: 880ff0ef jal ra,8000045c -800013e0: 0200006f j 80001400 -800013e4: 810267b7 lui a5,0x81026 -800013e8: 1e878693 addi a3,a5,488 # 810261e8 -800013ec: 800017b7 lui a5,0x80001 -800013f0: 43c78613 addi a2,a5,1084 # 8000143c -800013f4: fcc42583 lw a1,-52(s0) -800013f8: fd042503 lw a0,-48(s0) -800013fc: 860ff0ef jal ra,8000045c -80001400: dddfe0ef jal ra,800001dc -80001404: fea42223 sw a0,-28(s0) -80001408: fd042703 lw a4,-48(s0) -8000140c: fe442783 lw a5,-28(s0) -80001410: 00e7f863 bgeu a5,a4,80001420 -80001414: fe442503 lw a0,-28(s0) -80001418: 934ff0ef jal ra,8000054c -8000141c: 00c0006f j 80001428 -80001420: fd042503 lw a0,-48(s0) -80001424: 928ff0ef jal ra,8000054c -80001428: 00000013 nop -8000142c: 03c12083 lw ra,60(sp) -80001430: 03812403 lw s0,56(sp) -80001434: 04010113 addi sp,sp,64 -80001438: 00008067 ret - -8000143c <_vx_e_mat_mult>: -8000143c: fb010113 addi sp,sp,-80 -80001440: 04112623 sw ra,76(sp) -80001444: 04812423 sw s0,72(sp) -80001448: 05010413 addi s0,sp,80 -8000144c: faa42e23 sw a0,-68(s0) -80001450: fab42c23 sw a1,-72(s0) -80001454: 9e8ff0ef jal ra,8000063c -80001458: fea42023 sw a0,-32(s0) -8000145c: fe042783 lw a5,-32(s0) -80001460: 0007a783 lw a5,0(a5) -80001464: fcf42e23 sw a5,-36(s0) -80001468: fe042783 lw a5,-32(s0) -8000146c: 0047a783 lw a5,4(a5) -80001470: 0007a783 lw a5,0(a5) -80001474: fcf42c23 sw a5,-40(s0) -80001478: fe042783 lw a5,-32(s0) -8000147c: 0087a783 lw a5,8(a5) -80001480: fcf42a23 sw a5,-44(s0) -80001484: fe042783 lw a5,-32(s0) -80001488: 0147a783 lw a5,20(a5) -8000148c: fef42623 sw a5,-20(s0) -80001490: fec42703 lw a4,-20(s0) -80001494: fbc42783 lw a5,-68(s0) -80001498: 02f707b3 mul a5,a4,a5 -8000149c: fef42423 sw a5,-24(s0) -800014a0: fec42783 lw a5,-20(s0) -800014a4: 00079a63 bnez a5,800014b8 <_vx_e_mat_mult+0x7c> -800014a8: 00100793 li a5,1 -800014ac: fef42623 sw a5,-20(s0) -800014b0: fbc42783 lw a5,-68(s0) -800014b4: fef42423 sw a5,-24(s0) -800014b8: fe042783 lw a5,-32(s0) -800014bc: 00c7a783 lw a5,12(a5) -800014c0: fcf42823 sw a5,-48(s0) -800014c4: fe042223 sw zero,-28(s0) -800014c8: 0b00006f j 80001578 <_vx_e_mat_mult+0x13c> -800014cc: fb842703 lw a4,-72(s0) -800014d0: fd042783 lw a5,-48(s0) -800014d4: 02f70733 mul a4,a4,a5 -800014d8: fe842783 lw a5,-24(s0) -800014dc: 00f707b3 add a5,a4,a5 -800014e0: fcf42623 sw a5,-52(s0) -800014e4: fe842703 lw a4,-24(s0) -800014e8: fd042783 lw a5,-48(s0) -800014ec: 00f737b3 sltu a5,a4,a5 -800014f0: 0ff7f793 andi a5,a5,255 -800014f4: fcf42423 sw a5,-56(s0) -800014f8: fc842783 lw a5,-56(s0) -800014fc: 0017b793 seqz a5,a5 -80001500: fcf403a3 sb a5,-57(s0) -80001504: fc744783 lbu a5,-57(s0) -80001508: 00078f13 mv t5,a5 -8000150c: 800017b7 lui a5,0x80001 -80001510: 56478f93 addi t6,a5,1380 # 80001564 -80001514: 000f206b 0xf206b -80001518: 01ff707b 0x1ff707b -8000151c: fcc42783 lw a5,-52(s0) -80001520: 00279793 slli a5,a5,0x2 -80001524: fdc42703 lw a4,-36(s0) -80001528: 00f707b3 add a5,a4,a5 -8000152c: 0007a683 lw a3,0(a5) -80001530: fcc42783 lw a5,-52(s0) -80001534: 00279793 slli a5,a5,0x2 -80001538: fd442703 lw a4,-44(s0) -8000153c: 00f707b3 add a5,a4,a5 -80001540: fd842703 lw a4,-40(s0) -80001544: 02e68733 mul a4,a3,a4 -80001548: 00e7a023 sw a4,0(a5) -8000154c: fe842783 lw a5,-24(s0) -80001550: 00178793 addi a5,a5,1 -80001554: fef42423 sw a5,-24(s0) -80001558: 800017b7 lui a5,0x80001 -8000155c: 56878e13 addi t3,a5,1384 # 80001568 -80001560: 000e0067 jr t3 -80001564: 00000013 nop -80001568: 0000306b 0x306b -8000156c: fe442783 lw a5,-28(s0) -80001570: 00178793 addi a5,a5,1 -80001574: fef42223 sw a5,-28(s0) -80001578: fe442783 lw a5,-28(s0) -8000157c: fec42703 lw a4,-20(s0) -80001580: f4e7e6e3 bltu a5,a4,800014cc <_vx_e_mat_mult+0x90> -80001584: 00000013 nop -80001588: 04c12083 lw ra,76(sp) -8000158c: 04812403 lw s0,72(sp) -80001590: 05010113 addi sp,sp,80 -80001594: 00008067 ret - -80001598 : -80001598: fd010113 addi sp,sp,-48 -8000159c: 02812623 sw s0,44(sp) -800015a0: 03010413 addi s0,sp,48 -800015a4: fca42e23 sw a0,-36(s0) -800015a8: fe042623 sw zero,-20(s0) -800015ac: 0100006f j 800015bc -800015b0: fec42783 lw a5,-20(s0) -800015b4: 00178793 addi a5,a5,1 -800015b8: fef42623 sw a5,-20(s0) -800015bc: fec42703 lw a4,-20(s0) -800015c0: fdc42783 lw a5,-36(s0) -800015c4: fef746e3 blt a4,a5,800015b0 -800015c8: 00000013 nop -800015cc: 02c12403 lw s0,44(sp) -800015d0: 03010113 addi sp,sp,48 -800015d4: 00008067 ret - -800015d8 : -800015d8: fd010113 addi sp,sp,-48 -800015dc: 02112623 sw ra,44(sp) -800015e0: 02812423 sw s0,40(sp) -800015e4: 03010413 addi s0,sp,48 -800015e8: fca42e23 sw a0,-36(s0) -800015ec: fcb42c23 sw a1,-40(s0) -800015f0: 810267b7 lui a5,0x81026 -800015f4: 20078713 addi a4,a5,512 # 81026200 -800015f8: fdc42783 lw a5,-36(s0) -800015fc: 00f707b3 add a5,a4,a5 -80001600: 00100713 li a4,1 -80001604: 00e78023 sb a4,0(a5) -80001608: fdc42783 lw a5,-36(s0) -8000160c: 0c079063 bnez a5,800016cc -80001610: fe0401a3 sb zero,-29(s0) -80001614: fe042623 sw zero,-20(s0) -80001618: 0a80006f j 800016c0 -8000161c: fe042623 sw zero,-20(s0) -80001620: fe042423 sw zero,-24(s0) -80001624: 0340006f j 80001658 -80001628: 810267b7 lui a5,0x81026 -8000162c: 20078713 addi a4,a5,512 # 81026200 -80001630: fe842783 lw a5,-24(s0) -80001634: 00f707b3 add a5,a4,a5 -80001638: 0007c783 lbu a5,0(a5) -8000163c: 00078863 beqz a5,8000164c -80001640: fec42783 lw a5,-20(s0) -80001644: 00178793 addi a5,a5,1 -80001648: fef42623 sw a5,-20(s0) -8000164c: fe842783 lw a5,-24(s0) -80001650: 00178793 addi a5,a5,1 -80001654: fef42423 sw a5,-24(s0) -80001658: fe842703 lw a4,-24(s0) -8000165c: fd842783 lw a5,-40(s0) -80001660: fcf744e3 blt a4,a5,80001628 -80001664: fec42703 lw a4,-20(s0) -80001668: fd842783 lw a5,-40(s0) -8000166c: 04f71a63 bne a4,a5,800016c0 -80001670: fe042223 sw zero,-28(s0) -80001674: 0400006f j 800016b4 -80001678: 810267b7 lui a5,0x81026 -8000167c: 20078713 addi a4,a5,512 # 81026200 -80001680: fe442783 lw a5,-28(s0) -80001684: 00f707b3 add a5,a4,a5 -80001688: 00078023 sb zero,0(a5) -8000168c: 810297b7 lui a5,0x81029 -80001690: 00100713 li a4,1 -80001694: 2ce78423 sb a4,712(a5) # 810292c8 -80001698: 04600513 li a0,70 -8000169c: efdff0ef jal ra,80001598 -800016a0: 810297b7 lui a5,0x81029 -800016a4: 2c078423 sb zero,712(a5) # 810292c8 -800016a8: fe442783 lw a5,-28(s0) -800016ac: 00178793 addi a5,a5,1 -800016b0: fef42223 sw a5,-28(s0) -800016b4: fe442703 lw a4,-28(s0) -800016b8: fd842783 lw a5,-40(s0) -800016bc: faf74ee3 blt a4,a5,80001678 -800016c0: fe344783 lbu a5,-29(s0) -800016c4: f4079ce3 bnez a5,8000161c -800016c8: 0240006f j 800016ec -800016cc: 00000013 nop -800016d0: 810297b7 lui a5,0x81029 -800016d4: 2c87c783 lbu a5,712(a5) # 810292c8 -800016d8: 0017c793 xori a5,a5,1 -800016dc: 0ff7f793 andi a5,a5,255 -800016e0: fe0798e3 bnez a5,800016d0 -800016e4: 06400513 li a0,100 -800016e8: eb1ff0ef jal ra,80001598 -800016ec: 00000013 nop -800016f0: 02c12083 lw ra,44(sp) -800016f4: 02812403 lw s0,40(sp) -800016f8: 03010113 addi sp,sp,48 -800016fc: 00008067 ret - -80001700 : -80001700: ff010113 addi sp,sp,-16 -80001704: 00812623 sw s0,12(sp) -80001708: 01010413 addi s0,sp,16 -8000170c: 00000793 li a5,0 -80001710: 00000813 li a6,0 -80001714: 00078513 mv a0,a5 -80001718: 00080593 mv a1,a6 -8000171c: 00c12403 lw s0,12(sp) -80001720: 01010113 addi sp,sp,16 -80001724: 00008067 ret - -80001728 : -80001728: fe010113 addi sp,sp,-32 -8000172c: 00812e23 sw s0,28(sp) -80001730: 02010413 addi s0,sp,32 -80001734: fe042623 sw zero,-20(s0) -80001738: 0480006f j 80001780 -8000173c: 810267b7 lui a5,0x81026 -80001740: fec42703 lw a4,-20(s0) -80001744: 00271713 slli a4,a4,0x2 -80001748: 22078793 addi a5,a5,544 # 81026220 -8000174c: 00f707b3 add a5,a4,a5 -80001750: 00300713 li a4,3 -80001754: 00e7a023 sw a4,0(a5) -80001758: 810277b7 lui a5,0x81027 -8000175c: fec42703 lw a4,-20(s0) -80001760: 00271713 slli a4,a4,0x2 -80001764: 22078793 addi a5,a5,544 # 81027220 -80001768: 00f707b3 add a5,a4,a5 -8000176c: 00200713 li a4,2 -80001770: 00e7a023 sw a4,0(a5) -80001774: fec42783 lw a5,-20(s0) -80001778: 00178793 addi a5,a5,1 -8000177c: fef42623 sw a5,-20(s0) -80001780: fec42703 lw a4,-20(s0) -80001784: 0ff00793 li a5,255 -80001788: fae7dae3 bge a5,a4,8000173c -8000178c: 00000013 nop -80001790: 01c12403 lw s0,28(sp) -80001794: 02010113 addi sp,sp,32 -80001798: 00008067 ret - -8000179c : -8000179c: fd010113 addi sp,sp,-48 -800017a0: 02112623 sw ra,44(sp) -800017a4: 02812423 sw s0,40(sp) -800017a8: 03010413 addi s0,sp,48 -800017ac: fca42e23 sw a0,-36(s0) -800017b0: 810007b7 lui a5,0x81000 -800017b4: 11878513 addi a0,a5,280 # 81000118 -800017b8: 808ff0ef jal ra,800007c0 -800017bc: fe042623 sw zero,-20(s0) -800017c0: 0580006f j 80001818 -800017c4: fec42783 lw a5,-20(s0) -800017c8: 00078e63 beqz a5,800017e4 -800017cc: fec42783 lw a5,-20(s0) -800017d0: 00f7f793 andi a5,a5,15 -800017d4: 00079863 bnez a5,800017e4 -800017d8: 810007b7 lui a5,0x81000 -800017dc: 13c78513 addi a0,a5,316 # 8100013c -800017e0: fe1fe0ef jal ra,800007c0 -800017e4: fec42783 lw a5,-20(s0) -800017e8: 00279793 slli a5,a5,0x2 -800017ec: fdc42703 lw a4,-36(s0) -800017f0: 00f707b3 add a5,a4,a5 -800017f4: 0007a783 lw a5,0(a5) -800017f8: 00078513 mv a0,a5 -800017fc: 800ff0ef jal ra,800007fc -80001800: 810007b7 lui a5,0x81000 -80001804: 14078513 addi a0,a5,320 # 81000140 -80001808: fb9fe0ef jal ra,800007c0 -8000180c: fec42783 lw a5,-20(s0) -80001810: 00178793 addi a5,a5,1 -80001814: fef42623 sw a5,-20(s0) -80001818: fec42703 lw a4,-20(s0) -8000181c: 0ff00793 li a5,255 -80001820: fae7d2e3 bge a5,a4,800017c4 -80001824: 810007b7 lui a5,0x81000 -80001828: 14478513 addi a0,a5,324 # 81000144 -8000182c: f95fe0ef jal ra,800007c0 -80001830: 00000013 nop -80001834: 02c12083 lw ra,44(sp) -80001838: 02812403 lw s0,40(sp) -8000183c: 03010113 addi sp,sp,48 -80001840: 00008067 ret - -80001844
: -80001844: ff010113 addi sp,sp,-16 -80001848: 00112623 sw ra,12(sp) -8000184c: 00812423 sw s0,8(sp) -80001850: 01010413 addi s0,sp,16 -80001854: ed5ff0ef jal ra,80001728 -80001858: 810267b7 lui a5,0x81026 -8000185c: 22078513 addi a0,a5,544 # 81026220 -80001860: f3dff0ef jal ra,8000179c -80001864: 00000793 li a5,0 -80001868: 00078513 mv a0,a5 -8000186c: 00c12083 lw ra,12(sp) -80001870: 00812403 lw s0,8(sp) -80001874: 01010113 addi sp,sp,16 -80001878: 00008067 ret - -Disassembly of section .rodata: - -81000000 <.rodata>: -81000000: 0030 addi a2,sp,8 -81000002: 0000 unimp -81000004: 0031 c.nop 12 -81000006: 0000 unimp -81000008: 0032 c.slli zero,0xc -8100000a: 0000 unimp -8100000c: 00000033 add zero,zero,zero -81000010: 0034 addi a3,sp,8 -81000012: 0000 unimp -81000014: 0035 c.nop 13 -81000016: 0000 unimp -81000018: 0036 c.slli zero,0xd -8100001a: 0000 unimp -8100001c: 00000037 lui zero,0x0 -81000020: 0038 addi a4,sp,8 -81000022: 0000 unimp -81000024: 0039 c.nop 14 -81000026: 0000 unimp -81000028: 0061 c.nop 24 -8100002a: 0000 unimp -8100002c: 0062 c.slli zero,0x18 -8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 -81000034: 0064 addi s1,sp,12 -81000036: 0000 unimp -81000038: 0065 c.nop 25 -8100003a: 0000 unimp -8100003c: 0066 c.slli zero,0x19 -8100003e: 0000 unimp -81000040: 74696177 0x74696177 -81000044: 6620 flw fs0,72(a2) -81000046: 203a726f jal tp,810a7a48 -8100004a: 0000 unimp -8100004c: 6f46 flw ft10,80(sp) -8100004e: 6e75 lui t3,0x1d -81000050: 3a64 fld fs1,240(a2) -81000052: 0020 addi s0,sp,8 -81000054: 0030 addi a2,sp,8 -81000056: 0000 unimp -81000058: 0031 c.nop 12 -8100005a: 0000 unimp -8100005c: 0032 c.slli zero,0xc -8100005e: 0000 unimp -81000060: 00000033 add zero,zero,zero -81000064: 0034 addi a3,sp,8 -81000066: 0000 unimp -81000068: 0035 c.nop 13 -8100006a: 0000 unimp -8100006c: 0036 c.slli zero,0xd -8100006e: 0000 unimp -81000070: 00000037 lui zero,0x0 -81000074: 0038 addi a4,sp,8 -81000076: 0000 unimp -81000078: 0039 c.nop 14 -8100007a: 0000 unimp -8100007c: 0061 c.nop 24 -8100007e: 0000 unimp -81000080: 0062 c.slli zero,0x18 -81000082: 0000 unimp -81000084: 00000063 beqz zero,81000084 -81000088: 0064 addi s1,sp,12 -8100008a: 0000 unimp -8100008c: 0065 c.nop 25 -8100008e: 0000 unimp -81000090: 0066 c.slli zero,0x19 -81000092: 0000 unimp -81000094: 000a c.slli zero,0x2 -81000096: 0000 unimp -81000098: 0030 addi a2,sp,8 -8100009a: 0000 unimp -8100009c: 0031 c.nop 12 -8100009e: 0000 unimp -810000a0: 0032 c.slli zero,0xc -810000a2: 0000 unimp -810000a4: 00000033 add zero,zero,zero -810000a8: 0034 addi a3,sp,8 -810000aa: 0000 unimp -810000ac: 0035 c.nop 13 -810000ae: 0000 unimp -810000b0: 0036 c.slli zero,0xd -810000b2: 0000 unimp -810000b4: 00000037 lui zero,0x0 -810000b8: 0038 addi a4,sp,8 -810000ba: 0000 unimp -810000bc: 0039 c.nop 14 -810000be: 0000 unimp -810000c0: 0061 c.nop 24 -810000c2: 0000 unimp -810000c4: 0062 c.slli zero,0x18 -810000c6: 0000 unimp -810000c8: 00000063 beqz zero,810000c8 -810000cc: 0064 addi s1,sp,12 -810000ce: 0000 unimp -810000d0: 0065 c.nop 25 -810000d2: 0000 unimp -810000d4: 0066 c.slli zero,0x19 -810000d6: 0000 unimp -810000d8: 0030 addi a2,sp,8 -810000da: 0000 unimp -810000dc: 0031 c.nop 12 -810000de: 0000 unimp -810000e0: 0032 c.slli zero,0xc -810000e2: 0000 unimp -810000e4: 00000033 add zero,zero,zero -810000e8: 0034 addi a3,sp,8 -810000ea: 0000 unimp -810000ec: 0035 c.nop 13 -810000ee: 0000 unimp -810000f0: 0036 c.slli zero,0xd -810000f2: 0000 unimp -810000f4: 00000037 lui zero,0x0 -810000f8: 0038 addi a4,sp,8 -810000fa: 0000 unimp -810000fc: 0039 c.nop 14 -810000fe: 0000 unimp -81000100: 0061 c.nop 24 -81000102: 0000 unimp -81000104: 0062 c.slli zero,0x18 -81000106: 0000 unimp -81000108: 00000063 beqz zero,81000108 -8100010c: 0064 addi s1,sp,12 -8100010e: 0000 unimp -81000110: 0065 c.nop 25 -81000112: 0000 unimp -81000114: 0066 c.slli zero,0x19 -81000116: 0000 unimp -81000118: 2d2d jal 81000752 -8100011a: 2d2d jal 81000754 -8100011c: 2d2d jal 81000756 -8100011e: 2d2d jal 81000758 -81000120: 2d2d jal 8100075a -81000122: 2d2d jal 8100075c -81000124: 2d2d jal 8100075e -81000126: 2d2d jal 81000760 -81000128: 2d2d jal 81000762 -8100012a: 2d2d jal 81000764 -8100012c: 2d2d jal 81000766 -8100012e: 2d2d jal 81000768 -81000130: 2d2d jal 8100076a -81000132: 2d2d jal 8100076c -81000134: 2d2d jal 8100076e -81000136: 0a2d addi s4,s4,11 -81000138: 0000 unimp -8100013a: 0000 unimp -8100013c: 000a c.slli zero,0x2 -8100013e: 0000 unimp -81000140: 0020 addi s0,sp,8 -81000142: 0000 unimp -81000144: 2d0a fld fs10,128(sp) -81000146: 2d2d jal 81000780 -81000148: 2d2d jal 81000782 -8100014a: 2d2d jal 81000784 -8100014c: 2d2d jal 81000786 -8100014e: 2d2d jal 81000788 -81000150: 2d2d jal 8100078a -81000152: 2d2d jal 8100078c -81000154: 2d2d jal 8100078e -81000156: 2d2d jal 81000790 -81000158: 2d2d jal 81000792 -8100015a: 2d2d jal 81000794 -8100015c: 2d2d jal 81000796 -8100015e: 2d2d jal 81000798 -81000160: 2d2d jal 8100079a -81000162: 2d2d jal 8100079c -81000164: 000a c.slli zero,0x2 - -Disassembly of section .data: - -81000168 : -81000168: 0000 unimp -8100016a: 8100 0x8100 -8100016c: 0004 0x4 -8100016e: 8100 0x8100 -81000170: 0008 0x8 -81000172: 8100 0x8100 -81000174: 000c 0xc -81000176: 8100 0x8100 -81000178: 0010 0x10 -8100017a: 8100 0x8100 -8100017c: 0014 0x14 -8100017e: 8100 0x8100 -81000180: 0018 0x18 -81000182: 8100 0x8100 -81000184: 001c 0x1c -81000186: 8100 0x8100 -81000188: 0020 addi s0,sp,8 -8100018a: 8100 0x8100 -8100018c: 0024 addi s1,sp,8 -8100018e: 8100 0x8100 -81000190: 0028 addi a0,sp,8 -81000192: 8100 0x8100 -81000194: 002c addi a1,sp,8 -81000196: 8100 0x8100 -81000198: 0030 addi a2,sp,8 -8100019a: 8100 0x8100 -8100019c: 0034 addi a3,sp,8 -8100019e: 8100 0x8100 -810001a0: 0038 addi a4,sp,8 -810001a2: 8100 0x8100 -810001a4: 003c addi a5,sp,8 -810001a6: 8100 0x8100 - -810001a8 : -810001a8: 0054 addi a3,sp,4 -810001aa: 8100 0x8100 -810001ac: 0058 addi a4,sp,4 -810001ae: 8100 0x8100 -810001b0: 005c addi a5,sp,4 -810001b2: 8100 0x8100 -810001b4: 0060 addi s0,sp,12 -810001b6: 8100 0x8100 -810001b8: 0064 addi s1,sp,12 -810001ba: 8100 0x8100 -810001bc: 0068 addi a0,sp,12 -810001be: 8100 0x8100 -810001c0: 006c addi a1,sp,12 -810001c2: 8100 0x8100 -810001c4: 0070 addi a2,sp,12 -810001c6: 8100 0x8100 -810001c8: 0074 addi a3,sp,12 -810001ca: 8100 0x8100 -810001cc: 0078 addi a4,sp,12 -810001ce: 8100 0x8100 -810001d0: 007c addi a5,sp,12 -810001d2: 8100 0x8100 -810001d4: 0080 addi s0,sp,64 -810001d6: 8100 0x8100 -810001d8: 0084 addi s1,sp,64 -810001da: 8100 0x8100 -810001dc: 0088 addi a0,sp,64 -810001de: 8100 0x8100 -810001e0: 008c addi a1,sp,64 -810001e2: 8100 0x8100 -810001e4: 0090 addi a2,sp,64 -810001e6: 8100 0x8100 - -810001e8 : -810001e8: 0098 addi a4,sp,64 -810001ea: 8100 0x8100 -810001ec: 009c addi a5,sp,64 -810001ee: 8100 0x8100 -810001f0: 00a0 addi s0,sp,72 -810001f2: 8100 0x8100 -810001f4: 00a4 addi s1,sp,72 -810001f6: 8100 0x8100 -810001f8: 00a8 addi a0,sp,72 -810001fa: 8100 0x8100 -810001fc: 00ac addi a1,sp,72 -810001fe: 8100 0x8100 -81000200: 00b0 addi a2,sp,72 -81000202: 8100 0x8100 -81000204: 00b4 addi a3,sp,72 -81000206: 8100 0x8100 -81000208: 00b8 addi a4,sp,72 -8100020a: 8100 0x8100 -8100020c: 00bc addi a5,sp,72 -8100020e: 8100 0x8100 -81000210: 00c0 addi s0,sp,68 -81000212: 8100 0x8100 -81000214: 00c4 addi s1,sp,68 -81000216: 8100 0x8100 -81000218: 00c8 addi a0,sp,68 -8100021a: 8100 0x8100 -8100021c: 00cc addi a1,sp,68 -8100021e: 8100 0x8100 -81000220: 00d0 addi a2,sp,68 -81000222: 8100 0x8100 -81000224: 00d4 addi a3,sp,68 -81000226: 8100 0x8100 - -81000228 : -81000228: 00d8 addi a4,sp,68 -8100022a: 8100 0x8100 -8100022c: 00dc addi a5,sp,68 -8100022e: 8100 0x8100 -81000230: 00e0 addi s0,sp,76 -81000232: 8100 0x8100 -81000234: 00e4 addi s1,sp,76 -81000236: 8100 0x8100 -81000238: 00e8 addi a0,sp,76 -8100023a: 8100 0x8100 -8100023c: 00ec addi a1,sp,76 -8100023e: 8100 0x8100 -81000240: 00f0 addi a2,sp,76 -81000242: 8100 0x8100 -81000244: 00f4 addi a3,sp,76 -81000246: 8100 0x8100 -81000248: 00f8 addi a4,sp,76 -8100024a: 8100 0x8100 -8100024c: 00fc addi a5,sp,76 -8100024e: 8100 0x8100 -81000250: 0100 addi s0,sp,128 -81000252: 8100 0x8100 -81000254: 0104 addi s1,sp,128 -81000256: 8100 0x8100 -81000258: 0108 addi a0,sp,128 -8100025a: 8100 0x8100 -8100025c: 010c addi a1,sp,128 -8100025e: 8100 0x8100 -81000260: 0110 addi a2,sp,128 -81000262: 8100 0x8100 -81000264: 0114 addi a3,sp,128 -81000266: 8100 0x8100 - -Disassembly of section .sdata: - -81000268 : -81000268: 0006 c.slli zero,0x1 - ... - -Disassembly of section .bss: - -8100026c : - ... - -81000310 : -81000310: 0000 unimp - ... - -81000314 : - ... - -81000414 : - ... - -81026114 : - ... - -810261b8 : -810261b8: 0000 unimp - ... - -810261bc : - ... - -810261d0 : - ... - -810261e8 : - ... - -81026200 : - ... - -81026220 : - ... - -81027220 : - ... - -81028220 : - ... - -81029220 : - ... - -810292c4 : -810292c4: 0000 unimp - ... - -Disassembly of section .sbss: - -810292c8 : - ... - -Disassembly of section .comment: - -82000000 <.comment>: -82000000: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm -82000004: 2820 fld fs0,80(s0) -82000006: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm -8200000a: 3820 fld fs0,112(s0) -8200000c: 322e fld ft4,232(sp) -8200000e: 302e fld ft0,232(sp) - ... diff --git a/kernel/vortex_test.elf b/kernel/vortex_test.elf deleted file mode 100755 index df2ef62c..00000000 Binary files a/kernel/vortex_test.elf and /dev/null differ diff --git a/kernel/vortex_test.hex b/kernel/vortex_test.hex deleted file mode 100644 index f40c918e..00000000 --- a/kernel/vortex_test.hex +++ /dev/null @@ -1,436 +0,0 @@ -:0200000480007A -:1000000037F1FF7FEF101004130500006B000500AF -:10001000938B0600130D0700130F010093030500D7 -:1000200013051000635C75001301018013030500C4 -:100030006B500300130515006FF0DFFE1300000086 -:100040001300000013000000130000001300000064 -:100050001300000013010F0013050000930F0600AA -:10006000938D030013000000130000001300000034 -:100070001300000013000000130000001300000034 -:1000800013000000EBE0BF011300000013000000AC -:100090001300000013000000130000001300000014 -:1000A000170500001305451B6B40050017030000F2 -:1000B000130343F66B000300678000001702000182 -:1000C000130282252320020023221200232422006F -:1000D0002326320023284200232A5200232C6200C8 -:1000E000232E720023208202232292022324A202C2 -:1000F0002326B2022328C202232AD202232CE202A0 -:10010000232EF20223200205232212052324220596 -:100110002326320523284205232A5205232C620573 -:10012000232E720523208207232292072324A2076D -:100130002326B2072328C207232AD207232CE2074B -:10014000232EF2071302100067800000170200013F -:100150001302821C0320020083204200032182003C -:100160008321C20003220201832242010323820170 -:100170008323C20103240202832442020325820254 -:100180008325C20203260203832642030327820338 -:100190008327C2030328020483284204032982041C -:1001A0008329C204032A0205832A4205032B820500 -:1001B000832BC205032C0206832C4206032D8206E4 -:1001C000832DC206032E0207832E4207032F8207C8 -:1001D000832FC2071302000067800000732500020E -:1001E000678000007325100267800000130101FE84 -:1001F000232E1100232C810013040102232604FE68 -:100200006F0040030327C4FEB7170000938747978A -:100210003307F702B707008193874741B307F70019 -:1002200013850700EF0000448327C4FE938717005F -:100230002326F4FE0327C4FE9307F001E3D4E7FC72 -:10024000130000008320C101032481011301010276 -:1002500067800000130101FD23261102232481027F -:100260002322A103130401031300000013070D0050 -:10027000B7170000938747973307F702B707008146 -:1002800093874741B307F70013850700EF004050FD -:1002900093070500638A070213070D00B707008163 -:1002A000131727009387C726B307F700130710001B -:1002B00023A0E70093070D0063960700EFF01FE906 -:1002C0006F00C0057300000013070D00B717000092 -:1002D000938747973307F702B70700819387474112 -:1002E000B307F700130784FD930507001385070084 -:1002F000EF000040832704FE138107008327C4FD1D -:10030000832584FD032644FE832684FE0327C4FE42 -:1003100013850700EFF0DFCF730000008320C102D8 -:1003200003248102032D41021301010367800000B1 -:10033000130101FB23261104232481041304010566 -:10034000EFF0DFE92324A4FE9309010093071000D6 -:100350002326F4FE6F00C0080327C4FEB717000071 -:10036000938747973307F702B70700819387474181 -:10037000B307F70013850700EF00804193070500DE -:10038000639A07040327C4FEB717000093874797B3 -:100390003307F702B707008193874741B307F70098 -:1003A000130704FD9305070013850700EF00403491 -:1003B000832784FD13810700832744FD832504FDE3 -:1003C0000326C4FD832604FE032744FE138507008D -:1003D000EFF0DFCD8327C4FE938717002326F4FEBA -:1003E0008327C4FE032784FEE3E8E7F613810900B0 -:1003F000EFF0DFCC9307020063880704B7070081A2 -:1004000013854741EF00C03893070500639E07023C -:10041000930784FB93850700B70700811385474145 -:10042000EF00002D832704FC138107008327C4FB02 -:10043000832584FB032644FC832684FC0327C4FC19 -:1004400013850700EFF0DFBC130000008320C10418 -:10045000032481041301010567800000130101FBDF -:10046000232611042324810413040105232EA4FA56 -:10047000232CB4FA232AC4FA2328D4FAEFF01FD786 -:10048000EFF0DFD52322A4FE13090100232604FE8A -:10049000232404FE6F000009B709FFFF3301310177 -:1004A000832784FE2326F4FC832784FB2328F4FC83 -:1004B00093070100232AF4FC832744FB232CF4FC3C -:1004C000832704FB232EF4FC8327C4FE2320F4FEA1 -:1004D0000327C4FEB7170000938747973307F70237 -:1004E000B707008193874741B307F7001307C4FCA0 -:1004F0009305070013850700EF0000198327C4FE4A -:10050000938717002326F4FE8327C4FE032744FEA7 -:1005100063E4E700232604FE832784FE9387170005 -:100520002324F4FE032784FE8327C4FBE366F7F647 -:1005300013010900EFF0DFDF130000008320C10486 -:10054000032481041301010567800000130101FDEC -:10055000232611022324810213040103232EA4FC69 -:100560008325C4FDB707008113850704EF00802DA4 -:10057000EFF0DFC62320A4FE232604FE6F008006D2 -:10058000930710002326F4FE232404FE6F00C0030B -:10059000B7070081032784FE131727009387C72618 -:1005A000B307F70003A70700930710006318F700CD -:1005B0008327C4FE938717002326F4FE832784FE37 -:1005C000938717002324F4FE032784FE9307F0018A -:1005D000E3D0E7FC8325C4FEB70700811385C70479 -:1005E000EF0040260327C4FE8327C4FDE36AF7F823 -:1005F000232204FE6F008002B7070081032744FE18 -:10060000131727009387C726B307F70023A0070017 -:10061000832744FE938717002322F4FE832744FE9A -:10062000032704FEE3EAE7FC130000008320C10275 -:10063000032481021301010367800000130101FFFD -:1006400023268100232471011304010193870B00E9 -:10065000138507000324C100832B810013010101CE -:1006600067800000930205001303000093037000ED -:1006700023A0620023A2620023A4620023A67200CA -:1006800023A86200678000009302050003A3820094 -:100690001303130023A462001383420183AE4200BC -:1006A00093935E003303730003AE05002320C30160 -:1006B00003AE45002322C30103AE85002324C301FA -:1006C00003AEC5002326C30103AE05012328C301E1 -:1006D00003AE4501232AC301938E1E00130F20038E -:1006E0006394EE01930E000023A2D2016780000004 -:1006F0009302050003A38200130000001300000012 -:10070000130000001300000013000000130000009D -:100710001303F3FF23A462001383420183AE02009C -:10072000930F2003138F0E00130F1F006314FF019C -:10073000130F000023A0E20193935E0033037300C4 -:10074000032E030023A0C501032E430023A2C501ED -:10075000032E830023A4C501032EC30023A6C501D5 -:10076000032E030123A8C501032E430123AAC501BB -:10077000678000009302050003A3820013050000B8 -:10078000130E200363146E0013051500678000002C -:100790009302050003A3820013050000130E00005E -:1007A00063146E00130515006780000093020500B6 -:1007B00003A3C20083A3020133B563006780000076 -:1007C000130141FF232011002322B10083450500BE -:1007D00063880500EF00C001130515006FF01FFFCF -:1007E00083200100832541001301C10067800000C0 -:1007F000B708010023A0B80067800000130101FEC4 -:10080000232E1100232C8100130401022326A4FEB1 -:10081000B70700810327C4FE131727009387871AA1 -:10082000B307F70083A7070013850700EFF05FF910 -:10083000130000008320C101032481011301010280 -:1008400067800000130101FE232E1100232C81007C -:10085000130401022326A4FE2324B4FE0325C4FEB0 -:10086000EFF01FF6032584FEEFF05FF9B707008174 -:1008700013854709EFF0DFF4130000008320C10166 -:10088000032481011301010267800000130101FDAF -:10089000232611022324810213040103232EA4FC26 -:1008A000232CB4FC232AC4FC2328D4FCB767028180 -:1008B0000327C4FD23AEE71AB76702819387C71BDE -:1008C000032784FD23A2E700B76702819387C71B34 -:1008D000032744FD23A4E700B76702819387C71B62 -:1008E000032704FD23A6E700EFF0DF8F2324A4FEF7 -:1008F000032704FD832784FEB357F7022326F4FE63 -:10090000032704FD832784FEB377F702638807007B -:100910008327C4FE938717002326F4FEB76702815E -:100920009387C71B0327C4FE23A8E700032704FD02 -:10093000832784FE6362F702B76702819386C71B31 -:10094000B71700801386079B832584FE032504FDCB -:10095000EFF0DFB06F000002B76702819386C71B1C -:10096000B71700801386079B832504FD032504FD2C -:10097000EFF0DFAEEFF09F862322A4FE032704FDF5 -:10098000832744FE63F8E700032544FEEFF01FBC15 -:100990006F00C000032504FDEFF05FBB13000000F3 -:1009A0008320C10203248102130101036780000038 -:1009B000130101FA232E1104232C810413040106D0 -:1009C0002326A4FA2324B4FAEFF05FC7232CA4FC57 -:1009D000832784FD83A70700232AF4FC832784FD53 -:1009E00083A747002328F4FC832784FD83A787007F -:1009F0002326F4FC832784FD83A707012326F4FE26 -:100A00000327C4FE8327C4FAB307F7022324F4FEA6 -:100A10008327C4FE639A0700930710002326F4FE81 -:100A20008327C4FA2324F4FE832784FD83A7C70009 -:100A30002324F4FC232204FE6F00800D232004FEF7 -:100A4000232E04FC6F008007032784FA832784FC8D -:100A5000B307F7020327C4FDB307F7002322F4FC12 -:100A6000032784FC8327C4FDB307F702032784FE12 -:100A7000B307F7002320F4FC832744FC9397270057 -:100A8000032744FDB307F70003A70700832704FCEF -:100A900093972700832604FDB387F60083A70700FA -:100AA000B307F702032704FEB307F7002320F4FE81 -:100AB0008327C4FD93871700232EF4FC0327C4FD6E -:100AC000832784FCE362F7F8032784FA832784FCF6 -:100AD0003307F702832784FEB307F700232EF4FAC7 -:100AE0008327C4FB939727000327C4FCB307F700B1 -:100AF000032704FE23A0E700832784FE93871700C3 -:100B00002324F4FE832744FE938717002322F4FE58 -:100B1000832744FE0327C4FEE3E2E7F2130000004C -:100B20008320C105032481051301010667800000AD -:100B3000130101FC232E1102232C81021304010452 -:100B4000232EA4FC232CB4FC232AC4FC2328D4FC8D -:100B50002326E4FCB76702810327C4FD23A8E71C12 -:100B6000B76702819387071D032784FD23A2E7004F -:100B7000B76702819387071D032744FD23A4E7007D -:100B8000B76702819387071D0327C4FC23A6E700EC -:100B9000B76702819387071D032704FD23A8E70099 -:100BA000EFF04FE42324A4FE0327C4FC832784FE34 -:100BB000B357F7022326F4FE0327C4FC832784FEE1 -:100BC000B377F702638807008327C4FE9387170073 -:100BD0002326F4FEB76702819387071D0327C4FE0F -:100BE00023AAE7000327C4FC832784FE6362F7027D -:100BF000B76702819386071DB7170080138687C6E3 -:100C0000832584FE032504FDEFF05F856F0000025D -:100C1000B76702819386071DB7170080138687C6C2 -:100C20008325C4FC032504FDEFF05F83EFF00FDBA9 -:100C30002322A4FE032704FD832744FE63F8E70074 -:100C4000032544FEEFF09F906F00C000032504FDD4 -:100C5000EFF0DF8F130000008320C1030324810322 -:100C60001301010467800000130101FB2326110416 -:100C70002324810413040105232EA4FA232CB4FA9F -:100C8000EFF0DF9B2320A4FE832704FE83A7070049 -:100C9000232EF4FC832704FE83A74700232CF4FCB7 -:100CA000832704FE83A78700232AF4FC832704FEFE -:100CB00083A747012326F4FE0327C4FE8327C4FB32 -:100CC000B307F7022324F4FE8327C4FE639A0700C8 -:100CD000930710002326F4FE8327C4FB2324F4FE8D -:100CE000832704FE83A7C7002328F4FC232204FEE5 -:100CF0006F00000C032784FB832704FD3307F702F2 -:100D0000832784FEB307F7002326F4FC032784FE21 -:100D1000832704FDB337F70093F7F70F2324F4FC80 -:100D2000832784FC93B71700A303F4FC834774FC68 -:100D3000138F0700B7170080938FC7D96B200F0060 -:100D40007B70FF018327C4FC939727000327C4FD12 -:100D5000B307F70083A607008327C4FC93972700F7 -:100D6000032784FDB307F70003A707008327C4FC0C -:100D700093972700032644FDB307F6003387E60068 -:100D800023A0E700832784FE938717002324F4FE23 -:100D9000B7170080138E07DA67000E0013000000FB -:100DA0006B300000832744FE938717002322F4FE54 -:100DB000832744FE0327C4FEE3EEE7F2130000009E -:100DC0008320C1040324810413010105678000000E -:100DD000130101FC232E1102232C810213040104B0 -:100DE000232EA4FC232CB4FC232AC4FC2328D4FCEB -:100DF0002326E4FCB76702810327C4FD23A8E71C70 -:100E0000B76702819387071D032784FD23A2E700AC -:100E1000B76702819387071D032744FD23A4E700DA -:100E2000B76702819387071D0327C4FC23A6E70049 -:100E3000B76702819387071D032704FD23A8E700F6 -:100E4000EFF04FBA2324A4FE0327C4FC832784FEBB -:100E5000B357F7022326F4FE0327C4FC832784FE3E -:100E6000B377F702638807008327C4FE93871700D0 -:100E70002326F4FEB76702819387071D0327C4FE6C -:100E800023AAE7000327C4FC832784FE6362F702DA -:100E9000B76702819386071DB7170080138687F016 -:100EA000832584FE032504FDEFF04FDB6F00000275 -:100EB000B76702819386071DB7170080138687F0F6 -:100EC0008325C4FC032504FDEFF04FD9EFF00FB1EB -:100ED0002322A4FE032704FD832744FE63F8E700D2 -:100EE000032544FEEFF08FE66F00C000032504FDEC -:100EF000EFF0CFE5130000008320C103032481033A -:100F00001301010467800000130101FB2326110473 -:100F10002324810413040105232EA4FA232CB4FAFC -:100F2000EFF0CFF12320A4FE832704FE83A7070060 -:100F3000232EF4FC832704FE83A74700232CF4FC14 -:100F4000832704FE83A78700232AF4FC832704FE5B -:100F500083A747012326F4FE0327C4FE8327C4FB8F -:100F6000B307F7022324F4FE8327C4FE639A070025 -:100F7000930710002326F4FE8327C4FB2324F4FEEA -:100F8000832704FE83A7C7002328F4FC232204FE42 -:100F90006F00000C032784FB832704FD3307F7024F -:100FA000832784FEB307F7002326F4FC032784FE7F -:100FB000832704FDB337F70093F7F70F2324F4FCDE -:100FC000832784FC93B71700A303F4FC834774FCC6 -:100FD000138F0700B7170080938FC7036B200F0094 -:100FE0007B70FF018327C4FC939727000327C4FD70 -:100FF000B307F70083A607008327C4FC9397270055 -:10100000032784FDB307F70003A707008327C4FC69 -:1010100093972700032644FDB307F6003387E64085 -:1010200023A0E700832784FE938717002324F4FE80 -:10103000B7170080138E070467000E00130000002E -:101040006B300000832744FE938717002322F4FEB1 -:10105000832744FE0327C4FEE3EEE7F213000000FB -:101060008320C1040324810413010105678000006B -:10107000130101FC232E1102232C8102130401040D -:10108000232EA4FC232CB4FC232AC4FC2328D4FC48 -:101090002326E4FCB76702810327C4FD23A4E71ECF -:1010A000B76702819387871E032784FD23A2E70089 -:1010B000B76702819387871E032744FD23A4E700B7 -:1010C000B76702819387871E0327C4FC23A6E70026 -:1010D000B76702819387871E032704FD23A8E700D3 -:1010E000EFF04F902324A4FE0327C4FC832784FE43 -:1010F000B357F7022326F4FE0327C4FC832784FE9C -:10110000B377F702638807008327C4FE938717002D -:101110002326F4FEB76702819387871E0327C4FE48 -:1011200023AAE7000327C4FC832784FE6362F70237 -:10113000B76702819386871EB71700801386871AC8 -:10114000832584FE032504FDEFF04FB16F000002FC -:10115000B76702819386871EB71700801386871AA8 -:101160008325C4FC032504FDEFF04FAFEFF00F879C -:101170002322A4FE032704FD832744FE63F8E7002F -:10118000032544FEEFF08FBC6F00C000032504FD73 -:10119000EFF0CFBB130000008320C10303248103C1 -:1011A0001301010467800000130101FB23261104D1 -:1011B0002324810413040105232EA4FA232CB4FA5A -:1011C000EFF0CFC72320A4FE832704FE83A70700E8 -:1011D000232EF4FC832704FE83A7470083A7070080 -:1011E000232CF4FC832704FE83A78700232AF4FC26 -:1011F000832704FE83A747012326F4FE0327C4FEAA -:101200008327C4FBB307F7022324F4FE8327C4FE1D -:10121000639A0700930710002326F4FE8327C4FB7C -:101220002324F4FE832704FE83A7C7002328F4FCAD -:10123000232204FE6F00000B032784FB832704FD99 -:101240003307F702832784FEB307F7002326F4FC55 -:10125000032784FE832704FDB337F70093F7F70FC6 -:101260002324F4FC832784FC93B71700A303F4FC26 -:10127000834774FC138F0700B7170080938F072DE7 -:101280006B200F007B70FF018327C4FC939727001E -:101290000327C4FDB307F70083A607008327C4FC18 -:1012A00093972700032744FDB307F700032784FD26 -:1012B0003387E60023A0E700832784FE9387170087 -:1012C0002324F4FEB7170080138E472D67000E000D -:1012D000130000006B300000832744FE9387170043 -:1012E0002322F4FE832744FE0327C4FEE3E6E7F44B -:1012F000130000008320C1040324810413010105AD -:1013000067800000130101FC232E1102232C8102AF -:1013100013040104232EA4FC232CB4FC232AC4FCB4 -:101320002328D4FC2326E4FCB76702810327C4FDED -:1013300023A4E71EB76702819387871E032784FDD6 -:1013400023A2E700B76702819387871E032744FD26 -:1013500023A4E700B76702819387871E0327C4FC95 -:1013600023A6E700B76702819387871E032704FD42 -:1013700023A8E700EFE01FE72324A4FE0327C4FC13 -:10138000832784FEB357F7022326F4FE0327C4FC09 -:10139000832784FEB377F702638807008327C4FEA0 -:1013A000938717002326F4FEB76702819387871E71 -:1013B0000327C4FE23AAE7000327C4FC832784FE77 -:1013C0006362F702B76702819386871EB7170080B2 -:1013D0001386C743832584FE032504FDEFF00F88A1 -:1013E0006F000002B76702819386871EB7170080DF -:1013F0001386C7438325C4FC032504FDEFF00F8645 -:10140000EFE0DFDD2322A4FE032704FD832744FE53 -:1014100063F8E700032544FEEFF04F936F00C00030 -:10142000032504FDEFF08F92130000008320C10319 -:10143000032481031301010467800000130101FBF1 -:10144000232611042324810413040105232EA4FA66 -:10145000232CB4FAEFF08F9E2320A4FE832704FEF2 -:1014600083A70700232EF4FC832704FE83A74700ED -:1014700083A70700232CF4FC832704FE83A787009F -:10148000232AF4FC832704FE83A747012326F4FEC6 -:101490000327C4FE8327C4FBB307F7022324F4FE0B -:1014A0008327C4FE639A0700930710002326F4FEE7 -:1014B0008327C4FB2324F4FE832704FE83A7C700ED -:1014C0002328F4FC232204FE6F00000B032784FB77 -:1014D000832704FD3307F702832784FEB307F70051 -:1014E0002326F4FC032784FE832704FDB337F7008B -:1014F00093F7F70F2324F4FC832784FC93B717009A -:10150000A303F4FC834774FC138F0700B717008014 -:10151000938F47566B200F007B70FF018327C4FC1D -:10152000939727000327C4FDB307F70083A607009E -:101530008327C4FC93972700032744FDB307F700D4 -:10154000032784FD3387E60223A0E700832784FE78 -:10155000938717002324F4FEB7170080138E875655 -:1015600067000E00130000006B300000832744FE6C -:10157000938717002322F4FE832744FE0327C4FE2B -:10158000E3E6E7F4130000008320C1040324810490 -:101590001301010567800000130101FD232681026C -:1015A00013040103232EA4FC232604FE6F00000174 -:1015B0008327C4FE938717002326F4FE0327C4FE67 -:1015C0008327C4FDE346F7FE130000000324C10295 -:1015D0001301010367800000130101FD232611029E -:1015E0002324810213040103232EA4FC232CB4FC26 -:1015F000B7670281138707208327C4FDB307F7006D -:10160000130710002380E7008327C4FD6390070CB5 -:10161000A30104FE232604FE6F00800A232604FE95 -:10162000232404FE6F004003B7670281138707205D -:10163000832784FEB307F70083C70700638807008A -:101640008327C4FE938717002326F4FE832784FE96 -:10165000938717002324F4FE032784FE832784FD49 -:10166000E344F7FC0327C4FE832784FD631AF704D1 -:10167000232204FE6F000004B7670281138707204E -:10168000832744FEB307F70023800700B797028142 -:10169000130710002384E72C13056004EFF0DFEF3D -:1016A000B79702812384072C832744FE9387170072 -:1016B0002322F4FE032744FE832784FDE34EF7FA3A -:1016C000834734FEE39C07F46F00400213000000E0 -:1016D000B797028183C7872C93C7170093F7F70F3B -:1016E000E39807FE13054006EFF01FEB1300000020 -:1016F0008320C102032481021301010367800000DB -:10170000130101FF23268100130401019307000048 -:101710001308000013850700930508000324C10087 -:101720001301010167800000130101FE232E8100D7 -:1017300013040102232604FE6F008004B7670281B0 -:101740000327C4FE1317270093870722B307F70068 -:101750001307300023A0E700B77702810327C4FEF8 -:101760001317270093870722B307F70013072000FA -:1017700023A0E7008327C4FE938717002326F4FEE7 -:101780000327C4FE9307F00FE3DAE7FA1300000023 -:101790000324C1011301010267800000130101FD50 -:1017A000232611022324810213040103232EA4FC07 -:1017B000B707008113858711EFF08F80232604FE81 -:1017C0006F0080058327C4FE638E07008327C4FE55 -:1017D00093F7F70063980700B70700811385C713D5 -:1017E000EFE01FFE8327C4FE939727000327C4FD65 -:1017F000B307F70083A7070013850700EFF00F80FA -:10180000B707008113850714EFE09FFB8327C4FE11 -:10181000938717002326F4FE0327C4FE9307F00FD7 -:10182000E3D2E7FAB707008113854714EFE05FF9C9 -:10183000130000008320C10203248102130101036D -:1018400067800000130101FF23261100232481007B -:1018500013040101EFF05FEDB767028113850722E2 -:10186000EFF0DFF393070000138507008320C1002A -:0C187000032481001301010167800000C7 -:02000004810079 -:10000000300000003100000032000000330000002A -:10001000340000003500000036000000370000000A -:10002000380000003900000061000000620000009C -:10003000630000006400000065000000660000002E -:100040007761697420666F723A200000466F756EA2 -:10005000643A20003000000031000000320000004F -:1000600033000000340000003500000036000000BE -:100070003700000038000000390000006100000077 -:1000800062000000630000006400000065000000E2 -:10009000660000000A00000030000000310000008F -:1000A0003200000033000000340000003500000082 -:1000B0003600000037000000380000003900000062 -:1000C00061000000620000006300000064000000A6 -:1000D00065000000660000003000000031000000F4 -:1000E0003200000033000000340000003500000042 -:1000F0003600000037000000380000003900000022 -:100100006100000062000000630000006400000065 -:1001100065000000660000002D2D2D2D2D2D2D2DAC -:100120002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DFF -:100130002D2D2D2D2D2D2D0A000000000A00000070 -:10014000200000000A2D2D2D2D2D2D2D2D2D2D2D96 -:100150002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DCF -:060160002D2D2D2D0A00DB -:100168000000008104000081080000810C0000816B -:100178001000008114000081180000811C0000811B -:100188002000008124000081280000812C000081CB -:100198003000008134000081380000813C0000817B -:1001A80054000081580000815C00008160000081DB -:1001B80064000081680000816C000081700000818B -:1001C80074000081780000817C000081800000813B -:1001D80084000081880000818C00008190000081EB -:1001E800980000819C000081A0000081A40000818B -:1001F800A8000081AC000081B0000081B40000813B -:10020800B8000081BC000081C0000081C4000081EA -:10021800C8000081CC000081D0000081D40000819A -:10022800D8000081DC000081E0000081E40000814A -:10023800E8000081EC000081F0000081F4000081FA -:10024800F8000081FC0000810001008104010081A8 -:10025800080100810C010081100100811401008156 -:04026800060000008C -:040000058000000077 -:00000001FF diff --git a/kernel/vx_include/.DS_Store b/kernel/vx_include/.DS_Store deleted file mode 100644 index f03454ae..00000000 Binary files a/kernel/vx_include/.DS_Store and /dev/null differ diff --git a/kernel/vx_include/vx_front.c b/kernel/vx_include/vx_front.c deleted file mode 100644 index 082cbd41..00000000 --- a/kernel/vx_include/vx_front.c +++ /dev/null @@ -1,482 +0,0 @@ - -#include "vx_front.h" -#include "../vx_os/vx_back/vx_back.h" - -// -------------------------- Matrix Multiplication -------------------------- - -static mat_mult_arg_t mat_mult_args; - -void _vx_mat_mult(unsigned, unsigned); -void vx_sq_mat_mult(void * x, void * y, void * z, unsigned mat_dim) -{ - mat_mult_args.x = x; - mat_mult_args.y = y; - mat_mult_args.z = z; - mat_mult_args.mat_dim = mat_dim; - - unsigned num_avail_threads = vx_available_threads(); - - unsigned off = (mat_dim/num_avail_threads); - - if ((mat_dim%num_avail_threads) != 0) - { - off += 1; - } - - // vx_printf("Offset: ", off); - - - mat_mult_args.offset = off; - - if (mat_dim >= num_avail_threads) - { - vx_spawnWarps(mat_dim, num_avail_threads, _vx_mat_mult, (void *) (&mat_mult_args)); - } - else - { - vx_spawnWarps(mat_dim, mat_dim, _vx_mat_mult, (void *) (&mat_mult_args)); - } - - unsigned num_avail_warps = vx_available_warps(); - - if (mat_dim > num_avail_warps) - { - vx_wait_for_warps(num_avail_warps); - } - else - { - vx_wait_for_warps(mat_dim); - } -} - -void _vx_mat_mult(unsigned tid, unsigned wid) -{ - mat_mult_arg_t * args = (mat_mult_arg_t *) vx_get_arg_struct(); - - unsigned * x_ptr = args->x; - unsigned * y_ptr = args->y; - unsigned * z_ptr = args->z; - - unsigned off = args->offset; - - unsigned i_index = off * tid; - - if (off == 0) - { - off = 1; - i_index = tid; - } - - unsigned mat_dim = args->mat_dim; - - for (int iter = 0; iter < off; ++iter) - { - unsigned total = 0; - for (unsigned place = 0; place < mat_dim; ++place) - { - unsigned x_i = (wid * mat_dim) + place; - unsigned y_i = (mat_dim * place ) + i_index; - - total += (x_ptr[x_i] * y_ptr[y_i]); - } - - int final_i = (wid * mat_dim) + i_index; - // unsigned cond = i_index < mat_dim; - // __if(cond) - // { - z_ptr[final_i] = total; - i_index++; - // } - // __else - // __end_if - } - - // for (int z = 0; z < ((1000 * wid) + 1000); z++); - return; -} - - - - -static mat_r_arg_t mat_r_args; -// -------------------------- Matrix Addition -------------------------- -void _vx_mat_add(unsigned, unsigned); -void vx_mat_add(void * x, void * y, void * z, unsigned num_rows, unsigned num_cols) -{ - mat_r_args.x = x; - mat_r_args.y = y; - mat_r_args.z = z; - mat_r_args.num_cols = num_cols; - mat_r_args.num_rows = num_rows; - - - unsigned num_avail_threads = vx_available_threads(); - - unsigned off = (num_cols/num_avail_threads); - - if ((num_cols%num_avail_threads) != 0) - { - off += 1; - } - - - mat_r_args.offset = off; - - if (num_cols >= num_avail_threads) - { - vx_spawnWarps(num_rows, num_avail_threads, _vx_mat_add, (void *) (&mat_r_args)); - } - else - { - vx_spawnWarps(num_rows, num_cols, _vx_mat_add, (void *) (&mat_r_args)); - } - - unsigned num_avail_warps = vx_available_warps(); - - if (num_rows > num_avail_warps) - { - vx_wait_for_warps(num_avail_warps); - } - else - { - vx_wait_for_warps(num_rows); - } -} - -void _vx_mat_add(unsigned tid, unsigned wid) -{ - // vx_print_str("*"); - // for (int z = 0; z < ((wid * 1000) + 1000); z++); - - mat_r_arg_t * args = (mat_r_arg_t *) vx_get_arg_struct(); - - unsigned * x_ptr = args->x; - unsigned * y_ptr = args->y; - unsigned * z_ptr = args->z; - - unsigned off = args->offset; - - unsigned i_index = off * tid; - - if (off == 0) - { - off = 1; - i_index = tid; - } - - unsigned num_cols = args->num_cols; - - for (int iter = 0; iter < off; ++iter) - { - int final_i = (wid * num_cols) + i_index; - unsigned cond = i_index < num_cols; - __if(cond) - { - z_ptr[final_i] = x_ptr[final_i] + y_ptr[final_i]; - i_index++; - } - __else - __end_if - } - return; - -} - - - -// -------------------------- Matrix Subtraction -------------------------- -void _vx_mat_sub(unsigned, unsigned); -void vx_mat_sub(void * x, void * y, void * z, unsigned num_rows, unsigned num_cols) -{ - mat_r_args.x = x; - mat_r_args.y = y; - mat_r_args.z = z; - mat_r_args.num_cols = num_cols; - mat_r_args.num_rows = num_rows; - - unsigned num_avail_threads = vx_available_threads(); - - unsigned off = (num_cols/num_avail_threads); - - if ((num_cols%num_avail_threads) != 0) - { - off += 1; - } - - - mat_r_args.offset = off; - - if (num_cols >= num_avail_threads) - { - vx_spawnWarps(num_rows, num_avail_threads, _vx_mat_sub, (void *) (&mat_r_args)); - } - else - { - vx_spawnWarps(num_rows, num_cols, _vx_mat_sub, (void *) (&mat_r_args)); - } - - unsigned num_avail_warps = vx_available_warps(); - - if (num_rows > num_avail_warps) - { - vx_wait_for_warps(num_avail_warps); - } - else - { - vx_wait_for_warps(num_rows); - } -} - -void _vx_mat_sub(unsigned tid, unsigned wid) -{ - // vx_print_str("*"); - // for (int z = 0; z < ((wid * 1000) + 1000); z++); - - mat_r_arg_t * args = (mat_r_arg_t *) vx_get_arg_struct(); - - unsigned * x_ptr = args->x; - unsigned * y_ptr = args->y; - unsigned * z_ptr = args->z; - - unsigned off = args->offset; - - unsigned i_index = off * tid; - - if (off == 0) - { - off = 1; - i_index = tid; - } - - unsigned num_cols = args->num_cols; - - for (int iter = 0; iter < off; ++iter) - { - int final_i = (wid * num_cols) + i_index; - unsigned cond = i_index < num_cols; - __if(cond) - { - z_ptr[final_i] = x_ptr[final_i] - y_ptr[final_i]; - i_index++; - } - __else - __end_if - } - return; - -} - - - -static mat_e_arg_t mat_e_args; -// -------------------------------------------------------------- - -void _vx_e_mat_add(unsigned, unsigned); -void vx_e_mat_add(void * x, void * scal, void * z, unsigned num_rows, unsigned num_cols) -{ - mat_e_args.x = x; - mat_e_args.scal = scal; - mat_e_args.z = z; - mat_e_args.num_cols = num_cols; - mat_e_args.num_rows = num_rows; - - - unsigned num_avail_threads = vx_available_threads(); - - unsigned off = (num_cols/num_avail_threads); - - if ((num_cols%num_avail_threads) != 0) - { - off += 1; - } - - mat_e_args.offset = off; - - if (num_cols >= num_avail_threads) - { - vx_spawnWarps(num_rows, num_avail_threads, _vx_e_mat_add, (void *) (&mat_e_args)); - } - else - { - vx_spawnWarps(num_rows, num_cols, _vx_e_mat_add, (void *) (&mat_e_args)); - } - - unsigned num_avail_warps = vx_available_warps(); - - if (num_rows > num_avail_warps) - { - vx_wait_for_warps(num_avail_warps); - } - else - { - vx_wait_for_warps(num_rows); - } -} - -void _vx_e_mat_add(unsigned tid, unsigned wid) -{ - // vx_print_str("*"); - // for (int z = 0; z < ((wid * 1000) + 1000); z++); - - mat_e_arg_t * args = (mat_e_arg_t *) vx_get_arg_struct(); - - unsigned * x_ptr = args->x; - unsigned scal = *((unsigned *) args->scal); - - unsigned * z_ptr = args->z; - - unsigned off = args->offset; - - unsigned i_index = off * tid; - - if (off == 0) - { - off = 1; - i_index = tid; - } - - unsigned num_cols = args->num_cols; - - for (int iter = 0; iter < off; ++iter) - { - int final_i = (wid * num_cols) + i_index; - unsigned cond = i_index < num_cols; - __if(cond) - { - z_ptr[final_i] = x_ptr[final_i] + scal; - i_index++; - } - __else - __end_if - } - return; - -} - -void _vx_e_mat_mult(unsigned, unsigned); -void vx_e_mat_mult(void * x, void * scal, void * z, unsigned num_rows, unsigned num_cols) -{ - mat_e_args.x = x; - mat_e_args.scal = scal; - mat_e_args.z = z; - mat_e_args.num_cols = num_cols; - mat_e_args.num_rows = num_rows; - - - unsigned num_avail_threads = vx_available_threads(); - - unsigned off = (num_cols/num_avail_threads); - - if ((num_cols%num_avail_threads) != 0) - { - off += 1; - } - - mat_e_args.offset = off; - - if (num_cols >= num_avail_threads) - { - vx_spawnWarps(num_rows, num_avail_threads, _vx_e_mat_mult, (void *) (&mat_e_args)); - } - else - { - vx_spawnWarps(num_rows, num_cols, _vx_e_mat_mult, (void *) (&mat_e_args)); - } - - unsigned num_avail_warps = vx_available_warps(); - - if (num_rows > num_avail_warps) - { - vx_wait_for_warps(num_avail_warps); - } - else - { - vx_wait_for_warps(num_rows); - } -} - -void _vx_e_mat_mult(unsigned tid, unsigned wid) -{ - // vx_print_str("*"); - // for (int z = 0; z < ((wid * 1000) + 1000); z++); - - mat_e_arg_t * args = (mat_e_arg_t *) vx_get_arg_struct(); - - unsigned * x_ptr = args->x; - unsigned scal = *((unsigned *) args->scal); - - unsigned * z_ptr = args->z; - - unsigned off = args->offset; - - unsigned i_index = off * tid; - - if (off == 0) - { - off = 1; - i_index = tid; - } - - unsigned num_cols = args->num_cols; - - for (int iter = 0; iter < off; ++iter) - { - int final_i = (wid * num_cols) + i_index; - unsigned cond = i_index < num_cols; - __if(cond) - { - z_ptr[final_i] = x_ptr[final_i] * scal; - i_index++; - } - __else - __end_if - } - return; - -} - -void sleep(int num) -{ - for (int i = 0; i < num; i++); -} - - -bool barrier_bool = false; -bool barriers[32]; - -void barrier(unsigned wid, int num) -{ - barriers[wid] = true; - - if (wid == 0) - { - bool cont = false; - int count = 0; - while(cont) - { - count = 0; - for (int i = 0; i < num; i++) - { - if (barriers[i]) count++; - } - - if (count == num) - { - for (int i = 0; i < num; i++) - { - barriers[i] = false; - barrier_bool = true; - sleep(70); - barrier_bool = false; - } - } - } - } - else - { - while(!barrier_bool); - sleep(100); - } -} - - diff --git a/kernel/vx_include/vx_front.h b/kernel/vx_include/vx_front.h deleted file mode 100644 index b78b8284..00000000 --- a/kernel/vx_include/vx_front.h +++ /dev/null @@ -1,55 +0,0 @@ -#include "../vx_os/vx_back/vx_back.h" -#include "../vx_os/vx_io/vx_io.h" - - -// -------------------------- Matrix Multiplication -------------------------- - -typedef struct -{ - void * x; - void * y; - void * z; - unsigned mat_dim; - unsigned offset; - -} mat_mult_arg_t; -void vx_sq_mat_mult(void *, void *, void *, unsigned); - - -// -------------------------------------------------------------------------- - -typedef struct -{ - void * x; - void * y; - void * z; - unsigned num_cols; - unsigned num_rows; - unsigned offset; - -} mat_r_arg_t; -// -------------------------- Matrix Addition ----------------------------- -void vx_mat_add(void *, void *, void *, unsigned, unsigned); - -// -------------------------- Matrix Subtraction -------------------------- -void vx_mat_sub(void *, void *, void *, unsigned, unsigned); - - - -// ----------------------------------------------------------------------- -typedef struct -{ - void * x; - void * scal; - void * z; - unsigned num_cols; - unsigned num_rows; - unsigned offset; - -} mat_e_arg_t; - -// -------------------------- Matrix element Addition ------------------ -void vx_e_mat_add(void *, void *, void *, unsigned, unsigned); - -// -------------------------- Matrix element Addition ------------------ -void vx_e_mat_mult(void *, void *, void *, unsigned, unsigned); \ No newline at end of file diff --git a/kernel/vx_include/vx_mem.c b/kernel/vx_include/vx_mem.c deleted file mode 100644 index b6a1867e..00000000 --- a/kernel/vx_include/vx_mem.c +++ /dev/null @@ -1,40 +0,0 @@ - -#include "vx_mem.h" - - -void * vx_malloc_shared(unsigned size) -{ - void * to_return; - - bool done = false; - unsigned curr_size; - - unsigned curr_index = 0; - while ((curr_index < free_index) && !done) - { - curr_size = (unsigned) *(free_array[curr_index].ptr - 4); - if (curr_size <= size) - { - to_return = free_array[curr_index].ptr; - done = true; - } - - curr_index++; - } - - unsigned * u_heap_ptr = (unsigned *) heap_ptr; - - if (!done) - { - u_heap_ptr[0] = size; - to_return = heap_ptr + 4; - heap_ptr = to_return + size; - } - - return to_return; -} - -void vx_free(void * to_free) -{ - -} \ No newline at end of file diff --git a/kernel/vx_include/vx_mem.h b/kernel/vx_include/vx_mem.h deleted file mode 100644 index 2f03dedc..00000000 --- a/kernel/vx_include/vx_mem.h +++ /dev/null @@ -1,15 +0,0 @@ - -void * vx_malloc_shared(unsigned); -void vx_free(void *); - -typedef struct -{ - void * ptr; - -} free_t; - -void * heap_ptr = (void *) 0xFF000000; - -free_t free_array[100]; -unsigned free_index = 0; - diff --git a/kernel/vx_main.c b/kernel/vx_main.c deleted file mode 100644 index 031a2c3c..00000000 --- a/kernel/vx_main.c +++ /dev/null @@ -1,83 +0,0 @@ - -#include "./vx_include/vx_front.h" - -unsigned x[1024] = {0}; -unsigned y[1024] = {0}; -unsigned z[1024] = {0}; - -unsigned temp = 6; - -#define MAT_DIM 16 - -#define NUM_COLS 16 -#define NUM_ROWS 16 - -double sc_time_stamp() -{ - return 0; -} - -void initialize_mats() -{ - for (int i = 0; i < (MAT_DIM * MAT_DIM); i++) - { - x[i] = 3; - y[i] = 2; - } -} - -void print_matrix(unsigned * z) -{ - vx_print_str("-------------------------------\n"); - for (int j = 0; j < (MAT_DIM * MAT_DIM); j++) - { - if (j!=0) if ((j % MAT_DIM) == 0) vx_print_str("\n"); - vx_print_hex(z[j]); - vx_print_str(" "); - } - vx_print_str("\n-------------------------------\n"); -} - -int main() -{ - - // unsigned f = temp; - - // vx_print_hex(11); - // vx_printc(0, 'k'); - - initialize_mats(); - - // matrix multiplication - // vx_sq_mat_mult(x, y, z, MAT_DIM); - // vx_print_str("\n\nMatrix multiplication\n"); - // print_matrix(z); - - print_matrix(x); - - // // matrix addition - // vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS); - // vx_print_str("\n\nMatrix Addition\n"); - // print_matrix(z); - - - // // matrix sub - // vx_mat_sub(x, y, z, NUM_ROWS, NUM_COLS); - // vx_print_str("\n\nMatrix Subtraction\n"); - // print_matrix(z); - - // unsigned scal = 3; - - // // matrix element add - vx_e_mat_add(z, &scal, z, NUM_ROWS, NUM_COLS); - // vx_print_str("\n\nMatrix Element Addition\n"); - // print_matrix(z); - - // // matrix element add - // vx_e_mat_mult(z, &scal, z, NUM_ROWS, NUM_COLS); - // vx_print_str("\n\nMatrix Element Addition\n"); - // print_matrix(z); - - - return 0; -} \ No newline at end of file diff --git a/kernel/vx_os/.DS_Store b/kernel/vx_os/.DS_Store deleted file mode 100644 index b0526ab1..00000000 Binary files a/kernel/vx_os/.DS_Store and /dev/null differ diff --git a/kernel/vx_os/vx_back/vx_back.c b/kernel/vx_os/vx_back/vx_back.c deleted file mode 100644 index e7cef681..00000000 --- a/kernel/vx_os/vx_back/vx_back.c +++ /dev/null @@ -1,153 +0,0 @@ - -#include "vx_back.h" -#include "../vx_io/vx_io.h" - - -void vx_before_main() -{ - // unsigned num_available_warps = vx_available_warps(); - for (int i = 0; i < 32; i++) - { - queue_initialize(q + i); - } -} - -void vx_reschedule_warps() -{ - - register unsigned curr_warp asm("s10"); - // vx_printf("Reschedule: ", curr_warp); - asm __volatile__("nop"); - - if (queue_isEmpty(q+curr_warp)) - { - // vx_printf("Done: ", curr_warp); - done[curr_warp] = 1; - if (curr_warp == 0) - { - vx_load_context(); - return; - } - ECALL; - } - - Job j; - queue_dequeue(q+curr_warp,&j); - - // vx_printf("Reschedule -> ", j.wid); - asm __volatile__("mv sp,%0"::"r" (j.base_sp):); - vx_createThreads(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp); - - ECALL; // should never reach this - -} - -void vx_schedule_warps() -{ - - unsigned num_available_warps = vx_available_warps(); - - asm __volatile__("mv s3, sp"); - - for (int curr_warp = 1; curr_warp < num_available_warps; ++curr_warp) - { - if (!queue_isEmpty(q+curr_warp)) - { - Job j; - queue_dequeue(q+curr_warp,&j); - asm __volatile__("mv sp,%0"::"r" (j.base_sp):); - vx_wspawn(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp); - } - } - - asm __volatile__("mv sp, s3"); - - - vx_save_context(); - - // vx_print_str("saved context\n"); - - register unsigned val asm("tp"); - if (val) - { - if (!queue_isEmpty(q)) - { - // vx_print_str("found something for w0\n"); - Job j; - queue_dequeue(q,&j); - // vx_printf("num_threads: ", j.n_threads); - asm __volatile__("mv sp,%0"::"r" (j.base_sp):); - vx_createThreads(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp); - } - } - -} - - -void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args) -{ - vx_before_main(); - - unsigned num_available_warps = vx_available_warps(); - // vx_printf("Num available warps: ", num_available_warps); - - asm __volatile__("addi s2, sp, 0"); - int warp = 0; - for (unsigned i = 0; i < num_Warps; i++) - { - asm __volatile__("lui s3, 0xFFFF0"); - asm __volatile__("add sp, sp, s3"); - register unsigned stack_ptr asm("sp"); - - Job j; - j.wid = i; - j.n_threads = num_threads; - j.base_sp = stack_ptr; - j.func_ptr = (unsigned) func; - j.args = args; - j.assigned_warp = warp; - - queue_enqueue(q + warp,&j); - ++warp; - if (warp >= num_available_warps) warp = 0; - } - asm __volatile__("addi sp, s2, 0"); - - - vx_schedule_warps(); - -} - -void vx_wait_for_warps(unsigned num_wait) -{ - vx_printf("wait for: ", num_wait); - unsigned num_available_warps = vx_available_warps(); - unsigned num = 0; - while (num < num_wait) - { - // change num=1 if running on RTL - // Change num=0 if running on emulator - num = 1; - for (int i = 0; i < 32; i++) - { - if (done[i] == 1) - { - num += 1; - } - } - vx_printf("Found: ", num); - } - - // vx_printf("num found: ", num); - for (int i = 0; i < num_available_warps; i++) done[i] = 0; -} - - -void * vx_get_arg_struct(void) -{ - register void *ret asm("s7"); - return ret; -} - - - diff --git a/kernel/vx_os/vx_back/vx_back.h b/kernel/vx_os/vx_back/vx_back.h deleted file mode 100644 index 342bbf38..00000000 --- a/kernel/vx_os/vx_back/vx_back.h +++ /dev/null @@ -1,55 +0,0 @@ - - -#pragma once - -#include -#include "../vx_util/queue.h" - -#define WSPAWN asm __volatile__(".word 0x3006b"::); -#define CLONE asm __volatile__(".word 0x3506b":::); -#define JALRS asm __volatile__(".word 0x1bfe0eb":::"s10"); -#define ECALL asm __volatile__(".word 0x00000073"); -#define JMPRT asm __volatile__(".word 0x5406b"); -#define SPLIT asm __volatile__(".word 0xf206b"); -#define P_JUMP asm __volatile__(".word 0x1ff707b"); -#define JOIN asm __volatile__(".word 0x306b"); - - -#define __if(val) bool temp = !val; \ - register unsigned p asm("t5") = temp; \ - register void * e asm("t6") = &&ELSE; \ - SPLIT; \ - P_JUMP; \ - - -#define __else register void * w asm("t3") = &&AFTER; \ - asm __volatile__("jr t3"); \ - ELSE: asm __volatile__("nop"); - -#define __end_if AFTER:\ - JOIN; - -static int done[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -static int main_sp[1]; - -unsigned context[64]; -void vx_save_context(void); -void vx_load_context(void); - - -#define FUNC void (func)(unsigned, unsigned) - -unsigned vx_available_warps(void); -unsigned vx_available_threads(void); - - -void vx_createThreads(unsigned, unsigned, unsigned, void *, unsigned); -void vx_wspawn(unsigned, unsigned, unsigned, void *, unsigned); -void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void *); -void vx_schedule_warps(void); -void vx_reschedule_warps(void); -void vx_wait_for_warps(unsigned); -void * vx_get_arg_struct(void); - - diff --git a/kernel/vx_os/vx_back/vx_back.s b/kernel/vx_os/vx_back/vx_back.s deleted file mode 100644 index 1afae6d3..00000000 --- a/kernel/vx_os/vx_back/vx_back.s +++ /dev/null @@ -1,232 +0,0 @@ - - - -.section .text - -.type _start, @function -.global _start -_start: - # li a1, 4 - # add a2, a1, a1 - # li a0, 0 - # .word 0x0005006b # tmc a0 - ########################### - # la a0, 0x10000000 - # li a1, 7 - # sw a1, 0(a0) - - # la a0, 0x10000048 - # li a1, 3 - # sw a1, 0(a0) - - # la a0, 0x80000000 - # li a1, 9 - # sw a1, 0(a0) - - # la a0, 0x80000008 - # li a1, 8 - # sw a1, 0(a0) - - # la a0, 0x10000000 - # lw a2, 0(a0) - # la a0, 0x10000048 - # lw a3, 0(a0) - # li a0, 0 - # .word 0x0005006b # tmc a0 -######################################## -# li a0, 4 -# la a1, SPAWN -# .word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN) -# j SPAWN -# nop -# nop -# nop -# nop -# nop -# nop -# nop -# nop -# SPAWN: -# li a2, 7 -# li a0, 0 -# li a1, 4 -# .word 0x00b5406b # barrier a0(barrier id), a1(numWarps) -# .word 0x0005006b # tmc a0 - ########################## -# li a0, 4 -# .word 0x0005006b # tmc a0 -# -# # csrr a2, 0x21 # read warp IDs -# slti a0, a1, 2 -# .word 0x0005206b # split a0 -# beq a0, zero, ELSE -# li a2, 5 -# j DONE -# ELSE: -# li a2, 7 -# DONE: -# .word 0x0000306b #join -# ecall - ############################ - lui sp, 0x7ffff - # jal vx_before_main - jal main - li a0, 0 - .word 0x0005006b # tmc a0 - -# Hi: -# li a2, 7 -# ret - -.type vx_createThreads, @function -.global vx_createThreads -vx_createThreads: - mv s7 ,a3 # Moving args to s7 - mv s10,a4 # Moving assigned_warp to s10 - mv t5 ,sp # Saving the current stack pointer to t5 - mv t2 , a0 # t2 = num_threads -loop_init: - li a0,1 # i = 0 -loop_cond: - bge a0, t2, loop_done # i < num_threads -loop_body: - addi sp,sp,-2048 # Allocate 2k stack for new thread - mv t1, a0 # #lane = i - .word 0x3506b # clone register state -loop_inc: - addi a0, a0, 1 - j loop_cond -loop_done: - nop - nop - nop - nop - nop - nop - mv sp,t5 # Restoring the stack - li a0,0 # setting tid = 0 for main thread - mv t6,a2 # setting func_addr - mv s11,t2 # setting num_threads to spawn - nop - nop - nop - nop - nop - nop - nop - nop - .word 0x1bfe0eb - nop - nop - nop - nop - nop - nop - la a0, vx_reschedule_warps - .word 0x5406b - - -.type vx_wspawn, @function -.global vx_wspawn -vx_wspawn: - la t1, vx_createThreads - .word 0x3006b # WSPAWN instruction - ret - -.global context - -.type vx_save_context, @function -.global vx_save_context -vx_save_context: -la tp, context -sw x0 , 0 (tp) -sw x1 , 4 (tp) -sw x2 , 8 (tp) -sw x3 , 12(tp) -sw x4 , 16(tp) -sw x5 , 20(tp) -sw x6 , 24(tp) -sw x7 , 28(tp) -sw x8 , 32(tp) -sw x9 , 36(tp) -sw x10, 40(tp) -sw x11, 44(tp) -sw x12, 48(tp) -sw x13, 52(tp) -sw x14, 56(tp) -sw x15, 60(tp) -sw x16, 64(tp) -sw x17, 68(tp) -sw x18, 72(tp) -sw x19, 76(tp) -sw x20, 80(tp) -sw x21, 84(tp) -sw x22, 88(tp) -sw x23, 92(tp) -sw x24, 96(tp) -sw x25, 100(tp) -sw x26, 104(tp) -sw x27, 108(tp) -sw x28, 112(tp) -sw x29, 116(tp) -sw x30, 120(tp) -sw x31, 124(tp) -li tp, 1 -ret - - -.type vx_load_context, @function -.global vx_load_context -vx_load_context: -la tp, context -lw x0 , 0 (tp) -lw x1 , 4 (tp) -lw x2 , 8 (tp) -lw x3 , 12(tp) -lw x4 , 16(tp) -lw x5 , 20(tp) -lw x6 , 24(tp) -lw x7 , 28(tp) -lw x8 , 32(tp) -lw x9 , 36(tp) -lw x10, 40(tp) -lw x11, 44(tp) -lw x12, 48(tp) -lw x13, 52(tp) -lw x14, 56(tp) -lw x15, 60(tp) -lw x16, 64(tp) -lw x17, 68(tp) -lw x18, 72(tp) -lw x19, 76(tp) -lw x20, 80(tp) -lw x21, 84(tp) -lw x22, 88(tp) -lw x23, 92(tp) -lw x24, 96(tp) -lw x25, 100(tp) -lw x26, 104(tp) -lw x27, 108(tp) -lw x28, 112(tp) -lw x29, 116(tp) -lw x30, 120(tp) -lw x31, 124(tp) -li tp, 0 -ret - -.type vx_available_warps, @function -.global vx_available_warps -vx_available_warps: -csrr a0, 0x20 -ret - -.type vx_available_threads, @function -.global vx_available_threads -vx_available_threads: -csrr a0, 0x21 -ret - - - - - diff --git a/kernel/vx_os/vx_io/.DS_Store b/kernel/vx_os/vx_io/.DS_Store deleted file mode 100644 index b23802d5..00000000 Binary files a/kernel/vx_os/vx_io/.DS_Store and /dev/null differ diff --git a/kernel/vx_os/vx_io/vx_io.c b/kernel/vx_os/vx_io/vx_io.c deleted file mode 100644 index 5cb102fa..00000000 --- a/kernel/vx_os/vx_io/vx_io.c +++ /dev/null @@ -1,15 +0,0 @@ - -#include "vx_io.h" - -void vx_print_hex(unsigned f) -{ - vx_print_str(hextoa[f]); -} - - -void vx_printf(char * c, unsigned f) -{ - vx_print_str(c); - vx_print_hex(f); - vx_print_str("\n"); -} \ No newline at end of file diff --git a/kernel/vx_os/vx_io/vx_io.h b/kernel/vx_os/vx_io/vx_io.h deleted file mode 100644 index f3ed14f6..00000000 --- a/kernel/vx_os/vx_io/vx_io.h +++ /dev/null @@ -1,9 +0,0 @@ - -#pragma once - -#include - -static char * hextoa[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; -void vx_print_hex(unsigned); -void vx_print_str(char *); -void vx_printf(char *, unsigned); \ No newline at end of file diff --git a/kernel/vx_os/vx_io/vx_io.s b/kernel/vx_os/vx_io/vx_io.s deleted file mode 100644 index 676b92bd..00000000 --- a/kernel/vx_os/vx_io/vx_io.s +++ /dev/null @@ -1,30 +0,0 @@ - - -.type vx_print_str, @function -.global vx_print_str -vx_print_str: - addi sp, sp, -12 - sw ra, 0(sp) - sw a1, 4(sp) -bl: - lbu a1,0(a0) - beqz a1,be - jal vx_printc - addi a0, a0, 1 - j bl -be: - lw ra, 0(sp) - lw a1, 4(sp) - addi sp, sp, 12 - ret - - -.type vx_printc, @function -.global vx_printc -vx_printc: - la a7, 0x00010000 - sw a1, 0(a7) - ret - - - diff --git a/kernel/vx_os/vx_util/.DS_Store b/kernel/vx_os/vx_util/.DS_Store deleted file mode 100644 index 0ee024ad..00000000 Binary files a/kernel/vx_os/vx_util/.DS_Store and /dev/null differ diff --git a/kernel/vx_os/vx_util/queue.h b/kernel/vx_os/vx_util/queue.h deleted file mode 100644 index 48262897..00000000 --- a/kernel/vx_os/vx_util/queue.h +++ /dev/null @@ -1,49 +0,0 @@ - -#ifndef __QUEUE__ - -#define __QUEUE__ - - - -#define SIZE 100 -#define WARPS 8 - - -typedef struct Job_t -{ - unsigned wid; - unsigned n_threads; - unsigned base_sp; - unsigned func_ptr; - void * args; - unsigned assigned_warp; - -} Job; - -typedef struct Queue_t -{ - unsigned start_i; - unsigned end_i; - unsigned num_j; - unsigned total_warps; - unsigned active_warps; - struct Job_t jobs[SIZE]; - -} Queue; - -Queue q[64]; - -void queue_initialize(Queue *); - -void queue_enqueue(Queue *, Job *); - -void queue_dequeue(Queue *, Job *); - -int queue_isFull(Queue *); -int queue_isEmpty(Queue *); -int queue_availableWarps(Queue *); - - -void func(); - -#endif \ No newline at end of file diff --git a/kernel/vx_os/vx_util/queue.s b/kernel/vx_os/vx_util/queue.s deleted file mode 100644 index d9b25891..00000000 --- a/kernel/vx_os/vx_util/queue.s +++ /dev/null @@ -1,129 +0,0 @@ - -.equ A_WARPS, 7 -.equ SIZE, 50 - -.section .text - -.type queue_initialize, @function -.global queue_initialize -queue_initialize: - mv t0, a0 # loading base address of q - li t1, 0 # to initialize variables - li t2, A_WARPS # Num of available warps - sw t1, 0 (t0) # start_i - sw t1, 4 (t0) # end_i - sw t1, 8 (t0) # num_j - sw t2, 12(t0) # total_warps - sw t1, 16(t0) # active_warps - ret - - - - -.type queue_enqueue, @function -.global queue_enqueue -queue_enqueue: - mv t0, a0 # loding base address of q - lw t1, 8 (t0) # t1 = num_j - addi t1, t1, 1 # ++t1 - sw t1, 8 (t0) # num_j = t1 - addi t1, t0, 20 # t1 = jobs_addr - lw t4, 4 (t0) # t4 = end_i - slli t2, t4, 5 # index * 32 [log(sizeof(job))] - add t1, t1, t2 # jobs + index - lw t3, 0 (a1) # wid - sw t3, 0 (t1) # - lw t3, 4 (a1) # n_threads - sw t3, 4 (t1) # - lw t3, 8 (a1) # base_sp - sw t3, 8 (t1) # - lw t3, 12(a1) # func_ptr - sw t3, 12(t1) # - lw t3, 16(a1) # args - sw t3, 16(t1) # - lw t3, 20(a1) # assigned_warp - sw t3, 20(t1) # - addi t4, t4, 1 # end_i++ - li t5, SIZE # size - bne t4, t5, ec # if ((q.end_i + 1) == SIZE) - mv t4, zero -ec: - sw t4, 4 (t0) # end_i - ret - - -.type queue_dequeue, @function -.global queue_dequeue - -queue_dequeue: - mv t0, a0 # loading base address of q - lw t1, 8 (t0) # t1 = num_j - nop - nop - nop - nop - nop - nop - addi t1, t1, -1 # --t1 - sw t1, 8 (t0) # num_j = t1 - addi t1, t0, 20 # t1 = jobs_addr - lw t4, 0 (t0) # t4 = start_i - li t6, SIZE # size - mv t5, t4 # t5 = start_i - addi t5, t5, 1 # t5++ - bne t5, t6, dc # if ((q.start_i + 1) == SIZE) - mv t5, zero -dc: - sw t5, 0(t0) # storing start_i - slli t2, t4, 5 # index * 32 [log(sizeof(job))] - add t1, t1, t2 # jobs + index - lw t3, 0 (t1) # wid - sw t3, 0 (a1) # - lw t3, 4 (t1) # n_threads - sw t3, 4 (a1) # - lw t3, 8 (t1) # base_sp - sw t3, 8 (a1) # - lw t3, 12(t1) # func_ptr - sw t3, 12(a1) # - lw t3, 16(t1) # args - sw t3, 16(a1) # - lw t3, 20(t1) # assigned_warp - sw t3, 20(a1) # - ret - - -.type queue_isFull, @function -.global queue_isFull -queue_isFull: - mv t0, a0 # loading base address of q - lw t1, 8 (t0) # t1 = num_j - mv a0, zero # ret_val = 0 - li t3, SIZE # t3 = SIZE - bne t3, t1, qf # if (num_j == 1) - addi a0, a0, 1 # ret_val = 1; -qf: - ret - - - -.type queue_isEmpty, @function -.global queue_isEmpty -queue_isEmpty: - mv t0, a0 # loading base address of q - lw t1, 8 (t0) # t1 = num_j - mv a0, zero # ret_val = 0 - mv t3, zero # t3 = 0 - bne t3, t1, qe # if (num_j == 0) - addi a0, a0, 1 # ret_val = 1; -qe: - ret - - -.type queue_availableWarps, @function -.global queue_availableWarps -queue_availableWarps: - mv t0, a0 # loading base address of q - lw t1, 12(t0) # t1 = total_warps - lw t2, 16(t0) # t2 = active_warps - sltu a0, t2, t1 - ret diff --git a/runtime/Makefile b/runtime/Makefile deleted file mode 100644 index 319883ec..00000000 --- a/runtime/Makefile +++ /dev/null @@ -1,26 +0,0 @@ - -COMP = /opt/riscv/bin/riscv32-unknown-elf-gcc -CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib - -DMP = /opt/riscv/bin/riscv32-unknown-elf-objdump -CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy - - -VX_STR = ./startup/vx_start.s -VX_INT = ./intrinsics/vx_intrinsics.s -VX_IO = ./io/vx_io.s ./io/vx_io.c -VX_API = ./vx_api/vx_api.c -VX_TEST = ./tests/tests.c - -VX_MAIN = ./vx_main.c - -all: HEX DUMP ELF - -DUMP: ELF - $(DMP) -D vortex_runtime.elf > vortex_runtime.dump - -HEX: ELF - $(CPY) -O ihex vortex_runtime.elf vortex_runtime.hex - -ELF: - $(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN) -o vortex_runtime.elf diff --git a/runtime/linker.ld b/runtime/linker.ld deleted file mode 100644 index 8fbf7896..00000000 --- a/runtime/linker.ld +++ /dev/null @@ -1,48 +0,0 @@ -/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf32lriscv.x ---- */ -/* Default linker script, for normal executables */ -/* Copyright (C) 2014-2017 Free Software Foundation, Inc. - Copying and distribution of this script, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. */ -OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv", - "elf32-littleriscv") -OUTPUT_ARCH(riscv) -ENTRY(_start) -SECTIONS -{ - . = 0x80000000; - .text : - { - *(.text) - *(.text.unlikely .text.*_unlikely .text.unlikely.*) - *(.text.exit .text.exit.*) - *(.text.startup .text.startup.*) - *(.text.hot .text.hot.*) - *(.stub .text.* .gnu.linkonce.t.*) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - } - .init : - { - KEEP (*(SORT_NONE(.init))) - } - .plt : { *(.plt) } - .iplt : { *(.iplt) } - .fini : - { - KEEP (*(SORT_NONE(.fini))) - } - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - PROVIDE (_edata = .); - PROVIDE (_end = .); - PROVIDE (__global_pointer$ = .); - - . = 0x81000000; - .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } - .rodata1 : { *(.rodata1) } - . = 0x82000000; - .comment : { *(.comment) } - -} diff --git a/runtime/vortex_runtime.dump b/runtime/vortex_runtime.dump deleted file mode 100644 index 889811d6..00000000 --- a/runtime/vortex_runtime.dump +++ /dev/null @@ -1,856 +0,0 @@ - -vortex_runtime.elf: file format elf32-littleriscv - - -Disassembly of section .text: - -80000000 <_start>: -80000000: 00000597 auipc a1,0x0 -80000004: 02058593 addi a1,a1,32 # 80000020 -80000008: 00400513 li a0,4 -8000000c: 00b5106b 0xb5106b -80000010: 010000ef jal ra,80000020 -80000014: 748000ef jal ra,8000075c
-80000018: 00000513 li a0,0 -8000001c: 0005006b 0x5006b - -80000020 : -80000020: 00400513 li a0,4 -80000024: 0005006b 0x5006b -80000028: 021026f3 csrr a3,0x21 -8000002c: 01a69693 slli a3,a3,0x1a -80000030: 02002673 csrr a2,0x20 -80000034: 00a61593 slli a1,a2,0xa -80000038: 00261613 slli a2,a2,0x2 -8000003c: 6ffff137 lui sp,0x6ffff -80000040: 40b10133 sub sp,sp,a1 -80000044: 40d10133 sub sp,sp,a3 -80000048: 00c10133 add sp,sp,a2 -8000004c: 021026f3 csrr a3,0x21 -80000050: 00068663 beqz a3,8000005c -80000054: 00000513 li a0,0 -80000058: 0005006b 0x5006b - -8000005c : -8000005c: 00008067 ret - -80000060 : -80000060: 00b5106b 0xb5106b -80000064: 00008067 ret - -80000068 : -80000068: 0005006b 0x5006b -8000006c: 00008067 ret - -80000070 : -80000070: 00b5406b 0xb5406b -80000074: 00008067 ret - -80000078 : -80000078: 0005206b 0x5206b -8000007c: 00008067 ret - -80000080 : -80000080: 0000306b 0x306b -80000084: 00008067 ret - -80000088 : -80000088: 02102573 csrr a0,0x21 -8000008c: 00008067 ret - -80000090 : -80000090: 02002573 csrr a0,0x20 -80000094: 00008067 ret - -80000098 : -80000098: 00400513 li a0,4 -8000009c: 0005006b 0x5006b -800000a0: 021026f3 csrr a3,0x21 -800000a4: 00f69693 slli a3,a3,0xf -800000a8: 02002673 csrr a2,0x20 -800000ac: 00a61593 slli a1,a2,0xa -800000b0: 00261613 slli a2,a2,0x2 -800000b4: 6ffff137 lui sp,0x6ffff -800000b8: 40b10133 sub sp,sp,a1 -800000bc: 40d10133 sub sp,sp,a3 -800000c0: 00c10133 add sp,sp,a2 -800000c4: 021026f3 csrr a3,0x21 -800000c8: 00068663 beqz a3,800000d4 -800000cc: 00000513 li a0,0 -800000d0: 0005006b 0x5006b - -800000d4 : -800000d4: 00008067 ret - -800000d8 : -800000d8: ff410113 addi sp,sp,-12 # 6fffeff4 <_start-0x1000100c> -800000dc: 00112023 sw ra,0(sp) -800000e0: 00b12223 sw a1,4(sp) - -800000e4 : -800000e4: 00054583 lbu a1,0(a0) -800000e8: 00058863 beqz a1,800000f8 -800000ec: 01c000ef jal ra,80000108 -800000f0: 00150513 addi a0,a0,1 -800000f4: ff1ff06f j 800000e4 - -800000f8 : -800000f8: 00012083 lw ra,0(sp) -800000fc: 00412583 lw a1,4(sp) -80000100: 00c10113 addi sp,sp,12 -80000104: 00008067 ret - -80000108 : -80000108: 000102b7 lui t0,0x10 -8000010c: 00b2a023 sw a1,0(t0) # 10000 <_start-0x7fff0000> -80000110: 00008067 ret - -80000114 : -80000114: fe010113 addi sp,sp,-32 -80000118: 00112e23 sw ra,28(sp) -8000011c: 00812c23 sw s0,24(sp) -80000120: 02010413 addi s0,sp,32 -80000124: fea42623 sw a0,-20(s0) -80000128: 810007b7 lui a5,0x81000 -8000012c: fec42703 lw a4,-20(s0) -80000130: 00271713 slli a4,a4,0x2 -80000134: 0f478793 addi a5,a5,244 # 810000f4 -80000138: 00f707b3 add a5,a4,a5 -8000013c: 0007a783 lw a5,0(a5) -80000140: 00078513 mv a0,a5 -80000144: f95ff0ef jal ra,800000d8 -80000148: 00000013 nop -8000014c: 01c12083 lw ra,28(sp) -80000150: 01812403 lw s0,24(sp) -80000154: 02010113 addi sp,sp,32 -80000158: 00008067 ret - -8000015c : -8000015c: fe010113 addi sp,sp,-32 -80000160: 00112e23 sw ra,28(sp) -80000164: 00812c23 sw s0,24(sp) -80000168: 02010413 addi s0,sp,32 -8000016c: fea42623 sw a0,-20(s0) -80000170: feb42423 sw a1,-24(s0) -80000174: fec42503 lw a0,-20(s0) -80000178: f61ff0ef jal ra,800000d8 -8000017c: fe842503 lw a0,-24(s0) -80000180: f95ff0ef jal ra,80000114 -80000184: 810007b7 lui a5,0x81000 -80000188: 04078513 addi a0,a5,64 # 81000040 -8000018c: f4dff0ef jal ra,800000d8 -80000190: 00000013 nop -80000194: 01c12083 lw ra,28(sp) -80000198: 01812403 lw s0,24(sp) -8000019c: 02010113 addi sp,sp,32 -800001a0: 00008067 ret - -800001a4 : -800001a4: fe010113 addi sp,sp,-32 -800001a8: 00112e23 sw ra,28(sp) -800001ac: 00812c23 sw s0,24(sp) -800001b0: 02010413 addi s0,sp,32 -800001b4: 810007b7 lui a5,0x81000 -800001b8: 23c7a783 lw a5,572(a5) # 8100023c -800001bc: 00078513 mv a0,a5 -800001c0: ea9ff0ef jal ra,80000068 -800001c4: 810007b7 lui a5,0x81000 -800001c8: 2387a703 lw a4,568(a5) # 81000238 -800001cc: 810007b7 lui a5,0x81000 -800001d0: 2347a783 lw a5,564(a5) # 81000234 -800001d4: 00078513 mv a0,a5 -800001d8: 000700e7 jalr a4 -800001dc: eadff0ef jal ra,80000088 -800001e0: fea42623 sw a0,-20(s0) -800001e4: fec42783 lw a5,-20(s0) -800001e8: 00078863 beqz a5,800001f8 -800001ec: 00000513 li a0,0 -800001f0: e79ff0ef jal ra,80000068 -800001f4: 00c0006f j 80000200 -800001f8: 00100513 li a0,1 -800001fc: e6dff0ef jal ra,80000068 -80000200: 00000013 nop -80000204: 01c12083 lw ra,28(sp) -80000208: 01812403 lw s0,24(sp) -8000020c: 02010113 addi sp,sp,32 -80000210: 00008067 ret - -80000214 : -80000214: fe010113 addi sp,sp,-32 -80000218: 00112e23 sw ra,28(sp) -8000021c: 00812c23 sw s0,24(sp) -80000220: 02010413 addi s0,sp,32 -80000224: fea42623 sw a0,-20(s0) -80000228: feb42423 sw a1,-24(s0) -8000022c: fec42223 sw a2,-28(s0) -80000230: fed42023 sw a3,-32(s0) -80000234: 810007b7 lui a5,0x81000 -80000238: fe442703 lw a4,-28(s0) -8000023c: 22e7ac23 sw a4,568(a5) # 81000238 -80000240: 810007b7 lui a5,0x81000 -80000244: fe042703 lw a4,-32(s0) -80000248: 22e7aa23 sw a4,564(a5) # 81000234 -8000024c: 810007b7 lui a5,0x81000 -80000250: fe842703 lw a4,-24(s0) -80000254: 22e7ae23 sw a4,572(a5) # 8100023c -80000258: 800007b7 lui a5,0x80000 -8000025c: 1a478793 addi a5,a5,420 # 800001a4 -80000260: 00078593 mv a1,a5 -80000264: fec42503 lw a0,-20(s0) -80000268: df9ff0ef jal ra,80000060 -8000026c: f39ff0ef jal ra,800001a4 -80000270: 00000013 nop -80000274: 01c12083 lw ra,28(sp) -80000278: 01812403 lw s0,24(sp) -8000027c: 02010113 addi sp,sp,32 -80000280: 00008067 ret - -80000284 : -80000284: fe010113 addi sp,sp,-32 -80000288: 00112e23 sw ra,28(sp) -8000028c: 00812c23 sw s0,24(sp) -80000290: 02010413 addi s0,sp,32 -80000294: 810007b7 lui a5,0x81000 -80000298: 08478513 addi a0,a5,132 # 81000084 -8000029c: e3dff0ef jal ra,800000d8 -800002a0: 00400513 li a0,4 -800002a4: dc5ff0ef jal ra,80000068 -800002a8: de9ff0ef jal ra,80000090 -800002ac: fea42623 sw a0,-20(s0) -800002b0: fec42703 lw a4,-20(s0) -800002b4: 810007b7 lui a5,0x81000 -800002b8: fec42683 lw a3,-20(s0) -800002bc: 00269693 slli a3,a3,0x2 -800002c0: 24078793 addi a5,a5,576 # 81000240 -800002c4: 00f687b3 add a5,a3,a5 -800002c8: 00e7a023 sw a4,0(a5) -800002cc: 00100513 li a0,1 -800002d0: d99ff0ef jal ra,80000068 -800002d4: 810007b7 lui a5,0x81000 -800002d8: 2407a783 lw a5,576(a5) # 81000240 -800002dc: 00078513 mv a0,a5 -800002e0: e35ff0ef jal ra,80000114 -800002e4: 810007b7 lui a5,0x81000 -800002e8: 09078513 addi a0,a5,144 # 81000090 -800002ec: dedff0ef jal ra,800000d8 -800002f0: 810007b7 lui a5,0x81000 -800002f4: 24078793 addi a5,a5,576 # 81000240 -800002f8: 0047a783 lw a5,4(a5) -800002fc: 00078513 mv a0,a5 -80000300: e15ff0ef jal ra,80000114 -80000304: 810007b7 lui a5,0x81000 -80000308: 09078513 addi a0,a5,144 # 81000090 -8000030c: dcdff0ef jal ra,800000d8 -80000310: 810007b7 lui a5,0x81000 -80000314: 24078793 addi a5,a5,576 # 81000240 -80000318: 0087a783 lw a5,8(a5) -8000031c: 00078513 mv a0,a5 -80000320: df5ff0ef jal ra,80000114 -80000324: 810007b7 lui a5,0x81000 -80000328: 09078513 addi a0,a5,144 # 81000090 -8000032c: dadff0ef jal ra,800000d8 -80000330: 810007b7 lui a5,0x81000 -80000334: 24078793 addi a5,a5,576 # 81000240 -80000338: 00c7a783 lw a5,12(a5) -8000033c: 00078513 mv a0,a5 -80000340: dd5ff0ef jal ra,80000114 -80000344: 810007b7 lui a5,0x81000 -80000348: 09078513 addi a0,a5,144 # 81000090 -8000034c: d8dff0ef jal ra,800000d8 -80000350: 00000013 nop -80000354: 01c12083 lw ra,28(sp) -80000358: 01812403 lw s0,24(sp) -8000035c: 02010113 addi sp,sp,32 -80000360: 00008067 ret - -80000364 : -80000364: fe010113 addi sp,sp,-32 -80000368: 00112e23 sw ra,28(sp) -8000036c: 00812c23 sw s0,24(sp) -80000370: 02010413 addi s0,sp,32 -80000374: d1dff0ef jal ra,80000090 -80000378: fea42623 sw a0,-20(s0) -8000037c: fec42783 lw a5,-20(s0) -80000380: 0027b793 sltiu a5,a5,2 -80000384: fef405a3 sb a5,-21(s0) -80000388: feb44783 lbu a5,-21(s0) -8000038c: 00078513 mv a0,a5 -80000390: ce9ff0ef jal ra,80000078 -80000394: feb44783 lbu a5,-21(s0) -80000398: 06078463 beqz a5,80000400 -8000039c: fec42783 lw a5,-20(s0) -800003a0: 0017b793 seqz a5,a5 -800003a4: fef40523 sb a5,-22(s0) -800003a8: fea44783 lbu a5,-22(s0) -800003ac: 00078513 mv a0,a5 -800003b0: cc9ff0ef jal ra,80000078 -800003b4: fea44783 lbu a5,-22(s0) -800003b8: 02078263 beqz a5,800003dc -800003bc: 810007b7 lui a5,0x81000 -800003c0: fec42703 lw a4,-20(s0) -800003c4: 00271713 slli a4,a4,0x2 -800003c8: 24078793 addi a5,a5,576 # 81000240 -800003cc: 00f707b3 add a5,a4,a5 -800003d0: 00a00713 li a4,10 -800003d4: 00e7a023 sw a4,0(a5) -800003d8: 0200006f j 800003f8 -800003dc: 810007b7 lui a5,0x81000 -800003e0: fec42703 lw a4,-20(s0) -800003e4: 00271713 slli a4,a4,0x2 -800003e8: 24078793 addi a5,a5,576 # 81000240 -800003ec: 00f707b3 add a5,a4,a5 -800003f0: 00b00713 li a4,11 -800003f4: 00e7a023 sw a4,0(a5) -800003f8: c89ff0ef jal ra,80000080 -800003fc: 0640006f j 80000460 -80000400: fec42783 lw a5,-20(s0) -80000404: 0037b793 sltiu a5,a5,3 -80000408: fef404a3 sb a5,-23(s0) -8000040c: fe944783 lbu a5,-23(s0) -80000410: 00078513 mv a0,a5 -80000414: c65ff0ef jal ra,80000078 -80000418: fe944783 lbu a5,-23(s0) -8000041c: 02078263 beqz a5,80000440 -80000420: 810007b7 lui a5,0x81000 -80000424: fec42703 lw a4,-20(s0) -80000428: 00271713 slli a4,a4,0x2 -8000042c: 24078793 addi a5,a5,576 # 81000240 -80000430: 00f707b3 add a5,a4,a5 -80000434: 00c00713 li a4,12 -80000438: 00e7a023 sw a4,0(a5) -8000043c: 0200006f j 8000045c -80000440: 810007b7 lui a5,0x81000 -80000444: fec42703 lw a4,-20(s0) -80000448: 00271713 slli a4,a4,0x2 -8000044c: 24078793 addi a5,a5,576 # 81000240 -80000450: 00f707b3 add a5,a4,a5 -80000454: 00d00713 li a4,13 -80000458: 00e7a023 sw a4,0(a5) -8000045c: c25ff0ef jal ra,80000080 -80000460: c21ff0ef jal ra,80000080 -80000464: 810007b7 lui a5,0x81000 -80000468: 2407a783 lw a5,576(a5) # 81000240 -8000046c: 00078513 mv a0,a5 -80000470: ca5ff0ef jal ra,80000114 -80000474: 810007b7 lui a5,0x81000 -80000478: 09078513 addi a0,a5,144 # 81000090 -8000047c: c5dff0ef jal ra,800000d8 -80000480: 810007b7 lui a5,0x81000 -80000484: 24078793 addi a5,a5,576 # 81000240 -80000488: 0047a783 lw a5,4(a5) -8000048c: 00078513 mv a0,a5 -80000490: c85ff0ef jal ra,80000114 -80000494: 810007b7 lui a5,0x81000 -80000498: 09078513 addi a0,a5,144 # 81000090 -8000049c: c3dff0ef jal ra,800000d8 -800004a0: 810007b7 lui a5,0x81000 -800004a4: 24078793 addi a5,a5,576 # 81000240 -800004a8: 0087a783 lw a5,8(a5) -800004ac: 00078513 mv a0,a5 -800004b0: c65ff0ef jal ra,80000114 -800004b4: 810007b7 lui a5,0x81000 -800004b8: 09078513 addi a0,a5,144 # 81000090 -800004bc: c1dff0ef jal ra,800000d8 -800004c0: 810007b7 lui a5,0x81000 -800004c4: 24078793 addi a5,a5,576 # 81000240 -800004c8: 00c7a783 lw a5,12(a5) -800004cc: 00078513 mv a0,a5 -800004d0: c45ff0ef jal ra,80000114 -800004d4: 810007b7 lui a5,0x81000 -800004d8: 09078513 addi a0,a5,144 # 81000090 -800004dc: bfdff0ef jal ra,800000d8 -800004e0: 00000013 nop -800004e4: 01c12083 lw ra,28(sp) -800004e8: 01812403 lw s0,24(sp) -800004ec: 02010113 addi sp,sp,32 -800004f0: 00008067 ret - -800004f4 : -800004f4: fe010113 addi sp,sp,-32 -800004f8: 00112e23 sw ra,28(sp) -800004fc: 00812c23 sw s0,24(sp) -80000500: 02010413 addi s0,sp,32 -80000504: b85ff0ef jal ra,80000088 -80000508: fea42623 sw a0,-20(s0) -8000050c: 810007b7 lui a5,0x81000 -80000510: fec42703 lw a4,-20(s0) -80000514: 00271713 slli a4,a4,0x2 -80000518: 25078793 addi a5,a5,592 # 81000250 -8000051c: 00f707b3 add a5,a4,a5 -80000520: fec42703 lw a4,-20(s0) -80000524: 00e7a023 sw a4,0(a5) -80000528: fec42783 lw a5,-20(s0) -8000052c: 00078663 beqz a5,80000538 -80000530: 00000513 li a0,0 -80000534: b35ff0ef jal ra,80000068 -80000538: 00000013 nop -8000053c: 01c12083 lw ra,28(sp) -80000540: 01812403 lw s0,24(sp) -80000544: 02010113 addi sp,sp,32 -80000548: 00008067 ret - -8000054c : -8000054c: fe010113 addi sp,sp,-32 -80000550: 00112e23 sw ra,28(sp) -80000554: 00812c23 sw s0,24(sp) -80000558: 02010413 addi s0,sp,32 -8000055c: 800007b7 lui a5,0x80000 -80000560: 4f478793 addi a5,a5,1268 # 800004f4 -80000564: fef42623 sw a5,-20(s0) -80000568: fec42583 lw a1,-20(s0) -8000056c: 00400513 li a0,4 -80000570: af1ff0ef jal ra,80000060 -80000574: f81ff0ef jal ra,800004f4 -80000578: 810007b7 lui a5,0x81000 -8000057c: 2507a783 lw a5,592(a5) # 81000250 -80000580: 00078513 mv a0,a5 -80000584: b91ff0ef jal ra,80000114 -80000588: 810007b7 lui a5,0x81000 -8000058c: 09078513 addi a0,a5,144 # 81000090 -80000590: b49ff0ef jal ra,800000d8 -80000594: 810007b7 lui a5,0x81000 -80000598: 25078793 addi a5,a5,592 # 81000250 -8000059c: 0047a783 lw a5,4(a5) -800005a0: 00078513 mv a0,a5 -800005a4: b71ff0ef jal ra,80000114 -800005a8: 810007b7 lui a5,0x81000 -800005ac: 09078513 addi a0,a5,144 # 81000090 -800005b0: b29ff0ef jal ra,800000d8 -800005b4: 810007b7 lui a5,0x81000 -800005b8: 25078793 addi a5,a5,592 # 81000250 -800005bc: 0087a783 lw a5,8(a5) -800005c0: 00078513 mv a0,a5 -800005c4: b51ff0ef jal ra,80000114 -800005c8: 810007b7 lui a5,0x81000 -800005cc: 09078513 addi a0,a5,144 # 81000090 -800005d0: b09ff0ef jal ra,800000d8 -800005d4: 810007b7 lui a5,0x81000 -800005d8: 25078793 addi a5,a5,592 # 81000250 -800005dc: 00c7a783 lw a5,12(a5) -800005e0: 00078513 mv a0,a5 -800005e4: b31ff0ef jal ra,80000114 -800005e8: 810007b7 lui a5,0x81000 -800005ec: 09078513 addi a0,a5,144 # 81000090 -800005f0: ae9ff0ef jal ra,800000d8 -800005f4: 00000013 nop -800005f8: 01c12083 lw ra,28(sp) -800005fc: 01812403 lw s0,24(sp) -80000600: 02010113 addi sp,sp,32 -80000604: 00008067 ret - -80000608 : -80000608: ff010113 addi sp,sp,-16 -8000060c: 00112623 sw ra,12(sp) -80000610: 00812423 sw s0,8(sp) -80000614: 01010413 addi s0,sp,16 -80000618: c6dff0ef jal ra,80000284 -8000061c: 810007b7 lui a5,0x81000 -80000620: 09478513 addi a0,a5,148 # 81000094 -80000624: ab5ff0ef jal ra,800000d8 -80000628: 00400513 li a0,4 -8000062c: a3dff0ef jal ra,80000068 -80000630: d35ff0ef jal ra,80000364 -80000634: 00100513 li a0,1 -80000638: a31ff0ef jal ra,80000068 -8000063c: 810007b7 lui a5,0x81000 -80000640: 0a878513 addi a0,a5,168 # 810000a8 -80000644: a95ff0ef jal ra,800000d8 -80000648: f05ff0ef jal ra,8000054c -8000064c: 00000013 nop -80000650: 00c12083 lw ra,12(sp) -80000654: 00812403 lw s0,8(sp) -80000658: 01010113 addi sp,sp,16 -8000065c: 00008067 ret - -80000660 : -80000660: fc010113 addi sp,sp,-64 -80000664: 02112e23 sw ra,60(sp) -80000668: 02812c23 sw s0,56(sp) -8000066c: 04010413 addi s0,sp,64 -80000670: fca42623 sw a0,-52(s0) -80000674: fcc42783 lw a5,-52(s0) -80000678: fef42623 sw a5,-20(s0) -8000067c: a0dff0ef jal ra,80000088 -80000680: fea42423 sw a0,-24(s0) -80000684: a0dff0ef jal ra,80000090 -80000688: fea42223 sw a0,-28(s0) -8000068c: fec42783 lw a5,-20(s0) -80000690: 0107a783 lw a5,16(a5) -80000694: fe842703 lw a4,-24(s0) -80000698: 00f77e63 bgeu a4,a5,800006b4 -8000069c: fec42783 lw a5,-20(s0) -800006a0: 00c7a783 lw a5,12(a5) -800006a4: fe442703 lw a4,-28(s0) -800006a8: 00f77663 bgeu a4,a5,800006b4 -800006ac: 00100793 li a5,1 -800006b0: 0080006f j 800006b8 -800006b4: 00000793 li a5,0 -800006b8: fef401a3 sb a5,-29(s0) -800006bc: fe344783 lbu a5,-29(s0) -800006c0: 0017f793 andi a5,a5,1 -800006c4: fef401a3 sb a5,-29(s0) -800006c8: fe344783 lbu a5,-29(s0) -800006cc: 00078513 mv a0,a5 -800006d0: 9a9ff0ef jal ra,80000078 -800006d4: fe344783 lbu a5,-29(s0) -800006d8: 06078663 beqz a5,80000744 -800006dc: fec42783 lw a5,-20(s0) -800006e0: 00c7a703 lw a4,12(a5) -800006e4: fe842783 lw a5,-24(s0) -800006e8: 02f707b3 mul a5,a4,a5 -800006ec: fe442703 lw a4,-28(s0) -800006f0: 00f707b3 add a5,a4,a5 -800006f4: fcf42e23 sw a5,-36(s0) -800006f8: fec42783 lw a5,-20(s0) -800006fc: 0007a703 lw a4,0(a5) -80000700: fdc42783 lw a5,-36(s0) -80000704: 00279793 slli a5,a5,0x2 -80000708: 00f707b3 add a5,a4,a5 -8000070c: 0007a683 lw a3,0(a5) -80000710: fec42783 lw a5,-20(s0) -80000714: 0047a703 lw a4,4(a5) -80000718: fdc42783 lw a5,-36(s0) -8000071c: 00279793 slli a5,a5,0x2 -80000720: 00f707b3 add a5,a4,a5 -80000724: 0007a703 lw a4,0(a5) -80000728: fec42783 lw a5,-20(s0) -8000072c: 0087a603 lw a2,8(a5) -80000730: fdc42783 lw a5,-36(s0) -80000734: 00279793 slli a5,a5,0x2 -80000738: 00f607b3 add a5,a2,a5 -8000073c: 00e68733 add a4,a3,a4 -80000740: 00e7a023 sw a4,0(a5) -80000744: 93dff0ef jal ra,80000080 -80000748: 00000013 nop -8000074c: 03c12083 lw ra,60(sp) -80000750: 03812403 lw s0,56(sp) -80000754: 04010113 addi sp,sp,64 -80000758: 00008067 ret - -8000075c
: -8000075c: ff010113 addi sp,sp,-16 -80000760: 00112623 sw ra,12(sp) -80000764: 00812423 sw s0,8(sp) -80000768: 01010413 addi s0,sp,16 -8000076c: 00100513 li a0,1 -80000770: 8f9ff0ef jal ra,80000068 -80000774: e95ff0ef jal ra,80000608 -80000778: 00000793 li a5,0 -8000077c: 00078513 mv a0,a5 -80000780: 00c12083 lw ra,12(sp) -80000784: 00812403 lw s0,8(sp) -80000788: 01010113 addi sp,sp,16 -8000078c: 00008067 ret - -Disassembly of section .rodata: - -81000000 <.rodata>: -81000000: 0030 addi a2,sp,8 -81000002: 0000 unimp -81000004: 0031 c.nop 12 -81000006: 0000 unimp -81000008: 0032 c.slli zero,0xc -8100000a: 0000 unimp -8100000c: 00000033 add zero,zero,zero -81000010: 0034 addi a3,sp,8 -81000012: 0000 unimp -81000014: 0035 c.nop 13 -81000016: 0000 unimp -81000018: 0036 c.slli zero,0xd -8100001a: 0000 unimp -8100001c: 00000037 lui zero,0x0 -81000020: 0038 addi a4,sp,8 -81000022: 0000 unimp -81000024: 0039 c.nop 14 -81000026: 0000 unimp -81000028: 0061 c.nop 24 -8100002a: 0000 unimp -8100002c: 0062 c.slli zero,0x18 -8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 -81000034: 0064 addi s1,sp,12 -81000036: 0000 unimp -81000038: 0065 c.nop 25 -8100003a: 0000 unimp -8100003c: 0066 c.slli zero,0x19 -8100003e: 0000 unimp -81000040: 000a c.slli zero,0x2 -81000042: 0000 unimp -81000044: 0030 addi a2,sp,8 -81000046: 0000 unimp -81000048: 0031 c.nop 12 -8100004a: 0000 unimp -8100004c: 0032 c.slli zero,0xc -8100004e: 0000 unimp -81000050: 00000033 add zero,zero,zero -81000054: 0034 addi a3,sp,8 -81000056: 0000 unimp -81000058: 0035 c.nop 13 -8100005a: 0000 unimp -8100005c: 0036 c.slli zero,0xd -8100005e: 0000 unimp -81000060: 00000037 lui zero,0x0 -81000064: 0038 addi a4,sp,8 -81000066: 0000 unimp -81000068: 0039 c.nop 14 -8100006a: 0000 unimp -8100006c: 0061 c.nop 24 -8100006e: 0000 unimp -81000070: 0062 c.slli zero,0x18 -81000072: 0000 unimp -81000074: 00000063 beqz zero,81000074 -81000078: 0064 addi s1,sp,12 -8100007a: 0000 unimp -8100007c: 0065 c.nop 25 -8100007e: 0000 unimp -81000080: 0066 c.slli zero,0x19 -81000082: 0000 unimp -81000084: 6574 flw fa3,76(a0) -81000086: 745f7473 csrrci s0,0x745,30 -8100008a: 636d lui t1,0x1b -8100008c: 000a c.slli zero,0x2 -8100008e: 0000 unimp -81000090: 000a c.slli zero,0x2 -81000092: 0000 unimp -81000094: 6574 flw fa3,76(a0) -81000096: 645f7473 csrrci s0,0x645,30 -8100009a: 7669 lui a2,0xffffa -8100009c: 7265 lui tp,0xffff9 -8100009e: 636e6567 0x636e6567 -810000a2: 0a65 addi s4,s4,25 -810000a4: 0000 unimp -810000a6: 0000 unimp -810000a8: 6574 flw fa3,76(a0) -810000aa: 735f7473 csrrci s0,0x735,30 -810000ae: 6170 flw fa2,68(a0) -810000b0: 000a6e77 0xa6e77 -810000b4: 0030 addi a2,sp,8 -810000b6: 0000 unimp -810000b8: 0031 c.nop 12 -810000ba: 0000 unimp -810000bc: 0032 c.slli zero,0xc -810000be: 0000 unimp -810000c0: 00000033 add zero,zero,zero -810000c4: 0034 addi a3,sp,8 -810000c6: 0000 unimp -810000c8: 0035 c.nop 13 -810000ca: 0000 unimp -810000cc: 0036 c.slli zero,0xd -810000ce: 0000 unimp -810000d0: 00000037 lui zero,0x0 -810000d4: 0038 addi a4,sp,8 -810000d6: 0000 unimp -810000d8: 0039 c.nop 14 -810000da: 0000 unimp -810000dc: 0061 c.nop 24 -810000de: 0000 unimp -810000e0: 0062 c.slli zero,0x18 -810000e2: 0000 unimp -810000e4: 00000063 beqz zero,810000e4 -810000e8: 0064 addi s1,sp,12 -810000ea: 0000 unimp -810000ec: 0065 c.nop 25 -810000ee: 0000 unimp -810000f0: 0066 c.slli zero,0x19 - -Disassembly of section .data: - -810000f4 : -810000f4: 0000 unimp -810000f6: 8100 0x8100 -810000f8: 0004 0x4 -810000fa: 8100 0x8100 -810000fc: 0008 0x8 -810000fe: 8100 0x8100 -81000100: 000c 0xc -81000102: 8100 0x8100 -81000104: 0010 0x10 -81000106: 8100 0x8100 -81000108: 0014 0x14 -8100010a: 8100 0x8100 -8100010c: 0018 0x18 -8100010e: 8100 0x8100 -81000110: 001c 0x1c -81000112: 8100 0x8100 -81000114: 0020 addi s0,sp,8 -81000116: 8100 0x8100 -81000118: 0024 addi s1,sp,8 -8100011a: 8100 0x8100 -8100011c: 0028 addi a0,sp,8 -8100011e: 8100 0x8100 -81000120: 002c addi a1,sp,8 -81000122: 8100 0x8100 -81000124: 0030 addi a2,sp,8 -81000126: 8100 0x8100 -81000128: 0034 addi a3,sp,8 -8100012a: 8100 0x8100 -8100012c: 0038 addi a4,sp,8 -8100012e: 8100 0x8100 -81000130: 003c addi a5,sp,8 -81000132: 8100 0x8100 - -81000134 : -81000134: 0044 addi s1,sp,4 -81000136: 8100 0x8100 -81000138: 0048 addi a0,sp,4 -8100013a: 8100 0x8100 -8100013c: 004c addi a1,sp,4 -8100013e: 8100 0x8100 -81000140: 0050 addi a2,sp,4 -81000142: 8100 0x8100 -81000144: 0054 addi a3,sp,4 -81000146: 8100 0x8100 -81000148: 0058 addi a4,sp,4 -8100014a: 8100 0x8100 -8100014c: 005c addi a5,sp,4 -8100014e: 8100 0x8100 -81000150: 0060 addi s0,sp,12 -81000152: 8100 0x8100 -81000154: 0064 addi s1,sp,12 -81000156: 8100 0x8100 -81000158: 0068 addi a0,sp,12 -8100015a: 8100 0x8100 -8100015c: 006c addi a1,sp,12 -8100015e: 8100 0x8100 -81000160: 0070 addi a2,sp,12 -81000162: 8100 0x8100 -81000164: 0074 addi a3,sp,12 -81000166: 8100 0x8100 -81000168: 0078 addi a4,sp,12 -8100016a: 8100 0x8100 -8100016c: 007c addi a5,sp,12 -8100016e: 8100 0x8100 -81000170: 0080 addi s0,sp,64 -81000172: 8100 0x8100 - -81000174 : -81000174: 00b4 addi a3,sp,72 -81000176: 8100 0x8100 -81000178: 00b8 addi a4,sp,72 -8100017a: 8100 0x8100 -8100017c: 00bc addi a5,sp,72 -8100017e: 8100 0x8100 -81000180: 00c0 addi s0,sp,68 -81000182: 8100 0x8100 -81000184: 00c4 addi s1,sp,68 -81000186: 8100 0x8100 -81000188: 00c8 addi a0,sp,68 -8100018a: 8100 0x8100 -8100018c: 00cc addi a1,sp,68 -8100018e: 8100 0x8100 -81000190: 00d0 addi a2,sp,68 -81000192: 8100 0x8100 -81000194: 00d4 addi a3,sp,68 -81000196: 8100 0x8100 -81000198: 00d8 addi a4,sp,68 -8100019a: 8100 0x8100 -8100019c: 00dc addi a5,sp,68 -8100019e: 8100 0x8100 -810001a0: 00e0 addi s0,sp,76 -810001a2: 8100 0x8100 -810001a4: 00e4 addi s1,sp,76 -810001a6: 8100 0x8100 -810001a8: 00e8 addi a0,sp,76 -810001aa: 8100 0x8100 -810001ac: 00ec addi a1,sp,76 -810001ae: 8100 0x8100 -810001b0: 00f0 addi a2,sp,76 -810001b2: 8100 0x8100 - -810001b4 : -810001b4: 0005 c.nop 1 -810001b6: 0000 unimp -810001b8: 0005 c.nop 1 -810001ba: 0000 unimp -810001bc: 0005 c.nop 1 -810001be: 0000 unimp -810001c0: 0005 c.nop 1 -810001c2: 0000 unimp -810001c4: 0006 c.slli zero,0x1 -810001c6: 0000 unimp -810001c8: 0006 c.slli zero,0x1 -810001ca: 0000 unimp -810001cc: 0006 c.slli zero,0x1 -810001ce: 0000 unimp -810001d0: 0006 c.slli zero,0x1 -810001d2: 0000 unimp -810001d4: 00000007 0x7 -810001d8: 00000007 0x7 -810001dc: 00000007 0x7 -810001e0: 00000007 0x7 -810001e4: 0008 0x8 -810001e6: 0000 unimp -810001e8: 0008 0x8 -810001ea: 0000 unimp -810001ec: 0008 0x8 -810001ee: 0000 unimp -810001f0: 0008 0x8 - ... - -810001f4 : -810001f4: 0001 nop -810001f6: 0000 unimp -810001f8: 0001 nop -810001fa: 0000 unimp -810001fc: 0001 nop -810001fe: 0000 unimp -81000200: 0001 nop -81000202: 0000 unimp -81000204: 0001 nop -81000206: 0000 unimp -81000208: 0001 nop -8100020a: 0000 unimp -8100020c: 0001 nop -8100020e: 0000 unimp -81000210: 0001 nop -81000212: 0000 unimp -81000214: 0001 nop -81000216: 0000 unimp -81000218: 0001 nop -8100021a: 0000 unimp -8100021c: 0001 nop -8100021e: 0000 unimp -81000220: 0001 nop -81000222: 0000 unimp -81000224: 0001 nop -81000226: 0000 unimp -81000228: 0001 nop -8100022a: 0000 unimp -8100022c: 0001 nop -8100022e: 0000 unimp -81000230: 0001 nop - ... - -Disassembly of section .bss: - -81000234 : -81000234: 0000 unimp - ... - -81000238 : -81000238: 0000 unimp - ... - -8100023c : -8100023c: 0000 unimp - ... - -81000240 : - ... - -81000250 : - ... - -81000260 : - ... - -Disassembly of section .comment: - -82000000 <.comment>: -82000000: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm -82000004: 2820 fld fs0,80(s0) -82000006: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm -8200000a: 3820 fld fs0,112(s0) -8200000c: 322e fld ft4,232(sp) -8200000e: 302e fld ft0,232(sp) - ... diff --git a/runtime/vortex_runtime.elf b/runtime/vortex_runtime.elf deleted file mode 100644 index 4a0b5707..00000000 Binary files a/runtime/vortex_runtime.elf and /dev/null differ diff --git a/runtime/vortex_runtime.hex b/runtime/vortex_runtime.hex deleted file mode 100644 index efb95c14..00000000 --- a/runtime/vortex_runtime.hex +++ /dev/null @@ -1,161 +0,0 @@ -:0200000480007A -:100000009705000093850502130540006B10B500AD -:10001000EF000001EF008074130500006B00050085 -:10002000130540006B000500F32610029396A6010D -:10003000732600029315A6001316260037F1FF6FF2 -:100040003301B1403301D1403301C100F326100226 -:1000500063860600130500006B0005006780000042 -:100060006B10B500678000006B0005006780000022 -:100070006B40B500678000006B20050067800000C2 -:100080006B3000006780000073251002678000005D -:100090007325000267800000130540006B00050017 -:1000A000F32610029396F600732600029315A6001D -:1000B0001316260037F1FF6F3301B1403301D140F1 -:1000C0003301C100F3261002638606001305000009 -:1000D0006B00050067800000130141FF2320110021 -:1000E0002322B1008345050063880500EF00C001AD -:1000F000130515006FF01FFF8320010083254100C9 -:100100001301C10067800000B702010023A0B20004 -:1001100067800000130101FE232E1100232C8100B3 -:10012000130401022326A4FEB70700810327C4FE9F -:10013000131727009387470FB307F70083A707001C -:1001400013850700EFF05FF9130000008320C10161 -:10015000032481011301010267800000130101FEE5 -:10016000232E1100232C8100130401022326A4FE58 -:100170002324B4FE0325C4FEEFF01FF6032584FEFE -:10018000EFF05FF9B707008113850704EFF0DFF4A4 -:10019000130000008320C101032481011301010227 -:1001A00067800000130101FE232E1100232C810023 -:1001B00013040102B707008183A7C7231385070033 -:1001C000EFF09FEAB707008103A78723B7070081F5 -:1001D00083A7472313850700E7000700EFF0DFEA56 -:1001E0002326A4FE8327C4FE6388070013050000AE -:1001F000EFF09FE76F00C00013051000EFF0DFE69F -:10020000130000008320C1010324810113010102B6 -:1002100067800000130101FE232E1100232C8100B2 -:10022000130401022326A4FE2324B4FE2322C4FEC9 -:100230002320D4FEB7070081032744FE23ACE72226 -:10024000B7070081032704FE23AAE722B70700812E -:10025000032784FE23AEE722B70700809387471A5F -:10026000938507000325C4FEEFF09FDFEFF09FF3B7 -:10027000130000008320C101032481011301010246 -:1002800067800000130101FE232E1100232C810042 -:1002900013040102B707008113854708EFF0DFE37D -:1002A00013054000EFF05FDCEFF09FDE2326A4FE95 -:1002B0000327C4FEB70700818326C4FE9396260059 -:1002C00093870724B387F60023A0E70013051000E7 -:1002D000EFF09FD9B707008183A707241385070094 -:1002E000EFF05FE3B707008113850709EFF0DFDE6A -:1002F000B70700819387072483A74700138507006A -:10030000EFF05FE1B707008113850709EFF0DFDC4D -:10031000B70700819387072483A787001385070009 -:10032000EFF05FDFB707008113850709EFF0DFDA31 -:10033000B70700819387072483A7C70013850700A9 -:10034000EFF05FDDB707008113850709EFF0DFD815 -:10035000130000008320C101032481011301010265 -:1003600067800000130101FE232E1100232C810061 -:1003700013040102EFF0DFD12326A4FE8327C4FE7D -:1003800093B72700A305F4FE8347B4FE1385070047 -:10039000EFF09FCE8347B4FE638407068327C4FE35 -:1003A00093B717002305F4FE8347A4FE13850700C7 -:1003B000EFF09FCC8347A4FE63820702B70700815A -:1003C0000327C4FE1317270093870724B307F700FA -:1003D0001307A00023A0E7006F000002B707008109 -:1003E0000327C4FE1317270093870724B307F700DA -:1003F0001307B00023A0E700EFF09FC86F0040068E -:100400008327C4FE93B73700A304F4FE834794FE0A -:1004100013850700EFF05FC6834794FE63820702EF -:10042000B70700810327C4FE13172700938707240B -:10043000B307F7001307C00023A0E7006F00000216 -:10044000B70700810327C4FE1317270093870724EB -:10045000B307F7001307D00023A0E700EFF05FC257 -:10046000EFF01FC2B707008183A707241385070099 -:10047000EFF05FCAB707008113850709EFF0DFC50A -:10048000B70700819387072483A7470013850700D8 -:10049000EFF05FC8B707008113850709EFF0DFC3EE -:1004A000B70700819387072483A787001385070078 -:1004B000EFF05FC6B707008113850709EFF0DFC1D2 -:1004C000B70700819387072483A7C7001385070018 -:1004D000EFF05FC4B707008113850709EFF0DFBFB6 -:1004E000130000008320C1010324810113010102D4 -:1004F00067800000130101FE232E1100232C8100D0 -:1005000013040102EFF05FB82326A4FEB7070081B1 -:100510000327C4FE1317270093870725B307F700A7 -:100520000327C4FE23A0E7008327C4FE63860700D9 -:1005300013050000EFF05FB3130000008320C1013A -:10054000032481011301010267800000130101FEF1 -:10055000232E1100232C810013040102B707008011 -:100560009387474F2326F4FE8325C4FE13054000DE -:10057000EFF01FAFEFF01FF8B707008183A7072543 -:1005800013850700EFF01FB9B7070081138507092E -:10059000EFF09FB4B70700819387072583A7470033 -:1005A00013850700EFF01FB7B70700811385070910 -:1005B000EFF09FB2B70700819387072583A78700D5 -:1005C00013850700EFF01FB5B707008113850709F2 -:1005D000EFF09FB0B70700819387072583A7C70077 -:1005E00013850700EFF01FB3B707008113850709D4 -:1005F000EFF09FAE130000008320C10103248101AE -:100600001301010267800000130101FF232611007E -:100610002324810013040101EFF0DFC6B707008136 -:1006200013854709EFF05FAB13054000EFF0DFA340 -:10063000EFF05FD313051000EFF01FA3B7070081A1 -:100640001385870AEFF05FA9EFF05FF01300000059 -:100650008320C10003248100130101016780000091 -:10066000130101FC232E1102232C81021304010427 -:100670002326A4FC8327C4FC2326F4FEEFF0DFA08E -:100680002324A4FEEFF0DFA02322A4FE8327C4FED0 -:1006900083A70701032784FE637EF7008327C4FE38 -:1006A00083A7C700032744FE6376F7009307100073 -:1006B0006F00800093070000A301F4FE834734FE1F -:1006C00093F71700A301F4FE834734FE1385070058 -:1006D000EFF09F9A834734FE638607068327C4FEA4 -:1006E00003A7C700832784FEB307F702032744FE4E -:1006F000B307F700232EF4FC8327C4FE03A70700EB -:100700008327C4FD93972700B307F70083A607004C -:100710008327C4FE03A747008327C4FD93972700C0 -:10072000B307F70003A707008327C4FE03A68700CB -:100730008327C4FD93972700B307F6003387E600AD -:1007400023A0E700EFF0DF93130000008320C10334 -:10075000032481031301010467800000130101FFDA -:100760002326110023248100130401011305100026 -:10077000EFF09F8FEFF05FE993070000138507000C -:100780008320C10003248100130101016780000060 -:02000004810079 -:10000000300000003100000032000000330000002A -:10001000340000003500000036000000370000000A -:10002000380000003900000061000000620000009C -:10003000630000006400000065000000660000002E -:100040000A00000030000000310000003200000013 -:1000500033000000340000003500000036000000CE -:100060003700000038000000390000006100000087 -:1000700062000000630000006400000065000000F2 -:1000800066000000746573745F746D630A0000009D -:100090000A000000746573745F6469766572676551 -:1000A0006E63650A00000000746573745F737061AD -:1000B000776E0A00300000003100000032000000BE -:1000C000330000003400000035000000360000005E -:1000D0003700000038000000390000006100000017 -:1000E0006200000063000000640000006500000082 -:0200F0006600A8 -:1000F4000000008104000081080000810C000081E0 -:100104001000008114000081180000811C0000818F -:100114002000008124000081280000812C0000813F -:100124003000008134000081380000813C000081EF -:1001340044000081480000814C000081500000818F -:1001440054000081580000815C000081600000813F -:1001540064000081680000816C00008170000081EF -:1001640074000081780000817C000081800000819F -:10017400B4000081B8000081BC000081C00000818F -:10018400C4000081C8000081CC000081D00000813F -:10019400D4000081D8000081DC000081E0000081EF -:1001A400E4000081E8000081EC000081F00000819F -:1001B4000500000005000000050000000500000027 -:1001C4000600000006000000060000000600000013 -:1001D40007000000070000000700000007000000FF -:1001E40008000000080000000800000008000000EB -:1001F40001000000010000000100000001000000F7 -:1002040001000000010000000100000001000000E6 -:1002140001000000010000000100000001000000D6 -:1002240001000000010000000100000001000000C6 -:040000058000000077 -:00000001FF diff --git a/runtime/vx_main.c b/runtime/vx_main.c deleted file mode 100644 index c08b315d..00000000 --- a/runtime/vx_main.c +++ /dev/null @@ -1,88 +0,0 @@ - -#include "intrinsics/vx_intrinsics.h" -#include "io/vx_io.h" -#include "tests/tests.h" -#include "vx_api/vx_api.h" - -typedef struct -{ - unsigned * x; - unsigned * y; - unsigned * z; - unsigned numColums; - unsigned numRows; -} mat_add_args_t; - - -unsigned x[] = {5, 5, 5, 5, - 6, 6, 6, 6, - 7, 7, 7, 7, - 8, 8, 8, 8}; - -unsigned y[] = {1, 1, 1, 1, - 1, 1, 1, 1, - 1, 1, 1, 1, - 1, 1, 1, 1}; - -unsigned z[] = {0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0}; - -void mat_add_kernel(void * void_arguments) -{ - mat_add_args_t * arguments = (mat_add_args_t *) void_arguments; - - unsigned wid = vx_warpID(); - unsigned tid = vx_threadID(); - - bool valid = (wid < arguments->numRows) && (tid < arguments->numColums); - - __if (valid) - { - unsigned index = (wid * arguments->numColums) + tid; - arguments->z[index] = arguments->x[index] + arguments->y[index]; - } - __endif -} - - -int main() -{ - // Main is called with all threads active of warp 0 - vx_tmc(1); - - /////////////////////////////////////////////////////////////////////// - - // mat_add_args_t arguments; - // arguments.x = x; - // arguments.y = y; - // arguments.z = z; - // arguments.numColums = 4; - // arguments.numRows = 4; - - - // int numWarps = 4; - // int numThreads = 4; - - // vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments); - - // for (int i = 0; i < arguments.numRows; i++) - // { - // for (int j = 0; j < arguments.numColums; j++) - // { - // unsigned index = (i * arguments.numColums) + j; - // vx_print_hex(z[index]); - // vx_print_str(" "); - // } - // vx_print_str("\n"); - // } - - /////////////////////////////////////////////////////////////////////// - - intrinsics_tests(); - - /////////////////////////////////////////////////////////////////////// - - return 0; -} \ No newline at end of file