diff --git a/kernel/vortex_test.dump b/kernel/vortex_test.dump index 0b18e6bf..17c18cca 100644 --- a/kernel/vortex_test.dump +++ b/kernel/vortex_test.dump @@ -5,14 +5,14 @@ vortex_test.elf: file format elf32-littleriscv Disassembly of section .text: 80000000 <_start>: -80000000: 00200593 li a1,2 -80000004: 00000013 nop -80000008: 00000013 nop -8000000c: 00000013 nop -80000010: 00058613 mv a2,a1 -80000014: 00000013 nop -80000018: 00000013 nop -8000001c: 00000013 nop +80000000: 00800513 li a0,8 +80000004: 02051073 csrw 0x20,a0 +80000008: 00400513 li a0,4 +8000000c: 02151073 csrw 0x21,a0 +80000010: f1401073 csrw mhartid,zero +80000014: 30101073 csrw misa,zero +80000018: 7ffff137 lui sp,0x7ffff +8000001c: 0b9010ef jal ra,800018d4
80000020: 00000073 ecall 80000024 : @@ -28,7 +28,7 @@ Disassembly of section .text: 80000038: 00755c63 bge a0,t2,80000050 8000003c : -8000003c: 80010113 addi sp,sp,-2048 +8000003c: 80010113 addi sp,sp,-2048 # 7fffe800 80000040: 00050313 mv t1,a0 80000044: 0003506b 0x3506b @@ -1693,13 +1693,19 @@ Disassembly of section .text: 800018d4
: 800018d4: ff010113 addi sp,sp,-16 -800018d8: 00812623 sw s0,12(sp) -800018dc: 01010413 addi s0,sp,16 -800018e0: 00000793 li a5,0 -800018e4: 00078513 mv a0,a5 -800018e8: 00c12403 lw s0,12(sp) -800018ec: 01010113 addi sp,sp,16 -800018f0: 00008067 ret +800018d8: 00112623 sw ra,12(sp) +800018dc: 00812423 sw s0,8(sp) +800018e0: 01010413 addi s0,sp,16 +800018e4: ed5ff0ef jal ra,800017b8 +800018e8: 810267b7 lui a5,0x81026 +800018ec: 21c78513 addi a0,a5,540 # 8102621c +800018f0: f3dff0ef jal ra,8000182c +800018f4: 00000793 li a5,0 +800018f8: 00078513 mv a0,a5 +800018fc: 00c12083 lw ra,12(sp) +80001900: 00812403 lw s0,8(sp) +80001904: 01010113 addi sp,sp,16 +80001908: 00008067 ret Disassembly of section .rodata: diff --git a/kernel/vortex_test.elf b/kernel/vortex_test.elf index 6c907e0e..b186b4f3 100755 Binary files a/kernel/vortex_test.elf and b/kernel/vortex_test.elf differ diff --git a/kernel/vortex_test.hex b/kernel/vortex_test.hex index c38a0ea9..5fa7a125 100644 --- a/kernel/vortex_test.hex +++ b/kernel/vortex_test.hex @@ -1,6 +1,6 @@ :0200000480007A -:1000000093052000130000001300000013000000FF -:100010001386050013000000130000001300000009 +:1000000013058000731005021305400073101502DC +:10001000731040F17310103037F1FF7FEF10900B29 :1000200073000000938B0600130D0700130F0100EF :100030009303050013051000635C75001301018034 :10004000130305006B500300130515006FF0DFFE6E @@ -396,9 +396,10 @@ :1018A000938717002326F4FE0327C4FE9307F00F47 :1018B000E3D2E7FAB707008113854714EFE09FF101 :1018C000130000008320C1020324810213010103DD -:1018D00067800000130101FF23268100130401012A -:1018E00093070000138507000324C10013010101C1 -:0418F000678000000D +:1018D00067800000130101FF2326110023248100EB +:1018E00013040101EFF05FEDB76702811385C72193 +:1018F000EFF0DFF393070000138507008320C1009A +:0C19000003248100130101016780000036 :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A diff --git a/kernel/vx_main.c b/kernel/vx_main.c index 8ba032f7..e35ae59a 100644 --- a/kernel/vx_main.c +++ b/kernel/vx_main.c @@ -41,14 +41,14 @@ int main() // vx_print_hex(11); - // initialize_mats(); + 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); + print_matrix(x); // // matrix addition // vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS); diff --git a/kernel/vx_os/vx_back/vx_back.s b/kernel/vx_os/vx_back/vx_back.s index c6295740..49597a5c 100644 --- a/kernel/vx_os/vx_back/vx_back.s +++ b/kernel/vx_os/vx_back/vx_back.s @@ -6,30 +6,23 @@ .type _start, @function .global _start _start: - li a1, 2 - nop - nop - nop - addi a2, a1, 0 - nop - nop - nop - ecall - # li a0, 8 # Num Warps - # csrw 0x20, a0 # Setting the number of available warps - # li a0, 4 # Num Threads - # csrw 0x21, a0 # Setting the number of available threads - # csrw mhartid,zero - # csrw misa,zero - # lui sp, 0x7ffff - # # jal vx_before_main - # jal main + # li a0, 7 + # sw a0, 0(zero) + # lw a1, 0(zero) # ecall + li a0, 8 # Num Warps + csrw 0x20, a0 # Setting the number of available warps + li a0, 4 # Num Threads + csrw 0x21, a0 # Setting the number of available threads + csrw mhartid,zero + csrw misa,zero + lui sp, 0x7ffff + # jal vx_before_main + jal main + ecall # Hi: # li a2, 7 -# nop -# nop # ret .type vx_createThreads, @function