diff --git a/rtl/cache/VX_Cache_Bank.v b/rtl/cache/VX_Cache_Bank.v index c5265867..887bb3ae 100644 --- a/rtl/cache/VX_Cache_Bank.v +++ b/rtl/cache/VX_Cache_Bank.v @@ -130,7 +130,8 @@ module VX_Cache_Bank assign data_evicted = data_use; - assign eviction_wb = miss && (dirty_use != 1'b0) && valid_use; + // assign eviction_wb = miss && (dirty_use != 1'b0) && valid_use; + assign eviction_wb = (dirty_use != 1'b0); assign eviction_tag = tag_use; assign access = (state == CACHE_IDLE) && valid_in; assign write_from_mem = (state == RECIV_MEM_RSP) && valid_in; // TODO @@ -230,6 +231,7 @@ module VX_Cache_Bank .clk (clk), .rst (rst), .valid_in (valid_in), + .state (state), // Inputs .addr (actual_index), .we (we), diff --git a/rtl/cache/VX_cache_data_per_index.v b/rtl/cache/VX_cache_data_per_index.v index 4a2927b9..7cad5702 100644 --- a/rtl/cache/VX_cache_data_per_index.v +++ b/rtl/cache/VX_cache_data_per_index.v @@ -17,6 +17,7 @@ module VX_cache_data_per_index input wire clk, // Clock input wire rst, input wire valid_in, + input wire [3:0] state, // Addr input wire[IND_SIZE_END:IND_SIZE_START] addr, // WE @@ -55,6 +56,10 @@ module VX_cache_data_per_index wire [CACHE_WAY_INDEX-1:0] invalid_index; + localparam CACHE_IDLE = 0; // Idle + localparam SEND_MEM_REQ = 1; // Write back this block into memory + localparam RECIV_MEM_RSP = 2; + if(CACHE_WAYS != 1) begin VX_generic_priority_encoder #(.N(CACHE_WAYS)) valid_index ( @@ -127,7 +132,7 @@ module VX_cache_data_per_index if (rst) begin eviction_way_index <= 0; end else begin - if(miss && dirty_use && valid_use && !evict && valid_in) begin // can be either evict or invalid cache entries + if((miss && dirty_use && valid_use && !evict && valid_in)) begin // can be either evict or invalid cache entries if((eviction_way_index[addr]+1) == CACHE_WAYS) begin eviction_way_index[addr] <= 0; end else begin diff --git a/rtl/cache/VX_d_cache.v b/rtl/cache/VX_d_cache.v index 751360c8..d46533a9 100644 --- a/rtl/cache/VX_d_cache.v +++ b/rtl/cache/VX_d_cache.v @@ -357,7 +357,7 @@ module VX_d_cache assign o_m_evict_addr = evict_addr & MEM_ADDR_REQ_MASK; assign o_m_read_addr = miss_addr & MEM_ADDR_REQ_MASK; assign o_m_valid = (state == SEND_MEM_REQ); - assign o_m_read_or_write = (state == SEND_MEM_REQ) && (|eviction_wb_old); + assign o_m_read_or_write = (state == SEND_MEM_REQ) && (|eviction_wb); //end endmodule diff --git a/runtime/mains/simple/vx_simple_main.c b/runtime/mains/simple/vx_simple_main.c index 5ef33d20..809925bd 100644 --- a/runtime/mains/simple/vx_simple_main.c +++ b/runtime/mains/simple/vx_simple_main.c @@ -12,21 +12,21 @@ int main() // Main is called with all threads active of warp 0 vx_tmc(1); - // vx_print_str("Simple Main\n"); + vx_print_str("Simple Main\n"); // // TMC test test_tmc(); - // // Control Divergence Test - // vx_print_str("test_divergence\n"); - // vx_tmc(4); - // test_divergence(); - // vx_tmc(1); + // Control Divergence Test + vx_print_str("test_divergence\n"); + vx_tmc(4); + test_divergence(); + vx_tmc(1); // Test wspawn - // vx_print_str("test_wspawn\n"); + vx_print_str("test_wspawn\n"); test_wsapwn(); return 0; diff --git a/runtime/mains/simple/vx_simple_main.dump b/runtime/mains/simple/vx_simple_main.dump index d20afef1..e21861b9 100644 --- a/runtime/mains/simple/vx_simple_main.dump +++ b/runtime/mains/simple/vx_simple_main.dump @@ -114,7 +114,7 @@ Disassembly of section .text: 80000128: 810007b7 lui a5,0x81000 8000012c: fec42703 lw a4,-20(s0) 80000130: 00271713 slli a4,a4,0x2 -80000134: 0f878793 addi a5,a5,248 # 810000f8 +80000134: 12c78793 addi a5,a5,300 # 8100012c 80000138: 00f707b3 add a5,a4,a5 8000013c: 0007a783 lw a5,0(a5) 80000140: 00078513 mv a0,a5 @@ -137,7 +137,7 @@ Disassembly of section .text: 8000017c: fe842503 lw a0,-24(s0) 80000180: f95ff0ef jal ra,80000114 80000184: 810007b7 lui a5,0x81000 -80000188: 04078513 addi a0,a5,64 # 81000040 +80000188: 04078513 addi a0,a5,64 # 81000040 8000018c: f4dff0ef jal ra,800000d8 80000190: 00000013 nop 80000194: 01c12083 lw ra,28(sp) @@ -151,13 +151,13 @@ Disassembly of section .text: 800001ac: 00812c23 sw s0,24(sp) 800001b0: 02010413 addi s0,sp,32 800001b4: 810007b7 lui a5,0x81000 -800001b8: 1e07a783 lw a5,480(a5) # 810001e0 +800001b8: 2147a783 lw a5,532(a5) # 81000214 800001bc: 00078513 mv a0,a5 800001c0: ea9ff0ef jal ra,80000068 800001c4: 810007b7 lui a5,0x81000 -800001c8: 1dc7a703 lw a4,476(a5) # 810001dc +800001c8: 2107a703 lw a4,528(a5) # 81000210 800001cc: 810007b7 lui a5,0x81000 -800001d0: 1d87a783 lw a5,472(a5) # 810001d8 +800001d0: 20c7a783 lw a5,524(a5) # 8100020c 800001d4: 00078513 mv a0,a5 800001d8: 000700e7 jalr a4 800001dc: eadff0ef jal ra,80000088 @@ -186,15 +186,15 @@ Disassembly of section .text: 80000230: fed42023 sw a3,-32(s0) 80000234: 810007b7 lui a5,0x81000 80000238: fe442703 lw a4,-28(s0) -8000023c: 1ce7ae23 sw a4,476(a5) # 810001dc +8000023c: 20e7a823 sw a4,528(a5) # 81000210 80000240: 810007b7 lui a5,0x81000 80000244: fe042703 lw a4,-32(s0) -80000248: 1ce7ac23 sw a4,472(a5) # 810001d8 +80000248: 20e7a623 sw a4,524(a5) # 8100020c 8000024c: 810007b7 lui a5,0x81000 80000250: fe842703 lw a4,-24(s0) -80000254: 1ee7a023 sw a4,480(a5) # 810001e0 +80000254: 20e7aa23 sw a4,532(a5) # 81000214 80000258: 800007b7 lui a5,0x80000 -8000025c: 1a478793 addi a5,a5,420 # 800001a4 +8000025c: 1a478793 addi a5,a5,420 # 800001a4 80000260: 00078593 mv a1,a5 80000264: fec42503 lw a0,-20(s0) 80000268: df9ff0ef jal ra,80000060 @@ -211,7 +211,7 @@ Disassembly of section .text: 8000028c: 00812c23 sw s0,24(sp) 80000290: 02010413 addi s0,sp,32 80000294: 810007b7 lui a5,0x81000 -80000298: 08478513 addi a0,a5,132 # 81000084 +80000298: 08478513 addi a0,a5,132 # 81000084 8000029c: e3dff0ef jal ra,800000d8 800002a0: 00400513 li a0,4 800002a4: dc5ff0ef jal ra,80000068 @@ -221,41 +221,41 @@ Disassembly of section .text: 800002b4: 810007b7 lui a5,0x81000 800002b8: fec42683 lw a3,-20(s0) 800002bc: 00269693 slli a3,a3,0x2 -800002c0: 17878793 addi a5,a5,376 # 81000178 +800002c0: 1ac78793 addi a5,a5,428 # 810001ac 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: 1787a783 lw a5,376(a5) # 81000178 +800002d8: 1ac7a783 lw a5,428(a5) # 810001ac 800002dc: 00078513 mv a0,a5 800002e0: e35ff0ef jal ra,80000114 800002e4: 810007b7 lui a5,0x81000 -800002e8: 09478513 addi a0,a5,148 # 81000094 +800002e8: 09478513 addi a0,a5,148 # 81000094 800002ec: dedff0ef jal ra,800000d8 800002f0: 810007b7 lui a5,0x81000 -800002f4: 17878793 addi a5,a5,376 # 81000178 +800002f4: 1ac78793 addi a5,a5,428 # 810001ac 800002f8: 0047a783 lw a5,4(a5) 800002fc: 00078513 mv a0,a5 80000300: e15ff0ef jal ra,80000114 80000304: 810007b7 lui a5,0x81000 -80000308: 09478513 addi a0,a5,148 # 81000094 +80000308: 09478513 addi a0,a5,148 # 81000094 8000030c: dcdff0ef jal ra,800000d8 80000310: 810007b7 lui a5,0x81000 -80000314: 17878793 addi a5,a5,376 # 81000178 +80000314: 1ac78793 addi a5,a5,428 # 810001ac 80000318: 0087a783 lw a5,8(a5) 8000031c: 00078513 mv a0,a5 80000320: df5ff0ef jal ra,80000114 80000324: 810007b7 lui a5,0x81000 -80000328: 09478513 addi a0,a5,148 # 81000094 +80000328: 09478513 addi a0,a5,148 # 81000094 8000032c: dadff0ef jal ra,800000d8 80000330: 810007b7 lui a5,0x81000 -80000334: 17878793 addi a5,a5,376 # 81000178 +80000334: 1ac78793 addi a5,a5,428 # 810001ac 80000338: 00c7a783 lw a5,12(a5) 8000033c: 00078513 mv a0,a5 80000340: dd5ff0ef jal ra,80000114 80000344: 810007b7 lui a5,0x81000 -80000348: 09478513 addi a0,a5,148 # 81000094 +80000348: 09478513 addi a0,a5,148 # 81000094 8000034c: d8dff0ef jal ra,800000d8 80000350: 00000013 nop 80000354: 01c12083 lw ra,28(sp) @@ -289,7 +289,7 @@ Disassembly of section .text: 800003bc: 810007b7 lui a5,0x81000 800003c0: fec42703 lw a4,-20(s0) 800003c4: 00271713 slli a4,a4,0x2 -800003c8: 1f478793 addi a5,a5,500 # 810001f4 +800003c8: 22878793 addi a5,a5,552 # 81000228 800003cc: 00f707b3 add a5,a4,a5 800003d0: 00a00713 li a4,10 800003d4: 00e7a023 sw a4,0(a5) @@ -297,7 +297,7 @@ Disassembly of section .text: 800003dc: 810007b7 lui a5,0x81000 800003e0: fec42703 lw a4,-20(s0) 800003e4: 00271713 slli a4,a4,0x2 -800003e8: 1f478793 addi a5,a5,500 # 810001f4 +800003e8: 22878793 addi a5,a5,552 # 81000228 800003ec: 00f707b3 add a5,a4,a5 800003f0: 00b00713 li a4,11 800003f4: 00e7a023 sw a4,0(a5) @@ -314,7 +314,7 @@ Disassembly of section .text: 80000420: 810007b7 lui a5,0x81000 80000424: fec42703 lw a4,-20(s0) 80000428: 00271713 slli a4,a4,0x2 -8000042c: 1f478793 addi a5,a5,500 # 810001f4 +8000042c: 22878793 addi a5,a5,552 # 81000228 80000430: 00f707b3 add a5,a4,a5 80000434: 00c00713 li a4,12 80000438: 00e7a023 sw a4,0(a5) @@ -322,42 +322,42 @@ Disassembly of section .text: 80000440: 810007b7 lui a5,0x81000 80000444: fec42703 lw a4,-20(s0) 80000448: 00271713 slli a4,a4,0x2 -8000044c: 1f478793 addi a5,a5,500 # 810001f4 +8000044c: 22878793 addi a5,a5,552 # 81000228 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: 1f47a783 lw a5,500(a5) # 810001f4 +80000468: 2287a783 lw a5,552(a5) # 81000228 8000046c: 00078513 mv a0,a5 80000470: ca5ff0ef jal ra,80000114 80000474: 810007b7 lui a5,0x81000 -80000478: 09478513 addi a0,a5,148 # 81000094 +80000478: 09478513 addi a0,a5,148 # 81000094 8000047c: c5dff0ef jal ra,800000d8 80000480: 810007b7 lui a5,0x81000 -80000484: 1f478793 addi a5,a5,500 # 810001f4 +80000484: 22878793 addi a5,a5,552 # 81000228 80000488: 0047a783 lw a5,4(a5) 8000048c: 00078513 mv a0,a5 80000490: c85ff0ef jal ra,80000114 80000494: 810007b7 lui a5,0x81000 -80000498: 09478513 addi a0,a5,148 # 81000094 +80000498: 09478513 addi a0,a5,148 # 81000094 8000049c: c3dff0ef jal ra,800000d8 800004a0: 810007b7 lui a5,0x81000 -800004a4: 1f478793 addi a5,a5,500 # 810001f4 +800004a4: 22878793 addi a5,a5,552 # 81000228 800004a8: 0087a783 lw a5,8(a5) 800004ac: 00078513 mv a0,a5 800004b0: c65ff0ef jal ra,80000114 800004b4: 810007b7 lui a5,0x81000 -800004b8: 09478513 addi a0,a5,148 # 81000094 +800004b8: 09478513 addi a0,a5,148 # 81000094 800004bc: c1dff0ef jal ra,800000d8 800004c0: 810007b7 lui a5,0x81000 -800004c4: 1f478793 addi a5,a5,500 # 810001f4 +800004c4: 22878793 addi a5,a5,552 # 81000228 800004c8: 00c7a783 lw a5,12(a5) 800004cc: 00078513 mv a0,a5 800004d0: c45ff0ef jal ra,80000114 800004d4: 810007b7 lui a5,0x81000 -800004d8: 09478513 addi a0,a5,148 # 81000094 +800004d8: 09478513 addi a0,a5,148 # 81000094 800004dc: bfdff0ef jal ra,800000d8 800004e0: 00000013 nop 800004e4: 01c12083 lw ra,28(sp) @@ -375,7 +375,7 @@ Disassembly of section .text: 8000050c: 810007b7 lui a5,0x81000 80000510: fec42703 lw a4,-20(s0) 80000514: 00271713 slli a4,a4,0x2 -80000518: 1e478793 addi a5,a5,484 # 810001e4 +80000518: 21878793 addi a5,a5,536 # 81000218 8000051c: 00f707b3 add a5,a4,a5 80000520: fec42703 lw a4,-20(s0) 80000524: 00e7a023 sw a4,0(a5) @@ -395,42 +395,42 @@ Disassembly of section .text: 80000554: 00812c23 sw s0,24(sp) 80000558: 02010413 addi s0,sp,32 8000055c: 800007b7 lui a5,0x80000 -80000560: 4f478793 addi a5,a5,1268 # 800004f4 +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: 1e47a783 lw a5,484(a5) # 810001e4 +8000057c: 2187a783 lw a5,536(a5) # 81000218 80000580: 00078513 mv a0,a5 80000584: b91ff0ef jal ra,80000114 80000588: 810007b7 lui a5,0x81000 -8000058c: 09478513 addi a0,a5,148 # 81000094 +8000058c: 09478513 addi a0,a5,148 # 81000094 80000590: b49ff0ef jal ra,800000d8 80000594: 810007b7 lui a5,0x81000 -80000598: 1e478793 addi a5,a5,484 # 810001e4 +80000598: 21878793 addi a5,a5,536 # 81000218 8000059c: 0047a783 lw a5,4(a5) 800005a0: 00078513 mv a0,a5 800005a4: b71ff0ef jal ra,80000114 800005a8: 810007b7 lui a5,0x81000 -800005ac: 09478513 addi a0,a5,148 # 81000094 +800005ac: 09478513 addi a0,a5,148 # 81000094 800005b0: b29ff0ef jal ra,800000d8 800005b4: 810007b7 lui a5,0x81000 -800005b8: 1e478793 addi a5,a5,484 # 810001e4 +800005b8: 21878793 addi a5,a5,536 # 81000218 800005bc: 0087a783 lw a5,8(a5) 800005c0: 00078513 mv a0,a5 800005c4: b51ff0ef jal ra,80000114 800005c8: 810007b7 lui a5,0x81000 -800005cc: 09478513 addi a0,a5,148 # 81000094 +800005cc: 09478513 addi a0,a5,148 # 81000094 800005d0: b09ff0ef jal ra,800000d8 800005d4: 810007b7 lui a5,0x81000 -800005d8: 1e478793 addi a5,a5,484 # 810001e4 +800005d8: 21878793 addi a5,a5,536 # 81000218 800005dc: 00c7a783 lw a5,12(a5) 800005e0: 00078513 mv a0,a5 800005e4: b31ff0ef jal ra,80000114 800005e8: 810007b7 lui a5,0x81000 -800005ec: 09478513 addi a0,a5,148 # 81000094 +800005ec: 09478513 addi a0,a5,148 # 81000094 800005f0: ae9ff0ef jal ra,800000d8 800005f4: 00000013 nop 800005f8: 01c12083 lw ra,28(sp) @@ -445,7 +445,7 @@ Disassembly of section .text: 80000614: 01010413 addi s0,sp,16 80000618: c6dff0ef jal ra,80000284 8000061c: 810007b7 lui a5,0x81000 -80000620: 09878513 addi a0,a5,152 # 81000098 +80000620: 09878513 addi a0,a5,152 # 81000098 80000624: ab5ff0ef jal ra,800000d8 80000628: 00400513 li a0,4 8000062c: a3dff0ef jal ra,80000068 @@ -453,7 +453,7 @@ Disassembly of section .text: 80000634: 00100513 li a0,1 80000638: a31ff0ef jal ra,80000068 8000063c: 810007b7 lui a5,0x81000 -80000640: 0ac78513 addi a0,a5,172 # 810000ac +80000640: 0ac78513 addi a0,a5,172 # 810000ac 80000644: a95ff0ef jal ra,800000d8 80000648: f05ff0ef jal ra,8000054c 8000064c: 00000013 nop @@ -469,14 +469,28 @@ Disassembly of section .text: 8000066c: 01010413 addi s0,sp,16 80000670: 00100513 li a0,1 80000674: 9f5ff0ef jal ra,80000068 -80000678: c0dff0ef jal ra,80000284 -8000067c: ed1ff0ef jal ra,8000054c -80000680: 00000793 li a5,0 -80000684: 00078513 mv a0,a5 -80000688: 00c12083 lw ra,12(sp) -8000068c: 00812403 lw s0,8(sp) -80000690: 01010113 addi sp,sp,16 -80000694: 00008067 ret +80000678: 810007b7 lui a5,0x81000 +8000067c: 0f878513 addi a0,a5,248 # 810000f8 +80000680: a59ff0ef jal ra,800000d8 +80000684: c01ff0ef jal ra,80000284 +80000688: 810007b7 lui a5,0x81000 +8000068c: 10878513 addi a0,a5,264 # 81000108 +80000690: a49ff0ef jal ra,800000d8 +80000694: 00400513 li a0,4 +80000698: 9d1ff0ef jal ra,80000068 +8000069c: cc9ff0ef jal ra,80000364 +800006a0: 00100513 li a0,1 +800006a4: 9c5ff0ef jal ra,80000068 +800006a8: 810007b7 lui a5,0x81000 +800006ac: 11c78513 addi a0,a5,284 # 8100011c +800006b0: a29ff0ef jal ra,800000d8 +800006b4: e99ff0ef jal ra,8000054c +800006b8: 00000793 li a5,0 +800006bc: 00078513 mv a0,a5 +800006c0: 00c12083 lw ra,12(sp) +800006c4: 00812403 lw s0,8(sp) +800006c8: 01010113 addi sp,sp,16 +800006cc: 00008067 ret Disassembly of section .rodata: @@ -588,148 +602,169 @@ Disassembly of section .rodata: 810000f0: 0065 c.nop 25 810000f2: 0000 unimp 810000f4: 0066 c.slli zero,0x19 +810000f6: 0000 unimp +810000f8: 706d6953 0x706d6953 +810000fc: 656c flw fa1,76(a0) +810000fe: 4d20 lw s0,88(a0) +81000100: 6961 lui s2,0x18 +81000102: 0a6e slli s4,s4,0x1b +81000104: 0000 unimp +81000106: 0000 unimp +81000108: 6574 flw fa3,76(a0) +8100010a: 645f7473 csrrci s0,0x645,30 +8100010e: 7669 lui a2,0xffffa +81000110: 7265 lui tp,0xffff9 +81000112: 636e6567 0x636e6567 +81000116: 0a65 addi s4,s4,25 +81000118: 0000 unimp +8100011a: 0000 unimp +8100011c: 6574 flw fa3,76(a0) +8100011e: 775f7473 csrrci s0,0x775,30 +81000122: 77617073 csrci 0x776,2 +81000126: 0a6e slli s4,s4,0x1b + ... Disassembly of section .data: -810000f8 : -810000f8: 0000 unimp -810000fa: 8100 0x8100 -810000fc: 0004 0x4 -810000fe: 8100 0x8100 -81000100: 0008 0x8 -81000102: 8100 0x8100 -81000104: 000c 0xc -81000106: 8100 0x8100 -81000108: 0010 0x10 -8100010a: 8100 0x8100 -8100010c: 0014 0x14 -8100010e: 8100 0x8100 -81000110: 0018 0x18 -81000112: 8100 0x8100 -81000114: 001c 0x1c -81000116: 8100 0x8100 -81000118: 0020 addi s0,sp,8 -8100011a: 8100 0x8100 -8100011c: 0024 addi s1,sp,8 -8100011e: 8100 0x8100 -81000120: 0028 addi a0,sp,8 -81000122: 8100 0x8100 -81000124: 002c addi a1,sp,8 -81000126: 8100 0x8100 -81000128: 0030 addi a2,sp,8 -8100012a: 8100 0x8100 -8100012c: 0034 addi a3,sp,8 +8100012c : +8100012c: 0000 unimp 8100012e: 8100 0x8100 -81000130: 0038 addi a4,sp,8 +81000130: 0004 0x4 81000132: 8100 0x8100 -81000134: 003c addi a5,sp,8 +81000134: 0008 0x8 81000136: 8100 0x8100 - -81000138 : -81000138: 0044 addi s1,sp,4 +81000138: 000c 0xc 8100013a: 8100 0x8100 -8100013c: 0048 addi a0,sp,4 +8100013c: 0010 0x10 8100013e: 8100 0x8100 -81000140: 004c addi a1,sp,4 +81000140: 0014 0x14 81000142: 8100 0x8100 -81000144: 0050 addi a2,sp,4 +81000144: 0018 0x18 81000146: 8100 0x8100 -81000148: 0054 addi a3,sp,4 +81000148: 001c 0x1c 8100014a: 8100 0x8100 -8100014c: 0058 addi a4,sp,4 +8100014c: 0020 addi s0,sp,8 8100014e: 8100 0x8100 -81000150: 005c addi a5,sp,4 +81000150: 0024 addi s1,sp,8 81000152: 8100 0x8100 -81000154: 0060 addi s0,sp,12 +81000154: 0028 addi a0,sp,8 81000156: 8100 0x8100 -81000158: 0064 addi s1,sp,12 +81000158: 002c addi a1,sp,8 8100015a: 8100 0x8100 -8100015c: 0068 addi a0,sp,12 +8100015c: 0030 addi a2,sp,8 8100015e: 8100 0x8100 -81000160: 006c addi a1,sp,12 +81000160: 0034 addi a3,sp,8 81000162: 8100 0x8100 -81000164: 0070 addi a2,sp,12 +81000164: 0038 addi a4,sp,8 81000166: 8100 0x8100 -81000168: 0074 addi a3,sp,12 +81000168: 003c addi a5,sp,8 8100016a: 8100 0x8100 -8100016c: 0078 addi a4,sp,12 -8100016e: 8100 0x8100 -81000170: 007c addi a5,sp,12 -81000172: 8100 0x8100 -81000174: 0080 addi s0,sp,64 -81000176: 8100 0x8100 -81000178 : -81000178: 0005 c.nop 1 -8100017a: 0000 unimp -8100017c: 0005 c.nop 1 -8100017e: 0000 unimp -81000180: 0005 c.nop 1 -81000182: 0000 unimp -81000184: 0005 c.nop 1 +8100016c : +8100016c: 0044 addi s1,sp,4 +8100016e: 8100 0x8100 +81000170: 0048 addi a0,sp,4 +81000172: 8100 0x8100 +81000174: 004c addi a1,sp,4 +81000176: 8100 0x8100 +81000178: 0050 addi a2,sp,4 +8100017a: 8100 0x8100 +8100017c: 0054 addi a3,sp,4 +8100017e: 8100 0x8100 +81000180: 0058 addi a4,sp,4 +81000182: 8100 0x8100 +81000184: 005c addi a5,sp,4 +81000186: 8100 0x8100 +81000188: 0060 addi s0,sp,12 +8100018a: 8100 0x8100 +8100018c: 0064 addi s1,sp,12 +8100018e: 8100 0x8100 +81000190: 0068 addi a0,sp,12 +81000192: 8100 0x8100 +81000194: 006c addi a1,sp,12 +81000196: 8100 0x8100 +81000198: 0070 addi a2,sp,12 +8100019a: 8100 0x8100 +8100019c: 0074 addi a3,sp,12 +8100019e: 8100 0x8100 +810001a0: 0078 addi a4,sp,12 +810001a2: 8100 0x8100 +810001a4: 007c addi a5,sp,12 +810001a6: 8100 0x8100 +810001a8: 0080 addi s0,sp,64 +810001aa: 8100 0x8100 + +810001ac : +810001ac: 0005 c.nop 1 +810001ae: 0000 unimp +810001b0: 0005 c.nop 1 +810001b2: 0000 unimp +810001b4: 0005 c.nop 1 +810001b6: 0000 unimp +810001b8: 0005 c.nop 1 ... -81000188 : -81000188: 00b8 addi a4,sp,72 -8100018a: 8100 0x8100 -8100018c: 00bc addi a5,sp,72 -8100018e: 8100 0x8100 -81000190: 00c0 addi s0,sp,68 -81000192: 8100 0x8100 -81000194: 00c4 addi s1,sp,68 -81000196: 8100 0x8100 -81000198: 00c8 addi a0,sp,68 -8100019a: 8100 0x8100 -8100019c: 00cc addi a1,sp,68 -8100019e: 8100 0x8100 -810001a0: 00d0 addi a2,sp,68 -810001a2: 8100 0x8100 -810001a4: 00d4 addi a3,sp,68 -810001a6: 8100 0x8100 -810001a8: 00d8 addi a4,sp,68 -810001aa: 8100 0x8100 -810001ac: 00dc addi a5,sp,68 -810001ae: 8100 0x8100 -810001b0: 00e0 addi s0,sp,76 -810001b2: 8100 0x8100 -810001b4: 00e4 addi s1,sp,76 -810001b6: 8100 0x8100 -810001b8: 00e8 addi a0,sp,76 -810001ba: 8100 0x8100 -810001bc: 00ec addi a1,sp,76 +810001bc : +810001bc: 00b8 addi a4,sp,72 810001be: 8100 0x8100 -810001c0: 00f0 addi a2,sp,76 +810001c0: 00bc addi a5,sp,72 810001c2: 8100 0x8100 -810001c4: 00f4 addi a3,sp,76 +810001c4: 00c0 addi s0,sp,68 810001c6: 8100 0x8100 +810001c8: 00c4 addi s1,sp,68 +810001ca: 8100 0x8100 +810001cc: 00c8 addi a0,sp,68 +810001ce: 8100 0x8100 +810001d0: 00cc addi a1,sp,68 +810001d2: 8100 0x8100 +810001d4: 00d0 addi a2,sp,68 +810001d6: 8100 0x8100 +810001d8: 00d4 addi a3,sp,68 +810001da: 8100 0x8100 +810001dc: 00d8 addi a4,sp,68 +810001de: 8100 0x8100 +810001e0: 00dc addi a5,sp,68 +810001e2: 8100 0x8100 +810001e4: 00e0 addi s0,sp,76 +810001e6: 8100 0x8100 +810001e8: 00e4 addi s1,sp,76 +810001ea: 8100 0x8100 +810001ec: 00e8 addi a0,sp,76 +810001ee: 8100 0x8100 +810001f0: 00ec addi a1,sp,76 +810001f2: 8100 0x8100 +810001f4: 00f0 addi a2,sp,76 +810001f6: 8100 0x8100 +810001f8: 00f4 addi a3,sp,76 +810001fa: 8100 0x8100 -810001c8 : -810001c8: 0000 unimp -810001ca: 0000 unimp -810001cc: 0001 nop -810001ce: 0000 unimp -810001d0: 0002 c.slli64 zero -810001d2: 0000 unimp -810001d4: 00000003 lb zero,0(zero) # 0 <_start-0x80000000> +810001fc : +810001fc: 0000 unimp +810001fe: 0000 unimp +81000200: 0001 nop +81000202: 0000 unimp +81000204: 0002 c.slli64 zero +81000206: 0000 unimp +81000208: 00000003 lb zero,0(zero) # 0 <_start-0x80000000> Disassembly of section .bss: -810001d8 : -810001d8: 0000 unimp +8100020c : +8100020c: 0000 unimp ... -810001dc : -810001dc: 0000 unimp +81000210 : +81000210: 0000 unimp ... -810001e0 : -810001e0: 0000 unimp +81000214 : +81000214: 0000 unimp ... -810001e4 : +81000218 : ... -810001f4 : +81000228 : ... Disassembly of section .comment: diff --git a/runtime/mains/simple/vx_simple_main.elf b/runtime/mains/simple/vx_simple_main.elf index e4cfca16..509549da 100644 Binary files a/runtime/mains/simple/vx_simple_main.elf and b/runtime/mains/simple/vx_simple_main.elf differ diff --git a/runtime/mains/simple/vx_simple_main.hex b/runtime/mains/simple/vx_simple_main.hex index 61a2fb60..ed976181 100644 --- a/runtime/mains/simple/vx_simple_main.hex +++ b/runtime/mains/simple/vx_simple_main.hex @@ -18,7 +18,7 @@ :100100001301C10067800000B702010023A0B20004 :1001100067800000130101FE232E1100232C8100B3 :10012000130401022326A4FEB70700810327C4FE9F -:10013000131727009387870FB307F70083A70700DC +:10013000131727009387C712B307F70083A7070099 :1001400013850700EFF05FF9130000008320C10161 :10015000032481011301010267800000130101FEE5 :10016000232E1100232C8100130401022326A4FE58 @@ -26,31 +26,31 @@ :10018000EFF05FF9B707008113850704EFF0DFF4A4 :10019000130000008320C101032481011301010227 :1001A00067800000130101FE232E1100232C810023 -:1001B00013040102B707008183A7071E13850700F8 -:1001C000EFF09FEAB707008103A7C71DB7070081BB -:1001D00083A7871D13850700E7000700EFF0DFEA1C +:1001B00013040102B707008183A7472113850700B5 +:1001C000EFF09FEAB707008103A70721B707008177 +:1001D00083A7C72013850700E7000700EFF0DFEAD9 :1001E0002326A4FE8327C4FE6388070013050000AE :1001F000EFF09FE76F00C00013051000EFF0DFE69F :10020000130000008320C1010324810113010102B6 :1002100067800000130101FE232E1100232C8100B2 :10022000130401022326A4FE2324B4FE2322C4FEC9 -:100230002320D4FEB7070081032744FE23AEE71C2A -:10024000B7070081032704FE23ACE71CB707008132 -:10025000032784FE23A0E71EB70700809387471A71 +:100230002320D4FEB7070081032744FE23A8E7202C +:10024000B7070081032704FE23A6E720B707008134 +:10025000032784FE23AAE720B70700809387471A65 :10026000938507000325C4FEEFF09FDFEFF09FF3B7 :10027000130000008320C101032481011301010246 :1002800067800000130101FE232E1100232C810042 :1002900013040102B707008113854708EFF0DFE37D :1002A00013054000EFF05FDCEFF09FDE2326A4FE95 :1002B0000327C4FEB70700818326C4FE9396260059 -:1002C00093878717B387F60023A0E7001305100074 -:1002D000EFF09FD9B707008183A787171385070021 +:1002C0009387C71AB387F60023A0E7001305100031 +:1002D000EFF09FD9B707008183A7C71A13850700DE :1002E000EFF05FE3B707008113854709EFF0DFDE2A -:1002F000B70700819387871783A7470013850700F7 +:1002F000B70700819387C71A83A7470013850700B4 :10030000EFF05FE1B707008113854709EFF0DFDC0D -:10031000B70700819387871783A787001385070096 +:10031000B70700819387C71A83A787001385070053 :10032000EFF05FDFB707008113854709EFF0DFDAF1 -:10033000B70700819387871783A7C7001385070036 +:10033000B70700819387C71A83A7C70013850700F3 :10034000EFF05FDDB707008113854709EFF0DFD8D5 :10035000130000008320C101032481011301010265 :1003600067800000130101FE232E1100232C810061 @@ -59,40 +59,40 @@ :10039000EFF09FCE8347B4FE638407068327C4FE35 :1003A00093B717002305F4FE8347A4FE13850700C7 :1003B000EFF09FCC8347A4FE63820702B70700815A -:1003C0000327C4FE131727009387471FB307F700BF +:1003C0000327C4FE1317270093878722B307F7007C :1003D0001307A00023A0E7006F000002B707008109 -:1003E0000327C4FE131727009387471FB307F7009F +:1003E0000327C4FE1317270093878722B307F7005C :1003F0001307B00023A0E700EFF09FC86F0040068E :100400008327C4FE93B73700A304F4FE834794FE0A :1004100013850700EFF05FC6834794FE63820702EF -:10042000B70700810327C4FE131727009387471FD0 +:10042000B70700810327C4FE13172700938787228D :10043000B307F7001307C00023A0E7006F00000216 -:10044000B70700810327C4FE131727009387471FB0 +:10044000B70700810327C4FE13172700938787226D :10045000B307F7001307D00023A0E700EFF05FC257 -:10046000EFF01FC2B707008183A7471F138507005E +:10046000EFF01FC2B707008183A78722138507001B :10047000EFF05FCAB707008113854709EFF0DFC5CA -:10048000B70700819387471F83A74700138507009D +:10048000B70700819387872283A74700138507005A :10049000EFF05FC8B707008113854709EFF0DFC3AE -:1004A000B70700819387471F83A78700138507003D +:1004A000B70700819387872283A7870013850700FA :1004B000EFF05FC6B707008113854709EFF0DFC192 -:1004C000B70700819387471F83A7C70013850700DD +:1004C000B70700819387872283A7C700138507009A :1004D000EFF05FC4B707008113854709EFF0DFBF76 :1004E000130000008320C1010324810113010102D4 :1004F00067800000130101FE232E1100232C8100D0 :1005000013040102EFF05FB82326A4FEB7070081B1 -:100510000327C4FE131727009387471EB307F7006E +:100510000327C4FE1317270093878721B307F7002B :100520000327C4FE23A0E7008327C4FE63860700D9 :1005300013050000EFF05FB3130000008320C1013A :10054000032481011301010267800000130101FEF1 :10055000232E1100232C810013040102B707008011 :100560009387474F2326F4FE8325C4FE13054000DE -:10057000EFF01FAFEFF01FF8B707008183A7471E0A +:10057000EFF01FAFEFF01FF8B707008183A78721C7 :1005800013850700EFF01FB9B707008113854709EE -:10059000EFF09FB4B70700819387471E83A74700FA +:10059000EFF09FB4B70700819387872183A74700B7 :1005A00013850700EFF01FB7B707008113854709D0 -:1005B000EFF09FB2B70700819387471E83A787009C +:1005B000EFF09FB2B70700819387872183A7870059 :1005C00013850700EFF01FB5B707008113854709B2 -:1005D000EFF09FB0B70700819387471E83A7C7003E +:1005D000EFF09FB0B70700819387872183A7C700FB :1005E00013850700EFF01FB3B70700811385470994 :1005F000EFF09FAE130000008320C10103248101AE :100600001301010267800000130101FF232611007E @@ -102,9 +102,12 @@ :100640001385C70AEFF05FA9EFF05FF01300000019 :100650008320C10003248100130101016780000091 :10066000130101FF2326110023248100130401013B -:1006700013051000EFF05F9FEFF0DFC0EFF01FED0C -:1006800093070000138507008320C1000324810025 -:08069000130101016780000065 +:1006700013051000EFF05F9FB70700811385870F08 +:10068000EFF09FA5EFF01FC0B7070081138587101B +:10069000EFF09FA413054000EFF01F9DEFF09FCCFB +:1006A00013051000EFF05F9CB70700811385C71199 +:1006B000EFF09FA2EFF09FE993070000138507007A +:1006C0008320C10003248100130101016780000021 :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A @@ -121,20 +124,23 @@ :1000C0003200000033000000340000003500000062 :1000D0003600000037000000380000003900000042 :1000E0006100000062000000630000006400000086 -:0600F0006500000066003F -:1000F8000000008104000081080000810C000081DC -:100108001000008114000081180000811C0000818B -:100118002000008124000081280000812C0000813B -:100128003000008134000081380000813C000081EB -:1001380044000081480000814C000081500000818B -:1001480054000081580000815C000081600000813B -:1001580064000081680000816C00008170000081EB -:1001680074000081780000817C000081800000819B -:100178000500000005000000050000000500000063 -:10018800B8000081BC000081C0000081C40000816B -:10019800C8000081CC000081D0000081D40000811B -:1001A800D8000081DC000081E0000081E4000081CB -:1001B800E8000081EC000081F0000081F40000817B -:1001C8000000000001000000020000000300000021 +:1000F000650000006600000053696D706C65204D5E +:1001000061696E0A00000000746573745F6469764B +:10011000657267656E63650A00000000746573743C +:090120005F77737061776E0A00CD +:10012C000000008104000081080000810C000081A7 +:10013C001000008114000081180000811C00008157 +:10014C002000008124000081280000812C00008107 +:10015C003000008134000081380000813C000081B7 +:10016C0044000081480000814C0000815000008157 +:10017C0054000081580000815C0000816000008107 +:10018C0064000081680000816C00008170000081B7 +:10019C0074000081780000817C0000818000008167 +:1001AC00050000000500000005000000050000002F +:1001BC00B8000081BC000081C0000081C400008137 +:1001CC00C8000081CC000081D0000081D4000081E7 +:1001DC00D8000081DC000081E0000081E400008197 +:1001EC00E8000081EC000081F0000081F400008147 +:1001FC0000000000010000000200000003000000ED :040000058000000077 :00000001FF