diff options
author | Prashanth Mundkur <prashanth.mundkur@gmail.com> | 2019-09-12 17:33:52 -0700 |
---|---|---|
committer | Prashanth Mundkur <prashanth.mundkur@gmail.com> | 2019-09-12 17:33:52 -0700 |
commit | bcb00de616cad2bc0342076407b6e57bafc0f563 (patch) | |
tree | 532353cea834ecdd653478fef020fe9822777d09 | |
parent | 86ff4e00905f1202bffb7e2be3709030d2cba1c2 (diff) | |
download | sail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.zip sail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.tar.gz sail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.tar.bz2 |
Add floating-point tests.fdext
128 files changed, 54414 insertions, 0 deletions
diff --git a/test/riscv-tests/rv32ud-p-fadd.dump b/test/riscv-tests/rv32ud-p-fadd.dump new file mode 100644 index 0000000..4c152c5 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fadd.dump @@ -0,0 +1,478 @@ + +rv32ud-p-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00053007 fld ft0,0(a0) +80000118: 00853087 fld ft1,8(a0) +8000011c: 01053107 fld ft2,16(a0) +80000120: 01852683 lw a3,24(a0) +80000124: 01c52303 lw t1,28(a0) +80000128: 021071d3 fadd.d ft3,ft0,ft1 +8000012c: 00353027 fsd ft3,0(a0) +80000130: 00452383 lw t2,4(a0) +80000134: 00052503 lw a0,0(a0) +80000138: 001015f3 fsflags a1,zero +8000013c: 00000613 li a2,0 +80000140: 26d51a63 bne a0,a3,800003b4 <fail> +80000144: 26731863 bne t1,t2,800003b4 <fail> +80000148: 26c59663 bne a1,a2,800003b4 <fail> + +8000014c <test_3>: +8000014c: 00300193 li gp,3 +80000150: 00002517 auipc a0,0x2 +80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data> +80000158: 00053007 fld ft0,0(a0) +8000015c: 00853087 fld ft1,8(a0) +80000160: 01053107 fld ft2,16(a0) +80000164: 01852683 lw a3,24(a0) +80000168: 01c52303 lw t1,28(a0) +8000016c: 021071d3 fadd.d ft3,ft0,ft1 +80000170: 00353027 fsd ft3,0(a0) +80000174: 00452383 lw t2,4(a0) +80000178: 00052503 lw a0,0(a0) +8000017c: 001015f3 fsflags a1,zero +80000180: 00100613 li a2,1 +80000184: 22d51863 bne a0,a3,800003b4 <fail> +80000188: 22731663 bne t1,t2,800003b4 <fail> +8000018c: 22c59463 bne a1,a2,800003b4 <fail> + +80000190 <test_4>: +80000190: 00400193 li gp,4 +80000194: 00002517 auipc a0,0x2 +80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data> +8000019c: 00053007 fld ft0,0(a0) +800001a0: 00853087 fld ft1,8(a0) +800001a4: 01053107 fld ft2,16(a0) +800001a8: 01852683 lw a3,24(a0) +800001ac: 01c52303 lw t1,28(a0) +800001b0: 021071d3 fadd.d ft3,ft0,ft1 +800001b4: 00353027 fsd ft3,0(a0) +800001b8: 00452383 lw t2,4(a0) +800001bc: 00052503 lw a0,0(a0) +800001c0: 001015f3 fsflags a1,zero +800001c4: 00100613 li a2,1 +800001c8: 1ed51663 bne a0,a3,800003b4 <fail> +800001cc: 1e731463 bne t1,t2,800003b4 <fail> +800001d0: 1ec59263 bne a1,a2,800003b4 <fail> + +800001d4 <test_5>: +800001d4: 00500193 li gp,5 +800001d8: 00002517 auipc a0,0x2 +800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data> +800001e0: 00053007 fld ft0,0(a0) +800001e4: 00853087 fld ft1,8(a0) +800001e8: 01053107 fld ft2,16(a0) +800001ec: 01852683 lw a3,24(a0) +800001f0: 01c52303 lw t1,28(a0) +800001f4: 0a1071d3 fsub.d ft3,ft0,ft1 +800001f8: 00353027 fsd ft3,0(a0) +800001fc: 00452383 lw t2,4(a0) +80000200: 00052503 lw a0,0(a0) +80000204: 001015f3 fsflags a1,zero +80000208: 00000613 li a2,0 +8000020c: 1ad51463 bne a0,a3,800003b4 <fail> +80000210: 1a731263 bne t1,t2,800003b4 <fail> +80000214: 1ac59063 bne a1,a2,800003b4 <fail> + +80000218 <test_6>: +80000218: 00600193 li gp,6 +8000021c: 00002517 auipc a0,0x2 +80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data> +80000224: 00053007 fld ft0,0(a0) +80000228: 00853087 fld ft1,8(a0) +8000022c: 01053107 fld ft2,16(a0) +80000230: 01852683 lw a3,24(a0) +80000234: 01c52303 lw t1,28(a0) +80000238: 0a1071d3 fsub.d ft3,ft0,ft1 +8000023c: 00353027 fsd ft3,0(a0) +80000240: 00452383 lw t2,4(a0) +80000244: 00052503 lw a0,0(a0) +80000248: 001015f3 fsflags a1,zero +8000024c: 00100613 li a2,1 +80000250: 16d51263 bne a0,a3,800003b4 <fail> +80000254: 16731063 bne t1,t2,800003b4 <fail> +80000258: 14c59e63 bne a1,a2,800003b4 <fail> + +8000025c <test_7>: +8000025c: 00700193 li gp,7 +80000260: 00002517 auipc a0,0x2 +80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data> +80000268: 00053007 fld ft0,0(a0) +8000026c: 00853087 fld ft1,8(a0) +80000270: 01053107 fld ft2,16(a0) +80000274: 01852683 lw a3,24(a0) +80000278: 01c52303 lw t1,28(a0) +8000027c: 0a1071d3 fsub.d ft3,ft0,ft1 +80000280: 00353027 fsd ft3,0(a0) +80000284: 00452383 lw t2,4(a0) +80000288: 00052503 lw a0,0(a0) +8000028c: 001015f3 fsflags a1,zero +80000290: 00100613 li a2,1 +80000294: 12d51063 bne a0,a3,800003b4 <fail> +80000298: 10731e63 bne t1,t2,800003b4 <fail> +8000029c: 10c59c63 bne a1,a2,800003b4 <fail> + +800002a0 <test_8>: +800002a0: 00800193 li gp,8 +800002a4: 00002517 auipc a0,0x2 +800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_8_data> +800002ac: 00053007 fld ft0,0(a0) +800002b0: 00853087 fld ft1,8(a0) +800002b4: 01053107 fld ft2,16(a0) +800002b8: 01852683 lw a3,24(a0) +800002bc: 01c52303 lw t1,28(a0) +800002c0: 121071d3 fmul.d ft3,ft0,ft1 +800002c4: 00353027 fsd ft3,0(a0) +800002c8: 00452383 lw t2,4(a0) +800002cc: 00052503 lw a0,0(a0) +800002d0: 001015f3 fsflags a1,zero +800002d4: 00000613 li a2,0 +800002d8: 0cd51e63 bne a0,a3,800003b4 <fail> +800002dc: 0c731c63 bne t1,t2,800003b4 <fail> +800002e0: 0cc59a63 bne a1,a2,800003b4 <fail> + +800002e4 <test_9>: +800002e4: 00900193 li gp,9 +800002e8: 00002517 auipc a0,0x2 +800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_9_data> +800002f0: 00053007 fld ft0,0(a0) +800002f4: 00853087 fld ft1,8(a0) +800002f8: 01053107 fld ft2,16(a0) +800002fc: 01852683 lw a3,24(a0) +80000300: 01c52303 lw t1,28(a0) +80000304: 121071d3 fmul.d ft3,ft0,ft1 +80000308: 00353027 fsd ft3,0(a0) +8000030c: 00452383 lw t2,4(a0) +80000310: 00052503 lw a0,0(a0) +80000314: 001015f3 fsflags a1,zero +80000318: 00100613 li a2,1 +8000031c: 08d51c63 bne a0,a3,800003b4 <fail> +80000320: 08731a63 bne t1,t2,800003b4 <fail> +80000324: 08c59863 bne a1,a2,800003b4 <fail> + +80000328 <test_10>: +80000328: 00a00193 li gp,10 +8000032c: 00002517 auipc a0,0x2 +80000330: dd450513 addi a0,a0,-556 # 80002100 <test_10_data> +80000334: 00053007 fld ft0,0(a0) +80000338: 00853087 fld ft1,8(a0) +8000033c: 01053107 fld ft2,16(a0) +80000340: 01852683 lw a3,24(a0) +80000344: 01c52303 lw t1,28(a0) +80000348: 121071d3 fmul.d ft3,ft0,ft1 +8000034c: 00353027 fsd ft3,0(a0) +80000350: 00452383 lw t2,4(a0) +80000354: 00052503 lw a0,0(a0) +80000358: 001015f3 fsflags a1,zero +8000035c: 00100613 li a2,1 +80000360: 04d51a63 bne a0,a3,800003b4 <fail> +80000364: 04731863 bne t1,t2,800003b4 <fail> +80000368: 04c59663 bne a1,a2,800003b4 <fail> + +8000036c <test_11>: +8000036c: 00b00193 li gp,11 +80000370: 00002517 auipc a0,0x2 +80000374: db050513 addi a0,a0,-592 # 80002120 <test_11_data> +80000378: 00053007 fld ft0,0(a0) +8000037c: 00853087 fld ft1,8(a0) +80000380: 01053107 fld ft2,16(a0) +80000384: 01852683 lw a3,24(a0) +80000388: 01c52303 lw t1,28(a0) +8000038c: 0a1071d3 fsub.d ft3,ft0,ft1 +80000390: 00353027 fsd ft3,0(a0) +80000394: 00452383 lw t2,4(a0) +80000398: 00052503 lw a0,0(a0) +8000039c: 001015f3 fsflags a1,zero +800003a0: 01000613 li a2,16 +800003a4: 00d51863 bne a0,a3,800003b4 <fail> +800003a8: 00731663 bne t1,t2,800003b4 <fail> +800003ac: 00c59463 bne a1,a2,800003b4 <fail> +800003b0: 00301c63 bne zero,gp,800003c8 <pass> + +800003b4 <fail>: +800003b4: 0ff0000f fence +800003b8: 00018063 beqz gp,800003b8 <fail+0x4> +800003bc: 00119193 slli gp,gp,0x1 +800003c0: 0011e193 ori gp,gp,1 +800003c4: 00000073 ecall + +800003c8 <pass>: +800003c8: 0ff0000f fence +800003cc: 00100193 li gp,1 +800003d0: 00000073 ecall +800003d4: c0001073 unimp +800003d8: 0000 unimp +800003da: 0000 unimp +800003dc: 0000 unimp +800003de: 0000 unimp +800003e0: 0000 unimp +800003e2: 0000 unimp +800003e4: 0000 unimp +800003e6: 0000 unimp +800003e8: 0000 unimp +800003ea: 0000 unimp +800003ec: 0000 unimp +800003ee: 0000 unimp +800003f0: 0000 unimp +800003f2: 0000 unimp +800003f4: 0000 unimp +800003f6: 0000 unimp +800003f8: 0000 unimp +800003fa: 0000 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4004 lw s1,0(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3ff0 fld fa2,248(a5) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 400c lw a1,0(s0) + +80002020 <test_3_data>: +80002020: 6666 flw fa2,88(sp) +80002022: 6666 flw fa2,88(sp) +80002024: 4c66 lw s8,88(sp) +80002026: 999ac093 xori ra,s5,-1639 +8000202a: 9999 andi a1,a1,-26 +8000202c: 9999 andi a1,a1,-26 +8000202e: 3ff1 jal 8000200a <test_2_data+0xa> +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 4800 lw s0,16(s0) +8000203e: xori ra,gp,-689 + +80002040 <test_4_data>: +80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> +80002042: 53c8 lw a0,36(a5) +80002044: 400921fb 0x400921fb +80002048: 8c3a mv s8,a4 +8000204a: e230 fsw fa2,64(a2) +8000204c: 798e flw fs3,224(sp) +8000204e: 3e45 jal 80001bfe <fromhost+0xbbe> +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 6ddf 5520 21fb 0x21fb55206ddf +8000205e: 4009 c.li zero,2 + +80002060 <test_5_data>: +80002060: 0000 unimp +80002062: 0000 unimp +80002064: 0000 unimp +80002066: 4004 lw s1,0(s0) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 3ff0 fld fa2,248(a5) +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 3ff8 fld fa4,248(a5) + +80002080 <test_6_data>: +80002080: 6666 flw fa2,88(sp) +80002082: 6666 flw fa2,88(sp) +80002084: 4c66 lw s8,88(sp) +80002086: 999ac093 xori ra,s5,-1639 +8000208a: 9999 andi a1,a1,-26 +8000208c: 9999 andi a1,a1,-26 +8000208e: bff1 j 8000206a <test_5_data+0xa> +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 4800 lw s0,16(s0) +8000209e: xori ra,gp,-689 + +800020a0 <test_7_data>: +800020a0: d4f1 beqz s1,8000206c <test_5_data+0xc> +800020a2: 53c8 lw a0,36(a5) +800020a4: 400921fb 0x400921fb +800020a8: 8c3a mv s8,a4 +800020aa: e230 fsw fa2,64(a2) +800020ac: 798e flw fs3,224(sp) +800020ae: 3e45 jal 80001c5e <fromhost+0xc1e> +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 52713c03 0x52713c03 +800020bc: 400921fb 0x400921fb + +800020c0 <test_8_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 4004 lw s1,0(s0) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3ff0 fld fa2,248(a5) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 4004 lw s1,0(s0) + +800020e0 <test_9_data>: +800020e0: 6666 flw fa2,88(sp) +800020e2: 6666 flw fa2,88(sp) +800020e4: 4c66 lw s8,88(sp) +800020e6: 999ac093 xori ra,s5,-1639 +800020ea: 9999 andi a1,a1,-26 +800020ec: 9999 andi a1,a1,-26 +800020ee: bff1 j 800020ca <test_8_data+0xa> +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0a3d addi s4,s4,15 +800020fa: 3a70a3d7 0x3a70a3d7 +800020fe: 4095 li ra,5 + +80002100 <test_10_data>: +80002100: d4f1 beqz s1,800020cc <test_8_data+0xc> +80002102: 53c8 lw a0,36(a5) +80002104: 400921fb 0x400921fb +80002108: 8c3a mv s8,a4 +8000210a: e230 fsw fa2,64(a2) +8000210c: 798e flw fs3,224(sp) +8000210e: 3e45 jal 80001cbe <fromhost+0xc7e> +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: ff09 bnez a4,80002032 <test_3_data+0x12> +8000211a: a5c1 j 800027da <_end+0x69a> +8000211c: ddc5 beqz a1,800020d4 <test_8_data+0x14> +8000211e: 3e60 fld fs0,248(a2) + +80002120 <test_11_data>: +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: 7ff0 flw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: 7ff8 flw fa4,124(a5) diff --git a/test/riscv-tests/rv32ud-p-fadd.elf b/test/riscv-tests/rv32ud-p-fadd.elf Binary files differnew file mode 100644 index 0000000..d183561 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fadd.elf diff --git a/test/riscv-tests/rv32ud-p-fclass.dump b/test/riscv-tests/rv32ud-p-fclass.dump new file mode 100644 index 0000000..c581415 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fclass.dump @@ -0,0 +1,277 @@ + +rv32ud-p-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00002517 auipc a0,0x2 +8000010c: ef850513 addi a0,a0,-264 # 80002000 <test_2_data> +80000110: 00053507 fld fa0,0(a0) +80000114: e2051553 fclass.d a0,fa0 +80000118: 00100e93 li t4,1 +8000011c: 00200193 li gp,2 +80000120: 11d51263 bne a0,t4,80000224 <fail> + +80000124 <test_3>: +80000124: 00002517 auipc a0,0x2 +80000128: ee450513 addi a0,a0,-284 # 80002008 <test_3_data> +8000012c: 00053507 fld fa0,0(a0) +80000130: e2051553 fclass.d a0,fa0 +80000134: 00200e93 li t4,2 +80000138: 00300193 li gp,3 +8000013c: 0fd51463 bne a0,t4,80000224 <fail> + +80000140 <test_4>: +80000140: 00002517 auipc a0,0x2 +80000144: ed050513 addi a0,a0,-304 # 80002010 <test_4_data> +80000148: 00053507 fld fa0,0(a0) +8000014c: e2051553 fclass.d a0,fa0 +80000150: 00400e93 li t4,4 +80000154: 00400193 li gp,4 +80000158: 0dd51663 bne a0,t4,80000224 <fail> + +8000015c <test_5>: +8000015c: 00002517 auipc a0,0x2 +80000160: ebc50513 addi a0,a0,-324 # 80002018 <test_5_data> +80000164: 00053507 fld fa0,0(a0) +80000168: e2051553 fclass.d a0,fa0 +8000016c: 00800e93 li t4,8 +80000170: 00500193 li gp,5 +80000174: 0bd51863 bne a0,t4,80000224 <fail> + +80000178 <test_6>: +80000178: 00002517 auipc a0,0x2 +8000017c: ea850513 addi a0,a0,-344 # 80002020 <test_6_data> +80000180: 00053507 fld fa0,0(a0) +80000184: e2051553 fclass.d a0,fa0 +80000188: 01000e93 li t4,16 +8000018c: 00600193 li gp,6 +80000190: 09d51a63 bne a0,t4,80000224 <fail> + +80000194 <test_7>: +80000194: 00002517 auipc a0,0x2 +80000198: e9450513 addi a0,a0,-364 # 80002028 <test_7_data> +8000019c: 00053507 fld fa0,0(a0) +800001a0: e2051553 fclass.d a0,fa0 +800001a4: 02000e93 li t4,32 +800001a8: 00700193 li gp,7 +800001ac: 07d51c63 bne a0,t4,80000224 <fail> + +800001b0 <test_8>: +800001b0: 00002517 auipc a0,0x2 +800001b4: e8050513 addi a0,a0,-384 # 80002030 <test_8_data> +800001b8: 00053507 fld fa0,0(a0) +800001bc: e2051553 fclass.d a0,fa0 +800001c0: 04000e93 li t4,64 +800001c4: 00800193 li gp,8 +800001c8: 05d51e63 bne a0,t4,80000224 <fail> + +800001cc <test_9>: +800001cc: 00002517 auipc a0,0x2 +800001d0: e6c50513 addi a0,a0,-404 # 80002038 <test_9_data> +800001d4: 00053507 fld fa0,0(a0) +800001d8: e2051553 fclass.d a0,fa0 +800001dc: 08000e93 li t4,128 +800001e0: 00900193 li gp,9 +800001e4: 05d51063 bne a0,t4,80000224 <fail> + +800001e8 <test_10>: +800001e8: 00002517 auipc a0,0x2 +800001ec: e5850513 addi a0,a0,-424 # 80002040 <test_10_data> +800001f0: 00053507 fld fa0,0(a0) +800001f4: e2051553 fclass.d a0,fa0 +800001f8: 10000e93 li t4,256 +800001fc: 00a00193 li gp,10 +80000200: 03d51263 bne a0,t4,80000224 <fail> + +80000204 <test_11>: +80000204: 00002517 auipc a0,0x2 +80000208: e4450513 addi a0,a0,-444 # 80002048 <test_11_data> +8000020c: 00053507 fld fa0,0(a0) +80000210: e2051553 fclass.d a0,fa0 +80000214: 20000e93 li t4,512 +80000218: 00b00193 li gp,11 +8000021c: 01d51463 bne a0,t4,80000224 <fail> +80000220: 00301c63 bne zero,gp,80000238 <pass> + +80000224 <fail>: +80000224: 0ff0000f fence +80000228: 00018063 beqz gp,80000228 <fail+0x4> +8000022c: 00119193 slli gp,gp,0x1 +80000230: 0011e193 ori gp,gp,1 +80000234: 00000073 ecall + +80000238 <pass>: +80000238: 0ff0000f fence +8000023c: 00100193 li gp,1 +80000240: 00000073 ecall +80000244: c0001073 unimp +80000248: 0000 unimp +8000024a: 0000 unimp +8000024c: 0000 unimp +8000024e: 0000 unimp +80000250: 0000 unimp +80000252: 0000 unimp +80000254: 0000 unimp +80000256: 0000 unimp +80000258: 0000 unimp +8000025a: 0000 unimp +8000025c: 0000 unimp +8000025e: 0000 unimp +80000260: 0000 unimp +80000262: 0000 unimp +80000264: 0000 unimp +80000266: 0000 unimp +80000268: 0000 unimp +8000026a: 0000 unimp +8000026c: 0000 unimp +8000026e: 0000 unimp +80000270: 0000 unimp +80000272: 0000 unimp +80000274: 0000 unimp +80000276: 0000 unimp +80000278: 0000 unimp +8000027a: 0000 unimp +8000027c: 0000 unimp +8000027e: 0000 unimp +80000280: 0000 unimp +80000282: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: fff0 fsw fa2,124(a5) + +80002008 <test_3_data>: +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: bff0 fsd fa2,248(a5) + +80002010 <test_4_data>: +80002010: ffff 0xffff +80002012: ffff 0xffff +80002014: ffff 0xffff +80002016: 0x800f + +80002018 <test_5_data>: +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 8000 0x8000 + +80002020 <test_6_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: 0000 unimp + +80002028 <test_7_data>: +80002028: ffff 0xffff +8000202a: ffff 0xffff +8000202c: ffff 0xffff +8000202e: fence unknown,unknown + +80002030 <test_8_data>: +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 3ff0 fld fa2,248(a5) + +80002038 <test_9_data>: +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 7ff0 flw fa2,124(a5) + +80002040 <test_10_data>: +80002040: 0001 nop +80002042: 0000 unimp +80002044: 0000 unimp +80002046: 7ff0 flw fa2,124(a5) + +80002048 <test_11_data>: +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 7ff8 flw fa4,124(a5) diff --git a/test/riscv-tests/rv32ud-p-fclass.elf b/test/riscv-tests/rv32ud-p-fclass.elf Binary files differnew file mode 100644 index 0000000..7e67e8b --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fclass.elf diff --git a/test/riscv-tests/rv32ud-p-fcmp.dump b/test/riscv-tests/rv32ud-p-fcmp.dump new file mode 100644 index 0000000..e0b297e --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcmp.dump @@ -0,0 +1,612 @@ + +rv32ud-p-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00053007 fld ft0,0(a0) +80000118: 00853087 fld ft1,8(a0) +8000011c: 01053107 fld ft2,16(a0) +80000120: 01852683 lw a3,24(a0) +80000124: 01c52303 lw t1,28(a0) +80000128: a2102553 feq.d a0,ft0,ft1 +8000012c: 00000393 li t2,0 +80000130: 001015f3 fsflags a1,zero +80000134: 00000613 li a2,0 +80000138: 34d51c63 bne a0,a3,80000490 <fail> +8000013c: 34731a63 bne t1,t2,80000490 <fail> +80000140: 34c59863 bne a1,a2,80000490 <fail> + +80000144 <test_3>: +80000144: 00300193 li gp,3 +80000148: 00002517 auipc a0,0x2 +8000014c: ed850513 addi a0,a0,-296 # 80002020 <test_3_data> +80000150: 00053007 fld ft0,0(a0) +80000154: 00853087 fld ft1,8(a0) +80000158: 01053107 fld ft2,16(a0) +8000015c: 01852683 lw a3,24(a0) +80000160: 01c52303 lw t1,28(a0) +80000164: a2100553 fle.d a0,ft0,ft1 +80000168: 00000393 li t2,0 +8000016c: 001015f3 fsflags a1,zero +80000170: 00000613 li a2,0 +80000174: 30d51e63 bne a0,a3,80000490 <fail> +80000178: 30731c63 bne t1,t2,80000490 <fail> +8000017c: 30c59a63 bne a1,a2,80000490 <fail> + +80000180 <test_4>: +80000180: 00400193 li gp,4 +80000184: 00002517 auipc a0,0x2 +80000188: ebc50513 addi a0,a0,-324 # 80002040 <test_4_data> +8000018c: 00053007 fld ft0,0(a0) +80000190: 00853087 fld ft1,8(a0) +80000194: 01053107 fld ft2,16(a0) +80000198: 01852683 lw a3,24(a0) +8000019c: 01c52303 lw t1,28(a0) +800001a0: a2101553 flt.d a0,ft0,ft1 +800001a4: 00000393 li t2,0 +800001a8: 001015f3 fsflags a1,zero +800001ac: 00000613 li a2,0 +800001b0: 2ed51063 bne a0,a3,80000490 <fail> +800001b4: 2c731e63 bne t1,t2,80000490 <fail> +800001b8: 2cc59c63 bne a1,a2,80000490 <fail> + +800001bc <test_5>: +800001bc: 00500193 li gp,5 +800001c0: 00002517 auipc a0,0x2 +800001c4: ea050513 addi a0,a0,-352 # 80002060 <test_5_data> +800001c8: 00053007 fld ft0,0(a0) +800001cc: 00853087 fld ft1,8(a0) +800001d0: 01053107 fld ft2,16(a0) +800001d4: 01852683 lw a3,24(a0) +800001d8: 01c52303 lw t1,28(a0) +800001dc: a2102553 feq.d a0,ft0,ft1 +800001e0: 00000393 li t2,0 +800001e4: 001015f3 fsflags a1,zero +800001e8: 00000613 li a2,0 +800001ec: 2ad51263 bne a0,a3,80000490 <fail> +800001f0: 2a731063 bne t1,t2,80000490 <fail> +800001f4: 28c59e63 bne a1,a2,80000490 <fail> + +800001f8 <test_6>: +800001f8: 00600193 li gp,6 +800001fc: 00002517 auipc a0,0x2 +80000200: e8450513 addi a0,a0,-380 # 80002080 <test_6_data> +80000204: 00053007 fld ft0,0(a0) +80000208: 00853087 fld ft1,8(a0) +8000020c: 01053107 fld ft2,16(a0) +80000210: 01852683 lw a3,24(a0) +80000214: 01c52303 lw t1,28(a0) +80000218: a2100553 fle.d a0,ft0,ft1 +8000021c: 00000393 li t2,0 +80000220: 001015f3 fsflags a1,zero +80000224: 00000613 li a2,0 +80000228: 26d51463 bne a0,a3,80000490 <fail> +8000022c: 26731263 bne t1,t2,80000490 <fail> +80000230: 26c59063 bne a1,a2,80000490 <fail> + +80000234 <test_7>: +80000234: 00700193 li gp,7 +80000238: 00002517 auipc a0,0x2 +8000023c: e6850513 addi a0,a0,-408 # 800020a0 <test_7_data> +80000240: 00053007 fld ft0,0(a0) +80000244: 00853087 fld ft1,8(a0) +80000248: 01053107 fld ft2,16(a0) +8000024c: 01852683 lw a3,24(a0) +80000250: 01c52303 lw t1,28(a0) +80000254: a2101553 flt.d a0,ft0,ft1 +80000258: 00000393 li t2,0 +8000025c: 001015f3 fsflags a1,zero +80000260: 00000613 li a2,0 +80000264: 22d51663 bne a0,a3,80000490 <fail> +80000268: 22731463 bne t1,t2,80000490 <fail> +8000026c: 22c59263 bne a1,a2,80000490 <fail> + +80000270 <test_8>: +80000270: 00800193 li gp,8 +80000274: 00002517 auipc a0,0x2 +80000278: e4c50513 addi a0,a0,-436 # 800020c0 <test_8_data> +8000027c: 00053007 fld ft0,0(a0) +80000280: 00853087 fld ft1,8(a0) +80000284: 01053107 fld ft2,16(a0) +80000288: 01852683 lw a3,24(a0) +8000028c: 01c52303 lw t1,28(a0) +80000290: a2102553 feq.d a0,ft0,ft1 +80000294: 00000393 li t2,0 +80000298: 001015f3 fsflags a1,zero +8000029c: 00000613 li a2,0 +800002a0: 1ed51863 bne a0,a3,80000490 <fail> +800002a4: 1e731663 bne t1,t2,80000490 <fail> +800002a8: 1ec59463 bne a1,a2,80000490 <fail> + +800002ac <test_9>: +800002ac: 00900193 li gp,9 +800002b0: 00002517 auipc a0,0x2 +800002b4: e3050513 addi a0,a0,-464 # 800020e0 <test_9_data> +800002b8: 00053007 fld ft0,0(a0) +800002bc: 00853087 fld ft1,8(a0) +800002c0: 01053107 fld ft2,16(a0) +800002c4: 01852683 lw a3,24(a0) +800002c8: 01c52303 lw t1,28(a0) +800002cc: a2102553 feq.d a0,ft0,ft1 +800002d0: 00000393 li t2,0 +800002d4: 001015f3 fsflags a1,zero +800002d8: 00000613 li a2,0 +800002dc: 1ad51a63 bne a0,a3,80000490 <fail> +800002e0: 1a731863 bne t1,t2,80000490 <fail> +800002e4: 1ac59663 bne a1,a2,80000490 <fail> + +800002e8 <test_10>: +800002e8: 00a00193 li gp,10 +800002ec: 00002517 auipc a0,0x2 +800002f0: e1450513 addi a0,a0,-492 # 80002100 <test_10_data> +800002f4: 00053007 fld ft0,0(a0) +800002f8: 00853087 fld ft1,8(a0) +800002fc: 01053107 fld ft2,16(a0) +80000300: 01852683 lw a3,24(a0) +80000304: 01c52303 lw t1,28(a0) +80000308: a2102553 feq.d a0,ft0,ft1 +8000030c: 00000393 li t2,0 +80000310: 001015f3 fsflags a1,zero +80000314: 01000613 li a2,16 +80000318: 16d51c63 bne a0,a3,80000490 <fail> +8000031c: 16731a63 bne t1,t2,80000490 <fail> +80000320: 16c59863 bne a1,a2,80000490 <fail> + +80000324 <test_11>: +80000324: 00b00193 li gp,11 +80000328: 00002517 auipc a0,0x2 +8000032c: df850513 addi a0,a0,-520 # 80002120 <test_11_data> +80000330: 00053007 fld ft0,0(a0) +80000334: 00853087 fld ft1,8(a0) +80000338: 01053107 fld ft2,16(a0) +8000033c: 01852683 lw a3,24(a0) +80000340: 01c52303 lw t1,28(a0) +80000344: a2101553 flt.d a0,ft0,ft1 +80000348: 00000393 li t2,0 +8000034c: 001015f3 fsflags a1,zero +80000350: 01000613 li a2,16 +80000354: 12d51e63 bne a0,a3,80000490 <fail> +80000358: 12731c63 bne t1,t2,80000490 <fail> +8000035c: 12c59a63 bne a1,a2,80000490 <fail> + +80000360 <test_12>: +80000360: 00c00193 li gp,12 +80000364: 00002517 auipc a0,0x2 +80000368: ddc50513 addi a0,a0,-548 # 80002140 <test_12_data> +8000036c: 00053007 fld ft0,0(a0) +80000370: 00853087 fld ft1,8(a0) +80000374: 01053107 fld ft2,16(a0) +80000378: 01852683 lw a3,24(a0) +8000037c: 01c52303 lw t1,28(a0) +80000380: a2101553 flt.d a0,ft0,ft1 +80000384: 00000393 li t2,0 +80000388: 001015f3 fsflags a1,zero +8000038c: 01000613 li a2,16 +80000390: 10d51063 bne a0,a3,80000490 <fail> +80000394: 0e731e63 bne t1,t2,80000490 <fail> +80000398: 0ec59c63 bne a1,a2,80000490 <fail> + +8000039c <test_13>: +8000039c: 00d00193 li gp,13 +800003a0: 00002517 auipc a0,0x2 +800003a4: dc050513 addi a0,a0,-576 # 80002160 <test_13_data> +800003a8: 00053007 fld ft0,0(a0) +800003ac: 00853087 fld ft1,8(a0) +800003b0: 01053107 fld ft2,16(a0) +800003b4: 01852683 lw a3,24(a0) +800003b8: 01c52303 lw t1,28(a0) +800003bc: a2101553 flt.d a0,ft0,ft1 +800003c0: 00000393 li t2,0 +800003c4: 001015f3 fsflags a1,zero +800003c8: 01000613 li a2,16 +800003cc: 0cd51263 bne a0,a3,80000490 <fail> +800003d0: 0c731063 bne t1,t2,80000490 <fail> +800003d4: 0ac59e63 bne a1,a2,80000490 <fail> + +800003d8 <test_14>: +800003d8: 00e00193 li gp,14 +800003dc: 00002517 auipc a0,0x2 +800003e0: da450513 addi a0,a0,-604 # 80002180 <test_14_data> +800003e4: 00053007 fld ft0,0(a0) +800003e8: 00853087 fld ft1,8(a0) +800003ec: 01053107 fld ft2,16(a0) +800003f0: 01852683 lw a3,24(a0) +800003f4: 01c52303 lw t1,28(a0) +800003f8: a2100553 fle.d a0,ft0,ft1 +800003fc: 00000393 li t2,0 +80000400: 001015f3 fsflags a1,zero +80000404: 01000613 li a2,16 +80000408: 08d51463 bne a0,a3,80000490 <fail> +8000040c: 08731263 bne t1,t2,80000490 <fail> +80000410: 08c59063 bne a1,a2,80000490 <fail> + +80000414 <test_15>: +80000414: 00f00193 li gp,15 +80000418: 00002517 auipc a0,0x2 +8000041c: d8850513 addi a0,a0,-632 # 800021a0 <test_15_data> +80000420: 00053007 fld ft0,0(a0) +80000424: 00853087 fld ft1,8(a0) +80000428: 01053107 fld ft2,16(a0) +8000042c: 01852683 lw a3,24(a0) +80000430: 01c52303 lw t1,28(a0) +80000434: a2100553 fle.d a0,ft0,ft1 +80000438: 00000393 li t2,0 +8000043c: 001015f3 fsflags a1,zero +80000440: 01000613 li a2,16 +80000444: 04d51663 bne a0,a3,80000490 <fail> +80000448: 04731463 bne t1,t2,80000490 <fail> +8000044c: 04c59263 bne a1,a2,80000490 <fail> + +80000450 <test_16>: +80000450: 01000193 li gp,16 +80000454: 00002517 auipc a0,0x2 +80000458: d6c50513 addi a0,a0,-660 # 800021c0 <test_16_data> +8000045c: 00053007 fld ft0,0(a0) +80000460: 00853087 fld ft1,8(a0) +80000464: 01053107 fld ft2,16(a0) +80000468: 01852683 lw a3,24(a0) +8000046c: 01c52303 lw t1,28(a0) +80000470: a2100553 fle.d a0,ft0,ft1 +80000474: 00000393 li t2,0 +80000478: 001015f3 fsflags a1,zero +8000047c: 01000613 li a2,16 +80000480: 00d51863 bne a0,a3,80000490 <fail> +80000484: 00731663 bne t1,t2,80000490 <fail> +80000488: 00c59463 bne a1,a2,80000490 <fail> +8000048c: 00301c63 bne zero,gp,800004a4 <pass> + +80000490 <fail>: +80000490: 0ff0000f fence +80000494: 00018063 beqz gp,80000494 <fail+0x4> +80000498: 00119193 slli gp,gp,0x1 +8000049c: 0011e193 ori gp,gp,1 +800004a0: 00000073 ecall + +800004a4 <pass>: +800004a4: 0ff0000f fence +800004a8: 00100193 li gp,1 +800004ac: 00000073 ecall +800004b0: c0001073 unimp +800004b4: 0000 unimp +800004b6: 0000 unimp +800004b8: 0000 unimp +800004ba: 0000 unimp +800004bc: 0000 unimp +800004be: 0000 unimp +800004c0: 0000 unimp +800004c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 5c28f5c3 0x5c28f5c3 +80002004: bff5c28f 0xbff5c28f +80002008: 5c28f5c3 0x5c28f5c3 +8000200c: bff5c28f 0xbff5c28f +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0001 nop +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 0000 unimp + +80002020 <test_3_data>: +80002020: 5c28f5c3 0x5c28f5c3 +80002024: bff5c28f 0xbff5c28f +80002028: 5c28f5c3 0x5c28f5c3 +8000202c: bff5c28f 0xbff5c28f +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0001 nop +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_4_data>: +80002040: 5c28f5c3 0x5c28f5c3 +80002044: bff5c28f 0xbff5c28f +80002048: 5c28f5c3 0x5c28f5c3 +8000204c: bff5c28f 0xbff5c28f +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 0000 unimp + +80002060 <test_5_data>: +80002060: 51ec lw a1,100(a1) +80002062: 1eb8 addi a4,sp,888 +80002064: eb85 bnez a5,80002094 <test_6_data+0x14> +80002066: bff5 j 80002062 <test_5_data+0x2> +80002068: 5c28f5c3 0x5c28f5c3 +8000206c: bff5c28f 0xbff5c28f +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp + +80002080 <test_6_data>: +80002080: 51ec lw a1,100(a1) +80002082: 1eb8 addi a4,sp,888 +80002084: eb85 bnez a5,800020b4 <test_7_data+0x14> +80002086: bff5 j 80002082 <test_6_data+0x2> +80002088: 5c28f5c3 0x5c28f5c3 +8000208c: bff5c28f 0xbff5c28f +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0001 nop +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_7_data>: +800020a0: 51ec lw a1,100(a1) +800020a2: 1eb8 addi a4,sp,888 +800020a4: eb85 bnez a5,800020d4 <test_8_data+0x14> +800020a6: bff5 j 800020a2 <test_7_data+0x2> +800020a8: 5c28f5c3 0x5c28f5c3 +800020ac: bff5c28f 0xbff5c28f +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0001 nop +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_8_data>: +800020c0: ffff 0xffff +800020c2: ffff 0xffff +800020c4: ffff 0xffff +800020c6: 7fff 0x7fff +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 0000 unimp + +800020e0 <test_9_data>: +800020e0: ffff 0xffff +800020e2: ffff 0xffff +800020e4: ffff 0xffff +800020e6: 7fff 0x7fff +800020e8: ffff 0xffff +800020ea: ffff 0xffff +800020ec: ffff 0xffff +800020ee: 7fff 0x7fff +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 0000 unimp +800020fe: 0000 unimp + +80002100 <test_10_data>: +80002100: 0001 nop +80002102: 0000 unimp +80002104: 0000 unimp +80002106: 7ff0 flw fa2,124(a5) +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: 0000 unimp +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: 0000 unimp + +80002120 <test_11_data>: +80002120: ffff 0xffff +80002122: ffff 0xffff +80002124: ffff 0xffff +80002126: 7fff 0x7fff +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 0000 unimp +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: 0000 unimp + +80002140 <test_12_data>: +80002140: ffff 0xffff +80002142: ffff 0xffff +80002144: ffff 0xffff +80002146: 7fff 0x7fff +80002148: ffff 0xffff +8000214a: ffff 0xffff +8000214c: ffff 0xffff +8000214e: 7fff 0x7fff +80002150: 0000 unimp +80002152: 0000 unimp +80002154: 0000 unimp +80002156: 0000 unimp +80002158: 0000 unimp +8000215a: 0000 unimp +8000215c: 0000 unimp +8000215e: 0000 unimp + +80002160 <test_13_data>: +80002160: 0001 nop +80002162: 0000 unimp +80002164: 0000 unimp +80002166: 7ff0 flw fa2,124(a5) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: 0000 unimp +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: 0000 unimp +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: 0000 unimp + +80002180 <test_14_data>: +80002180: ffff 0xffff +80002182: ffff 0xffff +80002184: ffff 0xffff +80002186: 7fff 0x7fff +80002188: 0000 unimp +8000218a: 0000 unimp +8000218c: 0000 unimp +8000218e: 0000 unimp +80002190: 0000 unimp +80002192: 0000 unimp +80002194: 0000 unimp +80002196: 0000 unimp +80002198: 0000 unimp +8000219a: 0000 unimp +8000219c: 0000 unimp +8000219e: 0000 unimp + +800021a0 <test_15_data>: +800021a0: ffff 0xffff +800021a2: ffff 0xffff +800021a4: ffff 0xffff +800021a6: 7fff 0x7fff +800021a8: ffff 0xffff +800021aa: ffff 0xffff +800021ac: ffff 0xffff +800021ae: 7fff 0x7fff +800021b0: 0000 unimp +800021b2: 0000 unimp +800021b4: 0000 unimp +800021b6: 0000 unimp +800021b8: 0000 unimp +800021ba: 0000 unimp +800021bc: 0000 unimp +800021be: 0000 unimp + +800021c0 <test_16_data>: +800021c0: 0001 nop +800021c2: 0000 unimp +800021c4: 0000 unimp +800021c6: 7ff0 flw fa2,124(a5) +800021c8: 0000 unimp +800021ca: 0000 unimp +800021cc: 0000 unimp +800021ce: 0000 unimp +800021d0: 0000 unimp +800021d2: 0000 unimp +800021d4: 0000 unimp +800021d6: 0000 unimp +800021d8: 0000 unimp +800021da: 0000 unimp +800021dc: 0000 unimp +800021de: 0000 unimp diff --git a/test/riscv-tests/rv32ud-p-fcmp.elf b/test/riscv-tests/rv32ud-p-fcmp.elf Binary files differnew file mode 100644 index 0000000..110986d --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcmp.elf diff --git a/test/riscv-tests/rv32ud-p-fcvt.dump b/test/riscv-tests/rv32ud-p-fcvt.dump new file mode 100644 index 0000000..98a0897 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcvt.dump @@ -0,0 +1,286 @@ + +rv32ud-p-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052683 lw a3,0(a0) +80000118: 00452703 lw a4,4(a0) +8000011c: 00200593 li a1,2 +80000120: d2058053 fcvt.d.w ft0,a1 +80000124: 00053027 fsd ft0,0(a0) +80000128: 00452583 lw a1,4(a0) +8000012c: 00052503 lw a0,0(a0) +80000130: 00101073 fsflags zero +80000134: 16d51263 bne a0,a3,80000298 <fail> +80000138: 16e59063 bne a1,a4,80000298 <fail> + +8000013c <test_3>: +8000013c: 00300193 li gp,3 +80000140: 00002517 auipc a0,0x2 +80000144: ec850513 addi a0,a0,-312 # 80002008 <test_3_data> +80000148: 00052683 lw a3,0(a0) +8000014c: 00452703 lw a4,4(a0) +80000150: ffe00593 li a1,-2 +80000154: d2058053 fcvt.d.w ft0,a1 +80000158: 00053027 fsd ft0,0(a0) +8000015c: 00452583 lw a1,4(a0) +80000160: 00052503 lw a0,0(a0) +80000164: 00101073 fsflags zero +80000168: 12d51863 bne a0,a3,80000298 <fail> +8000016c: 12e59663 bne a1,a4,80000298 <fail> + +80000170 <test_4>: +80000170: 00400193 li gp,4 +80000174: 00002517 auipc a0,0x2 +80000178: e9c50513 addi a0,a0,-356 # 80002010 <test_4_data> +8000017c: 00052683 lw a3,0(a0) +80000180: 00452703 lw a4,4(a0) +80000184: 00200593 li a1,2 +80000188: d2158053 fcvt.d.wu ft0,a1 +8000018c: 00053027 fsd ft0,0(a0) +80000190: 00452583 lw a1,4(a0) +80000194: 00052503 lw a0,0(a0) +80000198: 00101073 fsflags zero +8000019c: 0ed51e63 bne a0,a3,80000298 <fail> +800001a0: 0ee59c63 bne a1,a4,80000298 <fail> + +800001a4 <test_5>: +800001a4: 00500193 li gp,5 +800001a8: 00002517 auipc a0,0x2 +800001ac: e7050513 addi a0,a0,-400 # 80002018 <test_5_data> +800001b0: 00052683 lw a3,0(a0) +800001b4: 00452703 lw a4,4(a0) +800001b8: ffe00593 li a1,-2 +800001bc: d2158053 fcvt.d.wu ft0,a1 +800001c0: 00053027 fsd ft0,0(a0) +800001c4: 00452583 lw a1,4(a0) +800001c8: 00052503 lw a0,0(a0) +800001cc: 00101073 fsflags zero +800001d0: 0cd51463 bne a0,a3,80000298 <fail> +800001d4: 0ce59263 bne a1,a4,80000298 <fail> + +800001d8 <test_10>: +800001d8: 00a00193 li gp,10 +800001dc: 00002517 auipc a0,0x2 +800001e0: e4450513 addi a0,a0,-444 # 80002020 <test_10_data> +800001e4: 00053007 fld ft0,0(a0) +800001e8: 00853087 fld ft1,8(a0) +800001ec: 01053107 fld ft2,16(a0) +800001f0: 01852683 lw a3,24(a0) +800001f4: 01c52303 lw t1,28(a0) +800001f8: 401071d3 fcvt.s.d ft3,ft0 +800001fc: 420181d3 fcvt.d.s ft3,ft3 +80000200: 00353027 fsd ft3,0(a0) +80000204: 00452383 lw t2,4(a0) +80000208: 00052503 lw a0,0(a0) +8000020c: 001015f3 fsflags a1,zero +80000210: 00000613 li a2,0 +80000214: 08d51263 bne a0,a3,80000298 <fail> +80000218: 08731063 bne t1,t2,80000298 <fail> +8000021c: 06c59e63 bne a1,a2,80000298 <fail> + +80000220 <test_11>: +80000220: 00b00193 li gp,11 +80000224: 00002517 auipc a0,0x2 +80000228: e1c50513 addi a0,a0,-484 # 80002040 <test_11_data> +8000022c: 00052007 flw ft0,0(a0) +80000230: 00452087 flw ft1,4(a0) +80000234: 00852107 flw ft2,8(a0) +80000238: 00c52683 lw a3,12(a0) +8000023c: 420001d3 fcvt.d.s ft3,ft0 +80000240: 4011f1d3 fcvt.s.d ft3,ft3 +80000244: e0018553 fmv.x.w a0,ft3 +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 04d51463 bne a0,a3,80000298 <fail> +80000254: 04c59263 bne a1,a2,80000298 <fail> + +80000258 <test_12>: +80000258: 00002597 auipc a1,0x2 +8000025c: e0858593 addi a1,a1,-504 # 80002060 <begin_signature> +80000260: 0005b107 fld ft2,0(a1) +80000264: 40117153 fcvt.s.d ft2,ft2 +80000268: 42010153 fcvt.d.s ft2,ft2 +8000026c: 0025b027 fsd ft2,0(a1) +80000270: 0005a503 lw a0,0(a1) +80000274: 0045a583 lw a1,4(a1) +80000278: 00002f97 auipc t6,0x2 +8000027c: dd8f8f93 addi t6,t6,-552 # 80002050 <test_12_data> +80000280: 000fae83 lw t4,0(t6) +80000284: 004faf83 lw t6,4(t6) +80000288: 00c00193 li gp,12 +8000028c: 01d51663 bne a0,t4,80000298 <fail> +80000290: 01f59463 bne a1,t6,80000298 <fail> +80000294: 00301c63 bne zero,gp,800002ac <pass> + +80000298 <fail>: +80000298: 0ff0000f fence +8000029c: 00018063 beqz gp,8000029c <fail+0x4> +800002a0: 00119193 slli gp,gp,0x1 +800002a4: 0011e193 ori gp,gp,1 +800002a8: 00000073 ecall + +800002ac <pass>: +800002ac: 0ff0000f fence +800002b0: 00100193 li gp,1 +800002b4: 00000073 ecall +800002b8: c0001073 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4000 lw s0,0(s0) + +80002008 <test_3_data>: +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: c000 sw s0,0(s0) + +80002010 <test_4_data>: +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 4000 lw s0,0(s0) + +80002018 <test_5_data>: +80002018: 0000 unimp +8000201a: ffc0 fsw fs0,60(a5) +8000201c: ffff 0xffff +8000201e: jal gp,8000601e <_end+0x3fae> + +80002020 <test_10_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: bff8 fsd fa4,248(a5) +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: bff8 fsd fa4,248(a5) + +80002040 <test_11_data>: +80002040: 0000 unimp +80002042: bfc0 fsd fs0,184(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: bfc0 fsd fs0,184(a5) + +80002050 <test_12_data>: +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 7ff8 flw fa4,124(a5) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 0000 unimp + +80002060 <begin_signature>: +80002060: 8004 0x8004 +80002062: ffff 0xffff +80002064: ffff 0xffff +80002066: 7ffc flw fa5,124(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp diff --git a/test/riscv-tests/rv32ud-p-fcvt.elf b/test/riscv-tests/rv32ud-p-fcvt.elf Binary files differnew file mode 100644 index 0000000..fda1e44 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcvt.elf diff --git a/test/riscv-tests/rv32ud-p-fcvt_w.dump b/test/riscv-tests/rv32ud-p-fcvt_w.dump new file mode 100644 index 0000000..e7027cb --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcvt_w.dump @@ -0,0 +1,604 @@ + +rv32ud-p-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: c0001553 fcvt.w.s a0,ft0,rtz +80000128: 001015f3 fsflags a1,zero +8000012c: 00100613 li a2,1 +80000130: 3cd51463 bne a0,a3,800004f8 <fail> +80000134: 3cc59263 bne a1,a2,800004f8 <fail> + +80000138 <test_3>: +80000138: 00300193 li gp,3 +8000013c: 00002517 auipc a0,0x2 +80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data> +80000144: 00052007 flw ft0,0(a0) +80000148: 00452087 flw ft1,4(a0) +8000014c: 00852107 flw ft2,8(a0) +80000150: 00c52683 lw a3,12(a0) +80000154: c0001553 fcvt.w.s a0,ft0,rtz +80000158: 001015f3 fsflags a1,zero +8000015c: 00000613 li a2,0 +80000160: 38d51c63 bne a0,a3,800004f8 <fail> +80000164: 38c59a63 bne a1,a2,800004f8 <fail> + +80000168 <test_4>: +80000168: 00400193 li gp,4 +8000016c: 00002517 auipc a0,0x2 +80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data> +80000174: 00052007 flw ft0,0(a0) +80000178: 00452087 flw ft1,4(a0) +8000017c: 00852107 flw ft2,8(a0) +80000180: 00c52683 lw a3,12(a0) +80000184: c0001553 fcvt.w.s a0,ft0,rtz +80000188: 001015f3 fsflags a1,zero +8000018c: 00100613 li a2,1 +80000190: 36d51463 bne a0,a3,800004f8 <fail> +80000194: 36c59263 bne a1,a2,800004f8 <fail> + +80000198 <test_5>: +80000198: 00500193 li gp,5 +8000019c: 00002517 auipc a0,0x2 +800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data> +800001a4: 00052007 flw ft0,0(a0) +800001a8: 00452087 flw ft1,4(a0) +800001ac: 00852107 flw ft2,8(a0) +800001b0: 00c52683 lw a3,12(a0) +800001b4: c0001553 fcvt.w.s a0,ft0,rtz +800001b8: 001015f3 fsflags a1,zero +800001bc: 00100613 li a2,1 +800001c0: 32d51c63 bne a0,a3,800004f8 <fail> +800001c4: 32c59a63 bne a1,a2,800004f8 <fail> + +800001c8 <test_6>: +800001c8: 00600193 li gp,6 +800001cc: 00002517 auipc a0,0x2 +800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data> +800001d4: 00052007 flw ft0,0(a0) +800001d8: 00452087 flw ft1,4(a0) +800001dc: 00852107 flw ft2,8(a0) +800001e0: 00c52683 lw a3,12(a0) +800001e4: c0001553 fcvt.w.s a0,ft0,rtz +800001e8: 001015f3 fsflags a1,zero +800001ec: 00000613 li a2,0 +800001f0: 30d51463 bne a0,a3,800004f8 <fail> +800001f4: 30c59263 bne a1,a2,800004f8 <fail> + +800001f8 <test_7>: +800001f8: 00700193 li gp,7 +800001fc: 00002517 auipc a0,0x2 +80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data> +80000204: 00052007 flw ft0,0(a0) +80000208: 00452087 flw ft1,4(a0) +8000020c: 00852107 flw ft2,8(a0) +80000210: 00c52683 lw a3,12(a0) +80000214: c0001553 fcvt.w.s a0,ft0,rtz +80000218: 001015f3 fsflags a1,zero +8000021c: 00100613 li a2,1 +80000220: 2cd51c63 bne a0,a3,800004f8 <fail> +80000224: 2cc59a63 bne a1,a2,800004f8 <fail> + +80000228 <test_8>: +80000228: 00800193 li gp,8 +8000022c: 00002517 auipc a0,0x2 +80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data> +80000234: 00052007 flw ft0,0(a0) +80000238: 00452087 flw ft1,4(a0) +8000023c: 00852107 flw ft2,8(a0) +80000240: 00c52683 lw a3,12(a0) +80000244: c0001553 fcvt.w.s a0,ft0,rtz +80000248: 001015f3 fsflags a1,zero +8000024c: 01000613 li a2,16 +80000250: 2ad51463 bne a0,a3,800004f8 <fail> +80000254: 2ac59263 bne a1,a2,800004f8 <fail> + +80000258 <test_9>: +80000258: 00900193 li gp,9 +8000025c: 00002517 auipc a0,0x2 +80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: c0001553 fcvt.w.s a0,ft0,rtz +80000278: 001015f3 fsflags a1,zero +8000027c: 01000613 li a2,16 +80000280: 26d51c63 bne a0,a3,800004f8 <fail> +80000284: 26c59a63 bne a1,a2,800004f8 <fail> + +80000288 <test_12>: +80000288: 00c00193 li gp,12 +8000028c: 00002517 auipc a0,0x2 +80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data> +80000294: 00052007 flw ft0,0(a0) +80000298: 00452087 flw ft1,4(a0) +8000029c: 00852107 flw ft2,8(a0) +800002a0: 00c52683 lw a3,12(a0) +800002a4: c0101553 fcvt.wu.s a0,ft0,rtz +800002a8: 001015f3 fsflags a1,zero +800002ac: 01000613 li a2,16 +800002b0: 24d51463 bne a0,a3,800004f8 <fail> +800002b4: 24c59263 bne a1,a2,800004f8 <fail> + +800002b8 <test_13>: +800002b8: 00d00193 li gp,13 +800002bc: 00002517 auipc a0,0x2 +800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data> +800002c4: 00052007 flw ft0,0(a0) +800002c8: 00452087 flw ft1,4(a0) +800002cc: 00852107 flw ft2,8(a0) +800002d0: 00c52683 lw a3,12(a0) +800002d4: c0101553 fcvt.wu.s a0,ft0,rtz +800002d8: 001015f3 fsflags a1,zero +800002dc: 01000613 li a2,16 +800002e0: 20d51c63 bne a0,a3,800004f8 <fail> +800002e4: 20c59a63 bne a1,a2,800004f8 <fail> + +800002e8 <test_14>: +800002e8: 00e00193 li gp,14 +800002ec: 00002517 auipc a0,0x2 +800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data> +800002f4: 00052007 flw ft0,0(a0) +800002f8: 00452087 flw ft1,4(a0) +800002fc: 00852107 flw ft2,8(a0) +80000300: 00c52683 lw a3,12(a0) +80000304: c0101553 fcvt.wu.s a0,ft0,rtz +80000308: 001015f3 fsflags a1,zero +8000030c: 00100613 li a2,1 +80000310: 1ed51463 bne a0,a3,800004f8 <fail> +80000314: 1ec59263 bne a1,a2,800004f8 <fail> + +80000318 <test_15>: +80000318: 00f00193 li gp,15 +8000031c: 00002517 auipc a0,0x2 +80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data> +80000324: 00052007 flw ft0,0(a0) +80000328: 00452087 flw ft1,4(a0) +8000032c: 00852107 flw ft2,8(a0) +80000330: 00c52683 lw a3,12(a0) +80000334: c0101553 fcvt.wu.s a0,ft0,rtz +80000338: 001015f3 fsflags a1,zero +8000033c: 00100613 li a2,1 +80000340: 1ad51c63 bne a0,a3,800004f8 <fail> +80000344: 1ac59a63 bne a1,a2,800004f8 <fail> + +80000348 <test_16>: +80000348: 01000193 li gp,16 +8000034c: 00002517 auipc a0,0x2 +80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data> +80000354: 00052007 flw ft0,0(a0) +80000358: 00452087 flw ft1,4(a0) +8000035c: 00852107 flw ft2,8(a0) +80000360: 00c52683 lw a3,12(a0) +80000364: c0101553 fcvt.wu.s a0,ft0,rtz +80000368: 001015f3 fsflags a1,zero +8000036c: 00000613 li a2,0 +80000370: 18d51463 bne a0,a3,800004f8 <fail> +80000374: 18c59263 bne a1,a2,800004f8 <fail> + +80000378 <test_17>: +80000378: 01100193 li gp,17 +8000037c: 00002517 auipc a0,0x2 +80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data> +80000384: 00052007 flw ft0,0(a0) +80000388: 00452087 flw ft1,4(a0) +8000038c: 00852107 flw ft2,8(a0) +80000390: 00c52683 lw a3,12(a0) +80000394: c0101553 fcvt.wu.s a0,ft0,rtz +80000398: 001015f3 fsflags a1,zero +8000039c: 00100613 li a2,1 +800003a0: 14d51c63 bne a0,a3,800004f8 <fail> +800003a4: 14c59a63 bne a1,a2,800004f8 <fail> + +800003a8 <test_18>: +800003a8: 01200193 li gp,18 +800003ac: 00002517 auipc a0,0x2 +800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data> +800003b4: 00052007 flw ft0,0(a0) +800003b8: 00452087 flw ft1,4(a0) +800003bc: 00852107 flw ft2,8(a0) +800003c0: 00c52683 lw a3,12(a0) +800003c4: c0101553 fcvt.wu.s a0,ft0,rtz +800003c8: 001015f3 fsflags a1,zero +800003cc: 01000613 li a2,16 +800003d0: 12d51463 bne a0,a3,800004f8 <fail> +800003d4: 12c59263 bne a1,a2,800004f8 <fail> + +800003d8 <test_19>: +800003d8: 01300193 li gp,19 +800003dc: 00002517 auipc a0,0x2 +800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data> +800003e4: 00052007 flw ft0,0(a0) +800003e8: 00452087 flw ft1,4(a0) +800003ec: 00852107 flw ft2,8(a0) +800003f0: 00c52683 lw a3,12(a0) +800003f4: c0101553 fcvt.wu.s a0,ft0,rtz +800003f8: 001015f3 fsflags a1,zero +800003fc: 00000613 li a2,0 +80000400: 0ed51c63 bne a0,a3,800004f8 <fail> +80000404: 0ec59a63 bne a1,a2,800004f8 <fail> + +80000408 <test_42>: +80000408: 00002097 auipc ra,0x2 +8000040c: cf808093 addi ra,ra,-776 # 80002100 <begin_signature> +80000410: 0000a087 flw ft1,0(ra) +80000414: c000f0d3 fcvt.w.s ra,ft1 +80000418: 80000eb7 lui t4,0x80000 +8000041c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +80000420: 02a00193 li gp,42 +80000424: 0dd09a63 bne ra,t4,800004f8 <fail> + +80000428 <test_44>: +80000428: 00002097 auipc ra,0x2 +8000042c: cd808093 addi ra,ra,-808 # 80002100 <begin_signature> +80000430: 0080a087 flw ft1,8(ra) +80000434: c000f0d3 fcvt.w.s ra,ft1 +80000438: 80000eb7 lui t4,0x80000 +8000043c: 02c00193 li gp,44 +80000440: 0bd09c63 bne ra,t4,800004f8 <fail> + +80000444 <test_52>: +80000444: 00002097 auipc ra,0x2 +80000448: cbc08093 addi ra,ra,-836 # 80002100 <begin_signature> +8000044c: 0040a087 flw ft1,4(ra) +80000450: c000f0d3 fcvt.w.s ra,ft1 +80000454: 80000eb7 lui t4,0x80000 +80000458: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +8000045c: 03400193 li gp,52 +80000460: 09d09c63 bne ra,t4,800004f8 <fail> + +80000464 <test_54>: +80000464: 00002097 auipc ra,0x2 +80000468: c9c08093 addi ra,ra,-868 # 80002100 <begin_signature> +8000046c: 00c0a087 flw ft1,12(ra) +80000470: c000f0d3 fcvt.w.s ra,ft1 +80000474: 80000eb7 lui t4,0x80000 +80000478: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +8000047c: 03600193 li gp,54 +80000480: 07d09c63 bne ra,t4,800004f8 <fail> + +80000484 <test_62>: +80000484: 00002097 auipc ra,0x2 +80000488: c7c08093 addi ra,ra,-900 # 80002100 <begin_signature> +8000048c: 0000a087 flw ft1,0(ra) +80000490: c010f0d3 fcvt.wu.s ra,ft1 +80000494: fff00e93 li t4,-1 +80000498: 03e00193 li gp,62 +8000049c: 05d09e63 bne ra,t4,800004f8 <fail> + +800004a0 <test_63>: +800004a0: 00002097 auipc ra,0x2 +800004a4: c6008093 addi ra,ra,-928 # 80002100 <begin_signature> +800004a8: 0040a087 flw ft1,4(ra) +800004ac: c010f0d3 fcvt.wu.s ra,ft1 +800004b0: fff00e93 li t4,-1 +800004b4: 03f00193 li gp,63 +800004b8: 05d09063 bne ra,t4,800004f8 <fail> + +800004bc <test_64>: +800004bc: 00002097 auipc ra,0x2 +800004c0: c4408093 addi ra,ra,-956 # 80002100 <begin_signature> +800004c4: 0080a087 flw ft1,8(ra) +800004c8: c010f0d3 fcvt.wu.s ra,ft1 +800004cc: 00000e93 li t4,0 +800004d0: 04000193 li gp,64 +800004d4: 03d09263 bne ra,t4,800004f8 <fail> + +800004d8 <test_65>: +800004d8: 00002097 auipc ra,0x2 +800004dc: c2808093 addi ra,ra,-984 # 80002100 <begin_signature> +800004e0: 00c0a087 flw ft1,12(ra) +800004e4: c010f0d3 fcvt.wu.s ra,ft1 +800004e8: fff00e93 li t4,-1 +800004ec: 04100193 li gp,65 +800004f0: 01d09463 bne ra,t4,800004f8 <fail> +800004f4: 00301c63 bne zero,gp,8000050c <pass> + +800004f8 <fail>: +800004f8: 0ff0000f fence +800004fc: 00018063 beqz gp,800004fc <fail+0x4> +80000500: 00119193 slli gp,gp,0x1 +80000504: 0011e193 ori gp,gp,1 +80000508: 00000073 ecall + +8000050c <pass>: +8000050c: 0ff0000f fence +80000510: 00100193 li gp,1 +80000514: 00000073 ecall +80000518: c0001073 unimp +8000051c: 0000 unimp +8000051e: 0000 unimp +80000520: 0000 unimp +80000522: 0000 unimp +80000524: 0000 unimp +80000526: 0000 unimp +80000528: 0000 unimp +8000052a: 0000 unimp +8000052c: 0000 unimp +8000052e: 0000 unimp +80000530: 0000 unimp +80000532: 0000 unimp +80000534: 0000 unimp +80000536: 0000 unimp +80000538: 0000 unimp +8000053a: 0000 unimp +8000053c: 0000 unimp +8000053e: 0000 unimp +80000540: 0000 unimp +80000542: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: cccd beqz s1,800020ba <test_15_data+0xa> +80002002: bf8c fsd fa1,56(a5) +80002004: 0000 unimp +80002006: 0000 unimp +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: ffff 0xffff +8000200e: ffff 0xffff + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: ffff 0xffff +8000201e: ffff 0xffff + +80002020 <test_4_data>: +80002020: 6666 flw fa2,88(sp) +80002022: bf66 fsd fs9,440(sp) +80002024: 0000 unimp +80002026: 0000 unimp +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 6666 flw fa2,88(sp) +80002032: 3f66 fld ft10,120(sp) +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: 3f80 fld fs0,56(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: cccd beqz s1,8000210a <begin_signature+0xa> +80002052: 3f8c fld fa1,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: d05e sw s7,32(sp) +80002062: cf32 sw a2,156(sp) +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 8000 0x8000 + +80002070 <test_9_data>: +80002070: d05e sw s7,32(sp) +80002072: 4f32 lw t5,12(sp) +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: ffff 0xffff +8000207e: 7fff 0x7fff + +80002080 <test_12_data>: +80002080: 0000 unimp +80002082: c040 sw s0,4(s0) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_13_data>: +80002090: 0000 unimp +80002092: bf80 fsd fs0,56(a5) +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_14_data>: +800020a0: 6666 flw fa2,88(sp) +800020a2: bf66 fsd fs9,440(sp) +800020a4: 0000 unimp +800020a6: 0000 unimp +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_15_data>: +800020b0: 6666 flw fa2,88(sp) +800020b2: 3f66 fld ft10,120(sp) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_16_data>: +800020c0: 0000 unimp +800020c2: 3f80 fld fs0,56(a5) +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0001 nop +800020ce: 0000 unimp + +800020d0 <test_17_data>: +800020d0: cccd beqz s1,8000218a <_end+0x5a> +800020d2: 3f8c fld fa1,56(a5) +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0001 nop +800020de: 0000 unimp + +800020e0 <test_18_data>: +800020e0: d05e sw s7,32(sp) +800020e2: cf32 sw a2,156(sp) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp + +800020f0 <test_19_data>: +800020f0: d05e sw s7,32(sp) +800020f2: 4f32 lw t5,12(sp) +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 5e00 lw s0,56(a2) +800020fe: b2d0 fsd fa2,160(a3) + +80002100 <begin_signature>: +80002100: ffff 0xffff +80002102: ffff 0xffff +80002104: ffff 0xffff +80002106: 7fff 0x7fff +80002108: 0000 unimp +8000210a: ff80 fsw fs0,56(a5) +8000210c: 0000 unimp +8000210e: 7f80 flw fs0,56(a5) + +80002110 <tdat_d>: +80002110: ffff 0xffff +80002112: ffff 0xffff +80002114: ffff 0xffff +80002116: ffff 0xffff +80002118: ffff 0xffff +8000211a: ffff 0xffff +8000211c: ffff 0xffff +8000211e: 7fff 0x7fff +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: fff0 fsw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) diff --git a/test/riscv-tests/rv32ud-p-fcvt_w.elf b/test/riscv-tests/rv32ud-p-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..77b06c0 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fcvt_w.elf diff --git a/test/riscv-tests/rv32ud-p-fdiv.dump b/test/riscv-tests/rv32ud-p-fdiv.dump new file mode 100644 index 0000000..f4dd59c --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fdiv.dump @@ -0,0 +1,407 @@ + +rv32ud-p-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00053007 fld ft0,0(a0) +80000118: 00853087 fld ft1,8(a0) +8000011c: 01053107 fld ft2,16(a0) +80000120: 01852683 lw a3,24(a0) +80000124: 01c52303 lw t1,28(a0) +80000128: 1a1071d3 fdiv.d ft3,ft0,ft1 +8000012c: 00353027 fsd ft3,0(a0) +80000130: 00452383 lw t2,4(a0) +80000134: 00052503 lw a0,0(a0) +80000138: 001015f3 fsflags a1,zero +8000013c: 00100613 li a2,1 +80000140: 1ed51663 bne a0,a3,8000032c <fail> +80000144: 1e731463 bne t1,t2,8000032c <fail> +80000148: 1ec59263 bne a1,a2,8000032c <fail> + +8000014c <test_3>: +8000014c: 00300193 li gp,3 +80000150: 00002517 auipc a0,0x2 +80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data> +80000158: 00053007 fld ft0,0(a0) +8000015c: 00853087 fld ft1,8(a0) +80000160: 01053107 fld ft2,16(a0) +80000164: 01852683 lw a3,24(a0) +80000168: 01c52303 lw t1,28(a0) +8000016c: 1a1071d3 fdiv.d ft3,ft0,ft1 +80000170: 00353027 fsd ft3,0(a0) +80000174: 00452383 lw t2,4(a0) +80000178: 00052503 lw a0,0(a0) +8000017c: 001015f3 fsflags a1,zero +80000180: 00100613 li a2,1 +80000184: 1ad51463 bne a0,a3,8000032c <fail> +80000188: 1a731263 bne t1,t2,8000032c <fail> +8000018c: 1ac59063 bne a1,a2,8000032c <fail> + +80000190 <test_4>: +80000190: 00400193 li gp,4 +80000194: 00002517 auipc a0,0x2 +80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data> +8000019c: 00053007 fld ft0,0(a0) +800001a0: 00853087 fld ft1,8(a0) +800001a4: 01053107 fld ft2,16(a0) +800001a8: 01852683 lw a3,24(a0) +800001ac: 01c52303 lw t1,28(a0) +800001b0: 1a1071d3 fdiv.d ft3,ft0,ft1 +800001b4: 00353027 fsd ft3,0(a0) +800001b8: 00452383 lw t2,4(a0) +800001bc: 00052503 lw a0,0(a0) +800001c0: 001015f3 fsflags a1,zero +800001c4: 00000613 li a2,0 +800001c8: 16d51263 bne a0,a3,8000032c <fail> +800001cc: 16731063 bne t1,t2,8000032c <fail> +800001d0: 14c59e63 bne a1,a2,8000032c <fail> + +800001d4 <test_5>: +800001d4: 00500193 li gp,5 +800001d8: 00002517 auipc a0,0x2 +800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data> +800001e0: 00053007 fld ft0,0(a0) +800001e4: 00853087 fld ft1,8(a0) +800001e8: 01053107 fld ft2,16(a0) +800001ec: 01852683 lw a3,24(a0) +800001f0: 01c52303 lw t1,28(a0) +800001f4: 5a0071d3 fsqrt.d ft3,ft0 +800001f8: 00353027 fsd ft3,0(a0) +800001fc: 00452383 lw t2,4(a0) +80000200: 00052503 lw a0,0(a0) +80000204: 001015f3 fsflags a1,zero +80000208: 00100613 li a2,1 +8000020c: 12d51063 bne a0,a3,8000032c <fail> +80000210: 10731e63 bne t1,t2,8000032c <fail> +80000214: 10c59c63 bne a1,a2,8000032c <fail> + +80000218 <test_6>: +80000218: 00600193 li gp,6 +8000021c: 00002517 auipc a0,0x2 +80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data> +80000224: 00053007 fld ft0,0(a0) +80000228: 00853087 fld ft1,8(a0) +8000022c: 01053107 fld ft2,16(a0) +80000230: 01852683 lw a3,24(a0) +80000234: 01c52303 lw t1,28(a0) +80000238: 5a0071d3 fsqrt.d ft3,ft0 +8000023c: 00353027 fsd ft3,0(a0) +80000240: 00452383 lw t2,4(a0) +80000244: 00052503 lw a0,0(a0) +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 0cd51e63 bne a0,a3,8000032c <fail> +80000254: 0c731c63 bne t1,t2,8000032c <fail> +80000258: 0cc59a63 bne a1,a2,8000032c <fail> + +8000025c <test_16>: +8000025c: 01000193 li gp,16 +80000260: 00002517 auipc a0,0x2 +80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_16_data> +80000268: 00053007 fld ft0,0(a0) +8000026c: 00853087 fld ft1,8(a0) +80000270: 01053107 fld ft2,16(a0) +80000274: 01852683 lw a3,24(a0) +80000278: 01c52303 lw t1,28(a0) +8000027c: 5a0071d3 fsqrt.d ft3,ft0 +80000280: 00353027 fsd ft3,0(a0) +80000284: 00452383 lw t2,4(a0) +80000288: 00052503 lw a0,0(a0) +8000028c: 001015f3 fsflags a1,zero +80000290: 01000613 li a2,16 +80000294: 08d51c63 bne a0,a3,8000032c <fail> +80000298: 08731a63 bne t1,t2,8000032c <fail> +8000029c: 08c59863 bne a1,a2,8000032c <fail> + +800002a0 <test_7>: +800002a0: 00700193 li gp,7 +800002a4: 00002517 auipc a0,0x2 +800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_7_data> +800002ac: 00053007 fld ft0,0(a0) +800002b0: 00853087 fld ft1,8(a0) +800002b4: 01053107 fld ft2,16(a0) +800002b8: 01852683 lw a3,24(a0) +800002bc: 01c52303 lw t1,28(a0) +800002c0: 5a0071d3 fsqrt.d ft3,ft0 +800002c4: 00353027 fsd ft3,0(a0) +800002c8: 00452383 lw t2,4(a0) +800002cc: 00052503 lw a0,0(a0) +800002d0: 001015f3 fsflags a1,zero +800002d4: 00100613 li a2,1 +800002d8: 04d51a63 bne a0,a3,8000032c <fail> +800002dc: 04731863 bne t1,t2,8000032c <fail> +800002e0: 04c59663 bne a1,a2,8000032c <fail> + +800002e4 <test_8>: +800002e4: 00800193 li gp,8 +800002e8: 00002517 auipc a0,0x2 +800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_8_data> +800002f0: 00053007 fld ft0,0(a0) +800002f4: 00853087 fld ft1,8(a0) +800002f8: 01053107 fld ft2,16(a0) +800002fc: 01852683 lw a3,24(a0) +80000300: 01c52303 lw t1,28(a0) +80000304: 5a0071d3 fsqrt.d ft3,ft0 +80000308: 00353027 fsd ft3,0(a0) +8000030c: 00452383 lw t2,4(a0) +80000310: 00052503 lw a0,0(a0) +80000314: 001015f3 fsflags a1,zero +80000318: 00100613 li a2,1 +8000031c: 00d51863 bne a0,a3,8000032c <fail> +80000320: 00731663 bne t1,t2,8000032c <fail> +80000324: 00c59463 bne a1,a2,8000032c <fail> +80000328: 00301c63 bne zero,gp,80000340 <pass> + +8000032c <fail>: +8000032c: 0ff0000f fence +80000330: 00018063 beqz gp,80000330 <fail+0x4> +80000334: 00119193 slli gp,gp,0x1 +80000338: 0011e193 ori gp,gp,1 +8000033c: 00000073 ecall + +80000340 <pass>: +80000340: 0ff0000f fence +80000344: 00100193 li gp,1 +80000348: 00000073 ecall +8000034c: c0001073 unimp +80000350: 0000 unimp +80000352: 0000 unimp +80000354: 0000 unimp +80000356: 0000 unimp +80000358: 0000 unimp +8000035a: 0000 unimp +8000035c: 0000 unimp +8000035e: 0000 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: d4f1 beqz s1,80001fcc <fromhost+0xf8c> +80002002: 53c8 lw a0,36(a5) +80002004: 400921fb 0x400921fb +80002008: b0dd j 800018ee <fromhost+0x8ae> +8000200a: 89f1 andi a1,a1,28 +8000200c: bf0a fsd ft2,440(sp) +8000200e: 4005 c.li zero,1 +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 83ec 0x83ec +8000201a: 7ddbf6c3 0x7ddbf6c3 +8000201e: 3ff2 fld ft11,312(sp) + +80002020 <test_3_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 4800 lw s0,16(s0) +80002026: 6666c093 xori ra,a3,1638 +8000202a: 6666 flw fa2,88(sp) +8000202c: 4c66 lw s8,88(sp) +8000202e: 00004093 xori ra,zero,0 +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 29a5 jal 800024b0 <_end+0x3b0> +8000203a: 3e19 jal 80001b50 <fromhost+0xb10> +8000203c: f8b4 fsw fa3,112(s1) +8000203e: jal t6,7ff1dd8c <_start-0xe2274> + +80002040 <test_4_data>: +80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> +80002042: 53c8 lw a0,36(a5) +80002044: 400921fb 0x400921fb +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 3ff0 fld fa2,248(a5) +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: d4f1 beqz s1,80002024 <test_3_data+0x4> +8000205a: 53c8 lw a0,36(a5) +8000205c: 400921fb 0x400921fb + +80002060 <test_5_data>: +80002060: d4f1 beqz s1,8000202c <test_3_data+0xc> +80002062: 53c8 lw a0,36(a5) +80002064: 400921fb 0x400921fb +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 916f587b 0x916f587b +8000207c: 5bf8 lw a4,116(a5) +8000207e: 3ffc fld fa5,248(a5) + +80002080 <test_6_data>: +80002080: 0000 unimp +80002082: 0000 unimp +80002084: 8800 0x8800 +80002086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 4059 c.li zero,22 + +800020a0 <test_16_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: bff0 fsd fa2,248(a5) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 7ff8 flw fa4,124(a5) + +800020c0 <test_7_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 6000 flw fs0,0(s0) +800020c6: 4065 c.li zero,25 +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 74f5 lui s1,0xffffd +800020da: ce96 sw t0,92(sp) +800020dc: 2744 fld fs1,136(a4) +800020de: 402a 0x402a + +800020e0 <test_8_data>: +800020e0: a105 j 80002500 <_end+0x400> +800020e2: c70a sw sp,140(sp) +800020e4: 94df 3e85 0000 0x3e8594df +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 7f99 lui t6,0xfffe6 +800020fa: 4789c0e3 blt s3,s8,80002d5a <_end+0xc5a> +800020fe: 3f3a fld ft10,424(sp) diff --git a/test/riscv-tests/rv32ud-p-fdiv.elf b/test/riscv-tests/rv32ud-p-fdiv.elf Binary files differnew file mode 100644 index 0000000..56fe7eb --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fdiv.elf diff --git a/test/riscv-tests/rv32ud-p-fmadd.dump b/test/riscv-tests/rv32ud-p-fmadd.dump new file mode 100644 index 0000000..c7fb072 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fmadd.dump @@ -0,0 +1,555 @@ + +rv32ud-p-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00053007 fld ft0,0(a0) +80000118: 00853087 fld ft1,8(a0) +8000011c: 01053107 fld ft2,16(a0) +80000120: 01852683 lw a3,24(a0) +80000124: 01c52303 lw t1,28(a0) +80000128: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +8000012c: 00353027 fsd ft3,0(a0) +80000130: 00452383 lw t2,4(a0) +80000134: 00052503 lw a0,0(a0) +80000138: 001015f3 fsflags a1,zero +8000013c: 00000613 li a2,0 +80000140: 2ed51e63 bne a0,a3,8000043c <fail> +80000144: 2e731c63 bne t1,t2,8000043c <fail> +80000148: 2ec59a63 bne a1,a2,8000043c <fail> + +8000014c <test_3>: +8000014c: 00300193 li gp,3 +80000150: 00002517 auipc a0,0x2 +80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data> +80000158: 00053007 fld ft0,0(a0) +8000015c: 00853087 fld ft1,8(a0) +80000160: 01053107 fld ft2,16(a0) +80000164: 01852683 lw a3,24(a0) +80000168: 01c52303 lw t1,28(a0) +8000016c: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +80000170: 00353027 fsd ft3,0(a0) +80000174: 00452383 lw t2,4(a0) +80000178: 00052503 lw a0,0(a0) +8000017c: 001015f3 fsflags a1,zero +80000180: 00100613 li a2,1 +80000184: 2ad51c63 bne a0,a3,8000043c <fail> +80000188: 2a731a63 bne t1,t2,8000043c <fail> +8000018c: 2ac59863 bne a1,a2,8000043c <fail> + +80000190 <test_4>: +80000190: 00400193 li gp,4 +80000194: 00002517 auipc a0,0x2 +80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data> +8000019c: 00053007 fld ft0,0(a0) +800001a0: 00853087 fld ft1,8(a0) +800001a4: 01053107 fld ft2,16(a0) +800001a8: 01852683 lw a3,24(a0) +800001ac: 01c52303 lw t1,28(a0) +800001b0: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +800001b4: 00353027 fsd ft3,0(a0) +800001b8: 00452383 lw t2,4(a0) +800001bc: 00052503 lw a0,0(a0) +800001c0: 001015f3 fsflags a1,zero +800001c4: 00000613 li a2,0 +800001c8: 26d51a63 bne a0,a3,8000043c <fail> +800001cc: 26731863 bne t1,t2,8000043c <fail> +800001d0: 26c59663 bne a1,a2,8000043c <fail> + +800001d4 <test_5>: +800001d4: 00500193 li gp,5 +800001d8: 00002517 auipc a0,0x2 +800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data> +800001e0: 00053007 fld ft0,0(a0) +800001e4: 00853087 fld ft1,8(a0) +800001e8: 01053107 fld ft2,16(a0) +800001ec: 01852683 lw a3,24(a0) +800001f0: 01c52303 lw t1,28(a0) +800001f4: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +800001f8: 00353027 fsd ft3,0(a0) +800001fc: 00452383 lw t2,4(a0) +80000200: 00052503 lw a0,0(a0) +80000204: 001015f3 fsflags a1,zero +80000208: 00000613 li a2,0 +8000020c: 22d51863 bne a0,a3,8000043c <fail> +80000210: 22731663 bne t1,t2,8000043c <fail> +80000214: 22c59463 bne a1,a2,8000043c <fail> + +80000218 <test_6>: +80000218: 00600193 li gp,6 +8000021c: 00002517 auipc a0,0x2 +80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data> +80000224: 00053007 fld ft0,0(a0) +80000228: 00853087 fld ft1,8(a0) +8000022c: 01053107 fld ft2,16(a0) +80000230: 01852683 lw a3,24(a0) +80000234: 01c52303 lw t1,28(a0) +80000238: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +8000023c: 00353027 fsd ft3,0(a0) +80000240: 00452383 lw t2,4(a0) +80000244: 00052503 lw a0,0(a0) +80000248: 001015f3 fsflags a1,zero +8000024c: 00100613 li a2,1 +80000250: 1ed51663 bne a0,a3,8000043c <fail> +80000254: 1e731463 bne t1,t2,8000043c <fail> +80000258: 1ec59263 bne a1,a2,8000043c <fail> + +8000025c <test_7>: +8000025c: 00700193 li gp,7 +80000260: 00002517 auipc a0,0x2 +80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data> +80000268: 00053007 fld ft0,0(a0) +8000026c: 00853087 fld ft1,8(a0) +80000270: 01053107 fld ft2,16(a0) +80000274: 01852683 lw a3,24(a0) +80000278: 01c52303 lw t1,28(a0) +8000027c: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80000280: 00353027 fsd ft3,0(a0) +80000284: 00452383 lw t2,4(a0) +80000288: 00052503 lw a0,0(a0) +8000028c: 001015f3 fsflags a1,zero +80000290: 00000613 li a2,0 +80000294: 1ad51463 bne a0,a3,8000043c <fail> +80000298: 1a731263 bne t1,t2,8000043c <fail> +8000029c: 1ac59063 bne a1,a2,8000043c <fail> + +800002a0 <test_8>: +800002a0: 00800193 li gp,8 +800002a4: 00002517 auipc a0,0x2 +800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_8_data> +800002ac: 00053007 fld ft0,0(a0) +800002b0: 00853087 fld ft1,8(a0) +800002b4: 01053107 fld ft2,16(a0) +800002b8: 01852683 lw a3,24(a0) +800002bc: 01c52303 lw t1,28(a0) +800002c0: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +800002c4: 00353027 fsd ft3,0(a0) +800002c8: 00452383 lw t2,4(a0) +800002cc: 00052503 lw a0,0(a0) +800002d0: 001015f3 fsflags a1,zero +800002d4: 00000613 li a2,0 +800002d8: 16d51263 bne a0,a3,8000043c <fail> +800002dc: 16731063 bne t1,t2,8000043c <fail> +800002e0: 14c59e63 bne a1,a2,8000043c <fail> + +800002e4 <test_9>: +800002e4: 00900193 li gp,9 +800002e8: 00002517 auipc a0,0x2 +800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_9_data> +800002f0: 00053007 fld ft0,0(a0) +800002f4: 00853087 fld ft1,8(a0) +800002f8: 01053107 fld ft2,16(a0) +800002fc: 01852683 lw a3,24(a0) +80000300: 01c52303 lw t1,28(a0) +80000304: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80000308: 00353027 fsd ft3,0(a0) +8000030c: 00452383 lw t2,4(a0) +80000310: 00052503 lw a0,0(a0) +80000314: 001015f3 fsflags a1,zero +80000318: 00100613 li a2,1 +8000031c: 12d51063 bne a0,a3,8000043c <fail> +80000320: 10731e63 bne t1,t2,8000043c <fail> +80000324: 10c59c63 bne a1,a2,8000043c <fail> + +80000328 <test_10>: +80000328: 00a00193 li gp,10 +8000032c: 00002517 auipc a0,0x2 +80000330: dd450513 addi a0,a0,-556 # 80002100 <test_10_data> +80000334: 00053007 fld ft0,0(a0) +80000338: 00853087 fld ft1,8(a0) +8000033c: 01053107 fld ft2,16(a0) +80000340: 01852683 lw a3,24(a0) +80000344: 01c52303 lw t1,28(a0) +80000348: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +8000034c: 00353027 fsd ft3,0(a0) +80000350: 00452383 lw t2,4(a0) +80000354: 00052503 lw a0,0(a0) +80000358: 001015f3 fsflags a1,zero +8000035c: 00000613 li a2,0 +80000360: 0cd51e63 bne a0,a3,8000043c <fail> +80000364: 0c731c63 bne t1,t2,8000043c <fail> +80000368: 0cc59a63 bne a1,a2,8000043c <fail> + +8000036c <test_11>: +8000036c: 00b00193 li gp,11 +80000370: 00002517 auipc a0,0x2 +80000374: db050513 addi a0,a0,-592 # 80002120 <test_11_data> +80000378: 00053007 fld ft0,0(a0) +8000037c: 00853087 fld ft1,8(a0) +80000380: 01053107 fld ft2,16(a0) +80000384: 01852683 lw a3,24(a0) +80000388: 01c52303 lw t1,28(a0) +8000038c: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80000390: 00353027 fsd ft3,0(a0) +80000394: 00452383 lw t2,4(a0) +80000398: 00052503 lw a0,0(a0) +8000039c: 001015f3 fsflags a1,zero +800003a0: 00000613 li a2,0 +800003a4: 08d51c63 bne a0,a3,8000043c <fail> +800003a8: 08731a63 bne t1,t2,8000043c <fail> +800003ac: 08c59863 bne a1,a2,8000043c <fail> + +800003b0 <test_12>: +800003b0: 00c00193 li gp,12 +800003b4: 00002517 auipc a0,0x2 +800003b8: d8c50513 addi a0,a0,-628 # 80002140 <test_12_data> +800003bc: 00053007 fld ft0,0(a0) +800003c0: 00853087 fld ft1,8(a0) +800003c4: 01053107 fld ft2,16(a0) +800003c8: 01852683 lw a3,24(a0) +800003cc: 01c52303 lw t1,28(a0) +800003d0: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +800003d4: 00353027 fsd ft3,0(a0) +800003d8: 00452383 lw t2,4(a0) +800003dc: 00052503 lw a0,0(a0) +800003e0: 001015f3 fsflags a1,zero +800003e4: 00100613 li a2,1 +800003e8: 04d51a63 bne a0,a3,8000043c <fail> +800003ec: 04731863 bne t1,t2,8000043c <fail> +800003f0: 04c59663 bne a1,a2,8000043c <fail> + +800003f4 <test_13>: +800003f4: 00d00193 li gp,13 +800003f8: 00002517 auipc a0,0x2 +800003fc: d6850513 addi a0,a0,-664 # 80002160 <test_13_data> +80000400: 00053007 fld ft0,0(a0) +80000404: 00853087 fld ft1,8(a0) +80000408: 01053107 fld ft2,16(a0) +8000040c: 01852683 lw a3,24(a0) +80000410: 01c52303 lw t1,28(a0) +80000414: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80000418: 00353027 fsd ft3,0(a0) +8000041c: 00452383 lw t2,4(a0) +80000420: 00052503 lw a0,0(a0) +80000424: 001015f3 fsflags a1,zero +80000428: 00000613 li a2,0 +8000042c: 00d51863 bne a0,a3,8000043c <fail> +80000430: 00731663 bne t1,t2,8000043c <fail> +80000434: 00c59463 bne a1,a2,8000043c <fail> +80000438: 00301c63 bne zero,gp,80000450 <pass> + +8000043c <fail>: +8000043c: 0ff0000f fence +80000440: 00018063 beqz gp,80000440 <fail+0x4> +80000444: 00119193 slli gp,gp,0x1 +80000448: 0011e193 ori gp,gp,1 +8000044c: 00000073 ecall + +80000450 <pass>: +80000450: 0ff0000f fence +80000454: 00100193 li gp,1 +80000458: 00000073 ecall +8000045c: c0001073 unimp +80000460: 0000 unimp +80000462: 0000 unimp +80000464: 0000 unimp +80000466: 0000 unimp +80000468: 0000 unimp +8000046a: 0000 unimp +8000046c: 0000 unimp +8000046e: 0000 unimp +80000470: 0000 unimp +80000472: 0000 unimp +80000474: 0000 unimp +80000476: 0000 unimp +80000478: 0000 unimp +8000047a: 0000 unimp +8000047c: 0000 unimp +8000047e: 0000 unimp +80000480: 0000 unimp +80000482: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 3ff0 fld fa2,248(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 4004 lw s1,0(s0) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 3ff0 fld fa2,248(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 400c lw a1,0(s0) + +80002020 <test_3_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: bff0 fsd fa2,248(a5) +80002028: 6666 flw fa2,88(sp) +8000202a: 6666 flw fa2,88(sp) +8000202c: 4c66 lw s8,88(sp) +8000202e: 999ac093 xori ra,s5,-1639 +80002032: 9999 andi a1,a1,-26 +80002034: 9999 andi a1,a1,-26 +80002036: 3ff1 jal 80002012 <test_2_data+0x12> +80002038: cccc sw a1,28(s1) +8000203a: cccc sw a1,28(s1) +8000203c: 50cc lw a1,36(s1) +8000203e: xori ra,zero,0 + +80002040 <test_4_data>: +80002040: 0000 unimp +80002042: 0000 unimp +80002044: 0000 unimp +80002046: 4000 lw s0,0(s0) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: c014 sw a3,0(s0) +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: c000 sw s0,0(s0) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: c028 sw a0,64(s0) + +80002060 <test_5_data>: +80002060: 0000 unimp +80002062: 0000 unimp +80002064: 0000 unimp +80002066: 3ff0 fld fa2,248(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4004 lw s1,0(s0) +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 3ff0 fld fa2,248(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: c00c sw a1,0(s0) + +80002080 <test_6_data>: +80002080: 0000 unimp +80002082: 0000 unimp +80002084: 0000 unimp +80002086: bff0 fsd fa2,248(a5) +80002088: 6666 flw fa2,88(sp) +8000208a: 6666 flw fa2,88(sp) +8000208c: 4c66 lw s8,88(sp) +8000208e: 999ac093 xori ra,s5,-1639 +80002092: 9999 andi a1,a1,-26 +80002094: 9999 andi a1,a1,-26 +80002096: 3ff1 jal 80002072 <test_5_data+0x12> +80002098: cccc sw a1,28(s1) +8000209a: cccc sw a1,28(s1) +8000209c: 50cc lw a1,36(s1) +8000209e: xori ra,ra,0 + +800020a0 <test_7_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: 4000 lw s0,0(s0) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: c014 sw a3,0(s0) +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: c000 sw s0,0(s0) +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 4028 lw a0,64(s0) + +800020c0 <test_8_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 3ff0 fld fa2,248(a5) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 4004 lw s1,0(s0) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 3ff0 fld fa2,248(a5) +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 3ff8 fld fa4,248(a5) + +800020e0 <test_9_data>: +800020e0: 0000 unimp +800020e2: 0000 unimp +800020e4: 0000 unimp +800020e6: bff0 fsd fa2,248(a5) +800020e8: 6666 flw fa2,88(sp) +800020ea: 6666 flw fa2,88(sp) +800020ec: 4c66 lw s8,88(sp) +800020ee: 999ac093 xori ra,s5,-1639 +800020f2: 9999 andi a1,a1,-26 +800020f4: 9999 andi a1,a1,-26 +800020f6: 3ff1 jal 800020d2 <test_8_data+0x12> +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 4800 lw s0,16(s0) +800020fe: xori ra,zero,0 + +80002100 <test_10_data>: +80002100: 0000 unimp +80002102: 0000 unimp +80002104: 0000 unimp +80002106: 4000 lw s0,0(s0) +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: c014 sw a3,0(s0) +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: c000 sw s0,0(s0) +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: c020 sw s0,64(s0) + +80002120 <test_11_data>: +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: 3ff0 fld fa2,248(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 4004 lw s1,0(s0) +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 3ff0 fld fa2,248(a5) +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: bff8 fsd fa4,248(a5) + +80002140 <test_12_data>: +80002140: 0000 unimp +80002142: 0000 unimp +80002144: 0000 unimp +80002146: bff0 fsd fa2,248(a5) +80002148: 6666 flw fa2,88(sp) +8000214a: 6666 flw fa2,88(sp) +8000214c: 4c66 lw s8,88(sp) +8000214e: 999ac093 xori ra,s5,-1639 +80002152: 9999 andi a1,a1,-26 +80002154: 9999 andi a1,a1,-26 +80002156: 3ff1 jal 80002132 <test_11_data+0x12> +80002158: 0000 unimp +8000215a: 0000 unimp +8000215c: 4800 lw s0,16(s0) +8000215e: xori ra,ra,0 + +80002160 <test_13_data>: +80002160: 0000 unimp +80002162: 0000 unimp +80002164: 0000 unimp +80002166: 4000 lw s0,0(s0) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: c014 sw a3,0(s0) +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: c000 sw s0,0(s0) +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: 4020 lw s0,64(s0) diff --git a/test/riscv-tests/rv32ud-p-fmadd.elf b/test/riscv-tests/rv32ud-p-fmadd.elf Binary files differnew file mode 100644 index 0000000..33a8d12 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fmadd.elf diff --git a/test/riscv-tests/rv32ud-p-fmin.dump b/test/riscv-tests/rv32ud-p-fmin.dump new file mode 100644 index 0000000..359df06 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fmin.dump @@ -0,0 +1,760 @@ + +rv32ud-p-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00053007 fld ft0,0(a0) +80000118: 00853087 fld ft1,8(a0) +8000011c: 01053107 fld ft2,16(a0) +80000120: 01852683 lw a3,24(a0) +80000124: 01c52303 lw t1,28(a0) +80000128: 2a1001d3 fmin.d ft3,ft0,ft1 +8000012c: 00353027 fsd ft3,0(a0) +80000130: 00452383 lw t2,4(a0) +80000134: 00052503 lw a0,0(a0) +80000138: 001015f3 fsflags a1,zero +8000013c: 00000613 li a2,0 +80000140: 48d51a63 bne a0,a3,800005d4 <fail> +80000144: 48731863 bne t1,t2,800005d4 <fail> +80000148: 48c59663 bne a1,a2,800005d4 <fail> + +8000014c <test_3>: +8000014c: 00300193 li gp,3 +80000150: 00002517 auipc a0,0x2 +80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data> +80000158: 00053007 fld ft0,0(a0) +8000015c: 00853087 fld ft1,8(a0) +80000160: 01053107 fld ft2,16(a0) +80000164: 01852683 lw a3,24(a0) +80000168: 01c52303 lw t1,28(a0) +8000016c: 2a1001d3 fmin.d ft3,ft0,ft1 +80000170: 00353027 fsd ft3,0(a0) +80000174: 00452383 lw t2,4(a0) +80000178: 00052503 lw a0,0(a0) +8000017c: 001015f3 fsflags a1,zero +80000180: 00000613 li a2,0 +80000184: 44d51863 bne a0,a3,800005d4 <fail> +80000188: 44731663 bne t1,t2,800005d4 <fail> +8000018c: 44c59463 bne a1,a2,800005d4 <fail> + +80000190 <test_4>: +80000190: 00400193 li gp,4 +80000194: 00002517 auipc a0,0x2 +80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data> +8000019c: 00053007 fld ft0,0(a0) +800001a0: 00853087 fld ft1,8(a0) +800001a4: 01053107 fld ft2,16(a0) +800001a8: 01852683 lw a3,24(a0) +800001ac: 01c52303 lw t1,28(a0) +800001b0: 2a1001d3 fmin.d ft3,ft0,ft1 +800001b4: 00353027 fsd ft3,0(a0) +800001b8: 00452383 lw t2,4(a0) +800001bc: 00052503 lw a0,0(a0) +800001c0: 001015f3 fsflags a1,zero +800001c4: 00000613 li a2,0 +800001c8: 40d51663 bne a0,a3,800005d4 <fail> +800001cc: 40731463 bne t1,t2,800005d4 <fail> +800001d0: 40c59263 bne a1,a2,800005d4 <fail> + +800001d4 <test_5>: +800001d4: 00500193 li gp,5 +800001d8: 00002517 auipc a0,0x2 +800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data> +800001e0: 00053007 fld ft0,0(a0) +800001e4: 00853087 fld ft1,8(a0) +800001e8: 01053107 fld ft2,16(a0) +800001ec: 01852683 lw a3,24(a0) +800001f0: 01c52303 lw t1,28(a0) +800001f4: 2a1001d3 fmin.d ft3,ft0,ft1 +800001f8: 00353027 fsd ft3,0(a0) +800001fc: 00452383 lw t2,4(a0) +80000200: 00052503 lw a0,0(a0) +80000204: 001015f3 fsflags a1,zero +80000208: 00000613 li a2,0 +8000020c: 3cd51463 bne a0,a3,800005d4 <fail> +80000210: 3c731263 bne t1,t2,800005d4 <fail> +80000214: 3cc59063 bne a1,a2,800005d4 <fail> + +80000218 <test_6>: +80000218: 00600193 li gp,6 +8000021c: 00002517 auipc a0,0x2 +80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data> +80000224: 00053007 fld ft0,0(a0) +80000228: 00853087 fld ft1,8(a0) +8000022c: 01053107 fld ft2,16(a0) +80000230: 01852683 lw a3,24(a0) +80000234: 01c52303 lw t1,28(a0) +80000238: 2a1001d3 fmin.d ft3,ft0,ft1 +8000023c: 00353027 fsd ft3,0(a0) +80000240: 00452383 lw t2,4(a0) +80000244: 00052503 lw a0,0(a0) +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 38d51263 bne a0,a3,800005d4 <fail> +80000254: 38731063 bne t1,t2,800005d4 <fail> +80000258: 36c59e63 bne a1,a2,800005d4 <fail> + +8000025c <test_7>: +8000025c: 00700193 li gp,7 +80000260: 00002517 auipc a0,0x2 +80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data> +80000268: 00053007 fld ft0,0(a0) +8000026c: 00853087 fld ft1,8(a0) +80000270: 01053107 fld ft2,16(a0) +80000274: 01852683 lw a3,24(a0) +80000278: 01c52303 lw t1,28(a0) +8000027c: 2a1001d3 fmin.d ft3,ft0,ft1 +80000280: 00353027 fsd ft3,0(a0) +80000284: 00452383 lw t2,4(a0) +80000288: 00052503 lw a0,0(a0) +8000028c: 001015f3 fsflags a1,zero +80000290: 00000613 li a2,0 +80000294: 34d51063 bne a0,a3,800005d4 <fail> +80000298: 32731e63 bne t1,t2,800005d4 <fail> +8000029c: 32c59c63 bne a1,a2,800005d4 <fail> + +800002a0 <test_12>: +800002a0: 00c00193 li gp,12 +800002a4: 00002517 auipc a0,0x2 +800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_12_data> +800002ac: 00053007 fld ft0,0(a0) +800002b0: 00853087 fld ft1,8(a0) +800002b4: 01053107 fld ft2,16(a0) +800002b8: 01852683 lw a3,24(a0) +800002bc: 01c52303 lw t1,28(a0) +800002c0: 2a1011d3 fmax.d ft3,ft0,ft1 +800002c4: 00353027 fsd ft3,0(a0) +800002c8: 00452383 lw t2,4(a0) +800002cc: 00052503 lw a0,0(a0) +800002d0: 001015f3 fsflags a1,zero +800002d4: 00000613 li a2,0 +800002d8: 2ed51e63 bne a0,a3,800005d4 <fail> +800002dc: 2e731c63 bne t1,t2,800005d4 <fail> +800002e0: 2ec59a63 bne a1,a2,800005d4 <fail> + +800002e4 <test_13>: +800002e4: 00d00193 li gp,13 +800002e8: 00002517 auipc a0,0x2 +800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_13_data> +800002f0: 00053007 fld ft0,0(a0) +800002f4: 00853087 fld ft1,8(a0) +800002f8: 01053107 fld ft2,16(a0) +800002fc: 01852683 lw a3,24(a0) +80000300: 01c52303 lw t1,28(a0) +80000304: 2a1011d3 fmax.d ft3,ft0,ft1 +80000308: 00353027 fsd ft3,0(a0) +8000030c: 00452383 lw t2,4(a0) +80000310: 00052503 lw a0,0(a0) +80000314: 001015f3 fsflags a1,zero +80000318: 00000613 li a2,0 +8000031c: 2ad51c63 bne a0,a3,800005d4 <fail> +80000320: 2a731a63 bne t1,t2,800005d4 <fail> +80000324: 2ac59863 bne a1,a2,800005d4 <fail> + +80000328 <test_14>: +80000328: 00e00193 li gp,14 +8000032c: 00002517 auipc a0,0x2 +80000330: dd450513 addi a0,a0,-556 # 80002100 <test_14_data> +80000334: 00053007 fld ft0,0(a0) +80000338: 00853087 fld ft1,8(a0) +8000033c: 01053107 fld ft2,16(a0) +80000340: 01852683 lw a3,24(a0) +80000344: 01c52303 lw t1,28(a0) +80000348: 2a1011d3 fmax.d ft3,ft0,ft1 +8000034c: 00353027 fsd ft3,0(a0) +80000350: 00452383 lw t2,4(a0) +80000354: 00052503 lw a0,0(a0) +80000358: 001015f3 fsflags a1,zero +8000035c: 00000613 li a2,0 +80000360: 26d51a63 bne a0,a3,800005d4 <fail> +80000364: 26731863 bne t1,t2,800005d4 <fail> +80000368: 26c59663 bne a1,a2,800005d4 <fail> + +8000036c <test_15>: +8000036c: 00f00193 li gp,15 +80000370: 00002517 auipc a0,0x2 +80000374: db050513 addi a0,a0,-592 # 80002120 <test_15_data> +80000378: 00053007 fld ft0,0(a0) +8000037c: 00853087 fld ft1,8(a0) +80000380: 01053107 fld ft2,16(a0) +80000384: 01852683 lw a3,24(a0) +80000388: 01c52303 lw t1,28(a0) +8000038c: 2a1011d3 fmax.d ft3,ft0,ft1 +80000390: 00353027 fsd ft3,0(a0) +80000394: 00452383 lw t2,4(a0) +80000398: 00052503 lw a0,0(a0) +8000039c: 001015f3 fsflags a1,zero +800003a0: 00000613 li a2,0 +800003a4: 22d51863 bne a0,a3,800005d4 <fail> +800003a8: 22731663 bne t1,t2,800005d4 <fail> +800003ac: 22c59463 bne a1,a2,800005d4 <fail> + +800003b0 <test_16>: +800003b0: 01000193 li gp,16 +800003b4: 00002517 auipc a0,0x2 +800003b8: d8c50513 addi a0,a0,-628 # 80002140 <test_16_data> +800003bc: 00053007 fld ft0,0(a0) +800003c0: 00853087 fld ft1,8(a0) +800003c4: 01053107 fld ft2,16(a0) +800003c8: 01852683 lw a3,24(a0) +800003cc: 01c52303 lw t1,28(a0) +800003d0: 2a1011d3 fmax.d ft3,ft0,ft1 +800003d4: 00353027 fsd ft3,0(a0) +800003d8: 00452383 lw t2,4(a0) +800003dc: 00052503 lw a0,0(a0) +800003e0: 001015f3 fsflags a1,zero +800003e4: 00000613 li a2,0 +800003e8: 1ed51663 bne a0,a3,800005d4 <fail> +800003ec: 1e731463 bne t1,t2,800005d4 <fail> +800003f0: 1ec59263 bne a1,a2,800005d4 <fail> + +800003f4 <test_17>: +800003f4: 01100193 li gp,17 +800003f8: 00002517 auipc a0,0x2 +800003fc: d6850513 addi a0,a0,-664 # 80002160 <test_17_data> +80000400: 00053007 fld ft0,0(a0) +80000404: 00853087 fld ft1,8(a0) +80000408: 01053107 fld ft2,16(a0) +8000040c: 01852683 lw a3,24(a0) +80000410: 01c52303 lw t1,28(a0) +80000414: 2a1011d3 fmax.d ft3,ft0,ft1 +80000418: 00353027 fsd ft3,0(a0) +8000041c: 00452383 lw t2,4(a0) +80000420: 00052503 lw a0,0(a0) +80000424: 001015f3 fsflags a1,zero +80000428: 00000613 li a2,0 +8000042c: 1ad51463 bne a0,a3,800005d4 <fail> +80000430: 1a731263 bne t1,t2,800005d4 <fail> +80000434: 1ac59063 bne a1,a2,800005d4 <fail> + +80000438 <test_20>: +80000438: 01400193 li gp,20 +8000043c: 00002517 auipc a0,0x2 +80000440: d4450513 addi a0,a0,-700 # 80002180 <test_20_data> +80000444: 00053007 fld ft0,0(a0) +80000448: 00853087 fld ft1,8(a0) +8000044c: 01053107 fld ft2,16(a0) +80000450: 01852683 lw a3,24(a0) +80000454: 01c52303 lw t1,28(a0) +80000458: 2a1011d3 fmax.d ft3,ft0,ft1 +8000045c: 00353027 fsd ft3,0(a0) +80000460: 00452383 lw t2,4(a0) +80000464: 00052503 lw a0,0(a0) +80000468: 001015f3 fsflags a1,zero +8000046c: 01000613 li a2,16 +80000470: 16d51263 bne a0,a3,800005d4 <fail> +80000474: 16731063 bne t1,t2,800005d4 <fail> +80000478: 14c59e63 bne a1,a2,800005d4 <fail> + +8000047c <test_21>: +8000047c: 01500193 li gp,21 +80000480: 00002517 auipc a0,0x2 +80000484: d2050513 addi a0,a0,-736 # 800021a0 <test_21_data> +80000488: 00053007 fld ft0,0(a0) +8000048c: 00853087 fld ft1,8(a0) +80000490: 01053107 fld ft2,16(a0) +80000494: 01852683 lw a3,24(a0) +80000498: 01c52303 lw t1,28(a0) +8000049c: 2a1011d3 fmax.d ft3,ft0,ft1 +800004a0: 00353027 fsd ft3,0(a0) +800004a4: 00452383 lw t2,4(a0) +800004a8: 00052503 lw a0,0(a0) +800004ac: 001015f3 fsflags a1,zero +800004b0: 00000613 li a2,0 +800004b4: 12d51063 bne a0,a3,800005d4 <fail> +800004b8: 10731e63 bne t1,t2,800005d4 <fail> +800004bc: 10c59c63 bne a1,a2,800005d4 <fail> + +800004c0 <test_30>: +800004c0: 01e00193 li gp,30 +800004c4: 00002517 auipc a0,0x2 +800004c8: cfc50513 addi a0,a0,-772 # 800021c0 <test_30_data> +800004cc: 00053007 fld ft0,0(a0) +800004d0: 00853087 fld ft1,8(a0) +800004d4: 01053107 fld ft2,16(a0) +800004d8: 01852683 lw a3,24(a0) +800004dc: 01c52303 lw t1,28(a0) +800004e0: 2a1001d3 fmin.d ft3,ft0,ft1 +800004e4: 00353027 fsd ft3,0(a0) +800004e8: 00452383 lw t2,4(a0) +800004ec: 00052503 lw a0,0(a0) +800004f0: 001015f3 fsflags a1,zero +800004f4: 00000613 li a2,0 +800004f8: 0cd51e63 bne a0,a3,800005d4 <fail> +800004fc: 0c731c63 bne t1,t2,800005d4 <fail> +80000500: 0cc59a63 bne a1,a2,800005d4 <fail> + +80000504 <test_31>: +80000504: 01f00193 li gp,31 +80000508: 00002517 auipc a0,0x2 +8000050c: cd850513 addi a0,a0,-808 # 800021e0 <test_31_data> +80000510: 00053007 fld ft0,0(a0) +80000514: 00853087 fld ft1,8(a0) +80000518: 01053107 fld ft2,16(a0) +8000051c: 01852683 lw a3,24(a0) +80000520: 01c52303 lw t1,28(a0) +80000524: 2a1001d3 fmin.d ft3,ft0,ft1 +80000528: 00353027 fsd ft3,0(a0) +8000052c: 00452383 lw t2,4(a0) +80000530: 00052503 lw a0,0(a0) +80000534: 001015f3 fsflags a1,zero +80000538: 00000613 li a2,0 +8000053c: 08d51c63 bne a0,a3,800005d4 <fail> +80000540: 08731a63 bne t1,t2,800005d4 <fail> +80000544: 08c59863 bne a1,a2,800005d4 <fail> + +80000548 <test_32>: +80000548: 02000193 li gp,32 +8000054c: 00002517 auipc a0,0x2 +80000550: cb450513 addi a0,a0,-844 # 80002200 <test_32_data> +80000554: 00053007 fld ft0,0(a0) +80000558: 00853087 fld ft1,8(a0) +8000055c: 01053107 fld ft2,16(a0) +80000560: 01852683 lw a3,24(a0) +80000564: 01c52303 lw t1,28(a0) +80000568: 2a1011d3 fmax.d ft3,ft0,ft1 +8000056c: 00353027 fsd ft3,0(a0) +80000570: 00452383 lw t2,4(a0) +80000574: 00052503 lw a0,0(a0) +80000578: 001015f3 fsflags a1,zero +8000057c: 00000613 li a2,0 +80000580: 04d51a63 bne a0,a3,800005d4 <fail> +80000584: 04731863 bne t1,t2,800005d4 <fail> +80000588: 04c59663 bne a1,a2,800005d4 <fail> + +8000058c <test_33>: +8000058c: 02100193 li gp,33 +80000590: 00002517 auipc a0,0x2 +80000594: c9050513 addi a0,a0,-880 # 80002220 <test_33_data> +80000598: 00053007 fld ft0,0(a0) +8000059c: 00853087 fld ft1,8(a0) +800005a0: 01053107 fld ft2,16(a0) +800005a4: 01852683 lw a3,24(a0) +800005a8: 01c52303 lw t1,28(a0) +800005ac: 2a1011d3 fmax.d ft3,ft0,ft1 +800005b0: 00353027 fsd ft3,0(a0) +800005b4: 00452383 lw t2,4(a0) +800005b8: 00052503 lw a0,0(a0) +800005bc: 001015f3 fsflags a1,zero +800005c0: 00000613 li a2,0 +800005c4: 00d51863 bne a0,a3,800005d4 <fail> +800005c8: 00731663 bne t1,t2,800005d4 <fail> +800005cc: 00c59463 bne a1,a2,800005d4 <fail> +800005d0: 00301c63 bne zero,gp,800005e8 <pass> + +800005d4 <fail>: +800005d4: 0ff0000f fence +800005d8: 00018063 beqz gp,800005d8 <fail+0x4> +800005dc: 00119193 slli gp,gp,0x1 +800005e0: 0011e193 ori gp,gp,1 +800005e4: 00000073 ecall + +800005e8 <pass>: +800005e8: 0ff0000f fence +800005ec: 00100193 li gp,1 +800005f0: 00000073 ecall +800005f4: c0001073 unimp +800005f8: 0000 unimp +800005fa: 0000 unimp +800005fc: 0000 unimp +800005fe: 0000 unimp +80000600: 0000 unimp +80000602: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4004 lw s1,0(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3ff0 fld fa2,248(a5) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 3ff0 fld fa2,248(a5) + +80002020 <test_3_data>: +80002020: 6666 flw fa2,88(sp) +80002022: 6666 flw fa2,88(sp) +80002024: 4c66 lw s8,88(sp) +80002026: 999ac093 xori ra,s5,-1639 +8000202a: 9999 andi a1,a1,-26 +8000202c: 9999 andi a1,a1,-26 +8000202e: 3ff1 jal 8000200a <test_2_data+0xa> +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 6666 flw fa2,88(sp) +8000203a: 6666 flw fa2,88(sp) +8000203c: 4c66 lw s8,88(sp) +8000203e: xori ra,s5,-1639 + +80002040 <test_4_data>: +80002040: 999a add s3,s3,t1 +80002042: 9999 andi a1,a1,-26 +80002044: 9999 andi a1,a1,-26 +80002046: 3ff1 jal 80002022 <test_3_data+0x2> +80002048: 6666 flw fa2,88(sp) +8000204a: 6666 flw fa2,88(sp) +8000204c: 4c66 lw s8,88(sp) +8000204e: 0000c093 xori ra,ra,0 +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 6666 flw fa2,88(sp) +8000205a: 6666 flw fa2,88(sp) +8000205c: 4c66 lw s8,88(sp) +8000205e: not ra,t6 + +80002060 <test_5_data>: +80002060: ffff 0xffff +80002062: ffff 0xffff +80002064: ffff 0xffff +80002066: 7fff 0x7fff +80002068: 6666 flw fa2,88(sp) +8000206a: 6666 flw fa2,88(sp) +8000206c: 4c66 lw s8,88(sp) +8000206e: 0000c093 xori ra,ra,0 +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 6666 flw fa2,88(sp) +8000207a: 6666 flw fa2,88(sp) +8000207c: 4c66 lw s8,88(sp) +8000207e: xori ra,gp,-689 + +80002080 <test_6_data>: +80002080: d4f1 beqz s1,8000204c <test_4_data+0xc> +80002082: 53c8 lw a0,36(a5) +80002084: 400921fb 0x400921fb +80002088: 8c3a mv s8,a4 +8000208a: e230 fsw fa2,64(a2) +8000208c: 798e flw fs3,224(sp) +8000208e: 3e45 jal 80001c3e <fromhost+0xbfe> +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 8c3a mv s8,a4 +8000209a: e230 fsw fa2,64(a2) +8000209c: 798e flw fs3,224(sp) +8000209e: 3e45 jal 80001c4e <fromhost+0xc0e> + +800020a0 <test_7_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: bff0 fsd fa2,248(a5) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: c000 sw s0,0(s0) +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: c000 sw s0,0(s0) + +800020c0 <test_12_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 4004 lw s1,0(s0) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3ff0 fld fa2,248(a5) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 4004 lw s1,0(s0) + +800020e0 <test_13_data>: +800020e0: 6666 flw fa2,88(sp) +800020e2: 6666 flw fa2,88(sp) +800020e4: 4c66 lw s8,88(sp) +800020e6: 999ac093 xori ra,s5,-1639 +800020ea: 9999 andi a1,a1,-26 +800020ec: 9999 andi a1,a1,-26 +800020ee: 3ff1 jal 800020ca <test_12_data+0xa> +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 999a add s3,s3,t1 +800020fa: 9999 andi a1,a1,-26 +800020fc: 9999 andi a1,a1,-26 +800020fe: 3ff1 jal 800020da <test_12_data+0x1a> + +80002100 <test_14_data>: +80002100: 999a add s3,s3,t1 +80002102: 9999 andi a1,a1,-26 +80002104: 9999 andi a1,a1,-26 +80002106: 3ff1 jal 800020e2 <test_13_data+0x2> +80002108: 6666 flw fa2,88(sp) +8000210a: 6666 flw fa2,88(sp) +8000210c: 4c66 lw s8,88(sp) +8000210e: 0000c093 xori ra,ra,0 +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: 999a add s3,s3,t1 +8000211a: 9999 andi a1,a1,-26 +8000211c: 9999 andi a1,a1,-26 +8000211e: 3ff1 jal 800020fa <test_13_data+0x1a> + +80002120 <test_15_data>: +80002120: ffff 0xffff +80002122: ffff 0xffff +80002124: ffff 0xffff +80002126: 7fff 0x7fff +80002128: 6666 flw fa2,88(sp) +8000212a: 6666 flw fa2,88(sp) +8000212c: 4c66 lw s8,88(sp) +8000212e: 0000c093 xori ra,ra,0 +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 6666 flw fa2,88(sp) +8000213a: 6666 flw fa2,88(sp) +8000213c: 4c66 lw s8,88(sp) +8000213e: xori ra,gp,-689 + +80002140 <test_16_data>: +80002140: d4f1 beqz s1,8000210c <test_14_data+0xc> +80002142: 53c8 lw a0,36(a5) +80002144: 400921fb 0x400921fb +80002148: 8c3a mv s8,a4 +8000214a: e230 fsw fa2,64(a2) +8000214c: 798e flw fs3,224(sp) +8000214e: 3e45 jal 80001cfe <fromhost+0xcbe> +80002150: 0000 unimp +80002152: 0000 unimp +80002154: 0000 unimp +80002156: 0000 unimp +80002158: d4f1 beqz s1,80002124 <test_15_data+0x4> +8000215a: 53c8 lw a0,36(a5) +8000215c: 400921fb 0x400921fb + +80002160 <test_17_data>: +80002160: 0000 unimp +80002162: 0000 unimp +80002164: 0000 unimp +80002166: bff0 fsd fa2,248(a5) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: c000 sw s0,0(s0) +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: 0000 unimp +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: bff0 fsd fa2,248(a5) + +80002180 <test_20_data>: +80002180: 0001 nop +80002182: 0000 unimp +80002184: 0000 unimp +80002186: 7ff0 flw fa2,124(a5) +80002188: 0000 unimp +8000218a: 0000 unimp +8000218c: 0000 unimp +8000218e: 3ff0 fld fa2,248(a5) +80002190: 0000 unimp +80002192: 0000 unimp +80002194: 0000 unimp +80002196: 0000 unimp +80002198: 0000 unimp +8000219a: 0000 unimp +8000219c: 0000 unimp +8000219e: 3ff0 fld fa2,248(a5) + +800021a0 <test_21_data>: +800021a0: ffff 0xffff +800021a2: ffff 0xffff +800021a4: ffff 0xffff +800021a6: 7fff 0x7fff +800021a8: ffff 0xffff +800021aa: ffff 0xffff +800021ac: ffff 0xffff +800021ae: 7fff 0x7fff +800021b0: 0000 unimp +800021b2: 0000 unimp +800021b4: 0000 unimp +800021b6: 0000 unimp +800021b8: 0000 unimp +800021ba: 0000 unimp +800021bc: 0000 unimp +800021be: 7ff8 flw fa4,124(a5) + +800021c0 <test_30_data>: +800021c0: 0000 unimp +800021c2: 0000 unimp +800021c4: 0000 unimp +800021c6: 8000 0x8000 +800021c8: 0000 unimp +800021ca: 0000 unimp +800021cc: 0000 unimp +800021ce: 0000 unimp +800021d0: 0000 unimp +800021d2: 0000 unimp +800021d4: 0000 unimp +800021d6: 0000 unimp +800021d8: 0000 unimp +800021da: 0000 unimp +800021dc: 0000 unimp +800021de: 8000 0x8000 + +800021e0 <test_31_data>: +800021e0: 0000 unimp +800021e2: 0000 unimp +800021e4: 0000 unimp +800021e6: 0000 unimp +800021e8: 0000 unimp +800021ea: 0000 unimp +800021ec: 0000 unimp +800021ee: 8000 0x8000 +800021f0: 0000 unimp +800021f2: 0000 unimp +800021f4: 0000 unimp +800021f6: 0000 unimp +800021f8: 0000 unimp +800021fa: 0000 unimp +800021fc: 0000 unimp +800021fe: 8000 0x8000 + +80002200 <test_32_data>: +80002200: 0000 unimp +80002202: 0000 unimp +80002204: 0000 unimp +80002206: 8000 0x8000 +80002208: 0000 unimp +8000220a: 0000 unimp +8000220c: 0000 unimp +8000220e: 0000 unimp +80002210: 0000 unimp +80002212: 0000 unimp +80002214: 0000 unimp +80002216: 0000 unimp +80002218: 0000 unimp +8000221a: 0000 unimp +8000221c: 0000 unimp +8000221e: 0000 unimp + +80002220 <test_33_data>: +80002220: 0000 unimp +80002222: 0000 unimp +80002224: 0000 unimp +80002226: 0000 unimp +80002228: 0000 unimp +8000222a: 0000 unimp +8000222c: 0000 unimp +8000222e: 8000 0x8000 +80002230: 0000 unimp +80002232: 0000 unimp +80002234: 0000 unimp +80002236: 0000 unimp +80002238: 0000 unimp +8000223a: 0000 unimp +8000223c: 0000 unimp +8000223e: 0000 unimp diff --git a/test/riscv-tests/rv32ud-p-fmin.elf b/test/riscv-tests/rv32ud-p-fmin.elf Binary files differnew file mode 100644 index 0000000..1ff0304 --- /dev/null +++ b/test/riscv-tests/rv32ud-p-fmin.elf diff --git a/test/riscv-tests/rv32ud-v-fadd.dump b/test/riscv-tests/rv32ud-v-fadd.dump new file mode 100644 index 0000000..0d3663f --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fadd.dump @@ -0,0 +1,1273 @@ + +rv32ud-v-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 9e458593 addi a1,a1,-1564 # 80002eac <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: a0058593 addi a1,a1,-1536 # 80002f38 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 9ac58593 addi a1,a1,-1620 # 80002f50 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 8e058593 addi a1,a1,-1824 # 80002ef0 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 8d058593 addi a1,a1,-1840 # 80003018 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 83858593 addi a1,a1,-1992 # 80002ff4 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 73460613 addi a2,a2,1844 # 80003044 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 64460613 addi a2,a2,1604 # 80002fc0 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 5c460613 addi a2,a2,1476 # 80002f8c <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 03300793 li a5,51 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0e7037b7 lui a5,0xe703 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 6e978793 addi a5,a5,1769 # e7036e9 <_start-0x718fc917> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00053007 fld ft0,0(a0) +80002bf4: 00853087 fld ft1,8(a0) +80002bf8: 01053107 fld ft2,16(a0) +80002bfc: 01852683 lw a3,24(a0) +80002c00: 01c52303 lw t1,28(a0) +80002c04: 021071d3 fadd.d ft3,ft0,ft1 +80002c08: 00353027 fsd ft3,0(a0) +80002c0c: 00452383 lw t2,4(a0) +80002c10: 00052503 lw a0,0(a0) +80002c14: 001015f3 fsflags a1,zero +80002c18: 00000613 li a2,0 +80002c1c: 26d51a63 bne a0,a3,80002e90 <fail> +80002c20: 26731863 bne t1,t2,80002e90 <fail> +80002c24: 26c59663 bne a1,a2,80002e90 <fail> + +80002c28 <test_3>: +80002c28: 00300193 li gp,3 +80002c2c: 00001517 auipc a0,0x1 +80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data> +80002c34: 00053007 fld ft0,0(a0) +80002c38: 00853087 fld ft1,8(a0) +80002c3c: 01053107 fld ft2,16(a0) +80002c40: 01852683 lw a3,24(a0) +80002c44: 01c52303 lw t1,28(a0) +80002c48: 021071d3 fadd.d ft3,ft0,ft1 +80002c4c: 00353027 fsd ft3,0(a0) +80002c50: 00452383 lw t2,4(a0) +80002c54: 00052503 lw a0,0(a0) +80002c58: 001015f3 fsflags a1,zero +80002c5c: 00100613 li a2,1 +80002c60: 22d51863 bne a0,a3,80002e90 <fail> +80002c64: 22731663 bne t1,t2,80002e90 <fail> +80002c68: 22c59463 bne a1,a2,80002e90 <fail> + +80002c6c <test_4>: +80002c6c: 00400193 li gp,4 +80002c70: 00001517 auipc a0,0x1 +80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data> +80002c78: 00053007 fld ft0,0(a0) +80002c7c: 00853087 fld ft1,8(a0) +80002c80: 01053107 fld ft2,16(a0) +80002c84: 01852683 lw a3,24(a0) +80002c88: 01c52303 lw t1,28(a0) +80002c8c: 021071d3 fadd.d ft3,ft0,ft1 +80002c90: 00353027 fsd ft3,0(a0) +80002c94: 00452383 lw t2,4(a0) +80002c98: 00052503 lw a0,0(a0) +80002c9c: 001015f3 fsflags a1,zero +80002ca0: 00100613 li a2,1 +80002ca4: 1ed51663 bne a0,a3,80002e90 <fail> +80002ca8: 1e731463 bne t1,t2,80002e90 <fail> +80002cac: 1ec59263 bne a1,a2,80002e90 <fail> + +80002cb0 <test_5>: +80002cb0: 00500193 li gp,5 +80002cb4: 00001517 auipc a0,0x1 +80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data> +80002cbc: 00053007 fld ft0,0(a0) +80002cc0: 00853087 fld ft1,8(a0) +80002cc4: 01053107 fld ft2,16(a0) +80002cc8: 01852683 lw a3,24(a0) +80002ccc: 01c52303 lw t1,28(a0) +80002cd0: 0a1071d3 fsub.d ft3,ft0,ft1 +80002cd4: 00353027 fsd ft3,0(a0) +80002cd8: 00452383 lw t2,4(a0) +80002cdc: 00052503 lw a0,0(a0) +80002ce0: 001015f3 fsflags a1,zero +80002ce4: 00000613 li a2,0 +80002ce8: 1ad51463 bne a0,a3,80002e90 <fail> +80002cec: 1a731263 bne t1,t2,80002e90 <fail> +80002cf0: 1ac59063 bne a1,a2,80002e90 <fail> + +80002cf4 <test_6>: +80002cf4: 00600193 li gp,6 +80002cf8: 00001517 auipc a0,0x1 +80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data> +80002d00: 00053007 fld ft0,0(a0) +80002d04: 00853087 fld ft1,8(a0) +80002d08: 01053107 fld ft2,16(a0) +80002d0c: 01852683 lw a3,24(a0) +80002d10: 01c52303 lw t1,28(a0) +80002d14: 0a1071d3 fsub.d ft3,ft0,ft1 +80002d18: 00353027 fsd ft3,0(a0) +80002d1c: 00452383 lw t2,4(a0) +80002d20: 00052503 lw a0,0(a0) +80002d24: 001015f3 fsflags a1,zero +80002d28: 00100613 li a2,1 +80002d2c: 16d51263 bne a0,a3,80002e90 <fail> +80002d30: 16731063 bne t1,t2,80002e90 <fail> +80002d34: 14c59e63 bne a1,a2,80002e90 <fail> + +80002d38 <test_7>: +80002d38: 00700193 li gp,7 +80002d3c: 00001517 auipc a0,0x1 +80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data> +80002d44: 00053007 fld ft0,0(a0) +80002d48: 00853087 fld ft1,8(a0) +80002d4c: 01053107 fld ft2,16(a0) +80002d50: 01852683 lw a3,24(a0) +80002d54: 01c52303 lw t1,28(a0) +80002d58: 0a1071d3 fsub.d ft3,ft0,ft1 +80002d5c: 00353027 fsd ft3,0(a0) +80002d60: 00452383 lw t2,4(a0) +80002d64: 00052503 lw a0,0(a0) +80002d68: 001015f3 fsflags a1,zero +80002d6c: 00100613 li a2,1 +80002d70: 12d51063 bne a0,a3,80002e90 <fail> +80002d74: 10731e63 bne t1,t2,80002e90 <fail> +80002d78: 10c59c63 bne a1,a2,80002e90 <fail> + +80002d7c <test_8>: +80002d7c: 00800193 li gp,8 +80002d80: 00001517 auipc a0,0x1 +80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_8_data> +80002d88: 00053007 fld ft0,0(a0) +80002d8c: 00853087 fld ft1,8(a0) +80002d90: 01053107 fld ft2,16(a0) +80002d94: 01852683 lw a3,24(a0) +80002d98: 01c52303 lw t1,28(a0) +80002d9c: 121071d3 fmul.d ft3,ft0,ft1 +80002da0: 00353027 fsd ft3,0(a0) +80002da4: 00452383 lw t2,4(a0) +80002da8: 00052503 lw a0,0(a0) +80002dac: 001015f3 fsflags a1,zero +80002db0: 00000613 li a2,0 +80002db4: 0cd51e63 bne a0,a3,80002e90 <fail> +80002db8: 0c731c63 bne t1,t2,80002e90 <fail> +80002dbc: 0cc59a63 bne a1,a2,80002e90 <fail> + +80002dc0 <test_9>: +80002dc0: 00900193 li gp,9 +80002dc4: 00001517 auipc a0,0x1 +80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_9_data> +80002dcc: 00053007 fld ft0,0(a0) +80002dd0: 00853087 fld ft1,8(a0) +80002dd4: 01053107 fld ft2,16(a0) +80002dd8: 01852683 lw a3,24(a0) +80002ddc: 01c52303 lw t1,28(a0) +80002de0: 121071d3 fmul.d ft3,ft0,ft1 +80002de4: 00353027 fsd ft3,0(a0) +80002de8: 00452383 lw t2,4(a0) +80002dec: 00052503 lw a0,0(a0) +80002df0: 001015f3 fsflags a1,zero +80002df4: 00100613 li a2,1 +80002df8: 08d51c63 bne a0,a3,80002e90 <fail> +80002dfc: 08731a63 bne t1,t2,80002e90 <fail> +80002e00: 08c59863 bne a1,a2,80002e90 <fail> + +80002e04 <test_10>: +80002e04: 00a00193 li gp,10 +80002e08: 00001517 auipc a0,0x1 +80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_10_data> +80002e10: 00053007 fld ft0,0(a0) +80002e14: 00853087 fld ft1,8(a0) +80002e18: 01053107 fld ft2,16(a0) +80002e1c: 01852683 lw a3,24(a0) +80002e20: 01c52303 lw t1,28(a0) +80002e24: 121071d3 fmul.d ft3,ft0,ft1 +80002e28: 00353027 fsd ft3,0(a0) +80002e2c: 00452383 lw t2,4(a0) +80002e30: 00052503 lw a0,0(a0) +80002e34: 001015f3 fsflags a1,zero +80002e38: 00100613 li a2,1 +80002e3c: 04d51a63 bne a0,a3,80002e90 <fail> +80002e40: 04731863 bne t1,t2,80002e90 <fail> +80002e44: 04c59663 bne a1,a2,80002e90 <fail> + +80002e48 <test_11>: +80002e48: 00b00193 li gp,11 +80002e4c: 00001517 auipc a0,0x1 +80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_11_data> +80002e54: 00053007 fld ft0,0(a0) +80002e58: 00853087 fld ft1,8(a0) +80002e5c: 01053107 fld ft2,16(a0) +80002e60: 01852683 lw a3,24(a0) +80002e64: 01c52303 lw t1,28(a0) +80002e68: 0a1071d3 fsub.d ft3,ft0,ft1 +80002e6c: 00353027 fsd ft3,0(a0) +80002e70: 00452383 lw t2,4(a0) +80002e74: 00052503 lw a0,0(a0) +80002e78: 001015f3 fsflags a1,zero +80002e7c: 01000613 li a2,16 +80002e80: 00d51863 bne a0,a3,80002e90 <fail> +80002e84: 00731663 bne t1,t2,80002e90 <fail> +80002e88: 00c59463 bne a1,a2,80002e90 <fail> +80002e8c: 00301a63 bne zero,gp,80002ea0 <pass> + +80002e90 <fail>: +80002e90: 00119513 slli a0,gp,0x1 +80002e94: 00050063 beqz a0,80002e94 <fail+0x4> +80002e98: 00156513 ori a0,a0,1 +80002e9c: 00000073 ecall + +80002ea0 <pass>: +80002ea0: 00100513 li a0,1 +80002ea4: 00000073 ecall +80002ea8: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 0000 unimp +80004002: 0000 unimp +80004004: 0000 unimp +80004006: 4004 lw s1,0(s0) +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: 0000 unimp +8000400e: 3ff0 fld fa2,248(a5) +80004010: 0000 unimp +80004012: 0000 unimp +80004014: 0000 unimp +80004016: 0000 unimp +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: 0000 unimp +8000401e: 400c lw a1,0(s0) + +80004020 <test_3_data>: +80004020: 6666 flw fa2,88(sp) +80004022: 6666 flw fa2,88(sp) +80004024: 4c66 lw s8,88(sp) +80004026: 999ac093 xori ra,s5,-1639 +8000402a: 9999 andi a1,a1,-26 +8000402c: 9999 andi a1,a1,-26 +8000402e: 3ff1 jal 8000400a <test_2_data+0xa> +80004030: 0000 unimp +80004032: 0000 unimp +80004034: 0000 unimp +80004036: 0000 unimp +80004038: 0000 unimp +8000403a: 0000 unimp +8000403c: 4800 lw s0,16(s0) +8000403e: xori ra,gp,-689 + +80004040 <test_4_data>: +80004040: d4f1 beqz s1,8000400c <test_2_data+0xc> +80004042: 53c8 lw a0,36(a5) +80004044: 400921fb 0x400921fb +80004048: 8c3a mv s8,a4 +8000404a: e230 fsw fa2,64(a2) +8000404c: 798e flw fs3,224(sp) +8000404e: 3e45 jal 80003bfe <pass+0xd5e> +80004050: 0000 unimp +80004052: 0000 unimp +80004054: 0000 unimp +80004056: 0000 unimp +80004058: 6ddf 5520 21fb 0x21fb55206ddf +8000405e: 4009 c.li zero,2 + +80004060 <test_5_data>: +80004060: 0000 unimp +80004062: 0000 unimp +80004064: 0000 unimp +80004066: 4004 lw s1,0(s0) +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 3ff0 fld fa2,248(a5) +80004070: 0000 unimp +80004072: 0000 unimp +80004074: 0000 unimp +80004076: 0000 unimp +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: 0000 unimp +8000407e: 3ff8 fld fa4,248(a5) + +80004080 <test_6_data>: +80004080: 6666 flw fa2,88(sp) +80004082: 6666 flw fa2,88(sp) +80004084: 4c66 lw s8,88(sp) +80004086: 999ac093 xori ra,s5,-1639 +8000408a: 9999 andi a1,a1,-26 +8000408c: 9999 andi a1,a1,-26 +8000408e: bff1 j 8000406a <test_5_data+0xa> +80004090: 0000 unimp +80004092: 0000 unimp +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 0000 unimp +8000409a: 0000 unimp +8000409c: 4800 lw s0,16(s0) +8000409e: xori ra,gp,-689 + +800040a0 <test_7_data>: +800040a0: d4f1 beqz s1,8000406c <test_5_data+0xc> +800040a2: 53c8 lw a0,36(a5) +800040a4: 400921fb 0x400921fb +800040a8: 8c3a mv s8,a4 +800040aa: e230 fsw fa2,64(a2) +800040ac: 798e flw fs3,224(sp) +800040ae: 3e45 jal 80003c5e <pass+0xdbe> +800040b0: 0000 unimp +800040b2: 0000 unimp +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 52713c03 0x52713c03 +800040bc: 400921fb 0x400921fb + +800040c0 <test_8_data>: +800040c0: 0000 unimp +800040c2: 0000 unimp +800040c4: 0000 unimp +800040c6: 4004 lw s1,0(s0) +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 3ff0 fld fa2,248(a5) +800040d0: 0000 unimp +800040d2: 0000 unimp +800040d4: 0000 unimp +800040d6: 0000 unimp +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 4004 lw s1,0(s0) + +800040e0 <test_9_data>: +800040e0: 6666 flw fa2,88(sp) +800040e2: 6666 flw fa2,88(sp) +800040e4: 4c66 lw s8,88(sp) +800040e6: 999ac093 xori ra,s5,-1639 +800040ea: 9999 andi a1,a1,-26 +800040ec: 9999 andi a1,a1,-26 +800040ee: bff1 j 800040ca <test_8_data+0xa> +800040f0: 0000 unimp +800040f2: 0000 unimp +800040f4: 0000 unimp +800040f6: 0000 unimp +800040f8: 0a3d addi s4,s4,15 +800040fa: 3a70a3d7 0x3a70a3d7 +800040fe: 4095 li ra,5 + +80004100 <test_10_data>: +80004100: d4f1 beqz s1,800040cc <test_8_data+0xc> +80004102: 53c8 lw a0,36(a5) +80004104: 400921fb 0x400921fb +80004108: 8c3a mv s8,a4 +8000410a: e230 fsw fa2,64(a2) +8000410c: 798e flw fs3,224(sp) +8000410e: 3e45 jal 80003cbe <pass+0xe1e> +80004110: 0000 unimp +80004112: 0000 unimp +80004114: 0000 unimp +80004116: 0000 unimp +80004118: ff09 bnez a4,80004032 <test_3_data+0x12> +8000411a: a5c1 j 800047da <begin_signature+0x69a> +8000411c: ddc5 beqz a1,800040d4 <test_8_data+0x14> +8000411e: 3e60 fld fs0,248(a2) + +80004120 <test_11_data>: +80004120: 0000 unimp +80004122: 0000 unimp +80004124: 0000 unimp +80004126: 7ff0 flw fa2,124(a5) +80004128: 0000 unimp +8000412a: 0000 unimp +8000412c: 0000 unimp +8000412e: 7ff0 flw fa2,124(a5) +80004130: 0000 unimp +80004132: 0000 unimp +80004134: 0000 unimp +80004136: 0000 unimp +80004138: 0000 unimp +8000413a: 0000 unimp +8000413c: 0000 unimp +8000413e: 7ff8 flw fa4,124(a5) diff --git a/test/riscv-tests/rv32ud-v-fadd.elf b/test/riscv-tests/rv32ud-v-fadd.elf Binary files differnew file mode 100644 index 0000000..27a2549 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fadd.elf diff --git a/test/riscv-tests/rv32ud-v-fclass.dump b/test/riscv-tests/rv32ud-v-fclass.dump new file mode 100644 index 0000000..3ffa2f4 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fclass.dump @@ -0,0 +1,1064 @@ + +rv32ud-v-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 85458593 addi a1,a1,-1964 # 80002d1c <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 87058593 addi a1,a1,-1936 # 80002da8 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 81c58593 addi a1,a1,-2020 # 80002dc0 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00000597 auipc a1,0x0 +80002614: 75058593 addi a1,a1,1872 # 80002d60 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00000597 auipc a1,0x0 +8000274c: 74058593 addi a1,a1,1856 # 80002e88 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 6a858593 addi a1,a1,1704 # 80002e64 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 5a460613 addi a2,a2,1444 # 80002eb4 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 4b460613 addi a2,a2,1204 # 80002e30 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 43460613 addi a2,a2,1076 # 80002dfc <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 01b00793 li a5,27 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 05d877b7 lui a5,0x5d87 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 67d78793 addi a5,a5,1661 # 5d8767d <_start-0x7a278983> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00000517 auipc a0,0x0 +80002be8: 41c50513 addi a0,a0,1052 # 80003000 <test_2_data> +80002bec: 00053507 fld fa0,0(a0) +80002bf0: e2051553 fclass.d a0,fa0 +80002bf4: 00100e93 li t4,1 +80002bf8: 00200193 li gp,2 +80002bfc: 11d51263 bne a0,t4,80002d00 <fail> + +80002c00 <test_3>: +80002c00: 00000517 auipc a0,0x0 +80002c04: 40850513 addi a0,a0,1032 # 80003008 <test_3_data> +80002c08: 00053507 fld fa0,0(a0) +80002c0c: e2051553 fclass.d a0,fa0 +80002c10: 00200e93 li t4,2 +80002c14: 00300193 li gp,3 +80002c18: 0fd51463 bne a0,t4,80002d00 <fail> + +80002c1c <test_4>: +80002c1c: 00000517 auipc a0,0x0 +80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_4_data> +80002c24: 00053507 fld fa0,0(a0) +80002c28: e2051553 fclass.d a0,fa0 +80002c2c: 00400e93 li t4,4 +80002c30: 00400193 li gp,4 +80002c34: 0dd51663 bne a0,t4,80002d00 <fail> + +80002c38 <test_5>: +80002c38: 00000517 auipc a0,0x0 +80002c3c: 3e050513 addi a0,a0,992 # 80003018 <test_5_data> +80002c40: 00053507 fld fa0,0(a0) +80002c44: e2051553 fclass.d a0,fa0 +80002c48: 00800e93 li t4,8 +80002c4c: 00500193 li gp,5 +80002c50: 0bd51863 bne a0,t4,80002d00 <fail> + +80002c54 <test_6>: +80002c54: 00000517 auipc a0,0x0 +80002c58: 3cc50513 addi a0,a0,972 # 80003020 <test_6_data> +80002c5c: 00053507 fld fa0,0(a0) +80002c60: e2051553 fclass.d a0,fa0 +80002c64: 01000e93 li t4,16 +80002c68: 00600193 li gp,6 +80002c6c: 09d51a63 bne a0,t4,80002d00 <fail> + +80002c70 <test_7>: +80002c70: 00000517 auipc a0,0x0 +80002c74: 3b850513 addi a0,a0,952 # 80003028 <test_7_data> +80002c78: 00053507 fld fa0,0(a0) +80002c7c: e2051553 fclass.d a0,fa0 +80002c80: 02000e93 li t4,32 +80002c84: 00700193 li gp,7 +80002c88: 07d51c63 bne a0,t4,80002d00 <fail> + +80002c8c <test_8>: +80002c8c: 00000517 auipc a0,0x0 +80002c90: 3a450513 addi a0,a0,932 # 80003030 <test_8_data> +80002c94: 00053507 fld fa0,0(a0) +80002c98: e2051553 fclass.d a0,fa0 +80002c9c: 04000e93 li t4,64 +80002ca0: 00800193 li gp,8 +80002ca4: 05d51e63 bne a0,t4,80002d00 <fail> + +80002ca8 <test_9>: +80002ca8: 00000517 auipc a0,0x0 +80002cac: 39050513 addi a0,a0,912 # 80003038 <test_9_data> +80002cb0: 00053507 fld fa0,0(a0) +80002cb4: e2051553 fclass.d a0,fa0 +80002cb8: 08000e93 li t4,128 +80002cbc: 00900193 li gp,9 +80002cc0: 05d51063 bne a0,t4,80002d00 <fail> + +80002cc4 <test_10>: +80002cc4: 00000517 auipc a0,0x0 +80002cc8: 37c50513 addi a0,a0,892 # 80003040 <test_10_data> +80002ccc: 00053507 fld fa0,0(a0) +80002cd0: e2051553 fclass.d a0,fa0 +80002cd4: 10000e93 li t4,256 +80002cd8: 00a00193 li gp,10 +80002cdc: 03d51263 bne a0,t4,80002d00 <fail> + +80002ce0 <test_11>: +80002ce0: 00000517 auipc a0,0x0 +80002ce4: 36850513 addi a0,a0,872 # 80003048 <test_11_data> +80002ce8: 00053507 fld fa0,0(a0) +80002cec: e2051553 fclass.d a0,fa0 +80002cf0: 20000e93 li t4,512 +80002cf4: 00b00193 li gp,11 +80002cf8: 01d51463 bne a0,t4,80002d00 <fail> +80002cfc: 00301a63 bne zero,gp,80002d10 <pass> + +80002d00 <fail>: +80002d00: 00119513 slli a0,gp,0x1 +80002d04: 00050063 beqz a0,80002d04 <fail+0x4> +80002d08: 00156513 ori a0,a0,1 +80002d0c: 00000073 ecall + +80002d10 <pass>: +80002d10: 00100513 li a0,1 +80002d14: 00000073 ecall +80002d18: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: 0000 unimp +80003002: 0000 unimp +80003004: 0000 unimp +80003006: fff0 fsw fa2,124(a5) + +80003008 <test_3_data>: +80003008: 0000 unimp +8000300a: 0000 unimp +8000300c: 0000 unimp +8000300e: bff0 fsd fa2,248(a5) + +80003010 <test_4_data>: +80003010: ffff 0xffff +80003012: ffff 0xffff +80003014: ffff 0xffff +80003016: 0x800f + +80003018 <test_5_data>: +80003018: 0000 unimp +8000301a: 0000 unimp +8000301c: 0000 unimp +8000301e: 8000 0x8000 + +80003020 <test_6_data>: +80003020: 0000 unimp +80003022: 0000 unimp +80003024: 0000 unimp +80003026: 0000 unimp + +80003028 <test_7_data>: +80003028: ffff 0xffff +8000302a: ffff 0xffff +8000302c: ffff 0xffff +8000302e: fence unknown,unknown + +80003030 <test_8_data>: +80003030: 0000 unimp +80003032: 0000 unimp +80003034: 0000 unimp +80003036: 3ff0 fld fa2,248(a5) + +80003038 <test_9_data>: +80003038: 0000 unimp +8000303a: 0000 unimp +8000303c: 0000 unimp +8000303e: 7ff0 flw fa2,124(a5) + +80003040 <test_10_data>: +80003040: 0001 nop +80003042: 0000 unimp +80003044: 0000 unimp +80003046: 7ff0 flw fa2,124(a5) + +80003048 <test_11_data>: +80003048: 0000 unimp +8000304a: 0000 unimp +8000304c: 0000 unimp +8000304e: 7ff8 flw fa4,124(a5) diff --git a/test/riscv-tests/rv32ud-v-fclass.elf b/test/riscv-tests/rv32ud-v-fclass.elf Binary files differnew file mode 100644 index 0000000..31800e6 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fclass.elf diff --git a/test/riscv-tests/rv32ud-v-fcmp.dump b/test/riscv-tests/rv32ud-v-fcmp.dump new file mode 100644 index 0000000..0cfaa35 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcmp.dump @@ -0,0 +1,1421 @@ + +rv32ud-v-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: ac058593 addi a1,a1,-1344 # 80002f88 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: adc58593 addi a1,a1,-1316 # 80003014 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: a8858593 addi a1,a1,-1400 # 8000302c <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 9bc58593 addi a1,a1,-1604 # 80002fcc <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 9ac58593 addi a1,a1,-1620 # 800030f4 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 91458593 addi a1,a1,-1772 # 800030d0 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00001617 auipc a2,0x1 +80002914: 81060613 addi a2,a2,-2032 # 80003120 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 72060613 addi a2,a2,1824 # 8000309c <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 6a060613 addi a2,a2,1696 # 80003068 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 02b00793 li a5,43 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0d1287b7 lui a5,0xd128 +80002b9c: 00080637 lui a2,0x80 +80002ba0: c7f78793 addi a5,a5,-897 # d127c7f <_start-0x72ed8381> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00053007 fld ft0,0(a0) +80002bf4: 00853087 fld ft1,8(a0) +80002bf8: 01053107 fld ft2,16(a0) +80002bfc: 01852683 lw a3,24(a0) +80002c00: 01c52303 lw t1,28(a0) +80002c04: a2102553 feq.d a0,ft0,ft1 +80002c08: 00000393 li t2,0 +80002c0c: 001015f3 fsflags a1,zero +80002c10: 00000613 li a2,0 +80002c14: 34d51c63 bne a0,a3,80002f6c <fail> +80002c18: 34731a63 bne t1,t2,80002f6c <fail> +80002c1c: 34c59863 bne a1,a2,80002f6c <fail> + +80002c20 <test_3>: +80002c20: 00300193 li gp,3 +80002c24: 00001517 auipc a0,0x1 +80002c28: 3fc50513 addi a0,a0,1020 # 80004020 <test_3_data> +80002c2c: 00053007 fld ft0,0(a0) +80002c30: 00853087 fld ft1,8(a0) +80002c34: 01053107 fld ft2,16(a0) +80002c38: 01852683 lw a3,24(a0) +80002c3c: 01c52303 lw t1,28(a0) +80002c40: a2100553 fle.d a0,ft0,ft1 +80002c44: 00000393 li t2,0 +80002c48: 001015f3 fsflags a1,zero +80002c4c: 00000613 li a2,0 +80002c50: 30d51e63 bne a0,a3,80002f6c <fail> +80002c54: 30731c63 bne t1,t2,80002f6c <fail> +80002c58: 30c59a63 bne a1,a2,80002f6c <fail> + +80002c5c <test_4>: +80002c5c: 00400193 li gp,4 +80002c60: 00001517 auipc a0,0x1 +80002c64: 3e050513 addi a0,a0,992 # 80004040 <test_4_data> +80002c68: 00053007 fld ft0,0(a0) +80002c6c: 00853087 fld ft1,8(a0) +80002c70: 01053107 fld ft2,16(a0) +80002c74: 01852683 lw a3,24(a0) +80002c78: 01c52303 lw t1,28(a0) +80002c7c: a2101553 flt.d a0,ft0,ft1 +80002c80: 00000393 li t2,0 +80002c84: 001015f3 fsflags a1,zero +80002c88: 00000613 li a2,0 +80002c8c: 2ed51063 bne a0,a3,80002f6c <fail> +80002c90: 2c731e63 bne t1,t2,80002f6c <fail> +80002c94: 2cc59c63 bne a1,a2,80002f6c <fail> + +80002c98 <test_5>: +80002c98: 00500193 li gp,5 +80002c9c: 00001517 auipc a0,0x1 +80002ca0: 3c450513 addi a0,a0,964 # 80004060 <test_5_data> +80002ca4: 00053007 fld ft0,0(a0) +80002ca8: 00853087 fld ft1,8(a0) +80002cac: 01053107 fld ft2,16(a0) +80002cb0: 01852683 lw a3,24(a0) +80002cb4: 01c52303 lw t1,28(a0) +80002cb8: a2102553 feq.d a0,ft0,ft1 +80002cbc: 00000393 li t2,0 +80002cc0: 001015f3 fsflags a1,zero +80002cc4: 00000613 li a2,0 +80002cc8: 2ad51263 bne a0,a3,80002f6c <fail> +80002ccc: 2a731063 bne t1,t2,80002f6c <fail> +80002cd0: 28c59e63 bne a1,a2,80002f6c <fail> + +80002cd4 <test_6>: +80002cd4: 00600193 li gp,6 +80002cd8: 00001517 auipc a0,0x1 +80002cdc: 3a850513 addi a0,a0,936 # 80004080 <test_6_data> +80002ce0: 00053007 fld ft0,0(a0) +80002ce4: 00853087 fld ft1,8(a0) +80002ce8: 01053107 fld ft2,16(a0) +80002cec: 01852683 lw a3,24(a0) +80002cf0: 01c52303 lw t1,28(a0) +80002cf4: a2100553 fle.d a0,ft0,ft1 +80002cf8: 00000393 li t2,0 +80002cfc: 001015f3 fsflags a1,zero +80002d00: 00000613 li a2,0 +80002d04: 26d51463 bne a0,a3,80002f6c <fail> +80002d08: 26731263 bne t1,t2,80002f6c <fail> +80002d0c: 26c59063 bne a1,a2,80002f6c <fail> + +80002d10 <test_7>: +80002d10: 00700193 li gp,7 +80002d14: 00001517 auipc a0,0x1 +80002d18: 38c50513 addi a0,a0,908 # 800040a0 <test_7_data> +80002d1c: 00053007 fld ft0,0(a0) +80002d20: 00853087 fld ft1,8(a0) +80002d24: 01053107 fld ft2,16(a0) +80002d28: 01852683 lw a3,24(a0) +80002d2c: 01c52303 lw t1,28(a0) +80002d30: a2101553 flt.d a0,ft0,ft1 +80002d34: 00000393 li t2,0 +80002d38: 001015f3 fsflags a1,zero +80002d3c: 00000613 li a2,0 +80002d40: 22d51663 bne a0,a3,80002f6c <fail> +80002d44: 22731463 bne t1,t2,80002f6c <fail> +80002d48: 22c59263 bne a1,a2,80002f6c <fail> + +80002d4c <test_8>: +80002d4c: 00800193 li gp,8 +80002d50: 00001517 auipc a0,0x1 +80002d54: 37050513 addi a0,a0,880 # 800040c0 <test_8_data> +80002d58: 00053007 fld ft0,0(a0) +80002d5c: 00853087 fld ft1,8(a0) +80002d60: 01053107 fld ft2,16(a0) +80002d64: 01852683 lw a3,24(a0) +80002d68: 01c52303 lw t1,28(a0) +80002d6c: a2102553 feq.d a0,ft0,ft1 +80002d70: 00000393 li t2,0 +80002d74: 001015f3 fsflags a1,zero +80002d78: 00000613 li a2,0 +80002d7c: 1ed51863 bne a0,a3,80002f6c <fail> +80002d80: 1e731663 bne t1,t2,80002f6c <fail> +80002d84: 1ec59463 bne a1,a2,80002f6c <fail> + +80002d88 <test_9>: +80002d88: 00900193 li gp,9 +80002d8c: 00001517 auipc a0,0x1 +80002d90: 35450513 addi a0,a0,852 # 800040e0 <test_9_data> +80002d94: 00053007 fld ft0,0(a0) +80002d98: 00853087 fld ft1,8(a0) +80002d9c: 01053107 fld ft2,16(a0) +80002da0: 01852683 lw a3,24(a0) +80002da4: 01c52303 lw t1,28(a0) +80002da8: a2102553 feq.d a0,ft0,ft1 +80002dac: 00000393 li t2,0 +80002db0: 001015f3 fsflags a1,zero +80002db4: 00000613 li a2,0 +80002db8: 1ad51a63 bne a0,a3,80002f6c <fail> +80002dbc: 1a731863 bne t1,t2,80002f6c <fail> +80002dc0: 1ac59663 bne a1,a2,80002f6c <fail> + +80002dc4 <test_10>: +80002dc4: 00a00193 li gp,10 +80002dc8: 00001517 auipc a0,0x1 +80002dcc: 33850513 addi a0,a0,824 # 80004100 <test_10_data> +80002dd0: 00053007 fld ft0,0(a0) +80002dd4: 00853087 fld ft1,8(a0) +80002dd8: 01053107 fld ft2,16(a0) +80002ddc: 01852683 lw a3,24(a0) +80002de0: 01c52303 lw t1,28(a0) +80002de4: a2102553 feq.d a0,ft0,ft1 +80002de8: 00000393 li t2,0 +80002dec: 001015f3 fsflags a1,zero +80002df0: 01000613 li a2,16 +80002df4: 16d51c63 bne a0,a3,80002f6c <fail> +80002df8: 16731a63 bne t1,t2,80002f6c <fail> +80002dfc: 16c59863 bne a1,a2,80002f6c <fail> + +80002e00 <test_11>: +80002e00: 00b00193 li gp,11 +80002e04: 00001517 auipc a0,0x1 +80002e08: 31c50513 addi a0,a0,796 # 80004120 <test_11_data> +80002e0c: 00053007 fld ft0,0(a0) +80002e10: 00853087 fld ft1,8(a0) +80002e14: 01053107 fld ft2,16(a0) +80002e18: 01852683 lw a3,24(a0) +80002e1c: 01c52303 lw t1,28(a0) +80002e20: a2101553 flt.d a0,ft0,ft1 +80002e24: 00000393 li t2,0 +80002e28: 001015f3 fsflags a1,zero +80002e2c: 01000613 li a2,16 +80002e30: 12d51e63 bne a0,a3,80002f6c <fail> +80002e34: 12731c63 bne t1,t2,80002f6c <fail> +80002e38: 12c59a63 bne a1,a2,80002f6c <fail> + +80002e3c <test_12>: +80002e3c: 00c00193 li gp,12 +80002e40: 00001517 auipc a0,0x1 +80002e44: 30050513 addi a0,a0,768 # 80004140 <test_12_data> +80002e48: 00053007 fld ft0,0(a0) +80002e4c: 00853087 fld ft1,8(a0) +80002e50: 01053107 fld ft2,16(a0) +80002e54: 01852683 lw a3,24(a0) +80002e58: 01c52303 lw t1,28(a0) +80002e5c: a2101553 flt.d a0,ft0,ft1 +80002e60: 00000393 li t2,0 +80002e64: 001015f3 fsflags a1,zero +80002e68: 01000613 li a2,16 +80002e6c: 10d51063 bne a0,a3,80002f6c <fail> +80002e70: 0e731e63 bne t1,t2,80002f6c <fail> +80002e74: 0ec59c63 bne a1,a2,80002f6c <fail> + +80002e78 <test_13>: +80002e78: 00d00193 li gp,13 +80002e7c: 00001517 auipc a0,0x1 +80002e80: 2e450513 addi a0,a0,740 # 80004160 <test_13_data> +80002e84: 00053007 fld ft0,0(a0) +80002e88: 00853087 fld ft1,8(a0) +80002e8c: 01053107 fld ft2,16(a0) +80002e90: 01852683 lw a3,24(a0) +80002e94: 01c52303 lw t1,28(a0) +80002e98: a2101553 flt.d a0,ft0,ft1 +80002e9c: 00000393 li t2,0 +80002ea0: 001015f3 fsflags a1,zero +80002ea4: 01000613 li a2,16 +80002ea8: 0cd51263 bne a0,a3,80002f6c <fail> +80002eac: 0c731063 bne t1,t2,80002f6c <fail> +80002eb0: 0ac59e63 bne a1,a2,80002f6c <fail> + +80002eb4 <test_14>: +80002eb4: 00e00193 li gp,14 +80002eb8: 00001517 auipc a0,0x1 +80002ebc: 2c850513 addi a0,a0,712 # 80004180 <test_14_data> +80002ec0: 00053007 fld ft0,0(a0) +80002ec4: 00853087 fld ft1,8(a0) +80002ec8: 01053107 fld ft2,16(a0) +80002ecc: 01852683 lw a3,24(a0) +80002ed0: 01c52303 lw t1,28(a0) +80002ed4: a2100553 fle.d a0,ft0,ft1 +80002ed8: 00000393 li t2,0 +80002edc: 001015f3 fsflags a1,zero +80002ee0: 01000613 li a2,16 +80002ee4: 08d51463 bne a0,a3,80002f6c <fail> +80002ee8: 08731263 bne t1,t2,80002f6c <fail> +80002eec: 08c59063 bne a1,a2,80002f6c <fail> + +80002ef0 <test_15>: +80002ef0: 00f00193 li gp,15 +80002ef4: 00001517 auipc a0,0x1 +80002ef8: 2ac50513 addi a0,a0,684 # 800041a0 <test_15_data> +80002efc: 00053007 fld ft0,0(a0) +80002f00: 00853087 fld ft1,8(a0) +80002f04: 01053107 fld ft2,16(a0) +80002f08: 01852683 lw a3,24(a0) +80002f0c: 01c52303 lw t1,28(a0) +80002f10: a2100553 fle.d a0,ft0,ft1 +80002f14: 00000393 li t2,0 +80002f18: 001015f3 fsflags a1,zero +80002f1c: 01000613 li a2,16 +80002f20: 04d51663 bne a0,a3,80002f6c <fail> +80002f24: 04731463 bne t1,t2,80002f6c <fail> +80002f28: 04c59263 bne a1,a2,80002f6c <fail> + +80002f2c <test_16>: +80002f2c: 01000193 li gp,16 +80002f30: 00001517 auipc a0,0x1 +80002f34: 29050513 addi a0,a0,656 # 800041c0 <test_16_data> +80002f38: 00053007 fld ft0,0(a0) +80002f3c: 00853087 fld ft1,8(a0) +80002f40: 01053107 fld ft2,16(a0) +80002f44: 01852683 lw a3,24(a0) +80002f48: 01c52303 lw t1,28(a0) +80002f4c: a2100553 fle.d a0,ft0,ft1 +80002f50: 00000393 li t2,0 +80002f54: 001015f3 fsflags a1,zero +80002f58: 01000613 li a2,16 +80002f5c: 00d51863 bne a0,a3,80002f6c <fail> +80002f60: 00731663 bne t1,t2,80002f6c <fail> +80002f64: 00c59463 bne a1,a2,80002f6c <fail> +80002f68: 00301a63 bne zero,gp,80002f7c <pass> + +80002f6c <fail>: +80002f6c: 00119513 slli a0,gp,0x1 +80002f70: 00050063 beqz a0,80002f70 <fail+0x4> +80002f74: 00156513 ori a0,a0,1 +80002f78: 00000073 ecall + +80002f7c <pass>: +80002f7c: 00100513 li a0,1 +80002f80: 00000073 ecall +80002f84: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 5c28f5c3 0x5c28f5c3 +80004004: bff5c28f 0xbff5c28f +80004008: 5c28f5c3 0x5c28f5c3 +8000400c: bff5c28f 0xbff5c28f +80004010: 0000 unimp +80004012: 0000 unimp +80004014: 0000 unimp +80004016: 0000 unimp +80004018: 0001 nop +8000401a: 0000 unimp +8000401c: 0000 unimp +8000401e: 0000 unimp + +80004020 <test_3_data>: +80004020: 5c28f5c3 0x5c28f5c3 +80004024: bff5c28f 0xbff5c28f +80004028: 5c28f5c3 0x5c28f5c3 +8000402c: bff5c28f 0xbff5c28f +80004030: 0000 unimp +80004032: 0000 unimp +80004034: 0000 unimp +80004036: 0000 unimp +80004038: 0001 nop +8000403a: 0000 unimp +8000403c: 0000 unimp +8000403e: 0000 unimp + +80004040 <test_4_data>: +80004040: 5c28f5c3 0x5c28f5c3 +80004044: bff5c28f 0xbff5c28f +80004048: 5c28f5c3 0x5c28f5c3 +8000404c: bff5c28f 0xbff5c28f +80004050: 0000 unimp +80004052: 0000 unimp +80004054: 0000 unimp +80004056: 0000 unimp +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0000 unimp +8000405e: 0000 unimp + +80004060 <test_5_data>: +80004060: 51ec lw a1,100(a1) +80004062: 1eb8 addi a4,sp,888 +80004064: eb85 bnez a5,80004094 <test_6_data+0x14> +80004066: bff5 j 80004062 <test_5_data+0x2> +80004068: 5c28f5c3 0x5c28f5c3 +8000406c: bff5c28f 0xbff5c28f +80004070: 0000 unimp +80004072: 0000 unimp +80004074: 0000 unimp +80004076: 0000 unimp +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: 0000 unimp +8000407e: 0000 unimp + +80004080 <test_6_data>: +80004080: 51ec lw a1,100(a1) +80004082: 1eb8 addi a4,sp,888 +80004084: eb85 bnez a5,800040b4 <test_7_data+0x14> +80004086: bff5 j 80004082 <test_6_data+0x2> +80004088: 5c28f5c3 0x5c28f5c3 +8000408c: bff5c28f 0xbff5c28f +80004090: 0000 unimp +80004092: 0000 unimp +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 0001 nop +8000409a: 0000 unimp +8000409c: 0000 unimp +8000409e: 0000 unimp + +800040a0 <test_7_data>: +800040a0: 51ec lw a1,100(a1) +800040a2: 1eb8 addi a4,sp,888 +800040a4: eb85 bnez a5,800040d4 <test_8_data+0x14> +800040a6: bff5 j 800040a2 <test_7_data+0x2> +800040a8: 5c28f5c3 0x5c28f5c3 +800040ac: bff5c28f 0xbff5c28f +800040b0: 0000 unimp +800040b2: 0000 unimp +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 0001 nop +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: 0000 unimp + +800040c0 <test_8_data>: +800040c0: ffff 0xffff +800040c2: ffff 0xffff +800040c4: ffff 0xffff +800040c6: 7fff 0x7fff +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 0000 unimp +800040d0: 0000 unimp +800040d2: 0000 unimp +800040d4: 0000 unimp +800040d6: 0000 unimp +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 0000 unimp + +800040e0 <test_9_data>: +800040e0: ffff 0xffff +800040e2: ffff 0xffff +800040e4: ffff 0xffff +800040e6: 7fff 0x7fff +800040e8: ffff 0xffff +800040ea: ffff 0xffff +800040ec: ffff 0xffff +800040ee: 7fff 0x7fff +800040f0: 0000 unimp +800040f2: 0000 unimp +800040f4: 0000 unimp +800040f6: 0000 unimp +800040f8: 0000 unimp +800040fa: 0000 unimp +800040fc: 0000 unimp +800040fe: 0000 unimp + +80004100 <test_10_data>: +80004100: 0001 nop +80004102: 0000 unimp +80004104: 0000 unimp +80004106: 7ff0 flw fa2,124(a5) +80004108: 0000 unimp +8000410a: 0000 unimp +8000410c: 0000 unimp +8000410e: 0000 unimp +80004110: 0000 unimp +80004112: 0000 unimp +80004114: 0000 unimp +80004116: 0000 unimp +80004118: 0000 unimp +8000411a: 0000 unimp +8000411c: 0000 unimp +8000411e: 0000 unimp + +80004120 <test_11_data>: +80004120: ffff 0xffff +80004122: ffff 0xffff +80004124: ffff 0xffff +80004126: 7fff 0x7fff +80004128: 0000 unimp +8000412a: 0000 unimp +8000412c: 0000 unimp +8000412e: 0000 unimp +80004130: 0000 unimp +80004132: 0000 unimp +80004134: 0000 unimp +80004136: 0000 unimp +80004138: 0000 unimp +8000413a: 0000 unimp +8000413c: 0000 unimp +8000413e: 0000 unimp + +80004140 <test_12_data>: +80004140: ffff 0xffff +80004142: ffff 0xffff +80004144: ffff 0xffff +80004146: 7fff 0x7fff +80004148: ffff 0xffff +8000414a: ffff 0xffff +8000414c: ffff 0xffff +8000414e: 7fff 0x7fff +80004150: 0000 unimp +80004152: 0000 unimp +80004154: 0000 unimp +80004156: 0000 unimp +80004158: 0000 unimp +8000415a: 0000 unimp +8000415c: 0000 unimp +8000415e: 0000 unimp + +80004160 <test_13_data>: +80004160: 0001 nop +80004162: 0000 unimp +80004164: 0000 unimp +80004166: 7ff0 flw fa2,124(a5) +80004168: 0000 unimp +8000416a: 0000 unimp +8000416c: 0000 unimp +8000416e: 0000 unimp +80004170: 0000 unimp +80004172: 0000 unimp +80004174: 0000 unimp +80004176: 0000 unimp +80004178: 0000 unimp +8000417a: 0000 unimp +8000417c: 0000 unimp +8000417e: 0000 unimp + +80004180 <test_14_data>: +80004180: ffff 0xffff +80004182: ffff 0xffff +80004184: ffff 0xffff +80004186: 7fff 0x7fff +80004188: 0000 unimp +8000418a: 0000 unimp +8000418c: 0000 unimp +8000418e: 0000 unimp +80004190: 0000 unimp +80004192: 0000 unimp +80004194: 0000 unimp +80004196: 0000 unimp +80004198: 0000 unimp +8000419a: 0000 unimp +8000419c: 0000 unimp +8000419e: 0000 unimp + +800041a0 <test_15_data>: +800041a0: ffff 0xffff +800041a2: ffff 0xffff +800041a4: ffff 0xffff +800041a6: 7fff 0x7fff +800041a8: ffff 0xffff +800041aa: ffff 0xffff +800041ac: ffff 0xffff +800041ae: 7fff 0x7fff +800041b0: 0000 unimp +800041b2: 0000 unimp +800041b4: 0000 unimp +800041b6: 0000 unimp +800041b8: 0000 unimp +800041ba: 0000 unimp +800041bc: 0000 unimp +800041be: 0000 unimp + +800041c0 <test_16_data>: +800041c0: 0001 nop +800041c2: 0000 unimp +800041c4: 0000 unimp +800041c6: 7ff0 flw fa2,124(a5) +800041c8: 0000 unimp +800041ca: 0000 unimp +800041cc: 0000 unimp +800041ce: 0000 unimp +800041d0: 0000 unimp +800041d2: 0000 unimp +800041d4: 0000 unimp +800041d6: 0000 unimp +800041d8: 0000 unimp +800041da: 0000 unimp +800041dc: 0000 unimp +800041de: 0000 unimp diff --git a/test/riscv-tests/rv32ud-v-fcmp.elf b/test/riscv-tests/rv32ud-v-fcmp.elf Binary files differnew file mode 100644 index 0000000..bc134d7 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcmp.elf diff --git a/test/riscv-tests/rv32ud-v-fcvt.dump b/test/riscv-tests/rv32ud-v-fcvt.dump new file mode 100644 index 0000000..1425a18 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcvt.dump @@ -0,0 +1,1095 @@ + +rv32ud-v-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 8c858593 addi a1,a1,-1848 # 80002d90 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 8e458593 addi a1,a1,-1820 # 80002e1c <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 89058593 addi a1,a1,-1904 # 80002e34 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00000597 auipc a1,0x0 +80002614: 7c458593 addi a1,a1,1988 # 80002dd4 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00000597 auipc a1,0x0 +8000274c: 7b458593 addi a1,a1,1972 # 80002efc <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 71c58593 addi a1,a1,1820 # 80002ed8 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 61860613 addi a2,a2,1560 # 80002f28 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 52860613 addi a2,a2,1320 # 80002ea4 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 4a860613 addi a2,a2,1192 # 80002e70 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 01900793 li a5,25 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0c98a7b7 lui a5,0xc98a +80002b9c: 00080637 lui a2,0x80 +80002ba0: 68178793 addi a5,a5,1665 # c98a681 <_start-0x7367597f> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00000517 auipc a0,0x0 +80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data> +80002bf0: 00052683 lw a3,0(a0) +80002bf4: 00452703 lw a4,4(a0) +80002bf8: 00200593 li a1,2 +80002bfc: d2058053 fcvt.d.w ft0,a1 +80002c00: 00053027 fsd ft0,0(a0) +80002c04: 00452583 lw a1,4(a0) +80002c08: 00052503 lw a0,0(a0) +80002c0c: 00101073 fsflags zero +80002c10: 16d51263 bne a0,a3,80002d74 <fail> +80002c14: 16e59063 bne a1,a4,80002d74 <fail> + +80002c18 <test_3>: +80002c18: 00300193 li gp,3 +80002c1c: 00000517 auipc a0,0x0 +80002c20: 3ec50513 addi a0,a0,1004 # 80003008 <test_3_data> +80002c24: 00052683 lw a3,0(a0) +80002c28: 00452703 lw a4,4(a0) +80002c2c: ffe00593 li a1,-2 +80002c30: d2058053 fcvt.d.w ft0,a1 +80002c34: 00053027 fsd ft0,0(a0) +80002c38: 00452583 lw a1,4(a0) +80002c3c: 00052503 lw a0,0(a0) +80002c40: 00101073 fsflags zero +80002c44: 12d51863 bne a0,a3,80002d74 <fail> +80002c48: 12e59663 bne a1,a4,80002d74 <fail> + +80002c4c <test_4>: +80002c4c: 00400193 li gp,4 +80002c50: 00000517 auipc a0,0x0 +80002c54: 3c050513 addi a0,a0,960 # 80003010 <test_4_data> +80002c58: 00052683 lw a3,0(a0) +80002c5c: 00452703 lw a4,4(a0) +80002c60: 00200593 li a1,2 +80002c64: d2158053 fcvt.d.wu ft0,a1 +80002c68: 00053027 fsd ft0,0(a0) +80002c6c: 00452583 lw a1,4(a0) +80002c70: 00052503 lw a0,0(a0) +80002c74: 00101073 fsflags zero +80002c78: 0ed51e63 bne a0,a3,80002d74 <fail> +80002c7c: 0ee59c63 bne a1,a4,80002d74 <fail> + +80002c80 <test_5>: +80002c80: 00500193 li gp,5 +80002c84: 00000517 auipc a0,0x0 +80002c88: 39450513 addi a0,a0,916 # 80003018 <test_5_data> +80002c8c: 00052683 lw a3,0(a0) +80002c90: 00452703 lw a4,4(a0) +80002c94: ffe00593 li a1,-2 +80002c98: d2158053 fcvt.d.wu ft0,a1 +80002c9c: 00053027 fsd ft0,0(a0) +80002ca0: 00452583 lw a1,4(a0) +80002ca4: 00052503 lw a0,0(a0) +80002ca8: 00101073 fsflags zero +80002cac: 0cd51463 bne a0,a3,80002d74 <fail> +80002cb0: 0ce59263 bne a1,a4,80002d74 <fail> + +80002cb4 <test_10>: +80002cb4: 00a00193 li gp,10 +80002cb8: 00000517 auipc a0,0x0 +80002cbc: 36850513 addi a0,a0,872 # 80003020 <test_10_data> +80002cc0: 00053007 fld ft0,0(a0) +80002cc4: 00853087 fld ft1,8(a0) +80002cc8: 01053107 fld ft2,16(a0) +80002ccc: 01852683 lw a3,24(a0) +80002cd0: 01c52303 lw t1,28(a0) +80002cd4: 401071d3 fcvt.s.d ft3,ft0 +80002cd8: 420181d3 fcvt.d.s ft3,ft3 +80002cdc: 00353027 fsd ft3,0(a0) +80002ce0: 00452383 lw t2,4(a0) +80002ce4: 00052503 lw a0,0(a0) +80002ce8: 001015f3 fsflags a1,zero +80002cec: 00000613 li a2,0 +80002cf0: 08d51263 bne a0,a3,80002d74 <fail> +80002cf4: 08731063 bne t1,t2,80002d74 <fail> +80002cf8: 06c59e63 bne a1,a2,80002d74 <fail> + +80002cfc <test_11>: +80002cfc: 00b00193 li gp,11 +80002d00: 00000517 auipc a0,0x0 +80002d04: 34050513 addi a0,a0,832 # 80003040 <test_11_data> +80002d08: 00052007 flw ft0,0(a0) +80002d0c: 00452087 flw ft1,4(a0) +80002d10: 00852107 flw ft2,8(a0) +80002d14: 00c52683 lw a3,12(a0) +80002d18: 420001d3 fcvt.d.s ft3,ft0 +80002d1c: 4011f1d3 fcvt.s.d ft3,ft3 +80002d20: e0018553 fmv.x.w a0,ft3 +80002d24: 001015f3 fsflags a1,zero +80002d28: 00000613 li a2,0 +80002d2c: 04d51463 bne a0,a3,80002d74 <fail> +80002d30: 04c59263 bne a1,a2,80002d74 <fail> + +80002d34 <test_12>: +80002d34: 00000597 auipc a1,0x0 +80002d38: 32c58593 addi a1,a1,812 # 80003060 <begin_signature> +80002d3c: 0005b107 fld ft2,0(a1) +80002d40: 40117153 fcvt.s.d ft2,ft2 +80002d44: 42010153 fcvt.d.s ft2,ft2 +80002d48: 0025b027 fsd ft2,0(a1) +80002d4c: 0005a503 lw a0,0(a1) +80002d50: 0045a583 lw a1,4(a1) +80002d54: 00000f97 auipc t6,0x0 +80002d58: 2fcf8f93 addi t6,t6,764 # 80003050 <test_12_data> +80002d5c: 000fae83 lw t4,0(t6) +80002d60: 004faf83 lw t6,4(t6) +80002d64: 00c00193 li gp,12 +80002d68: 01d51663 bne a0,t4,80002d74 <fail> +80002d6c: 01f59463 bne a1,t6,80002d74 <fail> +80002d70: 00301a63 bne zero,gp,80002d84 <pass> + +80002d74 <fail>: +80002d74: 00119513 slli a0,gp,0x1 +80002d78: 00050063 beqz a0,80002d78 <fail+0x4> +80002d7c: 00156513 ori a0,a0,1 +80002d80: 00000073 ecall + +80002d84 <pass>: +80002d84: 00100513 li a0,1 +80002d88: 00000073 ecall +80002d8c: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: 0000 unimp +80003002: 0000 unimp +80003004: 0000 unimp +80003006: 4000 lw s0,0(s0) + +80003008 <test_3_data>: +80003008: 0000 unimp +8000300a: 0000 unimp +8000300c: 0000 unimp +8000300e: c000 sw s0,0(s0) + +80003010 <test_4_data>: +80003010: 0000 unimp +80003012: 0000 unimp +80003014: 0000 unimp +80003016: 4000 lw s0,0(s0) + +80003018 <test_5_data>: +80003018: 0000 unimp +8000301a: ffc0 fsw fs0,60(a5) +8000301c: ffff 0xffff +8000301e: jal gp,8000701e <_end+0xc26> + +80003020 <test_10_data>: +80003020: 0000 unimp +80003022: 0000 unimp +80003024: 0000 unimp +80003026: bff8 fsd fa4,248(a5) +80003028: 0000 unimp +8000302a: 0000 unimp +8000302c: 0000 unimp +8000302e: 0000 unimp +80003030: 0000 unimp +80003032: 0000 unimp +80003034: 0000 unimp +80003036: 0000 unimp +80003038: 0000 unimp +8000303a: 0000 unimp +8000303c: 0000 unimp +8000303e: bff8 fsd fa4,248(a5) + +80003040 <test_11_data>: +80003040: 0000 unimp +80003042: bfc0 fsd fs0,184(a5) +80003044: 0000 unimp +80003046: 0000 unimp +80003048: 0000 unimp +8000304a: 0000 unimp +8000304c: 0000 unimp +8000304e: bfc0 fsd fs0,184(a5) + +80003050 <test_12_data>: +80003050: 0000 unimp +80003052: 0000 unimp +80003054: 0000 unimp +80003056: 7ff8 flw fa4,124(a5) +80003058: 0000 unimp +8000305a: 0000 unimp +8000305c: 0000 unimp +8000305e: 0000 unimp + +80003060 <begin_signature>: +80003060: 8004 0x8004 +80003062: ffff 0xffff +80003064: ffff 0xffff +80003066: 7ffc flw fa5,124(a5) diff --git a/test/riscv-tests/rv32ud-v-fcvt.elf b/test/riscv-tests/rv32ud-v-fcvt.elf Binary files differnew file mode 100644 index 0000000..b12379f --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcvt.elf diff --git a/test/riscv-tests/rv32ud-v-fcvt_w.dump b/test/riscv-tests/rv32ud-v-fcvt_w.dump new file mode 100644 index 0000000..bd8f33f --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcvt_w.dump @@ -0,0 +1,1401 @@ + +rv32ud-v-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: b2858593 addi a1,a1,-1240 # 80002ff0 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: b4458593 addi a1,a1,-1212 # 8000307c <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: af058593 addi a1,a1,-1296 # 80003094 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: a2458593 addi a1,a1,-1500 # 80003034 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: a1458593 addi a1,a1,-1516 # 8000315c <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 97c58593 addi a1,a1,-1668 # 80003138 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00001617 auipc a2,0x1 +80002914: 87860613 addi a2,a2,-1928 # 80003188 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 78860613 addi a2,a2,1928 # 80003104 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 70860613 addi a2,a2,1800 # 800030d0 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 00e00793 li a5,14 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0ddd07b7 lui a5,0xddd0 +80002b9c: 00080637 lui a2,0x80 +80002ba0: ebd78793 addi a5,a5,-323 # ddcfebd <_start-0x72230143> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: c0001553 fcvt.w.s a0,ft0,rtz +80002c04: 001015f3 fsflags a1,zero +80002c08: 00100613 li a2,1 +80002c0c: 3cd51463 bne a0,a3,80002fd4 <fail> +80002c10: 3cc59263 bne a1,a2,80002fd4 <fail> + +80002c14 <test_3>: +80002c14: 00300193 li gp,3 +80002c18: 00001517 auipc a0,0x1 +80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data> +80002c20: 00052007 flw ft0,0(a0) +80002c24: 00452087 flw ft1,4(a0) +80002c28: 00852107 flw ft2,8(a0) +80002c2c: 00c52683 lw a3,12(a0) +80002c30: c0001553 fcvt.w.s a0,ft0,rtz +80002c34: 001015f3 fsflags a1,zero +80002c38: 00000613 li a2,0 +80002c3c: 38d51c63 bne a0,a3,80002fd4 <fail> +80002c40: 38c59a63 bne a1,a2,80002fd4 <fail> + +80002c44 <test_4>: +80002c44: 00400193 li gp,4 +80002c48: 00001517 auipc a0,0x1 +80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data> +80002c50: 00052007 flw ft0,0(a0) +80002c54: 00452087 flw ft1,4(a0) +80002c58: 00852107 flw ft2,8(a0) +80002c5c: 00c52683 lw a3,12(a0) +80002c60: c0001553 fcvt.w.s a0,ft0,rtz +80002c64: 001015f3 fsflags a1,zero +80002c68: 00100613 li a2,1 +80002c6c: 36d51463 bne a0,a3,80002fd4 <fail> +80002c70: 36c59263 bne a1,a2,80002fd4 <fail> + +80002c74 <test_5>: +80002c74: 00500193 li gp,5 +80002c78: 00001517 auipc a0,0x1 +80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data> +80002c80: 00052007 flw ft0,0(a0) +80002c84: 00452087 flw ft1,4(a0) +80002c88: 00852107 flw ft2,8(a0) +80002c8c: 00c52683 lw a3,12(a0) +80002c90: c0001553 fcvt.w.s a0,ft0,rtz +80002c94: 001015f3 fsflags a1,zero +80002c98: 00100613 li a2,1 +80002c9c: 32d51c63 bne a0,a3,80002fd4 <fail> +80002ca0: 32c59a63 bne a1,a2,80002fd4 <fail> + +80002ca4 <test_6>: +80002ca4: 00600193 li gp,6 +80002ca8: 00001517 auipc a0,0x1 +80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data> +80002cb0: 00052007 flw ft0,0(a0) +80002cb4: 00452087 flw ft1,4(a0) +80002cb8: 00852107 flw ft2,8(a0) +80002cbc: 00c52683 lw a3,12(a0) +80002cc0: c0001553 fcvt.w.s a0,ft0,rtz +80002cc4: 001015f3 fsflags a1,zero +80002cc8: 00000613 li a2,0 +80002ccc: 30d51463 bne a0,a3,80002fd4 <fail> +80002cd0: 30c59263 bne a1,a2,80002fd4 <fail> + +80002cd4 <test_7>: +80002cd4: 00700193 li gp,7 +80002cd8: 00001517 auipc a0,0x1 +80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data> +80002ce0: 00052007 flw ft0,0(a0) +80002ce4: 00452087 flw ft1,4(a0) +80002ce8: 00852107 flw ft2,8(a0) +80002cec: 00c52683 lw a3,12(a0) +80002cf0: c0001553 fcvt.w.s a0,ft0,rtz +80002cf4: 001015f3 fsflags a1,zero +80002cf8: 00100613 li a2,1 +80002cfc: 2cd51c63 bne a0,a3,80002fd4 <fail> +80002d00: 2cc59a63 bne a1,a2,80002fd4 <fail> + +80002d04 <test_8>: +80002d04: 00800193 li gp,8 +80002d08: 00001517 auipc a0,0x1 +80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data> +80002d10: 00052007 flw ft0,0(a0) +80002d14: 00452087 flw ft1,4(a0) +80002d18: 00852107 flw ft2,8(a0) +80002d1c: 00c52683 lw a3,12(a0) +80002d20: c0001553 fcvt.w.s a0,ft0,rtz +80002d24: 001015f3 fsflags a1,zero +80002d28: 01000613 li a2,16 +80002d2c: 2ad51463 bne a0,a3,80002fd4 <fail> +80002d30: 2ac59263 bne a1,a2,80002fd4 <fail> + +80002d34 <test_9>: +80002d34: 00900193 li gp,9 +80002d38: 00001517 auipc a0,0x1 +80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data> +80002d40: 00052007 flw ft0,0(a0) +80002d44: 00452087 flw ft1,4(a0) +80002d48: 00852107 flw ft2,8(a0) +80002d4c: 00c52683 lw a3,12(a0) +80002d50: c0001553 fcvt.w.s a0,ft0,rtz +80002d54: 001015f3 fsflags a1,zero +80002d58: 01000613 li a2,16 +80002d5c: 26d51c63 bne a0,a3,80002fd4 <fail> +80002d60: 26c59a63 bne a1,a2,80002fd4 <fail> + +80002d64 <test_12>: +80002d64: 00c00193 li gp,12 +80002d68: 00001517 auipc a0,0x1 +80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_12_data> +80002d70: 00052007 flw ft0,0(a0) +80002d74: 00452087 flw ft1,4(a0) +80002d78: 00852107 flw ft2,8(a0) +80002d7c: 00c52683 lw a3,12(a0) +80002d80: c0101553 fcvt.wu.s a0,ft0,rtz +80002d84: 001015f3 fsflags a1,zero +80002d88: 01000613 li a2,16 +80002d8c: 24d51463 bne a0,a3,80002fd4 <fail> +80002d90: 24c59263 bne a1,a2,80002fd4 <fail> + +80002d94 <test_13>: +80002d94: 00d00193 li gp,13 +80002d98: 00001517 auipc a0,0x1 +80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_13_data> +80002da0: 00052007 flw ft0,0(a0) +80002da4: 00452087 flw ft1,4(a0) +80002da8: 00852107 flw ft2,8(a0) +80002dac: 00c52683 lw a3,12(a0) +80002db0: c0101553 fcvt.wu.s a0,ft0,rtz +80002db4: 001015f3 fsflags a1,zero +80002db8: 01000613 li a2,16 +80002dbc: 20d51c63 bne a0,a3,80002fd4 <fail> +80002dc0: 20c59a63 bne a1,a2,80002fd4 <fail> + +80002dc4 <test_14>: +80002dc4: 00e00193 li gp,14 +80002dc8: 00001517 auipc a0,0x1 +80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_14_data> +80002dd0: 00052007 flw ft0,0(a0) +80002dd4: 00452087 flw ft1,4(a0) +80002dd8: 00852107 flw ft2,8(a0) +80002ddc: 00c52683 lw a3,12(a0) +80002de0: c0101553 fcvt.wu.s a0,ft0,rtz +80002de4: 001015f3 fsflags a1,zero +80002de8: 00100613 li a2,1 +80002dec: 1ed51463 bne a0,a3,80002fd4 <fail> +80002df0: 1ec59263 bne a1,a2,80002fd4 <fail> + +80002df4 <test_15>: +80002df4: 00f00193 li gp,15 +80002df8: 00001517 auipc a0,0x1 +80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_15_data> +80002e00: 00052007 flw ft0,0(a0) +80002e04: 00452087 flw ft1,4(a0) +80002e08: 00852107 flw ft2,8(a0) +80002e0c: 00c52683 lw a3,12(a0) +80002e10: c0101553 fcvt.wu.s a0,ft0,rtz +80002e14: 001015f3 fsflags a1,zero +80002e18: 00100613 li a2,1 +80002e1c: 1ad51c63 bne a0,a3,80002fd4 <fail> +80002e20: 1ac59a63 bne a1,a2,80002fd4 <fail> + +80002e24 <test_16>: +80002e24: 01000193 li gp,16 +80002e28: 00001517 auipc a0,0x1 +80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_16_data> +80002e30: 00052007 flw ft0,0(a0) +80002e34: 00452087 flw ft1,4(a0) +80002e38: 00852107 flw ft2,8(a0) +80002e3c: 00c52683 lw a3,12(a0) +80002e40: c0101553 fcvt.wu.s a0,ft0,rtz +80002e44: 001015f3 fsflags a1,zero +80002e48: 00000613 li a2,0 +80002e4c: 18d51463 bne a0,a3,80002fd4 <fail> +80002e50: 18c59263 bne a1,a2,80002fd4 <fail> + +80002e54 <test_17>: +80002e54: 01100193 li gp,17 +80002e58: 00001517 auipc a0,0x1 +80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_17_data> +80002e60: 00052007 flw ft0,0(a0) +80002e64: 00452087 flw ft1,4(a0) +80002e68: 00852107 flw ft2,8(a0) +80002e6c: 00c52683 lw a3,12(a0) +80002e70: c0101553 fcvt.wu.s a0,ft0,rtz +80002e74: 001015f3 fsflags a1,zero +80002e78: 00100613 li a2,1 +80002e7c: 14d51c63 bne a0,a3,80002fd4 <fail> +80002e80: 14c59a63 bne a1,a2,80002fd4 <fail> + +80002e84 <test_18>: +80002e84: 01200193 li gp,18 +80002e88: 00001517 auipc a0,0x1 +80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_18_data> +80002e90: 00052007 flw ft0,0(a0) +80002e94: 00452087 flw ft1,4(a0) +80002e98: 00852107 flw ft2,8(a0) +80002e9c: 00c52683 lw a3,12(a0) +80002ea0: c0101553 fcvt.wu.s a0,ft0,rtz +80002ea4: 001015f3 fsflags a1,zero +80002ea8: 01000613 li a2,16 +80002eac: 12d51463 bne a0,a3,80002fd4 <fail> +80002eb0: 12c59263 bne a1,a2,80002fd4 <fail> + +80002eb4 <test_19>: +80002eb4: 01300193 li gp,19 +80002eb8: 00001517 auipc a0,0x1 +80002ebc: 23850513 addi a0,a0,568 # 800040f0 <test_19_data> +80002ec0: 00052007 flw ft0,0(a0) +80002ec4: 00452087 flw ft1,4(a0) +80002ec8: 00852107 flw ft2,8(a0) +80002ecc: 00c52683 lw a3,12(a0) +80002ed0: c0101553 fcvt.wu.s a0,ft0,rtz +80002ed4: 001015f3 fsflags a1,zero +80002ed8: 00000613 li a2,0 +80002edc: 0ed51c63 bne a0,a3,80002fd4 <fail> +80002ee0: 0ec59a63 bne a1,a2,80002fd4 <fail> + +80002ee4 <test_42>: +80002ee4: 00001097 auipc ra,0x1 +80002ee8: 21c08093 addi ra,ra,540 # 80004100 <begin_signature> +80002eec: 0000a087 flw ft1,0(ra) +80002ef0: c000f0d3 fcvt.w.s ra,ft1 +80002ef4: 80000eb7 lui t4,0x80000 +80002ef8: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002efc: 02a00193 li gp,42 +80002f00: 0dd09a63 bne ra,t4,80002fd4 <fail> + +80002f04 <test_44>: +80002f04: 00001097 auipc ra,0x1 +80002f08: 1fc08093 addi ra,ra,508 # 80004100 <begin_signature> +80002f0c: 0080a087 flw ft1,8(ra) +80002f10: c000f0d3 fcvt.w.s ra,ft1 +80002f14: 80000eb7 lui t4,0x80000 +80002f18: 02c00193 li gp,44 +80002f1c: 0bd09c63 bne ra,t4,80002fd4 <fail> + +80002f20 <test_52>: +80002f20: 00001097 auipc ra,0x1 +80002f24: 1e008093 addi ra,ra,480 # 80004100 <begin_signature> +80002f28: 0040a087 flw ft1,4(ra) +80002f2c: c000f0d3 fcvt.w.s ra,ft1 +80002f30: 80000eb7 lui t4,0x80000 +80002f34: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002f38: 03400193 li gp,52 +80002f3c: 09d09c63 bne ra,t4,80002fd4 <fail> + +80002f40 <test_54>: +80002f40: 00001097 auipc ra,0x1 +80002f44: 1c008093 addi ra,ra,448 # 80004100 <begin_signature> +80002f48: 00c0a087 flw ft1,12(ra) +80002f4c: c000f0d3 fcvt.w.s ra,ft1 +80002f50: 80000eb7 lui t4,0x80000 +80002f54: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002f58: 03600193 li gp,54 +80002f5c: 07d09c63 bne ra,t4,80002fd4 <fail> + +80002f60 <test_62>: +80002f60: 00001097 auipc ra,0x1 +80002f64: 1a008093 addi ra,ra,416 # 80004100 <begin_signature> +80002f68: 0000a087 flw ft1,0(ra) +80002f6c: c010f0d3 fcvt.wu.s ra,ft1 +80002f70: fff00e93 li t4,-1 +80002f74: 03e00193 li gp,62 +80002f78: 05d09e63 bne ra,t4,80002fd4 <fail> + +80002f7c <test_63>: +80002f7c: 00001097 auipc ra,0x1 +80002f80: 18408093 addi ra,ra,388 # 80004100 <begin_signature> +80002f84: 0040a087 flw ft1,4(ra) +80002f88: c010f0d3 fcvt.wu.s ra,ft1 +80002f8c: fff00e93 li t4,-1 +80002f90: 03f00193 li gp,63 +80002f94: 05d09063 bne ra,t4,80002fd4 <fail> + +80002f98 <test_64>: +80002f98: 00001097 auipc ra,0x1 +80002f9c: 16808093 addi ra,ra,360 # 80004100 <begin_signature> +80002fa0: 0080a087 flw ft1,8(ra) +80002fa4: c010f0d3 fcvt.wu.s ra,ft1 +80002fa8: 00000e93 li t4,0 +80002fac: 04000193 li gp,64 +80002fb0: 03d09263 bne ra,t4,80002fd4 <fail> + +80002fb4 <test_65>: +80002fb4: 00001097 auipc ra,0x1 +80002fb8: 14c08093 addi ra,ra,332 # 80004100 <begin_signature> +80002fbc: 00c0a087 flw ft1,12(ra) +80002fc0: c010f0d3 fcvt.wu.s ra,ft1 +80002fc4: fff00e93 li t4,-1 +80002fc8: 04100193 li gp,65 +80002fcc: 01d09463 bne ra,t4,80002fd4 <fail> +80002fd0: 00301a63 bne zero,gp,80002fe4 <pass> + +80002fd4 <fail>: +80002fd4: 00119513 slli a0,gp,0x1 +80002fd8: 00050063 beqz a0,80002fd8 <fail+0x4> +80002fdc: 00156513 ori a0,a0,1 +80002fe0: 00000073 ecall + +80002fe4 <pass>: +80002fe4: 00100513 li a0,1 +80002fe8: 00000073 ecall +80002fec: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: cccd beqz s1,800040ba <test_15_data+0xa> +80004002: bf8c fsd fa1,56(a5) +80004004: 0000 unimp +80004006: 0000 unimp +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: ffff 0xffff +8000400e: ffff 0xffff + +80004010 <test_3_data>: +80004010: 0000 unimp +80004012: bf80 fsd fs0,56(a5) +80004014: 0000 unimp +80004016: 0000 unimp +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: ffff 0xffff +8000401e: ffff 0xffff + +80004020 <test_4_data>: +80004020: 6666 flw fa2,88(sp) +80004022: bf66 fsd fs9,440(sp) +80004024: 0000 unimp +80004026: 0000 unimp +80004028: 0000 unimp +8000402a: 0000 unimp +8000402c: 0000 unimp +8000402e: 0000 unimp + +80004030 <test_5_data>: +80004030: 6666 flw fa2,88(sp) +80004032: 3f66 fld ft10,120(sp) +80004034: 0000 unimp +80004036: 0000 unimp +80004038: 0000 unimp +8000403a: 0000 unimp +8000403c: 0000 unimp +8000403e: 0000 unimp + +80004040 <test_6_data>: +80004040: 0000 unimp +80004042: 3f80 fld fs0,56(a5) +80004044: 0000 unimp +80004046: 0000 unimp +80004048: 0000 unimp +8000404a: 0000 unimp +8000404c: 0001 nop +8000404e: 0000 unimp + +80004050 <test_7_data>: +80004050: cccd beqz s1,8000410a <begin_signature+0xa> +80004052: 3f8c fld fa1,56(a5) +80004054: 0000 unimp +80004056: 0000 unimp +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0001 nop +8000405e: 0000 unimp + +80004060 <test_8_data>: +80004060: d05e sw s7,32(sp) +80004062: cf32 sw a2,156(sp) +80004064: 0000 unimp +80004066: 0000 unimp +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 8000 0x8000 + +80004070 <test_9_data>: +80004070: d05e sw s7,32(sp) +80004072: 4f32 lw t5,12(sp) +80004074: 0000 unimp +80004076: 0000 unimp +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: ffff 0xffff +8000407e: 7fff 0x7fff + +80004080 <test_12_data>: +80004080: 0000 unimp +80004082: c040 sw s0,4(s0) +80004084: 0000 unimp +80004086: 0000 unimp +80004088: 0000 unimp +8000408a: 0000 unimp +8000408c: 0000 unimp +8000408e: 0000 unimp + +80004090 <test_13_data>: +80004090: 0000 unimp +80004092: bf80 fsd fs0,56(a5) +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 0000 unimp +8000409a: 0000 unimp +8000409c: 0000 unimp +8000409e: 0000 unimp + +800040a0 <test_14_data>: +800040a0: 6666 flw fa2,88(sp) +800040a2: bf66 fsd fs9,440(sp) +800040a4: 0000 unimp +800040a6: 0000 unimp +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 0000 unimp +800040ae: 0000 unimp + +800040b0 <test_15_data>: +800040b0: 6666 flw fa2,88(sp) +800040b2: 3f66 fld ft10,120(sp) +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: 0000 unimp + +800040c0 <test_16_data>: +800040c0: 0000 unimp +800040c2: 3f80 fld fs0,56(a5) +800040c4: 0000 unimp +800040c6: 0000 unimp +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0001 nop +800040ce: 0000 unimp + +800040d0 <test_17_data>: +800040d0: cccd beqz s1,8000418a <tdat_d+0x7a> +800040d2: 3f8c fld fa1,56(a5) +800040d4: 0000 unimp +800040d6: 0000 unimp +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0001 nop +800040de: 0000 unimp + +800040e0 <test_18_data>: +800040e0: d05e sw s7,32(sp) +800040e2: cf32 sw a2,156(sp) +800040e4: 0000 unimp +800040e6: 0000 unimp +800040e8: 0000 unimp +800040ea: 0000 unimp +800040ec: 0000 unimp +800040ee: 0000 unimp + +800040f0 <test_19_data>: +800040f0: d05e sw s7,32(sp) +800040f2: 4f32 lw t5,12(sp) +800040f4: 0000 unimp +800040f6: 0000 unimp +800040f8: 0000 unimp +800040fa: 0000 unimp +800040fc: 5e00 lw s0,56(a2) +800040fe: b2d0 fsd fa2,160(a3) + +80004100 <begin_signature>: +80004100: ffff 0xffff +80004102: ffff 0xffff +80004104: ffff 0xffff +80004106: 7fff 0x7fff +80004108: 0000 unimp +8000410a: ff80 fsw fs0,56(a5) +8000410c: 0000 unimp +8000410e: 7f80 flw fs0,56(a5) + +80004110 <tdat_d>: +80004110: ffff 0xffff +80004112: ffff 0xffff +80004114: ffff 0xffff +80004116: ffff 0xffff +80004118: ffff 0xffff +8000411a: ffff 0xffff +8000411c: ffff 0xffff +8000411e: 7fff 0x7fff +80004120: 0000 unimp +80004122: 0000 unimp +80004124: 0000 unimp +80004126: fff0 fsw fa2,124(a5) +80004128: 0000 unimp +8000412a: 0000 unimp +8000412c: 0000 unimp +8000412e: 7ff0 flw fa2,124(a5) diff --git a/test/riscv-tests/rv32ud-v-fcvt_w.elf b/test/riscv-tests/rv32ud-v-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..ddbd2db --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fcvt_w.elf diff --git a/test/riscv-tests/rv32ud-v-fdiv.dump b/test/riscv-tests/rv32ud-v-fdiv.dump new file mode 100644 index 0000000..ee9c731 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fdiv.dump @@ -0,0 +1,1198 @@ + +rv32ud-v-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 95c58593 addi a1,a1,-1700 # 80002e24 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 97858593 addi a1,a1,-1672 # 80002eb0 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 92458593 addi a1,a1,-1756 # 80002ec8 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 85858593 addi a1,a1,-1960 # 80002e68 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 84858593 addi a1,a1,-1976 # 80002f90 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 7b058593 addi a1,a1,1968 # 80002f6c <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 6ac60613 addi a2,a2,1708 # 80002fbc <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 5bc60613 addi a2,a2,1468 # 80002f38 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 53c60613 addi a2,a2,1340 # 80002f04 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 00300793 li a5,3 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 008197b7 lui a5,0x819 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 08678793 addi a5,a5,134 # 819086 <_start-0x7f7e6f7a> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00000517 auipc a0,0x0 +80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data> +80002bf0: 00053007 fld ft0,0(a0) +80002bf4: 00853087 fld ft1,8(a0) +80002bf8: 01053107 fld ft2,16(a0) +80002bfc: 01852683 lw a3,24(a0) +80002c00: 01c52303 lw t1,28(a0) +80002c04: 1a1071d3 fdiv.d ft3,ft0,ft1 +80002c08: 00353027 fsd ft3,0(a0) +80002c0c: 00452383 lw t2,4(a0) +80002c10: 00052503 lw a0,0(a0) +80002c14: 001015f3 fsflags a1,zero +80002c18: 00100613 li a2,1 +80002c1c: 1ed51663 bne a0,a3,80002e08 <fail> +80002c20: 1e731463 bne t1,t2,80002e08 <fail> +80002c24: 1ec59263 bne a1,a2,80002e08 <fail> + +80002c28 <test_3>: +80002c28: 00300193 li gp,3 +80002c2c: 00000517 auipc a0,0x0 +80002c30: 3f450513 addi a0,a0,1012 # 80003020 <test_3_data> +80002c34: 00053007 fld ft0,0(a0) +80002c38: 00853087 fld ft1,8(a0) +80002c3c: 01053107 fld ft2,16(a0) +80002c40: 01852683 lw a3,24(a0) +80002c44: 01c52303 lw t1,28(a0) +80002c48: 1a1071d3 fdiv.d ft3,ft0,ft1 +80002c4c: 00353027 fsd ft3,0(a0) +80002c50: 00452383 lw t2,4(a0) +80002c54: 00052503 lw a0,0(a0) +80002c58: 001015f3 fsflags a1,zero +80002c5c: 00100613 li a2,1 +80002c60: 1ad51463 bne a0,a3,80002e08 <fail> +80002c64: 1a731263 bne t1,t2,80002e08 <fail> +80002c68: 1ac59063 bne a1,a2,80002e08 <fail> + +80002c6c <test_4>: +80002c6c: 00400193 li gp,4 +80002c70: 00000517 auipc a0,0x0 +80002c74: 3d050513 addi a0,a0,976 # 80003040 <test_4_data> +80002c78: 00053007 fld ft0,0(a0) +80002c7c: 00853087 fld ft1,8(a0) +80002c80: 01053107 fld ft2,16(a0) +80002c84: 01852683 lw a3,24(a0) +80002c88: 01c52303 lw t1,28(a0) +80002c8c: 1a1071d3 fdiv.d ft3,ft0,ft1 +80002c90: 00353027 fsd ft3,0(a0) +80002c94: 00452383 lw t2,4(a0) +80002c98: 00052503 lw a0,0(a0) +80002c9c: 001015f3 fsflags a1,zero +80002ca0: 00000613 li a2,0 +80002ca4: 16d51263 bne a0,a3,80002e08 <fail> +80002ca8: 16731063 bne t1,t2,80002e08 <fail> +80002cac: 14c59e63 bne a1,a2,80002e08 <fail> + +80002cb0 <test_5>: +80002cb0: 00500193 li gp,5 +80002cb4: 00000517 auipc a0,0x0 +80002cb8: 3ac50513 addi a0,a0,940 # 80003060 <test_5_data> +80002cbc: 00053007 fld ft0,0(a0) +80002cc0: 00853087 fld ft1,8(a0) +80002cc4: 01053107 fld ft2,16(a0) +80002cc8: 01852683 lw a3,24(a0) +80002ccc: 01c52303 lw t1,28(a0) +80002cd0: 5a0071d3 fsqrt.d ft3,ft0 +80002cd4: 00353027 fsd ft3,0(a0) +80002cd8: 00452383 lw t2,4(a0) +80002cdc: 00052503 lw a0,0(a0) +80002ce0: 001015f3 fsflags a1,zero +80002ce4: 00100613 li a2,1 +80002ce8: 12d51063 bne a0,a3,80002e08 <fail> +80002cec: 10731e63 bne t1,t2,80002e08 <fail> +80002cf0: 10c59c63 bne a1,a2,80002e08 <fail> + +80002cf4 <test_6>: +80002cf4: 00600193 li gp,6 +80002cf8: 00000517 auipc a0,0x0 +80002cfc: 38850513 addi a0,a0,904 # 80003080 <test_6_data> +80002d00: 00053007 fld ft0,0(a0) +80002d04: 00853087 fld ft1,8(a0) +80002d08: 01053107 fld ft2,16(a0) +80002d0c: 01852683 lw a3,24(a0) +80002d10: 01c52303 lw t1,28(a0) +80002d14: 5a0071d3 fsqrt.d ft3,ft0 +80002d18: 00353027 fsd ft3,0(a0) +80002d1c: 00452383 lw t2,4(a0) +80002d20: 00052503 lw a0,0(a0) +80002d24: 001015f3 fsflags a1,zero +80002d28: 00000613 li a2,0 +80002d2c: 0cd51e63 bne a0,a3,80002e08 <fail> +80002d30: 0c731c63 bne t1,t2,80002e08 <fail> +80002d34: 0cc59a63 bne a1,a2,80002e08 <fail> + +80002d38 <test_16>: +80002d38: 01000193 li gp,16 +80002d3c: 00000517 auipc a0,0x0 +80002d40: 36450513 addi a0,a0,868 # 800030a0 <test_16_data> +80002d44: 00053007 fld ft0,0(a0) +80002d48: 00853087 fld ft1,8(a0) +80002d4c: 01053107 fld ft2,16(a0) +80002d50: 01852683 lw a3,24(a0) +80002d54: 01c52303 lw t1,28(a0) +80002d58: 5a0071d3 fsqrt.d ft3,ft0 +80002d5c: 00353027 fsd ft3,0(a0) +80002d60: 00452383 lw t2,4(a0) +80002d64: 00052503 lw a0,0(a0) +80002d68: 001015f3 fsflags a1,zero +80002d6c: 01000613 li a2,16 +80002d70: 08d51c63 bne a0,a3,80002e08 <fail> +80002d74: 08731a63 bne t1,t2,80002e08 <fail> +80002d78: 08c59863 bne a1,a2,80002e08 <fail> + +80002d7c <test_7>: +80002d7c: 00700193 li gp,7 +80002d80: 00000517 auipc a0,0x0 +80002d84: 34050513 addi a0,a0,832 # 800030c0 <test_7_data> +80002d88: 00053007 fld ft0,0(a0) +80002d8c: 00853087 fld ft1,8(a0) +80002d90: 01053107 fld ft2,16(a0) +80002d94: 01852683 lw a3,24(a0) +80002d98: 01c52303 lw t1,28(a0) +80002d9c: 5a0071d3 fsqrt.d ft3,ft0 +80002da0: 00353027 fsd ft3,0(a0) +80002da4: 00452383 lw t2,4(a0) +80002da8: 00052503 lw a0,0(a0) +80002dac: 001015f3 fsflags a1,zero +80002db0: 00100613 li a2,1 +80002db4: 04d51a63 bne a0,a3,80002e08 <fail> +80002db8: 04731863 bne t1,t2,80002e08 <fail> +80002dbc: 04c59663 bne a1,a2,80002e08 <fail> + +80002dc0 <test_8>: +80002dc0: 00800193 li gp,8 +80002dc4: 00000517 auipc a0,0x0 +80002dc8: 31c50513 addi a0,a0,796 # 800030e0 <test_8_data> +80002dcc: 00053007 fld ft0,0(a0) +80002dd0: 00853087 fld ft1,8(a0) +80002dd4: 01053107 fld ft2,16(a0) +80002dd8: 01852683 lw a3,24(a0) +80002ddc: 01c52303 lw t1,28(a0) +80002de0: 5a0071d3 fsqrt.d ft3,ft0 +80002de4: 00353027 fsd ft3,0(a0) +80002de8: 00452383 lw t2,4(a0) +80002dec: 00052503 lw a0,0(a0) +80002df0: 001015f3 fsflags a1,zero +80002df4: 00100613 li a2,1 +80002df8: 00d51863 bne a0,a3,80002e08 <fail> +80002dfc: 00731663 bne t1,t2,80002e08 <fail> +80002e00: 00c59463 bne a1,a2,80002e08 <fail> +80002e04: 00301a63 bne zero,gp,80002e18 <pass> + +80002e08 <fail>: +80002e08: 00119513 slli a0,gp,0x1 +80002e0c: 00050063 beqz a0,80002e0c <fail+0x4> +80002e10: 00156513 ori a0,a0,1 +80002e14: 00000073 ecall + +80002e18 <pass>: +80002e18: 00100513 li a0,1 +80002e1c: 00000073 ecall +80002e20: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: d4f1 beqz s1,80002fcc <pass+0x1b4> +80003002: 53c8 lw a0,36(a5) +80003004: 400921fb 0x400921fb +80003008: b0dd j 800028ee <handle_trap+0x276> +8000300a: 89f1 andi a1,a1,28 +8000300c: bf0a fsd ft2,440(sp) +8000300e: 4005 c.li zero,1 +80003010: 0000 unimp +80003012: 0000 unimp +80003014: 0000 unimp +80003016: 0000 unimp +80003018: 83ec 0x83ec +8000301a: 7ddbf6c3 0x7ddbf6c3 +8000301e: 3ff2 fld ft11,312(sp) + +80003020 <test_3_data>: +80003020: 0000 unimp +80003022: 0000 unimp +80003024: 4800 lw s0,16(s0) +80003026: 6666c093 xori ra,a3,1638 +8000302a: 6666 flw fa2,88(sp) +8000302c: 4c66 lw s8,88(sp) +8000302e: 00004093 xori ra,zero,0 +80003032: 0000 unimp +80003034: 0000 unimp +80003036: 0000 unimp +80003038: 29a5 jal 800034b0 <begin_signature+0x3b0> +8000303a: 3e19 jal 80002b50 <vm_boot+0x110> +8000303c: f8b4 fsw fa3,112(s1) +8000303e: jal t6,7ff1ed8c <_start-0xe1274> + +80003040 <test_4_data>: +80003040: d4f1 beqz s1,8000300c <test_2_data+0xc> +80003042: 53c8 lw a0,36(a5) +80003044: 400921fb 0x400921fb +80003048: 0000 unimp +8000304a: 0000 unimp +8000304c: 0000 unimp +8000304e: 3ff0 fld fa2,248(a5) +80003050: 0000 unimp +80003052: 0000 unimp +80003054: 0000 unimp +80003056: 0000 unimp +80003058: d4f1 beqz s1,80003024 <test_3_data+0x4> +8000305a: 53c8 lw a0,36(a5) +8000305c: 400921fb 0x400921fb + +80003060 <test_5_data>: +80003060: d4f1 beqz s1,8000302c <test_3_data+0xc> +80003062: 53c8 lw a0,36(a5) +80003064: 400921fb 0x400921fb +80003068: 0000 unimp +8000306a: 0000 unimp +8000306c: 0000 unimp +8000306e: 0000 unimp +80003070: 0000 unimp +80003072: 0000 unimp +80003074: 0000 unimp +80003076: 0000 unimp +80003078: 916f587b 0x916f587b +8000307c: 5bf8 lw a4,116(a5) +8000307e: 3ffc fld fa5,248(a5) + +80003080 <test_6_data>: +80003080: 0000 unimp +80003082: 0000 unimp +80003084: 8800 0x8800 +80003086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm +8000308a: 0000 unimp +8000308c: 0000 unimp +8000308e: 0000 unimp +80003090: 0000 unimp +80003092: 0000 unimp +80003094: 0000 unimp +80003096: 0000 unimp +80003098: 0000 unimp +8000309a: 0000 unimp +8000309c: 0000 unimp +8000309e: 4059 c.li zero,22 + +800030a0 <test_16_data>: +800030a0: 0000 unimp +800030a2: 0000 unimp +800030a4: 0000 unimp +800030a6: bff0 fsd fa2,248(a5) +800030a8: 0000 unimp +800030aa: 0000 unimp +800030ac: 0000 unimp +800030ae: 0000 unimp +800030b0: 0000 unimp +800030b2: 0000 unimp +800030b4: 0000 unimp +800030b6: 0000 unimp +800030b8: 0000 unimp +800030ba: 0000 unimp +800030bc: 0000 unimp +800030be: 7ff8 flw fa4,124(a5) + +800030c0 <test_7_data>: +800030c0: 0000 unimp +800030c2: 0000 unimp +800030c4: 6000 flw fs0,0(s0) +800030c6: 4065 c.li zero,25 +800030c8: 0000 unimp +800030ca: 0000 unimp +800030cc: 0000 unimp +800030ce: 0000 unimp +800030d0: 0000 unimp +800030d2: 0000 unimp +800030d4: 0000 unimp +800030d6: 0000 unimp +800030d8: 74f5 lui s1,0xffffd +800030da: ce96 sw t0,92(sp) +800030dc: 2744 fld fs1,136(a4) +800030de: 402a 0x402a + +800030e0 <test_8_data>: +800030e0: a105 j 80003500 <begin_signature+0x400> +800030e2: c70a sw sp,140(sp) +800030e4: 94df 3e85 0000 0x3e8594df +800030ea: 0000 unimp +800030ec: 0000 unimp +800030ee: 0000 unimp +800030f0: 0000 unimp +800030f2: 0000 unimp +800030f4: 0000 unimp +800030f6: 0000 unimp +800030f8: 7f99 lui t6,0xfffe6 +800030fa: 4789c0e3 blt s3,s8,80003d5a <begin_signature+0xc5a> +800030fe: 3f3a fld ft10,424(sp) diff --git a/test/riscv-tests/rv32ud-v-fdiv.elf b/test/riscv-tests/rv32ud-v-fdiv.elf Binary files differnew file mode 100644 index 0000000..8ee5839 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fdiv.elf diff --git a/test/riscv-tests/rv32ud-v-fmadd.dump b/test/riscv-tests/rv32ud-v-fmadd.dump new file mode 100644 index 0000000..2927645 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fmadd.dump @@ -0,0 +1,1354 @@ + +rv32ud-v-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: a6c58593 addi a1,a1,-1428 # 80002f34 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: a8858593 addi a1,a1,-1400 # 80002fc0 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: a3458593 addi a1,a1,-1484 # 80002fd8 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 96858593 addi a1,a1,-1688 # 80002f78 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 95858593 addi a1,a1,-1704 # 800030a0 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 8c058593 addi a1,a1,-1856 # 8000307c <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 7bc60613 addi a2,a2,1980 # 800030cc <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 6cc60613 addi a2,a2,1740 # 80003048 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 64c60613 addi a2,a2,1612 # 80003014 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 03b00793 li a5,59 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0d9687b7 lui a5,0xd968 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 7c078793 addi a5,a5,1984 # d9687c0 <_start-0x72697840> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00053007 fld ft0,0(a0) +80002bf4: 00853087 fld ft1,8(a0) +80002bf8: 01053107 fld ft2,16(a0) +80002bfc: 01852683 lw a3,24(a0) +80002c00: 01c52303 lw t1,28(a0) +80002c04: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +80002c08: 00353027 fsd ft3,0(a0) +80002c0c: 00452383 lw t2,4(a0) +80002c10: 00052503 lw a0,0(a0) +80002c14: 001015f3 fsflags a1,zero +80002c18: 00000613 li a2,0 +80002c1c: 2ed51e63 bne a0,a3,80002f18 <fail> +80002c20: 2e731c63 bne t1,t2,80002f18 <fail> +80002c24: 2ec59a63 bne a1,a2,80002f18 <fail> + +80002c28 <test_3>: +80002c28: 00300193 li gp,3 +80002c2c: 00001517 auipc a0,0x1 +80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data> +80002c34: 00053007 fld ft0,0(a0) +80002c38: 00853087 fld ft1,8(a0) +80002c3c: 01053107 fld ft2,16(a0) +80002c40: 01852683 lw a3,24(a0) +80002c44: 01c52303 lw t1,28(a0) +80002c48: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +80002c4c: 00353027 fsd ft3,0(a0) +80002c50: 00452383 lw t2,4(a0) +80002c54: 00052503 lw a0,0(a0) +80002c58: 001015f3 fsflags a1,zero +80002c5c: 00100613 li a2,1 +80002c60: 2ad51c63 bne a0,a3,80002f18 <fail> +80002c64: 2a731a63 bne t1,t2,80002f18 <fail> +80002c68: 2ac59863 bne a1,a2,80002f18 <fail> + +80002c6c <test_4>: +80002c6c: 00400193 li gp,4 +80002c70: 00001517 auipc a0,0x1 +80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data> +80002c78: 00053007 fld ft0,0(a0) +80002c7c: 00853087 fld ft1,8(a0) +80002c80: 01053107 fld ft2,16(a0) +80002c84: 01852683 lw a3,24(a0) +80002c88: 01c52303 lw t1,28(a0) +80002c8c: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +80002c90: 00353027 fsd ft3,0(a0) +80002c94: 00452383 lw t2,4(a0) +80002c98: 00052503 lw a0,0(a0) +80002c9c: 001015f3 fsflags a1,zero +80002ca0: 00000613 li a2,0 +80002ca4: 26d51a63 bne a0,a3,80002f18 <fail> +80002ca8: 26731863 bne t1,t2,80002f18 <fail> +80002cac: 26c59663 bne a1,a2,80002f18 <fail> + +80002cb0 <test_5>: +80002cb0: 00500193 li gp,5 +80002cb4: 00001517 auipc a0,0x1 +80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data> +80002cbc: 00053007 fld ft0,0(a0) +80002cc0: 00853087 fld ft1,8(a0) +80002cc4: 01053107 fld ft2,16(a0) +80002cc8: 01852683 lw a3,24(a0) +80002ccc: 01c52303 lw t1,28(a0) +80002cd0: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80002cd4: 00353027 fsd ft3,0(a0) +80002cd8: 00452383 lw t2,4(a0) +80002cdc: 00052503 lw a0,0(a0) +80002ce0: 001015f3 fsflags a1,zero +80002ce4: 00000613 li a2,0 +80002ce8: 22d51863 bne a0,a3,80002f18 <fail> +80002cec: 22731663 bne t1,t2,80002f18 <fail> +80002cf0: 22c59463 bne a1,a2,80002f18 <fail> + +80002cf4 <test_6>: +80002cf4: 00600193 li gp,6 +80002cf8: 00001517 auipc a0,0x1 +80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data> +80002d00: 00053007 fld ft0,0(a0) +80002d04: 00853087 fld ft1,8(a0) +80002d08: 01053107 fld ft2,16(a0) +80002d0c: 01852683 lw a3,24(a0) +80002d10: 01c52303 lw t1,28(a0) +80002d14: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80002d18: 00353027 fsd ft3,0(a0) +80002d1c: 00452383 lw t2,4(a0) +80002d20: 00052503 lw a0,0(a0) +80002d24: 001015f3 fsflags a1,zero +80002d28: 00100613 li a2,1 +80002d2c: 1ed51663 bne a0,a3,80002f18 <fail> +80002d30: 1e731463 bne t1,t2,80002f18 <fail> +80002d34: 1ec59263 bne a1,a2,80002f18 <fail> + +80002d38 <test_7>: +80002d38: 00700193 li gp,7 +80002d3c: 00001517 auipc a0,0x1 +80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data> +80002d44: 00053007 fld ft0,0(a0) +80002d48: 00853087 fld ft1,8(a0) +80002d4c: 01053107 fld ft2,16(a0) +80002d50: 01852683 lw a3,24(a0) +80002d54: 01c52303 lw t1,28(a0) +80002d58: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80002d5c: 00353027 fsd ft3,0(a0) +80002d60: 00452383 lw t2,4(a0) +80002d64: 00052503 lw a0,0(a0) +80002d68: 001015f3 fsflags a1,zero +80002d6c: 00000613 li a2,0 +80002d70: 1ad51463 bne a0,a3,80002f18 <fail> +80002d74: 1a731263 bne t1,t2,80002f18 <fail> +80002d78: 1ac59063 bne a1,a2,80002f18 <fail> + +80002d7c <test_8>: +80002d7c: 00800193 li gp,8 +80002d80: 00001517 auipc a0,0x1 +80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_8_data> +80002d88: 00053007 fld ft0,0(a0) +80002d8c: 00853087 fld ft1,8(a0) +80002d90: 01053107 fld ft2,16(a0) +80002d94: 01852683 lw a3,24(a0) +80002d98: 01c52303 lw t1,28(a0) +80002d9c: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80002da0: 00353027 fsd ft3,0(a0) +80002da4: 00452383 lw t2,4(a0) +80002da8: 00052503 lw a0,0(a0) +80002dac: 001015f3 fsflags a1,zero +80002db0: 00000613 li a2,0 +80002db4: 16d51263 bne a0,a3,80002f18 <fail> +80002db8: 16731063 bne t1,t2,80002f18 <fail> +80002dbc: 14c59e63 bne a1,a2,80002f18 <fail> + +80002dc0 <test_9>: +80002dc0: 00900193 li gp,9 +80002dc4: 00001517 auipc a0,0x1 +80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_9_data> +80002dcc: 00053007 fld ft0,0(a0) +80002dd0: 00853087 fld ft1,8(a0) +80002dd4: 01053107 fld ft2,16(a0) +80002dd8: 01852683 lw a3,24(a0) +80002ddc: 01c52303 lw t1,28(a0) +80002de0: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80002de4: 00353027 fsd ft3,0(a0) +80002de8: 00452383 lw t2,4(a0) +80002dec: 00052503 lw a0,0(a0) +80002df0: 001015f3 fsflags a1,zero +80002df4: 00100613 li a2,1 +80002df8: 12d51063 bne a0,a3,80002f18 <fail> +80002dfc: 10731e63 bne t1,t2,80002f18 <fail> +80002e00: 10c59c63 bne a1,a2,80002f18 <fail> + +80002e04 <test_10>: +80002e04: 00a00193 li gp,10 +80002e08: 00001517 auipc a0,0x1 +80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_10_data> +80002e10: 00053007 fld ft0,0(a0) +80002e14: 00853087 fld ft1,8(a0) +80002e18: 01053107 fld ft2,16(a0) +80002e1c: 01852683 lw a3,24(a0) +80002e20: 01c52303 lw t1,28(a0) +80002e24: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80002e28: 00353027 fsd ft3,0(a0) +80002e2c: 00452383 lw t2,4(a0) +80002e30: 00052503 lw a0,0(a0) +80002e34: 001015f3 fsflags a1,zero +80002e38: 00000613 li a2,0 +80002e3c: 0cd51e63 bne a0,a3,80002f18 <fail> +80002e40: 0c731c63 bne t1,t2,80002f18 <fail> +80002e44: 0cc59a63 bne a1,a2,80002f18 <fail> + +80002e48 <test_11>: +80002e48: 00b00193 li gp,11 +80002e4c: 00001517 auipc a0,0x1 +80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_11_data> +80002e54: 00053007 fld ft0,0(a0) +80002e58: 00853087 fld ft1,8(a0) +80002e5c: 01053107 fld ft2,16(a0) +80002e60: 01852683 lw a3,24(a0) +80002e64: 01c52303 lw t1,28(a0) +80002e68: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80002e6c: 00353027 fsd ft3,0(a0) +80002e70: 00452383 lw t2,4(a0) +80002e74: 00052503 lw a0,0(a0) +80002e78: 001015f3 fsflags a1,zero +80002e7c: 00000613 li a2,0 +80002e80: 08d51c63 bne a0,a3,80002f18 <fail> +80002e84: 08731a63 bne t1,t2,80002f18 <fail> +80002e88: 08c59863 bne a1,a2,80002f18 <fail> + +80002e8c <test_12>: +80002e8c: 00c00193 li gp,12 +80002e90: 00001517 auipc a0,0x1 +80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_12_data> +80002e98: 00053007 fld ft0,0(a0) +80002e9c: 00853087 fld ft1,8(a0) +80002ea0: 01053107 fld ft2,16(a0) +80002ea4: 01852683 lw a3,24(a0) +80002ea8: 01c52303 lw t1,28(a0) +80002eac: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80002eb0: 00353027 fsd ft3,0(a0) +80002eb4: 00452383 lw t2,4(a0) +80002eb8: 00052503 lw a0,0(a0) +80002ebc: 001015f3 fsflags a1,zero +80002ec0: 00100613 li a2,1 +80002ec4: 04d51a63 bne a0,a3,80002f18 <fail> +80002ec8: 04731863 bne t1,t2,80002f18 <fail> +80002ecc: 04c59663 bne a1,a2,80002f18 <fail> + +80002ed0 <test_13>: +80002ed0: 00d00193 li gp,13 +80002ed4: 00001517 auipc a0,0x1 +80002ed8: 28c50513 addi a0,a0,652 # 80004160 <test_13_data> +80002edc: 00053007 fld ft0,0(a0) +80002ee0: 00853087 fld ft1,8(a0) +80002ee4: 01053107 fld ft2,16(a0) +80002ee8: 01852683 lw a3,24(a0) +80002eec: 01c52303 lw t1,28(a0) +80002ef0: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80002ef4: 00353027 fsd ft3,0(a0) +80002ef8: 00452383 lw t2,4(a0) +80002efc: 00052503 lw a0,0(a0) +80002f00: 001015f3 fsflags a1,zero +80002f04: 00000613 li a2,0 +80002f08: 00d51863 bne a0,a3,80002f18 <fail> +80002f0c: 00731663 bne t1,t2,80002f18 <fail> +80002f10: 00c59463 bne a1,a2,80002f18 <fail> +80002f14: 00301a63 bne zero,gp,80002f28 <pass> + +80002f18 <fail>: +80002f18: 00119513 slli a0,gp,0x1 +80002f1c: 00050063 beqz a0,80002f1c <fail+0x4> +80002f20: 00156513 ori a0,a0,1 +80002f24: 00000073 ecall + +80002f28 <pass>: +80002f28: 00100513 li a0,1 +80002f2c: 00000073 ecall +80002f30: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 0000 unimp +80004002: 0000 unimp +80004004: 0000 unimp +80004006: 3ff0 fld fa2,248(a5) +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: 0000 unimp +8000400e: 4004 lw s1,0(s0) +80004010: 0000 unimp +80004012: 0000 unimp +80004014: 0000 unimp +80004016: 3ff0 fld fa2,248(a5) +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: 0000 unimp +8000401e: 400c lw a1,0(s0) + +80004020 <test_3_data>: +80004020: 0000 unimp +80004022: 0000 unimp +80004024: 0000 unimp +80004026: bff0 fsd fa2,248(a5) +80004028: 6666 flw fa2,88(sp) +8000402a: 6666 flw fa2,88(sp) +8000402c: 4c66 lw s8,88(sp) +8000402e: 999ac093 xori ra,s5,-1639 +80004032: 9999 andi a1,a1,-26 +80004034: 9999 andi a1,a1,-26 +80004036: 3ff1 jal 80004012 <test_2_data+0x12> +80004038: cccc sw a1,28(s1) +8000403a: cccc sw a1,28(s1) +8000403c: 50cc lw a1,36(s1) +8000403e: xori ra,zero,0 + +80004040 <test_4_data>: +80004040: 0000 unimp +80004042: 0000 unimp +80004044: 0000 unimp +80004046: 4000 lw s0,0(s0) +80004048: 0000 unimp +8000404a: 0000 unimp +8000404c: 0000 unimp +8000404e: c014 sw a3,0(s0) +80004050: 0000 unimp +80004052: 0000 unimp +80004054: 0000 unimp +80004056: c000 sw s0,0(s0) +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0000 unimp +8000405e: c028 sw a0,64(s0) + +80004060 <test_5_data>: +80004060: 0000 unimp +80004062: 0000 unimp +80004064: 0000 unimp +80004066: 3ff0 fld fa2,248(a5) +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 4004 lw s1,0(s0) +80004070: 0000 unimp +80004072: 0000 unimp +80004074: 0000 unimp +80004076: 3ff0 fld fa2,248(a5) +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: 0000 unimp +8000407e: c00c sw a1,0(s0) + +80004080 <test_6_data>: +80004080: 0000 unimp +80004082: 0000 unimp +80004084: 0000 unimp +80004086: bff0 fsd fa2,248(a5) +80004088: 6666 flw fa2,88(sp) +8000408a: 6666 flw fa2,88(sp) +8000408c: 4c66 lw s8,88(sp) +8000408e: 999ac093 xori ra,s5,-1639 +80004092: 9999 andi a1,a1,-26 +80004094: 9999 andi a1,a1,-26 +80004096: 3ff1 jal 80004072 <test_5_data+0x12> +80004098: cccc sw a1,28(s1) +8000409a: cccc sw a1,28(s1) +8000409c: 50cc lw a1,36(s1) +8000409e: xori ra,ra,0 + +800040a0 <test_7_data>: +800040a0: 0000 unimp +800040a2: 0000 unimp +800040a4: 0000 unimp +800040a6: 4000 lw s0,0(s0) +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 0000 unimp +800040ae: c014 sw a3,0(s0) +800040b0: 0000 unimp +800040b2: 0000 unimp +800040b4: 0000 unimp +800040b6: c000 sw s0,0(s0) +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: 4028 lw a0,64(s0) + +800040c0 <test_8_data>: +800040c0: 0000 unimp +800040c2: 0000 unimp +800040c4: 0000 unimp +800040c6: 3ff0 fld fa2,248(a5) +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 4004 lw s1,0(s0) +800040d0: 0000 unimp +800040d2: 0000 unimp +800040d4: 0000 unimp +800040d6: 3ff0 fld fa2,248(a5) +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 3ff8 fld fa4,248(a5) + +800040e0 <test_9_data>: +800040e0: 0000 unimp +800040e2: 0000 unimp +800040e4: 0000 unimp +800040e6: bff0 fsd fa2,248(a5) +800040e8: 6666 flw fa2,88(sp) +800040ea: 6666 flw fa2,88(sp) +800040ec: 4c66 lw s8,88(sp) +800040ee: 999ac093 xori ra,s5,-1639 +800040f2: 9999 andi a1,a1,-26 +800040f4: 9999 andi a1,a1,-26 +800040f6: 3ff1 jal 800040d2 <test_8_data+0x12> +800040f8: 0000 unimp +800040fa: 0000 unimp +800040fc: 4800 lw s0,16(s0) +800040fe: xori ra,zero,0 + +80004100 <test_10_data>: +80004100: 0000 unimp +80004102: 0000 unimp +80004104: 0000 unimp +80004106: 4000 lw s0,0(s0) +80004108: 0000 unimp +8000410a: 0000 unimp +8000410c: 0000 unimp +8000410e: c014 sw a3,0(s0) +80004110: 0000 unimp +80004112: 0000 unimp +80004114: 0000 unimp +80004116: c000 sw s0,0(s0) +80004118: 0000 unimp +8000411a: 0000 unimp +8000411c: 0000 unimp +8000411e: c020 sw s0,64(s0) + +80004120 <test_11_data>: +80004120: 0000 unimp +80004122: 0000 unimp +80004124: 0000 unimp +80004126: 3ff0 fld fa2,248(a5) +80004128: 0000 unimp +8000412a: 0000 unimp +8000412c: 0000 unimp +8000412e: 4004 lw s1,0(s0) +80004130: 0000 unimp +80004132: 0000 unimp +80004134: 0000 unimp +80004136: 3ff0 fld fa2,248(a5) +80004138: 0000 unimp +8000413a: 0000 unimp +8000413c: 0000 unimp +8000413e: bff8 fsd fa4,248(a5) + +80004140 <test_12_data>: +80004140: 0000 unimp +80004142: 0000 unimp +80004144: 0000 unimp +80004146: bff0 fsd fa2,248(a5) +80004148: 6666 flw fa2,88(sp) +8000414a: 6666 flw fa2,88(sp) +8000414c: 4c66 lw s8,88(sp) +8000414e: 999ac093 xori ra,s5,-1639 +80004152: 9999 andi a1,a1,-26 +80004154: 9999 andi a1,a1,-26 +80004156: 3ff1 jal 80004132 <test_11_data+0x12> +80004158: 0000 unimp +8000415a: 0000 unimp +8000415c: 4800 lw s0,16(s0) +8000415e: xori ra,ra,0 + +80004160 <test_13_data>: +80004160: 0000 unimp +80004162: 0000 unimp +80004164: 0000 unimp +80004166: 4000 lw s0,0(s0) +80004168: 0000 unimp +8000416a: 0000 unimp +8000416c: 0000 unimp +8000416e: c014 sw a3,0(s0) +80004170: 0000 unimp +80004172: 0000 unimp +80004174: 0000 unimp +80004176: c000 sw s0,0(s0) +80004178: 0000 unimp +8000417a: 0000 unimp +8000417c: 0000 unimp +8000417e: 4020 lw s0,64(s0) diff --git a/test/riscv-tests/rv32ud-v-fmadd.elf b/test/riscv-tests/rv32ud-v-fmadd.elf Binary files differnew file mode 100644 index 0000000..737fe51 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fmadd.elf diff --git a/test/riscv-tests/rv32ud-v-fmin.dump b/test/riscv-tests/rv32ud-v-fmin.dump new file mode 100644 index 0000000..1817a18 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fmin.dump @@ -0,0 +1,1571 @@ + +rv32ud-v-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: c0458593 addi a1,a1,-1020 # 800030cc <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: c2058593 addi a1,a1,-992 # 80003158 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: bcc58593 addi a1,a1,-1076 # 80003170 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: b0058593 addi a1,a1,-1280 # 80003110 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: af058593 addi a1,a1,-1296 # 80003238 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: a5858593 addi a1,a1,-1448 # 80003214 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00001617 auipc a2,0x1 +80002914: 95460613 addi a2,a2,-1708 # 80003264 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00001617 auipc a2,0x1 +80002980: 86460613 addi a2,a2,-1948 # 800031e0 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 7e460613 addi a2,a2,2020 # 800031ac <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 00100793 li a5,1 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0f1707b7 lui a5,0xf170 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 0b878793 addi a5,a5,184 # f1700b8 <_start-0x70e8ff48> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00053007 fld ft0,0(a0) +80002bf4: 00853087 fld ft1,8(a0) +80002bf8: 01053107 fld ft2,16(a0) +80002bfc: 01852683 lw a3,24(a0) +80002c00: 01c52303 lw t1,28(a0) +80002c04: 2a1001d3 fmin.d ft3,ft0,ft1 +80002c08: 00353027 fsd ft3,0(a0) +80002c0c: 00452383 lw t2,4(a0) +80002c10: 00052503 lw a0,0(a0) +80002c14: 001015f3 fsflags a1,zero +80002c18: 00000613 li a2,0 +80002c1c: 48d51a63 bne a0,a3,800030b0 <fail> +80002c20: 48731863 bne t1,t2,800030b0 <fail> +80002c24: 48c59663 bne a1,a2,800030b0 <fail> + +80002c28 <test_3>: +80002c28: 00300193 li gp,3 +80002c2c: 00001517 auipc a0,0x1 +80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data> +80002c34: 00053007 fld ft0,0(a0) +80002c38: 00853087 fld ft1,8(a0) +80002c3c: 01053107 fld ft2,16(a0) +80002c40: 01852683 lw a3,24(a0) +80002c44: 01c52303 lw t1,28(a0) +80002c48: 2a1001d3 fmin.d ft3,ft0,ft1 +80002c4c: 00353027 fsd ft3,0(a0) +80002c50: 00452383 lw t2,4(a0) +80002c54: 00052503 lw a0,0(a0) +80002c58: 001015f3 fsflags a1,zero +80002c5c: 00000613 li a2,0 +80002c60: 44d51863 bne a0,a3,800030b0 <fail> +80002c64: 44731663 bne t1,t2,800030b0 <fail> +80002c68: 44c59463 bne a1,a2,800030b0 <fail> + +80002c6c <test_4>: +80002c6c: 00400193 li gp,4 +80002c70: 00001517 auipc a0,0x1 +80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data> +80002c78: 00053007 fld ft0,0(a0) +80002c7c: 00853087 fld ft1,8(a0) +80002c80: 01053107 fld ft2,16(a0) +80002c84: 01852683 lw a3,24(a0) +80002c88: 01c52303 lw t1,28(a0) +80002c8c: 2a1001d3 fmin.d ft3,ft0,ft1 +80002c90: 00353027 fsd ft3,0(a0) +80002c94: 00452383 lw t2,4(a0) +80002c98: 00052503 lw a0,0(a0) +80002c9c: 001015f3 fsflags a1,zero +80002ca0: 00000613 li a2,0 +80002ca4: 40d51663 bne a0,a3,800030b0 <fail> +80002ca8: 40731463 bne t1,t2,800030b0 <fail> +80002cac: 40c59263 bne a1,a2,800030b0 <fail> + +80002cb0 <test_5>: +80002cb0: 00500193 li gp,5 +80002cb4: 00001517 auipc a0,0x1 +80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data> +80002cbc: 00053007 fld ft0,0(a0) +80002cc0: 00853087 fld ft1,8(a0) +80002cc4: 01053107 fld ft2,16(a0) +80002cc8: 01852683 lw a3,24(a0) +80002ccc: 01c52303 lw t1,28(a0) +80002cd0: 2a1001d3 fmin.d ft3,ft0,ft1 +80002cd4: 00353027 fsd ft3,0(a0) +80002cd8: 00452383 lw t2,4(a0) +80002cdc: 00052503 lw a0,0(a0) +80002ce0: 001015f3 fsflags a1,zero +80002ce4: 00000613 li a2,0 +80002ce8: 3cd51463 bne a0,a3,800030b0 <fail> +80002cec: 3c731263 bne t1,t2,800030b0 <fail> +80002cf0: 3cc59063 bne a1,a2,800030b0 <fail> + +80002cf4 <test_6>: +80002cf4: 00600193 li gp,6 +80002cf8: 00001517 auipc a0,0x1 +80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data> +80002d00: 00053007 fld ft0,0(a0) +80002d04: 00853087 fld ft1,8(a0) +80002d08: 01053107 fld ft2,16(a0) +80002d0c: 01852683 lw a3,24(a0) +80002d10: 01c52303 lw t1,28(a0) +80002d14: 2a1001d3 fmin.d ft3,ft0,ft1 +80002d18: 00353027 fsd ft3,0(a0) +80002d1c: 00452383 lw t2,4(a0) +80002d20: 00052503 lw a0,0(a0) +80002d24: 001015f3 fsflags a1,zero +80002d28: 00000613 li a2,0 +80002d2c: 38d51263 bne a0,a3,800030b0 <fail> +80002d30: 38731063 bne t1,t2,800030b0 <fail> +80002d34: 36c59e63 bne a1,a2,800030b0 <fail> + +80002d38 <test_7>: +80002d38: 00700193 li gp,7 +80002d3c: 00001517 auipc a0,0x1 +80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data> +80002d44: 00053007 fld ft0,0(a0) +80002d48: 00853087 fld ft1,8(a0) +80002d4c: 01053107 fld ft2,16(a0) +80002d50: 01852683 lw a3,24(a0) +80002d54: 01c52303 lw t1,28(a0) +80002d58: 2a1001d3 fmin.d ft3,ft0,ft1 +80002d5c: 00353027 fsd ft3,0(a0) +80002d60: 00452383 lw t2,4(a0) +80002d64: 00052503 lw a0,0(a0) +80002d68: 001015f3 fsflags a1,zero +80002d6c: 00000613 li a2,0 +80002d70: 34d51063 bne a0,a3,800030b0 <fail> +80002d74: 32731e63 bne t1,t2,800030b0 <fail> +80002d78: 32c59c63 bne a1,a2,800030b0 <fail> + +80002d7c <test_12>: +80002d7c: 00c00193 li gp,12 +80002d80: 00001517 auipc a0,0x1 +80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_12_data> +80002d88: 00053007 fld ft0,0(a0) +80002d8c: 00853087 fld ft1,8(a0) +80002d90: 01053107 fld ft2,16(a0) +80002d94: 01852683 lw a3,24(a0) +80002d98: 01c52303 lw t1,28(a0) +80002d9c: 2a1011d3 fmax.d ft3,ft0,ft1 +80002da0: 00353027 fsd ft3,0(a0) +80002da4: 00452383 lw t2,4(a0) +80002da8: 00052503 lw a0,0(a0) +80002dac: 001015f3 fsflags a1,zero +80002db0: 00000613 li a2,0 +80002db4: 2ed51e63 bne a0,a3,800030b0 <fail> +80002db8: 2e731c63 bne t1,t2,800030b0 <fail> +80002dbc: 2ec59a63 bne a1,a2,800030b0 <fail> + +80002dc0 <test_13>: +80002dc0: 00d00193 li gp,13 +80002dc4: 00001517 auipc a0,0x1 +80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_13_data> +80002dcc: 00053007 fld ft0,0(a0) +80002dd0: 00853087 fld ft1,8(a0) +80002dd4: 01053107 fld ft2,16(a0) +80002dd8: 01852683 lw a3,24(a0) +80002ddc: 01c52303 lw t1,28(a0) +80002de0: 2a1011d3 fmax.d ft3,ft0,ft1 +80002de4: 00353027 fsd ft3,0(a0) +80002de8: 00452383 lw t2,4(a0) +80002dec: 00052503 lw a0,0(a0) +80002df0: 001015f3 fsflags a1,zero +80002df4: 00000613 li a2,0 +80002df8: 2ad51c63 bne a0,a3,800030b0 <fail> +80002dfc: 2a731a63 bne t1,t2,800030b0 <fail> +80002e00: 2ac59863 bne a1,a2,800030b0 <fail> + +80002e04 <test_14>: +80002e04: 00e00193 li gp,14 +80002e08: 00001517 auipc a0,0x1 +80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_14_data> +80002e10: 00053007 fld ft0,0(a0) +80002e14: 00853087 fld ft1,8(a0) +80002e18: 01053107 fld ft2,16(a0) +80002e1c: 01852683 lw a3,24(a0) +80002e20: 01c52303 lw t1,28(a0) +80002e24: 2a1011d3 fmax.d ft3,ft0,ft1 +80002e28: 00353027 fsd ft3,0(a0) +80002e2c: 00452383 lw t2,4(a0) +80002e30: 00052503 lw a0,0(a0) +80002e34: 001015f3 fsflags a1,zero +80002e38: 00000613 li a2,0 +80002e3c: 26d51a63 bne a0,a3,800030b0 <fail> +80002e40: 26731863 bne t1,t2,800030b0 <fail> +80002e44: 26c59663 bne a1,a2,800030b0 <fail> + +80002e48 <test_15>: +80002e48: 00f00193 li gp,15 +80002e4c: 00001517 auipc a0,0x1 +80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_15_data> +80002e54: 00053007 fld ft0,0(a0) +80002e58: 00853087 fld ft1,8(a0) +80002e5c: 01053107 fld ft2,16(a0) +80002e60: 01852683 lw a3,24(a0) +80002e64: 01c52303 lw t1,28(a0) +80002e68: 2a1011d3 fmax.d ft3,ft0,ft1 +80002e6c: 00353027 fsd ft3,0(a0) +80002e70: 00452383 lw t2,4(a0) +80002e74: 00052503 lw a0,0(a0) +80002e78: 001015f3 fsflags a1,zero +80002e7c: 00000613 li a2,0 +80002e80: 22d51863 bne a0,a3,800030b0 <fail> +80002e84: 22731663 bne t1,t2,800030b0 <fail> +80002e88: 22c59463 bne a1,a2,800030b0 <fail> + +80002e8c <test_16>: +80002e8c: 01000193 li gp,16 +80002e90: 00001517 auipc a0,0x1 +80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_16_data> +80002e98: 00053007 fld ft0,0(a0) +80002e9c: 00853087 fld ft1,8(a0) +80002ea0: 01053107 fld ft2,16(a0) +80002ea4: 01852683 lw a3,24(a0) +80002ea8: 01c52303 lw t1,28(a0) +80002eac: 2a1011d3 fmax.d ft3,ft0,ft1 +80002eb0: 00353027 fsd ft3,0(a0) +80002eb4: 00452383 lw t2,4(a0) +80002eb8: 00052503 lw a0,0(a0) +80002ebc: 001015f3 fsflags a1,zero +80002ec0: 00000613 li a2,0 +80002ec4: 1ed51663 bne a0,a3,800030b0 <fail> +80002ec8: 1e731463 bne t1,t2,800030b0 <fail> +80002ecc: 1ec59263 bne a1,a2,800030b0 <fail> + +80002ed0 <test_17>: +80002ed0: 01100193 li gp,17 +80002ed4: 00001517 auipc a0,0x1 +80002ed8: 28c50513 addi a0,a0,652 # 80004160 <test_17_data> +80002edc: 00053007 fld ft0,0(a0) +80002ee0: 00853087 fld ft1,8(a0) +80002ee4: 01053107 fld ft2,16(a0) +80002ee8: 01852683 lw a3,24(a0) +80002eec: 01c52303 lw t1,28(a0) +80002ef0: 2a1011d3 fmax.d ft3,ft0,ft1 +80002ef4: 00353027 fsd ft3,0(a0) +80002ef8: 00452383 lw t2,4(a0) +80002efc: 00052503 lw a0,0(a0) +80002f00: 001015f3 fsflags a1,zero +80002f04: 00000613 li a2,0 +80002f08: 1ad51463 bne a0,a3,800030b0 <fail> +80002f0c: 1a731263 bne t1,t2,800030b0 <fail> +80002f10: 1ac59063 bne a1,a2,800030b0 <fail> + +80002f14 <test_20>: +80002f14: 01400193 li gp,20 +80002f18: 00001517 auipc a0,0x1 +80002f1c: 26850513 addi a0,a0,616 # 80004180 <test_20_data> +80002f20: 00053007 fld ft0,0(a0) +80002f24: 00853087 fld ft1,8(a0) +80002f28: 01053107 fld ft2,16(a0) +80002f2c: 01852683 lw a3,24(a0) +80002f30: 01c52303 lw t1,28(a0) +80002f34: 2a1011d3 fmax.d ft3,ft0,ft1 +80002f38: 00353027 fsd ft3,0(a0) +80002f3c: 00452383 lw t2,4(a0) +80002f40: 00052503 lw a0,0(a0) +80002f44: 001015f3 fsflags a1,zero +80002f48: 01000613 li a2,16 +80002f4c: 16d51263 bne a0,a3,800030b0 <fail> +80002f50: 16731063 bne t1,t2,800030b0 <fail> +80002f54: 14c59e63 bne a1,a2,800030b0 <fail> + +80002f58 <test_21>: +80002f58: 01500193 li gp,21 +80002f5c: 00001517 auipc a0,0x1 +80002f60: 24450513 addi a0,a0,580 # 800041a0 <test_21_data> +80002f64: 00053007 fld ft0,0(a0) +80002f68: 00853087 fld ft1,8(a0) +80002f6c: 01053107 fld ft2,16(a0) +80002f70: 01852683 lw a3,24(a0) +80002f74: 01c52303 lw t1,28(a0) +80002f78: 2a1011d3 fmax.d ft3,ft0,ft1 +80002f7c: 00353027 fsd ft3,0(a0) +80002f80: 00452383 lw t2,4(a0) +80002f84: 00052503 lw a0,0(a0) +80002f88: 001015f3 fsflags a1,zero +80002f8c: 00000613 li a2,0 +80002f90: 12d51063 bne a0,a3,800030b0 <fail> +80002f94: 10731e63 bne t1,t2,800030b0 <fail> +80002f98: 10c59c63 bne a1,a2,800030b0 <fail> + +80002f9c <test_30>: +80002f9c: 01e00193 li gp,30 +80002fa0: 00001517 auipc a0,0x1 +80002fa4: 22050513 addi a0,a0,544 # 800041c0 <test_30_data> +80002fa8: 00053007 fld ft0,0(a0) +80002fac: 00853087 fld ft1,8(a0) +80002fb0: 01053107 fld ft2,16(a0) +80002fb4: 01852683 lw a3,24(a0) +80002fb8: 01c52303 lw t1,28(a0) +80002fbc: 2a1001d3 fmin.d ft3,ft0,ft1 +80002fc0: 00353027 fsd ft3,0(a0) +80002fc4: 00452383 lw t2,4(a0) +80002fc8: 00052503 lw a0,0(a0) +80002fcc: 001015f3 fsflags a1,zero +80002fd0: 00000613 li a2,0 +80002fd4: 0cd51e63 bne a0,a3,800030b0 <fail> +80002fd8: 0c731c63 bne t1,t2,800030b0 <fail> +80002fdc: 0cc59a63 bne a1,a2,800030b0 <fail> + +80002fe0 <test_31>: +80002fe0: 01f00193 li gp,31 +80002fe4: 00001517 auipc a0,0x1 +80002fe8: 1fc50513 addi a0,a0,508 # 800041e0 <test_31_data> +80002fec: 00053007 fld ft0,0(a0) +80002ff0: 00853087 fld ft1,8(a0) +80002ff4: 01053107 fld ft2,16(a0) +80002ff8: 01852683 lw a3,24(a0) +80002ffc: 01c52303 lw t1,28(a0) +80003000: 2a1001d3 fmin.d ft3,ft0,ft1 +80003004: 00353027 fsd ft3,0(a0) +80003008: 00452383 lw t2,4(a0) +8000300c: 00052503 lw a0,0(a0) +80003010: 001015f3 fsflags a1,zero +80003014: 00000613 li a2,0 +80003018: 08d51c63 bne a0,a3,800030b0 <fail> +8000301c: 08731a63 bne t1,t2,800030b0 <fail> +80003020: 08c59863 bne a1,a2,800030b0 <fail> + +80003024 <test_32>: +80003024: 02000193 li gp,32 +80003028: 00001517 auipc a0,0x1 +8000302c: 1d850513 addi a0,a0,472 # 80004200 <test_32_data> +80003030: 00053007 fld ft0,0(a0) +80003034: 00853087 fld ft1,8(a0) +80003038: 01053107 fld ft2,16(a0) +8000303c: 01852683 lw a3,24(a0) +80003040: 01c52303 lw t1,28(a0) +80003044: 2a1011d3 fmax.d ft3,ft0,ft1 +80003048: 00353027 fsd ft3,0(a0) +8000304c: 00452383 lw t2,4(a0) +80003050: 00052503 lw a0,0(a0) +80003054: 001015f3 fsflags a1,zero +80003058: 00000613 li a2,0 +8000305c: 04d51a63 bne a0,a3,800030b0 <fail> +80003060: 04731863 bne t1,t2,800030b0 <fail> +80003064: 04c59663 bne a1,a2,800030b0 <fail> + +80003068 <test_33>: +80003068: 02100193 li gp,33 +8000306c: 00001517 auipc a0,0x1 +80003070: 1b450513 addi a0,a0,436 # 80004220 <test_33_data> +80003074: 00053007 fld ft0,0(a0) +80003078: 00853087 fld ft1,8(a0) +8000307c: 01053107 fld ft2,16(a0) +80003080: 01852683 lw a3,24(a0) +80003084: 01c52303 lw t1,28(a0) +80003088: 2a1011d3 fmax.d ft3,ft0,ft1 +8000308c: 00353027 fsd ft3,0(a0) +80003090: 00452383 lw t2,4(a0) +80003094: 00052503 lw a0,0(a0) +80003098: 001015f3 fsflags a1,zero +8000309c: 00000613 li a2,0 +800030a0: 00d51863 bne a0,a3,800030b0 <fail> +800030a4: 00731663 bne t1,t2,800030b0 <fail> +800030a8: 00c59463 bne a1,a2,800030b0 <fail> +800030ac: 00301a63 bne zero,gp,800030c0 <pass> + +800030b0 <fail>: +800030b0: 00119513 slli a0,gp,0x1 +800030b4: 00050063 beqz a0,800030b4 <fail+0x4> +800030b8: 00156513 ori a0,a0,1 +800030bc: 00000073 ecall + +800030c0 <pass>: +800030c0: 00100513 li a0,1 +800030c4: 00000073 ecall +800030c8: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 0000 unimp +80004002: 0000 unimp +80004004: 0000 unimp +80004006: 4004 lw s1,0(s0) +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: 0000 unimp +8000400e: 3ff0 fld fa2,248(a5) +80004010: 0000 unimp +80004012: 0000 unimp +80004014: 0000 unimp +80004016: 0000 unimp +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: 0000 unimp +8000401e: 3ff0 fld fa2,248(a5) + +80004020 <test_3_data>: +80004020: 6666 flw fa2,88(sp) +80004022: 6666 flw fa2,88(sp) +80004024: 4c66 lw s8,88(sp) +80004026: 999ac093 xori ra,s5,-1639 +8000402a: 9999 andi a1,a1,-26 +8000402c: 9999 andi a1,a1,-26 +8000402e: 3ff1 jal 8000400a <test_2_data+0xa> +80004030: 0000 unimp +80004032: 0000 unimp +80004034: 0000 unimp +80004036: 0000 unimp +80004038: 6666 flw fa2,88(sp) +8000403a: 6666 flw fa2,88(sp) +8000403c: 4c66 lw s8,88(sp) +8000403e: xori ra,s5,-1639 + +80004040 <test_4_data>: +80004040: 999a add s3,s3,t1 +80004042: 9999 andi a1,a1,-26 +80004044: 9999 andi a1,a1,-26 +80004046: 3ff1 jal 80004022 <test_3_data+0x2> +80004048: 6666 flw fa2,88(sp) +8000404a: 6666 flw fa2,88(sp) +8000404c: 4c66 lw s8,88(sp) +8000404e: 0000c093 xori ra,ra,0 +80004052: 0000 unimp +80004054: 0000 unimp +80004056: 0000 unimp +80004058: 6666 flw fa2,88(sp) +8000405a: 6666 flw fa2,88(sp) +8000405c: 4c66 lw s8,88(sp) +8000405e: not ra,t6 + +80004060 <test_5_data>: +80004060: ffff 0xffff +80004062: ffff 0xffff +80004064: ffff 0xffff +80004066: 7fff 0x7fff +80004068: 6666 flw fa2,88(sp) +8000406a: 6666 flw fa2,88(sp) +8000406c: 4c66 lw s8,88(sp) +8000406e: 0000c093 xori ra,ra,0 +80004072: 0000 unimp +80004074: 0000 unimp +80004076: 0000 unimp +80004078: 6666 flw fa2,88(sp) +8000407a: 6666 flw fa2,88(sp) +8000407c: 4c66 lw s8,88(sp) +8000407e: xori ra,gp,-689 + +80004080 <test_6_data>: +80004080: d4f1 beqz s1,8000404c <test_4_data+0xc> +80004082: 53c8 lw a0,36(a5) +80004084: 400921fb 0x400921fb +80004088: 8c3a mv s8,a4 +8000408a: e230 fsw fa2,64(a2) +8000408c: 798e flw fs3,224(sp) +8000408e: 3e45 jal 80003c3e <pass+0xb7e> +80004090: 0000 unimp +80004092: 0000 unimp +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 8c3a mv s8,a4 +8000409a: e230 fsw fa2,64(a2) +8000409c: 798e flw fs3,224(sp) +8000409e: 3e45 jal 80003c4e <pass+0xb8e> + +800040a0 <test_7_data>: +800040a0: 0000 unimp +800040a2: 0000 unimp +800040a4: 0000 unimp +800040a6: bff0 fsd fa2,248(a5) +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 0000 unimp +800040ae: c000 sw s0,0(s0) +800040b0: 0000 unimp +800040b2: 0000 unimp +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: c000 sw s0,0(s0) + +800040c0 <test_12_data>: +800040c0: 0000 unimp +800040c2: 0000 unimp +800040c4: 0000 unimp +800040c6: 4004 lw s1,0(s0) +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 3ff0 fld fa2,248(a5) +800040d0: 0000 unimp +800040d2: 0000 unimp +800040d4: 0000 unimp +800040d6: 0000 unimp +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 4004 lw s1,0(s0) + +800040e0 <test_13_data>: +800040e0: 6666 flw fa2,88(sp) +800040e2: 6666 flw fa2,88(sp) +800040e4: 4c66 lw s8,88(sp) +800040e6: 999ac093 xori ra,s5,-1639 +800040ea: 9999 andi a1,a1,-26 +800040ec: 9999 andi a1,a1,-26 +800040ee: 3ff1 jal 800040ca <test_12_data+0xa> +800040f0: 0000 unimp +800040f2: 0000 unimp +800040f4: 0000 unimp +800040f6: 0000 unimp +800040f8: 999a add s3,s3,t1 +800040fa: 9999 andi a1,a1,-26 +800040fc: 9999 andi a1,a1,-26 +800040fe: 3ff1 jal 800040da <test_12_data+0x1a> + +80004100 <test_14_data>: +80004100: 999a add s3,s3,t1 +80004102: 9999 andi a1,a1,-26 +80004104: 9999 andi a1,a1,-26 +80004106: 3ff1 jal 800040e2 <test_13_data+0x2> +80004108: 6666 flw fa2,88(sp) +8000410a: 6666 flw fa2,88(sp) +8000410c: 4c66 lw s8,88(sp) +8000410e: 0000c093 xori ra,ra,0 +80004112: 0000 unimp +80004114: 0000 unimp +80004116: 0000 unimp +80004118: 999a add s3,s3,t1 +8000411a: 9999 andi a1,a1,-26 +8000411c: 9999 andi a1,a1,-26 +8000411e: 3ff1 jal 800040fa <test_13_data+0x1a> + +80004120 <test_15_data>: +80004120: ffff 0xffff +80004122: ffff 0xffff +80004124: ffff 0xffff +80004126: 7fff 0x7fff +80004128: 6666 flw fa2,88(sp) +8000412a: 6666 flw fa2,88(sp) +8000412c: 4c66 lw s8,88(sp) +8000412e: 0000c093 xori ra,ra,0 +80004132: 0000 unimp +80004134: 0000 unimp +80004136: 0000 unimp +80004138: 6666 flw fa2,88(sp) +8000413a: 6666 flw fa2,88(sp) +8000413c: 4c66 lw s8,88(sp) +8000413e: xori ra,gp,-689 + +80004140 <test_16_data>: +80004140: d4f1 beqz s1,8000410c <test_14_data+0xc> +80004142: 53c8 lw a0,36(a5) +80004144: 400921fb 0x400921fb +80004148: 8c3a mv s8,a4 +8000414a: e230 fsw fa2,64(a2) +8000414c: 798e flw fs3,224(sp) +8000414e: 3e45 jal 80003cfe <pass+0xc3e> +80004150: 0000 unimp +80004152: 0000 unimp +80004154: 0000 unimp +80004156: 0000 unimp +80004158: d4f1 beqz s1,80004124 <test_15_data+0x4> +8000415a: 53c8 lw a0,36(a5) +8000415c: 400921fb 0x400921fb + +80004160 <test_17_data>: +80004160: 0000 unimp +80004162: 0000 unimp +80004164: 0000 unimp +80004166: bff0 fsd fa2,248(a5) +80004168: 0000 unimp +8000416a: 0000 unimp +8000416c: 0000 unimp +8000416e: c000 sw s0,0(s0) +80004170: 0000 unimp +80004172: 0000 unimp +80004174: 0000 unimp +80004176: 0000 unimp +80004178: 0000 unimp +8000417a: 0000 unimp +8000417c: 0000 unimp +8000417e: bff0 fsd fa2,248(a5) + +80004180 <test_20_data>: +80004180: 0001 nop +80004182: 0000 unimp +80004184: 0000 unimp +80004186: 7ff0 flw fa2,124(a5) +80004188: 0000 unimp +8000418a: 0000 unimp +8000418c: 0000 unimp +8000418e: 3ff0 fld fa2,248(a5) +80004190: 0000 unimp +80004192: 0000 unimp +80004194: 0000 unimp +80004196: 0000 unimp +80004198: 0000 unimp +8000419a: 0000 unimp +8000419c: 0000 unimp +8000419e: 3ff0 fld fa2,248(a5) + +800041a0 <test_21_data>: +800041a0: ffff 0xffff +800041a2: ffff 0xffff +800041a4: ffff 0xffff +800041a6: 7fff 0x7fff +800041a8: ffff 0xffff +800041aa: ffff 0xffff +800041ac: ffff 0xffff +800041ae: 7fff 0x7fff +800041b0: 0000 unimp +800041b2: 0000 unimp +800041b4: 0000 unimp +800041b6: 0000 unimp +800041b8: 0000 unimp +800041ba: 0000 unimp +800041bc: 0000 unimp +800041be: 7ff8 flw fa4,124(a5) + +800041c0 <test_30_data>: +800041c0: 0000 unimp +800041c2: 0000 unimp +800041c4: 0000 unimp +800041c6: 8000 0x8000 +800041c8: 0000 unimp +800041ca: 0000 unimp +800041cc: 0000 unimp +800041ce: 0000 unimp +800041d0: 0000 unimp +800041d2: 0000 unimp +800041d4: 0000 unimp +800041d6: 0000 unimp +800041d8: 0000 unimp +800041da: 0000 unimp +800041dc: 0000 unimp +800041de: 8000 0x8000 + +800041e0 <test_31_data>: +800041e0: 0000 unimp +800041e2: 0000 unimp +800041e4: 0000 unimp +800041e6: 0000 unimp +800041e8: 0000 unimp +800041ea: 0000 unimp +800041ec: 0000 unimp +800041ee: 8000 0x8000 +800041f0: 0000 unimp +800041f2: 0000 unimp +800041f4: 0000 unimp +800041f6: 0000 unimp +800041f8: 0000 unimp +800041fa: 0000 unimp +800041fc: 0000 unimp +800041fe: 8000 0x8000 + +80004200 <test_32_data>: +80004200: 0000 unimp +80004202: 0000 unimp +80004204: 0000 unimp +80004206: 8000 0x8000 +80004208: 0000 unimp +8000420a: 0000 unimp +8000420c: 0000 unimp +8000420e: 0000 unimp +80004210: 0000 unimp +80004212: 0000 unimp +80004214: 0000 unimp +80004216: 0000 unimp +80004218: 0000 unimp +8000421a: 0000 unimp +8000421c: 0000 unimp +8000421e: 0000 unimp + +80004220 <test_33_data>: +80004220: 0000 unimp +80004222: 0000 unimp +80004224: 0000 unimp +80004226: 0000 unimp +80004228: 0000 unimp +8000422a: 0000 unimp +8000422c: 0000 unimp +8000422e: 8000 0x8000 +80004230: 0000 unimp +80004232: 0000 unimp +80004234: 0000 unimp +80004236: 0000 unimp +80004238: 0000 unimp +8000423a: 0000 unimp +8000423c: 0000 unimp +8000423e: 0000 unimp diff --git a/test/riscv-tests/rv32ud-v-fmin.elf b/test/riscv-tests/rv32ud-v-fmin.elf Binary files differnew file mode 100644 index 0000000..65567e7 --- /dev/null +++ b/test/riscv-tests/rv32ud-v-fmin.elf diff --git a/test/riscv-tests/rv32uf-p-fadd.dump b/test/riscv-tests/rv32uf-p-fadd.dump new file mode 100644 index 0000000..8214d0a --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fadd.dump @@ -0,0 +1,342 @@ + +rv32uf-p-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: 001071d3 fadd.s ft3,ft0,ft1 +80000128: e0018553 fmv.x.w a0,ft3 +8000012c: 001015f3 fsflags a1,zero +80000130: 00000613 li a2,0 +80000134: 1ed51063 bne a0,a3,80000314 <fail> +80000138: 1cc59e63 bne a1,a2,80000314 <fail> + +8000013c <test_3>: +8000013c: 00300193 li gp,3 +80000140: 00002517 auipc a0,0x2 +80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> +80000148: 00052007 flw ft0,0(a0) +8000014c: 00452087 flw ft1,4(a0) +80000150: 00852107 flw ft2,8(a0) +80000154: 00c52683 lw a3,12(a0) +80000158: 001071d3 fadd.s ft3,ft0,ft1 +8000015c: e0018553 fmv.x.w a0,ft3 +80000160: 001015f3 fsflags a1,zero +80000164: 00100613 li a2,1 +80000168: 1ad51663 bne a0,a3,80000314 <fail> +8000016c: 1ac59463 bne a1,a2,80000314 <fail> + +80000170 <test_4>: +80000170: 00400193 li gp,4 +80000174: 00002517 auipc a0,0x2 +80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> +8000017c: 00052007 flw ft0,0(a0) +80000180: 00452087 flw ft1,4(a0) +80000184: 00852107 flw ft2,8(a0) +80000188: 00c52683 lw a3,12(a0) +8000018c: 001071d3 fadd.s ft3,ft0,ft1 +80000190: e0018553 fmv.x.w a0,ft3 +80000194: 001015f3 fsflags a1,zero +80000198: 00100613 li a2,1 +8000019c: 16d51c63 bne a0,a3,80000314 <fail> +800001a0: 16c59a63 bne a1,a2,80000314 <fail> + +800001a4 <test_5>: +800001a4: 00500193 li gp,5 +800001a8: 00002517 auipc a0,0x2 +800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> +800001b0: 00052007 flw ft0,0(a0) +800001b4: 00452087 flw ft1,4(a0) +800001b8: 00852107 flw ft2,8(a0) +800001bc: 00c52683 lw a3,12(a0) +800001c0: 081071d3 fsub.s ft3,ft0,ft1 +800001c4: e0018553 fmv.x.w a0,ft3 +800001c8: 001015f3 fsflags a1,zero +800001cc: 00000613 li a2,0 +800001d0: 14d51263 bne a0,a3,80000314 <fail> +800001d4: 14c59063 bne a1,a2,80000314 <fail> + +800001d8 <test_6>: +800001d8: 00600193 li gp,6 +800001dc: 00002517 auipc a0,0x2 +800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> +800001e4: 00052007 flw ft0,0(a0) +800001e8: 00452087 flw ft1,4(a0) +800001ec: 00852107 flw ft2,8(a0) +800001f0: 00c52683 lw a3,12(a0) +800001f4: 081071d3 fsub.s ft3,ft0,ft1 +800001f8: e0018553 fmv.x.w a0,ft3 +800001fc: 001015f3 fsflags a1,zero +80000200: 00100613 li a2,1 +80000204: 10d51863 bne a0,a3,80000314 <fail> +80000208: 10c59663 bne a1,a2,80000314 <fail> + +8000020c <test_7>: +8000020c: 00700193 li gp,7 +80000210: 00002517 auipc a0,0x2 +80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> +80000218: 00052007 flw ft0,0(a0) +8000021c: 00452087 flw ft1,4(a0) +80000220: 00852107 flw ft2,8(a0) +80000224: 00c52683 lw a3,12(a0) +80000228: 081071d3 fsub.s ft3,ft0,ft1 +8000022c: e0018553 fmv.x.w a0,ft3 +80000230: 001015f3 fsflags a1,zero +80000234: 00100613 li a2,1 +80000238: 0cd51e63 bne a0,a3,80000314 <fail> +8000023c: 0cc59c63 bne a1,a2,80000314 <fail> + +80000240 <test_8>: +80000240: 00800193 li gp,8 +80000244: 00002517 auipc a0,0x2 +80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data> +8000024c: 00052007 flw ft0,0(a0) +80000250: 00452087 flw ft1,4(a0) +80000254: 00852107 flw ft2,8(a0) +80000258: 00c52683 lw a3,12(a0) +8000025c: 101071d3 fmul.s ft3,ft0,ft1 +80000260: e0018553 fmv.x.w a0,ft3 +80000264: 001015f3 fsflags a1,zero +80000268: 00000613 li a2,0 +8000026c: 0ad51463 bne a0,a3,80000314 <fail> +80000270: 0ac59263 bne a1,a2,80000314 <fail> + +80000274 <test_9>: +80000274: 00900193 li gp,9 +80000278: 00002517 auipc a0,0x2 +8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data> +80000280: 00052007 flw ft0,0(a0) +80000284: 00452087 flw ft1,4(a0) +80000288: 00852107 flw ft2,8(a0) +8000028c: 00c52683 lw a3,12(a0) +80000290: 101071d3 fmul.s ft3,ft0,ft1 +80000294: e0018553 fmv.x.w a0,ft3 +80000298: 001015f3 fsflags a1,zero +8000029c: 00100613 li a2,1 +800002a0: 06d51a63 bne a0,a3,80000314 <fail> +800002a4: 06c59863 bne a1,a2,80000314 <fail> + +800002a8 <test_10>: +800002a8: 00a00193 li gp,10 +800002ac: 00002517 auipc a0,0x2 +800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: 101071d3 fmul.s ft3,ft0,ft1 +800002c8: e0018553 fmv.x.w a0,ft3 +800002cc: 001015f3 fsflags a1,zero +800002d0: 00100613 li a2,1 +800002d4: 04d51063 bne a0,a3,80000314 <fail> +800002d8: 02c59e63 bne a1,a2,80000314 <fail> + +800002dc <test_11>: +800002dc: 00b00193 li gp,11 +800002e0: 00002517 auipc a0,0x2 +800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data> +800002e8: 00052007 flw ft0,0(a0) +800002ec: 00452087 flw ft1,4(a0) +800002f0: 00852107 flw ft2,8(a0) +800002f4: 00c52683 lw a3,12(a0) +800002f8: 081071d3 fsub.s ft3,ft0,ft1 +800002fc: e0018553 fmv.x.w a0,ft3 +80000300: 001015f3 fsflags a1,zero +80000304: 01000613 li a2,16 +80000308: 00d51663 bne a0,a3,80000314 <fail> +8000030c: 00c59463 bne a1,a2,80000314 <fail> +80000310: 00301c63 bne zero,gp,80000328 <pass> + +80000314 <fail>: +80000314: 0ff0000f fence +80000318: 00018063 beqz gp,80000318 <fail+0x4> +8000031c: 00119193 slli gp,gp,0x1 +80000320: 0011e193 ori gp,gp,1 +80000324: 00000073 ecall + +80000328 <pass>: +80000328: 0ff0000f fence +8000032c: 00100193 li gp,1 +80000330: 00000073 ecall +80000334: c0001073 unimp +80000338: 0000 unimp +8000033a: 0000 unimp +8000033c: 0000 unimp +8000033e: 0000 unimp +80000340: 0000 unimp +80000342: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4020 lw s0,64(s0) +80002004: 0000 unimp +80002006: 3f80 fld fs0,56(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 4060 lw s0,68(s0) + +80002010 <test_3_data>: +80002010: c49a6333 0xc49a6333 +80002014: cccd beqz s1,800020ce <_end+0x2e> +80002016: 3f8c fld fa1,56(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 4000 lw s0,0(s0) +8000201e: c49a sw t1,72(sp) + +80002020 <test_4_data>: +80002020: 40490fdb 0x40490fdb +80002024: 322bcc77 0x322bcc77 +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 40490fdb 0x40490fdb + +80002030 <test_5_data>: +80002030: 0000 unimp +80002032: 4020 lw s0,64(s0) +80002034: 0000 unimp +80002036: 3f80 fld fs0,56(a5) +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 3fc0 fld fs0,184(a5) + +80002040 <test_6_data>: +80002040: c49a6333 0xc49a6333 +80002044: cccd beqz s1,800020fe <_end+0x5e> +80002046: bf8c fsd fa1,56(a5) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 4000 lw s0,0(s0) +8000204e: c49a sw t1,72(sp) + +80002050 <test_7_data>: +80002050: 40490fdb 0x40490fdb +80002054: 322bcc77 0x322bcc77 +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 40490fdb 0x40490fdb + +80002060 <test_8_data>: +80002060: 0000 unimp +80002062: 4020 lw s0,64(s0) +80002064: 0000 unimp +80002066: 3f80 fld fs0,56(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4020 lw s0,64(s0) + +80002070 <test_9_data>: +80002070: c49a6333 0xc49a6333 +80002074: cccd beqz s1,8000212e <_end+0x8e> +80002076: bf8c fsd fa1,56(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: d385 beqz a5,80001f9c <fromhost+0xf5c> +8000207e: 44a9 li s1,10 + +80002080 <test_10_data>: +80002080: 40490fdb 0x40490fdb +80002084: 322bcc77 0x322bcc77 +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: ee2d bnez a2,80002106 <_end+0x66> +8000208e: 3306 fld ft6,96(sp) + +80002090 <test_11_data>: +80002090: 0000 unimp +80002092: 7f80 flw fs0,56(a5) +80002094: 0000 unimp +80002096: 7f80 flw fs0,56(a5) +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 7fc0 flw fs0,60(a5) diff --git a/test/riscv-tests/rv32uf-p-fadd.elf b/test/riscv-tests/rv32uf-p-fadd.elf Binary files differnew file mode 100644 index 0000000..a783f7a --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fadd.elf diff --git a/test/riscv-tests/rv32uf-p-fclass.dump b/test/riscv-tests/rv32uf-p-fclass.dump new file mode 100644 index 0000000..6b32b55 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fclass.dump @@ -0,0 +1,190 @@ + +rv32uf-p-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: ff800537 lui a0,0xff800 +8000010c: f0050553 fmv.w.x fa0,a0 +80000110: e0051553 fclass.s a0,fa0 +80000114: 00100e93 li t4,1 +80000118: 00200193 li gp,2 +8000011c: 0fd51663 bne a0,t4,80000208 <fail> + +80000120 <test_3>: +80000120: bf800537 lui a0,0xbf800 +80000124: f0050553 fmv.w.x fa0,a0 +80000128: e0051553 fclass.s a0,fa0 +8000012c: 00200e93 li t4,2 +80000130: 00300193 li gp,3 +80000134: 0dd51a63 bne a0,t4,80000208 <fail> + +80000138 <test_4>: +80000138: 80800537 lui a0,0x80800 +8000013c: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fdfff> +80000140: f0050553 fmv.w.x fa0,a0 +80000144: e0051553 fclass.s a0,fa0 +80000148: 00400e93 li t4,4 +8000014c: 00400193 li gp,4 +80000150: 0bd51c63 bne a0,t4,80000208 <fail> + +80000154 <test_5>: +80000154: 80000537 lui a0,0x80000 +80000158: f0050553 fmv.w.x fa0,a0 +8000015c: e0051553 fclass.s a0,fa0 +80000160: 00800e93 li t4,8 +80000164: 00500193 li gp,5 +80000168: 0bd51063 bne a0,t4,80000208 <fail> + +8000016c <test_6>: +8000016c: 00000513 li a0,0 +80000170: f0050553 fmv.w.x fa0,a0 +80000174: e0051553 fclass.s a0,fa0 +80000178: 01000e93 li t4,16 +8000017c: 00600193 li gp,6 +80000180: 09d51463 bne a0,t4,80000208 <fail> + +80000184 <test_7>: +80000184: 00800537 lui a0,0x800 +80000188: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001> +8000018c: f0050553 fmv.w.x fa0,a0 +80000190: e0051553 fclass.s a0,fa0 +80000194: 02000e93 li t4,32 +80000198: 00700193 li gp,7 +8000019c: 07d51663 bne a0,t4,80000208 <fail> + +800001a0 <test_8>: +800001a0: 3f800537 lui a0,0x3f800 +800001a4: f0050553 fmv.w.x fa0,a0 +800001a8: e0051553 fclass.s a0,fa0 +800001ac: 04000e93 li t4,64 +800001b0: 00800193 li gp,8 +800001b4: 05d51a63 bne a0,t4,80000208 <fail> + +800001b8 <test_9>: +800001b8: 7f800537 lui a0,0x7f800 +800001bc: f0050553 fmv.w.x fa0,a0 +800001c0: e0051553 fclass.s a0,fa0 +800001c4: 08000e93 li t4,128 +800001c8: 00900193 li gp,9 +800001cc: 03d51e63 bne a0,t4,80000208 <fail> + +800001d0 <test_10>: +800001d0: 7f800537 lui a0,0x7f800 +800001d4: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff> +800001d8: f0050553 fmv.w.x fa0,a0 +800001dc: e0051553 fclass.s a0,fa0 +800001e0: 10000e93 li t4,256 +800001e4: 00a00193 li gp,10 +800001e8: 03d51063 bne a0,t4,80000208 <fail> + +800001ec <test_11>: +800001ec: 7fc00537 lui a0,0x7fc00 +800001f0: f0050553 fmv.w.x fa0,a0 +800001f4: e0051553 fclass.s a0,fa0 +800001f8: 20000e93 li t4,512 +800001fc: 00b00193 li gp,11 +80000200: 01d51463 bne a0,t4,80000208 <fail> +80000204: 00301c63 bne zero,gp,8000021c <pass> + +80000208 <fail>: +80000208: 0ff0000f fence +8000020c: 00018063 beqz gp,8000020c <fail+0x4> +80000210: 00119193 slli gp,gp,0x1 +80000214: 0011e193 ori gp,gp,1 +80000218: 00000073 ecall + +8000021c <pass>: +8000021c: 0ff0000f fence +80000220: 00100193 li gp,1 +80000224: 00000073 ecall +80000228: c0001073 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/test/riscv-tests/rv32uf-p-fclass.elf b/test/riscv-tests/rv32uf-p-fclass.elf Binary files differnew file mode 100644 index 0000000..3a520ad --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fclass.elf diff --git a/test/riscv-tests/rv32uf-p-fcmp.dump b/test/riscv-tests/rv32uf-p-fcmp.dump new file mode 100644 index 0000000..0674288 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcmp.dump @@ -0,0 +1,450 @@ + +rv32uf-p-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: a0102553 feq.s a0,ft0,ft1 +80000128: 001015f3 fsflags a1,zero +8000012c: 00000613 li a2,0 +80000130: 2ad51663 bne a0,a3,800003dc <fail> +80000134: 2ac59463 bne a1,a2,800003dc <fail> + +80000138 <test_3>: +80000138: 00300193 li gp,3 +8000013c: 00002517 auipc a0,0x2 +80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data> +80000144: 00052007 flw ft0,0(a0) +80000148: 00452087 flw ft1,4(a0) +8000014c: 00852107 flw ft2,8(a0) +80000150: 00c52683 lw a3,12(a0) +80000154: a0100553 fle.s a0,ft0,ft1 +80000158: 001015f3 fsflags a1,zero +8000015c: 00000613 li a2,0 +80000160: 26d51e63 bne a0,a3,800003dc <fail> +80000164: 26c59c63 bne a1,a2,800003dc <fail> + +80000168 <test_4>: +80000168: 00400193 li gp,4 +8000016c: 00002517 auipc a0,0x2 +80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data> +80000174: 00052007 flw ft0,0(a0) +80000178: 00452087 flw ft1,4(a0) +8000017c: 00852107 flw ft2,8(a0) +80000180: 00c52683 lw a3,12(a0) +80000184: a0101553 flt.s a0,ft0,ft1 +80000188: 001015f3 fsflags a1,zero +8000018c: 00000613 li a2,0 +80000190: 24d51663 bne a0,a3,800003dc <fail> +80000194: 24c59463 bne a1,a2,800003dc <fail> + +80000198 <test_5>: +80000198: 00500193 li gp,5 +8000019c: 00002517 auipc a0,0x2 +800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data> +800001a4: 00052007 flw ft0,0(a0) +800001a8: 00452087 flw ft1,4(a0) +800001ac: 00852107 flw ft2,8(a0) +800001b0: 00c52683 lw a3,12(a0) +800001b4: a0102553 feq.s a0,ft0,ft1 +800001b8: 001015f3 fsflags a1,zero +800001bc: 00000613 li a2,0 +800001c0: 20d51e63 bne a0,a3,800003dc <fail> +800001c4: 20c59c63 bne a1,a2,800003dc <fail> + +800001c8 <test_6>: +800001c8: 00600193 li gp,6 +800001cc: 00002517 auipc a0,0x2 +800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data> +800001d4: 00052007 flw ft0,0(a0) +800001d8: 00452087 flw ft1,4(a0) +800001dc: 00852107 flw ft2,8(a0) +800001e0: 00c52683 lw a3,12(a0) +800001e4: a0100553 fle.s a0,ft0,ft1 +800001e8: 001015f3 fsflags a1,zero +800001ec: 00000613 li a2,0 +800001f0: 1ed51663 bne a0,a3,800003dc <fail> +800001f4: 1ec59463 bne a1,a2,800003dc <fail> + +800001f8 <test_7>: +800001f8: 00700193 li gp,7 +800001fc: 00002517 auipc a0,0x2 +80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data> +80000204: 00052007 flw ft0,0(a0) +80000208: 00452087 flw ft1,4(a0) +8000020c: 00852107 flw ft2,8(a0) +80000210: 00c52683 lw a3,12(a0) +80000214: a0101553 flt.s a0,ft0,ft1 +80000218: 001015f3 fsflags a1,zero +8000021c: 00000613 li a2,0 +80000220: 1ad51e63 bne a0,a3,800003dc <fail> +80000224: 1ac59c63 bne a1,a2,800003dc <fail> + +80000228 <test_8>: +80000228: 00800193 li gp,8 +8000022c: 00002517 auipc a0,0x2 +80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data> +80000234: 00052007 flw ft0,0(a0) +80000238: 00452087 flw ft1,4(a0) +8000023c: 00852107 flw ft2,8(a0) +80000240: 00c52683 lw a3,12(a0) +80000244: a0102553 feq.s a0,ft0,ft1 +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 18d51663 bne a0,a3,800003dc <fail> +80000254: 18c59463 bne a1,a2,800003dc <fail> + +80000258 <test_9>: +80000258: 00900193 li gp,9 +8000025c: 00002517 auipc a0,0x2 +80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: a0102553 feq.s a0,ft0,ft1 +80000278: 001015f3 fsflags a1,zero +8000027c: 00000613 li a2,0 +80000280: 14d51e63 bne a0,a3,800003dc <fail> +80000284: 14c59c63 bne a1,a2,800003dc <fail> + +80000288 <test_10>: +80000288: 00a00193 li gp,10 +8000028c: 00002517 auipc a0,0x2 +80000290: df450513 addi a0,a0,-524 # 80002080 <test_10_data> +80000294: 00052007 flw ft0,0(a0) +80000298: 00452087 flw ft1,4(a0) +8000029c: 00852107 flw ft2,8(a0) +800002a0: 00c52683 lw a3,12(a0) +800002a4: a0102553 feq.s a0,ft0,ft1 +800002a8: 001015f3 fsflags a1,zero +800002ac: 01000613 li a2,16 +800002b0: 12d51663 bne a0,a3,800003dc <fail> +800002b4: 12c59463 bne a1,a2,800003dc <fail> + +800002b8 <test_11>: +800002b8: 00b00193 li gp,11 +800002bc: 00002517 auipc a0,0x2 +800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_11_data> +800002c4: 00052007 flw ft0,0(a0) +800002c8: 00452087 flw ft1,4(a0) +800002cc: 00852107 flw ft2,8(a0) +800002d0: 00c52683 lw a3,12(a0) +800002d4: a0101553 flt.s a0,ft0,ft1 +800002d8: 001015f3 fsflags a1,zero +800002dc: 01000613 li a2,16 +800002e0: 0ed51e63 bne a0,a3,800003dc <fail> +800002e4: 0ec59c63 bne a1,a2,800003dc <fail> + +800002e8 <test_12>: +800002e8: 00c00193 li gp,12 +800002ec: 00002517 auipc a0,0x2 +800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_12_data> +800002f4: 00052007 flw ft0,0(a0) +800002f8: 00452087 flw ft1,4(a0) +800002fc: 00852107 flw ft2,8(a0) +80000300: 00c52683 lw a3,12(a0) +80000304: a0101553 flt.s a0,ft0,ft1 +80000308: 001015f3 fsflags a1,zero +8000030c: 01000613 li a2,16 +80000310: 0cd51663 bne a0,a3,800003dc <fail> +80000314: 0cc59463 bne a1,a2,800003dc <fail> + +80000318 <test_13>: +80000318: 00d00193 li gp,13 +8000031c: 00002517 auipc a0,0x2 +80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_13_data> +80000324: 00052007 flw ft0,0(a0) +80000328: 00452087 flw ft1,4(a0) +8000032c: 00852107 flw ft2,8(a0) +80000330: 00c52683 lw a3,12(a0) +80000334: a0101553 flt.s a0,ft0,ft1 +80000338: 001015f3 fsflags a1,zero +8000033c: 01000613 li a2,16 +80000340: 08d51e63 bne a0,a3,800003dc <fail> +80000344: 08c59c63 bne a1,a2,800003dc <fail> + +80000348 <test_14>: +80000348: 00e00193 li gp,14 +8000034c: 00002517 auipc a0,0x2 +80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_14_data> +80000354: 00052007 flw ft0,0(a0) +80000358: 00452087 flw ft1,4(a0) +8000035c: 00852107 flw ft2,8(a0) +80000360: 00c52683 lw a3,12(a0) +80000364: a0100553 fle.s a0,ft0,ft1 +80000368: 001015f3 fsflags a1,zero +8000036c: 01000613 li a2,16 +80000370: 06d51663 bne a0,a3,800003dc <fail> +80000374: 06c59463 bne a1,a2,800003dc <fail> + +80000378 <test_15>: +80000378: 00f00193 li gp,15 +8000037c: 00002517 auipc a0,0x2 +80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_15_data> +80000384: 00052007 flw ft0,0(a0) +80000388: 00452087 flw ft1,4(a0) +8000038c: 00852107 flw ft2,8(a0) +80000390: 00c52683 lw a3,12(a0) +80000394: a0100553 fle.s a0,ft0,ft1 +80000398: 001015f3 fsflags a1,zero +8000039c: 01000613 li a2,16 +800003a0: 02d51e63 bne a0,a3,800003dc <fail> +800003a4: 02c59c63 bne a1,a2,800003dc <fail> + +800003a8 <test_16>: +800003a8: 01000193 li gp,16 +800003ac: 00002517 auipc a0,0x2 +800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_16_data> +800003b4: 00052007 flw ft0,0(a0) +800003b8: 00452087 flw ft1,4(a0) +800003bc: 00852107 flw ft2,8(a0) +800003c0: 00c52683 lw a3,12(a0) +800003c4: a0100553 fle.s a0,ft0,ft1 +800003c8: 001015f3 fsflags a1,zero +800003cc: 01000613 li a2,16 +800003d0: 00d51663 bne a0,a3,800003dc <fail> +800003d4: 00c59463 bne a1,a2,800003dc <fail> +800003d8: 00301c63 bne zero,gp,800003f0 <pass> + +800003dc <fail>: +800003dc: 0ff0000f fence +800003e0: 00018063 beqz gp,800003e0 <fail+0x4> +800003e4: 00119193 slli gp,gp,0x1 +800003e8: 0011e193 ori gp,gp,1 +800003ec: 00000073 ecall + +800003f0 <pass>: +800003f0: 0ff0000f fence +800003f4: 00100193 li gp,1 +800003f8: 00000073 ecall +800003fc: c0001073 unimp +80000400: 0000 unimp +80000402: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: bfae147b 0xbfae147b +80002004: bfae147b 0xbfae147b +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0001 nop +8000200e: 0000 unimp + +80002010 <test_3_data>: +80002010: bfae147b 0xbfae147b +80002014: bfae147b 0xbfae147b +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0001 nop +8000201e: 0000 unimp + +80002020 <test_4_data>: +80002020: bfae147b 0xbfae147b +80002024: bfae147b 0xbfae147b +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 5c29 li s8,-22 +80002032: 147bbfaf 0x147bbfaf +80002036: bfae fsd fa1,504(sp) +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 5c29 li s8,-22 +80002042: 147bbfaf 0x147bbfaf +80002046: bfae fsd fa1,504(sp) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: 5c29 li s8,-22 +80002052: 147bbfaf 0x147bbfaf +80002056: bfae fsd fa1,504(sp) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: ffff 0xffff +80002062: 7fff 0x7fff +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp + +80002070 <test_9_data>: +80002070: ffff 0xffff +80002072: 7fff 0x7fff +80002074: ffff 0xffff +80002076: 7fff 0x7fff +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp + +80002080 <test_10_data>: +80002080: 0001 nop +80002082: 7f80 flw fs0,56(a5) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_11_data>: +80002090: ffff 0xffff +80002092: 7fff 0x7fff +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_12_data>: +800020a0: ffff 0xffff +800020a2: 7fff 0x7fff +800020a4: ffff 0xffff +800020a6: 7fff 0x7fff +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_13_data>: +800020b0: 0001 nop +800020b2: 7f80 flw fs0,56(a5) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_14_data>: +800020c0: ffff 0xffff +800020c2: 7fff 0x7fff +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp + +800020d0 <test_15_data>: +800020d0: ffff 0xffff +800020d2: 7fff 0x7fff +800020d4: ffff 0xffff +800020d6: 7fff 0x7fff +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 0000 unimp + +800020e0 <test_16_data>: +800020e0: 0001 nop +800020e2: 7f80 flw fs0,56(a5) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp diff --git a/test/riscv-tests/rv32uf-p-fcmp.elf b/test/riscv-tests/rv32uf-p-fcmp.elf Binary files differnew file mode 100644 index 0000000..b0f64b1 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcmp.elf diff --git a/test/riscv-tests/rv32uf-p-fcvt.dump b/test/riscv-tests/rv32uf-p-fcvt.dump new file mode 100644 index 0000000..1afed49 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcvt.dump @@ -0,0 +1,159 @@ + +rv32uf-p-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052683 lw a3,0(a0) +80000118: 00200513 li a0,2 +8000011c: d0057053 fcvt.s.w ft0,a0 +80000120: 00101073 fsflags zero +80000124: e0000553 fmv.x.w a0,ft0 +80000128: 06d51a63 bne a0,a3,8000019c <fail> + +8000012c <test_3>: +8000012c: 00300193 li gp,3 +80000130: 00002517 auipc a0,0x2 +80000134: ed450513 addi a0,a0,-300 # 80002004 <test_3_data> +80000138: 00052683 lw a3,0(a0) +8000013c: ffe00513 li a0,-2 +80000140: d0057053 fcvt.s.w ft0,a0 +80000144: 00101073 fsflags zero +80000148: e0000553 fmv.x.w a0,ft0 +8000014c: 04d51863 bne a0,a3,8000019c <fail> + +80000150 <test_4>: +80000150: 00400193 li gp,4 +80000154: 00002517 auipc a0,0x2 +80000158: eb450513 addi a0,a0,-332 # 80002008 <test_4_data> +8000015c: 00052683 lw a3,0(a0) +80000160: 00200513 li a0,2 +80000164: d0157053 fcvt.s.wu ft0,a0 +80000168: 00101073 fsflags zero +8000016c: e0000553 fmv.x.w a0,ft0 +80000170: 02d51663 bne a0,a3,8000019c <fail> + +80000174 <test_5>: +80000174: 00500193 li gp,5 +80000178: 00002517 auipc a0,0x2 +8000017c: e9450513 addi a0,a0,-364 # 8000200c <test_5_data> +80000180: 00052683 lw a3,0(a0) +80000184: ffe00513 li a0,-2 +80000188: d0157053 fcvt.s.wu ft0,a0 +8000018c: 00101073 fsflags zero +80000190: e0000553 fmv.x.w a0,ft0 +80000194: 00d51463 bne a0,a3,8000019c <fail> +80000198: 00301c63 bne zero,gp,800001b0 <pass> + +8000019c <fail>: +8000019c: 0ff0000f fence +800001a0: 00018063 beqz gp,800001a0 <fail+0x4> +800001a4: 00119193 slli gp,gp,0x1 +800001a8: 0011e193 ori gp,gp,1 +800001ac: 00000073 ecall + +800001b0 <pass>: +800001b0: 0ff0000f fence +800001b4: 00100193 li gp,1 +800001b8: 00000073 ecall +800001bc: c0001073 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4000 lw s0,0(s0) + +80002004 <test_3_data>: +80002004: 0000 unimp +80002006: c000 sw s0,0(s0) + +80002008 <test_4_data>: +80002008: 0000 unimp +8000200a: 4000 lw s0,0(s0) + +8000200c <test_5_data>: +8000200c: 0000 unimp +8000200e: 4f80 lw s0,24(a5) diff --git a/test/riscv-tests/rv32uf-p-fcvt.elf b/test/riscv-tests/rv32uf-p-fcvt.elf Binary files differnew file mode 100644 index 0000000..da776a2 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcvt.elf diff --git a/test/riscv-tests/rv32uf-p-fcvt_w.dump b/test/riscv-tests/rv32uf-p-fcvt_w.dump new file mode 100644 index 0000000..728571c --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcvt_w.dump @@ -0,0 +1,604 @@ + +rv32uf-p-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: c0001553 fcvt.w.s a0,ft0,rtz +80000128: 001015f3 fsflags a1,zero +8000012c: 00100613 li a2,1 +80000130: 3cd51463 bne a0,a3,800004f8 <fail> +80000134: 3cc59263 bne a1,a2,800004f8 <fail> + +80000138 <test_3>: +80000138: 00300193 li gp,3 +8000013c: 00002517 auipc a0,0x2 +80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data> +80000144: 00052007 flw ft0,0(a0) +80000148: 00452087 flw ft1,4(a0) +8000014c: 00852107 flw ft2,8(a0) +80000150: 00c52683 lw a3,12(a0) +80000154: c0001553 fcvt.w.s a0,ft0,rtz +80000158: 001015f3 fsflags a1,zero +8000015c: 00000613 li a2,0 +80000160: 38d51c63 bne a0,a3,800004f8 <fail> +80000164: 38c59a63 bne a1,a2,800004f8 <fail> + +80000168 <test_4>: +80000168: 00400193 li gp,4 +8000016c: 00002517 auipc a0,0x2 +80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data> +80000174: 00052007 flw ft0,0(a0) +80000178: 00452087 flw ft1,4(a0) +8000017c: 00852107 flw ft2,8(a0) +80000180: 00c52683 lw a3,12(a0) +80000184: c0001553 fcvt.w.s a0,ft0,rtz +80000188: 001015f3 fsflags a1,zero +8000018c: 00100613 li a2,1 +80000190: 36d51463 bne a0,a3,800004f8 <fail> +80000194: 36c59263 bne a1,a2,800004f8 <fail> + +80000198 <test_5>: +80000198: 00500193 li gp,5 +8000019c: 00002517 auipc a0,0x2 +800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data> +800001a4: 00052007 flw ft0,0(a0) +800001a8: 00452087 flw ft1,4(a0) +800001ac: 00852107 flw ft2,8(a0) +800001b0: 00c52683 lw a3,12(a0) +800001b4: c0001553 fcvt.w.s a0,ft0,rtz +800001b8: 001015f3 fsflags a1,zero +800001bc: 00100613 li a2,1 +800001c0: 32d51c63 bne a0,a3,800004f8 <fail> +800001c4: 32c59a63 bne a1,a2,800004f8 <fail> + +800001c8 <test_6>: +800001c8: 00600193 li gp,6 +800001cc: 00002517 auipc a0,0x2 +800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data> +800001d4: 00052007 flw ft0,0(a0) +800001d8: 00452087 flw ft1,4(a0) +800001dc: 00852107 flw ft2,8(a0) +800001e0: 00c52683 lw a3,12(a0) +800001e4: c0001553 fcvt.w.s a0,ft0,rtz +800001e8: 001015f3 fsflags a1,zero +800001ec: 00000613 li a2,0 +800001f0: 30d51463 bne a0,a3,800004f8 <fail> +800001f4: 30c59263 bne a1,a2,800004f8 <fail> + +800001f8 <test_7>: +800001f8: 00700193 li gp,7 +800001fc: 00002517 auipc a0,0x2 +80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data> +80000204: 00052007 flw ft0,0(a0) +80000208: 00452087 flw ft1,4(a0) +8000020c: 00852107 flw ft2,8(a0) +80000210: 00c52683 lw a3,12(a0) +80000214: c0001553 fcvt.w.s a0,ft0,rtz +80000218: 001015f3 fsflags a1,zero +8000021c: 00100613 li a2,1 +80000220: 2cd51c63 bne a0,a3,800004f8 <fail> +80000224: 2cc59a63 bne a1,a2,800004f8 <fail> + +80000228 <test_8>: +80000228: 00800193 li gp,8 +8000022c: 00002517 auipc a0,0x2 +80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data> +80000234: 00052007 flw ft0,0(a0) +80000238: 00452087 flw ft1,4(a0) +8000023c: 00852107 flw ft2,8(a0) +80000240: 00c52683 lw a3,12(a0) +80000244: c0001553 fcvt.w.s a0,ft0,rtz +80000248: 001015f3 fsflags a1,zero +8000024c: 01000613 li a2,16 +80000250: 2ad51463 bne a0,a3,800004f8 <fail> +80000254: 2ac59263 bne a1,a2,800004f8 <fail> + +80000258 <test_9>: +80000258: 00900193 li gp,9 +8000025c: 00002517 auipc a0,0x2 +80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: c0001553 fcvt.w.s a0,ft0,rtz +80000278: 001015f3 fsflags a1,zero +8000027c: 01000613 li a2,16 +80000280: 26d51c63 bne a0,a3,800004f8 <fail> +80000284: 26c59a63 bne a1,a2,800004f8 <fail> + +80000288 <test_12>: +80000288: 00c00193 li gp,12 +8000028c: 00002517 auipc a0,0x2 +80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data> +80000294: 00052007 flw ft0,0(a0) +80000298: 00452087 flw ft1,4(a0) +8000029c: 00852107 flw ft2,8(a0) +800002a0: 00c52683 lw a3,12(a0) +800002a4: c0101553 fcvt.wu.s a0,ft0,rtz +800002a8: 001015f3 fsflags a1,zero +800002ac: 01000613 li a2,16 +800002b0: 24d51463 bne a0,a3,800004f8 <fail> +800002b4: 24c59263 bne a1,a2,800004f8 <fail> + +800002b8 <test_13>: +800002b8: 00d00193 li gp,13 +800002bc: 00002517 auipc a0,0x2 +800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data> +800002c4: 00052007 flw ft0,0(a0) +800002c8: 00452087 flw ft1,4(a0) +800002cc: 00852107 flw ft2,8(a0) +800002d0: 00c52683 lw a3,12(a0) +800002d4: c0101553 fcvt.wu.s a0,ft0,rtz +800002d8: 001015f3 fsflags a1,zero +800002dc: 01000613 li a2,16 +800002e0: 20d51c63 bne a0,a3,800004f8 <fail> +800002e4: 20c59a63 bne a1,a2,800004f8 <fail> + +800002e8 <test_14>: +800002e8: 00e00193 li gp,14 +800002ec: 00002517 auipc a0,0x2 +800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data> +800002f4: 00052007 flw ft0,0(a0) +800002f8: 00452087 flw ft1,4(a0) +800002fc: 00852107 flw ft2,8(a0) +80000300: 00c52683 lw a3,12(a0) +80000304: c0101553 fcvt.wu.s a0,ft0,rtz +80000308: 001015f3 fsflags a1,zero +8000030c: 00100613 li a2,1 +80000310: 1ed51463 bne a0,a3,800004f8 <fail> +80000314: 1ec59263 bne a1,a2,800004f8 <fail> + +80000318 <test_15>: +80000318: 00f00193 li gp,15 +8000031c: 00002517 auipc a0,0x2 +80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data> +80000324: 00052007 flw ft0,0(a0) +80000328: 00452087 flw ft1,4(a0) +8000032c: 00852107 flw ft2,8(a0) +80000330: 00c52683 lw a3,12(a0) +80000334: c0101553 fcvt.wu.s a0,ft0,rtz +80000338: 001015f3 fsflags a1,zero +8000033c: 00100613 li a2,1 +80000340: 1ad51c63 bne a0,a3,800004f8 <fail> +80000344: 1ac59a63 bne a1,a2,800004f8 <fail> + +80000348 <test_16>: +80000348: 01000193 li gp,16 +8000034c: 00002517 auipc a0,0x2 +80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data> +80000354: 00052007 flw ft0,0(a0) +80000358: 00452087 flw ft1,4(a0) +8000035c: 00852107 flw ft2,8(a0) +80000360: 00c52683 lw a3,12(a0) +80000364: c0101553 fcvt.wu.s a0,ft0,rtz +80000368: 001015f3 fsflags a1,zero +8000036c: 00000613 li a2,0 +80000370: 18d51463 bne a0,a3,800004f8 <fail> +80000374: 18c59263 bne a1,a2,800004f8 <fail> + +80000378 <test_17>: +80000378: 01100193 li gp,17 +8000037c: 00002517 auipc a0,0x2 +80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data> +80000384: 00052007 flw ft0,0(a0) +80000388: 00452087 flw ft1,4(a0) +8000038c: 00852107 flw ft2,8(a0) +80000390: 00c52683 lw a3,12(a0) +80000394: c0101553 fcvt.wu.s a0,ft0,rtz +80000398: 001015f3 fsflags a1,zero +8000039c: 00100613 li a2,1 +800003a0: 14d51c63 bne a0,a3,800004f8 <fail> +800003a4: 14c59a63 bne a1,a2,800004f8 <fail> + +800003a8 <test_18>: +800003a8: 01200193 li gp,18 +800003ac: 00002517 auipc a0,0x2 +800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data> +800003b4: 00052007 flw ft0,0(a0) +800003b8: 00452087 flw ft1,4(a0) +800003bc: 00852107 flw ft2,8(a0) +800003c0: 00c52683 lw a3,12(a0) +800003c4: c0101553 fcvt.wu.s a0,ft0,rtz +800003c8: 001015f3 fsflags a1,zero +800003cc: 01000613 li a2,16 +800003d0: 12d51463 bne a0,a3,800004f8 <fail> +800003d4: 12c59263 bne a1,a2,800004f8 <fail> + +800003d8 <test_19>: +800003d8: 01300193 li gp,19 +800003dc: 00002517 auipc a0,0x2 +800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data> +800003e4: 00052007 flw ft0,0(a0) +800003e8: 00452087 flw ft1,4(a0) +800003ec: 00852107 flw ft2,8(a0) +800003f0: 00c52683 lw a3,12(a0) +800003f4: c0101553 fcvt.wu.s a0,ft0,rtz +800003f8: 001015f3 fsflags a1,zero +800003fc: 00000613 li a2,0 +80000400: 0ed51c63 bne a0,a3,800004f8 <fail> +80000404: 0ec59a63 bne a1,a2,800004f8 <fail> + +80000408 <test_42>: +80000408: 00002097 auipc ra,0x2 +8000040c: cf808093 addi ra,ra,-776 # 80002100 <begin_signature> +80000410: 0000a087 flw ft1,0(ra) +80000414: c000f0d3 fcvt.w.s ra,ft1 +80000418: 80000eb7 lui t4,0x80000 +8000041c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +80000420: 02a00193 li gp,42 +80000424: 0dd09a63 bne ra,t4,800004f8 <fail> + +80000428 <test_44>: +80000428: 00002097 auipc ra,0x2 +8000042c: cd808093 addi ra,ra,-808 # 80002100 <begin_signature> +80000430: 0080a087 flw ft1,8(ra) +80000434: c000f0d3 fcvt.w.s ra,ft1 +80000438: 80000eb7 lui t4,0x80000 +8000043c: 02c00193 li gp,44 +80000440: 0bd09c63 bne ra,t4,800004f8 <fail> + +80000444 <test_52>: +80000444: 00002097 auipc ra,0x2 +80000448: cbc08093 addi ra,ra,-836 # 80002100 <begin_signature> +8000044c: 0040a087 flw ft1,4(ra) +80000450: c000f0d3 fcvt.w.s ra,ft1 +80000454: 80000eb7 lui t4,0x80000 +80000458: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +8000045c: 03400193 li gp,52 +80000460: 09d09c63 bne ra,t4,800004f8 <fail> + +80000464 <test_54>: +80000464: 00002097 auipc ra,0x2 +80000468: c9c08093 addi ra,ra,-868 # 80002100 <begin_signature> +8000046c: 00c0a087 flw ft1,12(ra) +80000470: c000f0d3 fcvt.w.s ra,ft1 +80000474: 80000eb7 lui t4,0x80000 +80000478: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf> +8000047c: 03600193 li gp,54 +80000480: 07d09c63 bne ra,t4,800004f8 <fail> + +80000484 <test_62>: +80000484: 00002097 auipc ra,0x2 +80000488: c7c08093 addi ra,ra,-900 # 80002100 <begin_signature> +8000048c: 0000a087 flw ft1,0(ra) +80000490: c010f0d3 fcvt.wu.s ra,ft1 +80000494: fff00e93 li t4,-1 +80000498: 03e00193 li gp,62 +8000049c: 05d09e63 bne ra,t4,800004f8 <fail> + +800004a0 <test_63>: +800004a0: 00002097 auipc ra,0x2 +800004a4: c6008093 addi ra,ra,-928 # 80002100 <begin_signature> +800004a8: 0040a087 flw ft1,4(ra) +800004ac: c010f0d3 fcvt.wu.s ra,ft1 +800004b0: fff00e93 li t4,-1 +800004b4: 03f00193 li gp,63 +800004b8: 05d09063 bne ra,t4,800004f8 <fail> + +800004bc <test_64>: +800004bc: 00002097 auipc ra,0x2 +800004c0: c4408093 addi ra,ra,-956 # 80002100 <begin_signature> +800004c4: 0080a087 flw ft1,8(ra) +800004c8: c010f0d3 fcvt.wu.s ra,ft1 +800004cc: 00000e93 li t4,0 +800004d0: 04000193 li gp,64 +800004d4: 03d09263 bne ra,t4,800004f8 <fail> + +800004d8 <test_65>: +800004d8: 00002097 auipc ra,0x2 +800004dc: c2808093 addi ra,ra,-984 # 80002100 <begin_signature> +800004e0: 00c0a087 flw ft1,12(ra) +800004e4: c010f0d3 fcvt.wu.s ra,ft1 +800004e8: fff00e93 li t4,-1 +800004ec: 04100193 li gp,65 +800004f0: 01d09463 bne ra,t4,800004f8 <fail> +800004f4: 00301c63 bne zero,gp,8000050c <pass> + +800004f8 <fail>: +800004f8: 0ff0000f fence +800004fc: 00018063 beqz gp,800004fc <fail+0x4> +80000500: 00119193 slli gp,gp,0x1 +80000504: 0011e193 ori gp,gp,1 +80000508: 00000073 ecall + +8000050c <pass>: +8000050c: 0ff0000f fence +80000510: 00100193 li gp,1 +80000514: 00000073 ecall +80000518: c0001073 unimp +8000051c: 0000 unimp +8000051e: 0000 unimp +80000520: 0000 unimp +80000522: 0000 unimp +80000524: 0000 unimp +80000526: 0000 unimp +80000528: 0000 unimp +8000052a: 0000 unimp +8000052c: 0000 unimp +8000052e: 0000 unimp +80000530: 0000 unimp +80000532: 0000 unimp +80000534: 0000 unimp +80000536: 0000 unimp +80000538: 0000 unimp +8000053a: 0000 unimp +8000053c: 0000 unimp +8000053e: 0000 unimp +80000540: 0000 unimp +80000542: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: cccd beqz s1,800020ba <test_15_data+0xa> +80002002: bf8c fsd fa1,56(a5) +80002004: 0000 unimp +80002006: 0000 unimp +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: ffff 0xffff +8000200e: ffff 0xffff + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: ffff 0xffff +8000201e: ffff 0xffff + +80002020 <test_4_data>: +80002020: 6666 flw fa2,88(sp) +80002022: bf66 fsd fs9,440(sp) +80002024: 0000 unimp +80002026: 0000 unimp +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 6666 flw fa2,88(sp) +80002032: 3f66 fld ft10,120(sp) +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: 3f80 fld fs0,56(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: cccd beqz s1,8000210a <begin_signature+0xa> +80002052: 3f8c fld fa1,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: d05e sw s7,32(sp) +80002062: cf32 sw a2,156(sp) +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 8000 0x8000 + +80002070 <test_9_data>: +80002070: d05e sw s7,32(sp) +80002072: 4f32 lw t5,12(sp) +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: ffff 0xffff +8000207e: 7fff 0x7fff + +80002080 <test_12_data>: +80002080: 0000 unimp +80002082: c040 sw s0,4(s0) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_13_data>: +80002090: 0000 unimp +80002092: bf80 fsd fs0,56(a5) +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_14_data>: +800020a0: 6666 flw fa2,88(sp) +800020a2: bf66 fsd fs9,440(sp) +800020a4: 0000 unimp +800020a6: 0000 unimp +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_15_data>: +800020b0: 6666 flw fa2,88(sp) +800020b2: 3f66 fld ft10,120(sp) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_16_data>: +800020c0: 0000 unimp +800020c2: 3f80 fld fs0,56(a5) +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0001 nop +800020ce: 0000 unimp + +800020d0 <test_17_data>: +800020d0: cccd beqz s1,8000218a <_end+0x5a> +800020d2: 3f8c fld fa1,56(a5) +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0001 nop +800020de: 0000 unimp + +800020e0 <test_18_data>: +800020e0: d05e sw s7,32(sp) +800020e2: cf32 sw a2,156(sp) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp + +800020f0 <test_19_data>: +800020f0: d05e sw s7,32(sp) +800020f2: 4f32 lw t5,12(sp) +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 5e00 lw s0,56(a2) +800020fe: b2d0 fsd fa2,160(a3) + +80002100 <begin_signature>: +80002100: ffff 0xffff +80002102: ffff 0xffff +80002104: ffff 0xffff +80002106: 7fff 0x7fff +80002108: 0000 unimp +8000210a: ff80 fsw fs0,56(a5) +8000210c: 0000 unimp +8000210e: 7f80 flw fs0,56(a5) + +80002110 <tdat_d>: +80002110: ffff 0xffff +80002112: ffff 0xffff +80002114: ffff 0xffff +80002116: ffff 0xffff +80002118: ffff 0xffff +8000211a: ffff 0xffff +8000211c: ffff 0xffff +8000211e: 7fff 0x7fff +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: fff0 fsw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) diff --git a/test/riscv-tests/rv32uf-p-fcvt_w.elf b/test/riscv-tests/rv32uf-p-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..05dc1ab --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fcvt_w.elf diff --git a/test/riscv-tests/rv32uf-p-fdiv.dump b/test/riscv-tests/rv32uf-p-fdiv.dump new file mode 100644 index 0000000..1f44e60 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fdiv.dump @@ -0,0 +1,294 @@ + +rv32uf-p-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: 181071d3 fdiv.s ft3,ft0,ft1 +80000128: e0018553 fmv.x.w a0,ft3 +8000012c: 001015f3 fsflags a1,zero +80000130: 00100613 li a2,1 +80000134: 14d51263 bne a0,a3,80000278 <fail> +80000138: 14c59063 bne a1,a2,80000278 <fail> + +8000013c <test_3>: +8000013c: 00300193 li gp,3 +80000140: 00002517 auipc a0,0x2 +80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> +80000148: 00052007 flw ft0,0(a0) +8000014c: 00452087 flw ft1,4(a0) +80000150: 00852107 flw ft2,8(a0) +80000154: 00c52683 lw a3,12(a0) +80000158: 181071d3 fdiv.s ft3,ft0,ft1 +8000015c: e0018553 fmv.x.w a0,ft3 +80000160: 001015f3 fsflags a1,zero +80000164: 00100613 li a2,1 +80000168: 10d51863 bne a0,a3,80000278 <fail> +8000016c: 10c59663 bne a1,a2,80000278 <fail> + +80000170 <test_4>: +80000170: 00400193 li gp,4 +80000174: 00002517 auipc a0,0x2 +80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> +8000017c: 00052007 flw ft0,0(a0) +80000180: 00452087 flw ft1,4(a0) +80000184: 00852107 flw ft2,8(a0) +80000188: 00c52683 lw a3,12(a0) +8000018c: 181071d3 fdiv.s ft3,ft0,ft1 +80000190: e0018553 fmv.x.w a0,ft3 +80000194: 001015f3 fsflags a1,zero +80000198: 00000613 li a2,0 +8000019c: 0cd51e63 bne a0,a3,80000278 <fail> +800001a0: 0cc59c63 bne a1,a2,80000278 <fail> + +800001a4 <test_5>: +800001a4: 00500193 li gp,5 +800001a8: 00002517 auipc a0,0x2 +800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> +800001b0: 00052007 flw ft0,0(a0) +800001b4: 00452087 flw ft1,4(a0) +800001b8: 00852107 flw ft2,8(a0) +800001bc: 00c52683 lw a3,12(a0) +800001c0: 580071d3 fsqrt.s ft3,ft0 +800001c4: e0018553 fmv.x.w a0,ft3 +800001c8: 001015f3 fsflags a1,zero +800001cc: 00100613 li a2,1 +800001d0: 0ad51463 bne a0,a3,80000278 <fail> +800001d4: 0ac59263 bne a1,a2,80000278 <fail> + +800001d8 <test_6>: +800001d8: 00600193 li gp,6 +800001dc: 00002517 auipc a0,0x2 +800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> +800001e4: 00052007 flw ft0,0(a0) +800001e8: 00452087 flw ft1,4(a0) +800001ec: 00852107 flw ft2,8(a0) +800001f0: 00c52683 lw a3,12(a0) +800001f4: 580071d3 fsqrt.s ft3,ft0 +800001f8: e0018553 fmv.x.w a0,ft3 +800001fc: 001015f3 fsflags a1,zero +80000200: 00000613 li a2,0 +80000204: 06d51a63 bne a0,a3,80000278 <fail> +80000208: 06c59863 bne a1,a2,80000278 <fail> + +8000020c <test_7>: +8000020c: 00700193 li gp,7 +80000210: 00002517 auipc a0,0x2 +80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> +80000218: 00052007 flw ft0,0(a0) +8000021c: 00452087 flw ft1,4(a0) +80000220: 00852107 flw ft2,8(a0) +80000224: 00c52683 lw a3,12(a0) +80000228: 580071d3 fsqrt.s ft3,ft0 +8000022c: e0018553 fmv.x.w a0,ft3 +80000230: 001015f3 fsflags a1,zero +80000234: 01000613 li a2,16 +80000238: 04d51063 bne a0,a3,80000278 <fail> +8000023c: 02c59e63 bne a1,a2,80000278 <fail> + +80000240 <test_8>: +80000240: 00800193 li gp,8 +80000244: 00002517 auipc a0,0x2 +80000248: e2050513 addi a0,a0,-480 # 80002064 <test_8_data> +8000024c: 00052007 flw ft0,0(a0) +80000250: 00452087 flw ft1,4(a0) +80000254: 00852107 flw ft2,8(a0) +80000258: 00c52683 lw a3,12(a0) +8000025c: 580071d3 fsqrt.s ft3,ft0 +80000260: e0018553 fmv.x.w a0,ft3 +80000264: 001015f3 fsflags a1,zero +80000268: 00100613 li a2,1 +8000026c: 00d51663 bne a0,a3,80000278 <fail> +80000270: 00c59463 bne a1,a2,80000278 <fail> +80000274: 00301c63 bne zero,gp,8000028c <pass> + +80000278 <fail>: +80000278: 0ff0000f fence +8000027c: 00018063 beqz gp,8000027c <fail+0x4> +80000280: 00119193 slli gp,gp,0x1 +80000284: 0011e193 ori gp,gp,1 +80000288: 00000073 ecall + +8000028c <pass>: +8000028c: 0ff0000f fence +80000290: 00100193 li gp,1 +80000294: 00000073 ecall +80000298: c0001073 unimp +8000029c: 0000 unimp +8000029e: 0000 unimp +800002a0: 0000 unimp +800002a2: 0000 unimp +800002a4: 0000 unimp +800002a6: 0000 unimp +800002a8: 0000 unimp +800002aa: 0000 unimp +800002ac: 0000 unimp +800002ae: 0000 unimp +800002b0: 0000 unimp +800002b2: 0000 unimp +800002b4: 0000 unimp +800002b6: 0000 unimp +800002b8: 0000 unimp +800002ba: 0000 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 40490fdb 0x40490fdb +80002004: f854 fsw fa3,52(s0) +80002006: 402d c.li zero,11 +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: eee0 fsw fs0,92(a3) +8000200e: sltiu t6,zero,1024 + +80002010 <test_3_data>: +80002010: 4000 lw s0,0(s0) +80002012: c49a sw t1,72(sp) +80002014: 449a6333 0x449a6333 +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: c5a2 sw s0,200(sp) +8000201e: bf7f 0xbf7f + +80002020 <test_4_data>: +80002020: 40490fdb 0x40490fdb +80002024: 0000 unimp +80002026: 3f80 fld fs0,56(a5) +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 40490fdb 0x40490fdb + +80002030 <test_5_data>: +80002030: 40490fdb 0x40490fdb +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: dfc5 beqz a5,80001ff4 <fromhost+0xfb4> +8000203e: 3fe2 fld ft11,56(sp) + +80002040 <test_6_data>: +80002040: 4000 lw s0,0(s0) +80002042: 461c lw a5,8(a2) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 42c8 lw a0,4(a3) + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: bf80 fsd fs0,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 7fc0 flw fs0,60(a5) +80002060: 0000 unimp +80002062: 0000 unimp + +80002064 <test_8_data>: +80002064: 0000 unimp +80002066: 0000432b 0x432b +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp +80002070: 3a26 fld fs4,104(sp) +80002072: 4151 li sp,20 +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp diff --git a/test/riscv-tests/rv32uf-p-fdiv.elf b/test/riscv-tests/rv32uf-p-fdiv.elf Binary files differnew file mode 100644 index 0000000..4812852 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fdiv.elf diff --git a/test/riscv-tests/rv32uf-p-fmadd.dump b/test/riscv-tests/rv32uf-p-fmadd.dump new file mode 100644 index 0000000..fd13da7 --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fmadd.dump @@ -0,0 +1,411 @@ + +rv32uf-p-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80000128: e0018553 fmv.x.w a0,ft3 +8000012c: 001015f3 fsflags a1,zero +80000130: 00000613 li a2,0 +80000134: 24d51463 bne a0,a3,8000037c <fail> +80000138: 24c59263 bne a1,a2,8000037c <fail> + +8000013c <test_3>: +8000013c: 00300193 li gp,3 +80000140: 00002517 auipc a0,0x2 +80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> +80000148: 00052007 flw ft0,0(a0) +8000014c: 00452087 flw ft1,4(a0) +80000150: 00852107 flw ft2,8(a0) +80000154: 00c52683 lw a3,12(a0) +80000158: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +8000015c: e0018553 fmv.x.w a0,ft3 +80000160: 001015f3 fsflags a1,zero +80000164: 00100613 li a2,1 +80000168: 20d51a63 bne a0,a3,8000037c <fail> +8000016c: 20c59863 bne a1,a2,8000037c <fail> + +80000170 <test_4>: +80000170: 00400193 li gp,4 +80000174: 00002517 auipc a0,0x2 +80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> +8000017c: 00052007 flw ft0,0(a0) +80000180: 00452087 flw ft1,4(a0) +80000184: 00852107 flw ft2,8(a0) +80000188: 00c52683 lw a3,12(a0) +8000018c: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80000190: e0018553 fmv.x.w a0,ft3 +80000194: 001015f3 fsflags a1,zero +80000198: 00000613 li a2,0 +8000019c: 1ed51063 bne a0,a3,8000037c <fail> +800001a0: 1cc59e63 bne a1,a2,8000037c <fail> + +800001a4 <test_5>: +800001a4: 00500193 li gp,5 +800001a8: 00002517 auipc a0,0x2 +800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> +800001b0: 00052007 flw ft0,0(a0) +800001b4: 00452087 flw ft1,4(a0) +800001b8: 00852107 flw ft2,8(a0) +800001bc: 00c52683 lw a3,12(a0) +800001c0: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +800001c4: e0018553 fmv.x.w a0,ft3 +800001c8: 001015f3 fsflags a1,zero +800001cc: 00000613 li a2,0 +800001d0: 1ad51663 bne a0,a3,8000037c <fail> +800001d4: 1ac59463 bne a1,a2,8000037c <fail> + +800001d8 <test_6>: +800001d8: 00600193 li gp,6 +800001dc: 00002517 auipc a0,0x2 +800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> +800001e4: 00052007 flw ft0,0(a0) +800001e8: 00452087 flw ft1,4(a0) +800001ec: 00852107 flw ft2,8(a0) +800001f0: 00c52683 lw a3,12(a0) +800001f4: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +800001f8: e0018553 fmv.x.w a0,ft3 +800001fc: 001015f3 fsflags a1,zero +80000200: 00100613 li a2,1 +80000204: 16d51c63 bne a0,a3,8000037c <fail> +80000208: 16c59a63 bne a1,a2,8000037c <fail> + +8000020c <test_7>: +8000020c: 00700193 li gp,7 +80000210: 00002517 auipc a0,0x2 +80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> +80000218: 00052007 flw ft0,0(a0) +8000021c: 00452087 flw ft1,4(a0) +80000220: 00852107 flw ft2,8(a0) +80000224: 00c52683 lw a3,12(a0) +80000228: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +8000022c: e0018553 fmv.x.w a0,ft3 +80000230: 001015f3 fsflags a1,zero +80000234: 00000613 li a2,0 +80000238: 14d51263 bne a0,a3,8000037c <fail> +8000023c: 14c59063 bne a1,a2,8000037c <fail> + +80000240 <test_8>: +80000240: 00800193 li gp,8 +80000244: 00002517 auipc a0,0x2 +80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data> +8000024c: 00052007 flw ft0,0(a0) +80000250: 00452087 flw ft1,4(a0) +80000254: 00852107 flw ft2,8(a0) +80000258: 00c52683 lw a3,12(a0) +8000025c: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80000260: e0018553 fmv.x.w a0,ft3 +80000264: 001015f3 fsflags a1,zero +80000268: 00000613 li a2,0 +8000026c: 10d51863 bne a0,a3,8000037c <fail> +80000270: 10c59663 bne a1,a2,8000037c <fail> + +80000274 <test_9>: +80000274: 00900193 li gp,9 +80000278: 00002517 auipc a0,0x2 +8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data> +80000280: 00052007 flw ft0,0(a0) +80000284: 00452087 flw ft1,4(a0) +80000288: 00852107 flw ft2,8(a0) +8000028c: 00c52683 lw a3,12(a0) +80000290: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80000294: e0018553 fmv.x.w a0,ft3 +80000298: 001015f3 fsflags a1,zero +8000029c: 00100613 li a2,1 +800002a0: 0cd51e63 bne a0,a3,8000037c <fail> +800002a4: 0cc59c63 bne a1,a2,8000037c <fail> + +800002a8 <test_10>: +800002a8: 00a00193 li gp,10 +800002ac: 00002517 auipc a0,0x2 +800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +800002c8: e0018553 fmv.x.w a0,ft3 +800002cc: 001015f3 fsflags a1,zero +800002d0: 00000613 li a2,0 +800002d4: 0ad51463 bne a0,a3,8000037c <fail> +800002d8: 0ac59263 bne a1,a2,8000037c <fail> + +800002dc <test_11>: +800002dc: 00b00193 li gp,11 +800002e0: 00002517 auipc a0,0x2 +800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data> +800002e8: 00052007 flw ft0,0(a0) +800002ec: 00452087 flw ft1,4(a0) +800002f0: 00852107 flw ft2,8(a0) +800002f4: 00c52683 lw a3,12(a0) +800002f8: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +800002fc: e0018553 fmv.x.w a0,ft3 +80000300: 001015f3 fsflags a1,zero +80000304: 00000613 li a2,0 +80000308: 06d51a63 bne a0,a3,8000037c <fail> +8000030c: 06c59863 bne a1,a2,8000037c <fail> + +80000310 <test_12>: +80000310: 00c00193 li gp,12 +80000314: 00002517 auipc a0,0x2 +80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_12_data> +8000031c: 00052007 flw ft0,0(a0) +80000320: 00452087 flw ft1,4(a0) +80000324: 00852107 flw ft2,8(a0) +80000328: 00c52683 lw a3,12(a0) +8000032c: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +80000330: e0018553 fmv.x.w a0,ft3 +80000334: 001015f3 fsflags a1,zero +80000338: 00100613 li a2,1 +8000033c: 04d51063 bne a0,a3,8000037c <fail> +80000340: 02c59e63 bne a1,a2,8000037c <fail> + +80000344 <test_13>: +80000344: 00d00193 li gp,13 +80000348: 00002517 auipc a0,0x2 +8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_13_data> +80000350: 00052007 flw ft0,0(a0) +80000354: 00452087 flw ft1,4(a0) +80000358: 00852107 flw ft2,8(a0) +8000035c: 00c52683 lw a3,12(a0) +80000360: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +80000364: e0018553 fmv.x.w a0,ft3 +80000368: 001015f3 fsflags a1,zero +8000036c: 00000613 li a2,0 +80000370: 00d51663 bne a0,a3,8000037c <fail> +80000374: 00c59463 bne a1,a2,8000037c <fail> +80000378: 00301c63 bne zero,gp,80000390 <pass> + +8000037c <fail>: +8000037c: 0ff0000f fence +80000380: 00018063 beqz gp,80000380 <fail+0x4> +80000384: 00119193 slli gp,gp,0x1 +80000388: 0011e193 ori gp,gp,1 +8000038c: 00000073 ecall + +80000390 <pass>: +80000390: 0ff0000f fence +80000394: 00100193 li gp,1 +80000398: 00000073 ecall +8000039c: c0001073 unimp +800003a0: 0000 unimp +800003a2: 0000 unimp +800003a4: 0000 unimp +800003a6: 0000 unimp +800003a8: 0000 unimp +800003aa: 0000 unimp +800003ac: 0000 unimp +800003ae: 0000 unimp +800003b0: 0000 unimp +800003b2: 0000 unimp +800003b4: 0000 unimp +800003b6: 0000 unimp +800003b8: 0000 unimp +800003ba: 0000 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 3f80 fld fs0,56(a5) +80002004: 0000 unimp +80002006: 4020 lw s0,64(s0) +80002008: 0000 unimp +8000200a: 3f80 fld fs0,56(a5) +8000200c: 0000 unimp +8000200e: 4060 lw s0,68(s0) + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: c49a6333 0xc49a6333 +80002018: cccd beqz s1,800020d2 <_end+0x12> +8000201a: 3f8c fld fa1,56(a5) +8000201c: 8666 mv a2,s9 +8000201e: 449a lw s1,132(sp) + +80002020 <test_4_data>: +80002020: 0000 unimp +80002022: 4000 lw s0,0(s0) +80002024: 0000 unimp +80002026: c0a0 sw s0,64(s1) +80002028: 0000 unimp +8000202a: c000 sw s0,0(s0) +8000202c: 0000 unimp +8000202e: c140 sw s0,4(a0) + +80002030 <test_5_data>: +80002030: 0000 unimp +80002032: 3f80 fld fs0,56(a5) +80002034: 0000 unimp +80002036: 4020 lw s0,64(s0) +80002038: 0000 unimp +8000203a: 3f80 fld fs0,56(a5) +8000203c: 0000 unimp +8000203e: c060 sw s0,68(s0) + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: bf80 fsd fs0,56(a5) +80002044: c49a6333 0xc49a6333 +80002048: cccd beqz s1,80002102 <_end+0x42> +8000204a: 3f8c fld fa1,56(a5) +8000204c: 8666 mv a2,s9 +8000204e: c49a sw t1,72(sp) + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: 4000 lw s0,0(s0) +80002054: 0000 unimp +80002056: c0a0 sw s0,64(s1) +80002058: 0000 unimp +8000205a: c000 sw s0,0(s0) +8000205c: 0000 unimp +8000205e: 4140 lw s0,4(a0) + +80002060 <test_8_data>: +80002060: 0000 unimp +80002062: 3f80 fld fs0,56(a5) +80002064: 0000 unimp +80002066: 4020 lw s0,64(s0) +80002068: 0000 unimp +8000206a: 3f80 fld fs0,56(a5) +8000206c: 0000 unimp +8000206e: 3fc0 fld fs0,184(a5) + +80002070 <test_9_data>: +80002070: 0000 unimp +80002072: bf80 fsd fs0,56(a5) +80002074: c49a6333 0xc49a6333 +80002078: cccd beqz s1,80002132 <_end+0x72> +8000207a: 3f8c fld fa1,56(a5) +8000207c: 4000 lw s0,0(s0) +8000207e: 449a lw s1,132(sp) + +80002080 <test_10_data>: +80002080: 0000 unimp +80002082: 4000 lw s0,0(s0) +80002084: 0000 unimp +80002086: c0a0 sw s0,64(s1) +80002088: 0000 unimp +8000208a: c000 sw s0,0(s0) +8000208c: 0000 unimp +8000208e: c100 sw s0,0(a0) + +80002090 <test_11_data>: +80002090: 0000 unimp +80002092: 3f80 fld fs0,56(a5) +80002094: 0000 unimp +80002096: 4020 lw s0,64(s0) +80002098: 0000 unimp +8000209a: 3f80 fld fs0,56(a5) +8000209c: 0000 unimp +8000209e: bfc0 fsd fs0,184(a5) + +800020a0 <test_12_data>: +800020a0: 0000 unimp +800020a2: bf80 fsd fs0,56(a5) +800020a4: c49a6333 0xc49a6333 +800020a8: cccd beqz s1,80002162 <_end+0xa2> +800020aa: 3f8c fld fa1,56(a5) +800020ac: 4000 lw s0,0(s0) +800020ae: c49a sw t1,72(sp) + +800020b0 <test_13_data>: +800020b0: 0000 unimp +800020b2: 4000 lw s0,0(s0) +800020b4: 0000 unimp +800020b6: c0a0 sw s0,64(s1) +800020b8: 0000 unimp +800020ba: c000 sw s0,0(s0) +800020bc: 0000 unimp +800020be: 4100 lw s0,0(a0) diff --git a/test/riscv-tests/rv32uf-p-fmadd.elf b/test/riscv-tests/rv32uf-p-fmadd.elf Binary files differnew file mode 100644 index 0000000..e68a2ce --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fmadd.elf diff --git a/test/riscv-tests/rv32uf-p-fmin.dump b/test/riscv-tests/rv32uf-p-fmin.dump new file mode 100644 index 0000000..88a685c --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fmin.dump @@ -0,0 +1,553 @@ + +rv32uf-p-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00002537 lui a0,0x2 +800000ec: 30052073 csrs mstatus,a0 +800000f0: 00305073 csrwi fcsr,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 <test_2>: +80000108: 00200193 li gp,2 +8000010c: 00002517 auipc a0,0x2 +80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> +80000114: 00052007 flw ft0,0(a0) +80000118: 00452087 flw ft1,4(a0) +8000011c: 00852107 flw ft2,8(a0) +80000120: 00c52683 lw a3,12(a0) +80000124: 281001d3 fmin.s ft3,ft0,ft1 +80000128: e0018553 fmv.x.w a0,ft3 +8000012c: 001015f3 fsflags a1,zero +80000130: 00000613 li a2,0 +80000134: 38d51063 bne a0,a3,800004b4 <fail> +80000138: 36c59e63 bne a1,a2,800004b4 <fail> + +8000013c <test_3>: +8000013c: 00300193 li gp,3 +80000140: 00002517 auipc a0,0x2 +80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> +80000148: 00052007 flw ft0,0(a0) +8000014c: 00452087 flw ft1,4(a0) +80000150: 00852107 flw ft2,8(a0) +80000154: 00c52683 lw a3,12(a0) +80000158: 281001d3 fmin.s ft3,ft0,ft1 +8000015c: e0018553 fmv.x.w a0,ft3 +80000160: 001015f3 fsflags a1,zero +80000164: 00000613 li a2,0 +80000168: 34d51663 bne a0,a3,800004b4 <fail> +8000016c: 34c59463 bne a1,a2,800004b4 <fail> + +80000170 <test_4>: +80000170: 00400193 li gp,4 +80000174: 00002517 auipc a0,0x2 +80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> +8000017c: 00052007 flw ft0,0(a0) +80000180: 00452087 flw ft1,4(a0) +80000184: 00852107 flw ft2,8(a0) +80000188: 00c52683 lw a3,12(a0) +8000018c: 281001d3 fmin.s ft3,ft0,ft1 +80000190: e0018553 fmv.x.w a0,ft3 +80000194: 001015f3 fsflags a1,zero +80000198: 00000613 li a2,0 +8000019c: 30d51c63 bne a0,a3,800004b4 <fail> +800001a0: 30c59a63 bne a1,a2,800004b4 <fail> + +800001a4 <test_5>: +800001a4: 00500193 li gp,5 +800001a8: 00002517 auipc a0,0x2 +800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> +800001b0: 00052007 flw ft0,0(a0) +800001b4: 00452087 flw ft1,4(a0) +800001b8: 00852107 flw ft2,8(a0) +800001bc: 00c52683 lw a3,12(a0) +800001c0: 281001d3 fmin.s ft3,ft0,ft1 +800001c4: e0018553 fmv.x.w a0,ft3 +800001c8: 001015f3 fsflags a1,zero +800001cc: 00000613 li a2,0 +800001d0: 2ed51263 bne a0,a3,800004b4 <fail> +800001d4: 2ec59063 bne a1,a2,800004b4 <fail> + +800001d8 <test_6>: +800001d8: 00600193 li gp,6 +800001dc: 00002517 auipc a0,0x2 +800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> +800001e4: 00052007 flw ft0,0(a0) +800001e8: 00452087 flw ft1,4(a0) +800001ec: 00852107 flw ft2,8(a0) +800001f0: 00c52683 lw a3,12(a0) +800001f4: 281001d3 fmin.s ft3,ft0,ft1 +800001f8: e0018553 fmv.x.w a0,ft3 +800001fc: 001015f3 fsflags a1,zero +80000200: 00000613 li a2,0 +80000204: 2ad51863 bne a0,a3,800004b4 <fail> +80000208: 2ac59663 bne a1,a2,800004b4 <fail> + +8000020c <test_7>: +8000020c: 00700193 li gp,7 +80000210: 00002517 auipc a0,0x2 +80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> +80000218: 00052007 flw ft0,0(a0) +8000021c: 00452087 flw ft1,4(a0) +80000220: 00852107 flw ft2,8(a0) +80000224: 00c52683 lw a3,12(a0) +80000228: 281001d3 fmin.s ft3,ft0,ft1 +8000022c: e0018553 fmv.x.w a0,ft3 +80000230: 001015f3 fsflags a1,zero +80000234: 00000613 li a2,0 +80000238: 26d51e63 bne a0,a3,800004b4 <fail> +8000023c: 26c59c63 bne a1,a2,800004b4 <fail> + +80000240 <test_12>: +80000240: 00c00193 li gp,12 +80000244: 00002517 auipc a0,0x2 +80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_12_data> +8000024c: 00052007 flw ft0,0(a0) +80000250: 00452087 flw ft1,4(a0) +80000254: 00852107 flw ft2,8(a0) +80000258: 00c52683 lw a3,12(a0) +8000025c: 281011d3 fmax.s ft3,ft0,ft1 +80000260: e0018553 fmv.x.w a0,ft3 +80000264: 001015f3 fsflags a1,zero +80000268: 00000613 li a2,0 +8000026c: 24d51463 bne a0,a3,800004b4 <fail> +80000270: 24c59263 bne a1,a2,800004b4 <fail> + +80000274 <test_13>: +80000274: 00d00193 li gp,13 +80000278: 00002517 auipc a0,0x2 +8000027c: df850513 addi a0,a0,-520 # 80002070 <test_13_data> +80000280: 00052007 flw ft0,0(a0) +80000284: 00452087 flw ft1,4(a0) +80000288: 00852107 flw ft2,8(a0) +8000028c: 00c52683 lw a3,12(a0) +80000290: 281011d3 fmax.s ft3,ft0,ft1 +80000294: e0018553 fmv.x.w a0,ft3 +80000298: 001015f3 fsflags a1,zero +8000029c: 00000613 li a2,0 +800002a0: 20d51a63 bne a0,a3,800004b4 <fail> +800002a4: 20c59863 bne a1,a2,800004b4 <fail> + +800002a8 <test_14>: +800002a8: 00e00193 li gp,14 +800002ac: 00002517 auipc a0,0x2 +800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_14_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: 281011d3 fmax.s ft3,ft0,ft1 +800002c8: e0018553 fmv.x.w a0,ft3 +800002cc: 001015f3 fsflags a1,zero +800002d0: 00000613 li a2,0 +800002d4: 1ed51063 bne a0,a3,800004b4 <fail> +800002d8: 1cc59e63 bne a1,a2,800004b4 <fail> + +800002dc <test_15>: +800002dc: 00f00193 li gp,15 +800002e0: 00002517 auipc a0,0x2 +800002e4: db050513 addi a0,a0,-592 # 80002090 <test_15_data> +800002e8: 00052007 flw ft0,0(a0) +800002ec: 00452087 flw ft1,4(a0) +800002f0: 00852107 flw ft2,8(a0) +800002f4: 00c52683 lw a3,12(a0) +800002f8: 281011d3 fmax.s ft3,ft0,ft1 +800002fc: e0018553 fmv.x.w a0,ft3 +80000300: 001015f3 fsflags a1,zero +80000304: 00000613 li a2,0 +80000308: 1ad51663 bne a0,a3,800004b4 <fail> +8000030c: 1ac59463 bne a1,a2,800004b4 <fail> + +80000310 <test_16>: +80000310: 01000193 li gp,16 +80000314: 00002517 auipc a0,0x2 +80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_16_data> +8000031c: 00052007 flw ft0,0(a0) +80000320: 00452087 flw ft1,4(a0) +80000324: 00852107 flw ft2,8(a0) +80000328: 00c52683 lw a3,12(a0) +8000032c: 281011d3 fmax.s ft3,ft0,ft1 +80000330: e0018553 fmv.x.w a0,ft3 +80000334: 001015f3 fsflags a1,zero +80000338: 00000613 li a2,0 +8000033c: 16d51c63 bne a0,a3,800004b4 <fail> +80000340: 16c59a63 bne a1,a2,800004b4 <fail> + +80000344 <test_17>: +80000344: 01100193 li gp,17 +80000348: 00002517 auipc a0,0x2 +8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_17_data> +80000350: 00052007 flw ft0,0(a0) +80000354: 00452087 flw ft1,4(a0) +80000358: 00852107 flw ft2,8(a0) +8000035c: 00c52683 lw a3,12(a0) +80000360: 281011d3 fmax.s ft3,ft0,ft1 +80000364: e0018553 fmv.x.w a0,ft3 +80000368: 001015f3 fsflags a1,zero +8000036c: 00000613 li a2,0 +80000370: 14d51263 bne a0,a3,800004b4 <fail> +80000374: 14c59063 bne a1,a2,800004b4 <fail> + +80000378 <test_20>: +80000378: 01400193 li gp,20 +8000037c: 00002517 auipc a0,0x2 +80000380: d4450513 addi a0,a0,-700 # 800020c0 <test_20_data> +80000384: 00052007 flw ft0,0(a0) +80000388: 00452087 flw ft1,4(a0) +8000038c: 00852107 flw ft2,8(a0) +80000390: 00c52683 lw a3,12(a0) +80000394: 281011d3 fmax.s ft3,ft0,ft1 +80000398: e0018553 fmv.x.w a0,ft3 +8000039c: 001015f3 fsflags a1,zero +800003a0: 01000613 li a2,16 +800003a4: 10d51863 bne a0,a3,800004b4 <fail> +800003a8: 10c59663 bne a1,a2,800004b4 <fail> + +800003ac <test_21>: +800003ac: 01500193 li gp,21 +800003b0: 00002517 auipc a0,0x2 +800003b4: d2050513 addi a0,a0,-736 # 800020d0 <test_21_data> +800003b8: 00052007 flw ft0,0(a0) +800003bc: 00452087 flw ft1,4(a0) +800003c0: 00852107 flw ft2,8(a0) +800003c4: 00c52683 lw a3,12(a0) +800003c8: 281011d3 fmax.s ft3,ft0,ft1 +800003cc: e0018553 fmv.x.w a0,ft3 +800003d0: 001015f3 fsflags a1,zero +800003d4: 00000613 li a2,0 +800003d8: 0cd51e63 bne a0,a3,800004b4 <fail> +800003dc: 0cc59c63 bne a1,a2,800004b4 <fail> + +800003e0 <test_30>: +800003e0: 01e00193 li gp,30 +800003e4: 00002517 auipc a0,0x2 +800003e8: cfc50513 addi a0,a0,-772 # 800020e0 <test_30_data> +800003ec: 00052007 flw ft0,0(a0) +800003f0: 00452087 flw ft1,4(a0) +800003f4: 00852107 flw ft2,8(a0) +800003f8: 00c52683 lw a3,12(a0) +800003fc: 281001d3 fmin.s ft3,ft0,ft1 +80000400: e0018553 fmv.x.w a0,ft3 +80000404: 001015f3 fsflags a1,zero +80000408: 00000613 li a2,0 +8000040c: 0ad51463 bne a0,a3,800004b4 <fail> +80000410: 0ac59263 bne a1,a2,800004b4 <fail> + +80000414 <test_31>: +80000414: 01f00193 li gp,31 +80000418: 00002517 auipc a0,0x2 +8000041c: cd850513 addi a0,a0,-808 # 800020f0 <test_31_data> +80000420: 00052007 flw ft0,0(a0) +80000424: 00452087 flw ft1,4(a0) +80000428: 00852107 flw ft2,8(a0) +8000042c: 00c52683 lw a3,12(a0) +80000430: 281001d3 fmin.s ft3,ft0,ft1 +80000434: e0018553 fmv.x.w a0,ft3 +80000438: 001015f3 fsflags a1,zero +8000043c: 00000613 li a2,0 +80000440: 06d51a63 bne a0,a3,800004b4 <fail> +80000444: 06c59863 bne a1,a2,800004b4 <fail> + +80000448 <test_32>: +80000448: 02000193 li gp,32 +8000044c: 00002517 auipc a0,0x2 +80000450: cb450513 addi a0,a0,-844 # 80002100 <test_32_data> +80000454: 00052007 flw ft0,0(a0) +80000458: 00452087 flw ft1,4(a0) +8000045c: 00852107 flw ft2,8(a0) +80000460: 00c52683 lw a3,12(a0) +80000464: 281011d3 fmax.s ft3,ft0,ft1 +80000468: e0018553 fmv.x.w a0,ft3 +8000046c: 001015f3 fsflags a1,zero +80000470: 00000613 li a2,0 +80000474: 04d51063 bne a0,a3,800004b4 <fail> +80000478: 02c59e63 bne a1,a2,800004b4 <fail> + +8000047c <test_33>: +8000047c: 02100193 li gp,33 +80000480: 00002517 auipc a0,0x2 +80000484: c9050513 addi a0,a0,-880 # 80002110 <test_33_data> +80000488: 00052007 flw ft0,0(a0) +8000048c: 00452087 flw ft1,4(a0) +80000490: 00852107 flw ft2,8(a0) +80000494: 00c52683 lw a3,12(a0) +80000498: 281011d3 fmax.s ft3,ft0,ft1 +8000049c: e0018553 fmv.x.w a0,ft3 +800004a0: 001015f3 fsflags a1,zero +800004a4: 00000613 li a2,0 +800004a8: 00d51663 bne a0,a3,800004b4 <fail> +800004ac: 00c59463 bne a1,a2,800004b4 <fail> +800004b0: 00301c63 bne zero,gp,800004c8 <pass> + +800004b4 <fail>: +800004b4: 0ff0000f fence +800004b8: 00018063 beqz gp,800004b8 <fail+0x4> +800004bc: 00119193 slli gp,gp,0x1 +800004c0: 0011e193 ori gp,gp,1 +800004c4: 00000073 ecall + +800004c8 <pass>: +800004c8: 0ff0000f fence +800004cc: 00100193 li gp,1 +800004d0: 00000073 ecall +800004d4: c0001073 unimp +800004d8: 0000 unimp +800004da: 0000 unimp +800004dc: 0000 unimp +800004de: 0000 unimp +800004e0: 0000 unimp +800004e2: 0000 unimp +800004e4: 0000 unimp +800004e6: 0000 unimp +800004e8: 0000 unimp +800004ea: 0000 unimp +800004ec: 0000 unimp +800004ee: 0000 unimp +800004f0: 0000 unimp +800004f2: 0000 unimp +800004f4: 0000 unimp +800004f6: 0000 unimp +800004f8: 0000 unimp +800004fa: 0000 unimp +800004fc: 0000 unimp +800004fe: 0000 unimp +80000500: 0000 unimp +80000502: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4020 lw s0,64(s0) +80002004: 0000 unimp +80002006: 3f80 fld fs0,56(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3f80 fld fs0,56(a5) + +80002010 <test_3_data>: +80002010: c49a6333 0xc49a6333 +80002014: cccd beqz s1,800020ce <test_20_data+0xe> +80002016: 3f8c fld fa1,56(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: c49a6333 0xc49a6333 + +80002020 <test_4_data>: +80002020: cccd beqz s1,800020da <test_21_data+0xa> +80002022: 3f8c fld fa1,56(a5) +80002024: c49a6333 0xc49a6333 +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: c49a6333 0xc49a6333 + +80002030 <test_5_data>: +80002030: ffff 0xffff +80002032: 7fff 0x7fff +80002034: c49a6333 0xc49a6333 +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: c49a6333 0xc49a6333 + +80002040 <test_6_data>: +80002040: 40490fdb 0x40490fdb +80002044: 322bcc77 0x322bcc77 +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 322bcc77 0x322bcc77 + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: bf80 fsd fs0,56(a5) +80002054: 0000 unimp +80002056: c000 sw s0,0(s0) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: c000 sw s0,0(s0) + +80002060 <test_12_data>: +80002060: 0000 unimp +80002062: 4020 lw s0,64(s0) +80002064: 0000 unimp +80002066: 3f80 fld fs0,56(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4020 lw s0,64(s0) + +80002070 <test_13_data>: +80002070: c49a6333 0xc49a6333 +80002074: cccd beqz s1,8000212e <_end+0xe> +80002076: 3f8c fld fa1,56(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: cccd beqz s1,80002136 <_end+0x16> +8000207e: 3f8c fld fa1,56(a5) + +80002080 <test_14_data>: +80002080: cccd beqz s1,8000213a <_end+0x1a> +80002082: 3f8c fld fa1,56(a5) +80002084: c49a6333 0xc49a6333 +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: cccd beqz s1,80002146 <_end+0x26> +8000208e: 3f8c fld fa1,56(a5) + +80002090 <test_15_data>: +80002090: ffff 0xffff +80002092: 7fff 0x7fff +80002094: c49a6333 0xc49a6333 +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: c49a6333 0xc49a6333 + +800020a0 <test_16_data>: +800020a0: 40490fdb 0x40490fdb +800020a4: 322bcc77 0x322bcc77 +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 40490fdb 0x40490fdb + +800020b0 <test_17_data>: +800020b0: 0000 unimp +800020b2: bf80 fsd fs0,56(a5) +800020b4: 0000 unimp +800020b6: c000 sw s0,0(s0) +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: bf80 fsd fs0,56(a5) + +800020c0 <test_20_data>: +800020c0: 0001 nop +800020c2: 7f80 flw fs0,56(a5) +800020c4: 0000 unimp +800020c6: 3f80 fld fs0,56(a5) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3f80 fld fs0,56(a5) + +800020d0 <test_21_data>: +800020d0: ffff 0xffff +800020d2: 7fff 0x7fff +800020d4: ffff 0xffff +800020d6: 7fff 0x7fff +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 7fc0 flw fs0,60(a5) + +800020e0 <test_30_data>: +800020e0: 0000 unimp +800020e2: 8000 0x8000 +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 8000 0x8000 + +800020f0 <test_31_data>: +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 8000 0x8000 +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 0000 unimp +800020fe: 8000 0x8000 + +80002100 <test_32_data>: +80002100: 0000 unimp +80002102: 8000 0x8000 +80002104: 0000 unimp +80002106: 0000 unimp +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: 0000 unimp + +80002110 <test_33_data>: +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 8000 0x8000 +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: 0000 unimp diff --git a/test/riscv-tests/rv32uf-p-fmin.elf b/test/riscv-tests/rv32uf-p-fmin.elf Binary files differnew file mode 100644 index 0000000..e1774aa --- /dev/null +++ b/test/riscv-tests/rv32uf-p-fmin.elf diff --git a/test/riscv-tests/rv32uf-v-fadd.dump b/test/riscv-tests/rv32uf-v-fadd.dump new file mode 100644 index 0000000..ecde990 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fadd.dump @@ -0,0 +1,1153 @@ + +rv32uf-v-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 94458593 addi a1,a1,-1724 # 80002e0c <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 96058593 addi a1,a1,-1696 # 80002e98 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 90c58593 addi a1,a1,-1780 # 80002eb0 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 84058593 addi a1,a1,-1984 # 80002e50 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 83058593 addi a1,a1,-2000 # 80002f78 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 79858593 addi a1,a1,1944 # 80002f54 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 69460613 addi a2,a2,1684 # 80002fa4 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 5a460613 addi a2,a2,1444 # 80002f20 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 52460613 addi a2,a2,1316 # 80002eec <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 02200793 li a5,34 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 029657b7 lui a5,0x2965 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 30878793 addi a5,a5,776 # 2965308 <_start-0x7d69acf8> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00000517 auipc a0,0x0 +80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: 001071d3 fadd.s ft3,ft0,ft1 +80002c04: e0018553 fmv.x.w a0,ft3 +80002c08: 001015f3 fsflags a1,zero +80002c0c: 00000613 li a2,0 +80002c10: 1ed51063 bne a0,a3,80002df0 <fail> +80002c14: 1cc59e63 bne a1,a2,80002df0 <fail> + +80002c18 <test_3>: +80002c18: 00300193 li gp,3 +80002c1c: 00000517 auipc a0,0x0 +80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_3_data> +80002c24: 00052007 flw ft0,0(a0) +80002c28: 00452087 flw ft1,4(a0) +80002c2c: 00852107 flw ft2,8(a0) +80002c30: 00c52683 lw a3,12(a0) +80002c34: 001071d3 fadd.s ft3,ft0,ft1 +80002c38: e0018553 fmv.x.w a0,ft3 +80002c3c: 001015f3 fsflags a1,zero +80002c40: 00100613 li a2,1 +80002c44: 1ad51663 bne a0,a3,80002df0 <fail> +80002c48: 1ac59463 bne a1,a2,80002df0 <fail> + +80002c4c <test_4>: +80002c4c: 00400193 li gp,4 +80002c50: 00000517 auipc a0,0x0 +80002c54: 3d050513 addi a0,a0,976 # 80003020 <test_4_data> +80002c58: 00052007 flw ft0,0(a0) +80002c5c: 00452087 flw ft1,4(a0) +80002c60: 00852107 flw ft2,8(a0) +80002c64: 00c52683 lw a3,12(a0) +80002c68: 001071d3 fadd.s ft3,ft0,ft1 +80002c6c: e0018553 fmv.x.w a0,ft3 +80002c70: 001015f3 fsflags a1,zero +80002c74: 00100613 li a2,1 +80002c78: 16d51c63 bne a0,a3,80002df0 <fail> +80002c7c: 16c59a63 bne a1,a2,80002df0 <fail> + +80002c80 <test_5>: +80002c80: 00500193 li gp,5 +80002c84: 00000517 auipc a0,0x0 +80002c88: 3ac50513 addi a0,a0,940 # 80003030 <test_5_data> +80002c8c: 00052007 flw ft0,0(a0) +80002c90: 00452087 flw ft1,4(a0) +80002c94: 00852107 flw ft2,8(a0) +80002c98: 00c52683 lw a3,12(a0) +80002c9c: 081071d3 fsub.s ft3,ft0,ft1 +80002ca0: e0018553 fmv.x.w a0,ft3 +80002ca4: 001015f3 fsflags a1,zero +80002ca8: 00000613 li a2,0 +80002cac: 14d51263 bne a0,a3,80002df0 <fail> +80002cb0: 14c59063 bne a1,a2,80002df0 <fail> + +80002cb4 <test_6>: +80002cb4: 00600193 li gp,6 +80002cb8: 00000517 auipc a0,0x0 +80002cbc: 38850513 addi a0,a0,904 # 80003040 <test_6_data> +80002cc0: 00052007 flw ft0,0(a0) +80002cc4: 00452087 flw ft1,4(a0) +80002cc8: 00852107 flw ft2,8(a0) +80002ccc: 00c52683 lw a3,12(a0) +80002cd0: 081071d3 fsub.s ft3,ft0,ft1 +80002cd4: e0018553 fmv.x.w a0,ft3 +80002cd8: 001015f3 fsflags a1,zero +80002cdc: 00100613 li a2,1 +80002ce0: 10d51863 bne a0,a3,80002df0 <fail> +80002ce4: 10c59663 bne a1,a2,80002df0 <fail> + +80002ce8 <test_7>: +80002ce8: 00700193 li gp,7 +80002cec: 00000517 auipc a0,0x0 +80002cf0: 36450513 addi a0,a0,868 # 80003050 <test_7_data> +80002cf4: 00052007 flw ft0,0(a0) +80002cf8: 00452087 flw ft1,4(a0) +80002cfc: 00852107 flw ft2,8(a0) +80002d00: 00c52683 lw a3,12(a0) +80002d04: 081071d3 fsub.s ft3,ft0,ft1 +80002d08: e0018553 fmv.x.w a0,ft3 +80002d0c: 001015f3 fsflags a1,zero +80002d10: 00100613 li a2,1 +80002d14: 0cd51e63 bne a0,a3,80002df0 <fail> +80002d18: 0cc59c63 bne a1,a2,80002df0 <fail> + +80002d1c <test_8>: +80002d1c: 00800193 li gp,8 +80002d20: 00000517 auipc a0,0x0 +80002d24: 34050513 addi a0,a0,832 # 80003060 <test_8_data> +80002d28: 00052007 flw ft0,0(a0) +80002d2c: 00452087 flw ft1,4(a0) +80002d30: 00852107 flw ft2,8(a0) +80002d34: 00c52683 lw a3,12(a0) +80002d38: 101071d3 fmul.s ft3,ft0,ft1 +80002d3c: e0018553 fmv.x.w a0,ft3 +80002d40: 001015f3 fsflags a1,zero +80002d44: 00000613 li a2,0 +80002d48: 0ad51463 bne a0,a3,80002df0 <fail> +80002d4c: 0ac59263 bne a1,a2,80002df0 <fail> + +80002d50 <test_9>: +80002d50: 00900193 li gp,9 +80002d54: 00000517 auipc a0,0x0 +80002d58: 31c50513 addi a0,a0,796 # 80003070 <test_9_data> +80002d5c: 00052007 flw ft0,0(a0) +80002d60: 00452087 flw ft1,4(a0) +80002d64: 00852107 flw ft2,8(a0) +80002d68: 00c52683 lw a3,12(a0) +80002d6c: 101071d3 fmul.s ft3,ft0,ft1 +80002d70: e0018553 fmv.x.w a0,ft3 +80002d74: 001015f3 fsflags a1,zero +80002d78: 00100613 li a2,1 +80002d7c: 06d51a63 bne a0,a3,80002df0 <fail> +80002d80: 06c59863 bne a1,a2,80002df0 <fail> + +80002d84 <test_10>: +80002d84: 00a00193 li gp,10 +80002d88: 00000517 auipc a0,0x0 +80002d8c: 2f850513 addi a0,a0,760 # 80003080 <test_10_data> +80002d90: 00052007 flw ft0,0(a0) +80002d94: 00452087 flw ft1,4(a0) +80002d98: 00852107 flw ft2,8(a0) +80002d9c: 00c52683 lw a3,12(a0) +80002da0: 101071d3 fmul.s ft3,ft0,ft1 +80002da4: e0018553 fmv.x.w a0,ft3 +80002da8: 001015f3 fsflags a1,zero +80002dac: 00100613 li a2,1 +80002db0: 04d51063 bne a0,a3,80002df0 <fail> +80002db4: 02c59e63 bne a1,a2,80002df0 <fail> + +80002db8 <test_11>: +80002db8: 00b00193 li gp,11 +80002dbc: 00000517 auipc a0,0x0 +80002dc0: 2d450513 addi a0,a0,724 # 80003090 <test_11_data> +80002dc4: 00052007 flw ft0,0(a0) +80002dc8: 00452087 flw ft1,4(a0) +80002dcc: 00852107 flw ft2,8(a0) +80002dd0: 00c52683 lw a3,12(a0) +80002dd4: 081071d3 fsub.s ft3,ft0,ft1 +80002dd8: e0018553 fmv.x.w a0,ft3 +80002ddc: 001015f3 fsflags a1,zero +80002de0: 01000613 li a2,16 +80002de4: 00d51663 bne a0,a3,80002df0 <fail> +80002de8: 00c59463 bne a1,a2,80002df0 <fail> +80002dec: 00301a63 bne zero,gp,80002e00 <pass> + +80002df0 <fail>: +80002df0: 00119513 slli a0,gp,0x1 +80002df4: 00050063 beqz a0,80002df4 <fail+0x4> +80002df8: 00156513 ori a0,a0,1 +80002dfc: 00000073 ecall + +80002e00 <pass>: +80002e00: 00100513 li a0,1 +80002e04: 00000073 ecall +80002e08: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: 0000 unimp +80003002: 4020 lw s0,64(s0) +80003004: 0000 unimp +80003006: 3f80 fld fs0,56(a5) +80003008: 0000 unimp +8000300a: 0000 unimp +8000300c: 0000 unimp +8000300e: 4060 lw s0,68(s0) + +80003010 <test_3_data>: +80003010: c49a6333 0xc49a6333 +80003014: cccd beqz s1,800030ce <begin_signature+0x2e> +80003016: 3f8c fld fa1,56(a5) +80003018: 0000 unimp +8000301a: 0000 unimp +8000301c: 4000 lw s0,0(s0) +8000301e: c49a sw t1,72(sp) + +80003020 <test_4_data>: +80003020: 40490fdb 0x40490fdb +80003024: 322bcc77 0x322bcc77 +80003028: 0000 unimp +8000302a: 0000 unimp +8000302c: 40490fdb 0x40490fdb + +80003030 <test_5_data>: +80003030: 0000 unimp +80003032: 4020 lw s0,64(s0) +80003034: 0000 unimp +80003036: 3f80 fld fs0,56(a5) +80003038: 0000 unimp +8000303a: 0000 unimp +8000303c: 0000 unimp +8000303e: 3fc0 fld fs0,184(a5) + +80003040 <test_6_data>: +80003040: c49a6333 0xc49a6333 +80003044: cccd beqz s1,800030fe <begin_signature+0x5e> +80003046: bf8c fsd fa1,56(a5) +80003048: 0000 unimp +8000304a: 0000 unimp +8000304c: 4000 lw s0,0(s0) +8000304e: c49a sw t1,72(sp) + +80003050 <test_7_data>: +80003050: 40490fdb 0x40490fdb +80003054: 322bcc77 0x322bcc77 +80003058: 0000 unimp +8000305a: 0000 unimp +8000305c: 40490fdb 0x40490fdb + +80003060 <test_8_data>: +80003060: 0000 unimp +80003062: 4020 lw s0,64(s0) +80003064: 0000 unimp +80003066: 3f80 fld fs0,56(a5) +80003068: 0000 unimp +8000306a: 0000 unimp +8000306c: 0000 unimp +8000306e: 4020 lw s0,64(s0) + +80003070 <test_9_data>: +80003070: c49a6333 0xc49a6333 +80003074: cccd beqz s1,8000312e <begin_signature+0x8e> +80003076: bf8c fsd fa1,56(a5) +80003078: 0000 unimp +8000307a: 0000 unimp +8000307c: d385 beqz a5,80002f9c <pass+0x19c> +8000307e: 44a9 li s1,10 + +80003080 <test_10_data>: +80003080: 40490fdb 0x40490fdb +80003084: 322bcc77 0x322bcc77 +80003088: 0000 unimp +8000308a: 0000 unimp +8000308c: ee2d bnez a2,80003106 <begin_signature+0x66> +8000308e: 3306 fld ft6,96(sp) + +80003090 <test_11_data>: +80003090: 0000 unimp +80003092: 7f80 flw fs0,56(a5) +80003094: 0000 unimp +80003096: 7f80 flw fs0,56(a5) +80003098: 0000 unimp +8000309a: 0000 unimp +8000309c: 0000 unimp +8000309e: 7fc0 flw fs0,60(a5) diff --git a/test/riscv-tests/rv32uf-v-fadd.elf b/test/riscv-tests/rv32uf-v-fadd.elf Binary files differnew file mode 100644 index 0000000..39441ea --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fadd.elf diff --git a/test/riscv-tests/rv32uf-v-fclass.dump b/test/riscv-tests/rv32uf-v-fclass.dump new file mode 100644 index 0000000..9de68ee --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fclass.dump @@ -0,0 +1,995 @@ + +rv32uf-v-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00006117 auipc sp,0x6 +8000001c: 35010113 addi sp,sp,848 # 80006368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00001317 auipc t1,0x1 +80002370: c9430313 addi t1,t1,-876 # 80003000 <begin_signature> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00003797 auipc a5,0x3 +8000238c: 06c78793 addi a5,a5,108 # 800053f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00003717 auipc a4,0x3 +800023a0: 05470713 addi a4,a4,84 # 800053f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00003697 auipc a3,0x3 +800023ac: 04f6a623 sw a5,76(a3) # 800053f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00003717 auipc a4,0x3 +800023dc: e2070713 addi a4,a4,-480 # 800051f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbfac08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00003797 auipc a5,0x3 +800024bc: f207ac23 sw zero,-200(a5) # 800053f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 83858593 addi a1,a1,-1992 # 80002d00 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 85458593 addi a1,a1,-1964 # 80002d8c <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 80058593 addi a1,a1,-2048 # 80002da4 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00000597 auipc a1,0x0 +80002614: 73458593 addi a1,a1,1844 # 80002d44 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00000597 auipc a1,0x0 +8000274c: 72458593 addi a1,a1,1828 # 80002e6c <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 68c58593 addi a1,a1,1676 # 80002e48 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00003b17 auipc s6,0x3 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800051f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00000d17 auipc s10,0x0 +80002840: 7c4d0d13 addi s10,s10,1988 # 80003000 <begin_signature> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00003717 auipc a4,0x3 +8000285c: b8f72c23 sw a5,-1128(a4) # 800053f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00003717 auipc a4,0x3 +800028e8: b0c70713 addi a4,a4,-1268 # 800053f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00003717 auipc a4,0x3 +800028fc: aef72c23 sw a5,-1288(a4) # 800053f0 <freelist_tail> +80002900: 00003717 auipc a4,0x3 +80002904: aef72a23 sw a5,-1292(a4) # 800053f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 58860613 addi a2,a2,1416 # 80002e98 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 49860613 addi a2,a2,1176 # 80002e14 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 41860613 addi a2,a2,1048 # 80002de0 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00001797 auipc a5,0x1 +80002a4c: 5b878793 addi a5,a5,1464 # 80004000 <begin_signature+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00000697 auipc a3,0x0 +80002a60: 5af6a223 sw a5,1444(a3) # 80003000 <begin_signature> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00000717 auipc a4,0x0 +80002a6c: 59870713 addi a4,a4,1432 # 80003000 <begin_signature> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00001697 auipc a3,0x1 +80002a7c: 58f6a223 sw a5,1412(a3) # 80003ffc <begin_signature+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbfaccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc02797 auipc a5,0x7fc02 +80002aec: 51878793 addi a5,a5,1304 # ffc05000 <_end+0x7fbffc08> +80002af0: 00003717 auipc a4,0x3 +80002af4: 90f72223 sw a5,-1788(a4) # 800053f4 <freelist_head> +80002af8: 7fc02797 auipc a5,0x7fc02 +80002afc: 6f878793 addi a5,a5,1784 # ffc051f0 <_end+0x7fbffdf8> +80002b00: 00003717 auipc a4,0x3 +80002b04: 8ef72823 sw a5,-1808(a4) # 800053f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00002717 auipc a4,0x2 +80002b10: 4f470713 addi a4,a4,1268 # 80005000 <freelist_nodes> +80002b14: 00002317 auipc t1,0x2 +80002b18: 6e430313 addi t1,t1,1764 # 800051f8 <user_mapping> +80002b1c: 02400793 li a5,36 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00002797 auipc a5,0x2 +80002b6c: 6807a623 sw zero,1676(a5) # 800051f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 06cb57b7 lui a5,0x6cb5 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 32878793 addi a5,a5,808 # 6cb5328 <_start-0x7934acd8> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: ff800537 lui a0,0xff800 +80002be8: f0050553 fmv.w.x fa0,a0 +80002bec: e0051553 fclass.s a0,fa0 +80002bf0: 00100e93 li t4,1 +80002bf4: 00200193 li gp,2 +80002bf8: 0fd51663 bne a0,t4,80002ce4 <fail> + +80002bfc <test_3>: +80002bfc: bf800537 lui a0,0xbf800 +80002c00: f0050553 fmv.w.x fa0,a0 +80002c04: e0051553 fclass.s a0,fa0 +80002c08: 00200e93 li t4,2 +80002c0c: 00300193 li gp,3 +80002c10: 0dd51a63 bne a0,t4,80002ce4 <fail> + +80002c14 <test_4>: +80002c14: 80800537 lui a0,0x80800 +80002c18: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fac07> +80002c1c: f0050553 fmv.w.x fa0,a0 +80002c20: e0051553 fclass.s a0,fa0 +80002c24: 00400e93 li t4,4 +80002c28: 00400193 li gp,4 +80002c2c: 0bd51c63 bne a0,t4,80002ce4 <fail> + +80002c30 <test_5>: +80002c30: 80000537 lui a0,0x80000 +80002c34: f0050553 fmv.w.x fa0,a0 +80002c38: e0051553 fclass.s a0,fa0 +80002c3c: 00800e93 li t4,8 +80002c40: 00500193 li gp,5 +80002c44: 0bd51063 bne a0,t4,80002ce4 <fail> + +80002c48 <test_6>: +80002c48: 00000513 li a0,0 +80002c4c: f0050553 fmv.w.x fa0,a0 +80002c50: e0051553 fclass.s a0,fa0 +80002c54: 01000e93 li t4,16 +80002c58: 00600193 li gp,6 +80002c5c: 09d51463 bne a0,t4,80002ce4 <fail> + +80002c60 <test_7>: +80002c60: 00800537 lui a0,0x800 +80002c64: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001> +80002c68: f0050553 fmv.w.x fa0,a0 +80002c6c: e0051553 fclass.s a0,fa0 +80002c70: 02000e93 li t4,32 +80002c74: 00700193 li gp,7 +80002c78: 07d51663 bne a0,t4,80002ce4 <fail> + +80002c7c <test_8>: +80002c7c: 3f800537 lui a0,0x3f800 +80002c80: f0050553 fmv.w.x fa0,a0 +80002c84: e0051553 fclass.s a0,fa0 +80002c88: 04000e93 li t4,64 +80002c8c: 00800193 li gp,8 +80002c90: 05d51a63 bne a0,t4,80002ce4 <fail> + +80002c94 <test_9>: +80002c94: 7f800537 lui a0,0x7f800 +80002c98: f0050553 fmv.w.x fa0,a0 +80002c9c: e0051553 fclass.s a0,fa0 +80002ca0: 08000e93 li t4,128 +80002ca4: 00900193 li gp,9 +80002ca8: 03d51e63 bne a0,t4,80002ce4 <fail> + +80002cac <test_10>: +80002cac: 7f800537 lui a0,0x7f800 +80002cb0: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff> +80002cb4: f0050553 fmv.w.x fa0,a0 +80002cb8: e0051553 fclass.s a0,fa0 +80002cbc: 10000e93 li t4,256 +80002cc0: 00a00193 li gp,10 +80002cc4: 03d51063 bne a0,t4,80002ce4 <fail> + +80002cc8 <test_11>: +80002cc8: 7fc00537 lui a0,0x7fc00 +80002ccc: f0050553 fmv.w.x fa0,a0 +80002cd0: e0051553 fclass.s a0,fa0 +80002cd4: 20000e93 li t4,512 +80002cd8: 00b00193 li gp,11 +80002cdc: 01d51463 bne a0,t4,80002ce4 <fail> +80002ce0: 00301a63 bne zero,gp,80002cf4 <pass> + +80002ce4 <fail>: +80002ce4: 00119513 slli a0,gp,0x1 +80002ce8: 00050063 beqz a0,80002ce8 <fail+0x4> +80002cec: 00156513 ori a0,a0,1 +80002cf0: 00000073 ecall + +80002cf4 <pass>: +80002cf4: 00100513 li a0,1 +80002cf8: 00000073 ecall +80002cfc: c0001073 unimp diff --git a/test/riscv-tests/rv32uf-v-fclass.elf b/test/riscv-tests/rv32uf-v-fclass.elf Binary files differnew file mode 100644 index 0000000..d65d9d2 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fclass.elf diff --git a/test/riscv-tests/rv32uf-v-fcmp.dump b/test/riscv-tests/rv32uf-v-fcmp.dump new file mode 100644 index 0000000..43c9537 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcmp.dump @@ -0,0 +1,1265 @@ + +rv32uf-v-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: a0c58593 addi a1,a1,-1524 # 80002ed4 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: a2858593 addi a1,a1,-1496 # 80002f60 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 9d458593 addi a1,a1,-1580 # 80002f78 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 90858593 addi a1,a1,-1784 # 80002f18 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 8f858593 addi a1,a1,-1800 # 80003040 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 86058593 addi a1,a1,-1952 # 8000301c <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 75c60613 addi a2,a2,1884 # 8000306c <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 66c60613 addi a2,a2,1644 # 80002fe8 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 5ec60613 addi a2,a2,1516 # 80002fb4 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 01200793 li a5,18 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0760b7b7 lui a5,0x760b +80002b9c: 00080637 lui a2,0x80 +80002ba0: 68c78793 addi a5,a5,1676 # 760b68c <_start-0x789f4974> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: a0102553 feq.s a0,ft0,ft1 +80002c04: 001015f3 fsflags a1,zero +80002c08: 00000613 li a2,0 +80002c0c: 2ad51663 bne a0,a3,80002eb8 <fail> +80002c10: 2ac59463 bne a1,a2,80002eb8 <fail> + +80002c14 <test_3>: +80002c14: 00300193 li gp,3 +80002c18: 00001517 auipc a0,0x1 +80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data> +80002c20: 00052007 flw ft0,0(a0) +80002c24: 00452087 flw ft1,4(a0) +80002c28: 00852107 flw ft2,8(a0) +80002c2c: 00c52683 lw a3,12(a0) +80002c30: a0100553 fle.s a0,ft0,ft1 +80002c34: 001015f3 fsflags a1,zero +80002c38: 00000613 li a2,0 +80002c3c: 26d51e63 bne a0,a3,80002eb8 <fail> +80002c40: 26c59c63 bne a1,a2,80002eb8 <fail> + +80002c44 <test_4>: +80002c44: 00400193 li gp,4 +80002c48: 00001517 auipc a0,0x1 +80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data> +80002c50: 00052007 flw ft0,0(a0) +80002c54: 00452087 flw ft1,4(a0) +80002c58: 00852107 flw ft2,8(a0) +80002c5c: 00c52683 lw a3,12(a0) +80002c60: a0101553 flt.s a0,ft0,ft1 +80002c64: 001015f3 fsflags a1,zero +80002c68: 00000613 li a2,0 +80002c6c: 24d51663 bne a0,a3,80002eb8 <fail> +80002c70: 24c59463 bne a1,a2,80002eb8 <fail> + +80002c74 <test_5>: +80002c74: 00500193 li gp,5 +80002c78: 00001517 auipc a0,0x1 +80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data> +80002c80: 00052007 flw ft0,0(a0) +80002c84: 00452087 flw ft1,4(a0) +80002c88: 00852107 flw ft2,8(a0) +80002c8c: 00c52683 lw a3,12(a0) +80002c90: a0102553 feq.s a0,ft0,ft1 +80002c94: 001015f3 fsflags a1,zero +80002c98: 00000613 li a2,0 +80002c9c: 20d51e63 bne a0,a3,80002eb8 <fail> +80002ca0: 20c59c63 bne a1,a2,80002eb8 <fail> + +80002ca4 <test_6>: +80002ca4: 00600193 li gp,6 +80002ca8: 00001517 auipc a0,0x1 +80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data> +80002cb0: 00052007 flw ft0,0(a0) +80002cb4: 00452087 flw ft1,4(a0) +80002cb8: 00852107 flw ft2,8(a0) +80002cbc: 00c52683 lw a3,12(a0) +80002cc0: a0100553 fle.s a0,ft0,ft1 +80002cc4: 001015f3 fsflags a1,zero +80002cc8: 00000613 li a2,0 +80002ccc: 1ed51663 bne a0,a3,80002eb8 <fail> +80002cd0: 1ec59463 bne a1,a2,80002eb8 <fail> + +80002cd4 <test_7>: +80002cd4: 00700193 li gp,7 +80002cd8: 00001517 auipc a0,0x1 +80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data> +80002ce0: 00052007 flw ft0,0(a0) +80002ce4: 00452087 flw ft1,4(a0) +80002ce8: 00852107 flw ft2,8(a0) +80002cec: 00c52683 lw a3,12(a0) +80002cf0: a0101553 flt.s a0,ft0,ft1 +80002cf4: 001015f3 fsflags a1,zero +80002cf8: 00000613 li a2,0 +80002cfc: 1ad51e63 bne a0,a3,80002eb8 <fail> +80002d00: 1ac59c63 bne a1,a2,80002eb8 <fail> + +80002d04 <test_8>: +80002d04: 00800193 li gp,8 +80002d08: 00001517 auipc a0,0x1 +80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data> +80002d10: 00052007 flw ft0,0(a0) +80002d14: 00452087 flw ft1,4(a0) +80002d18: 00852107 flw ft2,8(a0) +80002d1c: 00c52683 lw a3,12(a0) +80002d20: a0102553 feq.s a0,ft0,ft1 +80002d24: 001015f3 fsflags a1,zero +80002d28: 00000613 li a2,0 +80002d2c: 18d51663 bne a0,a3,80002eb8 <fail> +80002d30: 18c59463 bne a1,a2,80002eb8 <fail> + +80002d34 <test_9>: +80002d34: 00900193 li gp,9 +80002d38: 00001517 auipc a0,0x1 +80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data> +80002d40: 00052007 flw ft0,0(a0) +80002d44: 00452087 flw ft1,4(a0) +80002d48: 00852107 flw ft2,8(a0) +80002d4c: 00c52683 lw a3,12(a0) +80002d50: a0102553 feq.s a0,ft0,ft1 +80002d54: 001015f3 fsflags a1,zero +80002d58: 00000613 li a2,0 +80002d5c: 14d51e63 bne a0,a3,80002eb8 <fail> +80002d60: 14c59c63 bne a1,a2,80002eb8 <fail> + +80002d64 <test_10>: +80002d64: 00a00193 li gp,10 +80002d68: 00001517 auipc a0,0x1 +80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_10_data> +80002d70: 00052007 flw ft0,0(a0) +80002d74: 00452087 flw ft1,4(a0) +80002d78: 00852107 flw ft2,8(a0) +80002d7c: 00c52683 lw a3,12(a0) +80002d80: a0102553 feq.s a0,ft0,ft1 +80002d84: 001015f3 fsflags a1,zero +80002d88: 01000613 li a2,16 +80002d8c: 12d51663 bne a0,a3,80002eb8 <fail> +80002d90: 12c59463 bne a1,a2,80002eb8 <fail> + +80002d94 <test_11>: +80002d94: 00b00193 li gp,11 +80002d98: 00001517 auipc a0,0x1 +80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_11_data> +80002da0: 00052007 flw ft0,0(a0) +80002da4: 00452087 flw ft1,4(a0) +80002da8: 00852107 flw ft2,8(a0) +80002dac: 00c52683 lw a3,12(a0) +80002db0: a0101553 flt.s a0,ft0,ft1 +80002db4: 001015f3 fsflags a1,zero +80002db8: 01000613 li a2,16 +80002dbc: 0ed51e63 bne a0,a3,80002eb8 <fail> +80002dc0: 0ec59c63 bne a1,a2,80002eb8 <fail> + +80002dc4 <test_12>: +80002dc4: 00c00193 li gp,12 +80002dc8: 00001517 auipc a0,0x1 +80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_12_data> +80002dd0: 00052007 flw ft0,0(a0) +80002dd4: 00452087 flw ft1,4(a0) +80002dd8: 00852107 flw ft2,8(a0) +80002ddc: 00c52683 lw a3,12(a0) +80002de0: a0101553 flt.s a0,ft0,ft1 +80002de4: 001015f3 fsflags a1,zero +80002de8: 01000613 li a2,16 +80002dec: 0cd51663 bne a0,a3,80002eb8 <fail> +80002df0: 0cc59463 bne a1,a2,80002eb8 <fail> + +80002df4 <test_13>: +80002df4: 00d00193 li gp,13 +80002df8: 00001517 auipc a0,0x1 +80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_13_data> +80002e00: 00052007 flw ft0,0(a0) +80002e04: 00452087 flw ft1,4(a0) +80002e08: 00852107 flw ft2,8(a0) +80002e0c: 00c52683 lw a3,12(a0) +80002e10: a0101553 flt.s a0,ft0,ft1 +80002e14: 001015f3 fsflags a1,zero +80002e18: 01000613 li a2,16 +80002e1c: 08d51e63 bne a0,a3,80002eb8 <fail> +80002e20: 08c59c63 bne a1,a2,80002eb8 <fail> + +80002e24 <test_14>: +80002e24: 00e00193 li gp,14 +80002e28: 00001517 auipc a0,0x1 +80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_14_data> +80002e30: 00052007 flw ft0,0(a0) +80002e34: 00452087 flw ft1,4(a0) +80002e38: 00852107 flw ft2,8(a0) +80002e3c: 00c52683 lw a3,12(a0) +80002e40: a0100553 fle.s a0,ft0,ft1 +80002e44: 001015f3 fsflags a1,zero +80002e48: 01000613 li a2,16 +80002e4c: 06d51663 bne a0,a3,80002eb8 <fail> +80002e50: 06c59463 bne a1,a2,80002eb8 <fail> + +80002e54 <test_15>: +80002e54: 00f00193 li gp,15 +80002e58: 00001517 auipc a0,0x1 +80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_15_data> +80002e60: 00052007 flw ft0,0(a0) +80002e64: 00452087 flw ft1,4(a0) +80002e68: 00852107 flw ft2,8(a0) +80002e6c: 00c52683 lw a3,12(a0) +80002e70: a0100553 fle.s a0,ft0,ft1 +80002e74: 001015f3 fsflags a1,zero +80002e78: 01000613 li a2,16 +80002e7c: 02d51e63 bne a0,a3,80002eb8 <fail> +80002e80: 02c59c63 bne a1,a2,80002eb8 <fail> + +80002e84 <test_16>: +80002e84: 01000193 li gp,16 +80002e88: 00001517 auipc a0,0x1 +80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_16_data> +80002e90: 00052007 flw ft0,0(a0) +80002e94: 00452087 flw ft1,4(a0) +80002e98: 00852107 flw ft2,8(a0) +80002e9c: 00c52683 lw a3,12(a0) +80002ea0: a0100553 fle.s a0,ft0,ft1 +80002ea4: 001015f3 fsflags a1,zero +80002ea8: 01000613 li a2,16 +80002eac: 00d51663 bne a0,a3,80002eb8 <fail> +80002eb0: 00c59463 bne a1,a2,80002eb8 <fail> +80002eb4: 00301a63 bne zero,gp,80002ec8 <pass> + +80002eb8 <fail>: +80002eb8: 00119513 slli a0,gp,0x1 +80002ebc: 00050063 beqz a0,80002ebc <fail+0x4> +80002ec0: 00156513 ori a0,a0,1 +80002ec4: 00000073 ecall + +80002ec8 <pass>: +80002ec8: 00100513 li a0,1 +80002ecc: 00000073 ecall +80002ed0: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: bfae147b 0xbfae147b +80004004: bfae147b 0xbfae147b +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: 0001 nop +8000400e: 0000 unimp + +80004010 <test_3_data>: +80004010: bfae147b 0xbfae147b +80004014: bfae147b 0xbfae147b +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: 0001 nop +8000401e: 0000 unimp + +80004020 <test_4_data>: +80004020: bfae147b 0xbfae147b +80004024: bfae147b 0xbfae147b +80004028: 0000 unimp +8000402a: 0000 unimp +8000402c: 0000 unimp +8000402e: 0000 unimp + +80004030 <test_5_data>: +80004030: 5c29 li s8,-22 +80004032: 147bbfaf 0x147bbfaf +80004036: bfae fsd fa1,504(sp) +80004038: 0000 unimp +8000403a: 0000 unimp +8000403c: 0000 unimp +8000403e: 0000 unimp + +80004040 <test_6_data>: +80004040: 5c29 li s8,-22 +80004042: 147bbfaf 0x147bbfaf +80004046: bfae fsd fa1,504(sp) +80004048: 0000 unimp +8000404a: 0000 unimp +8000404c: 0001 nop +8000404e: 0000 unimp + +80004050 <test_7_data>: +80004050: 5c29 li s8,-22 +80004052: 147bbfaf 0x147bbfaf +80004056: bfae fsd fa1,504(sp) +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0001 nop +8000405e: 0000 unimp + +80004060 <test_8_data>: +80004060: ffff 0xffff +80004062: 7fff 0x7fff +80004064: 0000 unimp +80004066: 0000 unimp +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 0000 unimp + +80004070 <test_9_data>: +80004070: ffff 0xffff +80004072: 7fff 0x7fff +80004074: ffff 0xffff +80004076: 7fff 0x7fff +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: 0000 unimp +8000407e: 0000 unimp + +80004080 <test_10_data>: +80004080: 0001 nop +80004082: 7f80 flw fs0,56(a5) +80004084: 0000 unimp +80004086: 0000 unimp +80004088: 0000 unimp +8000408a: 0000 unimp +8000408c: 0000 unimp +8000408e: 0000 unimp + +80004090 <test_11_data>: +80004090: ffff 0xffff +80004092: 7fff 0x7fff +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 0000 unimp +8000409a: 0000 unimp +8000409c: 0000 unimp +8000409e: 0000 unimp + +800040a0 <test_12_data>: +800040a0: ffff 0xffff +800040a2: 7fff 0x7fff +800040a4: ffff 0xffff +800040a6: 7fff 0x7fff +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 0000 unimp +800040ae: 0000 unimp + +800040b0 <test_13_data>: +800040b0: 0001 nop +800040b2: 7f80 flw fs0,56(a5) +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: 0000 unimp + +800040c0 <test_14_data>: +800040c0: ffff 0xffff +800040c2: 7fff 0x7fff +800040c4: 0000 unimp +800040c6: 0000 unimp +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 0000 unimp + +800040d0 <test_15_data>: +800040d0: ffff 0xffff +800040d2: 7fff 0x7fff +800040d4: ffff 0xffff +800040d6: 7fff 0x7fff +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 0000 unimp + +800040e0 <test_16_data>: +800040e0: 0001 nop +800040e2: 7f80 flw fs0,56(a5) +800040e4: 0000 unimp +800040e6: 0000 unimp +800040e8: 0000 unimp +800040ea: 0000 unimp +800040ec: 0000 unimp +800040ee: 0000 unimp diff --git a/test/riscv-tests/rv32uf-v-fcmp.elf b/test/riscv-tests/rv32uf-v-fcmp.elf Binary files differnew file mode 100644 index 0000000..e39a0cb --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcmp.elf diff --git a/test/riscv-tests/rv32uf-v-fcvt.dump b/test/riscv-tests/rv32uf-v-fcvt.dump new file mode 100644 index 0000000..0ca4fd8 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcvt.dump @@ -0,0 +1,974 @@ + +rv32uf-v-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00000597 auipc a1,0x0 +800024cc: 7cc58593 addi a1,a1,1996 # 80002c94 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00000597 auipc a1,0x0 +8000253c: 7e858593 addi a1,a1,2024 # 80002d20 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00000597 auipc a1,0x0 +800025a8: 79458593 addi a1,a1,1940 # 80002d38 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00000597 auipc a1,0x0 +80002614: 6c858593 addi a1,a1,1736 # 80002cd8 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00000597 auipc a1,0x0 +8000274c: 6b858593 addi a1,a1,1720 # 80002e00 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 62058593 addi a1,a1,1568 # 80002ddc <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 51c60613 addi a2,a2,1308 # 80002e2c <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 42c60613 addi a2,a2,1068 # 80002da8 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 3ac60613 addi a2,a2,940 # 80002d74 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 03200793 li a5,50 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 072117b7 lui a5,0x7211 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 20978793 addi a5,a5,521 # 7211209 <_start-0x78deedf7> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00000517 auipc a0,0x0 +80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data> +80002bf0: 00052683 lw a3,0(a0) +80002bf4: 00200513 li a0,2 +80002bf8: d0057053 fcvt.s.w ft0,a0 +80002bfc: 00101073 fsflags zero +80002c00: e0000553 fmv.x.w a0,ft0 +80002c04: 06d51a63 bne a0,a3,80002c78 <fail> + +80002c08 <test_3>: +80002c08: 00300193 li gp,3 +80002c0c: 00000517 auipc a0,0x0 +80002c10: 3f850513 addi a0,a0,1016 # 80003004 <test_3_data> +80002c14: 00052683 lw a3,0(a0) +80002c18: ffe00513 li a0,-2 +80002c1c: d0057053 fcvt.s.w ft0,a0 +80002c20: 00101073 fsflags zero +80002c24: e0000553 fmv.x.w a0,ft0 +80002c28: 04d51863 bne a0,a3,80002c78 <fail> + +80002c2c <test_4>: +80002c2c: 00400193 li gp,4 +80002c30: 00000517 auipc a0,0x0 +80002c34: 3d850513 addi a0,a0,984 # 80003008 <test_4_data> +80002c38: 00052683 lw a3,0(a0) +80002c3c: 00200513 li a0,2 +80002c40: d0157053 fcvt.s.wu ft0,a0 +80002c44: 00101073 fsflags zero +80002c48: e0000553 fmv.x.w a0,ft0 +80002c4c: 02d51663 bne a0,a3,80002c78 <fail> + +80002c50 <test_5>: +80002c50: 00500193 li gp,5 +80002c54: 00000517 auipc a0,0x0 +80002c58: 3b850513 addi a0,a0,952 # 8000300c <test_5_data> +80002c5c: 00052683 lw a3,0(a0) +80002c60: ffe00513 li a0,-2 +80002c64: d0157053 fcvt.s.wu ft0,a0 +80002c68: 00101073 fsflags zero +80002c6c: e0000553 fmv.x.w a0,ft0 +80002c70: 00d51463 bne a0,a3,80002c78 <fail> +80002c74: 00301a63 bne zero,gp,80002c88 <pass> + +80002c78 <fail>: +80002c78: 00119513 slli a0,gp,0x1 +80002c7c: 00050063 beqz a0,80002c7c <fail+0x4> +80002c80: 00156513 ori a0,a0,1 +80002c84: 00000073 ecall + +80002c88 <pass>: +80002c88: 00100513 li a0,1 +80002c8c: 00000073 ecall +80002c90: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: 0000 unimp +80003002: 4000 lw s0,0(s0) + +80003004 <test_3_data>: +80003004: 0000 unimp +80003006: c000 sw s0,0(s0) + +80003008 <test_4_data>: +80003008: 0000 unimp +8000300a: 4000 lw s0,0(s0) + +8000300c <test_5_data>: +8000300c: 0000 unimp +8000300e: 4f80 lw s0,24(a5) diff --git a/test/riscv-tests/rv32uf-v-fcvt.elf b/test/riscv-tests/rv32uf-v-fcvt.elf Binary files differnew file mode 100644 index 0000000..949a1df --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcvt.elf diff --git a/test/riscv-tests/rv32uf-v-fcvt_w.dump b/test/riscv-tests/rv32uf-v-fcvt_w.dump new file mode 100644 index 0000000..4a3e864 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcvt_w.dump @@ -0,0 +1,1401 @@ + +rv32uf-v-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: b2858593 addi a1,a1,-1240 # 80002ff0 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: b4458593 addi a1,a1,-1212 # 8000307c <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: af058593 addi a1,a1,-1296 # 80003094 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: a2458593 addi a1,a1,-1500 # 80003034 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: a1458593 addi a1,a1,-1516 # 8000315c <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 97c58593 addi a1,a1,-1668 # 80003138 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00001617 auipc a2,0x1 +80002914: 87860613 addi a2,a2,-1928 # 80003188 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 78860613 addi a2,a2,1928 # 80003104 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 70860613 addi a2,a2,1800 # 800030d0 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 03200793 li a5,50 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 020b57b7 lui a5,0x20b5 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 26e78793 addi a5,a5,622 # 20b526e <_start-0x7df4ad92> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: c0001553 fcvt.w.s a0,ft0,rtz +80002c04: 001015f3 fsflags a1,zero +80002c08: 00100613 li a2,1 +80002c0c: 3cd51463 bne a0,a3,80002fd4 <fail> +80002c10: 3cc59263 bne a1,a2,80002fd4 <fail> + +80002c14 <test_3>: +80002c14: 00300193 li gp,3 +80002c18: 00001517 auipc a0,0x1 +80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data> +80002c20: 00052007 flw ft0,0(a0) +80002c24: 00452087 flw ft1,4(a0) +80002c28: 00852107 flw ft2,8(a0) +80002c2c: 00c52683 lw a3,12(a0) +80002c30: c0001553 fcvt.w.s a0,ft0,rtz +80002c34: 001015f3 fsflags a1,zero +80002c38: 00000613 li a2,0 +80002c3c: 38d51c63 bne a0,a3,80002fd4 <fail> +80002c40: 38c59a63 bne a1,a2,80002fd4 <fail> + +80002c44 <test_4>: +80002c44: 00400193 li gp,4 +80002c48: 00001517 auipc a0,0x1 +80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data> +80002c50: 00052007 flw ft0,0(a0) +80002c54: 00452087 flw ft1,4(a0) +80002c58: 00852107 flw ft2,8(a0) +80002c5c: 00c52683 lw a3,12(a0) +80002c60: c0001553 fcvt.w.s a0,ft0,rtz +80002c64: 001015f3 fsflags a1,zero +80002c68: 00100613 li a2,1 +80002c6c: 36d51463 bne a0,a3,80002fd4 <fail> +80002c70: 36c59263 bne a1,a2,80002fd4 <fail> + +80002c74 <test_5>: +80002c74: 00500193 li gp,5 +80002c78: 00001517 auipc a0,0x1 +80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data> +80002c80: 00052007 flw ft0,0(a0) +80002c84: 00452087 flw ft1,4(a0) +80002c88: 00852107 flw ft2,8(a0) +80002c8c: 00c52683 lw a3,12(a0) +80002c90: c0001553 fcvt.w.s a0,ft0,rtz +80002c94: 001015f3 fsflags a1,zero +80002c98: 00100613 li a2,1 +80002c9c: 32d51c63 bne a0,a3,80002fd4 <fail> +80002ca0: 32c59a63 bne a1,a2,80002fd4 <fail> + +80002ca4 <test_6>: +80002ca4: 00600193 li gp,6 +80002ca8: 00001517 auipc a0,0x1 +80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data> +80002cb0: 00052007 flw ft0,0(a0) +80002cb4: 00452087 flw ft1,4(a0) +80002cb8: 00852107 flw ft2,8(a0) +80002cbc: 00c52683 lw a3,12(a0) +80002cc0: c0001553 fcvt.w.s a0,ft0,rtz +80002cc4: 001015f3 fsflags a1,zero +80002cc8: 00000613 li a2,0 +80002ccc: 30d51463 bne a0,a3,80002fd4 <fail> +80002cd0: 30c59263 bne a1,a2,80002fd4 <fail> + +80002cd4 <test_7>: +80002cd4: 00700193 li gp,7 +80002cd8: 00001517 auipc a0,0x1 +80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data> +80002ce0: 00052007 flw ft0,0(a0) +80002ce4: 00452087 flw ft1,4(a0) +80002ce8: 00852107 flw ft2,8(a0) +80002cec: 00c52683 lw a3,12(a0) +80002cf0: c0001553 fcvt.w.s a0,ft0,rtz +80002cf4: 001015f3 fsflags a1,zero +80002cf8: 00100613 li a2,1 +80002cfc: 2cd51c63 bne a0,a3,80002fd4 <fail> +80002d00: 2cc59a63 bne a1,a2,80002fd4 <fail> + +80002d04 <test_8>: +80002d04: 00800193 li gp,8 +80002d08: 00001517 auipc a0,0x1 +80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data> +80002d10: 00052007 flw ft0,0(a0) +80002d14: 00452087 flw ft1,4(a0) +80002d18: 00852107 flw ft2,8(a0) +80002d1c: 00c52683 lw a3,12(a0) +80002d20: c0001553 fcvt.w.s a0,ft0,rtz +80002d24: 001015f3 fsflags a1,zero +80002d28: 01000613 li a2,16 +80002d2c: 2ad51463 bne a0,a3,80002fd4 <fail> +80002d30: 2ac59263 bne a1,a2,80002fd4 <fail> + +80002d34 <test_9>: +80002d34: 00900193 li gp,9 +80002d38: 00001517 auipc a0,0x1 +80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data> +80002d40: 00052007 flw ft0,0(a0) +80002d44: 00452087 flw ft1,4(a0) +80002d48: 00852107 flw ft2,8(a0) +80002d4c: 00c52683 lw a3,12(a0) +80002d50: c0001553 fcvt.w.s a0,ft0,rtz +80002d54: 001015f3 fsflags a1,zero +80002d58: 01000613 li a2,16 +80002d5c: 26d51c63 bne a0,a3,80002fd4 <fail> +80002d60: 26c59a63 bne a1,a2,80002fd4 <fail> + +80002d64 <test_12>: +80002d64: 00c00193 li gp,12 +80002d68: 00001517 auipc a0,0x1 +80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_12_data> +80002d70: 00052007 flw ft0,0(a0) +80002d74: 00452087 flw ft1,4(a0) +80002d78: 00852107 flw ft2,8(a0) +80002d7c: 00c52683 lw a3,12(a0) +80002d80: c0101553 fcvt.wu.s a0,ft0,rtz +80002d84: 001015f3 fsflags a1,zero +80002d88: 01000613 li a2,16 +80002d8c: 24d51463 bne a0,a3,80002fd4 <fail> +80002d90: 24c59263 bne a1,a2,80002fd4 <fail> + +80002d94 <test_13>: +80002d94: 00d00193 li gp,13 +80002d98: 00001517 auipc a0,0x1 +80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_13_data> +80002da0: 00052007 flw ft0,0(a0) +80002da4: 00452087 flw ft1,4(a0) +80002da8: 00852107 flw ft2,8(a0) +80002dac: 00c52683 lw a3,12(a0) +80002db0: c0101553 fcvt.wu.s a0,ft0,rtz +80002db4: 001015f3 fsflags a1,zero +80002db8: 01000613 li a2,16 +80002dbc: 20d51c63 bne a0,a3,80002fd4 <fail> +80002dc0: 20c59a63 bne a1,a2,80002fd4 <fail> + +80002dc4 <test_14>: +80002dc4: 00e00193 li gp,14 +80002dc8: 00001517 auipc a0,0x1 +80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_14_data> +80002dd0: 00052007 flw ft0,0(a0) +80002dd4: 00452087 flw ft1,4(a0) +80002dd8: 00852107 flw ft2,8(a0) +80002ddc: 00c52683 lw a3,12(a0) +80002de0: c0101553 fcvt.wu.s a0,ft0,rtz +80002de4: 001015f3 fsflags a1,zero +80002de8: 00100613 li a2,1 +80002dec: 1ed51463 bne a0,a3,80002fd4 <fail> +80002df0: 1ec59263 bne a1,a2,80002fd4 <fail> + +80002df4 <test_15>: +80002df4: 00f00193 li gp,15 +80002df8: 00001517 auipc a0,0x1 +80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_15_data> +80002e00: 00052007 flw ft0,0(a0) +80002e04: 00452087 flw ft1,4(a0) +80002e08: 00852107 flw ft2,8(a0) +80002e0c: 00c52683 lw a3,12(a0) +80002e10: c0101553 fcvt.wu.s a0,ft0,rtz +80002e14: 001015f3 fsflags a1,zero +80002e18: 00100613 li a2,1 +80002e1c: 1ad51c63 bne a0,a3,80002fd4 <fail> +80002e20: 1ac59a63 bne a1,a2,80002fd4 <fail> + +80002e24 <test_16>: +80002e24: 01000193 li gp,16 +80002e28: 00001517 auipc a0,0x1 +80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_16_data> +80002e30: 00052007 flw ft0,0(a0) +80002e34: 00452087 flw ft1,4(a0) +80002e38: 00852107 flw ft2,8(a0) +80002e3c: 00c52683 lw a3,12(a0) +80002e40: c0101553 fcvt.wu.s a0,ft0,rtz +80002e44: 001015f3 fsflags a1,zero +80002e48: 00000613 li a2,0 +80002e4c: 18d51463 bne a0,a3,80002fd4 <fail> +80002e50: 18c59263 bne a1,a2,80002fd4 <fail> + +80002e54 <test_17>: +80002e54: 01100193 li gp,17 +80002e58: 00001517 auipc a0,0x1 +80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_17_data> +80002e60: 00052007 flw ft0,0(a0) +80002e64: 00452087 flw ft1,4(a0) +80002e68: 00852107 flw ft2,8(a0) +80002e6c: 00c52683 lw a3,12(a0) +80002e70: c0101553 fcvt.wu.s a0,ft0,rtz +80002e74: 001015f3 fsflags a1,zero +80002e78: 00100613 li a2,1 +80002e7c: 14d51c63 bne a0,a3,80002fd4 <fail> +80002e80: 14c59a63 bne a1,a2,80002fd4 <fail> + +80002e84 <test_18>: +80002e84: 01200193 li gp,18 +80002e88: 00001517 auipc a0,0x1 +80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_18_data> +80002e90: 00052007 flw ft0,0(a0) +80002e94: 00452087 flw ft1,4(a0) +80002e98: 00852107 flw ft2,8(a0) +80002e9c: 00c52683 lw a3,12(a0) +80002ea0: c0101553 fcvt.wu.s a0,ft0,rtz +80002ea4: 001015f3 fsflags a1,zero +80002ea8: 01000613 li a2,16 +80002eac: 12d51463 bne a0,a3,80002fd4 <fail> +80002eb0: 12c59263 bne a1,a2,80002fd4 <fail> + +80002eb4 <test_19>: +80002eb4: 01300193 li gp,19 +80002eb8: 00001517 auipc a0,0x1 +80002ebc: 23850513 addi a0,a0,568 # 800040f0 <test_19_data> +80002ec0: 00052007 flw ft0,0(a0) +80002ec4: 00452087 flw ft1,4(a0) +80002ec8: 00852107 flw ft2,8(a0) +80002ecc: 00c52683 lw a3,12(a0) +80002ed0: c0101553 fcvt.wu.s a0,ft0,rtz +80002ed4: 001015f3 fsflags a1,zero +80002ed8: 00000613 li a2,0 +80002edc: 0ed51c63 bne a0,a3,80002fd4 <fail> +80002ee0: 0ec59a63 bne a1,a2,80002fd4 <fail> + +80002ee4 <test_42>: +80002ee4: 00001097 auipc ra,0x1 +80002ee8: 21c08093 addi ra,ra,540 # 80004100 <begin_signature> +80002eec: 0000a087 flw ft1,0(ra) +80002ef0: c000f0d3 fcvt.w.s ra,ft1 +80002ef4: 80000eb7 lui t4,0x80000 +80002ef8: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002efc: 02a00193 li gp,42 +80002f00: 0dd09a63 bne ra,t4,80002fd4 <fail> + +80002f04 <test_44>: +80002f04: 00001097 auipc ra,0x1 +80002f08: 1fc08093 addi ra,ra,508 # 80004100 <begin_signature> +80002f0c: 0080a087 flw ft1,8(ra) +80002f10: c000f0d3 fcvt.w.s ra,ft1 +80002f14: 80000eb7 lui t4,0x80000 +80002f18: 02c00193 li gp,44 +80002f1c: 0bd09c63 bne ra,t4,80002fd4 <fail> + +80002f20 <test_52>: +80002f20: 00001097 auipc ra,0x1 +80002f24: 1e008093 addi ra,ra,480 # 80004100 <begin_signature> +80002f28: 0040a087 flw ft1,4(ra) +80002f2c: c000f0d3 fcvt.w.s ra,ft1 +80002f30: 80000eb7 lui t4,0x80000 +80002f34: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002f38: 03400193 li gp,52 +80002f3c: 09d09c63 bne ra,t4,80002fd4 <fail> + +80002f40 <test_54>: +80002f40: 00001097 auipc ra,0x1 +80002f44: 1c008093 addi ra,ra,448 # 80004100 <begin_signature> +80002f48: 00c0a087 flw ft1,12(ra) +80002f4c: c000f0d3 fcvt.w.s ra,ft1 +80002f50: 80000eb7 lui t4,0x80000 +80002f54: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07> +80002f58: 03600193 li gp,54 +80002f5c: 07d09c63 bne ra,t4,80002fd4 <fail> + +80002f60 <test_62>: +80002f60: 00001097 auipc ra,0x1 +80002f64: 1a008093 addi ra,ra,416 # 80004100 <begin_signature> +80002f68: 0000a087 flw ft1,0(ra) +80002f6c: c010f0d3 fcvt.wu.s ra,ft1 +80002f70: fff00e93 li t4,-1 +80002f74: 03e00193 li gp,62 +80002f78: 05d09e63 bne ra,t4,80002fd4 <fail> + +80002f7c <test_63>: +80002f7c: 00001097 auipc ra,0x1 +80002f80: 18408093 addi ra,ra,388 # 80004100 <begin_signature> +80002f84: 0040a087 flw ft1,4(ra) +80002f88: c010f0d3 fcvt.wu.s ra,ft1 +80002f8c: fff00e93 li t4,-1 +80002f90: 03f00193 li gp,63 +80002f94: 05d09063 bne ra,t4,80002fd4 <fail> + +80002f98 <test_64>: +80002f98: 00001097 auipc ra,0x1 +80002f9c: 16808093 addi ra,ra,360 # 80004100 <begin_signature> +80002fa0: 0080a087 flw ft1,8(ra) +80002fa4: c010f0d3 fcvt.wu.s ra,ft1 +80002fa8: 00000e93 li t4,0 +80002fac: 04000193 li gp,64 +80002fb0: 03d09263 bne ra,t4,80002fd4 <fail> + +80002fb4 <test_65>: +80002fb4: 00001097 auipc ra,0x1 +80002fb8: 14c08093 addi ra,ra,332 # 80004100 <begin_signature> +80002fbc: 00c0a087 flw ft1,12(ra) +80002fc0: c010f0d3 fcvt.wu.s ra,ft1 +80002fc4: fff00e93 li t4,-1 +80002fc8: 04100193 li gp,65 +80002fcc: 01d09463 bne ra,t4,80002fd4 <fail> +80002fd0: 00301a63 bne zero,gp,80002fe4 <pass> + +80002fd4 <fail>: +80002fd4: 00119513 slli a0,gp,0x1 +80002fd8: 00050063 beqz a0,80002fd8 <fail+0x4> +80002fdc: 00156513 ori a0,a0,1 +80002fe0: 00000073 ecall + +80002fe4 <pass>: +80002fe4: 00100513 li a0,1 +80002fe8: 00000073 ecall +80002fec: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: cccd beqz s1,800040ba <test_15_data+0xa> +80004002: bf8c fsd fa1,56(a5) +80004004: 0000 unimp +80004006: 0000 unimp +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: ffff 0xffff +8000400e: ffff 0xffff + +80004010 <test_3_data>: +80004010: 0000 unimp +80004012: bf80 fsd fs0,56(a5) +80004014: 0000 unimp +80004016: 0000 unimp +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: ffff 0xffff +8000401e: ffff 0xffff + +80004020 <test_4_data>: +80004020: 6666 flw fa2,88(sp) +80004022: bf66 fsd fs9,440(sp) +80004024: 0000 unimp +80004026: 0000 unimp +80004028: 0000 unimp +8000402a: 0000 unimp +8000402c: 0000 unimp +8000402e: 0000 unimp + +80004030 <test_5_data>: +80004030: 6666 flw fa2,88(sp) +80004032: 3f66 fld ft10,120(sp) +80004034: 0000 unimp +80004036: 0000 unimp +80004038: 0000 unimp +8000403a: 0000 unimp +8000403c: 0000 unimp +8000403e: 0000 unimp + +80004040 <test_6_data>: +80004040: 0000 unimp +80004042: 3f80 fld fs0,56(a5) +80004044: 0000 unimp +80004046: 0000 unimp +80004048: 0000 unimp +8000404a: 0000 unimp +8000404c: 0001 nop +8000404e: 0000 unimp + +80004050 <test_7_data>: +80004050: cccd beqz s1,8000410a <begin_signature+0xa> +80004052: 3f8c fld fa1,56(a5) +80004054: 0000 unimp +80004056: 0000 unimp +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0001 nop +8000405e: 0000 unimp + +80004060 <test_8_data>: +80004060: d05e sw s7,32(sp) +80004062: cf32 sw a2,156(sp) +80004064: 0000 unimp +80004066: 0000 unimp +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 8000 0x8000 + +80004070 <test_9_data>: +80004070: d05e sw s7,32(sp) +80004072: 4f32 lw t5,12(sp) +80004074: 0000 unimp +80004076: 0000 unimp +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: ffff 0xffff +8000407e: 7fff 0x7fff + +80004080 <test_12_data>: +80004080: 0000 unimp +80004082: c040 sw s0,4(s0) +80004084: 0000 unimp +80004086: 0000 unimp +80004088: 0000 unimp +8000408a: 0000 unimp +8000408c: 0000 unimp +8000408e: 0000 unimp + +80004090 <test_13_data>: +80004090: 0000 unimp +80004092: bf80 fsd fs0,56(a5) +80004094: 0000 unimp +80004096: 0000 unimp +80004098: 0000 unimp +8000409a: 0000 unimp +8000409c: 0000 unimp +8000409e: 0000 unimp + +800040a0 <test_14_data>: +800040a0: 6666 flw fa2,88(sp) +800040a2: bf66 fsd fs9,440(sp) +800040a4: 0000 unimp +800040a6: 0000 unimp +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 0000 unimp +800040ae: 0000 unimp + +800040b0 <test_15_data>: +800040b0: 6666 flw fa2,88(sp) +800040b2: 3f66 fld ft10,120(sp) +800040b4: 0000 unimp +800040b6: 0000 unimp +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: 0000 unimp + +800040c0 <test_16_data>: +800040c0: 0000 unimp +800040c2: 3f80 fld fs0,56(a5) +800040c4: 0000 unimp +800040c6: 0000 unimp +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0001 nop +800040ce: 0000 unimp + +800040d0 <test_17_data>: +800040d0: cccd beqz s1,8000418a <tdat_d+0x7a> +800040d2: 3f8c fld fa1,56(a5) +800040d4: 0000 unimp +800040d6: 0000 unimp +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0001 nop +800040de: 0000 unimp + +800040e0 <test_18_data>: +800040e0: d05e sw s7,32(sp) +800040e2: cf32 sw a2,156(sp) +800040e4: 0000 unimp +800040e6: 0000 unimp +800040e8: 0000 unimp +800040ea: 0000 unimp +800040ec: 0000 unimp +800040ee: 0000 unimp + +800040f0 <test_19_data>: +800040f0: d05e sw s7,32(sp) +800040f2: 4f32 lw t5,12(sp) +800040f4: 0000 unimp +800040f6: 0000 unimp +800040f8: 0000 unimp +800040fa: 0000 unimp +800040fc: 5e00 lw s0,56(a2) +800040fe: b2d0 fsd fa2,160(a3) + +80004100 <begin_signature>: +80004100: ffff 0xffff +80004102: ffff 0xffff +80004104: ffff 0xffff +80004106: 7fff 0x7fff +80004108: 0000 unimp +8000410a: ff80 fsw fs0,56(a5) +8000410c: 0000 unimp +8000410e: 7f80 flw fs0,56(a5) + +80004110 <tdat_d>: +80004110: ffff 0xffff +80004112: ffff 0xffff +80004114: ffff 0xffff +80004116: ffff 0xffff +80004118: ffff 0xffff +8000411a: ffff 0xffff +8000411c: ffff 0xffff +8000411e: 7fff 0x7fff +80004120: 0000 unimp +80004122: 0000 unimp +80004124: 0000 unimp +80004126: fff0 fsw fa2,124(a5) +80004128: 0000 unimp +8000412a: 0000 unimp +8000412c: 0000 unimp +8000412e: 7ff0 flw fa2,124(a5) diff --git a/test/riscv-tests/rv32uf-v-fcvt_w.elf b/test/riscv-tests/rv32uf-v-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..f034d02 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fcvt_w.elf diff --git a/test/riscv-tests/rv32uf-v-fdiv.dump b/test/riscv-tests/rv32uf-v-fdiv.dump new file mode 100644 index 0000000..cfdccc0 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fdiv.dump @@ -0,0 +1,1091 @@ + +rv32uf-v-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00007117 auipc sp,0x7 +8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00002317 auipc t1,0x2 +80002370: c9430313 addi t1,t1,-876 # 80004000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00004797 auipc a5,0x4 +8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00004717 auipc a4,0x4 +800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00004697 auipc a3,0x4 +800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00004717 auipc a4,0x4 +800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00004797 auipc a5,0x4 +800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 8a858593 addi a1,a1,-1880 # 80002d70 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 8c458593 addi a1,a1,-1852 # 80002dfc <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 87058593 addi a1,a1,-1936 # 80002e14 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00000597 auipc a1,0x0 +80002614: 7a458593 addi a1,a1,1956 # 80002db4 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00000597 auipc a1,0x0 +8000274c: 79458593 addi a1,a1,1940 # 80002edc <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00000597 auipc a1,0x0 +800027c0: 6fc58593 addi a1,a1,1788 # 80002eb8 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00004b17 auipc s6,0x4 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00001d17 auipc s10,0x1 +80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00004717 auipc a4,0x4 +8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00004717 auipc a4,0x4 +800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00004717 auipc a4,0x4 +800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail> +80002900: 00004717 auipc a4,0x4 +80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 5f860613 addi a2,a2,1528 # 80002f08 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 50860613 addi a2,a2,1288 # 80002e84 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 48860613 addi a2,a2,1160 # 80002e50 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00002797 auipc a5,0x2 +80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00001697 auipc a3,0x1 +80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00001717 auipc a4,0x1 +80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00002697 auipc a3,0x2 +80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc03797 auipc a5,0x7fc03 +80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08> +80002af0: 00004717 auipc a4,0x4 +80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head> +80002af8: 7fc03797 auipc a5,0x7fc03 +80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8> +80002b00: 00004717 auipc a4,0x4 +80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00003717 auipc a4,0x3 +80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes> +80002b14: 00003317 auipc t1,0x3 +80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping> +80002b1c: 01000793 li a5,16 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00003797 auipc a5,0x3 +80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 036ca7b7 lui a5,0x36ca +80002b9c: 00080637 lui a2,0x80 +80002ba0: f2a78793 addi a5,a5,-214 # 36c9f2a <_start-0x7c9360d6> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00000517 auipc a0,0x0 +80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: 181071d3 fdiv.s ft3,ft0,ft1 +80002c04: e0018553 fmv.x.w a0,ft3 +80002c08: 001015f3 fsflags a1,zero +80002c0c: 00100613 li a2,1 +80002c10: 14d51263 bne a0,a3,80002d54 <fail> +80002c14: 14c59063 bne a1,a2,80002d54 <fail> + +80002c18 <test_3>: +80002c18: 00300193 li gp,3 +80002c1c: 00000517 auipc a0,0x0 +80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_3_data> +80002c24: 00052007 flw ft0,0(a0) +80002c28: 00452087 flw ft1,4(a0) +80002c2c: 00852107 flw ft2,8(a0) +80002c30: 00c52683 lw a3,12(a0) +80002c34: 181071d3 fdiv.s ft3,ft0,ft1 +80002c38: e0018553 fmv.x.w a0,ft3 +80002c3c: 001015f3 fsflags a1,zero +80002c40: 00100613 li a2,1 +80002c44: 10d51863 bne a0,a3,80002d54 <fail> +80002c48: 10c59663 bne a1,a2,80002d54 <fail> + +80002c4c <test_4>: +80002c4c: 00400193 li gp,4 +80002c50: 00000517 auipc a0,0x0 +80002c54: 3d050513 addi a0,a0,976 # 80003020 <test_4_data> +80002c58: 00052007 flw ft0,0(a0) +80002c5c: 00452087 flw ft1,4(a0) +80002c60: 00852107 flw ft2,8(a0) +80002c64: 00c52683 lw a3,12(a0) +80002c68: 181071d3 fdiv.s ft3,ft0,ft1 +80002c6c: e0018553 fmv.x.w a0,ft3 +80002c70: 001015f3 fsflags a1,zero +80002c74: 00000613 li a2,0 +80002c78: 0cd51e63 bne a0,a3,80002d54 <fail> +80002c7c: 0cc59c63 bne a1,a2,80002d54 <fail> + +80002c80 <test_5>: +80002c80: 00500193 li gp,5 +80002c84: 00000517 auipc a0,0x0 +80002c88: 3ac50513 addi a0,a0,940 # 80003030 <test_5_data> +80002c8c: 00052007 flw ft0,0(a0) +80002c90: 00452087 flw ft1,4(a0) +80002c94: 00852107 flw ft2,8(a0) +80002c98: 00c52683 lw a3,12(a0) +80002c9c: 580071d3 fsqrt.s ft3,ft0 +80002ca0: e0018553 fmv.x.w a0,ft3 +80002ca4: 001015f3 fsflags a1,zero +80002ca8: 00100613 li a2,1 +80002cac: 0ad51463 bne a0,a3,80002d54 <fail> +80002cb0: 0ac59263 bne a1,a2,80002d54 <fail> + +80002cb4 <test_6>: +80002cb4: 00600193 li gp,6 +80002cb8: 00000517 auipc a0,0x0 +80002cbc: 38850513 addi a0,a0,904 # 80003040 <test_6_data> +80002cc0: 00052007 flw ft0,0(a0) +80002cc4: 00452087 flw ft1,4(a0) +80002cc8: 00852107 flw ft2,8(a0) +80002ccc: 00c52683 lw a3,12(a0) +80002cd0: 580071d3 fsqrt.s ft3,ft0 +80002cd4: e0018553 fmv.x.w a0,ft3 +80002cd8: 001015f3 fsflags a1,zero +80002cdc: 00000613 li a2,0 +80002ce0: 06d51a63 bne a0,a3,80002d54 <fail> +80002ce4: 06c59863 bne a1,a2,80002d54 <fail> + +80002ce8 <test_7>: +80002ce8: 00700193 li gp,7 +80002cec: 00000517 auipc a0,0x0 +80002cf0: 36450513 addi a0,a0,868 # 80003050 <test_7_data> +80002cf4: 00052007 flw ft0,0(a0) +80002cf8: 00452087 flw ft1,4(a0) +80002cfc: 00852107 flw ft2,8(a0) +80002d00: 00c52683 lw a3,12(a0) +80002d04: 580071d3 fsqrt.s ft3,ft0 +80002d08: e0018553 fmv.x.w a0,ft3 +80002d0c: 001015f3 fsflags a1,zero +80002d10: 01000613 li a2,16 +80002d14: 04d51063 bne a0,a3,80002d54 <fail> +80002d18: 02c59e63 bne a1,a2,80002d54 <fail> + +80002d1c <test_8>: +80002d1c: 00800193 li gp,8 +80002d20: 00000517 auipc a0,0x0 +80002d24: 34450513 addi a0,a0,836 # 80003064 <test_8_data> +80002d28: 00052007 flw ft0,0(a0) +80002d2c: 00452087 flw ft1,4(a0) +80002d30: 00852107 flw ft2,8(a0) +80002d34: 00c52683 lw a3,12(a0) +80002d38: 580071d3 fsqrt.s ft3,ft0 +80002d3c: e0018553 fmv.x.w a0,ft3 +80002d40: 001015f3 fsflags a1,zero +80002d44: 00100613 li a2,1 +80002d48: 00d51663 bne a0,a3,80002d54 <fail> +80002d4c: 00c59463 bne a1,a2,80002d54 <fail> +80002d50: 00301a63 bne zero,gp,80002d64 <pass> + +80002d54 <fail>: +80002d54: 00119513 slli a0,gp,0x1 +80002d58: 00050063 beqz a0,80002d58 <fail+0x4> +80002d5c: 00156513 ori a0,a0,1 +80002d60: 00000073 ecall + +80002d64 <pass>: +80002d64: 00100513 li a0,1 +80002d68: 00000073 ecall +80002d6c: c0001073 unimp + +Disassembly of section .data: + +80003000 <test_2_data>: +80003000: 40490fdb 0x40490fdb +80003004: f854 fsw fa3,52(s0) +80003006: 402d c.li zero,11 +80003008: 0000 unimp +8000300a: 0000 unimp +8000300c: eee0 fsw fs0,92(a3) +8000300e: sltiu t6,zero,1024 + +80003010 <test_3_data>: +80003010: 4000 lw s0,0(s0) +80003012: c49a sw t1,72(sp) +80003014: 449a6333 0x449a6333 +80003018: 0000 unimp +8000301a: 0000 unimp +8000301c: c5a2 sw s0,200(sp) +8000301e: bf7f 0xbf7f + +80003020 <test_4_data>: +80003020: 40490fdb 0x40490fdb +80003024: 0000 unimp +80003026: 3f80 fld fs0,56(a5) +80003028: 0000 unimp +8000302a: 0000 unimp +8000302c: 40490fdb 0x40490fdb + +80003030 <test_5_data>: +80003030: 40490fdb 0x40490fdb +80003034: 0000 unimp +80003036: 0000 unimp +80003038: 0000 unimp +8000303a: 0000 unimp +8000303c: dfc5 beqz a5,80002ff4 <pass+0x290> +8000303e: 3fe2 fld ft11,56(sp) + +80003040 <test_6_data>: +80003040: 4000 lw s0,0(s0) +80003042: 461c lw a5,8(a2) +80003044: 0000 unimp +80003046: 0000 unimp +80003048: 0000 unimp +8000304a: 0000 unimp +8000304c: 0000 unimp +8000304e: 42c8 lw a0,4(a3) + +80003050 <test_7_data>: +80003050: 0000 unimp +80003052: bf80 fsd fs0,56(a5) +80003054: 0000 unimp +80003056: 0000 unimp +80003058: 0000 unimp +8000305a: 0000 unimp +8000305c: 0000 unimp +8000305e: 7fc0 flw fs0,60(a5) +80003060: 0000 unimp +80003062: 0000 unimp + +80003064 <test_8_data>: +80003064: 0000 unimp +80003066: 0000432b 0x432b +8000306a: 0000 unimp +8000306c: 0000 unimp +8000306e: 0000 unimp +80003070: 3a26 fld fs4,104(sp) +80003072: 4151 li sp,20 +80003074: 0000 unimp +80003076: 0000 unimp +80003078: 0000 unimp +8000307a: 0000 unimp +8000307c: 0000 unimp +8000307e: 0000 unimp diff --git a/test/riscv-tests/rv32uf-v-fdiv.elf b/test/riscv-tests/rv32uf-v-fdiv.elf Binary files differnew file mode 100644 index 0000000..812ab3d --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fdiv.elf diff --git a/test/riscv-tests/rv32uf-v-fmadd.dump b/test/riscv-tests/rv32uf-v-fmadd.dump new file mode 100644 index 0000000..438ef1b --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fmadd.dump @@ -0,0 +1,1210 @@ + +rv32uf-v-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: 9ac58593 addi a1,a1,-1620 # 80002e74 <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: 9c858593 addi a1,a1,-1592 # 80002f00 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: 97458593 addi a1,a1,-1676 # 80002f18 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 8a858593 addi a1,a1,-1880 # 80002eb8 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 89858593 addi a1,a1,-1896 # 80002fe0 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 80058593 addi a1,a1,-2048 # 80002fbc <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00000617 auipc a2,0x0 +80002914: 6fc60613 addi a2,a2,1788 # 8000300c <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 60c60613 addi a2,a2,1548 # 80002f88 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 58c60613 addi a2,a2,1420 # 80002f54 <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 00900793 li a5,9 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 0eae77b7 lui a5,0xeae7 +80002b9c: 00080637 lui a2,0x80 +80002ba0: 51278793 addi a5,a5,1298 # eae7512 <_start-0x71518aee> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80002c04: e0018553 fmv.x.w a0,ft3 +80002c08: 001015f3 fsflags a1,zero +80002c0c: 00000613 li a2,0 +80002c10: 24d51463 bne a0,a3,80002e58 <fail> +80002c14: 24c59263 bne a1,a2,80002e58 <fail> + +80002c18 <test_3>: +80002c18: 00300193 li gp,3 +80002c1c: 00001517 auipc a0,0x1 +80002c20: 3f450513 addi a0,a0,1012 # 80004010 <test_3_data> +80002c24: 00052007 flw ft0,0(a0) +80002c28: 00452087 flw ft1,4(a0) +80002c2c: 00852107 flw ft2,8(a0) +80002c30: 00c52683 lw a3,12(a0) +80002c34: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80002c38: e0018553 fmv.x.w a0,ft3 +80002c3c: 001015f3 fsflags a1,zero +80002c40: 00100613 li a2,1 +80002c44: 20d51a63 bne a0,a3,80002e58 <fail> +80002c48: 20c59863 bne a1,a2,80002e58 <fail> + +80002c4c <test_4>: +80002c4c: 00400193 li gp,4 +80002c50: 00001517 auipc a0,0x1 +80002c54: 3d050513 addi a0,a0,976 # 80004020 <test_4_data> +80002c58: 00052007 flw ft0,0(a0) +80002c5c: 00452087 flw ft1,4(a0) +80002c60: 00852107 flw ft2,8(a0) +80002c64: 00c52683 lw a3,12(a0) +80002c68: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80002c6c: e0018553 fmv.x.w a0,ft3 +80002c70: 001015f3 fsflags a1,zero +80002c74: 00000613 li a2,0 +80002c78: 1ed51063 bne a0,a3,80002e58 <fail> +80002c7c: 1cc59e63 bne a1,a2,80002e58 <fail> + +80002c80 <test_5>: +80002c80: 00500193 li gp,5 +80002c84: 00001517 auipc a0,0x1 +80002c88: 3ac50513 addi a0,a0,940 # 80004030 <test_5_data> +80002c8c: 00052007 flw ft0,0(a0) +80002c90: 00452087 flw ft1,4(a0) +80002c94: 00852107 flw ft2,8(a0) +80002c98: 00c52683 lw a3,12(a0) +80002c9c: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +80002ca0: e0018553 fmv.x.w a0,ft3 +80002ca4: 001015f3 fsflags a1,zero +80002ca8: 00000613 li a2,0 +80002cac: 1ad51663 bne a0,a3,80002e58 <fail> +80002cb0: 1ac59463 bne a1,a2,80002e58 <fail> + +80002cb4 <test_6>: +80002cb4: 00600193 li gp,6 +80002cb8: 00001517 auipc a0,0x1 +80002cbc: 38850513 addi a0,a0,904 # 80004040 <test_6_data> +80002cc0: 00052007 flw ft0,0(a0) +80002cc4: 00452087 flw ft1,4(a0) +80002cc8: 00852107 flw ft2,8(a0) +80002ccc: 00c52683 lw a3,12(a0) +80002cd0: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +80002cd4: e0018553 fmv.x.w a0,ft3 +80002cd8: 001015f3 fsflags a1,zero +80002cdc: 00100613 li a2,1 +80002ce0: 16d51c63 bne a0,a3,80002e58 <fail> +80002ce4: 16c59a63 bne a1,a2,80002e58 <fail> + +80002ce8 <test_7>: +80002ce8: 00700193 li gp,7 +80002cec: 00001517 auipc a0,0x1 +80002cf0: 36450513 addi a0,a0,868 # 80004050 <test_7_data> +80002cf4: 00052007 flw ft0,0(a0) +80002cf8: 00452087 flw ft1,4(a0) +80002cfc: 00852107 flw ft2,8(a0) +80002d00: 00c52683 lw a3,12(a0) +80002d04: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +80002d08: e0018553 fmv.x.w a0,ft3 +80002d0c: 001015f3 fsflags a1,zero +80002d10: 00000613 li a2,0 +80002d14: 14d51263 bne a0,a3,80002e58 <fail> +80002d18: 14c59063 bne a1,a2,80002e58 <fail> + +80002d1c <test_8>: +80002d1c: 00800193 li gp,8 +80002d20: 00001517 auipc a0,0x1 +80002d24: 34050513 addi a0,a0,832 # 80004060 <test_8_data> +80002d28: 00052007 flw ft0,0(a0) +80002d2c: 00452087 flw ft1,4(a0) +80002d30: 00852107 flw ft2,8(a0) +80002d34: 00c52683 lw a3,12(a0) +80002d38: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80002d3c: e0018553 fmv.x.w a0,ft3 +80002d40: 001015f3 fsflags a1,zero +80002d44: 00000613 li a2,0 +80002d48: 10d51863 bne a0,a3,80002e58 <fail> +80002d4c: 10c59663 bne a1,a2,80002e58 <fail> + +80002d50 <test_9>: +80002d50: 00900193 li gp,9 +80002d54: 00001517 auipc a0,0x1 +80002d58: 31c50513 addi a0,a0,796 # 80004070 <test_9_data> +80002d5c: 00052007 flw ft0,0(a0) +80002d60: 00452087 flw ft1,4(a0) +80002d64: 00852107 flw ft2,8(a0) +80002d68: 00c52683 lw a3,12(a0) +80002d6c: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80002d70: e0018553 fmv.x.w a0,ft3 +80002d74: 001015f3 fsflags a1,zero +80002d78: 00100613 li a2,1 +80002d7c: 0cd51e63 bne a0,a3,80002e58 <fail> +80002d80: 0cc59c63 bne a1,a2,80002e58 <fail> + +80002d84 <test_10>: +80002d84: 00a00193 li gp,10 +80002d88: 00001517 auipc a0,0x1 +80002d8c: 2f850513 addi a0,a0,760 # 80004080 <test_10_data> +80002d90: 00052007 flw ft0,0(a0) +80002d94: 00452087 flw ft1,4(a0) +80002d98: 00852107 flw ft2,8(a0) +80002d9c: 00c52683 lw a3,12(a0) +80002da0: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80002da4: e0018553 fmv.x.w a0,ft3 +80002da8: 001015f3 fsflags a1,zero +80002dac: 00000613 li a2,0 +80002db0: 0ad51463 bne a0,a3,80002e58 <fail> +80002db4: 0ac59263 bne a1,a2,80002e58 <fail> + +80002db8 <test_11>: +80002db8: 00b00193 li gp,11 +80002dbc: 00001517 auipc a0,0x1 +80002dc0: 2d450513 addi a0,a0,724 # 80004090 <test_11_data> +80002dc4: 00052007 flw ft0,0(a0) +80002dc8: 00452087 flw ft1,4(a0) +80002dcc: 00852107 flw ft2,8(a0) +80002dd0: 00c52683 lw a3,12(a0) +80002dd4: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +80002dd8: e0018553 fmv.x.w a0,ft3 +80002ddc: 001015f3 fsflags a1,zero +80002de0: 00000613 li a2,0 +80002de4: 06d51a63 bne a0,a3,80002e58 <fail> +80002de8: 06c59863 bne a1,a2,80002e58 <fail> + +80002dec <test_12>: +80002dec: 00c00193 li gp,12 +80002df0: 00001517 auipc a0,0x1 +80002df4: 2b050513 addi a0,a0,688 # 800040a0 <test_12_data> +80002df8: 00052007 flw ft0,0(a0) +80002dfc: 00452087 flw ft1,4(a0) +80002e00: 00852107 flw ft2,8(a0) +80002e04: 00c52683 lw a3,12(a0) +80002e08: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +80002e0c: e0018553 fmv.x.w a0,ft3 +80002e10: 001015f3 fsflags a1,zero +80002e14: 00100613 li a2,1 +80002e18: 04d51063 bne a0,a3,80002e58 <fail> +80002e1c: 02c59e63 bne a1,a2,80002e58 <fail> + +80002e20 <test_13>: +80002e20: 00d00193 li gp,13 +80002e24: 00001517 auipc a0,0x1 +80002e28: 28c50513 addi a0,a0,652 # 800040b0 <test_13_data> +80002e2c: 00052007 flw ft0,0(a0) +80002e30: 00452087 flw ft1,4(a0) +80002e34: 00852107 flw ft2,8(a0) +80002e38: 00c52683 lw a3,12(a0) +80002e3c: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +80002e40: e0018553 fmv.x.w a0,ft3 +80002e44: 001015f3 fsflags a1,zero +80002e48: 00000613 li a2,0 +80002e4c: 00d51663 bne a0,a3,80002e58 <fail> +80002e50: 00c59463 bne a1,a2,80002e58 <fail> +80002e54: 00301a63 bne zero,gp,80002e68 <pass> + +80002e58 <fail>: +80002e58: 00119513 slli a0,gp,0x1 +80002e5c: 00050063 beqz a0,80002e5c <fail+0x4> +80002e60: 00156513 ori a0,a0,1 +80002e64: 00000073 ecall + +80002e68 <pass>: +80002e68: 00100513 li a0,1 +80002e6c: 00000073 ecall +80002e70: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 0000 unimp +80004002: 3f80 fld fs0,56(a5) +80004004: 0000 unimp +80004006: 4020 lw s0,64(s0) +80004008: 0000 unimp +8000400a: 3f80 fld fs0,56(a5) +8000400c: 0000 unimp +8000400e: 4060 lw s0,68(s0) + +80004010 <test_3_data>: +80004010: 0000 unimp +80004012: bf80 fsd fs0,56(a5) +80004014: c49a6333 0xc49a6333 +80004018: cccd beqz s1,800040d2 <begin_signature+0x12> +8000401a: 3f8c fld fa1,56(a5) +8000401c: 8666 mv a2,s9 +8000401e: 449a lw s1,132(sp) + +80004020 <test_4_data>: +80004020: 0000 unimp +80004022: 4000 lw s0,0(s0) +80004024: 0000 unimp +80004026: c0a0 sw s0,64(s1) +80004028: 0000 unimp +8000402a: c000 sw s0,0(s0) +8000402c: 0000 unimp +8000402e: c140 sw s0,4(a0) + +80004030 <test_5_data>: +80004030: 0000 unimp +80004032: 3f80 fld fs0,56(a5) +80004034: 0000 unimp +80004036: 4020 lw s0,64(s0) +80004038: 0000 unimp +8000403a: 3f80 fld fs0,56(a5) +8000403c: 0000 unimp +8000403e: c060 sw s0,68(s0) + +80004040 <test_6_data>: +80004040: 0000 unimp +80004042: bf80 fsd fs0,56(a5) +80004044: c49a6333 0xc49a6333 +80004048: cccd beqz s1,80004102 <begin_signature+0x42> +8000404a: 3f8c fld fa1,56(a5) +8000404c: 8666 mv a2,s9 +8000404e: c49a sw t1,72(sp) + +80004050 <test_7_data>: +80004050: 0000 unimp +80004052: 4000 lw s0,0(s0) +80004054: 0000 unimp +80004056: c0a0 sw s0,64(s1) +80004058: 0000 unimp +8000405a: c000 sw s0,0(s0) +8000405c: 0000 unimp +8000405e: 4140 lw s0,4(a0) + +80004060 <test_8_data>: +80004060: 0000 unimp +80004062: 3f80 fld fs0,56(a5) +80004064: 0000 unimp +80004066: 4020 lw s0,64(s0) +80004068: 0000 unimp +8000406a: 3f80 fld fs0,56(a5) +8000406c: 0000 unimp +8000406e: 3fc0 fld fs0,184(a5) + +80004070 <test_9_data>: +80004070: 0000 unimp +80004072: bf80 fsd fs0,56(a5) +80004074: c49a6333 0xc49a6333 +80004078: cccd beqz s1,80004132 <begin_signature+0x72> +8000407a: 3f8c fld fa1,56(a5) +8000407c: 4000 lw s0,0(s0) +8000407e: 449a lw s1,132(sp) + +80004080 <test_10_data>: +80004080: 0000 unimp +80004082: 4000 lw s0,0(s0) +80004084: 0000 unimp +80004086: c0a0 sw s0,64(s1) +80004088: 0000 unimp +8000408a: c000 sw s0,0(s0) +8000408c: 0000 unimp +8000408e: c100 sw s0,0(a0) + +80004090 <test_11_data>: +80004090: 0000 unimp +80004092: 3f80 fld fs0,56(a5) +80004094: 0000 unimp +80004096: 4020 lw s0,64(s0) +80004098: 0000 unimp +8000409a: 3f80 fld fs0,56(a5) +8000409c: 0000 unimp +8000409e: bfc0 fsd fs0,184(a5) + +800040a0 <test_12_data>: +800040a0: 0000 unimp +800040a2: bf80 fsd fs0,56(a5) +800040a4: c49a6333 0xc49a6333 +800040a8: cccd beqz s1,80004162 <begin_signature+0xa2> +800040aa: 3f8c fld fa1,56(a5) +800040ac: 4000 lw s0,0(s0) +800040ae: c49a sw t1,72(sp) + +800040b0 <test_13_data>: +800040b0: 0000 unimp +800040b2: 4000 lw s0,0(s0) +800040b4: 0000 unimp +800040b6: c0a0 sw s0,64(s1) +800040b8: 0000 unimp +800040ba: c000 sw s0,0(s0) +800040bc: 0000 unimp +800040be: 4100 lw s0,0(a0) diff --git a/test/riscv-tests/rv32uf-v-fmadd.elf b/test/riscv-tests/rv32uf-v-fmadd.elf Binary files differnew file mode 100644 index 0000000..160f48f --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fmadd.elf diff --git a/test/riscv-tests/rv32uf-v-fmin.dump b/test/riscv-tests/rv32uf-v-fmin.dump new file mode 100644 index 0000000..9b04ca2 --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fmin.dump @@ -0,0 +1,1348 @@ + +rv32uf-v-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00c0006f j 8000000c <handle_reset> + +80000004 <nmi_vector>: +80000004: 2780206f j 8000227c <wtf> + +80000008 <trap_vector>: +80000008: 2740206f j 8000227c <wtf> + +8000000c <handle_reset>: +8000000c: 00000297 auipc t0,0x0 +80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> +80000014: 30529073 csrw mtvec,t0 +80000018: 00008117 auipc sp,0x8 +8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70> +80000020: f14022f3 csrr t0,mhartid +80000024: 00c29293 slli t0,t0,0xc +80000028: 00510133 add sp,sp,t0 +8000002c: 34011073 csrw mscratch,sp +80000030: 00003517 auipc a0,0x3 +80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart> +80000038: 2090206f j 80002a40 <vm_boot> + +8000003c <pop_tf>: +8000003c: 08452283 lw t0,132(a0) +80000040: 14129073 csrw sepc,t0 +80000044: 00452083 lw ra,4(a0) +80000048: 00852103 lw sp,8(a0) +8000004c: 00c52183 lw gp,12(a0) +80000050: 01052203 lw tp,16(a0) +80000054: 01452283 lw t0,20(a0) +80000058: 01852303 lw t1,24(a0) +8000005c: 01c52383 lw t2,28(a0) +80000060: 02052403 lw s0,32(a0) +80000064: 02452483 lw s1,36(a0) +80000068: 02c52583 lw a1,44(a0) +8000006c: 03052603 lw a2,48(a0) +80000070: 03452683 lw a3,52(a0) +80000074: 03852703 lw a4,56(a0) +80000078: 03c52783 lw a5,60(a0) +8000007c: 04052803 lw a6,64(a0) +80000080: 04452883 lw a7,68(a0) +80000084: 04852903 lw s2,72(a0) +80000088: 04c52983 lw s3,76(a0) +8000008c: 05052a03 lw s4,80(a0) +80000090: 05452a83 lw s5,84(a0) +80000094: 05852b03 lw s6,88(a0) +80000098: 05c52b83 lw s7,92(a0) +8000009c: 06052c03 lw s8,96(a0) +800000a0: 06452c83 lw s9,100(a0) +800000a4: 06852d03 lw s10,104(a0) +800000a8: 06c52d83 lw s11,108(a0) +800000ac: 07052e03 lw t3,112(a0) +800000b0: 07452e83 lw t4,116(a0) +800000b4: 07852f03 lw t5,120(a0) +800000b8: 07c52f83 lw t6,124(a0) +800000bc: 02852503 lw a0,40(a0) +800000c0: 10200073 sret + +800000c4 <trap_entry>: +800000c4: 14011173 csrrw sp,sscratch,sp +800000c8: 00112223 sw ra,4(sp) +800000cc: 00312623 sw gp,12(sp) +800000d0: 00412823 sw tp,16(sp) +800000d4: 00512a23 sw t0,20(sp) +800000d8: 00612c23 sw t1,24(sp) +800000dc: 00712e23 sw t2,28(sp) +800000e0: 02812023 sw s0,32(sp) +800000e4: 02912223 sw s1,36(sp) +800000e8: 02a12423 sw a0,40(sp) +800000ec: 02b12623 sw a1,44(sp) +800000f0: 02c12823 sw a2,48(sp) +800000f4: 02d12a23 sw a3,52(sp) +800000f8: 02e12c23 sw a4,56(sp) +800000fc: 02f12e23 sw a5,60(sp) +80000100: 05012023 sw a6,64(sp) +80000104: 05112223 sw a7,68(sp) +80000108: 05212423 sw s2,72(sp) +8000010c: 05312623 sw s3,76(sp) +80000110: 05412823 sw s4,80(sp) +80000114: 05512a23 sw s5,84(sp) +80000118: 05612c23 sw s6,88(sp) +8000011c: 05712e23 sw s7,92(sp) +80000120: 07812023 sw s8,96(sp) +80000124: 07912223 sw s9,100(sp) +80000128: 07a12423 sw s10,104(sp) +8000012c: 07b12623 sw s11,108(sp) +80000130: 07c12823 sw t3,112(sp) +80000134: 07d12a23 sw t4,116(sp) +80000138: 07e12c23 sw t5,120(sp) +8000013c: 07f12e23 sw t6,124(sp) +80000140: 140112f3 csrrw t0,sscratch,sp +80000144: 00512423 sw t0,8(sp) +80000148: 100022f3 csrr t0,sstatus +8000014c: 08512023 sw t0,128(sp) +80000150: 141022f3 csrr t0,sepc +80000154: 08512223 sw t0,132(sp) +80000158: 143022f3 csrr t0,stval +8000015c: 08512423 sw t0,136(sp) +80000160: 142022f3 csrr t0,scause +80000164: 08512623 sw t0,140(sp) +80000168: 00010513 mv a0,sp +8000016c: 50c0206f j 80002678 <handle_trap> + +Disassembly of section .text: + +80002000 <memcpy>: +80002000: 00c5e7b3 or a5,a1,a2 +80002004: 00f567b3 or a5,a0,a5 +80002008: 0037f793 andi a5,a5,3 +8000200c: 00c506b3 add a3,a0,a2 +80002010: 02078463 beqz a5,80002038 <memcpy+0x38> +80002014: 00c58633 add a2,a1,a2 +80002018: 00050793 mv a5,a0 +8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> +80002020: 00158593 addi a1,a1,1 +80002024: fff5c703 lbu a4,-1(a1) +80002028: 00178793 addi a5,a5,1 +8000202c: fee78fa3 sb a4,-1(a5) +80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> +80002034: 00008067 ret +80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> +8000203c: 00050793 mv a5,a0 +80002040: 00458593 addi a1,a1,4 +80002044: ffc5a703 lw a4,-4(a1) +80002048: 00478793 addi a5,a5,4 +8000204c: fee7ae23 sw a4,-4(a5) +80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> +80002054: 00008067 ret +80002058: 00008067 ret + +8000205c <memset>: +8000205c: 00c567b3 or a5,a0,a2 +80002060: 0037f793 andi a5,a5,3 +80002064: 00c50633 add a2,a0,a2 +80002068: 02078063 beqz a5,80002088 <memset+0x2c> +8000206c: 0ff5f593 andi a1,a1,255 +80002070: 00050793 mv a5,a0 +80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58> +80002078: 00178793 addi a5,a5,1 +8000207c: feb78fa3 sb a1,-1(a5) +80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> +80002084: 00008067 ret +80002088: 0ff5f593 andi a1,a1,255 +8000208c: 00859793 slli a5,a1,0x8 +80002090: 00b7e7b3 or a5,a5,a1 +80002094: 01079593 slli a1,a5,0x10 +80002098: 00f5e5b3 or a1,a1,a5 +8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28> +800020a0: 00050793 mv a5,a0 +800020a4: 00478793 addi a5,a5,4 +800020a8: feb7ae23 sw a1,-4(a5) +800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48> +800020b0: 00008067 ret +800020b4: 00008067 ret + +800020b8 <strlen>: +800020b8: 00054783 lbu a5,0(a0) +800020bc: 00050713 mv a4,a0 +800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20> +800020c4: 00150513 addi a0,a0,1 +800020c8: 00054783 lbu a5,0(a0) +800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc> +800020d0: 40e50533 sub a0,a0,a4 +800020d4: 00008067 ret +800020d8: 00000513 li a0,0 +800020dc: 00008067 ret + +800020e0 <strcmp>: +800020e0: 00150513 addi a0,a0,1 +800020e4: fff54783 lbu a5,-1(a0) +800020e8: 00158593 addi a1,a1,1 +800020ec: fff5c703 lbu a4,-1(a1) +800020f0: 00078863 beqz a5,80002100 <strcmp+0x20> +800020f4: fee786e3 beq a5,a4,800020e0 <strcmp> +800020f8: 40e78533 sub a0,a5,a4 +800020fc: 00008067 ret +80002100: 00000793 li a5,0 +80002104: ff5ff06f j 800020f8 <strcmp+0x18> + +80002108 <memcmp>: +80002108: 00b567b3 or a5,a0,a1 +8000210c: 0037f793 andi a5,a5,3 +80002110: 04079263 bnez a5,80002154 <memcmp+0x4c> +80002114: ffc67693 andi a3,a2,-4 +80002118: 00d506b3 add a3,a0,a3 +8000211c: 00050813 mv a6,a0 +80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c> +80002124: 00052703 lw a4,0(a0) +80002128: 0005a783 lw a5,0(a1) +8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38> +80002130: 0240006f j 80002154 <memcmp+0x4c> +80002134: 00052703 lw a4,0(a0) +80002138: 0005a783 lw a5,0(a1) +8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44> +80002140: 00450513 addi a0,a0,4 +80002144: 00458593 addi a1,a1,4 +80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c> +8000214c: 41050833 sub a6,a0,a6 +80002150: 41060633 sub a2,a2,a6 +80002154: 00c58633 add a2,a1,a2 +80002158: 0140006f j 8000216c <memcmp+0x64> +8000215c: 00158593 addi a1,a1,1 +80002160: fff54783 lbu a5,-1(a0) +80002164: fff5c703 lbu a4,-1(a1) +80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74> +8000216c: 00150513 addi a0,a0,1 +80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54> +80002174: 00000513 li a0,0 +80002178: 00008067 ret +8000217c: 40e78533 sub a0,a5,a4 +80002180: 00008067 ret + +80002184 <strcpy>: +80002184: 00050793 mv a5,a0 +80002188: 00158593 addi a1,a1,1 +8000218c: fff5c703 lbu a4,-1(a1) +80002190: 00178793 addi a5,a5,1 +80002194: fee78fa3 sb a4,-1(a5) +80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4> +8000219c: 00008067 ret + +800021a0 <atol>: +800021a0: 00054783 lbu a5,0(a0) +800021a4: 02000713 li a4,32 +800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18> +800021ac: 00150513 addi a0,a0,1 +800021b0: 00054783 lbu a5,0(a0) +800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc> +800021b8: fd578713 addi a4,a5,-43 +800021bc: 0fd77713 andi a4,a4,253 +800021c0: 04070263 beqz a4,80002204 <atol+0x64> +800021c4: 00054683 lbu a3,0(a0) +800021c8: 00050793 mv a5,a0 +800021cc: 00000613 li a2,0 +800021d0: 04068863 beqz a3,80002220 <atol+0x80> +800021d4: 00000513 li a0,0 +800021d8: 00178793 addi a5,a5,1 +800021dc: fd068593 addi a1,a3,-48 +800021e0: 00251713 slli a4,a0,0x2 +800021e4: 0007c683 lbu a3,0(a5) +800021e8: 00a70533 add a0,a4,a0 +800021ec: 00151513 slli a0,a0,0x1 +800021f0: 00a58533 add a0,a1,a0 +800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38> +800021f8: 00060463 beqz a2,80002200 <atol+0x60> +800021fc: 40a00533 neg a0,a0 +80002200: 00008067 ret +80002204: 00154683 lbu a3,1(a0) +80002208: fd378793 addi a5,a5,-45 +8000220c: 0017b613 seqz a2,a5 +80002210: 00150793 addi a5,a0,1 +80002214: fc0690e3 bnez a3,800021d4 <atol+0x34> +80002218: 00000513 li a0,0 +8000221c: fddff06f j 800021f8 <atol+0x58> +80002220: 00000513 li a0,0 +80002224: 00008067 ret + +80002228 <terminate>: +80002228: fffff697 auipc a3,0xfffff +8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost> +80002230: 0006a703 lw a4,0(a3) +80002234: 0046a783 lw a5,4(a3) +80002238: 00050813 mv a6,a0 +8000223c: 41f55893 srai a7,a0,0x1f +80002240: 00f76733 or a4,a4,a5 +80002244: 02070663 beqz a4,80002270 <terminate+0x48> +80002248: fffff617 auipc a2,0xfffff +8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost> +80002250: 00000713 li a4,0 +80002254: 00e62023 sw a4,0(a2) +80002258: 00000793 li a5,0 +8000225c: 00f62223 sw a5,4(a2) +80002260: 0006a703 lw a4,0(a3) +80002264: 0046a783 lw a5,4(a3) +80002268: 00f76733 or a4,a4,a5 +8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28> +80002270: 0106a023 sw a6,0(a3) +80002274: 0116a223 sw a7,4(a3) +80002278: 0000006f j 80002278 <terminate+0x50> + +8000227c <wtf>: +8000227c: ff010113 addi sp,sp,-16 +80002280: 34900513 li a0,841 +80002284: 00112623 sw ra,12(sp) +80002288: fa1ff0ef jal ra,80002228 <terminate> + +8000228c <printhex>: +8000228c: fe010113 addi sp,sp,-32 +80002290: 01b10793 addi a5,sp,27 +80002294: 00b10e93 addi t4,sp,11 +80002298: 00900e13 li t3,9 +8000229c: 00f57693 andi a3,a0,15 +800022a0: 01c59313 slli t1,a1,0x1c +800022a4: 00455513 srli a0,a0,0x4 +800022a8: 05700613 li a2,87 +800022ac: 0ff6f713 andi a4,a3,255 +800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c> +800022b4: 03000613 li a2,48 +800022b8: 00c70733 add a4,a4,a2 +800022bc: 00e78023 sb a4,0(a5) +800022c0: fff78793 addi a5,a5,-1 +800022c4: 00a36533 or a0,t1,a0 +800022c8: 0045d593 srli a1,a1,0x4 +800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10> +800022d0: 00c14583 lbu a1,12(sp) +800022d4: 00010e23 sb zero,28(sp) +800022d8: 06058263 beqz a1,8000233c <printhex+0xb0> +800022dc: 00c10513 addi a0,sp,12 +800022e0: fffff697 auipc a3,0xfffff +800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost> +800022e8: fffff617 auipc a2,0xfffff +800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost> +800022f0: 0006a703 lw a4,0(a3) +800022f4: 0046a783 lw a5,4(a3) +800022f8: 00058813 mv a6,a1 +800022fc: 00150513 addi a0,a0,1 +80002300: 00f76733 or a4,a4,a5 +80002304: 010108b7 lui a7,0x1010 +80002308: 02070263 beqz a4,8000232c <printhex+0xa0> +8000230c: 00000713 li a4,0 +80002310: 00e62023 sw a4,0(a2) +80002314: 00000793 li a5,0 +80002318: 00f62223 sw a5,4(a2) +8000231c: 0006a703 lw a4,0(a3) +80002320: 0046a783 lw a5,4(a3) +80002324: 00f76733 or a4,a4,a5 +80002328: fe0712e3 bnez a4,8000230c <printhex+0x80> +8000232c: 00054583 lbu a1,0(a0) +80002330: 0106a023 sw a6,0(a3) +80002334: 0116a223 sw a7,4(a3) +80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64> +8000233c: 02010113 addi sp,sp,32 +80002340: 00008067 ret + +80002344 <handle_fault>: +80002344: ff010113 addi sp,sp,-16 +80002348: fffff6b7 lui a3,0xfffff +8000234c: 00112623 sw ra,12(sp) +80002350: 00812423 sw s0,8(sp) +80002354: 00912223 sw s1,4(sp) +80002358: 00d50733 add a4,a0,a3 +8000235c: 0003e7b7 lui a5,0x3e +80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180> +80002364: 00c55613 srli a2,a0,0xc +80002368: 40060e13 addi t3,a2,1024 +8000236c: 00003317 auipc t1,0x3 +80002370: c9430313 addi t1,t1,-876 # 80005000 <pt> +80002374: 002e1793 slli a5,t3,0x2 +80002378: 00f307b3 add a5,t1,a5 +8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000> +80002380: 00d57533 and a0,a0,a3 +80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130> +80002388: 00005797 auipc a5,0x5 +8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head> +80002390: 0007a583 lw a1,0(a5) +80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0> +80002398: 0045a783 lw a5,4(a1) +8000239c: 00005717 auipc a4,0x5 +800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail> +800023a4: 00072703 lw a4,0(a4) +800023a8: 00005697 auipc a3,0x5 +800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head> +800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174> +800023b4: 0005a703 lw a4,0(a1) +800023b8: 002e1793 slli a5,t3,0x2 +800023bc: 00f307b3 add a5,t1,a5 +800023c0: 00c75713 srli a4,a4,0xc +800023c4: 00a71713 slli a4,a4,0xa +800023c8: 0df76e93 ori t4,a4,223 +800023cc: 01f76693 ori a3,a4,31 +800023d0: 01d7a023 sw t4,0(a5) +800023d4: 12050073 sfence.vma a0 +800023d8: 00005717 auipc a4,0x5 +800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping> +800023e0: 00361793 slli a5,a2,0x3 +800023e4: 00f707b3 add a5,a4,a5 +800023e8: 0007a703 lw a4,0(a5) +800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c> +800023f0: 0005a703 lw a4,0(a1) +800023f4: 00e7a023 sw a4,0(a5) +800023f8: 0045a703 lw a4,4(a1) +800023fc: 00e7a223 sw a4,4(a5) +80002400: 000407b7 lui a5,0x40 +80002404: 1007a5f3 csrrs a1,sstatus,a5 +80002408: ffc007b7 lui a5,0xffc00 +8000240c: 00f507b3 add a5,a0,a5 +80002410: 00001637 lui a2,0x1 +80002414: 00050713 mv a4,a0 +80002418: 00c78633 add a2,a5,a2 +8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08> +80002420: 0047ae83 lw t4,4(a5) +80002424: 0087a883 lw a7,8(a5) +80002428: 00c7a803 lw a6,12(a5) +8000242c: 01e72023 sw t5,0(a4) +80002430: 01d72223 sw t4,4(a4) +80002434: 01172423 sw a7,8(a4) +80002438: 01072623 sw a6,12(a4) +8000243c: 01078793 addi a5,a5,16 +80002440: 01070713 addi a4,a4,16 +80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8> +80002448: 10059073 csrw sstatus,a1 +8000244c: 002e1e13 slli t3,t3,0x2 +80002450: 01c30333 add t1,t1,t3 +80002454: 00d32023 sw a3,0(t1) +80002458: 12050073 sfence.vma a0 +8000245c: 0000100f fence.i +80002460: 00c12083 lw ra,12(sp) +80002464: 00812403 lw s0,8(sp) +80002468: 00412483 lw s1,4(sp) +8000246c: 01010113 addi sp,sp,16 +80002470: 00008067 ret +80002474: 04077693 andi a3,a4,64 +80002478: 02069263 bnez a3,8000249c <handle_fault+0x158> +8000247c: 04076713 ori a4,a4,64 +80002480: 00e7a023 sw a4,0(a5) +80002484: 12050073 sfence.vma a0 +80002488: 00c12083 lw ra,12(sp) +8000248c: 00812403 lw s0,8(sp) +80002490: 00412483 lw s1,4(sp) +80002494: 01010113 addi sp,sp,16 +80002498: 00008067 ret +8000249c: 08077693 andi a3,a4,128 +800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8> +800024a4: 00f00693 li a3,15 +800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8> +800024ac: 08076713 ori a4,a4,128 +800024b0: 00e7a023 sw a4,0(a5) +800024b4: fd1ff06f j 80002484 <handle_fault+0x140> +800024b8: 00005797 auipc a5,0x5 +800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail> +800024c0: ef5ff06f j 800023b4 <handle_fault+0x70> +800024c4: 04100513 li a0,65 +800024c8: 00001597 auipc a1,0x1 +800024cc: ae458593 addi a1,a1,-1308 # 80002fac <pass+0xc> +800024d0: fffff697 auipc a3,0xfffff +800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost> +800024d8: fffff617 auipc a2,0xfffff +800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost> +800024e0: 0006a703 lw a4,0(a3) +800024e4: 0046a783 lw a5,4(a3) +800024e8: 00050313 mv t1,a0 +800024ec: 00158593 addi a1,a1,1 +800024f0: 00f76733 or a4,a4,a5 +800024f4: 010103b7 lui t2,0x1010 +800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8> +800024fc: 00000793 li a5,0 +80002500: 00f62023 sw a5,0(a2) +80002504: 00000813 li a6,0 +80002508: 01062223 sw a6,4(a2) +8000250c: 0006a703 lw a4,0(a3) +80002510: 0046a783 lw a5,4(a3) +80002514: 00f76733 or a4,a4,a5 +80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8> +8000251c: 0005c503 lbu a0,0(a1) +80002520: 0066a023 sw t1,0(a3) +80002524: 0076a223 sw t2,4(a3) +80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c> +8000252c: 00300513 li a0,3 +80002530: cf9ff0ef jal ra,80002228 <terminate> +80002534: 04100513 li a0,65 +80002538: 00001597 auipc a1,0x1 +8000253c: b0058593 addi a1,a1,-1280 # 80003038 <pass+0x98> +80002540: fffff697 auipc a3,0xfffff +80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost> +80002548: fffff617 auipc a2,0xfffff +8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost> +80002550: 0006a703 lw a4,0(a3) +80002554: 0046a783 lw a5,4(a3) +80002558: 00050f13 mv t5,a0 +8000255c: 00158593 addi a1,a1,1 +80002560: 00f76733 or a4,a4,a5 +80002564: 01010fb7 lui t6,0x1010 +80002568: 02070263 beqz a4,8000258c <handle_fault+0x248> +8000256c: 00000793 li a5,0 +80002570: 00f62023 sw a5,0(a2) +80002574: 00000813 li a6,0 +80002578: 01062223 sw a6,4(a2) +8000257c: 0006a703 lw a4,0(a3) +80002580: 0046a783 lw a5,4(a3) +80002584: 00f76733 or a4,a4,a5 +80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228> +8000258c: 0005c503 lbu a0,0(a1) +80002590: 01e6a023 sw t5,0(a3) +80002594: 01f6a223 sw t6,4(a3) +80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c> +8000259c: f91ff06f j 8000252c <handle_fault+0x1e8> +800025a0: 04100513 li a0,65 +800025a4: 00001597 auipc a1,0x1 +800025a8: aac58593 addi a1,a1,-1364 # 80003050 <pass+0xb0> +800025ac: fffff697 auipc a3,0xfffff +800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost> +800025b4: fffff617 auipc a2,0xfffff +800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost> +800025bc: 0006a703 lw a4,0(a3) +800025c0: 0046a783 lw a5,4(a3) +800025c4: 00050813 mv a6,a0 +800025c8: 00158593 addi a1,a1,1 +800025cc: 00f76733 or a4,a4,a5 +800025d0: 010108b7 lui a7,0x1010 +800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4> +800025d8: 00000713 li a4,0 +800025dc: 00e62023 sw a4,0(a2) +800025e0: 00000793 li a5,0 +800025e4: 00f62223 sw a5,4(a2) +800025e8: 0006a703 lw a4,0(a3) +800025ec: 0046a783 lw a5,4(a3) +800025f0: 00f76733 or a4,a4,a5 +800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294> +800025f8: 0005c503 lbu a0,0(a1) +800025fc: 0106a023 sw a6,0(a3) +80002600: 0116a223 sw a7,4(a3) +80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278> +80002608: f25ff06f j 8000252c <handle_fault+0x1e8> +8000260c: 04100793 li a5,65 +80002610: 00001597 auipc a1,0x1 +80002614: 9e058593 addi a1,a1,-1568 # 80002ff0 <pass+0x50> +80002618: fffff697 auipc a3,0xfffff +8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost> +80002620: fffff617 auipc a2,0xfffff +80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost> +80002628: 0006a803 lw a6,0(a3) +8000262c: 0046a883 lw a7,4(a3) +80002630: 00078413 mv s0,a5 +80002634: 00158593 addi a1,a1,1 +80002638: 01186833 or a6,a6,a7 +8000263c: 010104b7 lui s1,0x1010 +80002640: 02080263 beqz a6,80002664 <handle_fault+0x320> +80002644: 00000793 li a5,0 +80002648: 00f62023 sw a5,0(a2) +8000264c: 00000813 li a6,0 +80002650: 01062223 sw a6,4(a2) +80002654: 0006a703 lw a4,0(a3) +80002658: 0046a783 lw a5,4(a3) +8000265c: 00f76733 or a4,a4,a5 +80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300> +80002664: 0005c783 lbu a5,0(a1) +80002668: 0086a023 sw s0,0(a3) +8000266c: 0096a223 sw s1,4(a3) +80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4> +80002674: eb9ff06f j 8000252c <handle_fault+0x1e8> + +80002678 <handle_trap>: +80002678: 08c52583 lw a1,140(a0) +8000267c: fb010113 addi sp,sp,-80 +80002680: 03412c23 sw s4,56(sp) +80002684: 04112623 sw ra,76(sp) +80002688: 04812423 sw s0,72(sp) +8000268c: 04912223 sw s1,68(sp) +80002690: 05212023 sw s2,64(sp) +80002694: 03312e23 sw s3,60(sp) +80002698: 03512a23 sw s5,52(sp) +8000269c: 03612823 sw s6,48(sp) +800026a0: 03712623 sw s7,44(sp) +800026a4: 03812423 sw s8,40(sp) +800026a8: 03912223 sw s9,36(sp) +800026ac: 03a12023 sw s10,32(sp) +800026b0: 01b12e23 sw s11,28(sp) +800026b4: 00800793 li a5,8 +800026b8: 00050a13 mv s4,a0 +800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0> +800026c0: 00200793 li a5,2 +800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac> +800026c8: ff458793 addi a5,a1,-12 +800026cc: 00100713 li a4,1 +800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64> +800026d4: 00f00793 li a5,15 +800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294> +800026dc: 088a2503 lw a0,136(s4) +800026e0: c65ff0ef jal ra,80002344 <handle_fault> +800026e4: 04812403 lw s0,72(sp) +800026e8: 04c12083 lw ra,76(sp) +800026ec: 04412483 lw s1,68(sp) +800026f0: 04012903 lw s2,64(sp) +800026f4: 03c12983 lw s3,60(sp) +800026f8: 03412a83 lw s5,52(sp) +800026fc: 03012b03 lw s6,48(sp) +80002700: 02c12b83 lw s7,44(sp) +80002704: 02812c03 lw s8,40(sp) +80002708: 02412c83 lw s9,36(sp) +8000270c: 02012d03 lw s10,32(sp) +80002710: 01c12d83 lw s11,28(sp) +80002714: 000a0513 mv a0,s4 +80002718: 03812a03 lw s4,56(sp) +8000271c: 05010113 addi sp,sp,80 +80002720: 91dfd06f j 8000003c <pop_tf> +80002724: 08452703 lw a4,132(a0) +80002728: 00377793 andi a5,a4,3 +8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144> +80002730: 008007ef jal a5,80002738 <handle_trap+0xc0> +80002734: 00301073 fssr zero +80002738: 00072703 lw a4,0(a4) +8000273c: 0007a783 lw a5,0(a5) +80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c> +80002744: 04100513 li a0,65 +80002748: 00001597 auipc a1,0x1 +8000274c: 9d058593 addi a1,a1,-1584 # 80003118 <pass+0x178> +80002750: fffff697 auipc a3,0xfffff +80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost> +80002758: fffff617 auipc a2,0xfffff +8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost> +80002760: 0006a703 lw a4,0(a3) +80002764: 0046a783 lw a5,4(a3) +80002768: 00050813 mv a6,a0 +8000276c: 00158593 addi a1,a1,1 +80002770: 00f76733 or a4,a4,a5 +80002774: 010108b7 lui a7,0x1010 +80002778: 02070263 beqz a4,8000279c <handle_trap+0x124> +8000277c: 00000713 li a4,0 +80002780: 00e62023 sw a4,0(a2) +80002784: 00000793 li a5,0 +80002788: 00f62223 sw a5,4(a2) +8000278c: 0006a703 lw a4,0(a3) +80002790: 0046a783 lw a5,4(a3) +80002794: 00f76733 or a4,a4,a5 +80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104> +8000279c: 0005c503 lbu a0,0(a1) +800027a0: 0106a023 sw a6,0(a3) +800027a4: 0116a223 sw a7,4(a3) +800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8> +800027ac: 00300513 li a0,3 +800027b0: a79ff0ef jal ra,80002228 <terminate> +800027b4: 00100513 li a0,1 +800027b8: a71ff0ef jal ra,80002228 <terminate> +800027bc: 00001597 auipc a1,0x1 +800027c0: 93858593 addi a1,a1,-1736 # 800030f4 <pass+0x154> +800027c4: 04100613 li a2,65 +800027c8: fffff697 auipc a3,0xfffff +800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost> +800027d0: fffff517 auipc a0,0xfffff +800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost> +800027d8: 0006a703 lw a4,0(a3) +800027dc: 0046a783 lw a5,4(a3) +800027e0: 00060e13 mv t3,a2 +800027e4: 00158593 addi a1,a1,1 +800027e8: 00f76733 or a4,a4,a5 +800027ec: 01010eb7 lui t4,0x1010 +800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c> +800027f4: 00000793 li a5,0 +800027f8: 00f52023 sw a5,0(a0) +800027fc: 00000813 li a6,0 +80002800: 01052223 sw a6,4(a0) +80002804: 0006a703 lw a4,0(a3) +80002808: 0046a783 lw a5,4(a3) +8000280c: 00f76733 or a4,a4,a5 +80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c> +80002814: 0005c603 lbu a2,0(a1) +80002818: 01c6a023 sw t3,0(a3) +8000281c: 01d6a223 sw t4,4(a3) +80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160> +80002824: f89ff06f j 800027ac <handle_trap+0x134> +80002828: 02852783 lw a5,40(a0) +8000282c: 00001a37 lui s4,0x1 +80002830: 00005b17 auipc s6,0x5 +80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping> +80002838: 00f12223 sw a5,4(sp) +8000283c: 00002d17 auipc s10,0x2 +80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt> +80002844: 00040cb7 lui s9,0x40 +80002848: ffc00c37 lui s8,0xffc00 +8000284c: 0003fab7 lui s5,0x3f +80002850: 01c0006f j 8000286c <handle_trap+0x1f4> +80002854: 00f72223 sw a5,4(a4) +80002858: 00005717 auipc a4,0x5 +8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail> +80002860: 000017b7 lui a5,0x1 +80002864: 00fa0a33 add s4,s4,a5 +80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398> +8000286c: 00ca5713 srli a4,s4,0xc +80002870: 00371b93 slli s7,a4,0x3 +80002874: 017b0633 add a2,s6,s7 +80002878: 00062603 lw a2,0(a2) +8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8> +80002880: 40070713 addi a4,a4,1024 +80002884: 00271713 slli a4,a4,0x2 +80002888: 00ed0733 add a4,s10,a4 +8000288c: 00072703 lw a4,0(a4) +80002890: 04077613 andi a2,a4,64 +80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c> +80002898: 00e12623 sw a4,12(sp) +8000289c: 100cadf3 csrrs s11,sstatus,s9 +800028a0: 018a0833 add a6,s4,s8 +800028a4: 00001637 lui a2,0x1 +800028a8: 00080593 mv a1,a6 +800028ac: 000a0513 mv a0,s4 +800028b0: 01012423 sw a6,8(sp) +800028b4: 855ff0ef jal ra,80002108 <memcmp> +800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264> +800028bc: 00c12703 lw a4,12(sp) +800028c0: 00812803 lw a6,8(sp) +800028c4: 08077713 andi a4,a4,128 +800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300> +800028cc: 00001637 lui a2,0x1 +800028d0: 00080593 mv a1,a6 +800028d4: 000a0513 mv a0,s4 +800028d8: f28ff0ef jal ra,80002000 <memcpy> +800028dc: 017b07b3 add a5,s6,s7 +800028e0: 100d9073 csrw sstatus,s11 +800028e4: 00005717 auipc a4,0x5 +800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail> +800028ec: 00072703 lw a4,0(a4) +800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000> +800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc> +800028f8: 00005717 auipc a4,0x5 +800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail> +80002900: 00005717 auipc a4,0x5 +80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head> +80002908: f59ff06f j 80002860 <handle_trap+0x1e8> +8000290c: 04100593 li a1,65 +80002910: 00001617 auipc a2,0x1 +80002914: 83460613 addi a2,a2,-1996 # 80003144 <pass+0x1a4> +80002918: ffffe697 auipc a3,0xffffe +8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost> +80002920: ffffe517 auipc a0,0xffffe +80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost> +80002928: 0006a703 lw a4,0(a3) +8000292c: 0046a783 lw a5,4(a3) +80002930: 00058313 mv t1,a1 +80002934: 00160613 addi a2,a2,1 +80002938: 00f76733 or a4,a4,a5 +8000293c: 010103b7 lui t2,0x1010 +80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec> +80002944: 00000793 li a5,0 +80002948: 00f52023 sw a5,0(a0) +8000294c: 00000813 li a6,0 +80002950: 01052223 sw a6,4(a0) +80002954: 0006a703 lw a4,0(a3) +80002958: 0046a783 lw a5,4(a3) +8000295c: 00f76733 or a4,a4,a5 +80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc> +80002964: 00064583 lbu a1,0(a2) +80002968: 0066a023 sw t1,0(a3) +8000296c: 0076a223 sw t2,4(a3) +80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0> +80002974: e39ff06f j 800027ac <handle_trap+0x134> +80002978: 04100793 li a5,65 +8000297c: 00000617 auipc a2,0x0 +80002980: 74460613 addi a2,a2,1860 # 800030c0 <pass+0x120> +80002984: ffffe697 auipc a3,0xffffe +80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost> +8000298c: ffffe597 auipc a1,0xffffe +80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost> +80002994: 00078413 mv s0,a5 +80002998: 00160613 addi a2,a2,1 +8000299c: 010104b7 lui s1,0x1010 +800029a0: 0006a703 lw a4,0(a3) +800029a4: 0046a783 lw a5,4(a3) +800029a8: 00f76733 or a4,a4,a5 +800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0> +800029b0: 00000793 li a5,0 +800029b4: 00000813 li a6,0 +800029b8: 00f5a023 sw a5,0(a1) +800029bc: 0105a223 sw a6,4(a1) +800029c0: fe1ff06f j 800029a0 <handle_trap+0x328> +800029c4: 04100793 li a5,65 +800029c8: 00000617 auipc a2,0x0 +800029cc: 6c460613 addi a2,a2,1732 # 8000308c <pass+0xec> +800029d0: ffffe697 auipc a3,0xffffe +800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost> +800029d8: ffffe597 auipc a1,0xffffe +800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost> +800029e0: 00078913 mv s2,a5 +800029e4: 00160613 addi a2,a2,1 +800029e8: 010109b7 lui s3,0x1010 +800029ec: 0006a703 lw a4,0(a3) +800029f0: 0046a783 lw a5,4(a3) +800029f4: 00f76733 or a4,a4,a5 +800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4> +800029fc: 00000793 li a5,0 +80002a00: 00000813 li a6,0 +80002a04: 00f5a023 sw a5,0(a1) +80002a08: 0105a223 sw a6,4(a1) +80002a0c: fe1ff06f j 800029ec <handle_trap+0x374> +80002a10: 00412503 lw a0,4(sp) +80002a14: 815ff0ef jal ra,80002228 <terminate> +80002a18: 00064783 lbu a5,0(a2) +80002a1c: 0086a023 sw s0,0(a3) +80002a20: 0096a223 sw s1,4(a3) +80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c> +80002a28: d85ff06f j 800027ac <handle_trap+0x134> +80002a2c: 00064783 lbu a5,0(a2) +80002a30: 0126a023 sw s2,0(a3) +80002a34: 0136a223 sw s3,4(a3) +80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368> +80002a3c: d71ff06f j 800027ac <handle_trap+0x134> + +80002a40 <vm_boot>: +80002a40: f14027f3 csrr a5,mhartid +80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158> +80002a48: 00003797 auipc a5,0x3 +80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000> +80002a50: 00c7d793 srli a5,a5,0xc +80002a54: 00a79793 slli a5,a5,0xa +80002a58: 0017e793 ori a5,a5,1 +80002a5c: 00002697 auipc a3,0x2 +80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt> +80002a64: 200007b7 lui a5,0x20000 +80002a68: 00002717 auipc a4,0x2 +80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt> +80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31> +80002a74: f6010113 addi sp,sp,-160 +80002a78: 00003697 auipc a3,0x3 +80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc> +80002a80: 00c75793 srli a5,a4,0xc +80002a84: 80000737 lui a4,0x80000 +80002a88: 08112e23 sw ra,156(sp) +80002a8c: 08812c23 sw s0,152(sp) +80002a90: 00e7e7b3 or a5,a5,a4 +80002a94: 18079073 csrw satp,a5 +80002a98: 01f00793 li a5,31 +80002a9c: fff00713 li a4,-1 +80002aa0: 00000297 auipc t0,0x0 +80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74> +80002aa8: 305292f3 csrrw t0,mtvec,t0 +80002aac: 3b071073 csrw pmpaddr0,a4 +80002ab0: 3a079073 csrw pmpcfg0,a5 +80002ab4: 7fbfd797 auipc a5,0x7fbfd +80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc> +80002abc: 10579073 csrw stvec,a5 +80002ac0: 340027f3 csrr a5,mscratch +80002ac4: 7fc00837 lui a6,0x7fc00 +80002ac8: 010787b3 add a5,a5,a6 +80002acc: 14079073 csrw sscratch,a5 +80002ad0: 0000b7b7 lui a5,0xb +80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00> +80002ad8: 30279073 csrw medeleg,a5 +80002adc: 0001e7b7 lui a5,0x1e +80002ae0: 30079073 csrw mstatus,a5 +80002ae4: 30405073 csrwi mie,0 +80002ae8: 7fc04797 auipc a5,0x7fc04 +80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08> +80002af0: 00005717 auipc a4,0x5 +80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head> +80002af8: 7fc04797 auipc a5,0x7fc04 +80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8> +80002b00: 00005717 auipc a4,0x5 +80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail> +80002b08: 000808b7 lui a7,0x80 +80002b0c: 00004717 auipc a4,0x4 +80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes> +80002b14: 00004317 auipc t1,0x4 +80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping> +80002b1c: 03200793 li a5,50 +80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1> +80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8> +80002b28: 0017d613 srli a2,a5,0x1 +80002b2c: 011786b3 add a3,a5,a7 +80002b30: 00f647b3 xor a5,a2,a5 +80002b34: 010705b3 add a1,a4,a6 +80002b38: 00c69693 slli a3,a3,0xc +80002b3c: 00579793 slli a5,a5,0x5 +80002b40: 00d72023 sw a3,0(a4) +80002b44: 00b72223 sw a1,4(a4) +80002b48: 0207f793 andi a5,a5,32 +80002b4c: 00870713 addi a4,a4,8 +80002b50: 00f667b3 or a5,a2,a5 +80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8> +80002b58: 00050413 mv s0,a0 +80002b5c: 09000613 li a2,144 +80002b60: 00000593 li a1,0 +80002b64: 00010513 mv a0,sp +80002b68: 00004797 auipc a5,0x4 +80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4> +80002b70: cecff0ef jal ra,8000205c <memset> +80002b74: 800007b7 lui a5,0x80000 +80002b78: 00f40433 add s0,s0,a5 +80002b7c: 00010513 mv a0,sp +80002b80: 08812223 sw s0,132(sp) +80002b84: cb8fd0ef jal ra,8000003c <pop_tf> +80002b88: 09c12083 lw ra,156(sp) +80002b8c: 09812403 lw s0,152(sp) +80002b90: 0a010113 addi sp,sp,160 +80002b94: 00008067 ret +80002b98: 025e77b7 lui a5,0x25e7 +80002b9c: 00080637 lui a2,0x80 +80002ba0: a0978793 addi a5,a5,-1527 # 25e6a09 <_start-0x7da195f7> +80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004> +80002ba8: 800005b7 lui a1,0x80000 +80002bac: 00c7f733 and a4,a5,a2 +80002bb0: 0017f693 andi a3,a5,1 +80002bb4: 00b70733 add a4,a4,a1 +80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194> +80002bbc: 0007202f amoadd.w zero,zero,(a4) +80002bc0: 0017d793 srli a5,a5,0x1 +80002bc4: 00c7f733 and a4,a5,a2 +80002bc8: 0017f693 andi a3,a5,1 +80002bcc: 00b70733 add a4,a4,a1 +80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c> +80002bd4: 00072003 lw zero,0(a4) +80002bd8: 0017d793 srli a5,a5,0x1 +80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184> + +80002be0 <userstart>: +80002be0: 00301073 fssr zero + +80002be4 <test_2>: +80002be4: 00200193 li gp,2 +80002be8: 00001517 auipc a0,0x1 +80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data> +80002bf0: 00052007 flw ft0,0(a0) +80002bf4: 00452087 flw ft1,4(a0) +80002bf8: 00852107 flw ft2,8(a0) +80002bfc: 00c52683 lw a3,12(a0) +80002c00: 281001d3 fmin.s ft3,ft0,ft1 +80002c04: e0018553 fmv.x.w a0,ft3 +80002c08: 001015f3 fsflags a1,zero +80002c0c: 00000613 li a2,0 +80002c10: 38d51063 bne a0,a3,80002f90 <fail> +80002c14: 36c59e63 bne a1,a2,80002f90 <fail> + +80002c18 <test_3>: +80002c18: 00300193 li gp,3 +80002c1c: 00001517 auipc a0,0x1 +80002c20: 3f450513 addi a0,a0,1012 # 80004010 <test_3_data> +80002c24: 00052007 flw ft0,0(a0) +80002c28: 00452087 flw ft1,4(a0) +80002c2c: 00852107 flw ft2,8(a0) +80002c30: 00c52683 lw a3,12(a0) +80002c34: 281001d3 fmin.s ft3,ft0,ft1 +80002c38: e0018553 fmv.x.w a0,ft3 +80002c3c: 001015f3 fsflags a1,zero +80002c40: 00000613 li a2,0 +80002c44: 34d51663 bne a0,a3,80002f90 <fail> +80002c48: 34c59463 bne a1,a2,80002f90 <fail> + +80002c4c <test_4>: +80002c4c: 00400193 li gp,4 +80002c50: 00001517 auipc a0,0x1 +80002c54: 3d050513 addi a0,a0,976 # 80004020 <test_4_data> +80002c58: 00052007 flw ft0,0(a0) +80002c5c: 00452087 flw ft1,4(a0) +80002c60: 00852107 flw ft2,8(a0) +80002c64: 00c52683 lw a3,12(a0) +80002c68: 281001d3 fmin.s ft3,ft0,ft1 +80002c6c: e0018553 fmv.x.w a0,ft3 +80002c70: 001015f3 fsflags a1,zero +80002c74: 00000613 li a2,0 +80002c78: 30d51c63 bne a0,a3,80002f90 <fail> +80002c7c: 30c59a63 bne a1,a2,80002f90 <fail> + +80002c80 <test_5>: +80002c80: 00500193 li gp,5 +80002c84: 00001517 auipc a0,0x1 +80002c88: 3ac50513 addi a0,a0,940 # 80004030 <test_5_data> +80002c8c: 00052007 flw ft0,0(a0) +80002c90: 00452087 flw ft1,4(a0) +80002c94: 00852107 flw ft2,8(a0) +80002c98: 00c52683 lw a3,12(a0) +80002c9c: 281001d3 fmin.s ft3,ft0,ft1 +80002ca0: e0018553 fmv.x.w a0,ft3 +80002ca4: 001015f3 fsflags a1,zero +80002ca8: 00000613 li a2,0 +80002cac: 2ed51263 bne a0,a3,80002f90 <fail> +80002cb0: 2ec59063 bne a1,a2,80002f90 <fail> + +80002cb4 <test_6>: +80002cb4: 00600193 li gp,6 +80002cb8: 00001517 auipc a0,0x1 +80002cbc: 38850513 addi a0,a0,904 # 80004040 <test_6_data> +80002cc0: 00052007 flw ft0,0(a0) +80002cc4: 00452087 flw ft1,4(a0) +80002cc8: 00852107 flw ft2,8(a0) +80002ccc: 00c52683 lw a3,12(a0) +80002cd0: 281001d3 fmin.s ft3,ft0,ft1 +80002cd4: e0018553 fmv.x.w a0,ft3 +80002cd8: 001015f3 fsflags a1,zero +80002cdc: 00000613 li a2,0 +80002ce0: 2ad51863 bne a0,a3,80002f90 <fail> +80002ce4: 2ac59663 bne a1,a2,80002f90 <fail> + +80002ce8 <test_7>: +80002ce8: 00700193 li gp,7 +80002cec: 00001517 auipc a0,0x1 +80002cf0: 36450513 addi a0,a0,868 # 80004050 <test_7_data> +80002cf4: 00052007 flw ft0,0(a0) +80002cf8: 00452087 flw ft1,4(a0) +80002cfc: 00852107 flw ft2,8(a0) +80002d00: 00c52683 lw a3,12(a0) +80002d04: 281001d3 fmin.s ft3,ft0,ft1 +80002d08: e0018553 fmv.x.w a0,ft3 +80002d0c: 001015f3 fsflags a1,zero +80002d10: 00000613 li a2,0 +80002d14: 26d51e63 bne a0,a3,80002f90 <fail> +80002d18: 26c59c63 bne a1,a2,80002f90 <fail> + +80002d1c <test_12>: +80002d1c: 00c00193 li gp,12 +80002d20: 00001517 auipc a0,0x1 +80002d24: 34050513 addi a0,a0,832 # 80004060 <test_12_data> +80002d28: 00052007 flw ft0,0(a0) +80002d2c: 00452087 flw ft1,4(a0) +80002d30: 00852107 flw ft2,8(a0) +80002d34: 00c52683 lw a3,12(a0) +80002d38: 281011d3 fmax.s ft3,ft0,ft1 +80002d3c: e0018553 fmv.x.w a0,ft3 +80002d40: 001015f3 fsflags a1,zero +80002d44: 00000613 li a2,0 +80002d48: 24d51463 bne a0,a3,80002f90 <fail> +80002d4c: 24c59263 bne a1,a2,80002f90 <fail> + +80002d50 <test_13>: +80002d50: 00d00193 li gp,13 +80002d54: 00001517 auipc a0,0x1 +80002d58: 31c50513 addi a0,a0,796 # 80004070 <test_13_data> +80002d5c: 00052007 flw ft0,0(a0) +80002d60: 00452087 flw ft1,4(a0) +80002d64: 00852107 flw ft2,8(a0) +80002d68: 00c52683 lw a3,12(a0) +80002d6c: 281011d3 fmax.s ft3,ft0,ft1 +80002d70: e0018553 fmv.x.w a0,ft3 +80002d74: 001015f3 fsflags a1,zero +80002d78: 00000613 li a2,0 +80002d7c: 20d51a63 bne a0,a3,80002f90 <fail> +80002d80: 20c59863 bne a1,a2,80002f90 <fail> + +80002d84 <test_14>: +80002d84: 00e00193 li gp,14 +80002d88: 00001517 auipc a0,0x1 +80002d8c: 2f850513 addi a0,a0,760 # 80004080 <test_14_data> +80002d90: 00052007 flw ft0,0(a0) +80002d94: 00452087 flw ft1,4(a0) +80002d98: 00852107 flw ft2,8(a0) +80002d9c: 00c52683 lw a3,12(a0) +80002da0: 281011d3 fmax.s ft3,ft0,ft1 +80002da4: e0018553 fmv.x.w a0,ft3 +80002da8: 001015f3 fsflags a1,zero +80002dac: 00000613 li a2,0 +80002db0: 1ed51063 bne a0,a3,80002f90 <fail> +80002db4: 1cc59e63 bne a1,a2,80002f90 <fail> + +80002db8 <test_15>: +80002db8: 00f00193 li gp,15 +80002dbc: 00001517 auipc a0,0x1 +80002dc0: 2d450513 addi a0,a0,724 # 80004090 <test_15_data> +80002dc4: 00052007 flw ft0,0(a0) +80002dc8: 00452087 flw ft1,4(a0) +80002dcc: 00852107 flw ft2,8(a0) +80002dd0: 00c52683 lw a3,12(a0) +80002dd4: 281011d3 fmax.s ft3,ft0,ft1 +80002dd8: e0018553 fmv.x.w a0,ft3 +80002ddc: 001015f3 fsflags a1,zero +80002de0: 00000613 li a2,0 +80002de4: 1ad51663 bne a0,a3,80002f90 <fail> +80002de8: 1ac59463 bne a1,a2,80002f90 <fail> + +80002dec <test_16>: +80002dec: 01000193 li gp,16 +80002df0: 00001517 auipc a0,0x1 +80002df4: 2b050513 addi a0,a0,688 # 800040a0 <test_16_data> +80002df8: 00052007 flw ft0,0(a0) +80002dfc: 00452087 flw ft1,4(a0) +80002e00: 00852107 flw ft2,8(a0) +80002e04: 00c52683 lw a3,12(a0) +80002e08: 281011d3 fmax.s ft3,ft0,ft1 +80002e0c: e0018553 fmv.x.w a0,ft3 +80002e10: 001015f3 fsflags a1,zero +80002e14: 00000613 li a2,0 +80002e18: 16d51c63 bne a0,a3,80002f90 <fail> +80002e1c: 16c59a63 bne a1,a2,80002f90 <fail> + +80002e20 <test_17>: +80002e20: 01100193 li gp,17 +80002e24: 00001517 auipc a0,0x1 +80002e28: 28c50513 addi a0,a0,652 # 800040b0 <test_17_data> +80002e2c: 00052007 flw ft0,0(a0) +80002e30: 00452087 flw ft1,4(a0) +80002e34: 00852107 flw ft2,8(a0) +80002e38: 00c52683 lw a3,12(a0) +80002e3c: 281011d3 fmax.s ft3,ft0,ft1 +80002e40: e0018553 fmv.x.w a0,ft3 +80002e44: 001015f3 fsflags a1,zero +80002e48: 00000613 li a2,0 +80002e4c: 14d51263 bne a0,a3,80002f90 <fail> +80002e50: 14c59063 bne a1,a2,80002f90 <fail> + +80002e54 <test_20>: +80002e54: 01400193 li gp,20 +80002e58: 00001517 auipc a0,0x1 +80002e5c: 26850513 addi a0,a0,616 # 800040c0 <test_20_data> +80002e60: 00052007 flw ft0,0(a0) +80002e64: 00452087 flw ft1,4(a0) +80002e68: 00852107 flw ft2,8(a0) +80002e6c: 00c52683 lw a3,12(a0) +80002e70: 281011d3 fmax.s ft3,ft0,ft1 +80002e74: e0018553 fmv.x.w a0,ft3 +80002e78: 001015f3 fsflags a1,zero +80002e7c: 01000613 li a2,16 +80002e80: 10d51863 bne a0,a3,80002f90 <fail> +80002e84: 10c59663 bne a1,a2,80002f90 <fail> + +80002e88 <test_21>: +80002e88: 01500193 li gp,21 +80002e8c: 00001517 auipc a0,0x1 +80002e90: 24450513 addi a0,a0,580 # 800040d0 <test_21_data> +80002e94: 00052007 flw ft0,0(a0) +80002e98: 00452087 flw ft1,4(a0) +80002e9c: 00852107 flw ft2,8(a0) +80002ea0: 00c52683 lw a3,12(a0) +80002ea4: 281011d3 fmax.s ft3,ft0,ft1 +80002ea8: e0018553 fmv.x.w a0,ft3 +80002eac: 001015f3 fsflags a1,zero +80002eb0: 00000613 li a2,0 +80002eb4: 0cd51e63 bne a0,a3,80002f90 <fail> +80002eb8: 0cc59c63 bne a1,a2,80002f90 <fail> + +80002ebc <test_30>: +80002ebc: 01e00193 li gp,30 +80002ec0: 00001517 auipc a0,0x1 +80002ec4: 22050513 addi a0,a0,544 # 800040e0 <test_30_data> +80002ec8: 00052007 flw ft0,0(a0) +80002ecc: 00452087 flw ft1,4(a0) +80002ed0: 00852107 flw ft2,8(a0) +80002ed4: 00c52683 lw a3,12(a0) +80002ed8: 281001d3 fmin.s ft3,ft0,ft1 +80002edc: e0018553 fmv.x.w a0,ft3 +80002ee0: 001015f3 fsflags a1,zero +80002ee4: 00000613 li a2,0 +80002ee8: 0ad51463 bne a0,a3,80002f90 <fail> +80002eec: 0ac59263 bne a1,a2,80002f90 <fail> + +80002ef0 <test_31>: +80002ef0: 01f00193 li gp,31 +80002ef4: 00001517 auipc a0,0x1 +80002ef8: 1fc50513 addi a0,a0,508 # 800040f0 <test_31_data> +80002efc: 00052007 flw ft0,0(a0) +80002f00: 00452087 flw ft1,4(a0) +80002f04: 00852107 flw ft2,8(a0) +80002f08: 00c52683 lw a3,12(a0) +80002f0c: 281001d3 fmin.s ft3,ft0,ft1 +80002f10: e0018553 fmv.x.w a0,ft3 +80002f14: 001015f3 fsflags a1,zero +80002f18: 00000613 li a2,0 +80002f1c: 06d51a63 bne a0,a3,80002f90 <fail> +80002f20: 06c59863 bne a1,a2,80002f90 <fail> + +80002f24 <test_32>: +80002f24: 02000193 li gp,32 +80002f28: 00001517 auipc a0,0x1 +80002f2c: 1d850513 addi a0,a0,472 # 80004100 <test_32_data> +80002f30: 00052007 flw ft0,0(a0) +80002f34: 00452087 flw ft1,4(a0) +80002f38: 00852107 flw ft2,8(a0) +80002f3c: 00c52683 lw a3,12(a0) +80002f40: 281011d3 fmax.s ft3,ft0,ft1 +80002f44: e0018553 fmv.x.w a0,ft3 +80002f48: 001015f3 fsflags a1,zero +80002f4c: 00000613 li a2,0 +80002f50: 04d51063 bne a0,a3,80002f90 <fail> +80002f54: 02c59e63 bne a1,a2,80002f90 <fail> + +80002f58 <test_33>: +80002f58: 02100193 li gp,33 +80002f5c: 00001517 auipc a0,0x1 +80002f60: 1b450513 addi a0,a0,436 # 80004110 <test_33_data> +80002f64: 00052007 flw ft0,0(a0) +80002f68: 00452087 flw ft1,4(a0) +80002f6c: 00852107 flw ft2,8(a0) +80002f70: 00c52683 lw a3,12(a0) +80002f74: 281011d3 fmax.s ft3,ft0,ft1 +80002f78: e0018553 fmv.x.w a0,ft3 +80002f7c: 001015f3 fsflags a1,zero +80002f80: 00000613 li a2,0 +80002f84: 00d51663 bne a0,a3,80002f90 <fail> +80002f88: 00c59463 bne a1,a2,80002f90 <fail> +80002f8c: 00301a63 bne zero,gp,80002fa0 <pass> + +80002f90 <fail>: +80002f90: 00119513 slli a0,gp,0x1 +80002f94: 00050063 beqz a0,80002f94 <fail+0x4> +80002f98: 00156513 ori a0,a0,1 +80002f9c: 00000073 ecall + +80002fa0 <pass>: +80002fa0: 00100513 li a0,1 +80002fa4: 00000073 ecall +80002fa8: c0001073 unimp + +Disassembly of section .data: + +80004000 <test_2_data>: +80004000: 0000 unimp +80004002: 4020 lw s0,64(s0) +80004004: 0000 unimp +80004006: 3f80 fld fs0,56(a5) +80004008: 0000 unimp +8000400a: 0000 unimp +8000400c: 0000 unimp +8000400e: 3f80 fld fs0,56(a5) + +80004010 <test_3_data>: +80004010: c49a6333 0xc49a6333 +80004014: cccd beqz s1,800040ce <test_20_data+0xe> +80004016: 3f8c fld fa1,56(a5) +80004018: 0000 unimp +8000401a: 0000 unimp +8000401c: c49a6333 0xc49a6333 + +80004020 <test_4_data>: +80004020: cccd beqz s1,800040da <test_21_data+0xa> +80004022: 3f8c fld fa1,56(a5) +80004024: c49a6333 0xc49a6333 +80004028: 0000 unimp +8000402a: 0000 unimp +8000402c: c49a6333 0xc49a6333 + +80004030 <test_5_data>: +80004030: ffff 0xffff +80004032: 7fff 0x7fff +80004034: c49a6333 0xc49a6333 +80004038: 0000 unimp +8000403a: 0000 unimp +8000403c: c49a6333 0xc49a6333 + +80004040 <test_6_data>: +80004040: 40490fdb 0x40490fdb +80004044: 322bcc77 0x322bcc77 +80004048: 0000 unimp +8000404a: 0000 unimp +8000404c: 322bcc77 0x322bcc77 + +80004050 <test_7_data>: +80004050: 0000 unimp +80004052: bf80 fsd fs0,56(a5) +80004054: 0000 unimp +80004056: c000 sw s0,0(s0) +80004058: 0000 unimp +8000405a: 0000 unimp +8000405c: 0000 unimp +8000405e: c000 sw s0,0(s0) + +80004060 <test_12_data>: +80004060: 0000 unimp +80004062: 4020 lw s0,64(s0) +80004064: 0000 unimp +80004066: 3f80 fld fs0,56(a5) +80004068: 0000 unimp +8000406a: 0000 unimp +8000406c: 0000 unimp +8000406e: 4020 lw s0,64(s0) + +80004070 <test_13_data>: +80004070: c49a6333 0xc49a6333 +80004074: cccd beqz s1,8000412e <begin_signature+0xe> +80004076: 3f8c fld fa1,56(a5) +80004078: 0000 unimp +8000407a: 0000 unimp +8000407c: cccd beqz s1,80004136 <begin_signature+0x16> +8000407e: 3f8c fld fa1,56(a5) + +80004080 <test_14_data>: +80004080: cccd beqz s1,8000413a <begin_signature+0x1a> +80004082: 3f8c fld fa1,56(a5) +80004084: c49a6333 0xc49a6333 +80004088: 0000 unimp +8000408a: 0000 unimp +8000408c: cccd beqz s1,80004146 <begin_signature+0x26> +8000408e: 3f8c fld fa1,56(a5) + +80004090 <test_15_data>: +80004090: ffff 0xffff +80004092: 7fff 0x7fff +80004094: c49a6333 0xc49a6333 +80004098: 0000 unimp +8000409a: 0000 unimp +8000409c: c49a6333 0xc49a6333 + +800040a0 <test_16_data>: +800040a0: 40490fdb 0x40490fdb +800040a4: 322bcc77 0x322bcc77 +800040a8: 0000 unimp +800040aa: 0000 unimp +800040ac: 40490fdb 0x40490fdb + +800040b0 <test_17_data>: +800040b0: 0000 unimp +800040b2: bf80 fsd fs0,56(a5) +800040b4: 0000 unimp +800040b6: c000 sw s0,0(s0) +800040b8: 0000 unimp +800040ba: 0000 unimp +800040bc: 0000 unimp +800040be: bf80 fsd fs0,56(a5) + +800040c0 <test_20_data>: +800040c0: 0001 nop +800040c2: 7f80 flw fs0,56(a5) +800040c4: 0000 unimp +800040c6: 3f80 fld fs0,56(a5) +800040c8: 0000 unimp +800040ca: 0000 unimp +800040cc: 0000 unimp +800040ce: 3f80 fld fs0,56(a5) + +800040d0 <test_21_data>: +800040d0: ffff 0xffff +800040d2: 7fff 0x7fff +800040d4: ffff 0xffff +800040d6: 7fff 0x7fff +800040d8: 0000 unimp +800040da: 0000 unimp +800040dc: 0000 unimp +800040de: 7fc0 flw fs0,60(a5) + +800040e0 <test_30_data>: +800040e0: 0000 unimp +800040e2: 8000 0x8000 +800040e4: 0000 unimp +800040e6: 0000 unimp +800040e8: 0000 unimp +800040ea: 0000 unimp +800040ec: 0000 unimp +800040ee: 8000 0x8000 + +800040f0 <test_31_data>: +800040f0: 0000 unimp +800040f2: 0000 unimp +800040f4: 0000 unimp +800040f6: 8000 0x8000 +800040f8: 0000 unimp +800040fa: 0000 unimp +800040fc: 0000 unimp +800040fe: 8000 0x8000 + +80004100 <test_32_data>: +80004100: 0000 unimp +80004102: 8000 0x8000 +80004104: 0000 unimp +80004106: 0000 unimp +80004108: 0000 unimp +8000410a: 0000 unimp +8000410c: 0000 unimp +8000410e: 0000 unimp + +80004110 <test_33_data>: +80004110: 0000 unimp +80004112: 0000 unimp +80004114: 0000 unimp +80004116: 8000 0x8000 +80004118: 0000 unimp +8000411a: 0000 unimp +8000411c: 0000 unimp +8000411e: 0000 unimp diff --git a/test/riscv-tests/rv32uf-v-fmin.elf b/test/riscv-tests/rv32uf-v-fmin.elf Binary files differnew file mode 100644 index 0000000..072abdd --- /dev/null +++ b/test/riscv-tests/rv32uf-v-fmin.elf diff --git a/test/riscv-tests/rv64ud-p-fadd.dump b/test/riscv-tests/rv64ud-p-fadd.dump new file mode 100644 index 0000000..2775cc5 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fadd.dump @@ -0,0 +1,422 @@ + +rv64ud-p-fadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: 021071d3 fadd.d ft3,ft0,ft1 + 80000128: e2018553 fmv.x.d a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 1ed51063 bne a0,a3,80000314 <fail> + 80000138: 1cc59e63 bne a1,a2,80000314 <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data> + 80000148: 00053007 fld ft0,0(a0) + 8000014c: 00853087 fld ft1,8(a0) + 80000150: 01053107 fld ft2,16(a0) + 80000154: 01853683 ld a3,24(a0) + 80000158: 021071d3 fadd.d ft3,ft0,ft1 + 8000015c: e2018553 fmv.x.d a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 1ad51663 bne a0,a3,80000314 <fail> + 8000016c: 1ac59463 bne a1,a2,80000314 <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data> + 8000017c: 00053007 fld ft0,0(a0) + 80000180: 00853087 fld ft1,8(a0) + 80000184: 01053107 fld ft2,16(a0) + 80000188: 01853683 ld a3,24(a0) + 8000018c: 021071d3 fadd.d ft3,ft0,ft1 + 80000190: e2018553 fmv.x.d a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00100613 li a2,1 + 8000019c: 16d51c63 bne a0,a3,80000314 <fail> + 800001a0: 16c59a63 bne a1,a2,80000314 <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data> + 800001b0: 00053007 fld ft0,0(a0) + 800001b4: 00853087 fld ft1,8(a0) + 800001b8: 01053107 fld ft2,16(a0) + 800001bc: 01853683 ld a3,24(a0) + 800001c0: 0a1071d3 fsub.d ft3,ft0,ft1 + 800001c4: e2018553 fmv.x.d a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 14d51263 bne a0,a3,80000314 <fail> + 800001d4: 14c59063 bne a1,a2,80000314 <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data> + 800001e4: 00053007 fld ft0,0(a0) + 800001e8: 00853087 fld ft1,8(a0) + 800001ec: 01053107 fld ft2,16(a0) + 800001f0: 01853683 ld a3,24(a0) + 800001f4: 0a1071d3 fsub.d ft3,ft0,ft1 + 800001f8: e2018553 fmv.x.d a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00100613 li a2,1 + 80000204: 10d51863 bne a0,a3,80000314 <fail> + 80000208: 10c59663 bne a1,a2,80000314 <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data> + 80000218: 00053007 fld ft0,0(a0) + 8000021c: 00853087 fld ft1,8(a0) + 80000220: 01053107 fld ft2,16(a0) + 80000224: 01853683 ld a3,24(a0) + 80000228: 0a1071d3 fsub.d ft3,ft0,ft1 + 8000022c: e2018553 fmv.x.d a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00100613 li a2,1 + 80000238: 0cd51e63 bne a0,a3,80000314 <fail> + 8000023c: 0cc59c63 bne a1,a2,80000314 <fail> + +0000000080000240 <test_8>: + 80000240: 00800193 li gp,8 + 80000244: 00002517 auipc a0,0x2 + 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_8_data> + 8000024c: 00053007 fld ft0,0(a0) + 80000250: 00853087 fld ft1,8(a0) + 80000254: 01053107 fld ft2,16(a0) + 80000258: 01853683 ld a3,24(a0) + 8000025c: 121071d3 fmul.d ft3,ft0,ft1 + 80000260: e2018553 fmv.x.d a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 0ad51463 bne a0,a3,80000314 <fail> + 80000270: 0ac59263 bne a1,a2,80000314 <fail> + +0000000080000274 <test_9>: + 80000274: 00900193 li gp,9 + 80000278: 00002517 auipc a0,0x2 + 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_9_data> + 80000280: 00053007 fld ft0,0(a0) + 80000284: 00853087 fld ft1,8(a0) + 80000288: 01053107 fld ft2,16(a0) + 8000028c: 01853683 ld a3,24(a0) + 80000290: 121071d3 fmul.d ft3,ft0,ft1 + 80000294: e2018553 fmv.x.d a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00100613 li a2,1 + 800002a0: 06d51a63 bne a0,a3,80000314 <fail> + 800002a4: 06c59863 bne a1,a2,80000314 <fail> + +00000000800002a8 <test_10>: + 800002a8: 00a00193 li gp,10 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_10_data> + 800002b4: 00053007 fld ft0,0(a0) + 800002b8: 00853087 fld ft1,8(a0) + 800002bc: 01053107 fld ft2,16(a0) + 800002c0: 01853683 ld a3,24(a0) + 800002c4: 121071d3 fmul.d ft3,ft0,ft1 + 800002c8: e2018553 fmv.x.d a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00100613 li a2,1 + 800002d4: 04d51063 bne a0,a3,80000314 <fail> + 800002d8: 02c59e63 bne a1,a2,80000314 <fail> + +00000000800002dc <test_11>: + 800002dc: 00b00193 li gp,11 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_11_data> + 800002e8: 00053007 fld ft0,0(a0) + 800002ec: 00853087 fld ft1,8(a0) + 800002f0: 01053107 fld ft2,16(a0) + 800002f4: 01853683 ld a3,24(a0) + 800002f8: 0a1071d3 fsub.d ft3,ft0,ft1 + 800002fc: e2018553 fmv.x.d a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 01000613 li a2,16 + 80000308: 00d51663 bne a0,a3,80000314 <fail> + 8000030c: 00c59463 bne a1,a2,80000314 <fail> + 80000310: 00301c63 bne zero,gp,80000328 <pass> + +0000000080000314 <fail>: + 80000314: 0ff0000f fence + 80000318: 00018063 beqz gp,80000318 <fail+0x4> + 8000031c: 00119193 slli gp,gp,0x1 + 80000320: 0011e193 ori gp,gp,1 + 80000324: 00000073 ecall + +0000000080000328 <pass>: + 80000328: 0ff0000f fence + 8000032c: 00100193 li gp,1 + 80000330: 00000073 ecall + 80000334: c0001073 unimp + 80000338: 0000 unimp + 8000033a: 0000 unimp + 8000033c: 0000 unimp + 8000033e: 0000 unimp + 80000340: 0000 unimp + 80000342: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 4004 lw s1,0(s0) + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 3ff0 fld fa2,248(a5) + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 0000 unimp + 8000201e: 400c lw a1,0(s0) + +0000000080002020 <test_3_data>: + 80002020: 6666 ld a2,88(sp) + 80002022: 6666 ld a2,88(sp) + 80002024: 4c66 lw s8,88(sp) + 80002026: 999ac093 xori ra,s5,-1639 + 8000202a: 9999 andi a1,a1,-26 + 8000202c: 9999 andi a1,a1,-26 + 8000202e: 3ff1 addiw t6,t6,-4 + 80002030: 0000 unimp + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: 4800 lw s0,16(s0) + 8000203e: xori ra,gp,-689 + +0000000080002040 <test_4_data>: + 80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> + 80002042: 53c8 lw a0,36(a5) + 80002044: 400921fb 0x400921fb + 80002048: 8c3a mv s8,a4 + 8000204a: e230 sd a2,64(a2) + 8000204c: 798e ld s3,224(sp) + 8000204e: 3e45 addiw t3,t3,-15 + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 6ddf 5520 21fb 0x21fb55206ddf + 8000205e: 4009 c.li zero,2 + +0000000080002060 <test_5_data>: + 80002060: 0000 unimp + 80002062: 0000 unimp + 80002064: 0000 unimp + 80002066: 4004 lw s1,0(s0) + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 3ff0 fld fa2,248(a5) + 80002070: 0000 unimp + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 3ff8 fld fa4,248(a5) + +0000000080002080 <test_6_data>: + 80002080: 6666 ld a2,88(sp) + 80002082: 6666 ld a2,88(sp) + 80002084: 4c66 lw s8,88(sp) + 80002086: 999ac093 xori ra,s5,-1639 + 8000208a: 9999 andi a1,a1,-26 + 8000208c: 9999 andi a1,a1,-26 + 8000208e: bff1 j 8000206a <test_5_data+0xa> + 80002090: 0000 unimp + 80002092: 0000 unimp + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 4800 lw s0,16(s0) + 8000209e: xori ra,gp,-689 + +00000000800020a0 <test_7_data>: + 800020a0: d4f1 beqz s1,8000206c <test_5_data+0xc> + 800020a2: 53c8 lw a0,36(a5) + 800020a4: 400921fb 0x400921fb + 800020a8: 8c3a mv s8,a4 + 800020aa: e230 sd a2,64(a2) + 800020ac: 798e ld s3,224(sp) + 800020ae: 3e45 addiw t3,t3,-15 + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 52713c03 ld s8,1319(sp) + 800020bc: 400921fb 0x400921fb + +00000000800020c0 <test_8_data>: + 800020c0: 0000 unimp + 800020c2: 0000 unimp + 800020c4: 0000 unimp + 800020c6: 4004 lw s1,0(s0) + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 3ff0 fld fa2,248(a5) + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 4004 lw s1,0(s0) + +00000000800020e0 <test_9_data>: + 800020e0: 6666 ld a2,88(sp) + 800020e2: 6666 ld a2,88(sp) + 800020e4: 4c66 lw s8,88(sp) + 800020e6: 999ac093 xori ra,s5,-1639 + 800020ea: 9999 andi a1,a1,-26 + 800020ec: 9999 andi a1,a1,-26 + 800020ee: bff1 j 800020ca <test_8_data+0xa> + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: 0a3d addi s4,s4,15 + 800020fa: 3a70a3d7 0x3a70a3d7 + 800020fe: 4095 li ra,5 + +0000000080002100 <test_10_data>: + 80002100: d4f1 beqz s1,800020cc <test_8_data+0xc> + 80002102: 53c8 lw a0,36(a5) + 80002104: 400921fb 0x400921fb + 80002108: 8c3a mv s8,a4 + 8000210a: e230 sd a2,64(a2) + 8000210c: 798e ld s3,224(sp) + 8000210e: 3e45 addiw t3,t3,-15 + 80002110: 0000 unimp + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: 0000 unimp + 80002118: ff09 bnez a4,80002032 <test_3_data+0x12> + 8000211a: a5c1 j 800027da <_end+0x69a> + 8000211c: ddc5 beqz a1,800020d4 <test_8_data+0x14> + 8000211e: 3e60 fld fs0,248(a2) + +0000000080002120 <test_11_data>: + 80002120: 0000 unimp + 80002122: 0000 unimp + 80002124: 0000 unimp + 80002126: 7ff0 ld a2,248(a5) + 80002128: 0000 unimp + 8000212a: 0000 unimp + 8000212c: 0000 unimp + 8000212e: 7ff0 ld a2,248(a5) + 80002130: 0000 unimp + 80002132: 0000 unimp + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: 0000 unimp + 8000213a: 0000 unimp + 8000213c: 0000 unimp + 8000213e: 7ff8 ld a4,248(a5) diff --git a/test/riscv-tests/rv64ud-p-fadd.elf b/test/riscv-tests/rv64ud-p-fadd.elf Binary files differnew file mode 100644 index 0000000..eaa35c6 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fadd.elf diff --git a/test/riscv-tests/rv64ud-p-fclass.dump b/test/riscv-tests/rv64ud-p-fclass.dump new file mode 100644 index 0000000..8fb0b28 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fclass.dump @@ -0,0 +1,212 @@ + +rv64ud-p-fclass: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: fff0051b addiw a0,zero,-1 + 8000010c: 03451513 slli a0,a0,0x34 + 80000110: f2050553 fmv.d.x fa0,a0 + 80000114: e2051553 fclass.d a0,fa0 + 80000118: 00100e93 li t4,1 + 8000011c: 00200193 li gp,2 + 80000120: 11d51863 bne a0,t4,80000230 <fail> + +0000000080000124 <test_3>: + 80000124: bff0051b addiw a0,zero,-1025 + 80000128: 03451513 slli a0,a0,0x34 + 8000012c: f2050553 fmv.d.x fa0,a0 + 80000130: e2051553 fclass.d a0,fa0 + 80000134: 00200e93 li t4,2 + 80000138: 00300193 li gp,3 + 8000013c: 0fd51a63 bne a0,t4,80000230 <fail> + +0000000080000140 <test_4>: + 80000140: 8010051b addiw a0,zero,-2047 + 80000144: 03451513 slli a0,a0,0x34 + 80000148: fff50513 addi a0,a0,-1 # 1fff <_start-0x7fffe001> + 8000014c: f2050553 fmv.d.x fa0,a0 + 80000150: e2051553 fclass.d a0,fa0 + 80000154: 00400e93 li t4,4 + 80000158: 00400193 li gp,4 + 8000015c: 0dd51a63 bne a0,t4,80000230 <fail> + +0000000080000160 <test_5>: + 80000160: fff0051b addiw a0,zero,-1 + 80000164: 03f51513 slli a0,a0,0x3f + 80000168: f2050553 fmv.d.x fa0,a0 + 8000016c: e2051553 fclass.d a0,fa0 + 80000170: 00800e93 li t4,8 + 80000174: 00500193 li gp,5 + 80000178: 0bd51c63 bne a0,t4,80000230 <fail> + +000000008000017c <test_6>: + 8000017c: 00000513 li a0,0 + 80000180: f2050553 fmv.d.x fa0,a0 + 80000184: e2051553 fclass.d a0,fa0 + 80000188: 01000e93 li t4,16 + 8000018c: 00600193 li gp,6 + 80000190: 0bd51063 bne a0,t4,80000230 <fail> + +0000000080000194 <test_7>: + 80000194: 0010051b addiw a0,zero,1 + 80000198: 03451513 slli a0,a0,0x34 + 8000019c: fff50513 addi a0,a0,-1 + 800001a0: f2050553 fmv.d.x fa0,a0 + 800001a4: e2051553 fclass.d a0,fa0 + 800001a8: 02000e93 li t4,32 + 800001ac: 00700193 li gp,7 + 800001b0: 09d51063 bne a0,t4,80000230 <fail> + +00000000800001b4 <test_8>: + 800001b4: 3ff0051b addiw a0,zero,1023 + 800001b8: 03451513 slli a0,a0,0x34 + 800001bc: f2050553 fmv.d.x fa0,a0 + 800001c0: e2051553 fclass.d a0,fa0 + 800001c4: 04000e93 li t4,64 + 800001c8: 00800193 li gp,8 + 800001cc: 07d51263 bne a0,t4,80000230 <fail> + +00000000800001d0 <test_9>: + 800001d0: 7ff0051b addiw a0,zero,2047 + 800001d4: 03451513 slli a0,a0,0x34 + 800001d8: f2050553 fmv.d.x fa0,a0 + 800001dc: e2051553 fclass.d a0,fa0 + 800001e0: 08000e93 li t4,128 + 800001e4: 00900193 li gp,9 + 800001e8: 05d51463 bne a0,t4,80000230 <fail> + +00000000800001ec <test_10>: + 800001ec: 7ff0051b addiw a0,zero,2047 + 800001f0: 03451513 slli a0,a0,0x34 + 800001f4: 00150513 addi a0,a0,1 + 800001f8: f2050553 fmv.d.x fa0,a0 + 800001fc: e2051553 fclass.d a0,fa0 + 80000200: 10000e93 li t4,256 + 80000204: 00a00193 li gp,10 + 80000208: 03d51463 bne a0,t4,80000230 <fail> + +000000008000020c <test_11>: + 8000020c: 00001537 lui a0,0x1 + 80000210: fff5051b addiw a0,a0,-1 + 80000214: 03351513 slli a0,a0,0x33 + 80000218: f2050553 fmv.d.x fa0,a0 + 8000021c: e2051553 fclass.d a0,fa0 + 80000220: 20000e93 li t4,512 + 80000224: 00b00193 li gp,11 + 80000228: 01d51463 bne a0,t4,80000230 <fail> + 8000022c: 00301c63 bne zero,gp,80000244 <pass> + +0000000080000230 <fail>: + 80000230: 0ff0000f fence + 80000234: 00018063 beqz gp,80000234 <fail+0x4> + 80000238: 00119193 slli gp,gp,0x1 + 8000023c: 0011e193 ori gp,gp,1 + 80000240: 00000073 ecall + +0000000080000244 <pass>: + 80000244: 0ff0000f fence + 80000248: 00100193 li gp,1 + 8000024c: 00000073 ecall + 80000250: c0001073 unimp + 80000254: 0000 unimp + 80000256: 0000 unimp + 80000258: 0000 unimp + 8000025a: 0000 unimp + 8000025c: 0000 unimp + 8000025e: 0000 unimp + 80000260: 0000 unimp + 80000262: 0000 unimp + 80000264: 0000 unimp + 80000266: 0000 unimp + 80000268: 0000 unimp + 8000026a: 0000 unimp + 8000026c: 0000 unimp + 8000026e: 0000 unimp + 80000270: 0000 unimp + 80000272: 0000 unimp + 80000274: 0000 unimp + 80000276: 0000 unimp + 80000278: 0000 unimp + 8000027a: 0000 unimp + 8000027c: 0000 unimp + 8000027e: 0000 unimp + 80000280: 0000 unimp + 80000282: 0000 unimp diff --git a/test/riscv-tests/rv64ud-p-fclass.elf b/test/riscv-tests/rv64ud-p-fclass.elf Binary files differnew file mode 100644 index 0000000..7c23d49 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fclass.elf diff --git a/test/riscv-tests/rv64ud-p-fcmp.dump b/test/riscv-tests/rv64ud-p-fcmp.dump new file mode 100644 index 0000000..3598543 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcmp.dump @@ -0,0 +1,561 @@ + +rv64ud-p-fcmp: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: a2102553 feq.d a0,ft0,ft1 + 80000128: 001015f3 fsflags a1,zero + 8000012c: 00000613 li a2,0 + 80000130: 2ad51663 bne a0,a3,800003dc <fail> + 80000134: 2ac59463 bne a1,a2,800003dc <fail> + +0000000080000138 <test_3>: + 80000138: 00300193 li gp,3 + 8000013c: 00002517 auipc a0,0x2 + 80000140: ee450513 addi a0,a0,-284 # 80002020 <test_3_data> + 80000144: 00053007 fld ft0,0(a0) + 80000148: 00853087 fld ft1,8(a0) + 8000014c: 01053107 fld ft2,16(a0) + 80000150: 01853683 ld a3,24(a0) + 80000154: a2100553 fle.d a0,ft0,ft1 + 80000158: 001015f3 fsflags a1,zero + 8000015c: 00000613 li a2,0 + 80000160: 26d51e63 bne a0,a3,800003dc <fail> + 80000164: 26c59c63 bne a1,a2,800003dc <fail> + +0000000080000168 <test_4>: + 80000168: 00400193 li gp,4 + 8000016c: 00002517 auipc a0,0x2 + 80000170: ed450513 addi a0,a0,-300 # 80002040 <test_4_data> + 80000174: 00053007 fld ft0,0(a0) + 80000178: 00853087 fld ft1,8(a0) + 8000017c: 01053107 fld ft2,16(a0) + 80000180: 01853683 ld a3,24(a0) + 80000184: a2101553 flt.d a0,ft0,ft1 + 80000188: 001015f3 fsflags a1,zero + 8000018c: 00000613 li a2,0 + 80000190: 24d51663 bne a0,a3,800003dc <fail> + 80000194: 24c59463 bne a1,a2,800003dc <fail> + +0000000080000198 <test_5>: + 80000198: 00500193 li gp,5 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: ec450513 addi a0,a0,-316 # 80002060 <test_5_data> + 800001a4: 00053007 fld ft0,0(a0) + 800001a8: 00853087 fld ft1,8(a0) + 800001ac: 01053107 fld ft2,16(a0) + 800001b0: 01853683 ld a3,24(a0) + 800001b4: a2102553 feq.d a0,ft0,ft1 + 800001b8: 001015f3 fsflags a1,zero + 800001bc: 00000613 li a2,0 + 800001c0: 20d51e63 bne a0,a3,800003dc <fail> + 800001c4: 20c59c63 bne a1,a2,800003dc <fail> + +00000000800001c8 <test_6>: + 800001c8: 00600193 li gp,6 + 800001cc: 00002517 auipc a0,0x2 + 800001d0: eb450513 addi a0,a0,-332 # 80002080 <test_6_data> + 800001d4: 00053007 fld ft0,0(a0) + 800001d8: 00853087 fld ft1,8(a0) + 800001dc: 01053107 fld ft2,16(a0) + 800001e0: 01853683 ld a3,24(a0) + 800001e4: a2100553 fle.d a0,ft0,ft1 + 800001e8: 001015f3 fsflags a1,zero + 800001ec: 00000613 li a2,0 + 800001f0: 1ed51663 bne a0,a3,800003dc <fail> + 800001f4: 1ec59463 bne a1,a2,800003dc <fail> + +00000000800001f8 <test_7>: + 800001f8: 00700193 li gp,7 + 800001fc: 00002517 auipc a0,0x2 + 80000200: ea450513 addi a0,a0,-348 # 800020a0 <test_7_data> + 80000204: 00053007 fld ft0,0(a0) + 80000208: 00853087 fld ft1,8(a0) + 8000020c: 01053107 fld ft2,16(a0) + 80000210: 01853683 ld a3,24(a0) + 80000214: a2101553 flt.d a0,ft0,ft1 + 80000218: 001015f3 fsflags a1,zero + 8000021c: 00000613 li a2,0 + 80000220: 1ad51e63 bne a0,a3,800003dc <fail> + 80000224: 1ac59c63 bne a1,a2,800003dc <fail> + +0000000080000228 <test_8>: + 80000228: 00800193 li gp,8 + 8000022c: 00002517 auipc a0,0x2 + 80000230: e9450513 addi a0,a0,-364 # 800020c0 <test_8_data> + 80000234: 00053007 fld ft0,0(a0) + 80000238: 00853087 fld ft1,8(a0) + 8000023c: 01053107 fld ft2,16(a0) + 80000240: 01853683 ld a3,24(a0) + 80000244: a2102553 feq.d a0,ft0,ft1 + 80000248: 001015f3 fsflags a1,zero + 8000024c: 00000613 li a2,0 + 80000250: 18d51663 bne a0,a3,800003dc <fail> + 80000254: 18c59463 bne a1,a2,800003dc <fail> + +0000000080000258 <test_9>: + 80000258: 00900193 li gp,9 + 8000025c: 00002517 auipc a0,0x2 + 80000260: e8450513 addi a0,a0,-380 # 800020e0 <test_9_data> + 80000264: 00053007 fld ft0,0(a0) + 80000268: 00853087 fld ft1,8(a0) + 8000026c: 01053107 fld ft2,16(a0) + 80000270: 01853683 ld a3,24(a0) + 80000274: a2102553 feq.d a0,ft0,ft1 + 80000278: 001015f3 fsflags a1,zero + 8000027c: 00000613 li a2,0 + 80000280: 14d51e63 bne a0,a3,800003dc <fail> + 80000284: 14c59c63 bne a1,a2,800003dc <fail> + +0000000080000288 <test_10>: + 80000288: 00a00193 li gp,10 + 8000028c: 00002517 auipc a0,0x2 + 80000290: e7450513 addi a0,a0,-396 # 80002100 <test_10_data> + 80000294: 00053007 fld ft0,0(a0) + 80000298: 00853087 fld ft1,8(a0) + 8000029c: 01053107 fld ft2,16(a0) + 800002a0: 01853683 ld a3,24(a0) + 800002a4: a2102553 feq.d a0,ft0,ft1 + 800002a8: 001015f3 fsflags a1,zero + 800002ac: 01000613 li a2,16 + 800002b0: 12d51663 bne a0,a3,800003dc <fail> + 800002b4: 12c59463 bne a1,a2,800003dc <fail> + +00000000800002b8 <test_11>: + 800002b8: 00b00193 li gp,11 + 800002bc: 00002517 auipc a0,0x2 + 800002c0: e6450513 addi a0,a0,-412 # 80002120 <test_11_data> + 800002c4: 00053007 fld ft0,0(a0) + 800002c8: 00853087 fld ft1,8(a0) + 800002cc: 01053107 fld ft2,16(a0) + 800002d0: 01853683 ld a3,24(a0) + 800002d4: a2101553 flt.d a0,ft0,ft1 + 800002d8: 001015f3 fsflags a1,zero + 800002dc: 01000613 li a2,16 + 800002e0: 0ed51e63 bne a0,a3,800003dc <fail> + 800002e4: 0ec59c63 bne a1,a2,800003dc <fail> + +00000000800002e8 <test_12>: + 800002e8: 00c00193 li gp,12 + 800002ec: 00002517 auipc a0,0x2 + 800002f0: e5450513 addi a0,a0,-428 # 80002140 <test_12_data> + 800002f4: 00053007 fld ft0,0(a0) + 800002f8: 00853087 fld ft1,8(a0) + 800002fc: 01053107 fld ft2,16(a0) + 80000300: 01853683 ld a3,24(a0) + 80000304: a2101553 flt.d a0,ft0,ft1 + 80000308: 001015f3 fsflags a1,zero + 8000030c: 01000613 li a2,16 + 80000310: 0cd51663 bne a0,a3,800003dc <fail> + 80000314: 0cc59463 bne a1,a2,800003dc <fail> + +0000000080000318 <test_13>: + 80000318: 00d00193 li gp,13 + 8000031c: 00002517 auipc a0,0x2 + 80000320: e4450513 addi a0,a0,-444 # 80002160 <test_13_data> + 80000324: 00053007 fld ft0,0(a0) + 80000328: 00853087 fld ft1,8(a0) + 8000032c: 01053107 fld ft2,16(a0) + 80000330: 01853683 ld a3,24(a0) + 80000334: a2101553 flt.d a0,ft0,ft1 + 80000338: 001015f3 fsflags a1,zero + 8000033c: 01000613 li a2,16 + 80000340: 08d51e63 bne a0,a3,800003dc <fail> + 80000344: 08c59c63 bne a1,a2,800003dc <fail> + +0000000080000348 <test_14>: + 80000348: 00e00193 li gp,14 + 8000034c: 00002517 auipc a0,0x2 + 80000350: e3450513 addi a0,a0,-460 # 80002180 <test_14_data> + 80000354: 00053007 fld ft0,0(a0) + 80000358: 00853087 fld ft1,8(a0) + 8000035c: 01053107 fld ft2,16(a0) + 80000360: 01853683 ld a3,24(a0) + 80000364: a2100553 fle.d a0,ft0,ft1 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 01000613 li a2,16 + 80000370: 06d51663 bne a0,a3,800003dc <fail> + 80000374: 06c59463 bne a1,a2,800003dc <fail> + +0000000080000378 <test_15>: + 80000378: 00f00193 li gp,15 + 8000037c: 00002517 auipc a0,0x2 + 80000380: e2450513 addi a0,a0,-476 # 800021a0 <test_15_data> + 80000384: 00053007 fld ft0,0(a0) + 80000388: 00853087 fld ft1,8(a0) + 8000038c: 01053107 fld ft2,16(a0) + 80000390: 01853683 ld a3,24(a0) + 80000394: a2100553 fle.d a0,ft0,ft1 + 80000398: 001015f3 fsflags a1,zero + 8000039c: 01000613 li a2,16 + 800003a0: 02d51e63 bne a0,a3,800003dc <fail> + 800003a4: 02c59c63 bne a1,a2,800003dc <fail> + +00000000800003a8 <test_16>: + 800003a8: 01000193 li gp,16 + 800003ac: 00002517 auipc a0,0x2 + 800003b0: e1450513 addi a0,a0,-492 # 800021c0 <test_16_data> + 800003b4: 00053007 fld ft0,0(a0) + 800003b8: 00853087 fld ft1,8(a0) + 800003bc: 01053107 fld ft2,16(a0) + 800003c0: 01853683 ld a3,24(a0) + 800003c4: a2100553 fle.d a0,ft0,ft1 + 800003c8: 001015f3 fsflags a1,zero + 800003cc: 01000613 li a2,16 + 800003d0: 00d51663 bne a0,a3,800003dc <fail> + 800003d4: 00c59463 bne a1,a2,800003dc <fail> + 800003d8: 00301c63 bne zero,gp,800003f0 <pass> + +00000000800003dc <fail>: + 800003dc: 0ff0000f fence + 800003e0: 00018063 beqz gp,800003e0 <fail+0x4> + 800003e4: 00119193 slli gp,gp,0x1 + 800003e8: 0011e193 ori gp,gp,1 + 800003ec: 00000073 ecall + +00000000800003f0 <pass>: + 800003f0: 0ff0000f fence + 800003f4: 00100193 li gp,1 + 800003f8: 00000073 ecall + 800003fc: c0001073 unimp + 80000400: 0000 unimp + 80000402: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 5c28f5c3 0x5c28f5c3 + 80002004: bff5c28f 0xbff5c28f + 80002008: 5c28f5c3 0x5c28f5c3 + 8000200c: bff5c28f 0xbff5c28f + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: 0001 nop + 8000201a: 0000 unimp + 8000201c: 0000 unimp + 8000201e: 0000 unimp + +0000000080002020 <test_3_data>: + 80002020: 5c28f5c3 0x5c28f5c3 + 80002024: bff5c28f 0xbff5c28f + 80002028: 5c28f5c3 0x5c28f5c3 + 8000202c: bff5c28f 0xbff5c28f + 80002030: 0000 unimp + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 0001 nop + 8000203a: 0000 unimp + 8000203c: 0000 unimp + 8000203e: 0000 unimp + +0000000080002040 <test_4_data>: + 80002040: 5c28f5c3 0x5c28f5c3 + 80002044: bff5c28f 0xbff5c28f + 80002048: 5c28f5c3 0x5c28f5c3 + 8000204c: bff5c28f 0xbff5c28f + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: 0000 unimp + +0000000080002060 <test_5_data>: + 80002060: 51ec lw a1,100(a1) + 80002062: 1eb8 addi a4,sp,888 + 80002064: eb85 bnez a5,80002094 <test_6_data+0x14> + 80002066: bff5 j 80002062 <test_5_data+0x2> + 80002068: 5c28f5c3 0x5c28f5c3 + 8000206c: bff5c28f 0xbff5c28f + 80002070: 0000 unimp + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 0000 unimp + +0000000080002080 <test_6_data>: + 80002080: 51ec lw a1,100(a1) + 80002082: 1eb8 addi a4,sp,888 + 80002084: eb85 bnez a5,800020b4 <test_7_data+0x14> + 80002086: bff5 j 80002082 <test_6_data+0x2> + 80002088: 5c28f5c3 0x5c28f5c3 + 8000208c: bff5c28f 0xbff5c28f + 80002090: 0000 unimp + 80002092: 0000 unimp + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0001 nop + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 0000 unimp + +00000000800020a0 <test_7_data>: + 800020a0: 51ec lw a1,100(a1) + 800020a2: 1eb8 addi a4,sp,888 + 800020a4: eb85 bnez a5,800020d4 <test_8_data+0x14> + 800020a6: bff5 j 800020a2 <test_7_data+0x2> + 800020a8: 5c28f5c3 0x5c28f5c3 + 800020ac: bff5c28f 0xbff5c28f + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0001 nop + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 0000 unimp + +00000000800020c0 <test_8_data>: + 800020c0: ffff 0xffff + 800020c2: ffff 0xffff + 800020c4: ffff 0xffff + 800020c6: 7fff 0x7fff + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 0000 unimp + +00000000800020e0 <test_9_data>: + 800020e0: ffff 0xffff + 800020e2: ffff 0xffff + 800020e4: ffff 0xffff + 800020e6: 7fff 0x7fff + 800020e8: ffff 0xffff + 800020ea: ffff 0xffff + 800020ec: ffff 0xffff + 800020ee: 7fff 0x7fff + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: 0000 unimp + 800020fa: 0000 unimp + 800020fc: 0000 unimp + 800020fe: 0000 unimp + +0000000080002100 <test_10_data>: + 80002100: 0001 nop + 80002102: 0000 unimp + 80002104: 0000 unimp + 80002106: 7ff0 ld a2,248(a5) + 80002108: 0000 unimp + 8000210a: 0000 unimp + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: 0000 unimp + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: 0000 unimp + 80002118: 0000 unimp + 8000211a: 0000 unimp + 8000211c: 0000 unimp + 8000211e: 0000 unimp + +0000000080002120 <test_11_data>: + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: ffff 0xffff + 80002126: 7fff 0x7fff + 80002128: 0000 unimp + 8000212a: 0000 unimp + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: 0000 unimp + 80002132: 0000 unimp + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: 0000 unimp + 8000213a: 0000 unimp + 8000213c: 0000 unimp + 8000213e: 0000 unimp + +0000000080002140 <test_12_data>: + 80002140: ffff 0xffff + 80002142: ffff 0xffff + 80002144: ffff 0xffff + 80002146: 7fff 0x7fff + 80002148: ffff 0xffff + 8000214a: ffff 0xffff + 8000214c: ffff 0xffff + 8000214e: 7fff 0x7fff + 80002150: 0000 unimp + 80002152: 0000 unimp + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: 0000 unimp + 8000215a: 0000 unimp + 8000215c: 0000 unimp + 8000215e: 0000 unimp + +0000000080002160 <test_13_data>: + 80002160: 0001 nop + 80002162: 0000 unimp + 80002164: 0000 unimp + 80002166: 7ff0 ld a2,248(a5) + 80002168: 0000 unimp + 8000216a: 0000 unimp + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: 0000 unimp + 80002172: 0000 unimp + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: 0000 unimp + 8000217a: 0000 unimp + 8000217c: 0000 unimp + 8000217e: 0000 unimp + +0000000080002180 <test_14_data>: + 80002180: ffff 0xffff + 80002182: ffff 0xffff + 80002184: ffff 0xffff + 80002186: 7fff 0x7fff + 80002188: 0000 unimp + 8000218a: 0000 unimp + 8000218c: 0000 unimp + 8000218e: 0000 unimp + 80002190: 0000 unimp + 80002192: 0000 unimp + 80002194: 0000 unimp + 80002196: 0000 unimp + 80002198: 0000 unimp + 8000219a: 0000 unimp + 8000219c: 0000 unimp + 8000219e: 0000 unimp + +00000000800021a0 <test_15_data>: + 800021a0: ffff 0xffff + 800021a2: ffff 0xffff + 800021a4: ffff 0xffff + 800021a6: 7fff 0x7fff + 800021a8: ffff 0xffff + 800021aa: ffff 0xffff + 800021ac: ffff 0xffff + 800021ae: 7fff 0x7fff + 800021b0: 0000 unimp + 800021b2: 0000 unimp + 800021b4: 0000 unimp + 800021b6: 0000 unimp + 800021b8: 0000 unimp + 800021ba: 0000 unimp + 800021bc: 0000 unimp + 800021be: 0000 unimp + +00000000800021c0 <test_16_data>: + 800021c0: 0001 nop + 800021c2: 0000 unimp + 800021c4: 0000 unimp + 800021c6: 7ff0 ld a2,248(a5) + 800021c8: 0000 unimp + 800021ca: 0000 unimp + 800021cc: 0000 unimp + 800021ce: 0000 unimp + 800021d0: 0000 unimp + 800021d2: 0000 unimp + 800021d4: 0000 unimp + 800021d6: 0000 unimp + 800021d8: 0000 unimp + 800021da: 0000 unimp + 800021dc: 0000 unimp + 800021de: 0000 unimp diff --git a/test/riscv-tests/rv64ud-p-fcmp.elf b/test/riscv-tests/rv64ud-p-fcmp.elf Binary files differnew file mode 100644 index 0000000..4ae6c9b --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcmp.elf diff --git a/test/riscv-tests/rv64ud-p-fcvt.dump b/test/riscv-tests/rv64ud-p-fcvt.dump new file mode 100644 index 0000000..54e2a24 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcvt.dump @@ -0,0 +1,327 @@ + +rv64ud-p-fcvt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053683 ld a3,0(a0) + 80000118: 00200513 li a0,2 + 8000011c: d2050053 fcvt.d.w ft0,a0 + 80000120: 00101073 fsflags zero + 80000124: e2000553 fmv.x.d a0,ft0 + 80000128: 1ad51263 bne a0,a3,800002cc <fail> + +000000008000012c <test_3>: + 8000012c: 00300193 li gp,3 + 80000130: 00002517 auipc a0,0x2 + 80000134: ed850513 addi a0,a0,-296 # 80002008 <test_3_data> + 80000138: 00053683 ld a3,0(a0) + 8000013c: ffe00513 li a0,-2 + 80000140: d2050053 fcvt.d.w ft0,a0 + 80000144: 00101073 fsflags zero + 80000148: e2000553 fmv.x.d a0,ft0 + 8000014c: 18d51063 bne a0,a3,800002cc <fail> + +0000000080000150 <test_4>: + 80000150: 00400193 li gp,4 + 80000154: 00002517 auipc a0,0x2 + 80000158: ebc50513 addi a0,a0,-324 # 80002010 <test_4_data> + 8000015c: 00053683 ld a3,0(a0) + 80000160: 00200513 li a0,2 + 80000164: d2150053 fcvt.d.wu ft0,a0 + 80000168: 00101073 fsflags zero + 8000016c: e2000553 fmv.x.d a0,ft0 + 80000170: 14d51e63 bne a0,a3,800002cc <fail> + +0000000080000174 <test_5>: + 80000174: 00500193 li gp,5 + 80000178: 00002517 auipc a0,0x2 + 8000017c: ea050513 addi a0,a0,-352 # 80002018 <test_5_data> + 80000180: 00053683 ld a3,0(a0) + 80000184: ffe00513 li a0,-2 + 80000188: d2150053 fcvt.d.wu ft0,a0 + 8000018c: 00101073 fsflags zero + 80000190: e2000553 fmv.x.d a0,ft0 + 80000194: 12d51c63 bne a0,a3,800002cc <fail> + +0000000080000198 <test_6>: + 80000198: 00600193 li gp,6 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: e8450513 addi a0,a0,-380 # 80002020 <test_6_data> + 800001a4: 00053683 ld a3,0(a0) + 800001a8: 00200513 li a0,2 + 800001ac: d2257053 fcvt.d.l ft0,a0 + 800001b0: 00101073 fsflags zero + 800001b4: e2000553 fmv.x.d a0,ft0 + 800001b8: 10d51a63 bne a0,a3,800002cc <fail> + +00000000800001bc <test_7>: + 800001bc: 00700193 li gp,7 + 800001c0: 00002517 auipc a0,0x2 + 800001c4: e6850513 addi a0,a0,-408 # 80002028 <test_7_data> + 800001c8: 00053683 ld a3,0(a0) + 800001cc: ffe00513 li a0,-2 + 800001d0: d2257053 fcvt.d.l ft0,a0 + 800001d4: 00101073 fsflags zero + 800001d8: e2000553 fmv.x.d a0,ft0 + 800001dc: 0ed51863 bne a0,a3,800002cc <fail> + +00000000800001e0 <test_8>: + 800001e0: 00800193 li gp,8 + 800001e4: 00002517 auipc a0,0x2 + 800001e8: e4c50513 addi a0,a0,-436 # 80002030 <test_8_data> + 800001ec: 00053683 ld a3,0(a0) + 800001f0: 00200513 li a0,2 + 800001f4: d2357053 fcvt.d.lu ft0,a0 + 800001f8: 00101073 fsflags zero + 800001fc: e2000553 fmv.x.d a0,ft0 + 80000200: 0cd51663 bne a0,a3,800002cc <fail> + +0000000080000204 <test_9>: + 80000204: 00900193 li gp,9 + 80000208: 00002517 auipc a0,0x2 + 8000020c: e3050513 addi a0,a0,-464 # 80002038 <test_9_data> + 80000210: 00053683 ld a3,0(a0) + 80000214: ffe00513 li a0,-2 + 80000218: d2357053 fcvt.d.lu ft0,a0 + 8000021c: 00101073 fsflags zero + 80000220: e2000553 fmv.x.d a0,ft0 + 80000224: 0ad51463 bne a0,a3,800002cc <fail> + +0000000080000228 <test_10>: + 80000228: 00a00193 li gp,10 + 8000022c: 00002517 auipc a0,0x2 + 80000230: e1450513 addi a0,a0,-492 # 80002040 <test_10_data> + 80000234: 00053007 fld ft0,0(a0) + 80000238: 00853087 fld ft1,8(a0) + 8000023c: 01053107 fld ft2,16(a0) + 80000240: 01853683 ld a3,24(a0) + 80000244: 401071d3 fcvt.s.d ft3,ft0 + 80000248: 420181d3 fcvt.d.s ft3,ft3 + 8000024c: e2018553 fmv.x.d a0,ft3 + 80000250: 001015f3 fsflags a1,zero + 80000254: 00000613 li a2,0 + 80000258: 06d51a63 bne a0,a3,800002cc <fail> + 8000025c: 06c59863 bne a1,a2,800002cc <fail> + +0000000080000260 <test_11>: + 80000260: 00b00193 li gp,11 + 80000264: 00002517 auipc a0,0x2 + 80000268: dfc50513 addi a0,a0,-516 # 80002060 <test_11_data> + 8000026c: 00052007 flw ft0,0(a0) + 80000270: 00452087 flw ft1,4(a0) + 80000274: 00852107 flw ft2,8(a0) + 80000278: 00c52683 lw a3,12(a0) + 8000027c: 420001d3 fcvt.d.s ft3,ft0 + 80000280: 4011f1d3 fcvt.s.d ft3,ft3 + 80000284: e0018553 fmv.x.w a0,ft3 + 80000288: 001015f3 fsflags a1,zero + 8000028c: 00000613 li a2,0 + 80000290: 02d51e63 bne a0,a3,800002cc <fail> + 80000294: 02c59c63 bne a1,a2,800002cc <fail> + +0000000080000298 <test_12>: + 80000298: 00002597 auipc a1,0x2 + 8000029c: dd858593 addi a1,a1,-552 # 80002070 <begin_signature> + 800002a0: 0005b603 ld a2,0(a1) + 800002a4: f2060153 fmv.d.x ft2,a2 + 800002a8: 40117153 fcvt.s.d ft2,ft2 + 800002ac: 42010153 fcvt.d.s ft2,ft2 + 800002b0: e2010553 fmv.x.d a0,ft2 + 800002b4: 00001eb7 lui t4,0x1 + 800002b8: fffe8e9b addiw t4,t4,-1 + 800002bc: 033e9e93 slli t4,t4,0x33 + 800002c0: 00c00193 li gp,12 + 800002c4: 01d51463 bne a0,t4,800002cc <fail> + 800002c8: 00301c63 bne zero,gp,800002e0 <pass> + +00000000800002cc <fail>: + 800002cc: 0ff0000f fence + 800002d0: 00018063 beqz gp,800002d0 <fail+0x4> + 800002d4: 00119193 slli gp,gp,0x1 + 800002d8: 0011e193 ori gp,gp,1 + 800002dc: 00000073 ecall + +00000000800002e0 <pass>: + 800002e0: 0ff0000f fence + 800002e4: 00100193 li gp,1 + 800002e8: 00000073 ecall + 800002ec: c0001073 unimp + 800002f0: 0000 unimp + 800002f2: 0000 unimp + 800002f4: 0000 unimp + 800002f6: 0000 unimp + 800002f8: 0000 unimp + 800002fa: 0000 unimp + 800002fc: 0000 unimp + 800002fe: 0000 unimp + 80000300: 0000 unimp + 80000302: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 4000 lw s0,0(s0) + +0000000080002008 <test_3_data>: + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: c000 sw s0,0(s0) + +0000000080002010 <test_4_data>: + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 4000 lw s0,0(s0) + +0000000080002018 <test_5_data>: + 80002018: 0000 unimp + 8000201a: ffc0 sd s0,184(a5) + 8000201c: ffff 0xffff + 8000201e: jal gp,8000601e <_end+0x3f9e> + +0000000080002020 <test_6_data>: + 80002020: 0000 unimp + 80002022: 0000 unimp + 80002024: 0000 unimp + 80002026: 4000 lw s0,0(s0) + +0000000080002028 <test_7_data>: + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 0000 unimp + 8000202e: c000 sw s0,0(s0) + +0000000080002030 <test_8_data>: + 80002030: 0000 unimp + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 4000 lw s0,0(s0) + +0000000080002038 <test_9_data>: + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: 0000 unimp + 8000203e: 43f0 lw a2,68(a5) + +0000000080002040 <test_10_data>: + 80002040: 0000 unimp + 80002042: 0000 unimp + 80002044: 0000 unimp + 80002046: bff8 fsd fa4,248(a5) + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0000 unimp + 8000204e: 0000 unimp + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: bff8 fsd fa4,248(a5) + +0000000080002060 <test_11_data>: + 80002060: 0000 unimp + 80002062: bfc0 fsd fs0,184(a5) + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: bfc0 fsd fs0,184(a5) + +0000000080002070 <begin_signature>: + 80002070: 8004 0x8004 + 80002072: ffff 0xffff + 80002074: ffff 0xffff + 80002076: 7ffc ld a5,248(a5) + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 0000 unimp diff --git a/test/riscv-tests/rv64ud-p-fcvt.elf b/test/riscv-tests/rv64ud-p-fcvt.elf Binary files differnew file mode 100644 index 0000000..995bc81 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcvt.elf diff --git a/test/riscv-tests/rv64ud-p-fcvt_w.dump b/test/riscv-tests/rv64ud-p-fcvt_w.dump new file mode 100644 index 0000000..6094959 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcvt_w.dump @@ -0,0 +1,1364 @@ + +rv64ud-p-fcvt_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: c2001553 fcvt.w.d a0,ft0,rtz + 80000128: 001015f3 fsflags a1,zero + 8000012c: 00100613 li a2,1 + 80000130: 02d512e3 bne a0,a3,80000954 <fail> + 80000134: 02c590e3 bne a1,a2,80000954 <fail> + +0000000080000138 <test_3>: + 80000138: 00300193 li gp,3 + 8000013c: 00002517 auipc a0,0x2 + 80000140: ee450513 addi a0,a0,-284 # 80002020 <test_3_data> + 80000144: 00053007 fld ft0,0(a0) + 80000148: 00853087 fld ft1,8(a0) + 8000014c: 01053107 fld ft2,16(a0) + 80000150: 01853683 ld a3,24(a0) + 80000154: c2001553 fcvt.w.d a0,ft0,rtz + 80000158: 001015f3 fsflags a1,zero + 8000015c: 00000613 li a2,0 + 80000160: 7ed51a63 bne a0,a3,80000954 <fail> + 80000164: 7ec59863 bne a1,a2,80000954 <fail> + +0000000080000168 <test_4>: + 80000168: 00400193 li gp,4 + 8000016c: 00002517 auipc a0,0x2 + 80000170: ed450513 addi a0,a0,-300 # 80002040 <test_4_data> + 80000174: 00053007 fld ft0,0(a0) + 80000178: 00853087 fld ft1,8(a0) + 8000017c: 01053107 fld ft2,16(a0) + 80000180: 01853683 ld a3,24(a0) + 80000184: c2001553 fcvt.w.d a0,ft0,rtz + 80000188: 001015f3 fsflags a1,zero + 8000018c: 00100613 li a2,1 + 80000190: 7cd51263 bne a0,a3,80000954 <fail> + 80000194: 7cc59063 bne a1,a2,80000954 <fail> + +0000000080000198 <test_5>: + 80000198: 00500193 li gp,5 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: ec450513 addi a0,a0,-316 # 80002060 <test_5_data> + 800001a4: 00053007 fld ft0,0(a0) + 800001a8: 00853087 fld ft1,8(a0) + 800001ac: 01053107 fld ft2,16(a0) + 800001b0: 01853683 ld a3,24(a0) + 800001b4: c2001553 fcvt.w.d a0,ft0,rtz + 800001b8: 001015f3 fsflags a1,zero + 800001bc: 00100613 li a2,1 + 800001c0: 78d51a63 bne a0,a3,80000954 <fail> + 800001c4: 78c59863 bne a1,a2,80000954 <fail> + +00000000800001c8 <test_6>: + 800001c8: 00600193 li gp,6 + 800001cc: 00002517 auipc a0,0x2 + 800001d0: eb450513 addi a0,a0,-332 # 80002080 <test_6_data> + 800001d4: 00053007 fld ft0,0(a0) + 800001d8: 00853087 fld ft1,8(a0) + 800001dc: 01053107 fld ft2,16(a0) + 800001e0: 01853683 ld a3,24(a0) + 800001e4: c2001553 fcvt.w.d a0,ft0,rtz + 800001e8: 001015f3 fsflags a1,zero + 800001ec: 00000613 li a2,0 + 800001f0: 76d51263 bne a0,a3,80000954 <fail> + 800001f4: 76c59063 bne a1,a2,80000954 <fail> + +00000000800001f8 <test_7>: + 800001f8: 00700193 li gp,7 + 800001fc: 00002517 auipc a0,0x2 + 80000200: ea450513 addi a0,a0,-348 # 800020a0 <test_7_data> + 80000204: 00053007 fld ft0,0(a0) + 80000208: 00853087 fld ft1,8(a0) + 8000020c: 01053107 fld ft2,16(a0) + 80000210: 01853683 ld a3,24(a0) + 80000214: c2001553 fcvt.w.d a0,ft0,rtz + 80000218: 001015f3 fsflags a1,zero + 8000021c: 00100613 li a2,1 + 80000220: 72d51a63 bne a0,a3,80000954 <fail> + 80000224: 72c59863 bne a1,a2,80000954 <fail> + +0000000080000228 <test_8>: + 80000228: 00800193 li gp,8 + 8000022c: 00002517 auipc a0,0x2 + 80000230: e9450513 addi a0,a0,-364 # 800020c0 <test_8_data> + 80000234: 00053007 fld ft0,0(a0) + 80000238: 00853087 fld ft1,8(a0) + 8000023c: 01053107 fld ft2,16(a0) + 80000240: 01853683 ld a3,24(a0) + 80000244: c2001553 fcvt.w.d a0,ft0,rtz + 80000248: 001015f3 fsflags a1,zero + 8000024c: 01000613 li a2,16 + 80000250: 70d51263 bne a0,a3,80000954 <fail> + 80000254: 70c59063 bne a1,a2,80000954 <fail> + +0000000080000258 <test_9>: + 80000258: 00900193 li gp,9 + 8000025c: 00002517 auipc a0,0x2 + 80000260: e8450513 addi a0,a0,-380 # 800020e0 <test_9_data> + 80000264: 00053007 fld ft0,0(a0) + 80000268: 00853087 fld ft1,8(a0) + 8000026c: 01053107 fld ft2,16(a0) + 80000270: 01853683 ld a3,24(a0) + 80000274: c2001553 fcvt.w.d a0,ft0,rtz + 80000278: 001015f3 fsflags a1,zero + 8000027c: 01000613 li a2,16 + 80000280: 6cd51a63 bne a0,a3,80000954 <fail> + 80000284: 6cc59863 bne a1,a2,80000954 <fail> + +0000000080000288 <test_12>: + 80000288: 00c00193 li gp,12 + 8000028c: 00002517 auipc a0,0x2 + 80000290: e7450513 addi a0,a0,-396 # 80002100 <test_12_data> + 80000294: 00053007 fld ft0,0(a0) + 80000298: 00853087 fld ft1,8(a0) + 8000029c: 01053107 fld ft2,16(a0) + 800002a0: 01853683 ld a3,24(a0) + 800002a4: c2101553 fcvt.wu.d a0,ft0,rtz + 800002a8: 001015f3 fsflags a1,zero + 800002ac: 01000613 li a2,16 + 800002b0: 6ad51263 bne a0,a3,80000954 <fail> + 800002b4: 6ac59063 bne a1,a2,80000954 <fail> + +00000000800002b8 <test_13>: + 800002b8: 00d00193 li gp,13 + 800002bc: 00002517 auipc a0,0x2 + 800002c0: e6450513 addi a0,a0,-412 # 80002120 <test_13_data> + 800002c4: 00053007 fld ft0,0(a0) + 800002c8: 00853087 fld ft1,8(a0) + 800002cc: 01053107 fld ft2,16(a0) + 800002d0: 01853683 ld a3,24(a0) + 800002d4: c2101553 fcvt.wu.d a0,ft0,rtz + 800002d8: 001015f3 fsflags a1,zero + 800002dc: 01000613 li a2,16 + 800002e0: 66d51a63 bne a0,a3,80000954 <fail> + 800002e4: 66c59863 bne a1,a2,80000954 <fail> + +00000000800002e8 <test_14>: + 800002e8: 00e00193 li gp,14 + 800002ec: 00002517 auipc a0,0x2 + 800002f0: e5450513 addi a0,a0,-428 # 80002140 <test_14_data> + 800002f4: 00053007 fld ft0,0(a0) + 800002f8: 00853087 fld ft1,8(a0) + 800002fc: 01053107 fld ft2,16(a0) + 80000300: 01853683 ld a3,24(a0) + 80000304: c2101553 fcvt.wu.d a0,ft0,rtz + 80000308: 001015f3 fsflags a1,zero + 8000030c: 00100613 li a2,1 + 80000310: 64d51263 bne a0,a3,80000954 <fail> + 80000314: 64c59063 bne a1,a2,80000954 <fail> + +0000000080000318 <test_15>: + 80000318: 00f00193 li gp,15 + 8000031c: 00002517 auipc a0,0x2 + 80000320: e4450513 addi a0,a0,-444 # 80002160 <test_15_data> + 80000324: 00053007 fld ft0,0(a0) + 80000328: 00853087 fld ft1,8(a0) + 8000032c: 01053107 fld ft2,16(a0) + 80000330: 01853683 ld a3,24(a0) + 80000334: c2101553 fcvt.wu.d a0,ft0,rtz + 80000338: 001015f3 fsflags a1,zero + 8000033c: 00100613 li a2,1 + 80000340: 60d51a63 bne a0,a3,80000954 <fail> + 80000344: 60c59863 bne a1,a2,80000954 <fail> + +0000000080000348 <test_16>: + 80000348: 01000193 li gp,16 + 8000034c: 00002517 auipc a0,0x2 + 80000350: e3450513 addi a0,a0,-460 # 80002180 <test_16_data> + 80000354: 00053007 fld ft0,0(a0) + 80000358: 00853087 fld ft1,8(a0) + 8000035c: 01053107 fld ft2,16(a0) + 80000360: 01853683 ld a3,24(a0) + 80000364: c2101553 fcvt.wu.d a0,ft0,rtz + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 5ed51263 bne a0,a3,80000954 <fail> + 80000374: 5ec59063 bne a1,a2,80000954 <fail> + +0000000080000378 <test_17>: + 80000378: 01100193 li gp,17 + 8000037c: 00002517 auipc a0,0x2 + 80000380: e2450513 addi a0,a0,-476 # 800021a0 <test_17_data> + 80000384: 00053007 fld ft0,0(a0) + 80000388: 00853087 fld ft1,8(a0) + 8000038c: 01053107 fld ft2,16(a0) + 80000390: 01853683 ld a3,24(a0) + 80000394: c2101553 fcvt.wu.d a0,ft0,rtz + 80000398: 001015f3 fsflags a1,zero + 8000039c: 00100613 li a2,1 + 800003a0: 5ad51a63 bne a0,a3,80000954 <fail> + 800003a4: 5ac59863 bne a1,a2,80000954 <fail> + +00000000800003a8 <test_18>: + 800003a8: 01200193 li gp,18 + 800003ac: 00002517 auipc a0,0x2 + 800003b0: e1450513 addi a0,a0,-492 # 800021c0 <test_18_data> + 800003b4: 00053007 fld ft0,0(a0) + 800003b8: 00853087 fld ft1,8(a0) + 800003bc: 01053107 fld ft2,16(a0) + 800003c0: 01853683 ld a3,24(a0) + 800003c4: c2101553 fcvt.wu.d a0,ft0,rtz + 800003c8: 001015f3 fsflags a1,zero + 800003cc: 01000613 li a2,16 + 800003d0: 58d51263 bne a0,a3,80000954 <fail> + 800003d4: 58c59063 bne a1,a2,80000954 <fail> + +00000000800003d8 <test_19>: + 800003d8: 01300193 li gp,19 + 800003dc: 00002517 auipc a0,0x2 + 800003e0: e0450513 addi a0,a0,-508 # 800021e0 <test_19_data> + 800003e4: 00053007 fld ft0,0(a0) + 800003e8: 00853087 fld ft1,8(a0) + 800003ec: 01053107 fld ft2,16(a0) + 800003f0: 01853683 ld a3,24(a0) + 800003f4: c2101553 fcvt.wu.d a0,ft0,rtz + 800003f8: 001015f3 fsflags a1,zero + 800003fc: 00000613 li a2,0 + 80000400: 54d51a63 bne a0,a3,80000954 <fail> + 80000404: 54c59863 bne a1,a2,80000954 <fail> + +0000000080000408 <test_22>: + 80000408: 01600193 li gp,22 + 8000040c: 00002517 auipc a0,0x2 + 80000410: df450513 addi a0,a0,-524 # 80002200 <test_22_data> + 80000414: 00053007 fld ft0,0(a0) + 80000418: 00853087 fld ft1,8(a0) + 8000041c: 01053107 fld ft2,16(a0) + 80000420: 01853683 ld a3,24(a0) + 80000424: c2201553 fcvt.l.d a0,ft0,rtz + 80000428: 001015f3 fsflags a1,zero + 8000042c: 00100613 li a2,1 + 80000430: 52d51263 bne a0,a3,80000954 <fail> + 80000434: 52c59063 bne a1,a2,80000954 <fail> + +0000000080000438 <test_23>: + 80000438: 01700193 li gp,23 + 8000043c: 00002517 auipc a0,0x2 + 80000440: de450513 addi a0,a0,-540 # 80002220 <test_23_data> + 80000444: 00053007 fld ft0,0(a0) + 80000448: 00853087 fld ft1,8(a0) + 8000044c: 01053107 fld ft2,16(a0) + 80000450: 01853683 ld a3,24(a0) + 80000454: c2201553 fcvt.l.d a0,ft0,rtz + 80000458: 001015f3 fsflags a1,zero + 8000045c: 00000613 li a2,0 + 80000460: 4ed51a63 bne a0,a3,80000954 <fail> + 80000464: 4ec59863 bne a1,a2,80000954 <fail> + +0000000080000468 <test_24>: + 80000468: 01800193 li gp,24 + 8000046c: 00002517 auipc a0,0x2 + 80000470: dd450513 addi a0,a0,-556 # 80002240 <test_24_data> + 80000474: 00053007 fld ft0,0(a0) + 80000478: 00853087 fld ft1,8(a0) + 8000047c: 01053107 fld ft2,16(a0) + 80000480: 01853683 ld a3,24(a0) + 80000484: c2201553 fcvt.l.d a0,ft0,rtz + 80000488: 001015f3 fsflags a1,zero + 8000048c: 00100613 li a2,1 + 80000490: 4cd51263 bne a0,a3,80000954 <fail> + 80000494: 4cc59063 bne a1,a2,80000954 <fail> + +0000000080000498 <test_25>: + 80000498: 01900193 li gp,25 + 8000049c: 00002517 auipc a0,0x2 + 800004a0: dc450513 addi a0,a0,-572 # 80002260 <test_25_data> + 800004a4: 00053007 fld ft0,0(a0) + 800004a8: 00853087 fld ft1,8(a0) + 800004ac: 01053107 fld ft2,16(a0) + 800004b0: 01853683 ld a3,24(a0) + 800004b4: c2201553 fcvt.l.d a0,ft0,rtz + 800004b8: 001015f3 fsflags a1,zero + 800004bc: 00100613 li a2,1 + 800004c0: 48d51a63 bne a0,a3,80000954 <fail> + 800004c4: 48c59863 bne a1,a2,80000954 <fail> + +00000000800004c8 <test_26>: + 800004c8: 01a00193 li gp,26 + 800004cc: 00002517 auipc a0,0x2 + 800004d0: db450513 addi a0,a0,-588 # 80002280 <test_26_data> + 800004d4: 00053007 fld ft0,0(a0) + 800004d8: 00853087 fld ft1,8(a0) + 800004dc: 01053107 fld ft2,16(a0) + 800004e0: 01853683 ld a3,24(a0) + 800004e4: c2201553 fcvt.l.d a0,ft0,rtz + 800004e8: 001015f3 fsflags a1,zero + 800004ec: 00000613 li a2,0 + 800004f0: 46d51263 bne a0,a3,80000954 <fail> + 800004f4: 46c59063 bne a1,a2,80000954 <fail> + +00000000800004f8 <test_27>: + 800004f8: 01b00193 li gp,27 + 800004fc: 00002517 auipc a0,0x2 + 80000500: da450513 addi a0,a0,-604 # 800022a0 <test_27_data> + 80000504: 00053007 fld ft0,0(a0) + 80000508: 00853087 fld ft1,8(a0) + 8000050c: 01053107 fld ft2,16(a0) + 80000510: 01853683 ld a3,24(a0) + 80000514: c2201553 fcvt.l.d a0,ft0,rtz + 80000518: 001015f3 fsflags a1,zero + 8000051c: 00100613 li a2,1 + 80000520: 42d51a63 bne a0,a3,80000954 <fail> + 80000524: 42c59863 bne a1,a2,80000954 <fail> + +0000000080000528 <test_28>: + 80000528: 01c00193 li gp,28 + 8000052c: 00002517 auipc a0,0x2 + 80000530: d9450513 addi a0,a0,-620 # 800022c0 <test_28_data> + 80000534: 00053007 fld ft0,0(a0) + 80000538: 00853087 fld ft1,8(a0) + 8000053c: 01053107 fld ft2,16(a0) + 80000540: 01853683 ld a3,24(a0) + 80000544: c2201553 fcvt.l.d a0,ft0,rtz + 80000548: 001015f3 fsflags a1,zero + 8000054c: 00000613 li a2,0 + 80000550: 40d51263 bne a0,a3,80000954 <fail> + 80000554: 40c59063 bne a1,a2,80000954 <fail> + +0000000080000558 <test_29>: + 80000558: 01d00193 li gp,29 + 8000055c: 00002517 auipc a0,0x2 + 80000560: d8450513 addi a0,a0,-636 # 800022e0 <test_29_data> + 80000564: 00053007 fld ft0,0(a0) + 80000568: 00853087 fld ft1,8(a0) + 8000056c: 01053107 fld ft2,16(a0) + 80000570: 01853683 ld a3,24(a0) + 80000574: c2201553 fcvt.l.d a0,ft0,rtz + 80000578: 001015f3 fsflags a1,zero + 8000057c: 00000613 li a2,0 + 80000580: 3cd51a63 bne a0,a3,80000954 <fail> + 80000584: 3cc59863 bne a1,a2,80000954 <fail> + +0000000080000588 <test_20>: + 80000588: 01400193 li gp,20 + 8000058c: 00002517 auipc a0,0x2 + 80000590: d7450513 addi a0,a0,-652 # 80002300 <test_20_data> + 80000594: 00053007 fld ft0,0(a0) + 80000598: 00853087 fld ft1,8(a0) + 8000059c: 01053107 fld ft2,16(a0) + 800005a0: 01853683 ld a3,24(a0) + 800005a4: c2201553 fcvt.l.d a0,ft0,rtz + 800005a8: 001015f3 fsflags a1,zero + 800005ac: 01000613 li a2,16 + 800005b0: 3ad51263 bne a0,a3,80000954 <fail> + 800005b4: 3ac59063 bne a1,a2,80000954 <fail> + +00000000800005b8 <test_21>: + 800005b8: 01500193 li gp,21 + 800005bc: 00002517 auipc a0,0x2 + 800005c0: d6450513 addi a0,a0,-668 # 80002320 <test_21_data> + 800005c4: 00053007 fld ft0,0(a0) + 800005c8: 00853087 fld ft1,8(a0) + 800005cc: 01053107 fld ft2,16(a0) + 800005d0: 01853683 ld a3,24(a0) + 800005d4: c2201553 fcvt.l.d a0,ft0,rtz + 800005d8: 001015f3 fsflags a1,zero + 800005dc: 01000613 li a2,16 + 800005e0: 36d51a63 bne a0,a3,80000954 <fail> + 800005e4: 36c59863 bne a1,a2,80000954 <fail> + +00000000800005e8 <test_32>: + 800005e8: 02000193 li gp,32 + 800005ec: 00002517 auipc a0,0x2 + 800005f0: d5450513 addi a0,a0,-684 # 80002340 <test_32_data> + 800005f4: 00053007 fld ft0,0(a0) + 800005f8: 00853087 fld ft1,8(a0) + 800005fc: 01053107 fld ft2,16(a0) + 80000600: 01853683 ld a3,24(a0) + 80000604: c2301553 fcvt.lu.d a0,ft0,rtz + 80000608: 001015f3 fsflags a1,zero + 8000060c: 01000613 li a2,16 + 80000610: 34d51263 bne a0,a3,80000954 <fail> + 80000614: 34c59063 bne a1,a2,80000954 <fail> + +0000000080000618 <test_33>: + 80000618: 02100193 li gp,33 + 8000061c: 00002517 auipc a0,0x2 + 80000620: d4450513 addi a0,a0,-700 # 80002360 <test_33_data> + 80000624: 00053007 fld ft0,0(a0) + 80000628: 00853087 fld ft1,8(a0) + 8000062c: 01053107 fld ft2,16(a0) + 80000630: 01853683 ld a3,24(a0) + 80000634: c2301553 fcvt.lu.d a0,ft0,rtz + 80000638: 001015f3 fsflags a1,zero + 8000063c: 01000613 li a2,16 + 80000640: 30d51a63 bne a0,a3,80000954 <fail> + 80000644: 30c59863 bne a1,a2,80000954 <fail> + +0000000080000648 <test_34>: + 80000648: 02200193 li gp,34 + 8000064c: 00002517 auipc a0,0x2 + 80000650: d3450513 addi a0,a0,-716 # 80002380 <test_34_data> + 80000654: 00053007 fld ft0,0(a0) + 80000658: 00853087 fld ft1,8(a0) + 8000065c: 01053107 fld ft2,16(a0) + 80000660: 01853683 ld a3,24(a0) + 80000664: c2301553 fcvt.lu.d a0,ft0,rtz + 80000668: 001015f3 fsflags a1,zero + 8000066c: 00100613 li a2,1 + 80000670: 2ed51263 bne a0,a3,80000954 <fail> + 80000674: 2ec59063 bne a1,a2,80000954 <fail> + +0000000080000678 <test_35>: + 80000678: 02300193 li gp,35 + 8000067c: 00002517 auipc a0,0x2 + 80000680: d2450513 addi a0,a0,-732 # 800023a0 <test_35_data> + 80000684: 00053007 fld ft0,0(a0) + 80000688: 00853087 fld ft1,8(a0) + 8000068c: 01053107 fld ft2,16(a0) + 80000690: 01853683 ld a3,24(a0) + 80000694: c2301553 fcvt.lu.d a0,ft0,rtz + 80000698: 001015f3 fsflags a1,zero + 8000069c: 00100613 li a2,1 + 800006a0: 2ad51a63 bne a0,a3,80000954 <fail> + 800006a4: 2ac59863 bne a1,a2,80000954 <fail> + +00000000800006a8 <test_36>: + 800006a8: 02400193 li gp,36 + 800006ac: 00002517 auipc a0,0x2 + 800006b0: d1450513 addi a0,a0,-748 # 800023c0 <test_36_data> + 800006b4: 00053007 fld ft0,0(a0) + 800006b8: 00853087 fld ft1,8(a0) + 800006bc: 01053107 fld ft2,16(a0) + 800006c0: 01853683 ld a3,24(a0) + 800006c4: c2301553 fcvt.lu.d a0,ft0,rtz + 800006c8: 001015f3 fsflags a1,zero + 800006cc: 00000613 li a2,0 + 800006d0: 28d51263 bne a0,a3,80000954 <fail> + 800006d4: 28c59063 bne a1,a2,80000954 <fail> + +00000000800006d8 <test_37>: + 800006d8: 02500193 li gp,37 + 800006dc: 00002517 auipc a0,0x2 + 800006e0: d0450513 addi a0,a0,-764 # 800023e0 <test_37_data> + 800006e4: 00053007 fld ft0,0(a0) + 800006e8: 00853087 fld ft1,8(a0) + 800006ec: 01053107 fld ft2,16(a0) + 800006f0: 01853683 ld a3,24(a0) + 800006f4: c2301553 fcvt.lu.d a0,ft0,rtz + 800006f8: 001015f3 fsflags a1,zero + 800006fc: 00100613 li a2,1 + 80000700: 24d51a63 bne a0,a3,80000954 <fail> + 80000704: 24c59863 bne a1,a2,80000954 <fail> + +0000000080000708 <test_38>: + 80000708: 02600193 li gp,38 + 8000070c: 00002517 auipc a0,0x2 + 80000710: cf450513 addi a0,a0,-780 # 80002400 <test_38_data> + 80000714: 00053007 fld ft0,0(a0) + 80000718: 00853087 fld ft1,8(a0) + 8000071c: 01053107 fld ft2,16(a0) + 80000720: 01853683 ld a3,24(a0) + 80000724: c2301553 fcvt.lu.d a0,ft0,rtz + 80000728: 001015f3 fsflags a1,zero + 8000072c: 01000613 li a2,16 + 80000730: 22d51263 bne a0,a3,80000954 <fail> + 80000734: 22c59063 bne a1,a2,80000954 <fail> + +0000000080000738 <test_39>: + 80000738: 02700193 li gp,39 + 8000073c: 00002517 auipc a0,0x2 + 80000740: ce450513 addi a0,a0,-796 # 80002420 <test_39_data> + 80000744: 00053007 fld ft0,0(a0) + 80000748: 00853087 fld ft1,8(a0) + 8000074c: 01053107 fld ft2,16(a0) + 80000750: 01853683 ld a3,24(a0) + 80000754: c2301553 fcvt.lu.d a0,ft0,rtz + 80000758: 001015f3 fsflags a1,zero + 8000075c: 00000613 li a2,0 + 80000760: 1ed51a63 bne a0,a3,80000954 <fail> + 80000764: 1ec59863 bne a1,a2,80000954 <fail> + +0000000080000768 <test_42>: + 80000768: 00002097 auipc ra,0x2 + 8000076c: ce808093 addi ra,ra,-792 # 80002450 <tdat_d> + 80000770: 0000b087 fld ft1,0(ra) + 80000774: c200f0d3 fcvt.w.d ra,ft1 + 80000778: 80000eb7 lui t4,0x80000 + 8000077c: fffe8e9b addiw t4,t4,-1 + 80000780: 02a00193 li gp,42 + 80000784: 1dd09863 bne ra,t4,80000954 <fail> + +0000000080000788 <test_43>: + 80000788: 00002097 auipc ra,0x2 + 8000078c: cc808093 addi ra,ra,-824 # 80002450 <tdat_d> + 80000790: 0000b087 fld ft1,0(ra) + 80000794: c220f0d3 fcvt.l.d ra,ft1 + 80000798: fff00e9b addiw t4,zero,-1 + 8000079c: 03fe9e93 slli t4,t4,0x3f + 800007a0: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f> + 800007a4: 02b00193 li gp,43 + 800007a8: 1bd09663 bne ra,t4,80000954 <fail> + +00000000800007ac <test_44>: + 800007ac: 00002097 auipc ra,0x2 + 800007b0: ca408093 addi ra,ra,-860 # 80002450 <tdat_d> + 800007b4: 0100b087 fld ft1,16(ra) + 800007b8: c200f0d3 fcvt.w.d ra,ft1 + 800007bc: 80000eb7 lui t4,0x80000 + 800007c0: 02c00193 li gp,44 + 800007c4: 19d09863 bne ra,t4,80000954 <fail> + +00000000800007c8 <test_45>: + 800007c8: 00002097 auipc ra,0x2 + 800007cc: c8808093 addi ra,ra,-888 # 80002450 <tdat_d> + 800007d0: 0100b087 fld ft1,16(ra) + 800007d4: c220f0d3 fcvt.l.d ra,ft1 + 800007d8: fff00e9b addiw t4,zero,-1 + 800007dc: 03fe9e93 slli t4,t4,0x3f + 800007e0: 02d00193 li gp,45 + 800007e4: 17d09863 bne ra,t4,80000954 <fail> + +00000000800007e8 <test_52>: + 800007e8: 00002097 auipc ra,0x2 + 800007ec: c6808093 addi ra,ra,-920 # 80002450 <tdat_d> + 800007f0: 0080b087 fld ft1,8(ra) + 800007f4: c200f0d3 fcvt.w.d ra,ft1 + 800007f8: 80000eb7 lui t4,0x80000 + 800007fc: fffe8e9b addiw t4,t4,-1 + 80000800: 03400193 li gp,52 + 80000804: 15d09863 bne ra,t4,80000954 <fail> + +0000000080000808 <test_53>: + 80000808: 00002097 auipc ra,0x2 + 8000080c: c4808093 addi ra,ra,-952 # 80002450 <tdat_d> + 80000810: 0080b087 fld ft1,8(ra) + 80000814: c220f0d3 fcvt.l.d ra,ft1 + 80000818: fff00e9b addiw t4,zero,-1 + 8000081c: 03fe9e93 slli t4,t4,0x3f + 80000820: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f> + 80000824: 03500193 li gp,53 + 80000828: 13d09663 bne ra,t4,80000954 <fail> + +000000008000082c <test_54>: + 8000082c: 00002097 auipc ra,0x2 + 80000830: c2408093 addi ra,ra,-988 # 80002450 <tdat_d> + 80000834: 0180b087 fld ft1,24(ra) + 80000838: c200f0d3 fcvt.w.d ra,ft1 + 8000083c: 80000eb7 lui t4,0x80000 + 80000840: fffe8e9b addiw t4,t4,-1 + 80000844: 03600193 li gp,54 + 80000848: 11d09663 bne ra,t4,80000954 <fail> + +000000008000084c <test_55>: + 8000084c: 00002097 auipc ra,0x2 + 80000850: c0408093 addi ra,ra,-1020 # 80002450 <tdat_d> + 80000854: 0180b087 fld ft1,24(ra) + 80000858: c220f0d3 fcvt.l.d ra,ft1 + 8000085c: fff00e9b addiw t4,zero,-1 + 80000860: 03fe9e93 slli t4,t4,0x3f + 80000864: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f> + 80000868: 03700193 li gp,55 + 8000086c: 0fd09463 bne ra,t4,80000954 <fail> + +0000000080000870 <test_62>: + 80000870: 00002097 auipc ra,0x2 + 80000874: be008093 addi ra,ra,-1056 # 80002450 <tdat_d> + 80000878: 0000b087 fld ft1,0(ra) + 8000087c: c210f0d3 fcvt.wu.d ra,ft1 + 80000880: fff00e93 li t4,-1 + 80000884: 03e00193 li gp,62 + 80000888: 0dd09663 bne ra,t4,80000954 <fail> + +000000008000088c <test_63>: + 8000088c: 00002097 auipc ra,0x2 + 80000890: bc408093 addi ra,ra,-1084 # 80002450 <tdat_d> + 80000894: 0080b087 fld ft1,8(ra) + 80000898: c210f0d3 fcvt.wu.d ra,ft1 + 8000089c: fff00e93 li t4,-1 + 800008a0: 03f00193 li gp,63 + 800008a4: 0bd09863 bne ra,t4,80000954 <fail> + +00000000800008a8 <test_64>: + 800008a8: 00002097 auipc ra,0x2 + 800008ac: ba808093 addi ra,ra,-1112 # 80002450 <tdat_d> + 800008b0: 0100b087 fld ft1,16(ra) + 800008b4: c210f0d3 fcvt.wu.d ra,ft1 + 800008b8: 00000e93 li t4,0 + 800008bc: 04000193 li gp,64 + 800008c0: 09d09a63 bne ra,t4,80000954 <fail> + +00000000800008c4 <test_65>: + 800008c4: 00002097 auipc ra,0x2 + 800008c8: b8c08093 addi ra,ra,-1140 # 80002450 <tdat_d> + 800008cc: 0180b087 fld ft1,24(ra) + 800008d0: c210f0d3 fcvt.wu.d ra,ft1 + 800008d4: fff00e93 li t4,-1 + 800008d8: 04100193 li gp,65 + 800008dc: 07d09c63 bne ra,t4,80000954 <fail> + +00000000800008e0 <test_66>: + 800008e0: 00002097 auipc ra,0x2 + 800008e4: b7008093 addi ra,ra,-1168 # 80002450 <tdat_d> + 800008e8: 0000b087 fld ft1,0(ra) + 800008ec: c230f0d3 fcvt.lu.d ra,ft1 + 800008f0: fff00e93 li t4,-1 + 800008f4: 04200193 li gp,66 + 800008f8: 05d09e63 bne ra,t4,80000954 <fail> + +00000000800008fc <test_67>: + 800008fc: 00002097 auipc ra,0x2 + 80000900: b5408093 addi ra,ra,-1196 # 80002450 <tdat_d> + 80000904: 0080b087 fld ft1,8(ra) + 80000908: c230f0d3 fcvt.lu.d ra,ft1 + 8000090c: fff00e93 li t4,-1 + 80000910: 04300193 li gp,67 + 80000914: 05d09063 bne ra,t4,80000954 <fail> + +0000000080000918 <test_68>: + 80000918: 00002097 auipc ra,0x2 + 8000091c: b3808093 addi ra,ra,-1224 # 80002450 <tdat_d> + 80000920: 0100b087 fld ft1,16(ra) + 80000924: c230f0d3 fcvt.lu.d ra,ft1 + 80000928: 00000e93 li t4,0 + 8000092c: 04400193 li gp,68 + 80000930: 03d09263 bne ra,t4,80000954 <fail> + +0000000080000934 <test_69>: + 80000934: 00002097 auipc ra,0x2 + 80000938: b1c08093 addi ra,ra,-1252 # 80002450 <tdat_d> + 8000093c: 0180b087 fld ft1,24(ra) + 80000940: c230f0d3 fcvt.lu.d ra,ft1 + 80000944: fff00e93 li t4,-1 + 80000948: 04500193 li gp,69 + 8000094c: 01d09463 bne ra,t4,80000954 <fail> + 80000950: 00301c63 bne zero,gp,80000968 <pass> + +0000000080000954 <fail>: + 80000954: 0ff0000f fence + 80000958: 00018063 beqz gp,80000958 <fail+0x4> + 8000095c: 00119193 slli gp,gp,0x1 + 80000960: 0011e193 ori gp,gp,1 + 80000964: 00000073 ecall + +0000000080000968 <pass>: + 80000968: 0ff0000f fence + 8000096c: 00100193 li gp,1 + 80000970: 00000073 ecall + 80000974: c0001073 unimp + 80000978: 0000 unimp + 8000097a: 0000 unimp + 8000097c: 0000 unimp + 8000097e: 0000 unimp + 80000980: 0000 unimp + 80000982: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 999a add s3,s3,t1 + 80002002: 9999 andi a1,a1,-26 + 80002004: 9999 andi a1,a1,-26 + 80002006: bff1 j 80001fe2 <fromhost+0xfa2> + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: ffff 0xffff + 8000201a: ffff 0xffff + 8000201c: ffff 0xffff + 8000201e: ffff 0xffff + +0000000080002020 <test_3_data>: + 80002020: 0000 unimp + 80002022: 0000 unimp + 80002024: 0000 unimp + 80002026: bff0 fsd fa2,248(a5) + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 0000 unimp + 8000202e: 0000 unimp + 80002030: 0000 unimp + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: ffff 0xffff + 8000203a: ffff 0xffff + 8000203c: ffff 0xffff + 8000203e: ffff 0xffff + +0000000080002040 <test_4_data>: + 80002040: cccd beqz s1,800020fa <test_9_data+0x1a> + 80002042: cccc sw a1,28(s1) + 80002044: cccc sw a1,28(s1) + 80002046: bfec fsd fa1,248(a5) + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0000 unimp + 8000204e: 0000 unimp + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: 0000 unimp + +0000000080002060 <test_5_data>: + 80002060: cccd beqz s1,8000211a <test_12_data+0x1a> + 80002062: cccc sw a1,28(s1) + 80002064: cccc sw a1,28(s1) + 80002066: 3fec fld fa1,248(a5) + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: 0000 unimp + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 0000 unimp + +0000000080002080 <test_6_data>: + 80002080: 0000 unimp + 80002082: 0000 unimp + 80002084: 0000 unimp + 80002086: 3ff0 fld fa2,248(a5) + 80002088: 0000 unimp + 8000208a: 0000 unimp + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: 0000 unimp + 80002092: 0000 unimp + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0001 nop + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 0000 unimp + +00000000800020a0 <test_7_data>: + 800020a0: 999a add s3,s3,t1 + 800020a2: 9999 andi a1,a1,-26 + 800020a4: 9999 andi a1,a1,-26 + 800020a6: 3ff1 addiw t6,t6,-4 + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0001 nop + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 0000 unimp + +00000000800020c0 <test_8_data>: + 800020c0: 0000 unimp + 800020c2: c000 sw s0,0(s0) + 800020c4: c1e65a0b 0xc1e65a0b + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 0000 unimp + 800020da: 8000 0x8000 + 800020dc: ffff 0xffff + 800020de: ffff 0xffff + +00000000800020e0 <test_9_data>: + 800020e0: 0000 unimp + 800020e2: c000 sw s0,0(s0) + 800020e4: 41e65a0b 0x41e65a0b + 800020e8: 0000 unimp + 800020ea: 0000 unimp + 800020ec: 0000 unimp + 800020ee: 0000 unimp + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: ffff 0xffff + 800020fa: 7fff 0x7fff + 800020fc: 0000 unimp + 800020fe: 0000 unimp + +0000000080002100 <test_12_data>: + 80002100: 0000 unimp + 80002102: 0000 unimp + 80002104: 0000 unimp + 80002106: c008 sw a0,0(s0) + 80002108: 0000 unimp + 8000210a: 0000 unimp + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: 0000 unimp + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: 0000 unimp + 80002118: 0000 unimp + 8000211a: 0000 unimp + 8000211c: 0000 unimp + 8000211e: 0000 unimp + +0000000080002120 <test_13_data>: + 80002120: 0000 unimp + 80002122: 0000 unimp + 80002124: 0000 unimp + 80002126: bff0 fsd fa2,248(a5) + 80002128: 0000 unimp + 8000212a: 0000 unimp + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: 0000 unimp + 80002132: 0000 unimp + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: 0000 unimp + 8000213a: 0000 unimp + 8000213c: 0000 unimp + 8000213e: 0000 unimp + +0000000080002140 <test_14_data>: + 80002140: cccd beqz s1,800021fa <test_19_data+0x1a> + 80002142: cccc sw a1,28(s1) + 80002144: cccc sw a1,28(s1) + 80002146: bfec fsd fa1,248(a5) + 80002148: 0000 unimp + 8000214a: 0000 unimp + 8000214c: 0000 unimp + 8000214e: 0000 unimp + 80002150: 0000 unimp + 80002152: 0000 unimp + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: 0000 unimp + 8000215a: 0000 unimp + 8000215c: 0000 unimp + 8000215e: 0000 unimp + +0000000080002160 <test_15_data>: + 80002160: cccd beqz s1,8000221a <test_22_data+0x1a> + 80002162: cccc sw a1,28(s1) + 80002164: cccc sw a1,28(s1) + 80002166: 3fec fld fa1,248(a5) + 80002168: 0000 unimp + 8000216a: 0000 unimp + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: 0000 unimp + 80002172: 0000 unimp + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: 0000 unimp + 8000217a: 0000 unimp + 8000217c: 0000 unimp + 8000217e: 0000 unimp + +0000000080002180 <test_16_data>: + 80002180: 0000 unimp + 80002182: 0000 unimp + 80002184: 0000 unimp + 80002186: 3ff0 fld fa2,248(a5) + 80002188: 0000 unimp + 8000218a: 0000 unimp + 8000218c: 0000 unimp + 8000218e: 0000 unimp + 80002190: 0000 unimp + 80002192: 0000 unimp + 80002194: 0000 unimp + 80002196: 0000 unimp + 80002198: 0001 nop + 8000219a: 0000 unimp + 8000219c: 0000 unimp + 8000219e: 0000 unimp + +00000000800021a0 <test_17_data>: + 800021a0: 999a add s3,s3,t1 + 800021a2: 9999 andi a1,a1,-26 + 800021a4: 9999 andi a1,a1,-26 + 800021a6: 3ff1 addiw t6,t6,-4 + 800021a8: 0000 unimp + 800021aa: 0000 unimp + 800021ac: 0000 unimp + 800021ae: 0000 unimp + 800021b0: 0000 unimp + 800021b2: 0000 unimp + 800021b4: 0000 unimp + 800021b6: 0000 unimp + 800021b8: 0001 nop + 800021ba: 0000 unimp + 800021bc: 0000 unimp + 800021be: 0000 unimp + +00000000800021c0 <test_18_data>: + 800021c0: 0000 unimp + 800021c2: c000 sw s0,0(s0) + 800021c4: c1e65a0b 0xc1e65a0b + 800021c8: 0000 unimp + 800021ca: 0000 unimp + 800021cc: 0000 unimp + 800021ce: 0000 unimp + 800021d0: 0000 unimp + 800021d2: 0000 unimp + 800021d4: 0000 unimp + 800021d6: 0000 unimp + 800021d8: 0000 unimp + 800021da: 0000 unimp + 800021dc: 0000 unimp + 800021de: 0000 unimp + +00000000800021e0 <test_19_data>: + 800021e0: 0000 unimp + 800021e2: c000 sw s0,0(s0) + 800021e4: 41e65a0b 0x41e65a0b + 800021e8: 0000 unimp + 800021ea: 0000 unimp + 800021ec: 0000 unimp + 800021ee: 0000 unimp + 800021f0: 0000 unimp + 800021f2: 0000 unimp + 800021f4: 0000 unimp + 800021f6: 0000 unimp + 800021f8: 5e00 lw s0,56(a2) + 800021fa: b2d0 fsd fa2,160(a3) + 800021fc: ffff 0xffff + 800021fe: ffff 0xffff + +0000000080002200 <test_22_data>: + 80002200: 999a add s3,s3,t1 + 80002202: 9999 andi a1,a1,-26 + 80002204: 9999 andi a1,a1,-26 + 80002206: bff1 j 800021e2 <test_19_data+0x2> + 80002208: 0000 unimp + 8000220a: 0000 unimp + 8000220c: 0000 unimp + 8000220e: 0000 unimp + 80002210: 0000 unimp + 80002212: 0000 unimp + 80002214: 0000 unimp + 80002216: 0000 unimp + 80002218: ffff 0xffff + 8000221a: ffff 0xffff + 8000221c: ffff 0xffff + 8000221e: ffff 0xffff + +0000000080002220 <test_23_data>: + 80002220: 0000 unimp + 80002222: 0000 unimp + 80002224: 0000 unimp + 80002226: bff0 fsd fa2,248(a5) + 80002228: 0000 unimp + 8000222a: 0000 unimp + 8000222c: 0000 unimp + 8000222e: 0000 unimp + 80002230: 0000 unimp + 80002232: 0000 unimp + 80002234: 0000 unimp + 80002236: 0000 unimp + 80002238: ffff 0xffff + 8000223a: ffff 0xffff + 8000223c: ffff 0xffff + 8000223e: ffff 0xffff + +0000000080002240 <test_24_data>: + 80002240: cccd beqz s1,800022fa <test_29_data+0x1a> + 80002242: cccc sw a1,28(s1) + 80002244: cccc sw a1,28(s1) + 80002246: bfec fsd fa1,248(a5) + 80002248: 0000 unimp + 8000224a: 0000 unimp + 8000224c: 0000 unimp + 8000224e: 0000 unimp + 80002250: 0000 unimp + 80002252: 0000 unimp + 80002254: 0000 unimp + 80002256: 0000 unimp + 80002258: 0000 unimp + 8000225a: 0000 unimp + 8000225c: 0000 unimp + 8000225e: 0000 unimp + +0000000080002260 <test_25_data>: + 80002260: cccd beqz s1,8000231a <test_20_data+0x1a> + 80002262: cccc sw a1,28(s1) + 80002264: cccc sw a1,28(s1) + 80002266: 3fec fld fa1,248(a5) + 80002268: 0000 unimp + 8000226a: 0000 unimp + 8000226c: 0000 unimp + 8000226e: 0000 unimp + 80002270: 0000 unimp + 80002272: 0000 unimp + 80002274: 0000 unimp + 80002276: 0000 unimp + 80002278: 0000 unimp + 8000227a: 0000 unimp + 8000227c: 0000 unimp + 8000227e: 0000 unimp + +0000000080002280 <test_26_data>: + 80002280: 0000 unimp + 80002282: 0000 unimp + 80002284: 0000 unimp + 80002286: 3ff0 fld fa2,248(a5) + 80002288: 0000 unimp + 8000228a: 0000 unimp + 8000228c: 0000 unimp + 8000228e: 0000 unimp + 80002290: 0000 unimp + 80002292: 0000 unimp + 80002294: 0000 unimp + 80002296: 0000 unimp + 80002298: 0001 nop + 8000229a: 0000 unimp + 8000229c: 0000 unimp + 8000229e: 0000 unimp + +00000000800022a0 <test_27_data>: + 800022a0: 999a add s3,s3,t1 + 800022a2: 9999 andi a1,a1,-26 + 800022a4: 9999 andi a1,a1,-26 + 800022a6: 3ff1 addiw t6,t6,-4 + 800022a8: 0000 unimp + 800022aa: 0000 unimp + 800022ac: 0000 unimp + 800022ae: 0000 unimp + 800022b0: 0000 unimp + 800022b2: 0000 unimp + 800022b4: 0000 unimp + 800022b6: 0000 unimp + 800022b8: 0001 nop + 800022ba: 0000 unimp + 800022bc: 0000 unimp + 800022be: 0000 unimp + +00000000800022c0 <test_28_data>: + 800022c0: 0000 unimp + 800022c2: c000 sw s0,0(s0) + 800022c4: c1e65a0b 0xc1e65a0b + 800022c8: 0000 unimp + 800022ca: 0000 unimp + 800022cc: 0000 unimp + 800022ce: 0000 unimp + 800022d0: 0000 unimp + 800022d2: 0000 unimp + 800022d4: 0000 unimp + 800022d6: 0000 unimp + 800022d8: a200 fsd fs0,0(a2) + 800022da: ffff4d2f 0xffff4d2f + 800022de: ffff 0xffff + +00000000800022e0 <test_29_data>: + 800022e0: 0000 unimp + 800022e2: c000 sw s0,0(s0) + 800022e4: 41e65a0b 0x41e65a0b + 800022e8: 0000 unimp + 800022ea: 0000 unimp + 800022ec: 0000 unimp + 800022ee: 0000 unimp + 800022f0: 0000 unimp + 800022f2: 0000 unimp + 800022f4: 0000 unimp + 800022f6: 0000 unimp + 800022f8: 5e00 lw s0,56(a2) + 800022fa: b2d0 fsd fa2,160(a3) + 800022fc: 0000 unimp + 800022fe: 0000 unimp + +0000000080002300 <test_20_data>: + 80002300: db80 sw s0,48(a5) + 80002302: 90d9 srli s1,s1,0x36 + 80002304: 0556 slli a0,a0,0x15 + 80002306: c3fa sw t5,196(sp) + 80002308: 0000 unimp + 8000230a: 0000 unimp + 8000230c: 0000 unimp + 8000230e: 0000 unimp + 80002310: 0000 unimp + 80002312: 0000 unimp + 80002314: 0000 unimp + 80002316: 0000 unimp + 80002318: 0000 unimp + 8000231a: 0000 unimp + 8000231c: 0000 unimp + 8000231e: 8000 0x8000 + +0000000080002320 <test_21_data>: + 80002320: db80 sw s0,48(a5) + 80002322: 90d9 srli s1,s1,0x36 + 80002324: 0556 slli a0,a0,0x15 + 80002326: 43fa lw t2,156(sp) + 80002328: 0000 unimp + 8000232a: 0000 unimp + 8000232c: 0000 unimp + 8000232e: 0000 unimp + 80002330: 0000 unimp + 80002332: 0000 unimp + 80002334: 0000 unimp + 80002336: 0000 unimp + 80002338: ffff 0xffff + 8000233a: ffff 0xffff + 8000233c: ffff 0xffff + 8000233e: 7fff 0x7fff + +0000000080002340 <test_32_data>: + 80002340: 0000 unimp + 80002342: 0000 unimp + 80002344: 0000 unimp + 80002346: c008 sw a0,0(s0) + 80002348: 0000 unimp + 8000234a: 0000 unimp + 8000234c: 0000 unimp + 8000234e: 0000 unimp + 80002350: 0000 unimp + 80002352: 0000 unimp + 80002354: 0000 unimp + 80002356: 0000 unimp + 80002358: 0000 unimp + 8000235a: 0000 unimp + 8000235c: 0000 unimp + 8000235e: 0000 unimp + +0000000080002360 <test_33_data>: + 80002360: 0000 unimp + 80002362: 0000 unimp + 80002364: 0000 unimp + 80002366: bff0 fsd fa2,248(a5) + 80002368: 0000 unimp + 8000236a: 0000 unimp + 8000236c: 0000 unimp + 8000236e: 0000 unimp + 80002370: 0000 unimp + 80002372: 0000 unimp + 80002374: 0000 unimp + 80002376: 0000 unimp + 80002378: 0000 unimp + 8000237a: 0000 unimp + 8000237c: 0000 unimp + 8000237e: 0000 unimp + +0000000080002380 <test_34_data>: + 80002380: cccd beqz s1,8000243a <test_39_data+0x1a> + 80002382: cccc sw a1,28(s1) + 80002384: cccc sw a1,28(s1) + 80002386: bfec fsd fa1,248(a5) + 80002388: 0000 unimp + 8000238a: 0000 unimp + 8000238c: 0000 unimp + 8000238e: 0000 unimp + 80002390: 0000 unimp + 80002392: 0000 unimp + 80002394: 0000 unimp + 80002396: 0000 unimp + 80002398: 0000 unimp + 8000239a: 0000 unimp + 8000239c: 0000 unimp + 8000239e: 0000 unimp + +00000000800023a0 <test_35_data>: + 800023a0: cccd beqz s1,8000245a <tdat_d+0xa> + 800023a2: cccc sw a1,28(s1) + 800023a4: cccc sw a1,28(s1) + 800023a6: 3fec fld fa1,248(a5) + 800023a8: 0000 unimp + 800023aa: 0000 unimp + 800023ac: 0000 unimp + 800023ae: 0000 unimp + 800023b0: 0000 unimp + 800023b2: 0000 unimp + 800023b4: 0000 unimp + 800023b6: 0000 unimp + 800023b8: 0000 unimp + 800023ba: 0000 unimp + 800023bc: 0000 unimp + 800023be: 0000 unimp + +00000000800023c0 <test_36_data>: + 800023c0: 0000 unimp + 800023c2: 0000 unimp + 800023c4: 0000 unimp + 800023c6: 3ff0 fld fa2,248(a5) + 800023c8: 0000 unimp + 800023ca: 0000 unimp + 800023cc: 0000 unimp + 800023ce: 0000 unimp + 800023d0: 0000 unimp + 800023d2: 0000 unimp + 800023d4: 0000 unimp + 800023d6: 0000 unimp + 800023d8: 0001 nop + 800023da: 0000 unimp + 800023dc: 0000 unimp + 800023de: 0000 unimp + +00000000800023e0 <test_37_data>: + 800023e0: 999a add s3,s3,t1 + 800023e2: 9999 andi a1,a1,-26 + 800023e4: 9999 andi a1,a1,-26 + 800023e6: 3ff1 addiw t6,t6,-4 + 800023e8: 0000 unimp + 800023ea: 0000 unimp + 800023ec: 0000 unimp + 800023ee: 0000 unimp + 800023f0: 0000 unimp + 800023f2: 0000 unimp + 800023f4: 0000 unimp + 800023f6: 0000 unimp + 800023f8: 0001 nop + 800023fa: 0000 unimp + 800023fc: 0000 unimp + 800023fe: 0000 unimp + +0000000080002400 <test_38_data>: + 80002400: 0000 unimp + 80002402: c000 sw s0,0(s0) + 80002404: c1e65a0b 0xc1e65a0b + 80002408: 0000 unimp + 8000240a: 0000 unimp + 8000240c: 0000 unimp + 8000240e: 0000 unimp + 80002410: 0000 unimp + 80002412: 0000 unimp + 80002414: 0000 unimp + 80002416: 0000 unimp + 80002418: 0000 unimp + 8000241a: 0000 unimp + 8000241c: 0000 unimp + 8000241e: 0000 unimp + +0000000080002420 <test_39_data>: + 80002420: 0000 unimp + 80002422: c000 sw s0,0(s0) + 80002424: 41e65a0b 0x41e65a0b + 80002428: 0000 unimp + 8000242a: 0000 unimp + 8000242c: 0000 unimp + 8000242e: 0000 unimp + 80002430: 0000 unimp + 80002432: 0000 unimp + 80002434: 0000 unimp + 80002436: 0000 unimp + 80002438: 5e00 lw s0,56(a2) + 8000243a: b2d0 fsd fa2,160(a3) + 8000243c: 0000 unimp + 8000243e: 0000 unimp + +0000000080002440 <begin_signature>: + 80002440: ffff 0xffff + 80002442: ffff 0xffff + 80002444: ffff 0xffff + 80002446: 7fff 0x7fff + 80002448: 0000 unimp + 8000244a: ff80 sd s0,56(a5) + 8000244c: 0000 unimp + 8000244e: 7f80 ld s0,56(a5) + +0000000080002450 <tdat_d>: + 80002450: ffff 0xffff + 80002452: ffff 0xffff + 80002454: ffff 0xffff + 80002456: ffff 0xffff + 80002458: ffff 0xffff + 8000245a: ffff 0xffff + 8000245c: ffff 0xffff + 8000245e: 7fff 0x7fff + 80002460: 0000 unimp + 80002462: 0000 unimp + 80002464: 0000 unimp + 80002466: fff0 sd a2,248(a5) + 80002468: 0000 unimp + 8000246a: 0000 unimp + 8000246c: 0000 unimp + 8000246e: 7ff0 ld a2,248(a5) diff --git a/test/riscv-tests/rv64ud-p-fcvt_w.elf b/test/riscv-tests/rv64ud-p-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..4db28d5 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fcvt_w.elf diff --git a/test/riscv-tests/rv64ud-p-fdiv.dump b/test/riscv-tests/rv64ud-p-fdiv.dump new file mode 100644 index 0000000..ee1330c --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fdiv.dump @@ -0,0 +1,375 @@ + +rv64ud-p-fdiv: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: 1a1071d3 fdiv.d ft3,ft0,ft1 + 80000128: e2018553 fmv.x.d a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00100613 li a2,1 + 80000134: 16d51c63 bne a0,a3,800002ac <fail> + 80000138: 16c59a63 bne a1,a2,800002ac <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data> + 80000148: 00053007 fld ft0,0(a0) + 8000014c: 00853087 fld ft1,8(a0) + 80000150: 01053107 fld ft2,16(a0) + 80000154: 01853683 ld a3,24(a0) + 80000158: 1a1071d3 fdiv.d ft3,ft0,ft1 + 8000015c: e2018553 fmv.x.d a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 14d51263 bne a0,a3,800002ac <fail> + 8000016c: 14c59063 bne a1,a2,800002ac <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data> + 8000017c: 00053007 fld ft0,0(a0) + 80000180: 00853087 fld ft1,8(a0) + 80000184: 01053107 fld ft2,16(a0) + 80000188: 01853683 ld a3,24(a0) + 8000018c: 1a1071d3 fdiv.d ft3,ft0,ft1 + 80000190: e2018553 fmv.x.d a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 10d51863 bne a0,a3,800002ac <fail> + 800001a0: 10c59663 bne a1,a2,800002ac <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data> + 800001b0: 00053007 fld ft0,0(a0) + 800001b4: 00853087 fld ft1,8(a0) + 800001b8: 01053107 fld ft2,16(a0) + 800001bc: 01853683 ld a3,24(a0) + 800001c0: 5a0071d3 fsqrt.d ft3,ft0 + 800001c4: e2018553 fmv.x.d a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00100613 li a2,1 + 800001d0: 0cd51e63 bne a0,a3,800002ac <fail> + 800001d4: 0cc59c63 bne a1,a2,800002ac <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data> + 800001e4: 00053007 fld ft0,0(a0) + 800001e8: 00853087 fld ft1,8(a0) + 800001ec: 01053107 fld ft2,16(a0) + 800001f0: 01853683 ld a3,24(a0) + 800001f4: 5a0071d3 fsqrt.d ft3,ft0 + 800001f8: e2018553 fmv.x.d a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00000613 li a2,0 + 80000204: 0ad51463 bne a0,a3,800002ac <fail> + 80000208: 0ac59263 bne a1,a2,800002ac <fail> + +000000008000020c <test_16>: + 8000020c: 01000193 li gp,16 + 80000210: 00002517 auipc a0,0x2 + 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_16_data> + 80000218: 00053007 fld ft0,0(a0) + 8000021c: 00853087 fld ft1,8(a0) + 80000220: 01053107 fld ft2,16(a0) + 80000224: 01853683 ld a3,24(a0) + 80000228: 5a0071d3 fsqrt.d ft3,ft0 + 8000022c: e2018553 fmv.x.d a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 01000613 li a2,16 + 80000238: 06d51a63 bne a0,a3,800002ac <fail> + 8000023c: 06c59863 bne a1,a2,800002ac <fail> + +0000000080000240 <test_7>: + 80000240: 00700193 li gp,7 + 80000244: 00002517 auipc a0,0x2 + 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_7_data> + 8000024c: 00053007 fld ft0,0(a0) + 80000250: 00853087 fld ft1,8(a0) + 80000254: 01053107 fld ft2,16(a0) + 80000258: 01853683 ld a3,24(a0) + 8000025c: 5a0071d3 fsqrt.d ft3,ft0 + 80000260: e2018553 fmv.x.d a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00100613 li a2,1 + 8000026c: 04d51063 bne a0,a3,800002ac <fail> + 80000270: 02c59e63 bne a1,a2,800002ac <fail> + +0000000080000274 <test_8>: + 80000274: 00800193 li gp,8 + 80000278: 00002517 auipc a0,0x2 + 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_8_data> + 80000280: 00053007 fld ft0,0(a0) + 80000284: 00853087 fld ft1,8(a0) + 80000288: 01053107 fld ft2,16(a0) + 8000028c: 01853683 ld a3,24(a0) + 80000290: 5a0071d3 fsqrt.d ft3,ft0 + 80000294: e2018553 fmv.x.d a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00100613 li a2,1 + 800002a0: 00d51663 bne a0,a3,800002ac <fail> + 800002a4: 00c59463 bne a1,a2,800002ac <fail> + 800002a8: 00301c63 bne zero,gp,800002c0 <pass> + +00000000800002ac <fail>: + 800002ac: 0ff0000f fence + 800002b0: 00018063 beqz gp,800002b0 <fail+0x4> + 800002b4: 00119193 slli gp,gp,0x1 + 800002b8: 0011e193 ori gp,gp,1 + 800002bc: 00000073 ecall + +00000000800002c0 <pass>: + 800002c0: 0ff0000f fence + 800002c4: 00100193 li gp,1 + 800002c8: 00000073 ecall + 800002cc: c0001073 unimp + 800002d0: 0000 unimp + 800002d2: 0000 unimp + 800002d4: 0000 unimp + 800002d6: 0000 unimp + 800002d8: 0000 unimp + 800002da: 0000 unimp + 800002dc: 0000 unimp + 800002de: 0000 unimp + 800002e0: 0000 unimp + 800002e2: 0000 unimp + 800002e4: 0000 unimp + 800002e6: 0000 unimp + 800002e8: 0000 unimp + 800002ea: 0000 unimp + 800002ec: 0000 unimp + 800002ee: 0000 unimp + 800002f0: 0000 unimp + 800002f2: 0000 unimp + 800002f4: 0000 unimp + 800002f6: 0000 unimp + 800002f8: 0000 unimp + 800002fa: 0000 unimp + 800002fc: 0000 unimp + 800002fe: 0000 unimp + 80000300: 0000 unimp + 80000302: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: d4f1 beqz s1,80001fcc <fromhost+0xf8c> + 80002002: 53c8 lw a0,36(a5) + 80002004: 400921fb 0x400921fb + 80002008: b0dd j 800018ee <fromhost+0x8ae> + 8000200a: 89f1 andi a1,a1,28 + 8000200c: bf0a fsd ft2,440(sp) + 8000200e: 4005 c.li zero,1 + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: 83ec 0x83ec + 8000201a: 7ddbf6c3 0x7ddbf6c3 + 8000201e: 3ff2 fld ft11,312(sp) + +0000000080002020 <test_3_data>: + 80002020: 0000 unimp + 80002022: 0000 unimp + 80002024: 4800 lw s0,16(s0) + 80002026: 6666c093 xori ra,a3,1638 + 8000202a: 6666 ld a2,88(sp) + 8000202c: 4c66 lw s8,88(sp) + 8000202e: 00004093 xori ra,zero,0 + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 29a5 addiw s3,s3,9 + 8000203a: 3e19 addiw t3,t3,-26 + 8000203c: f8b4 sd a3,112(s1) + 8000203e: jal t6,7ff1dd8c <_start-0xe2274> + +0000000080002040 <test_4_data>: + 80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> + 80002042: 53c8 lw a0,36(a5) + 80002044: 400921fb 0x400921fb + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0000 unimp + 8000204e: 3ff0 fld fa2,248(a5) + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: d4f1 beqz s1,80002024 <test_3_data+0x4> + 8000205a: 53c8 lw a0,36(a5) + 8000205c: 400921fb 0x400921fb + +0000000080002060 <test_5_data>: + 80002060: d4f1 beqz s1,8000202c <test_3_data+0xc> + 80002062: 53c8 lw a0,36(a5) + 80002064: 400921fb 0x400921fb + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: 0000 unimp + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 916f587b 0x916f587b + 8000207c: 5bf8 lw a4,116(a5) + 8000207e: 3ffc fld fa5,248(a5) + +0000000080002080 <test_6_data>: + 80002080: 0000 unimp + 80002082: 0000 unimp + 80002084: 8800 0x8800 + 80002086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm + 8000208a: 0000 unimp + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: 0000 unimp + 80002092: 0000 unimp + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 4059 c.li zero,22 + +00000000800020a0 <test_16_data>: + 800020a0: 0000 unimp + 800020a2: 0000 unimp + 800020a4: 0000 unimp + 800020a6: bff0 fsd fa2,248(a5) + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 7ff8 ld a4,248(a5) + +00000000800020c0 <test_7_data>: + 800020c0: 0000 unimp + 800020c2: 0000 unimp + 800020c4: 6000 ld s0,0(s0) + 800020c6: 4065 c.li zero,25 + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 74f5 lui s1,0xffffd + 800020da: ce96 sw t0,92(sp) + 800020dc: 2744 fld fs1,136(a4) + 800020de: 402a 0x402a + +00000000800020e0 <test_8_data>: + 800020e0: a105 j 80002500 <_end+0x400> + 800020e2: c70a sw sp,140(sp) + 800020e4: 94df 3e85 0000 0x3e8594df + 800020ea: 0000 unimp + 800020ec: 0000 unimp + 800020ee: 0000 unimp + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: 7f99 lui t6,0xfffe6 + 800020fa: 4789c0e3 blt s3,s8,80002d5a <_end+0xc5a> + 800020fe: 3f3a fld ft10,424(sp) diff --git a/test/riscv-tests/rv64ud-p-fdiv.elf b/test/riscv-tests/rv64ud-p-fdiv.elf Binary files differnew file mode 100644 index 0000000..d62c776 --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fdiv.elf diff --git a/test/riscv-tests/rv64ud-p-fmadd.dump b/test/riscv-tests/rv64ud-p-fmadd.dump new file mode 100644 index 0000000..c04db2d --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fmadd.dump @@ -0,0 +1,507 @@ + +rv64ud-p-fmadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 80000128: e2018553 fmv.x.d a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 24d51463 bne a0,a3,8000037c <fail> + 80000138: 24c59263 bne a1,a2,8000037c <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data> + 80000148: 00053007 fld ft0,0(a0) + 8000014c: 00853087 fld ft1,8(a0) + 80000150: 01053107 fld ft2,16(a0) + 80000154: 01853683 ld a3,24(a0) + 80000158: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 8000015c: e2018553 fmv.x.d a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 20d51a63 bne a0,a3,8000037c <fail> + 8000016c: 20c59863 bne a1,a2,8000037c <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data> + 8000017c: 00053007 fld ft0,0(a0) + 80000180: 00853087 fld ft1,8(a0) + 80000184: 01053107 fld ft2,16(a0) + 80000188: 01853683 ld a3,24(a0) + 8000018c: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 80000190: e2018553 fmv.x.d a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 1ed51063 bne a0,a3,8000037c <fail> + 800001a0: 1cc59e63 bne a1,a2,8000037c <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data> + 800001b0: 00053007 fld ft0,0(a0) + 800001b4: 00853087 fld ft1,8(a0) + 800001b8: 01053107 fld ft2,16(a0) + 800001bc: 01853683 ld a3,24(a0) + 800001c0: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 800001c4: e2018553 fmv.x.d a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 1ad51663 bne a0,a3,8000037c <fail> + 800001d4: 1ac59463 bne a1,a2,8000037c <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data> + 800001e4: 00053007 fld ft0,0(a0) + 800001e8: 00853087 fld ft1,8(a0) + 800001ec: 01053107 fld ft2,16(a0) + 800001f0: 01853683 ld a3,24(a0) + 800001f4: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 800001f8: e2018553 fmv.x.d a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00100613 li a2,1 + 80000204: 16d51c63 bne a0,a3,8000037c <fail> + 80000208: 16c59a63 bne a1,a2,8000037c <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data> + 80000218: 00053007 fld ft0,0(a0) + 8000021c: 00853087 fld ft1,8(a0) + 80000220: 01053107 fld ft2,16(a0) + 80000224: 01853683 ld a3,24(a0) + 80000228: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 8000022c: e2018553 fmv.x.d a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00000613 li a2,0 + 80000238: 14d51263 bne a0,a3,8000037c <fail> + 8000023c: 14c59063 bne a1,a2,8000037c <fail> + +0000000080000240 <test_8>: + 80000240: 00800193 li gp,8 + 80000244: 00002517 auipc a0,0x2 + 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_8_data> + 8000024c: 00053007 fld ft0,0(a0) + 80000250: 00853087 fld ft1,8(a0) + 80000254: 01053107 fld ft2,16(a0) + 80000258: 01853683 ld a3,24(a0) + 8000025c: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 80000260: e2018553 fmv.x.d a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 10d51863 bne a0,a3,8000037c <fail> + 80000270: 10c59663 bne a1,a2,8000037c <fail> + +0000000080000274 <test_9>: + 80000274: 00900193 li gp,9 + 80000278: 00002517 auipc a0,0x2 + 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_9_data> + 80000280: 00053007 fld ft0,0(a0) + 80000284: 00853087 fld ft1,8(a0) + 80000288: 01053107 fld ft2,16(a0) + 8000028c: 01853683 ld a3,24(a0) + 80000290: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 80000294: e2018553 fmv.x.d a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00100613 li a2,1 + 800002a0: 0cd51e63 bne a0,a3,8000037c <fail> + 800002a4: 0cc59c63 bne a1,a2,8000037c <fail> + +00000000800002a8 <test_10>: + 800002a8: 00a00193 li gp,10 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_10_data> + 800002b4: 00053007 fld ft0,0(a0) + 800002b8: 00853087 fld ft1,8(a0) + 800002bc: 01053107 fld ft2,16(a0) + 800002c0: 01853683 ld a3,24(a0) + 800002c4: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 800002c8: e2018553 fmv.x.d a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00000613 li a2,0 + 800002d4: 0ad51463 bne a0,a3,8000037c <fail> + 800002d8: 0ac59263 bne a1,a2,8000037c <fail> + +00000000800002dc <test_11>: + 800002dc: 00b00193 li gp,11 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_11_data> + 800002e8: 00053007 fld ft0,0(a0) + 800002ec: 00853087 fld ft1,8(a0) + 800002f0: 01053107 fld ft2,16(a0) + 800002f4: 01853683 ld a3,24(a0) + 800002f8: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 800002fc: e2018553 fmv.x.d a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 00000613 li a2,0 + 80000308: 06d51a63 bne a0,a3,8000037c <fail> + 8000030c: 06c59863 bne a1,a2,8000037c <fail> + +0000000080000310 <test_12>: + 80000310: 00c00193 li gp,12 + 80000314: 00002517 auipc a0,0x2 + 80000318: e2c50513 addi a0,a0,-468 # 80002140 <test_12_data> + 8000031c: 00053007 fld ft0,0(a0) + 80000320: 00853087 fld ft1,8(a0) + 80000324: 01053107 fld ft2,16(a0) + 80000328: 01853683 ld a3,24(a0) + 8000032c: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 80000330: e2018553 fmv.x.d a0,ft3 + 80000334: 001015f3 fsflags a1,zero + 80000338: 00100613 li a2,1 + 8000033c: 04d51063 bne a0,a3,8000037c <fail> + 80000340: 02c59e63 bne a1,a2,8000037c <fail> + +0000000080000344 <test_13>: + 80000344: 00d00193 li gp,13 + 80000348: 00002517 auipc a0,0x2 + 8000034c: e1850513 addi a0,a0,-488 # 80002160 <test_13_data> + 80000350: 00053007 fld ft0,0(a0) + 80000354: 00853087 fld ft1,8(a0) + 80000358: 01053107 fld ft2,16(a0) + 8000035c: 01853683 ld a3,24(a0) + 80000360: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 80000364: e2018553 fmv.x.d a0,ft3 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 00d51663 bne a0,a3,8000037c <fail> + 80000374: 00c59463 bne a1,a2,8000037c <fail> + 80000378: 00301c63 bne zero,gp,80000390 <pass> + +000000008000037c <fail>: + 8000037c: 0ff0000f fence + 80000380: 00018063 beqz gp,80000380 <fail+0x4> + 80000384: 00119193 slli gp,gp,0x1 + 80000388: 0011e193 ori gp,gp,1 + 8000038c: 00000073 ecall + +0000000080000390 <pass>: + 80000390: 0ff0000f fence + 80000394: 00100193 li gp,1 + 80000398: 00000073 ecall + 8000039c: c0001073 unimp + 800003a0: 0000 unimp + 800003a2: 0000 unimp + 800003a4: 0000 unimp + 800003a6: 0000 unimp + 800003a8: 0000 unimp + 800003aa: 0000 unimp + 800003ac: 0000 unimp + 800003ae: 0000 unimp + 800003b0: 0000 unimp + 800003b2: 0000 unimp + 800003b4: 0000 unimp + 800003b6: 0000 unimp + 800003b8: 0000 unimp + 800003ba: 0000 unimp + 800003bc: 0000 unimp + 800003be: 0000 unimp + 800003c0: 0000 unimp + 800003c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 3ff0 fld fa2,248(a5) + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 4004 lw s1,0(s0) + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 3ff0 fld fa2,248(a5) + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 0000 unimp + 8000201e: 400c lw a1,0(s0) + +0000000080002020 <test_3_data>: + 80002020: 0000 unimp + 80002022: 0000 unimp + 80002024: 0000 unimp + 80002026: bff0 fsd fa2,248(a5) + 80002028: 6666 ld a2,88(sp) + 8000202a: 6666 ld a2,88(sp) + 8000202c: 4c66 lw s8,88(sp) + 8000202e: 999ac093 xori ra,s5,-1639 + 80002032: 9999 andi a1,a1,-26 + 80002034: 9999 andi a1,a1,-26 + 80002036: 3ff1 addiw t6,t6,-4 + 80002038: cccc sw a1,28(s1) + 8000203a: cccc sw a1,28(s1) + 8000203c: 50cc lw a1,36(s1) + 8000203e: xori ra,zero,0 + +0000000080002040 <test_4_data>: + 80002040: 0000 unimp + 80002042: 0000 unimp + 80002044: 0000 unimp + 80002046: 4000 lw s0,0(s0) + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0000 unimp + 8000204e: c014 sw a3,0(s0) + 80002050: 0000 unimp + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: c000 sw s0,0(s0) + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: c028 sw a0,64(s0) + +0000000080002060 <test_5_data>: + 80002060: 0000 unimp + 80002062: 0000 unimp + 80002064: 0000 unimp + 80002066: 3ff0 fld fa2,248(a5) + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 4004 lw s1,0(s0) + 80002070: 0000 unimp + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 3ff0 fld fa2,248(a5) + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: c00c sw a1,0(s0) + +0000000080002080 <test_6_data>: + 80002080: 0000 unimp + 80002082: 0000 unimp + 80002084: 0000 unimp + 80002086: bff0 fsd fa2,248(a5) + 80002088: 6666 ld a2,88(sp) + 8000208a: 6666 ld a2,88(sp) + 8000208c: 4c66 lw s8,88(sp) + 8000208e: 999ac093 xori ra,s5,-1639 + 80002092: 9999 andi a1,a1,-26 + 80002094: 9999 andi a1,a1,-26 + 80002096: 3ff1 addiw t6,t6,-4 + 80002098: cccc sw a1,28(s1) + 8000209a: cccc sw a1,28(s1) + 8000209c: 50cc lw a1,36(s1) + 8000209e: xori ra,ra,0 + +00000000800020a0 <test_7_data>: + 800020a0: 0000 unimp + 800020a2: 0000 unimp + 800020a4: 0000 unimp + 800020a6: 4000 lw s0,0(s0) + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: c014 sw a3,0(s0) + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: c000 sw s0,0(s0) + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 4028 lw a0,64(s0) + +00000000800020c0 <test_8_data>: + 800020c0: 0000 unimp + 800020c2: 0000 unimp + 800020c4: 0000 unimp + 800020c6: 3ff0 fld fa2,248(a5) + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 4004 lw s1,0(s0) + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 3ff0 fld fa2,248(a5) + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 3ff8 fld fa4,248(a5) + +00000000800020e0 <test_9_data>: + 800020e0: 0000 unimp + 800020e2: 0000 unimp + 800020e4: 0000 unimp + 800020e6: bff0 fsd fa2,248(a5) + 800020e8: 6666 ld a2,88(sp) + 800020ea: 6666 ld a2,88(sp) + 800020ec: 4c66 lw s8,88(sp) + 800020ee: 999ac093 xori ra,s5,-1639 + 800020f2: 9999 andi a1,a1,-26 + 800020f4: 9999 andi a1,a1,-26 + 800020f6: 3ff1 addiw t6,t6,-4 + 800020f8: 0000 unimp + 800020fa: 0000 unimp + 800020fc: 4800 lw s0,16(s0) + 800020fe: xori ra,zero,0 + +0000000080002100 <test_10_data>: + 80002100: 0000 unimp + 80002102: 0000 unimp + 80002104: 0000 unimp + 80002106: 4000 lw s0,0(s0) + 80002108: 0000 unimp + 8000210a: 0000 unimp + 8000210c: 0000 unimp + 8000210e: c014 sw a3,0(s0) + 80002110: 0000 unimp + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: c000 sw s0,0(s0) + 80002118: 0000 unimp + 8000211a: 0000 unimp + 8000211c: 0000 unimp + 8000211e: c020 sw s0,64(s0) + +0000000080002120 <test_11_data>: + 80002120: 0000 unimp + 80002122: 0000 unimp + 80002124: 0000 unimp + 80002126: 3ff0 fld fa2,248(a5) + 80002128: 0000 unimp + 8000212a: 0000 unimp + 8000212c: 0000 unimp + 8000212e: 4004 lw s1,0(s0) + 80002130: 0000 unimp + 80002132: 0000 unimp + 80002134: 0000 unimp + 80002136: 3ff0 fld fa2,248(a5) + 80002138: 0000 unimp + 8000213a: 0000 unimp + 8000213c: 0000 unimp + 8000213e: bff8 fsd fa4,248(a5) + +0000000080002140 <test_12_data>: + 80002140: 0000 unimp + 80002142: 0000 unimp + 80002144: 0000 unimp + 80002146: bff0 fsd fa2,248(a5) + 80002148: 6666 ld a2,88(sp) + 8000214a: 6666 ld a2,88(sp) + 8000214c: 4c66 lw s8,88(sp) + 8000214e: 999ac093 xori ra,s5,-1639 + 80002152: 9999 andi a1,a1,-26 + 80002154: 9999 andi a1,a1,-26 + 80002156: 3ff1 addiw t6,t6,-4 + 80002158: 0000 unimp + 8000215a: 0000 unimp + 8000215c: 4800 lw s0,16(s0) + 8000215e: xori ra,ra,0 + +0000000080002160 <test_13_data>: + 80002160: 0000 unimp + 80002162: 0000 unimp + 80002164: 0000 unimp + 80002166: 4000 lw s0,0(s0) + 80002168: 0000 unimp + 8000216a: 0000 unimp + 8000216c: 0000 unimp + 8000216e: c014 sw a3,0(s0) + 80002170: 0000 unimp + 80002172: 0000 unimp + 80002174: 0000 unimp + 80002176: c000 sw s0,0(s0) + 80002178: 0000 unimp + 8000217a: 0000 unimp + 8000217c: 0000 unimp + 8000217e: 4020 lw s0,64(s0) diff --git a/test/riscv-tests/rv64ud-p-fmadd.elf b/test/riscv-tests/rv64ud-p-fmadd.elf Binary files differnew file mode 100644 index 0000000..e1b977b --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fmadd.elf diff --git a/test/riscv-tests/rv64ud-p-fmin.dump b/test/riscv-tests/rv64ud-p-fmin.dump new file mode 100644 index 0000000..1024cdd --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fmin.dump @@ -0,0 +1,704 @@ + +rv64ud-p-fmin: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00053007 fld ft0,0(a0) + 80000118: 00853087 fld ft1,8(a0) + 8000011c: 01053107 fld ft2,16(a0) + 80000120: 01853683 ld a3,24(a0) + 80000124: 2a1001d3 fmin.d ft3,ft0,ft1 + 80000128: e2018553 fmv.x.d a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 38d51063 bne a0,a3,800004b4 <fail> + 80000138: 36c59e63 bne a1,a2,800004b4 <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data> + 80000148: 00053007 fld ft0,0(a0) + 8000014c: 00853087 fld ft1,8(a0) + 80000150: 01053107 fld ft2,16(a0) + 80000154: 01853683 ld a3,24(a0) + 80000158: 2a1001d3 fmin.d ft3,ft0,ft1 + 8000015c: e2018553 fmv.x.d a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00000613 li a2,0 + 80000168: 34d51663 bne a0,a3,800004b4 <fail> + 8000016c: 34c59463 bne a1,a2,800004b4 <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data> + 8000017c: 00053007 fld ft0,0(a0) + 80000180: 00853087 fld ft1,8(a0) + 80000184: 01053107 fld ft2,16(a0) + 80000188: 01853683 ld a3,24(a0) + 8000018c: 2a1001d3 fmin.d ft3,ft0,ft1 + 80000190: e2018553 fmv.x.d a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 30d51c63 bne a0,a3,800004b4 <fail> + 800001a0: 30c59a63 bne a1,a2,800004b4 <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data> + 800001b0: 00053007 fld ft0,0(a0) + 800001b4: 00853087 fld ft1,8(a0) + 800001b8: 01053107 fld ft2,16(a0) + 800001bc: 01853683 ld a3,24(a0) + 800001c0: 2a1001d3 fmin.d ft3,ft0,ft1 + 800001c4: e2018553 fmv.x.d a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 2ed51263 bne a0,a3,800004b4 <fail> + 800001d4: 2ec59063 bne a1,a2,800004b4 <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data> + 800001e4: 00053007 fld ft0,0(a0) + 800001e8: 00853087 fld ft1,8(a0) + 800001ec: 01053107 fld ft2,16(a0) + 800001f0: 01853683 ld a3,24(a0) + 800001f4: 2a1001d3 fmin.d ft3,ft0,ft1 + 800001f8: e2018553 fmv.x.d a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00000613 li a2,0 + 80000204: 2ad51863 bne a0,a3,800004b4 <fail> + 80000208: 2ac59663 bne a1,a2,800004b4 <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data> + 80000218: 00053007 fld ft0,0(a0) + 8000021c: 00853087 fld ft1,8(a0) + 80000220: 01053107 fld ft2,16(a0) + 80000224: 01853683 ld a3,24(a0) + 80000228: 2a1001d3 fmin.d ft3,ft0,ft1 + 8000022c: e2018553 fmv.x.d a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00000613 li a2,0 + 80000238: 26d51e63 bne a0,a3,800004b4 <fail> + 8000023c: 26c59c63 bne a1,a2,800004b4 <fail> + +0000000080000240 <test_12>: + 80000240: 00c00193 li gp,12 + 80000244: 00002517 auipc a0,0x2 + 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_12_data> + 8000024c: 00053007 fld ft0,0(a0) + 80000250: 00853087 fld ft1,8(a0) + 80000254: 01053107 fld ft2,16(a0) + 80000258: 01853683 ld a3,24(a0) + 8000025c: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000260: e2018553 fmv.x.d a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 24d51463 bne a0,a3,800004b4 <fail> + 80000270: 24c59263 bne a1,a2,800004b4 <fail> + +0000000080000274 <test_13>: + 80000274: 00d00193 li gp,13 + 80000278: 00002517 auipc a0,0x2 + 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_13_data> + 80000280: 00053007 fld ft0,0(a0) + 80000284: 00853087 fld ft1,8(a0) + 80000288: 01053107 fld ft2,16(a0) + 8000028c: 01853683 ld a3,24(a0) + 80000290: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000294: e2018553 fmv.x.d a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00000613 li a2,0 + 800002a0: 20d51a63 bne a0,a3,800004b4 <fail> + 800002a4: 20c59863 bne a1,a2,800004b4 <fail> + +00000000800002a8 <test_14>: + 800002a8: 00e00193 li gp,14 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_14_data> + 800002b4: 00053007 fld ft0,0(a0) + 800002b8: 00853087 fld ft1,8(a0) + 800002bc: 01053107 fld ft2,16(a0) + 800002c0: 01853683 ld a3,24(a0) + 800002c4: 2a1011d3 fmax.d ft3,ft0,ft1 + 800002c8: e2018553 fmv.x.d a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00000613 li a2,0 + 800002d4: 1ed51063 bne a0,a3,800004b4 <fail> + 800002d8: 1cc59e63 bne a1,a2,800004b4 <fail> + +00000000800002dc <test_15>: + 800002dc: 00f00193 li gp,15 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_15_data> + 800002e8: 00053007 fld ft0,0(a0) + 800002ec: 00853087 fld ft1,8(a0) + 800002f0: 01053107 fld ft2,16(a0) + 800002f4: 01853683 ld a3,24(a0) + 800002f8: 2a1011d3 fmax.d ft3,ft0,ft1 + 800002fc: e2018553 fmv.x.d a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 00000613 li a2,0 + 80000308: 1ad51663 bne a0,a3,800004b4 <fail> + 8000030c: 1ac59463 bne a1,a2,800004b4 <fail> + +0000000080000310 <test_16>: + 80000310: 01000193 li gp,16 + 80000314: 00002517 auipc a0,0x2 + 80000318: e2c50513 addi a0,a0,-468 # 80002140 <test_16_data> + 8000031c: 00053007 fld ft0,0(a0) + 80000320: 00853087 fld ft1,8(a0) + 80000324: 01053107 fld ft2,16(a0) + 80000328: 01853683 ld a3,24(a0) + 8000032c: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000330: e2018553 fmv.x.d a0,ft3 + 80000334: 001015f3 fsflags a1,zero + 80000338: 00000613 li a2,0 + 8000033c: 16d51c63 bne a0,a3,800004b4 <fail> + 80000340: 16c59a63 bne a1,a2,800004b4 <fail> + +0000000080000344 <test_17>: + 80000344: 01100193 li gp,17 + 80000348: 00002517 auipc a0,0x2 + 8000034c: e1850513 addi a0,a0,-488 # 80002160 <test_17_data> + 80000350: 00053007 fld ft0,0(a0) + 80000354: 00853087 fld ft1,8(a0) + 80000358: 01053107 fld ft2,16(a0) + 8000035c: 01853683 ld a3,24(a0) + 80000360: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000364: e2018553 fmv.x.d a0,ft3 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 14d51263 bne a0,a3,800004b4 <fail> + 80000374: 14c59063 bne a1,a2,800004b4 <fail> + +0000000080000378 <test_20>: + 80000378: 01400193 li gp,20 + 8000037c: 00002517 auipc a0,0x2 + 80000380: e0450513 addi a0,a0,-508 # 80002180 <test_20_data> + 80000384: 00053007 fld ft0,0(a0) + 80000388: 00853087 fld ft1,8(a0) + 8000038c: 01053107 fld ft2,16(a0) + 80000390: 01853683 ld a3,24(a0) + 80000394: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000398: e2018553 fmv.x.d a0,ft3 + 8000039c: 001015f3 fsflags a1,zero + 800003a0: 01000613 li a2,16 + 800003a4: 10d51863 bne a0,a3,800004b4 <fail> + 800003a8: 10c59663 bne a1,a2,800004b4 <fail> + +00000000800003ac <test_21>: + 800003ac: 01500193 li gp,21 + 800003b0: 00002517 auipc a0,0x2 + 800003b4: df050513 addi a0,a0,-528 # 800021a0 <test_21_data> + 800003b8: 00053007 fld ft0,0(a0) + 800003bc: 00853087 fld ft1,8(a0) + 800003c0: 01053107 fld ft2,16(a0) + 800003c4: 01853683 ld a3,24(a0) + 800003c8: 2a1011d3 fmax.d ft3,ft0,ft1 + 800003cc: e2018553 fmv.x.d a0,ft3 + 800003d0: 001015f3 fsflags a1,zero + 800003d4: 00000613 li a2,0 + 800003d8: 0cd51e63 bne a0,a3,800004b4 <fail> + 800003dc: 0cc59c63 bne a1,a2,800004b4 <fail> + +00000000800003e0 <test_30>: + 800003e0: 01e00193 li gp,30 + 800003e4: 00002517 auipc a0,0x2 + 800003e8: ddc50513 addi a0,a0,-548 # 800021c0 <test_30_data> + 800003ec: 00053007 fld ft0,0(a0) + 800003f0: 00853087 fld ft1,8(a0) + 800003f4: 01053107 fld ft2,16(a0) + 800003f8: 01853683 ld a3,24(a0) + 800003fc: 2a1001d3 fmin.d ft3,ft0,ft1 + 80000400: e2018553 fmv.x.d a0,ft3 + 80000404: 001015f3 fsflags a1,zero + 80000408: 00000613 li a2,0 + 8000040c: 0ad51463 bne a0,a3,800004b4 <fail> + 80000410: 0ac59263 bne a1,a2,800004b4 <fail> + +0000000080000414 <test_31>: + 80000414: 01f00193 li gp,31 + 80000418: 00002517 auipc a0,0x2 + 8000041c: dc850513 addi a0,a0,-568 # 800021e0 <test_31_data> + 80000420: 00053007 fld ft0,0(a0) + 80000424: 00853087 fld ft1,8(a0) + 80000428: 01053107 fld ft2,16(a0) + 8000042c: 01853683 ld a3,24(a0) + 80000430: 2a1001d3 fmin.d ft3,ft0,ft1 + 80000434: e2018553 fmv.x.d a0,ft3 + 80000438: 001015f3 fsflags a1,zero + 8000043c: 00000613 li a2,0 + 80000440: 06d51a63 bne a0,a3,800004b4 <fail> + 80000444: 06c59863 bne a1,a2,800004b4 <fail> + +0000000080000448 <test_32>: + 80000448: 02000193 li gp,32 + 8000044c: 00002517 auipc a0,0x2 + 80000450: db450513 addi a0,a0,-588 # 80002200 <test_32_data> + 80000454: 00053007 fld ft0,0(a0) + 80000458: 00853087 fld ft1,8(a0) + 8000045c: 01053107 fld ft2,16(a0) + 80000460: 01853683 ld a3,24(a0) + 80000464: 2a1011d3 fmax.d ft3,ft0,ft1 + 80000468: e2018553 fmv.x.d a0,ft3 + 8000046c: 001015f3 fsflags a1,zero + 80000470: 00000613 li a2,0 + 80000474: 04d51063 bne a0,a3,800004b4 <fail> + 80000478: 02c59e63 bne a1,a2,800004b4 <fail> + +000000008000047c <test_33>: + 8000047c: 02100193 li gp,33 + 80000480: 00002517 auipc a0,0x2 + 80000484: da050513 addi a0,a0,-608 # 80002220 <test_33_data> + 80000488: 00053007 fld ft0,0(a0) + 8000048c: 00853087 fld ft1,8(a0) + 80000490: 01053107 fld ft2,16(a0) + 80000494: 01853683 ld a3,24(a0) + 80000498: 2a1011d3 fmax.d ft3,ft0,ft1 + 8000049c: e2018553 fmv.x.d a0,ft3 + 800004a0: 001015f3 fsflags a1,zero + 800004a4: 00000613 li a2,0 + 800004a8: 00d51663 bne a0,a3,800004b4 <fail> + 800004ac: 00c59463 bne a1,a2,800004b4 <fail> + 800004b0: 00301c63 bne zero,gp,800004c8 <pass> + +00000000800004b4 <fail>: + 800004b4: 0ff0000f fence + 800004b8: 00018063 beqz gp,800004b8 <fail+0x4> + 800004bc: 00119193 slli gp,gp,0x1 + 800004c0: 0011e193 ori gp,gp,1 + 800004c4: 00000073 ecall + +00000000800004c8 <pass>: + 800004c8: 0ff0000f fence + 800004cc: 00100193 li gp,1 + 800004d0: 00000073 ecall + 800004d4: c0001073 unimp + 800004d8: 0000 unimp + 800004da: 0000 unimp + 800004dc: 0000 unimp + 800004de: 0000 unimp + 800004e0: 0000 unimp + 800004e2: 0000 unimp + 800004e4: 0000 unimp + 800004e6: 0000 unimp + 800004e8: 0000 unimp + 800004ea: 0000 unimp + 800004ec: 0000 unimp + 800004ee: 0000 unimp + 800004f0: 0000 unimp + 800004f2: 0000 unimp + 800004f4: 0000 unimp + 800004f6: 0000 unimp + 800004f8: 0000 unimp + 800004fa: 0000 unimp + 800004fc: 0000 unimp + 800004fe: 0000 unimp + 80000500: 0000 unimp + 80000502: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 4004 lw s1,0(s0) + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 3ff0 fld fa2,248(a5) + 80002010: 0000 unimp + 80002012: 0000 unimp + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 0000 unimp + 8000201e: 3ff0 fld fa2,248(a5) + +0000000080002020 <test_3_data>: + 80002020: 6666 ld a2,88(sp) + 80002022: 6666 ld a2,88(sp) + 80002024: 4c66 lw s8,88(sp) + 80002026: 999ac093 xori ra,s5,-1639 + 8000202a: 9999 andi a1,a1,-26 + 8000202c: 9999 andi a1,a1,-26 + 8000202e: 3ff1 addiw t6,t6,-4 + 80002030: 0000 unimp + 80002032: 0000 unimp + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 6666 ld a2,88(sp) + 8000203a: 6666 ld a2,88(sp) + 8000203c: 4c66 lw s8,88(sp) + 8000203e: xori ra,s5,-1639 + +0000000080002040 <test_4_data>: + 80002040: 999a add s3,s3,t1 + 80002042: 9999 andi a1,a1,-26 + 80002044: 9999 andi a1,a1,-26 + 80002046: 3ff1 addiw t6,t6,-4 + 80002048: 6666 ld a2,88(sp) + 8000204a: 6666 ld a2,88(sp) + 8000204c: 4c66 lw s8,88(sp) + 8000204e: 0000c093 xori ra,ra,0 + 80002052: 0000 unimp + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 6666 ld a2,88(sp) + 8000205a: 6666 ld a2,88(sp) + 8000205c: 4c66 lw s8,88(sp) + 8000205e: not ra,t6 + +0000000080002060 <test_5_data>: + 80002060: ffff 0xffff + 80002062: ffff 0xffff + 80002064: ffff 0xffff + 80002066: 7fff 0x7fff + 80002068: 6666 ld a2,88(sp) + 8000206a: 6666 ld a2,88(sp) + 8000206c: 4c66 lw s8,88(sp) + 8000206e: 0000c093 xori ra,ra,0 + 80002072: 0000 unimp + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 6666 ld a2,88(sp) + 8000207a: 6666 ld a2,88(sp) + 8000207c: 4c66 lw s8,88(sp) + 8000207e: xori ra,gp,-689 + +0000000080002080 <test_6_data>: + 80002080: d4f1 beqz s1,8000204c <test_4_data+0xc> + 80002082: 53c8 lw a0,36(a5) + 80002084: 400921fb 0x400921fb + 80002088: 8c3a mv s8,a4 + 8000208a: e230 sd a2,64(a2) + 8000208c: 798e ld s3,224(sp) + 8000208e: 3e45 addiw t3,t3,-15 + 80002090: 0000 unimp + 80002092: 0000 unimp + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 8c3a mv s8,a4 + 8000209a: e230 sd a2,64(a2) + 8000209c: 798e ld s3,224(sp) + 8000209e: 3e45 addiw t3,t3,-15 + +00000000800020a0 <test_7_data>: + 800020a0: 0000 unimp + 800020a2: 0000 unimp + 800020a4: 0000 unimp + 800020a6: bff0 fsd fa2,248(a5) + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: c000 sw s0,0(s0) + 800020b0: 0000 unimp + 800020b2: 0000 unimp + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: c000 sw s0,0(s0) + +00000000800020c0 <test_12_data>: + 800020c0: 0000 unimp + 800020c2: 0000 unimp + 800020c4: 0000 unimp + 800020c6: 4004 lw s1,0(s0) + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 3ff0 fld fa2,248(a5) + 800020d0: 0000 unimp + 800020d2: 0000 unimp + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 4004 lw s1,0(s0) + +00000000800020e0 <test_13_data>: + 800020e0: 6666 ld a2,88(sp) + 800020e2: 6666 ld a2,88(sp) + 800020e4: 4c66 lw s8,88(sp) + 800020e6: 999ac093 xori ra,s5,-1639 + 800020ea: 9999 andi a1,a1,-26 + 800020ec: 9999 andi a1,a1,-26 + 800020ee: 3ff1 addiw t6,t6,-4 + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: 999a add s3,s3,t1 + 800020fa: 9999 andi a1,a1,-26 + 800020fc: 9999 andi a1,a1,-26 + 800020fe: 3ff1 addiw t6,t6,-4 + +0000000080002100 <test_14_data>: + 80002100: 999a add s3,s3,t1 + 80002102: 9999 andi a1,a1,-26 + 80002104: 9999 andi a1,a1,-26 + 80002106: 3ff1 addiw t6,t6,-4 + 80002108: 6666 ld a2,88(sp) + 8000210a: 6666 ld a2,88(sp) + 8000210c: 4c66 lw s8,88(sp) + 8000210e: 0000c093 xori ra,ra,0 + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: 0000 unimp + 80002118: 999a add s3,s3,t1 + 8000211a: 9999 andi a1,a1,-26 + 8000211c: 9999 andi a1,a1,-26 + 8000211e: 3ff1 addiw t6,t6,-4 + +0000000080002120 <test_15_data>: + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: ffff 0xffff + 80002126: 7fff 0x7fff + 80002128: 6666 ld a2,88(sp) + 8000212a: 6666 ld a2,88(sp) + 8000212c: 4c66 lw s8,88(sp) + 8000212e: 0000c093 xori ra,ra,0 + 80002132: 0000 unimp + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: 6666 ld a2,88(sp) + 8000213a: 6666 ld a2,88(sp) + 8000213c: 4c66 lw s8,88(sp) + 8000213e: xori ra,gp,-689 + +0000000080002140 <test_16_data>: + 80002140: d4f1 beqz s1,8000210c <test_14_data+0xc> + 80002142: 53c8 lw a0,36(a5) + 80002144: 400921fb 0x400921fb + 80002148: 8c3a mv s8,a4 + 8000214a: e230 sd a2,64(a2) + 8000214c: 798e ld s3,224(sp) + 8000214e: 3e45 addiw t3,t3,-15 + 80002150: 0000 unimp + 80002152: 0000 unimp + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: d4f1 beqz s1,80002124 <test_15_data+0x4> + 8000215a: 53c8 lw a0,36(a5) + 8000215c: 400921fb 0x400921fb + +0000000080002160 <test_17_data>: + 80002160: 0000 unimp + 80002162: 0000 unimp + 80002164: 0000 unimp + 80002166: bff0 fsd fa2,248(a5) + 80002168: 0000 unimp + 8000216a: 0000 unimp + 8000216c: 0000 unimp + 8000216e: c000 sw s0,0(s0) + 80002170: 0000 unimp + 80002172: 0000 unimp + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: 0000 unimp + 8000217a: 0000 unimp + 8000217c: 0000 unimp + 8000217e: bff0 fsd fa2,248(a5) + +0000000080002180 <test_20_data>: + 80002180: 0001 nop + 80002182: 0000 unimp + 80002184: 0000 unimp + 80002186: 7ff0 ld a2,248(a5) + 80002188: 0000 unimp + 8000218a: 0000 unimp + 8000218c: 0000 unimp + 8000218e: 3ff0 fld fa2,248(a5) + 80002190: 0000 unimp + 80002192: 0000 unimp + 80002194: 0000 unimp + 80002196: 0000 unimp + 80002198: 0000 unimp + 8000219a: 0000 unimp + 8000219c: 0000 unimp + 8000219e: 3ff0 fld fa2,248(a5) + +00000000800021a0 <test_21_data>: + 800021a0: ffff 0xffff + 800021a2: ffff 0xffff + 800021a4: ffff 0xffff + 800021a6: 7fff 0x7fff + 800021a8: ffff 0xffff + 800021aa: ffff 0xffff + 800021ac: ffff 0xffff + 800021ae: 7fff 0x7fff + 800021b0: 0000 unimp + 800021b2: 0000 unimp + 800021b4: 0000 unimp + 800021b6: 0000 unimp + 800021b8: 0000 unimp + 800021ba: 0000 unimp + 800021bc: 0000 unimp + 800021be: 7ff8 ld a4,248(a5) + +00000000800021c0 <test_30_data>: + 800021c0: 0000 unimp + 800021c2: 0000 unimp + 800021c4: 0000 unimp + 800021c6: 8000 0x8000 + 800021c8: 0000 unimp + 800021ca: 0000 unimp + 800021cc: 0000 unimp + 800021ce: 0000 unimp + 800021d0: 0000 unimp + 800021d2: 0000 unimp + 800021d4: 0000 unimp + 800021d6: 0000 unimp + 800021d8: 0000 unimp + 800021da: 0000 unimp + 800021dc: 0000 unimp + 800021de: 8000 0x8000 + +00000000800021e0 <test_31_data>: + 800021e0: 0000 unimp + 800021e2: 0000 unimp + 800021e4: 0000 unimp + 800021e6: 0000 unimp + 800021e8: 0000 unimp + 800021ea: 0000 unimp + 800021ec: 0000 unimp + 800021ee: 8000 0x8000 + 800021f0: 0000 unimp + 800021f2: 0000 unimp + 800021f4: 0000 unimp + 800021f6: 0000 unimp + 800021f8: 0000 unimp + 800021fa: 0000 unimp + 800021fc: 0000 unimp + 800021fe: 8000 0x8000 + +0000000080002200 <test_32_data>: + 80002200: 0000 unimp + 80002202: 0000 unimp + 80002204: 0000 unimp + 80002206: 8000 0x8000 + 80002208: 0000 unimp + 8000220a: 0000 unimp + 8000220c: 0000 unimp + 8000220e: 0000 unimp + 80002210: 0000 unimp + 80002212: 0000 unimp + 80002214: 0000 unimp + 80002216: 0000 unimp + 80002218: 0000 unimp + 8000221a: 0000 unimp + 8000221c: 0000 unimp + 8000221e: 0000 unimp + +0000000080002220 <test_33_data>: + 80002220: 0000 unimp + 80002222: 0000 unimp + 80002224: 0000 unimp + 80002226: 0000 unimp + 80002228: 0000 unimp + 8000222a: 0000 unimp + 8000222c: 0000 unimp + 8000222e: 8000 0x8000 + 80002230: 0000 unimp + 80002232: 0000 unimp + 80002234: 0000 unimp + 80002236: 0000 unimp + 80002238: 0000 unimp + 8000223a: 0000 unimp + 8000223c: 0000 unimp + 8000223e: 0000 unimp diff --git a/test/riscv-tests/rv64ud-p-fmin.elf b/test/riscv-tests/rv64ud-p-fmin.elf Binary files differnew file mode 100644 index 0000000..34c1ccb --- /dev/null +++ b/test/riscv-tests/rv64ud-p-fmin.elf diff --git a/test/riscv-tests/rv64ud-v-fadd.dump b/test/riscv-tests/rv64ud-v-fadd.dump new file mode 100644 index 0000000..fef4675 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fadd.dump @@ -0,0 +1,1163 @@ + +rv64ud-v-fadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 8a068693 addi a3,a3,-1888 # 80002cf8 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 8d460613 addi a2,a2,-1836 # 80002d88 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 89c60613 addi a2,a2,-1892 # 80002da0 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 7ec68693 addi a3,a3,2028 # 80002d40 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 80868693 addi a3,a3,-2040 # 80002e78 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 78860613 addi a2,a2,1928 # 80002e50 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 6bc68693 addi a3,a3,1724 # 80002ea8 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 5dc68693 addi a3,a3,1500 # 80002e18 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 56c68693 addi a3,a3,1388 # 80002de0 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 02d00793 li a5,45 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0d28d7b7 lui a5,0xd28d + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 47678793 addi a5,a5,1142 # d28d476 <_start-0x72d72b8a> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: 021071d3 fadd.d ft3,ft0,ft1 + 80002aec: e2018553 fmv.x.d a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 1ed51063 bne a0,a3,80002cd8 <fail> + 80002afc: 1cc59e63 bne a1,a2,80002cd8 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data> + 80002b0c: 00053007 fld ft0,0(a0) + 80002b10: 00853087 fld ft1,8(a0) + 80002b14: 01053107 fld ft2,16(a0) + 80002b18: 01853683 ld a3,24(a0) + 80002b1c: 021071d3 fadd.d ft3,ft0,ft1 + 80002b20: e2018553 fmv.x.d a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 1ad51663 bne a0,a3,80002cd8 <fail> + 80002b30: 1ac59463 bne a1,a2,80002cd8 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data> + 80002b40: 00053007 fld ft0,0(a0) + 80002b44: 00853087 fld ft1,8(a0) + 80002b48: 01053107 fld ft2,16(a0) + 80002b4c: 01853683 ld a3,24(a0) + 80002b50: 021071d3 fadd.d ft3,ft0,ft1 + 80002b54: e2018553 fmv.x.d a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00100613 li a2,1 + 80002b60: 16d51c63 bne a0,a3,80002cd8 <fail> + 80002b64: 16c59a63 bne a1,a2,80002cd8 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data> + 80002b74: 00053007 fld ft0,0(a0) + 80002b78: 00853087 fld ft1,8(a0) + 80002b7c: 01053107 fld ft2,16(a0) + 80002b80: 01853683 ld a3,24(a0) + 80002b84: 0a1071d3 fsub.d ft3,ft0,ft1 + 80002b88: e2018553 fmv.x.d a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 14d51263 bne a0,a3,80002cd8 <fail> + 80002b98: 14c59063 bne a1,a2,80002cd8 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data> + 80002ba8: 00053007 fld ft0,0(a0) + 80002bac: 00853087 fld ft1,8(a0) + 80002bb0: 01053107 fld ft2,16(a0) + 80002bb4: 01853683 ld a3,24(a0) + 80002bb8: 0a1071d3 fsub.d ft3,ft0,ft1 + 80002bbc: e2018553 fmv.x.d a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00100613 li a2,1 + 80002bc8: 10d51863 bne a0,a3,80002cd8 <fail> + 80002bcc: 10c59663 bne a1,a2,80002cd8 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_7_data> + 80002bdc: 00053007 fld ft0,0(a0) + 80002be0: 00853087 fld ft1,8(a0) + 80002be4: 01053107 fld ft2,16(a0) + 80002be8: 01853683 ld a3,24(a0) + 80002bec: 0a1071d3 fsub.d ft3,ft0,ft1 + 80002bf0: e2018553 fmv.x.d a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00100613 li a2,1 + 80002bfc: 0cd51e63 bne a0,a3,80002cd8 <fail> + 80002c00: 0cc59c63 bne a1,a2,80002cd8 <fail> + +0000000080002c04 <test_8>: + 80002c04: 00800193 li gp,8 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_8_data> + 80002c10: 00053007 fld ft0,0(a0) + 80002c14: 00853087 fld ft1,8(a0) + 80002c18: 01053107 fld ft2,16(a0) + 80002c1c: 01853683 ld a3,24(a0) + 80002c20: 121071d3 fmul.d ft3,ft0,ft1 + 80002c24: e2018553 fmv.x.d a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 0ad51463 bne a0,a3,80002cd8 <fail> + 80002c34: 0ac59263 bne a1,a2,80002cd8 <fail> + +0000000080002c38 <test_9>: + 80002c38: 00900193 li gp,9 + 80002c3c: 00000517 auipc a0,0x0 + 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_9_data> + 80002c44: 00053007 fld ft0,0(a0) + 80002c48: 00853087 fld ft1,8(a0) + 80002c4c: 01053107 fld ft2,16(a0) + 80002c50: 01853683 ld a3,24(a0) + 80002c54: 121071d3 fmul.d ft3,ft0,ft1 + 80002c58: e2018553 fmv.x.d a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00100613 li a2,1 + 80002c64: 06d51a63 bne a0,a3,80002cd8 <fail> + 80002c68: 06c59863 bne a1,a2,80002cd8 <fail> + +0000000080002c6c <test_10>: + 80002c6c: 00a00193 li gp,10 + 80002c70: 00000517 auipc a0,0x0 + 80002c74: 49050513 addi a0,a0,1168 # 80003100 <test_10_data> + 80002c78: 00053007 fld ft0,0(a0) + 80002c7c: 00853087 fld ft1,8(a0) + 80002c80: 01053107 fld ft2,16(a0) + 80002c84: 01853683 ld a3,24(a0) + 80002c88: 121071d3 fmul.d ft3,ft0,ft1 + 80002c8c: e2018553 fmv.x.d a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00100613 li a2,1 + 80002c98: 04d51063 bne a0,a3,80002cd8 <fail> + 80002c9c: 02c59e63 bne a1,a2,80002cd8 <fail> + +0000000080002ca0 <test_11>: + 80002ca0: 00b00193 li gp,11 + 80002ca4: 00000517 auipc a0,0x0 + 80002ca8: 47c50513 addi a0,a0,1148 # 80003120 <test_11_data> + 80002cac: 00053007 fld ft0,0(a0) + 80002cb0: 00853087 fld ft1,8(a0) + 80002cb4: 01053107 fld ft2,16(a0) + 80002cb8: 01853683 ld a3,24(a0) + 80002cbc: 0a1071d3 fsub.d ft3,ft0,ft1 + 80002cc0: e2018553 fmv.x.d a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 01000613 li a2,16 + 80002ccc: 00d51663 bne a0,a3,80002cd8 <fail> + 80002cd0: 00c59463 bne a1,a2,80002cd8 <fail> + 80002cd4: 00301a63 bne zero,gp,80002ce8 <pass> + +0000000080002cd8 <fail>: + 80002cd8: 00119513 slli a0,gp,0x1 + 80002cdc: 00050063 beqz a0,80002cdc <fail+0x4> + 80002ce0: 00156513 ori a0,a0,1 + 80002ce4: 00000073 ecall + +0000000080002ce8 <pass>: + 80002ce8: 00100513 li a0,1 + 80002cec: 00000073 ecall + 80002cf0: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 0000 unimp + 80003004: 0000 unimp + 80003006: 4004 lw s1,0(s0) + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0000 unimp + 8000300e: 3ff0 fld fa2,248(a5) + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 0000 unimp + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: 0000 unimp + 8000301e: 400c lw a1,0(s0) + +0000000080003020 <test_3_data>: + 80003020: 6666 ld a2,88(sp) + 80003022: 6666 ld a2,88(sp) + 80003024: 4c66 lw s8,88(sp) + 80003026: 999ac093 xori ra,s5,-1639 + 8000302a: 9999 andi a1,a1,-26 + 8000302c: 9999 andi a1,a1,-26 + 8000302e: 3ff1 addiw t6,t6,-4 + 80003030: 0000 unimp + 80003032: 0000 unimp + 80003034: 0000 unimp + 80003036: 0000 unimp + 80003038: 0000 unimp + 8000303a: 0000 unimp + 8000303c: 4800 lw s0,16(s0) + 8000303e: xori ra,gp,-689 + +0000000080003040 <test_4_data>: + 80003040: d4f1 beqz s1,8000300c <test_2_data+0xc> + 80003042: 53c8 lw a0,36(a5) + 80003044: 400921fb 0x400921fb + 80003048: 8c3a mv s8,a4 + 8000304a: e230 sd a2,64(a2) + 8000304c: 798e ld s3,224(sp) + 8000304e: 3e45 addiw t3,t3,-15 + 80003050: 0000 unimp + 80003052: 0000 unimp + 80003054: 0000 unimp + 80003056: 0000 unimp + 80003058: 6ddf 5520 21fb 0x21fb55206ddf + 8000305e: 4009 c.li zero,2 + +0000000080003060 <test_5_data>: + 80003060: 0000 unimp + 80003062: 0000 unimp + 80003064: 0000 unimp + 80003066: 4004 lw s1,0(s0) + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 3ff0 fld fa2,248(a5) + 80003070: 0000 unimp + 80003072: 0000 unimp + 80003074: 0000 unimp + 80003076: 0000 unimp + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: 3ff8 fld fa4,248(a5) + +0000000080003080 <test_6_data>: + 80003080: 6666 ld a2,88(sp) + 80003082: 6666 ld a2,88(sp) + 80003084: 4c66 lw s8,88(sp) + 80003086: 999ac093 xori ra,s5,-1639 + 8000308a: 9999 andi a1,a1,-26 + 8000308c: 9999 andi a1,a1,-26 + 8000308e: bff1 j 8000306a <test_5_data+0xa> + 80003090: 0000 unimp + 80003092: 0000 unimp + 80003094: 0000 unimp + 80003096: 0000 unimp + 80003098: 0000 unimp + 8000309a: 0000 unimp + 8000309c: 4800 lw s0,16(s0) + 8000309e: xori ra,gp,-689 + +00000000800030a0 <test_7_data>: + 800030a0: d4f1 beqz s1,8000306c <test_5_data+0xc> + 800030a2: 53c8 lw a0,36(a5) + 800030a4: 400921fb 0x400921fb + 800030a8: 8c3a mv s8,a4 + 800030aa: e230 sd a2,64(a2) + 800030ac: 798e ld s3,224(sp) + 800030ae: 3e45 addiw t3,t3,-15 + 800030b0: 0000 unimp + 800030b2: 0000 unimp + 800030b4: 0000 unimp + 800030b6: 0000 unimp + 800030b8: 52713c03 ld s8,1319(sp) + 800030bc: 400921fb 0x400921fb + +00000000800030c0 <test_8_data>: + 800030c0: 0000 unimp + 800030c2: 0000 unimp + 800030c4: 0000 unimp + 800030c6: 4004 lw s1,0(s0) + 800030c8: 0000 unimp + 800030ca: 0000 unimp + 800030cc: 0000 unimp + 800030ce: 3ff0 fld fa2,248(a5) + 800030d0: 0000 unimp + 800030d2: 0000 unimp + 800030d4: 0000 unimp + 800030d6: 0000 unimp + 800030d8: 0000 unimp + 800030da: 0000 unimp + 800030dc: 0000 unimp + 800030de: 4004 lw s1,0(s0) + +00000000800030e0 <test_9_data>: + 800030e0: 6666 ld a2,88(sp) + 800030e2: 6666 ld a2,88(sp) + 800030e4: 4c66 lw s8,88(sp) + 800030e6: 999ac093 xori ra,s5,-1639 + 800030ea: 9999 andi a1,a1,-26 + 800030ec: 9999 andi a1,a1,-26 + 800030ee: bff1 j 800030ca <test_8_data+0xa> + 800030f0: 0000 unimp + 800030f2: 0000 unimp + 800030f4: 0000 unimp + 800030f6: 0000 unimp + 800030f8: 0a3d addi s4,s4,15 + 800030fa: 3a70a3d7 0x3a70a3d7 + 800030fe: 4095 li ra,5 + +0000000080003100 <test_10_data>: + 80003100: d4f1 beqz s1,800030cc <test_8_data+0xc> + 80003102: 53c8 lw a0,36(a5) + 80003104: 400921fb 0x400921fb + 80003108: 8c3a mv s8,a4 + 8000310a: e230 sd a2,64(a2) + 8000310c: 798e ld s3,224(sp) + 8000310e: 3e45 addiw t3,t3,-15 + 80003110: 0000 unimp + 80003112: 0000 unimp + 80003114: 0000 unimp + 80003116: 0000 unimp + 80003118: ff09 bnez a4,80003032 <test_3_data+0x12> + 8000311a: a5c1 j 800037da <begin_signature+0x69a> + 8000311c: ddc5 beqz a1,800030d4 <test_8_data+0x14> + 8000311e: 3e60 fld fs0,248(a2) + +0000000080003120 <test_11_data>: + 80003120: 0000 unimp + 80003122: 0000 unimp + 80003124: 0000 unimp + 80003126: 7ff0 ld a2,248(a5) + 80003128: 0000 unimp + 8000312a: 0000 unimp + 8000312c: 0000 unimp + 8000312e: 7ff0 ld a2,248(a5) + 80003130: 0000 unimp + 80003132: 0000 unimp + 80003134: 0000 unimp + 80003136: 0000 unimp + 80003138: 0000 unimp + 8000313a: 0000 unimp + 8000313c: 0000 unimp + 8000313e: 7ff8 ld a4,248(a5) diff --git a/test/riscv-tests/rv64ud-v-fadd.elf b/test/riscv-tests/rv64ud-v-fadd.elf Binary files differnew file mode 100644 index 0000000..e54ed05 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fadd.elf diff --git a/test/riscv-tests/rv64ud-v-fclass.dump b/test/riscv-tests/rv64ud-v-fclass.dump new file mode 100644 index 0000000..e374913 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fclass.dump @@ -0,0 +1,935 @@ + +rv64ud-v-fclass: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00008117 auipc sp,0x8 + 8000001c: 6b810113 addi sp,sp,1720 # 800086d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00001617 auipc a2,0x1 + 80002318: cec60613 addi a2,a2,-788 # 80003000 <begin_signature> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00005797 auipc a5,0x5 + 80002334: 4b878793 addi a5,a5,1208 # 800077e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00005717 auipc a4,0x5 + 80002348: 49c70713 addi a4,a4,1180 # 800077e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00005897 auipc a7,0x5 + 80002354: 48f8bc23 sd a5,1176(a7) # 800077e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00005797 auipc a5,0x5 + 80002384: 07078793 addi a5,a5,112 # 800073f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf8810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00005797 auipc a5,0x5 + 80002448: 3807be23 sd zero,924(a5) # 800077e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00000697 auipc a3,0x0 + 8000245c: 7b868693 addi a3,a3,1976 # 80002c10 <pass+0xc> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00000617 auipc a2,0x0 + 800024b8: 7ec60613 addi a2,a2,2028 # 80002ca0 <pass+0x9c> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00000617 auipc a2,0x0 + 80002508: 7b460613 addi a2,a2,1972 # 80002cb8 <pass+0xb4> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 70468693 addi a3,a3,1796 # 80002c58 <pass+0x54> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 72068693 addi a3,a3,1824 # 80002d90 <pass+0x18c> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 6a060613 addi a2,a2,1696 # 80002d68 <pass+0x164> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00005d17 auipc s10,0x5 + 80002720: cd4d0d13 addi s10,s10,-812 # 800073f0 <user_mapping> + 80002724: 00001b97 auipc s7,0x1 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80003000 <begin_signature> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00005a17 auipc s4,0x5 + 80002738: 0aca0a13 addi s4,s4,172 # 800077e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00005717 auipc a4,0x5 + 8000274c: 08f73c23 sd a5,152(a4) # 800077e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00005717 auipc a4,0x5 + 800027d4: 00f73823 sd a5,16(a4) # 800077e0 <freelist_tail> + 800027d8: 00005717 auipc a4,0x5 + 800027dc: 00f73823 sd a5,16(a4) # 800077e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 5d468693 addi a3,a3,1492 # 80002dc0 <pass+0x1bc> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 4f468693 addi a3,a3,1268 # 80002d30 <pass+0x12c> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 48468693 addi a3,a3,1156 # 80002cf8 <pass+0xf4> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00001697 auipc a3,0x1 + 800028e0: 72468693 addi a3,a3,1828 # 80004000 <begin_signature+0x1000> + 800028e4: 00002717 auipc a4,0x2 + 800028e8: 71c70713 addi a4,a4,1820 # 80005000 <begin_signature+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00003797 auipc a5,0x3 + 800028f8: 70c78793 addi a5,a5,1804 # 80006000 <begin_signature+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00000897 auipc a7,0x0 + 80002914: 6ed8b823 sd a3,1776(a7) # 80003000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00001697 auipc a3,0x1 + 80002920: 6ce6be23 sd a4,1756(a3) # 80003ff8 <begin_signature+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00000617 auipc a2,0x0 + 80002938: 6cc60613 addi a2,a2,1740 # 80003000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00003697 auipc a3,0x3 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80005ff8 <begin_signature+0x2ff8> + 8000294c: 00001717 auipc a4,0x1 + 80002950: 6af73a23 sd a5,1716(a4) # 80004000 <begin_signature+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00004697 auipc a3,0x4 + 800029c0: 64468693 addi a3,a3,1604 # 80007000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00005617 auipc a2,0x5 + 800029d0: e0f63e23 sd a5,-484(a2) # 800077e8 <freelist_head> + 800029d4: 00005797 auipc a5,0x5 + 800029d8: e0e7b623 sd a4,-500(a5) # 800077e0 <freelist_tail> + 800029dc: 00005317 auipc t1,0x5 + 800029e0: a1430313 addi t1,t1,-1516 # 800073f0 <user_mapping> + 800029e4: 02e00793 li a5,46 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00005797 auipc a5,0x5 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800073e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 00cd57b7 lui a5,0xcd5 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: eaa78793 addi a5,a5,-342 # cd4eaa <_start-0x7f32b156> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: fff0051b addiw a0,zero,-1 + 80002ad0: 03451513 slli a0,a0,0x34 + 80002ad4: f2050553 fmv.d.x fa0,a0 + 80002ad8: e2051553 fclass.d a0,fa0 + 80002adc: 00100e93 li t4,1 + 80002ae0: 00200193 li gp,2 + 80002ae4: 11d51863 bne a0,t4,80002bf4 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: bff0051b addiw a0,zero,-1025 + 80002aec: 03451513 slli a0,a0,0x34 + 80002af0: f2050553 fmv.d.x fa0,a0 + 80002af4: e2051553 fclass.d a0,fa0 + 80002af8: 00200e93 li t4,2 + 80002afc: 00300193 li gp,3 + 80002b00: 0fd51a63 bne a0,t4,80002bf4 <fail> + +0000000080002b04 <test_4>: + 80002b04: 8010051b addiw a0,zero,-2047 + 80002b08: 03451513 slli a0,a0,0x34 + 80002b0c: fff50513 addi a0,a0,-1 + 80002b10: f2050553 fmv.d.x fa0,a0 + 80002b14: e2051553 fclass.d a0,fa0 + 80002b18: 00400e93 li t4,4 + 80002b1c: 00400193 li gp,4 + 80002b20: 0dd51a63 bne a0,t4,80002bf4 <fail> + +0000000080002b24 <test_5>: + 80002b24: fff0051b addiw a0,zero,-1 + 80002b28: 03f51513 slli a0,a0,0x3f + 80002b2c: f2050553 fmv.d.x fa0,a0 + 80002b30: e2051553 fclass.d a0,fa0 + 80002b34: 00800e93 li t4,8 + 80002b38: 00500193 li gp,5 + 80002b3c: 0bd51c63 bne a0,t4,80002bf4 <fail> + +0000000080002b40 <test_6>: + 80002b40: 00000513 li a0,0 + 80002b44: f2050553 fmv.d.x fa0,a0 + 80002b48: e2051553 fclass.d a0,fa0 + 80002b4c: 01000e93 li t4,16 + 80002b50: 00600193 li gp,6 + 80002b54: 0bd51063 bne a0,t4,80002bf4 <fail> + +0000000080002b58 <test_7>: + 80002b58: 0010051b addiw a0,zero,1 + 80002b5c: 03451513 slli a0,a0,0x34 + 80002b60: fff50513 addi a0,a0,-1 + 80002b64: f2050553 fmv.d.x fa0,a0 + 80002b68: e2051553 fclass.d a0,fa0 + 80002b6c: 02000e93 li t4,32 + 80002b70: 00700193 li gp,7 + 80002b74: 09d51063 bne a0,t4,80002bf4 <fail> + +0000000080002b78 <test_8>: + 80002b78: 3ff0051b addiw a0,zero,1023 + 80002b7c: 03451513 slli a0,a0,0x34 + 80002b80: f2050553 fmv.d.x fa0,a0 + 80002b84: e2051553 fclass.d a0,fa0 + 80002b88: 04000e93 li t4,64 + 80002b8c: 00800193 li gp,8 + 80002b90: 07d51263 bne a0,t4,80002bf4 <fail> + +0000000080002b94 <test_9>: + 80002b94: 7ff0051b addiw a0,zero,2047 + 80002b98: 03451513 slli a0,a0,0x34 + 80002b9c: f2050553 fmv.d.x fa0,a0 + 80002ba0: e2051553 fclass.d a0,fa0 + 80002ba4: 08000e93 li t4,128 + 80002ba8: 00900193 li gp,9 + 80002bac: 05d51463 bne a0,t4,80002bf4 <fail> + +0000000080002bb0 <test_10>: + 80002bb0: 7ff0051b addiw a0,zero,2047 + 80002bb4: 03451513 slli a0,a0,0x34 + 80002bb8: 00150513 addi a0,a0,1 + 80002bbc: f2050553 fmv.d.x fa0,a0 + 80002bc0: e2051553 fclass.d a0,fa0 + 80002bc4: 10000e93 li t4,256 + 80002bc8: 00a00193 li gp,10 + 80002bcc: 03d51463 bne a0,t4,80002bf4 <fail> + +0000000080002bd0 <test_11>: + 80002bd0: 00001537 lui a0,0x1 + 80002bd4: fff5051b addiw a0,a0,-1 + 80002bd8: 03351513 slli a0,a0,0x33 + 80002bdc: f2050553 fmv.d.x fa0,a0 + 80002be0: e2051553 fclass.d a0,fa0 + 80002be4: 20000e93 li t4,512 + 80002be8: 00b00193 li gp,11 + 80002bec: 01d51463 bne a0,t4,80002bf4 <fail> + 80002bf0: 00301a63 bne zero,gp,80002c04 <pass> + +0000000080002bf4 <fail>: + 80002bf4: 00119513 slli a0,gp,0x1 + 80002bf8: 00050063 beqz a0,80002bf8 <fail+0x4> + 80002bfc: 00156513 ori a0,a0,1 + 80002c00: 00000073 ecall + +0000000080002c04 <pass>: + 80002c04: 00100513 li a0,1 + 80002c08: 00000073 ecall + 80002c0c: c0001073 unimp diff --git a/test/riscv-tests/rv64ud-v-fclass.elf b/test/riscv-tests/rv64ud-v-fclass.elf Binary files differnew file mode 100644 index 0000000..5db32bb --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fclass.elf diff --git a/test/riscv-tests/rv64ud-v-fcmp.dump b/test/riscv-tests/rv64ud-v-fcmp.dump new file mode 100644 index 0000000..c6b8946 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcmp.dump @@ -0,0 +1,1306 @@ + +rv64ud-v-fcmp: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 96868693 addi a3,a3,-1688 # 80002dc0 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 99c60613 addi a2,a2,-1636 # 80002e50 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 96460613 addi a2,a2,-1692 # 80002e68 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 8b468693 addi a3,a3,-1868 # 80002e08 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 8d068693 addi a3,a3,-1840 # 80002f40 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: 85060613 addi a2,a2,-1968 # 80002f18 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 78468693 addi a3,a3,1924 # 80002f70 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 6a468693 addi a3,a3,1700 # 80002ee0 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 63468693 addi a3,a3,1588 # 80002ea8 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 01300793 li a5,19 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0e6157b7 lui a5,0xe615 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 11278793 addi a5,a5,274 # e615112 <_start-0x719eaeee> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: a2102553 feq.d a0,ft0,ft1 + 80002aec: 001015f3 fsflags a1,zero + 80002af0: 00000613 li a2,0 + 80002af4: 2ad51663 bne a0,a3,80002da0 <fail> + 80002af8: 2ac59463 bne a1,a2,80002da0 <fail> + +0000000080002afc <test_3>: + 80002afc: 00300193 li gp,3 + 80002b00: 00000517 auipc a0,0x0 + 80002b04: 52050513 addi a0,a0,1312 # 80003020 <test_3_data> + 80002b08: 00053007 fld ft0,0(a0) + 80002b0c: 00853087 fld ft1,8(a0) + 80002b10: 01053107 fld ft2,16(a0) + 80002b14: 01853683 ld a3,24(a0) + 80002b18: a2100553 fle.d a0,ft0,ft1 + 80002b1c: 001015f3 fsflags a1,zero + 80002b20: 00000613 li a2,0 + 80002b24: 26d51e63 bne a0,a3,80002da0 <fail> + 80002b28: 26c59c63 bne a1,a2,80002da0 <fail> + +0000000080002b2c <test_4>: + 80002b2c: 00400193 li gp,4 + 80002b30: 00000517 auipc a0,0x0 + 80002b34: 51050513 addi a0,a0,1296 # 80003040 <test_4_data> + 80002b38: 00053007 fld ft0,0(a0) + 80002b3c: 00853087 fld ft1,8(a0) + 80002b40: 01053107 fld ft2,16(a0) + 80002b44: 01853683 ld a3,24(a0) + 80002b48: a2101553 flt.d a0,ft0,ft1 + 80002b4c: 001015f3 fsflags a1,zero + 80002b50: 00000613 li a2,0 + 80002b54: 24d51663 bne a0,a3,80002da0 <fail> + 80002b58: 24c59463 bne a1,a2,80002da0 <fail> + +0000000080002b5c <test_5>: + 80002b5c: 00500193 li gp,5 + 80002b60: 00000517 auipc a0,0x0 + 80002b64: 50050513 addi a0,a0,1280 # 80003060 <test_5_data> + 80002b68: 00053007 fld ft0,0(a0) + 80002b6c: 00853087 fld ft1,8(a0) + 80002b70: 01053107 fld ft2,16(a0) + 80002b74: 01853683 ld a3,24(a0) + 80002b78: a2102553 feq.d a0,ft0,ft1 + 80002b7c: 001015f3 fsflags a1,zero + 80002b80: 00000613 li a2,0 + 80002b84: 20d51e63 bne a0,a3,80002da0 <fail> + 80002b88: 20c59c63 bne a1,a2,80002da0 <fail> + +0000000080002b8c <test_6>: + 80002b8c: 00600193 li gp,6 + 80002b90: 00000517 auipc a0,0x0 + 80002b94: 4f050513 addi a0,a0,1264 # 80003080 <test_6_data> + 80002b98: 00053007 fld ft0,0(a0) + 80002b9c: 00853087 fld ft1,8(a0) + 80002ba0: 01053107 fld ft2,16(a0) + 80002ba4: 01853683 ld a3,24(a0) + 80002ba8: a2100553 fle.d a0,ft0,ft1 + 80002bac: 001015f3 fsflags a1,zero + 80002bb0: 00000613 li a2,0 + 80002bb4: 1ed51663 bne a0,a3,80002da0 <fail> + 80002bb8: 1ec59463 bne a1,a2,80002da0 <fail> + +0000000080002bbc <test_7>: + 80002bbc: 00700193 li gp,7 + 80002bc0: 00000517 auipc a0,0x0 + 80002bc4: 4e050513 addi a0,a0,1248 # 800030a0 <test_7_data> + 80002bc8: 00053007 fld ft0,0(a0) + 80002bcc: 00853087 fld ft1,8(a0) + 80002bd0: 01053107 fld ft2,16(a0) + 80002bd4: 01853683 ld a3,24(a0) + 80002bd8: a2101553 flt.d a0,ft0,ft1 + 80002bdc: 001015f3 fsflags a1,zero + 80002be0: 00000613 li a2,0 + 80002be4: 1ad51e63 bne a0,a3,80002da0 <fail> + 80002be8: 1ac59c63 bne a1,a2,80002da0 <fail> + +0000000080002bec <test_8>: + 80002bec: 00800193 li gp,8 + 80002bf0: 00000517 auipc a0,0x0 + 80002bf4: 4d050513 addi a0,a0,1232 # 800030c0 <test_8_data> + 80002bf8: 00053007 fld ft0,0(a0) + 80002bfc: 00853087 fld ft1,8(a0) + 80002c00: 01053107 fld ft2,16(a0) + 80002c04: 01853683 ld a3,24(a0) + 80002c08: a2102553 feq.d a0,ft0,ft1 + 80002c0c: 001015f3 fsflags a1,zero + 80002c10: 00000613 li a2,0 + 80002c14: 18d51663 bne a0,a3,80002da0 <fail> + 80002c18: 18c59463 bne a1,a2,80002da0 <fail> + +0000000080002c1c <test_9>: + 80002c1c: 00900193 li gp,9 + 80002c20: 00000517 auipc a0,0x0 + 80002c24: 4c050513 addi a0,a0,1216 # 800030e0 <test_9_data> + 80002c28: 00053007 fld ft0,0(a0) + 80002c2c: 00853087 fld ft1,8(a0) + 80002c30: 01053107 fld ft2,16(a0) + 80002c34: 01853683 ld a3,24(a0) + 80002c38: a2102553 feq.d a0,ft0,ft1 + 80002c3c: 001015f3 fsflags a1,zero + 80002c40: 00000613 li a2,0 + 80002c44: 14d51e63 bne a0,a3,80002da0 <fail> + 80002c48: 14c59c63 bne a1,a2,80002da0 <fail> + +0000000080002c4c <test_10>: + 80002c4c: 00a00193 li gp,10 + 80002c50: 00000517 auipc a0,0x0 + 80002c54: 4b050513 addi a0,a0,1200 # 80003100 <test_10_data> + 80002c58: 00053007 fld ft0,0(a0) + 80002c5c: 00853087 fld ft1,8(a0) + 80002c60: 01053107 fld ft2,16(a0) + 80002c64: 01853683 ld a3,24(a0) + 80002c68: a2102553 feq.d a0,ft0,ft1 + 80002c6c: 001015f3 fsflags a1,zero + 80002c70: 01000613 li a2,16 + 80002c74: 12d51663 bne a0,a3,80002da0 <fail> + 80002c78: 12c59463 bne a1,a2,80002da0 <fail> + +0000000080002c7c <test_11>: + 80002c7c: 00b00193 li gp,11 + 80002c80: 00000517 auipc a0,0x0 + 80002c84: 4a050513 addi a0,a0,1184 # 80003120 <test_11_data> + 80002c88: 00053007 fld ft0,0(a0) + 80002c8c: 00853087 fld ft1,8(a0) + 80002c90: 01053107 fld ft2,16(a0) + 80002c94: 01853683 ld a3,24(a0) + 80002c98: a2101553 flt.d a0,ft0,ft1 + 80002c9c: 001015f3 fsflags a1,zero + 80002ca0: 01000613 li a2,16 + 80002ca4: 0ed51e63 bne a0,a3,80002da0 <fail> + 80002ca8: 0ec59c63 bne a1,a2,80002da0 <fail> + +0000000080002cac <test_12>: + 80002cac: 00c00193 li gp,12 + 80002cb0: 00000517 auipc a0,0x0 + 80002cb4: 49050513 addi a0,a0,1168 # 80003140 <test_12_data> + 80002cb8: 00053007 fld ft0,0(a0) + 80002cbc: 00853087 fld ft1,8(a0) + 80002cc0: 01053107 fld ft2,16(a0) + 80002cc4: 01853683 ld a3,24(a0) + 80002cc8: a2101553 flt.d a0,ft0,ft1 + 80002ccc: 001015f3 fsflags a1,zero + 80002cd0: 01000613 li a2,16 + 80002cd4: 0cd51663 bne a0,a3,80002da0 <fail> + 80002cd8: 0cc59463 bne a1,a2,80002da0 <fail> + +0000000080002cdc <test_13>: + 80002cdc: 00d00193 li gp,13 + 80002ce0: 00000517 auipc a0,0x0 + 80002ce4: 48050513 addi a0,a0,1152 # 80003160 <test_13_data> + 80002ce8: 00053007 fld ft0,0(a0) + 80002cec: 00853087 fld ft1,8(a0) + 80002cf0: 01053107 fld ft2,16(a0) + 80002cf4: 01853683 ld a3,24(a0) + 80002cf8: a2101553 flt.d a0,ft0,ft1 + 80002cfc: 001015f3 fsflags a1,zero + 80002d00: 01000613 li a2,16 + 80002d04: 08d51e63 bne a0,a3,80002da0 <fail> + 80002d08: 08c59c63 bne a1,a2,80002da0 <fail> + +0000000080002d0c <test_14>: + 80002d0c: 00e00193 li gp,14 + 80002d10: 00000517 auipc a0,0x0 + 80002d14: 47050513 addi a0,a0,1136 # 80003180 <test_14_data> + 80002d18: 00053007 fld ft0,0(a0) + 80002d1c: 00853087 fld ft1,8(a0) + 80002d20: 01053107 fld ft2,16(a0) + 80002d24: 01853683 ld a3,24(a0) + 80002d28: a2100553 fle.d a0,ft0,ft1 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 01000613 li a2,16 + 80002d34: 06d51663 bne a0,a3,80002da0 <fail> + 80002d38: 06c59463 bne a1,a2,80002da0 <fail> + +0000000080002d3c <test_15>: + 80002d3c: 00f00193 li gp,15 + 80002d40: 00000517 auipc a0,0x0 + 80002d44: 46050513 addi a0,a0,1120 # 800031a0 <test_15_data> + 80002d48: 00053007 fld ft0,0(a0) + 80002d4c: 00853087 fld ft1,8(a0) + 80002d50: 01053107 fld ft2,16(a0) + 80002d54: 01853683 ld a3,24(a0) + 80002d58: a2100553 fle.d a0,ft0,ft1 + 80002d5c: 001015f3 fsflags a1,zero + 80002d60: 01000613 li a2,16 + 80002d64: 02d51e63 bne a0,a3,80002da0 <fail> + 80002d68: 02c59c63 bne a1,a2,80002da0 <fail> + +0000000080002d6c <test_16>: + 80002d6c: 01000193 li gp,16 + 80002d70: 00000517 auipc a0,0x0 + 80002d74: 45050513 addi a0,a0,1104 # 800031c0 <test_16_data> + 80002d78: 00053007 fld ft0,0(a0) + 80002d7c: 00853087 fld ft1,8(a0) + 80002d80: 01053107 fld ft2,16(a0) + 80002d84: 01853683 ld a3,24(a0) + 80002d88: a2100553 fle.d a0,ft0,ft1 + 80002d8c: 001015f3 fsflags a1,zero + 80002d90: 01000613 li a2,16 + 80002d94: 00d51663 bne a0,a3,80002da0 <fail> + 80002d98: 00c59463 bne a1,a2,80002da0 <fail> + 80002d9c: 00301a63 bne zero,gp,80002db0 <pass> + +0000000080002da0 <fail>: + 80002da0: 00119513 slli a0,gp,0x1 + 80002da4: 00050063 beqz a0,80002da4 <fail+0x4> + 80002da8: 00156513 ori a0,a0,1 + 80002dac: 00000073 ecall + +0000000080002db0 <pass>: + 80002db0: 00100513 li a0,1 + 80002db4: 00000073 ecall + 80002db8: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 5c28f5c3 0x5c28f5c3 + 80003004: bff5c28f 0xbff5c28f + 80003008: 5c28f5c3 0x5c28f5c3 + 8000300c: bff5c28f 0xbff5c28f + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 0000 unimp + 80003018: 0001 nop + 8000301a: 0000 unimp + 8000301c: 0000 unimp + 8000301e: 0000 unimp + +0000000080003020 <test_3_data>: + 80003020: 5c28f5c3 0x5c28f5c3 + 80003024: bff5c28f 0xbff5c28f + 80003028: 5c28f5c3 0x5c28f5c3 + 8000302c: bff5c28f 0xbff5c28f + 80003030: 0000 unimp + 80003032: 0000 unimp + 80003034: 0000 unimp + 80003036: 0000 unimp + 80003038: 0001 nop + 8000303a: 0000 unimp + 8000303c: 0000 unimp + 8000303e: 0000 unimp + +0000000080003040 <test_4_data>: + 80003040: 5c28f5c3 0x5c28f5c3 + 80003044: bff5c28f 0xbff5c28f + 80003048: 5c28f5c3 0x5c28f5c3 + 8000304c: bff5c28f 0xbff5c28f + 80003050: 0000 unimp + 80003052: 0000 unimp + 80003054: 0000 unimp + 80003056: 0000 unimp + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 0000 unimp + 8000305e: 0000 unimp + +0000000080003060 <test_5_data>: + 80003060: 51ec lw a1,100(a1) + 80003062: 1eb8 addi a4,sp,888 + 80003064: eb85 bnez a5,80003094 <test_6_data+0x14> + 80003066: bff5 j 80003062 <test_5_data+0x2> + 80003068: 5c28f5c3 0x5c28f5c3 + 8000306c: bff5c28f 0xbff5c28f + 80003070: 0000 unimp + 80003072: 0000 unimp + 80003074: 0000 unimp + 80003076: 0000 unimp + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: 0000 unimp + +0000000080003080 <test_6_data>: + 80003080: 51ec lw a1,100(a1) + 80003082: 1eb8 addi a4,sp,888 + 80003084: eb85 bnez a5,800030b4 <test_7_data+0x14> + 80003086: bff5 j 80003082 <test_6_data+0x2> + 80003088: 5c28f5c3 0x5c28f5c3 + 8000308c: bff5c28f 0xbff5c28f + 80003090: 0000 unimp + 80003092: 0000 unimp + 80003094: 0000 unimp + 80003096: 0000 unimp + 80003098: 0001 nop + 8000309a: 0000 unimp + 8000309c: 0000 unimp + 8000309e: 0000 unimp + +00000000800030a0 <test_7_data>: + 800030a0: 51ec lw a1,100(a1) + 800030a2: 1eb8 addi a4,sp,888 + 800030a4: eb85 bnez a5,800030d4 <test_8_data+0x14> + 800030a6: bff5 j 800030a2 <test_7_data+0x2> + 800030a8: 5c28f5c3 0x5c28f5c3 + 800030ac: bff5c28f 0xbff5c28f + 800030b0: 0000 unimp + 800030b2: 0000 unimp + 800030b4: 0000 unimp + 800030b6: 0000 unimp + 800030b8: 0001 nop + 800030ba: 0000 unimp + 800030bc: 0000 unimp + 800030be: 0000 unimp + +00000000800030c0 <test_8_data>: + 800030c0: ffff 0xffff + 800030c2: ffff 0xffff + 800030c4: ffff 0xffff + 800030c6: 7fff 0x7fff + 800030c8: 0000 unimp + 800030ca: 0000 unimp + 800030cc: 0000 unimp + 800030ce: 0000 unimp + 800030d0: 0000 unimp + 800030d2: 0000 unimp + 800030d4: 0000 unimp + 800030d6: 0000 unimp + 800030d8: 0000 unimp + 800030da: 0000 unimp + 800030dc: 0000 unimp + 800030de: 0000 unimp + +00000000800030e0 <test_9_data>: + 800030e0: ffff 0xffff + 800030e2: ffff 0xffff + 800030e4: ffff 0xffff + 800030e6: 7fff 0x7fff + 800030e8: ffff 0xffff + 800030ea: ffff 0xffff + 800030ec: ffff 0xffff + 800030ee: 7fff 0x7fff + 800030f0: 0000 unimp + 800030f2: 0000 unimp + 800030f4: 0000 unimp + 800030f6: 0000 unimp + 800030f8: 0000 unimp + 800030fa: 0000 unimp + 800030fc: 0000 unimp + 800030fe: 0000 unimp + +0000000080003100 <test_10_data>: + 80003100: 0001 nop + 80003102: 0000 unimp + 80003104: 0000 unimp + 80003106: 7ff0 ld a2,248(a5) + 80003108: 0000 unimp + 8000310a: 0000 unimp + 8000310c: 0000 unimp + 8000310e: 0000 unimp + 80003110: 0000 unimp + 80003112: 0000 unimp + 80003114: 0000 unimp + 80003116: 0000 unimp + 80003118: 0000 unimp + 8000311a: 0000 unimp + 8000311c: 0000 unimp + 8000311e: 0000 unimp + +0000000080003120 <test_11_data>: + 80003120: ffff 0xffff + 80003122: ffff 0xffff + 80003124: ffff 0xffff + 80003126: 7fff 0x7fff + 80003128: 0000 unimp + 8000312a: 0000 unimp + 8000312c: 0000 unimp + 8000312e: 0000 unimp + 80003130: 0000 unimp + 80003132: 0000 unimp + 80003134: 0000 unimp + 80003136: 0000 unimp + 80003138: 0000 unimp + 8000313a: 0000 unimp + 8000313c: 0000 unimp + 8000313e: 0000 unimp + +0000000080003140 <test_12_data>: + 80003140: ffff 0xffff + 80003142: ffff 0xffff + 80003144: ffff 0xffff + 80003146: 7fff 0x7fff + 80003148: ffff 0xffff + 8000314a: ffff 0xffff + 8000314c: ffff 0xffff + 8000314e: 7fff 0x7fff + 80003150: 0000 unimp + 80003152: 0000 unimp + 80003154: 0000 unimp + 80003156: 0000 unimp + 80003158: 0000 unimp + 8000315a: 0000 unimp + 8000315c: 0000 unimp + 8000315e: 0000 unimp + +0000000080003160 <test_13_data>: + 80003160: 0001 nop + 80003162: 0000 unimp + 80003164: 0000 unimp + 80003166: 7ff0 ld a2,248(a5) + 80003168: 0000 unimp + 8000316a: 0000 unimp + 8000316c: 0000 unimp + 8000316e: 0000 unimp + 80003170: 0000 unimp + 80003172: 0000 unimp + 80003174: 0000 unimp + 80003176: 0000 unimp + 80003178: 0000 unimp + 8000317a: 0000 unimp + 8000317c: 0000 unimp + 8000317e: 0000 unimp + +0000000080003180 <test_14_data>: + 80003180: ffff 0xffff + 80003182: ffff 0xffff + 80003184: ffff 0xffff + 80003186: 7fff 0x7fff + 80003188: 0000 unimp + 8000318a: 0000 unimp + 8000318c: 0000 unimp + 8000318e: 0000 unimp + 80003190: 0000 unimp + 80003192: 0000 unimp + 80003194: 0000 unimp + 80003196: 0000 unimp + 80003198: 0000 unimp + 8000319a: 0000 unimp + 8000319c: 0000 unimp + 8000319e: 0000 unimp + +00000000800031a0 <test_15_data>: + 800031a0: ffff 0xffff + 800031a2: ffff 0xffff + 800031a4: ffff 0xffff + 800031a6: 7fff 0x7fff + 800031a8: ffff 0xffff + 800031aa: ffff 0xffff + 800031ac: ffff 0xffff + 800031ae: 7fff 0x7fff + 800031b0: 0000 unimp + 800031b2: 0000 unimp + 800031b4: 0000 unimp + 800031b6: 0000 unimp + 800031b8: 0000 unimp + 800031ba: 0000 unimp + 800031bc: 0000 unimp + 800031be: 0000 unimp + +00000000800031c0 <test_16_data>: + 800031c0: 0001 nop + 800031c2: 0000 unimp + 800031c4: 0000 unimp + 800031c6: 7ff0 ld a2,248(a5) + 800031c8: 0000 unimp + 800031ca: 0000 unimp + 800031cc: 0000 unimp + 800031ce: 0000 unimp + 800031d0: 0000 unimp + 800031d2: 0000 unimp + 800031d4: 0000 unimp + 800031d6: 0000 unimp + 800031d8: 0000 unimp + 800031da: 0000 unimp + 800031dc: 0000 unimp + 800031de: 0000 unimp diff --git a/test/riscv-tests/rv64ud-v-fcmp.elf b/test/riscv-tests/rv64ud-v-fcmp.elf Binary files differnew file mode 100644 index 0000000..5ead5d7 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcmp.elf diff --git a/test/riscv-tests/rv64ud-v-fcvt.dump b/test/riscv-tests/rv64ud-v-fcvt.dump new file mode 100644 index 0000000..5191ce0 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcvt.dump @@ -0,0 +1,1060 @@ + +rv64ud-v-fcvt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 85868693 addi a3,a3,-1960 # 80002cb0 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 88c60613 addi a2,a2,-1908 # 80002d40 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 85460613 addi a2,a2,-1964 # 80002d58 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 7a468693 addi a3,a3,1956 # 80002cf8 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 7c068693 addi a3,a3,1984 # 80002e30 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 74060613 addi a2,a2,1856 # 80002e08 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 67468693 addi a3,a3,1652 # 80002e60 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 59468693 addi a3,a3,1428 # 80002dd0 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 52468693 addi a3,a3,1316 # 80002d98 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 02100793 li a5,33 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0d3917b7 lui a5,0xd391 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b8678793 addi a5,a5,-1146 # d390b86 <_start-0x72c6f47a> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00053683 ld a3,0(a0) + 80002adc: 00200513 li a0,2 + 80002ae0: d2050053 fcvt.d.w ft0,a0 + 80002ae4: 00101073 fsflags zero + 80002ae8: e2000553 fmv.x.d a0,ft0 + 80002aec: 1ad51263 bne a0,a3,80002c90 <fail> + +0000000080002af0 <test_3>: + 80002af0: 00300193 li gp,3 + 80002af4: 00000517 auipc a0,0x0 + 80002af8: 51450513 addi a0,a0,1300 # 80003008 <test_3_data> + 80002afc: 00053683 ld a3,0(a0) + 80002b00: ffe00513 li a0,-2 + 80002b04: d2050053 fcvt.d.w ft0,a0 + 80002b08: 00101073 fsflags zero + 80002b0c: e2000553 fmv.x.d a0,ft0 + 80002b10: 18d51063 bne a0,a3,80002c90 <fail> + +0000000080002b14 <test_4>: + 80002b14: 00400193 li gp,4 + 80002b18: 00000517 auipc a0,0x0 + 80002b1c: 4f850513 addi a0,a0,1272 # 80003010 <test_4_data> + 80002b20: 00053683 ld a3,0(a0) + 80002b24: 00200513 li a0,2 + 80002b28: d2150053 fcvt.d.wu ft0,a0 + 80002b2c: 00101073 fsflags zero + 80002b30: e2000553 fmv.x.d a0,ft0 + 80002b34: 14d51e63 bne a0,a3,80002c90 <fail> + +0000000080002b38 <test_5>: + 80002b38: 00500193 li gp,5 + 80002b3c: 00000517 auipc a0,0x0 + 80002b40: 4dc50513 addi a0,a0,1244 # 80003018 <test_5_data> + 80002b44: 00053683 ld a3,0(a0) + 80002b48: ffe00513 li a0,-2 + 80002b4c: d2150053 fcvt.d.wu ft0,a0 + 80002b50: 00101073 fsflags zero + 80002b54: e2000553 fmv.x.d a0,ft0 + 80002b58: 12d51c63 bne a0,a3,80002c90 <fail> + +0000000080002b5c <test_6>: + 80002b5c: 00600193 li gp,6 + 80002b60: 00000517 auipc a0,0x0 + 80002b64: 4c050513 addi a0,a0,1216 # 80003020 <test_6_data> + 80002b68: 00053683 ld a3,0(a0) + 80002b6c: 00200513 li a0,2 + 80002b70: d2257053 fcvt.d.l ft0,a0 + 80002b74: 00101073 fsflags zero + 80002b78: e2000553 fmv.x.d a0,ft0 + 80002b7c: 10d51a63 bne a0,a3,80002c90 <fail> + +0000000080002b80 <test_7>: + 80002b80: 00700193 li gp,7 + 80002b84: 00000517 auipc a0,0x0 + 80002b88: 4a450513 addi a0,a0,1188 # 80003028 <test_7_data> + 80002b8c: 00053683 ld a3,0(a0) + 80002b90: ffe00513 li a0,-2 + 80002b94: d2257053 fcvt.d.l ft0,a0 + 80002b98: 00101073 fsflags zero + 80002b9c: e2000553 fmv.x.d a0,ft0 + 80002ba0: 0ed51863 bne a0,a3,80002c90 <fail> + +0000000080002ba4 <test_8>: + 80002ba4: 00800193 li gp,8 + 80002ba8: 00000517 auipc a0,0x0 + 80002bac: 48850513 addi a0,a0,1160 # 80003030 <test_8_data> + 80002bb0: 00053683 ld a3,0(a0) + 80002bb4: 00200513 li a0,2 + 80002bb8: d2357053 fcvt.d.lu ft0,a0 + 80002bbc: 00101073 fsflags zero + 80002bc0: e2000553 fmv.x.d a0,ft0 + 80002bc4: 0cd51663 bne a0,a3,80002c90 <fail> + +0000000080002bc8 <test_9>: + 80002bc8: 00900193 li gp,9 + 80002bcc: 00000517 auipc a0,0x0 + 80002bd0: 46c50513 addi a0,a0,1132 # 80003038 <test_9_data> + 80002bd4: 00053683 ld a3,0(a0) + 80002bd8: ffe00513 li a0,-2 + 80002bdc: d2357053 fcvt.d.lu ft0,a0 + 80002be0: 00101073 fsflags zero + 80002be4: e2000553 fmv.x.d a0,ft0 + 80002be8: 0ad51463 bne a0,a3,80002c90 <fail> + +0000000080002bec <test_10>: + 80002bec: 00a00193 li gp,10 + 80002bf0: 00000517 auipc a0,0x0 + 80002bf4: 45050513 addi a0,a0,1104 # 80003040 <test_10_data> + 80002bf8: 00053007 fld ft0,0(a0) + 80002bfc: 00853087 fld ft1,8(a0) + 80002c00: 01053107 fld ft2,16(a0) + 80002c04: 01853683 ld a3,24(a0) + 80002c08: 401071d3 fcvt.s.d ft3,ft0 + 80002c0c: 420181d3 fcvt.d.s ft3,ft3 + 80002c10: e2018553 fmv.x.d a0,ft3 + 80002c14: 001015f3 fsflags a1,zero + 80002c18: 00000613 li a2,0 + 80002c1c: 06d51a63 bne a0,a3,80002c90 <fail> + 80002c20: 06c59863 bne a1,a2,80002c90 <fail> + +0000000080002c24 <test_11>: + 80002c24: 00b00193 li gp,11 + 80002c28: 00000517 auipc a0,0x0 + 80002c2c: 43850513 addi a0,a0,1080 # 80003060 <test_11_data> + 80002c30: 00052007 flw ft0,0(a0) + 80002c34: 00452087 flw ft1,4(a0) + 80002c38: 00852107 flw ft2,8(a0) + 80002c3c: 00c52683 lw a3,12(a0) + 80002c40: 420001d3 fcvt.d.s ft3,ft0 + 80002c44: 4011f1d3 fcvt.s.d ft3,ft3 + 80002c48: e0018553 fmv.x.w a0,ft3 + 80002c4c: 001015f3 fsflags a1,zero + 80002c50: 00000613 li a2,0 + 80002c54: 02d51e63 bne a0,a3,80002c90 <fail> + 80002c58: 02c59c63 bne a1,a2,80002c90 <fail> + +0000000080002c5c <test_12>: + 80002c5c: 00000597 auipc a1,0x0 + 80002c60: 41458593 addi a1,a1,1044 # 80003070 <begin_signature> + 80002c64: 0005b603 ld a2,0(a1) + 80002c68: f2060153 fmv.d.x ft2,a2 + 80002c6c: 40117153 fcvt.s.d ft2,ft2 + 80002c70: 42010153 fcvt.d.s ft2,ft2 + 80002c74: e2010553 fmv.x.d a0,ft2 + 80002c78: 00001eb7 lui t4,0x1 + 80002c7c: fffe8e9b addiw t4,t4,-1 + 80002c80: 033e9e93 slli t4,t4,0x33 + 80002c84: 00c00193 li gp,12 + 80002c88: 01d51463 bne a0,t4,80002c90 <fail> + 80002c8c: 00301a63 bne zero,gp,80002ca0 <pass> + +0000000080002c90 <fail>: + 80002c90: 00119513 slli a0,gp,0x1 + 80002c94: 00050063 beqz a0,80002c94 <fail+0x4> + 80002c98: 00156513 ori a0,a0,1 + 80002c9c: 00000073 ecall + +0000000080002ca0 <pass>: + 80002ca0: 00100513 li a0,1 + 80002ca4: 00000073 ecall + 80002ca8: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 0000 unimp + 80003004: 0000 unimp + 80003006: 4000 lw s0,0(s0) + +0000000080003008 <test_3_data>: + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0000 unimp + 8000300e: c000 sw s0,0(s0) + +0000000080003010 <test_4_data>: + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 4000 lw s0,0(s0) + +0000000080003018 <test_5_data>: + 80003018: 0000 unimp + 8000301a: ffc0 sd s0,184(a5) + 8000301c: ffff 0xffff + 8000301e: jal gp,8000701e <pt+0x301e> + +0000000080003020 <test_6_data>: + 80003020: 0000 unimp + 80003022: 0000 unimp + 80003024: 0000 unimp + 80003026: 4000 lw s0,0(s0) + +0000000080003028 <test_7_data>: + 80003028: 0000 unimp + 8000302a: 0000 unimp + 8000302c: 0000 unimp + 8000302e: c000 sw s0,0(s0) + +0000000080003030 <test_8_data>: + 80003030: 0000 unimp + 80003032: 0000 unimp + 80003034: 0000 unimp + 80003036: 4000 lw s0,0(s0) + +0000000080003038 <test_9_data>: + 80003038: 0000 unimp + 8000303a: 0000 unimp + 8000303c: 0000 unimp + 8000303e: 43f0 lw a2,68(a5) + +0000000080003040 <test_10_data>: + 80003040: 0000 unimp + 80003042: 0000 unimp + 80003044: 0000 unimp + 80003046: bff8 fsd fa4,248(a5) + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 0000 unimp + 8000304e: 0000 unimp + 80003050: 0000 unimp + 80003052: 0000 unimp + 80003054: 0000 unimp + 80003056: 0000 unimp + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 0000 unimp + 8000305e: bff8 fsd fa4,248(a5) + +0000000080003060 <test_11_data>: + 80003060: 0000 unimp + 80003062: bfc0 fsd fs0,184(a5) + 80003064: 0000 unimp + 80003066: 0000 unimp + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: bfc0 fsd fs0,184(a5) + +0000000080003070 <begin_signature>: + 80003070: 8004 0x8004 + 80003072: ffff 0xffff + 80003074: ffff 0xffff + 80003076: 7ffc ld a5,248(a5) diff --git a/test/riscv-tests/rv64ud-v-fcvt.elf b/test/riscv-tests/rv64ud-v-fcvt.elf Binary files differnew file mode 100644 index 0000000..13cd934 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcvt.elf diff --git a/test/riscv-tests/rv64ud-v-fcvt_w.dump b/test/riscv-tests/rv64ud-v-fcvt_w.dump new file mode 100644 index 0000000..a7e35f2 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcvt_w.dump @@ -0,0 +1,2105 @@ + +rv64ud-v-fcvt_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 0000a117 auipc sp,0xa + 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00003617 auipc a2,0x3 + 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00007797 auipc a5,0x7 + 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00007717 auipc a4,0x7 + 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00007897 auipc a7,0x7 + 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00007797 auipc a5,0x7 + 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00007797 auipc a5,0x7 + 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: ee068693 addi a3,a3,-288 # 80003338 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: f1460613 addi a2,a2,-236 # 800033c8 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: edc60613 addi a2,a2,-292 # 800033e0 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: e2c68693 addi a3,a3,-468 # 80003380 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: e4868693 addi a3,a3,-440 # 800034b8 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: dc860613 addi a2,a2,-568 # 80003490 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00007d17 auipc s10,0x7 + 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping> + 80002724: 00003b97 auipc s7,0x3 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00007a17 auipc s4,0x7 + 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00007717 auipc a4,0x7 + 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00007717 auipc a4,0x7 + 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail> + 800027d8: 00007717 auipc a4,0x7 + 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00001697 auipc a3,0x1 + 800027f0: cfc68693 addi a3,a3,-772 # 800034e8 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00001697 auipc a3,0x1 + 80002840: c1c68693 addi a3,a3,-996 # 80003458 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00001697 auipc a3,0x1 + 80002878: bac68693 addi a3,a3,-1108 # 80003420 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00003697 auipc a3,0x3 + 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000> + 800028e4: 00004717 auipc a4,0x4 + 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00005797 auipc a5,0x5 + 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00002897 auipc a7,0x2 + 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00003697 auipc a3,0x3 + 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00002617 auipc a2,0x2 + 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00005697 auipc a3,0x5 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8> + 8000294c: 00003717 auipc a4,0x3 + 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00006697 auipc a3,0x6 + 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00007617 auipc a2,0x7 + 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head> + 800029d4: 00007797 auipc a5,0x7 + 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail> + 800029dc: 00007317 auipc t1,0x7 + 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping> + 800029e4: 00a00793 li a5,10 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00007797 auipc a5,0x7 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0c1627b7 lui a5,0xc162 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 6ba78793 addi a5,a5,1722 # c1626ba <_start-0x73e9d946> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00001517 auipc a0,0x1 + 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: c2001553 fcvt.w.d a0,ft0,rtz + 80002aec: 001015f3 fsflags a1,zero + 80002af0: 00100613 li a2,1 + 80002af4: 02d512e3 bne a0,a3,80003318 <fail> + 80002af8: 02c590e3 bne a1,a2,80003318 <fail> + +0000000080002afc <test_3>: + 80002afc: 00300193 li gp,3 + 80002b00: 00001517 auipc a0,0x1 + 80002b04: 52050513 addi a0,a0,1312 # 80004020 <test_3_data> + 80002b08: 00053007 fld ft0,0(a0) + 80002b0c: 00853087 fld ft1,8(a0) + 80002b10: 01053107 fld ft2,16(a0) + 80002b14: 01853683 ld a3,24(a0) + 80002b18: c2001553 fcvt.w.d a0,ft0,rtz + 80002b1c: 001015f3 fsflags a1,zero + 80002b20: 00000613 li a2,0 + 80002b24: 7ed51a63 bne a0,a3,80003318 <fail> + 80002b28: 7ec59863 bne a1,a2,80003318 <fail> + +0000000080002b2c <test_4>: + 80002b2c: 00400193 li gp,4 + 80002b30: 00001517 auipc a0,0x1 + 80002b34: 51050513 addi a0,a0,1296 # 80004040 <test_4_data> + 80002b38: 00053007 fld ft0,0(a0) + 80002b3c: 00853087 fld ft1,8(a0) + 80002b40: 01053107 fld ft2,16(a0) + 80002b44: 01853683 ld a3,24(a0) + 80002b48: c2001553 fcvt.w.d a0,ft0,rtz + 80002b4c: 001015f3 fsflags a1,zero + 80002b50: 00100613 li a2,1 + 80002b54: 7cd51263 bne a0,a3,80003318 <fail> + 80002b58: 7cc59063 bne a1,a2,80003318 <fail> + +0000000080002b5c <test_5>: + 80002b5c: 00500193 li gp,5 + 80002b60: 00001517 auipc a0,0x1 + 80002b64: 50050513 addi a0,a0,1280 # 80004060 <test_5_data> + 80002b68: 00053007 fld ft0,0(a0) + 80002b6c: 00853087 fld ft1,8(a0) + 80002b70: 01053107 fld ft2,16(a0) + 80002b74: 01853683 ld a3,24(a0) + 80002b78: c2001553 fcvt.w.d a0,ft0,rtz + 80002b7c: 001015f3 fsflags a1,zero + 80002b80: 00100613 li a2,1 + 80002b84: 78d51a63 bne a0,a3,80003318 <fail> + 80002b88: 78c59863 bne a1,a2,80003318 <fail> + +0000000080002b8c <test_6>: + 80002b8c: 00600193 li gp,6 + 80002b90: 00001517 auipc a0,0x1 + 80002b94: 4f050513 addi a0,a0,1264 # 80004080 <test_6_data> + 80002b98: 00053007 fld ft0,0(a0) + 80002b9c: 00853087 fld ft1,8(a0) + 80002ba0: 01053107 fld ft2,16(a0) + 80002ba4: 01853683 ld a3,24(a0) + 80002ba8: c2001553 fcvt.w.d a0,ft0,rtz + 80002bac: 001015f3 fsflags a1,zero + 80002bb0: 00000613 li a2,0 + 80002bb4: 76d51263 bne a0,a3,80003318 <fail> + 80002bb8: 76c59063 bne a1,a2,80003318 <fail> + +0000000080002bbc <test_7>: + 80002bbc: 00700193 li gp,7 + 80002bc0: 00001517 auipc a0,0x1 + 80002bc4: 4e050513 addi a0,a0,1248 # 800040a0 <test_7_data> + 80002bc8: 00053007 fld ft0,0(a0) + 80002bcc: 00853087 fld ft1,8(a0) + 80002bd0: 01053107 fld ft2,16(a0) + 80002bd4: 01853683 ld a3,24(a0) + 80002bd8: c2001553 fcvt.w.d a0,ft0,rtz + 80002bdc: 001015f3 fsflags a1,zero + 80002be0: 00100613 li a2,1 + 80002be4: 72d51a63 bne a0,a3,80003318 <fail> + 80002be8: 72c59863 bne a1,a2,80003318 <fail> + +0000000080002bec <test_8>: + 80002bec: 00800193 li gp,8 + 80002bf0: 00001517 auipc a0,0x1 + 80002bf4: 4d050513 addi a0,a0,1232 # 800040c0 <test_8_data> + 80002bf8: 00053007 fld ft0,0(a0) + 80002bfc: 00853087 fld ft1,8(a0) + 80002c00: 01053107 fld ft2,16(a0) + 80002c04: 01853683 ld a3,24(a0) + 80002c08: c2001553 fcvt.w.d a0,ft0,rtz + 80002c0c: 001015f3 fsflags a1,zero + 80002c10: 01000613 li a2,16 + 80002c14: 70d51263 bne a0,a3,80003318 <fail> + 80002c18: 70c59063 bne a1,a2,80003318 <fail> + +0000000080002c1c <test_9>: + 80002c1c: 00900193 li gp,9 + 80002c20: 00001517 auipc a0,0x1 + 80002c24: 4c050513 addi a0,a0,1216 # 800040e0 <test_9_data> + 80002c28: 00053007 fld ft0,0(a0) + 80002c2c: 00853087 fld ft1,8(a0) + 80002c30: 01053107 fld ft2,16(a0) + 80002c34: 01853683 ld a3,24(a0) + 80002c38: c2001553 fcvt.w.d a0,ft0,rtz + 80002c3c: 001015f3 fsflags a1,zero + 80002c40: 01000613 li a2,16 + 80002c44: 6cd51a63 bne a0,a3,80003318 <fail> + 80002c48: 6cc59863 bne a1,a2,80003318 <fail> + +0000000080002c4c <test_12>: + 80002c4c: 00c00193 li gp,12 + 80002c50: 00001517 auipc a0,0x1 + 80002c54: 4b050513 addi a0,a0,1200 # 80004100 <test_12_data> + 80002c58: 00053007 fld ft0,0(a0) + 80002c5c: 00853087 fld ft1,8(a0) + 80002c60: 01053107 fld ft2,16(a0) + 80002c64: 01853683 ld a3,24(a0) + 80002c68: c2101553 fcvt.wu.d a0,ft0,rtz + 80002c6c: 001015f3 fsflags a1,zero + 80002c70: 01000613 li a2,16 + 80002c74: 6ad51263 bne a0,a3,80003318 <fail> + 80002c78: 6ac59063 bne a1,a2,80003318 <fail> + +0000000080002c7c <test_13>: + 80002c7c: 00d00193 li gp,13 + 80002c80: 00001517 auipc a0,0x1 + 80002c84: 4a050513 addi a0,a0,1184 # 80004120 <test_13_data> + 80002c88: 00053007 fld ft0,0(a0) + 80002c8c: 00853087 fld ft1,8(a0) + 80002c90: 01053107 fld ft2,16(a0) + 80002c94: 01853683 ld a3,24(a0) + 80002c98: c2101553 fcvt.wu.d a0,ft0,rtz + 80002c9c: 001015f3 fsflags a1,zero + 80002ca0: 01000613 li a2,16 + 80002ca4: 66d51a63 bne a0,a3,80003318 <fail> + 80002ca8: 66c59863 bne a1,a2,80003318 <fail> + +0000000080002cac <test_14>: + 80002cac: 00e00193 li gp,14 + 80002cb0: 00001517 auipc a0,0x1 + 80002cb4: 49050513 addi a0,a0,1168 # 80004140 <test_14_data> + 80002cb8: 00053007 fld ft0,0(a0) + 80002cbc: 00853087 fld ft1,8(a0) + 80002cc0: 01053107 fld ft2,16(a0) + 80002cc4: 01853683 ld a3,24(a0) + 80002cc8: c2101553 fcvt.wu.d a0,ft0,rtz + 80002ccc: 001015f3 fsflags a1,zero + 80002cd0: 00100613 li a2,1 + 80002cd4: 64d51263 bne a0,a3,80003318 <fail> + 80002cd8: 64c59063 bne a1,a2,80003318 <fail> + +0000000080002cdc <test_15>: + 80002cdc: 00f00193 li gp,15 + 80002ce0: 00001517 auipc a0,0x1 + 80002ce4: 48050513 addi a0,a0,1152 # 80004160 <test_15_data> + 80002ce8: 00053007 fld ft0,0(a0) + 80002cec: 00853087 fld ft1,8(a0) + 80002cf0: 01053107 fld ft2,16(a0) + 80002cf4: 01853683 ld a3,24(a0) + 80002cf8: c2101553 fcvt.wu.d a0,ft0,rtz + 80002cfc: 001015f3 fsflags a1,zero + 80002d00: 00100613 li a2,1 + 80002d04: 60d51a63 bne a0,a3,80003318 <fail> + 80002d08: 60c59863 bne a1,a2,80003318 <fail> + +0000000080002d0c <test_16>: + 80002d0c: 01000193 li gp,16 + 80002d10: 00001517 auipc a0,0x1 + 80002d14: 47050513 addi a0,a0,1136 # 80004180 <test_16_data> + 80002d18: 00053007 fld ft0,0(a0) + 80002d1c: 00853087 fld ft1,8(a0) + 80002d20: 01053107 fld ft2,16(a0) + 80002d24: 01853683 ld a3,24(a0) + 80002d28: c2101553 fcvt.wu.d a0,ft0,rtz + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 5ed51263 bne a0,a3,80003318 <fail> + 80002d38: 5ec59063 bne a1,a2,80003318 <fail> + +0000000080002d3c <test_17>: + 80002d3c: 01100193 li gp,17 + 80002d40: 00001517 auipc a0,0x1 + 80002d44: 46050513 addi a0,a0,1120 # 800041a0 <test_17_data> + 80002d48: 00053007 fld ft0,0(a0) + 80002d4c: 00853087 fld ft1,8(a0) + 80002d50: 01053107 fld ft2,16(a0) + 80002d54: 01853683 ld a3,24(a0) + 80002d58: c2101553 fcvt.wu.d a0,ft0,rtz + 80002d5c: 001015f3 fsflags a1,zero + 80002d60: 00100613 li a2,1 + 80002d64: 5ad51a63 bne a0,a3,80003318 <fail> + 80002d68: 5ac59863 bne a1,a2,80003318 <fail> + +0000000080002d6c <test_18>: + 80002d6c: 01200193 li gp,18 + 80002d70: 00001517 auipc a0,0x1 + 80002d74: 45050513 addi a0,a0,1104 # 800041c0 <test_18_data> + 80002d78: 00053007 fld ft0,0(a0) + 80002d7c: 00853087 fld ft1,8(a0) + 80002d80: 01053107 fld ft2,16(a0) + 80002d84: 01853683 ld a3,24(a0) + 80002d88: c2101553 fcvt.wu.d a0,ft0,rtz + 80002d8c: 001015f3 fsflags a1,zero + 80002d90: 01000613 li a2,16 + 80002d94: 58d51263 bne a0,a3,80003318 <fail> + 80002d98: 58c59063 bne a1,a2,80003318 <fail> + +0000000080002d9c <test_19>: + 80002d9c: 01300193 li gp,19 + 80002da0: 00001517 auipc a0,0x1 + 80002da4: 44050513 addi a0,a0,1088 # 800041e0 <test_19_data> + 80002da8: 00053007 fld ft0,0(a0) + 80002dac: 00853087 fld ft1,8(a0) + 80002db0: 01053107 fld ft2,16(a0) + 80002db4: 01853683 ld a3,24(a0) + 80002db8: c2101553 fcvt.wu.d a0,ft0,rtz + 80002dbc: 001015f3 fsflags a1,zero + 80002dc0: 00000613 li a2,0 + 80002dc4: 54d51a63 bne a0,a3,80003318 <fail> + 80002dc8: 54c59863 bne a1,a2,80003318 <fail> + +0000000080002dcc <test_22>: + 80002dcc: 01600193 li gp,22 + 80002dd0: 00001517 auipc a0,0x1 + 80002dd4: 43050513 addi a0,a0,1072 # 80004200 <test_22_data> + 80002dd8: 00053007 fld ft0,0(a0) + 80002ddc: 00853087 fld ft1,8(a0) + 80002de0: 01053107 fld ft2,16(a0) + 80002de4: 01853683 ld a3,24(a0) + 80002de8: c2201553 fcvt.l.d a0,ft0,rtz + 80002dec: 001015f3 fsflags a1,zero + 80002df0: 00100613 li a2,1 + 80002df4: 52d51263 bne a0,a3,80003318 <fail> + 80002df8: 52c59063 bne a1,a2,80003318 <fail> + +0000000080002dfc <test_23>: + 80002dfc: 01700193 li gp,23 + 80002e00: 00001517 auipc a0,0x1 + 80002e04: 42050513 addi a0,a0,1056 # 80004220 <test_23_data> + 80002e08: 00053007 fld ft0,0(a0) + 80002e0c: 00853087 fld ft1,8(a0) + 80002e10: 01053107 fld ft2,16(a0) + 80002e14: 01853683 ld a3,24(a0) + 80002e18: c2201553 fcvt.l.d a0,ft0,rtz + 80002e1c: 001015f3 fsflags a1,zero + 80002e20: 00000613 li a2,0 + 80002e24: 4ed51a63 bne a0,a3,80003318 <fail> + 80002e28: 4ec59863 bne a1,a2,80003318 <fail> + +0000000080002e2c <test_24>: + 80002e2c: 01800193 li gp,24 + 80002e30: 00001517 auipc a0,0x1 + 80002e34: 41050513 addi a0,a0,1040 # 80004240 <test_24_data> + 80002e38: 00053007 fld ft0,0(a0) + 80002e3c: 00853087 fld ft1,8(a0) + 80002e40: 01053107 fld ft2,16(a0) + 80002e44: 01853683 ld a3,24(a0) + 80002e48: c2201553 fcvt.l.d a0,ft0,rtz + 80002e4c: 001015f3 fsflags a1,zero + 80002e50: 00100613 li a2,1 + 80002e54: 4cd51263 bne a0,a3,80003318 <fail> + 80002e58: 4cc59063 bne a1,a2,80003318 <fail> + +0000000080002e5c <test_25>: + 80002e5c: 01900193 li gp,25 + 80002e60: 00001517 auipc a0,0x1 + 80002e64: 40050513 addi a0,a0,1024 # 80004260 <test_25_data> + 80002e68: 00053007 fld ft0,0(a0) + 80002e6c: 00853087 fld ft1,8(a0) + 80002e70: 01053107 fld ft2,16(a0) + 80002e74: 01853683 ld a3,24(a0) + 80002e78: c2201553 fcvt.l.d a0,ft0,rtz + 80002e7c: 001015f3 fsflags a1,zero + 80002e80: 00100613 li a2,1 + 80002e84: 48d51a63 bne a0,a3,80003318 <fail> + 80002e88: 48c59863 bne a1,a2,80003318 <fail> + +0000000080002e8c <test_26>: + 80002e8c: 01a00193 li gp,26 + 80002e90: 00001517 auipc a0,0x1 + 80002e94: 3f050513 addi a0,a0,1008 # 80004280 <test_26_data> + 80002e98: 00053007 fld ft0,0(a0) + 80002e9c: 00853087 fld ft1,8(a0) + 80002ea0: 01053107 fld ft2,16(a0) + 80002ea4: 01853683 ld a3,24(a0) + 80002ea8: c2201553 fcvt.l.d a0,ft0,rtz + 80002eac: 001015f3 fsflags a1,zero + 80002eb0: 00000613 li a2,0 + 80002eb4: 46d51263 bne a0,a3,80003318 <fail> + 80002eb8: 46c59063 bne a1,a2,80003318 <fail> + +0000000080002ebc <test_27>: + 80002ebc: 01b00193 li gp,27 + 80002ec0: 00001517 auipc a0,0x1 + 80002ec4: 3e050513 addi a0,a0,992 # 800042a0 <test_27_data> + 80002ec8: 00053007 fld ft0,0(a0) + 80002ecc: 00853087 fld ft1,8(a0) + 80002ed0: 01053107 fld ft2,16(a0) + 80002ed4: 01853683 ld a3,24(a0) + 80002ed8: c2201553 fcvt.l.d a0,ft0,rtz + 80002edc: 001015f3 fsflags a1,zero + 80002ee0: 00100613 li a2,1 + 80002ee4: 42d51a63 bne a0,a3,80003318 <fail> + 80002ee8: 42c59863 bne a1,a2,80003318 <fail> + +0000000080002eec <test_28>: + 80002eec: 01c00193 li gp,28 + 80002ef0: 00001517 auipc a0,0x1 + 80002ef4: 3d050513 addi a0,a0,976 # 800042c0 <test_28_data> + 80002ef8: 00053007 fld ft0,0(a0) + 80002efc: 00853087 fld ft1,8(a0) + 80002f00: 01053107 fld ft2,16(a0) + 80002f04: 01853683 ld a3,24(a0) + 80002f08: c2201553 fcvt.l.d a0,ft0,rtz + 80002f0c: 001015f3 fsflags a1,zero + 80002f10: 00000613 li a2,0 + 80002f14: 40d51263 bne a0,a3,80003318 <fail> + 80002f18: 40c59063 bne a1,a2,80003318 <fail> + +0000000080002f1c <test_29>: + 80002f1c: 01d00193 li gp,29 + 80002f20: 00001517 auipc a0,0x1 + 80002f24: 3c050513 addi a0,a0,960 # 800042e0 <test_29_data> + 80002f28: 00053007 fld ft0,0(a0) + 80002f2c: 00853087 fld ft1,8(a0) + 80002f30: 01053107 fld ft2,16(a0) + 80002f34: 01853683 ld a3,24(a0) + 80002f38: c2201553 fcvt.l.d a0,ft0,rtz + 80002f3c: 001015f3 fsflags a1,zero + 80002f40: 00000613 li a2,0 + 80002f44: 3cd51a63 bne a0,a3,80003318 <fail> + 80002f48: 3cc59863 bne a1,a2,80003318 <fail> + +0000000080002f4c <test_20>: + 80002f4c: 01400193 li gp,20 + 80002f50: 00001517 auipc a0,0x1 + 80002f54: 3b050513 addi a0,a0,944 # 80004300 <test_20_data> + 80002f58: 00053007 fld ft0,0(a0) + 80002f5c: 00853087 fld ft1,8(a0) + 80002f60: 01053107 fld ft2,16(a0) + 80002f64: 01853683 ld a3,24(a0) + 80002f68: c2201553 fcvt.l.d a0,ft0,rtz + 80002f6c: 001015f3 fsflags a1,zero + 80002f70: 01000613 li a2,16 + 80002f74: 3ad51263 bne a0,a3,80003318 <fail> + 80002f78: 3ac59063 bne a1,a2,80003318 <fail> + +0000000080002f7c <test_21>: + 80002f7c: 01500193 li gp,21 + 80002f80: 00001517 auipc a0,0x1 + 80002f84: 3a050513 addi a0,a0,928 # 80004320 <test_21_data> + 80002f88: 00053007 fld ft0,0(a0) + 80002f8c: 00853087 fld ft1,8(a0) + 80002f90: 01053107 fld ft2,16(a0) + 80002f94: 01853683 ld a3,24(a0) + 80002f98: c2201553 fcvt.l.d a0,ft0,rtz + 80002f9c: 001015f3 fsflags a1,zero + 80002fa0: 01000613 li a2,16 + 80002fa4: 36d51a63 bne a0,a3,80003318 <fail> + 80002fa8: 36c59863 bne a1,a2,80003318 <fail> + +0000000080002fac <test_32>: + 80002fac: 02000193 li gp,32 + 80002fb0: 00001517 auipc a0,0x1 + 80002fb4: 39050513 addi a0,a0,912 # 80004340 <test_32_data> + 80002fb8: 00053007 fld ft0,0(a0) + 80002fbc: 00853087 fld ft1,8(a0) + 80002fc0: 01053107 fld ft2,16(a0) + 80002fc4: 01853683 ld a3,24(a0) + 80002fc8: c2301553 fcvt.lu.d a0,ft0,rtz + 80002fcc: 001015f3 fsflags a1,zero + 80002fd0: 01000613 li a2,16 + 80002fd4: 34d51263 bne a0,a3,80003318 <fail> + 80002fd8: 34c59063 bne a1,a2,80003318 <fail> + +0000000080002fdc <test_33>: + 80002fdc: 02100193 li gp,33 + 80002fe0: 00001517 auipc a0,0x1 + 80002fe4: 38050513 addi a0,a0,896 # 80004360 <test_33_data> + 80002fe8: 00053007 fld ft0,0(a0) + 80002fec: 00853087 fld ft1,8(a0) + 80002ff0: 01053107 fld ft2,16(a0) + 80002ff4: 01853683 ld a3,24(a0) + 80002ff8: c2301553 fcvt.lu.d a0,ft0,rtz + 80002ffc: 001015f3 fsflags a1,zero + 80003000: 01000613 li a2,16 + 80003004: 30d51a63 bne a0,a3,80003318 <fail> + 80003008: 30c59863 bne a1,a2,80003318 <fail> + +000000008000300c <test_34>: + 8000300c: 02200193 li gp,34 + 80003010: 00001517 auipc a0,0x1 + 80003014: 37050513 addi a0,a0,880 # 80004380 <test_34_data> + 80003018: 00053007 fld ft0,0(a0) + 8000301c: 00853087 fld ft1,8(a0) + 80003020: 01053107 fld ft2,16(a0) + 80003024: 01853683 ld a3,24(a0) + 80003028: c2301553 fcvt.lu.d a0,ft0,rtz + 8000302c: 001015f3 fsflags a1,zero + 80003030: 00100613 li a2,1 + 80003034: 2ed51263 bne a0,a3,80003318 <fail> + 80003038: 2ec59063 bne a1,a2,80003318 <fail> + +000000008000303c <test_35>: + 8000303c: 02300193 li gp,35 + 80003040: 00001517 auipc a0,0x1 + 80003044: 36050513 addi a0,a0,864 # 800043a0 <test_35_data> + 80003048: 00053007 fld ft0,0(a0) + 8000304c: 00853087 fld ft1,8(a0) + 80003050: 01053107 fld ft2,16(a0) + 80003054: 01853683 ld a3,24(a0) + 80003058: c2301553 fcvt.lu.d a0,ft0,rtz + 8000305c: 001015f3 fsflags a1,zero + 80003060: 00100613 li a2,1 + 80003064: 2ad51a63 bne a0,a3,80003318 <fail> + 80003068: 2ac59863 bne a1,a2,80003318 <fail> + +000000008000306c <test_36>: + 8000306c: 02400193 li gp,36 + 80003070: 00001517 auipc a0,0x1 + 80003074: 35050513 addi a0,a0,848 # 800043c0 <test_36_data> + 80003078: 00053007 fld ft0,0(a0) + 8000307c: 00853087 fld ft1,8(a0) + 80003080: 01053107 fld ft2,16(a0) + 80003084: 01853683 ld a3,24(a0) + 80003088: c2301553 fcvt.lu.d a0,ft0,rtz + 8000308c: 001015f3 fsflags a1,zero + 80003090: 00000613 li a2,0 + 80003094: 28d51263 bne a0,a3,80003318 <fail> + 80003098: 28c59063 bne a1,a2,80003318 <fail> + +000000008000309c <test_37>: + 8000309c: 02500193 li gp,37 + 800030a0: 00001517 auipc a0,0x1 + 800030a4: 34050513 addi a0,a0,832 # 800043e0 <test_37_data> + 800030a8: 00053007 fld ft0,0(a0) + 800030ac: 00853087 fld ft1,8(a0) + 800030b0: 01053107 fld ft2,16(a0) + 800030b4: 01853683 ld a3,24(a0) + 800030b8: c2301553 fcvt.lu.d a0,ft0,rtz + 800030bc: 001015f3 fsflags a1,zero + 800030c0: 00100613 li a2,1 + 800030c4: 24d51a63 bne a0,a3,80003318 <fail> + 800030c8: 24c59863 bne a1,a2,80003318 <fail> + +00000000800030cc <test_38>: + 800030cc: 02600193 li gp,38 + 800030d0: 00001517 auipc a0,0x1 + 800030d4: 33050513 addi a0,a0,816 # 80004400 <test_38_data> + 800030d8: 00053007 fld ft0,0(a0) + 800030dc: 00853087 fld ft1,8(a0) + 800030e0: 01053107 fld ft2,16(a0) + 800030e4: 01853683 ld a3,24(a0) + 800030e8: c2301553 fcvt.lu.d a0,ft0,rtz + 800030ec: 001015f3 fsflags a1,zero + 800030f0: 01000613 li a2,16 + 800030f4: 22d51263 bne a0,a3,80003318 <fail> + 800030f8: 22c59063 bne a1,a2,80003318 <fail> + +00000000800030fc <test_39>: + 800030fc: 02700193 li gp,39 + 80003100: 00001517 auipc a0,0x1 + 80003104: 32050513 addi a0,a0,800 # 80004420 <test_39_data> + 80003108: 00053007 fld ft0,0(a0) + 8000310c: 00853087 fld ft1,8(a0) + 80003110: 01053107 fld ft2,16(a0) + 80003114: 01853683 ld a3,24(a0) + 80003118: c2301553 fcvt.lu.d a0,ft0,rtz + 8000311c: 001015f3 fsflags a1,zero + 80003120: 00000613 li a2,0 + 80003124: 1ed51a63 bne a0,a3,80003318 <fail> + 80003128: 1ec59863 bne a1,a2,80003318 <fail> + +000000008000312c <test_42>: + 8000312c: 00001097 auipc ra,0x1 + 80003130: 32408093 addi ra,ra,804 # 80004450 <tdat_d> + 80003134: 0000b087 fld ft1,0(ra) + 80003138: c200f0d3 fcvt.w.d ra,ft1 + 8000313c: 80000eb7 lui t4,0x80000 + 80003140: fffe8e9b addiw t4,t4,-1 + 80003144: 02a00193 li gp,42 + 80003148: 1dd09863 bne ra,t4,80003318 <fail> + +000000008000314c <test_43>: + 8000314c: 00001097 auipc ra,0x1 + 80003150: 30408093 addi ra,ra,772 # 80004450 <tdat_d> + 80003154: 0000b087 fld ft1,0(ra) + 80003158: c220f0d3 fcvt.l.d ra,ft1 + 8000315c: fff00e9b addiw t4,zero,-1 + 80003160: 03fe9e93 slli t4,t4,0x3f + 80003164: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f> + 80003168: 02b00193 li gp,43 + 8000316c: 1bd09663 bne ra,t4,80003318 <fail> + +0000000080003170 <test_44>: + 80003170: 00001097 auipc ra,0x1 + 80003174: 2e008093 addi ra,ra,736 # 80004450 <tdat_d> + 80003178: 0100b087 fld ft1,16(ra) + 8000317c: c200f0d3 fcvt.w.d ra,ft1 + 80003180: 80000eb7 lui t4,0x80000 + 80003184: 02c00193 li gp,44 + 80003188: 19d09863 bne ra,t4,80003318 <fail> + +000000008000318c <test_45>: + 8000318c: 00001097 auipc ra,0x1 + 80003190: 2c408093 addi ra,ra,708 # 80004450 <tdat_d> + 80003194: 0100b087 fld ft1,16(ra) + 80003198: c220f0d3 fcvt.l.d ra,ft1 + 8000319c: fff00e9b addiw t4,zero,-1 + 800031a0: 03fe9e93 slli t4,t4,0x3f + 800031a4: 02d00193 li gp,45 + 800031a8: 17d09863 bne ra,t4,80003318 <fail> + +00000000800031ac <test_52>: + 800031ac: 00001097 auipc ra,0x1 + 800031b0: 2a408093 addi ra,ra,676 # 80004450 <tdat_d> + 800031b4: 0080b087 fld ft1,8(ra) + 800031b8: c200f0d3 fcvt.w.d ra,ft1 + 800031bc: 80000eb7 lui t4,0x80000 + 800031c0: fffe8e9b addiw t4,t4,-1 + 800031c4: 03400193 li gp,52 + 800031c8: 15d09863 bne ra,t4,80003318 <fail> + +00000000800031cc <test_53>: + 800031cc: 00001097 auipc ra,0x1 + 800031d0: 28408093 addi ra,ra,644 # 80004450 <tdat_d> + 800031d4: 0080b087 fld ft1,8(ra) + 800031d8: c220f0d3 fcvt.l.d ra,ft1 + 800031dc: fff00e9b addiw t4,zero,-1 + 800031e0: 03fe9e93 slli t4,t4,0x3f + 800031e4: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f> + 800031e8: 03500193 li gp,53 + 800031ec: 13d09663 bne ra,t4,80003318 <fail> + +00000000800031f0 <test_54>: + 800031f0: 00001097 auipc ra,0x1 + 800031f4: 26008093 addi ra,ra,608 # 80004450 <tdat_d> + 800031f8: 0180b087 fld ft1,24(ra) + 800031fc: c200f0d3 fcvt.w.d ra,ft1 + 80003200: 80000eb7 lui t4,0x80000 + 80003204: fffe8e9b addiw t4,t4,-1 + 80003208: 03600193 li gp,54 + 8000320c: 11d09663 bne ra,t4,80003318 <fail> + +0000000080003210 <test_55>: + 80003210: 00001097 auipc ra,0x1 + 80003214: 24008093 addi ra,ra,576 # 80004450 <tdat_d> + 80003218: 0180b087 fld ft1,24(ra) + 8000321c: c220f0d3 fcvt.l.d ra,ft1 + 80003220: fff00e9b addiw t4,zero,-1 + 80003224: 03fe9e93 slli t4,t4,0x3f + 80003228: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f> + 8000322c: 03700193 li gp,55 + 80003230: 0fd09463 bne ra,t4,80003318 <fail> + +0000000080003234 <test_62>: + 80003234: 00001097 auipc ra,0x1 + 80003238: 21c08093 addi ra,ra,540 # 80004450 <tdat_d> + 8000323c: 0000b087 fld ft1,0(ra) + 80003240: c210f0d3 fcvt.wu.d ra,ft1 + 80003244: fff00e93 li t4,-1 + 80003248: 03e00193 li gp,62 + 8000324c: 0dd09663 bne ra,t4,80003318 <fail> + +0000000080003250 <test_63>: + 80003250: 00001097 auipc ra,0x1 + 80003254: 20008093 addi ra,ra,512 # 80004450 <tdat_d> + 80003258: 0080b087 fld ft1,8(ra) + 8000325c: c210f0d3 fcvt.wu.d ra,ft1 + 80003260: fff00e93 li t4,-1 + 80003264: 03f00193 li gp,63 + 80003268: 0bd09863 bne ra,t4,80003318 <fail> + +000000008000326c <test_64>: + 8000326c: 00001097 auipc ra,0x1 + 80003270: 1e408093 addi ra,ra,484 # 80004450 <tdat_d> + 80003274: 0100b087 fld ft1,16(ra) + 80003278: c210f0d3 fcvt.wu.d ra,ft1 + 8000327c: 00000e93 li t4,0 + 80003280: 04000193 li gp,64 + 80003284: 09d09a63 bne ra,t4,80003318 <fail> + +0000000080003288 <test_65>: + 80003288: 00001097 auipc ra,0x1 + 8000328c: 1c808093 addi ra,ra,456 # 80004450 <tdat_d> + 80003290: 0180b087 fld ft1,24(ra) + 80003294: c210f0d3 fcvt.wu.d ra,ft1 + 80003298: fff00e93 li t4,-1 + 8000329c: 04100193 li gp,65 + 800032a0: 07d09c63 bne ra,t4,80003318 <fail> + +00000000800032a4 <test_66>: + 800032a4: 00001097 auipc ra,0x1 + 800032a8: 1ac08093 addi ra,ra,428 # 80004450 <tdat_d> + 800032ac: 0000b087 fld ft1,0(ra) + 800032b0: c230f0d3 fcvt.lu.d ra,ft1 + 800032b4: fff00e93 li t4,-1 + 800032b8: 04200193 li gp,66 + 800032bc: 05d09e63 bne ra,t4,80003318 <fail> + +00000000800032c0 <test_67>: + 800032c0: 00001097 auipc ra,0x1 + 800032c4: 19008093 addi ra,ra,400 # 80004450 <tdat_d> + 800032c8: 0080b087 fld ft1,8(ra) + 800032cc: c230f0d3 fcvt.lu.d ra,ft1 + 800032d0: fff00e93 li t4,-1 + 800032d4: 04300193 li gp,67 + 800032d8: 05d09063 bne ra,t4,80003318 <fail> + +00000000800032dc <test_68>: + 800032dc: 00001097 auipc ra,0x1 + 800032e0: 17408093 addi ra,ra,372 # 80004450 <tdat_d> + 800032e4: 0100b087 fld ft1,16(ra) + 800032e8: c230f0d3 fcvt.lu.d ra,ft1 + 800032ec: 00000e93 li t4,0 + 800032f0: 04400193 li gp,68 + 800032f4: 03d09263 bne ra,t4,80003318 <fail> + +00000000800032f8 <test_69>: + 800032f8: 00001097 auipc ra,0x1 + 800032fc: 15808093 addi ra,ra,344 # 80004450 <tdat_d> + 80003300: 0180b087 fld ft1,24(ra) + 80003304: c230f0d3 fcvt.lu.d ra,ft1 + 80003308: fff00e93 li t4,-1 + 8000330c: 04500193 li gp,69 + 80003310: 01d09463 bne ra,t4,80003318 <fail> + 80003314: 00301a63 bne zero,gp,80003328 <pass> + +0000000080003318 <fail>: + 80003318: 00119513 slli a0,gp,0x1 + 8000331c: 00050063 beqz a0,8000331c <fail+0x4> + 80003320: 00156513 ori a0,a0,1 + 80003324: 00000073 ecall + +0000000080003328 <pass>: + 80003328: 00100513 li a0,1 + 8000332c: 00000073 ecall + 80003330: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <test_2_data>: + 80004000: 999a add s3,s3,t1 + 80004002: 9999 andi a1,a1,-26 + 80004004: 9999 andi a1,a1,-26 + 80004006: bff1 j 80003fe2 <pass+0xcba> + 80004008: 0000 unimp + 8000400a: 0000 unimp + 8000400c: 0000 unimp + 8000400e: 0000 unimp + 80004010: 0000 unimp + 80004012: 0000 unimp + 80004014: 0000 unimp + 80004016: 0000 unimp + 80004018: ffff 0xffff + 8000401a: ffff 0xffff + 8000401c: ffff 0xffff + 8000401e: ffff 0xffff + +0000000080004020 <test_3_data>: + 80004020: 0000 unimp + 80004022: 0000 unimp + 80004024: 0000 unimp + 80004026: bff0 fsd fa2,248(a5) + 80004028: 0000 unimp + 8000402a: 0000 unimp + 8000402c: 0000 unimp + 8000402e: 0000 unimp + 80004030: 0000 unimp + 80004032: 0000 unimp + 80004034: 0000 unimp + 80004036: 0000 unimp + 80004038: ffff 0xffff + 8000403a: ffff 0xffff + 8000403c: ffff 0xffff + 8000403e: ffff 0xffff + +0000000080004040 <test_4_data>: + 80004040: cccd beqz s1,800040fa <test_9_data+0x1a> + 80004042: cccc sw a1,28(s1) + 80004044: cccc sw a1,28(s1) + 80004046: bfec fsd fa1,248(a5) + 80004048: 0000 unimp + 8000404a: 0000 unimp + 8000404c: 0000 unimp + 8000404e: 0000 unimp + 80004050: 0000 unimp + 80004052: 0000 unimp + 80004054: 0000 unimp + 80004056: 0000 unimp + 80004058: 0000 unimp + 8000405a: 0000 unimp + 8000405c: 0000 unimp + 8000405e: 0000 unimp + +0000000080004060 <test_5_data>: + 80004060: cccd beqz s1,8000411a <test_12_data+0x1a> + 80004062: cccc sw a1,28(s1) + 80004064: cccc sw a1,28(s1) + 80004066: 3fec fld fa1,248(a5) + 80004068: 0000 unimp + 8000406a: 0000 unimp + 8000406c: 0000 unimp + 8000406e: 0000 unimp + 80004070: 0000 unimp + 80004072: 0000 unimp + 80004074: 0000 unimp + 80004076: 0000 unimp + 80004078: 0000 unimp + 8000407a: 0000 unimp + 8000407c: 0000 unimp + 8000407e: 0000 unimp + +0000000080004080 <test_6_data>: + 80004080: 0000 unimp + 80004082: 0000 unimp + 80004084: 0000 unimp + 80004086: 3ff0 fld fa2,248(a5) + 80004088: 0000 unimp + 8000408a: 0000 unimp + 8000408c: 0000 unimp + 8000408e: 0000 unimp + 80004090: 0000 unimp + 80004092: 0000 unimp + 80004094: 0000 unimp + 80004096: 0000 unimp + 80004098: 0001 nop + 8000409a: 0000 unimp + 8000409c: 0000 unimp + 8000409e: 0000 unimp + +00000000800040a0 <test_7_data>: + 800040a0: 999a add s3,s3,t1 + 800040a2: 9999 andi a1,a1,-26 + 800040a4: 9999 andi a1,a1,-26 + 800040a6: 3ff1 addiw t6,t6,-4 + 800040a8: 0000 unimp + 800040aa: 0000 unimp + 800040ac: 0000 unimp + 800040ae: 0000 unimp + 800040b0: 0000 unimp + 800040b2: 0000 unimp + 800040b4: 0000 unimp + 800040b6: 0000 unimp + 800040b8: 0001 nop + 800040ba: 0000 unimp + 800040bc: 0000 unimp + 800040be: 0000 unimp + +00000000800040c0 <test_8_data>: + 800040c0: 0000 unimp + 800040c2: c000 sw s0,0(s0) + 800040c4: c1e65a0b 0xc1e65a0b + 800040c8: 0000 unimp + 800040ca: 0000 unimp + 800040cc: 0000 unimp + 800040ce: 0000 unimp + 800040d0: 0000 unimp + 800040d2: 0000 unimp + 800040d4: 0000 unimp + 800040d6: 0000 unimp + 800040d8: 0000 unimp + 800040da: 8000 0x8000 + 800040dc: ffff 0xffff + 800040de: ffff 0xffff + +00000000800040e0 <test_9_data>: + 800040e0: 0000 unimp + 800040e2: c000 sw s0,0(s0) + 800040e4: 41e65a0b 0x41e65a0b + 800040e8: 0000 unimp + 800040ea: 0000 unimp + 800040ec: 0000 unimp + 800040ee: 0000 unimp + 800040f0: 0000 unimp + 800040f2: 0000 unimp + 800040f4: 0000 unimp + 800040f6: 0000 unimp + 800040f8: ffff 0xffff + 800040fa: 7fff 0x7fff + 800040fc: 0000 unimp + 800040fe: 0000 unimp + +0000000080004100 <test_12_data>: + 80004100: 0000 unimp + 80004102: 0000 unimp + 80004104: 0000 unimp + 80004106: c008 sw a0,0(s0) + 80004108: 0000 unimp + 8000410a: 0000 unimp + 8000410c: 0000 unimp + 8000410e: 0000 unimp + 80004110: 0000 unimp + 80004112: 0000 unimp + 80004114: 0000 unimp + 80004116: 0000 unimp + 80004118: 0000 unimp + 8000411a: 0000 unimp + 8000411c: 0000 unimp + 8000411e: 0000 unimp + +0000000080004120 <test_13_data>: + 80004120: 0000 unimp + 80004122: 0000 unimp + 80004124: 0000 unimp + 80004126: bff0 fsd fa2,248(a5) + 80004128: 0000 unimp + 8000412a: 0000 unimp + 8000412c: 0000 unimp + 8000412e: 0000 unimp + 80004130: 0000 unimp + 80004132: 0000 unimp + 80004134: 0000 unimp + 80004136: 0000 unimp + 80004138: 0000 unimp + 8000413a: 0000 unimp + 8000413c: 0000 unimp + 8000413e: 0000 unimp + +0000000080004140 <test_14_data>: + 80004140: cccd beqz s1,800041fa <test_19_data+0x1a> + 80004142: cccc sw a1,28(s1) + 80004144: cccc sw a1,28(s1) + 80004146: bfec fsd fa1,248(a5) + 80004148: 0000 unimp + 8000414a: 0000 unimp + 8000414c: 0000 unimp + 8000414e: 0000 unimp + 80004150: 0000 unimp + 80004152: 0000 unimp + 80004154: 0000 unimp + 80004156: 0000 unimp + 80004158: 0000 unimp + 8000415a: 0000 unimp + 8000415c: 0000 unimp + 8000415e: 0000 unimp + +0000000080004160 <test_15_data>: + 80004160: cccd beqz s1,8000421a <test_22_data+0x1a> + 80004162: cccc sw a1,28(s1) + 80004164: cccc sw a1,28(s1) + 80004166: 3fec fld fa1,248(a5) + 80004168: 0000 unimp + 8000416a: 0000 unimp + 8000416c: 0000 unimp + 8000416e: 0000 unimp + 80004170: 0000 unimp + 80004172: 0000 unimp + 80004174: 0000 unimp + 80004176: 0000 unimp + 80004178: 0000 unimp + 8000417a: 0000 unimp + 8000417c: 0000 unimp + 8000417e: 0000 unimp + +0000000080004180 <test_16_data>: + 80004180: 0000 unimp + 80004182: 0000 unimp + 80004184: 0000 unimp + 80004186: 3ff0 fld fa2,248(a5) + 80004188: 0000 unimp + 8000418a: 0000 unimp + 8000418c: 0000 unimp + 8000418e: 0000 unimp + 80004190: 0000 unimp + 80004192: 0000 unimp + 80004194: 0000 unimp + 80004196: 0000 unimp + 80004198: 0001 nop + 8000419a: 0000 unimp + 8000419c: 0000 unimp + 8000419e: 0000 unimp + +00000000800041a0 <test_17_data>: + 800041a0: 999a add s3,s3,t1 + 800041a2: 9999 andi a1,a1,-26 + 800041a4: 9999 andi a1,a1,-26 + 800041a6: 3ff1 addiw t6,t6,-4 + 800041a8: 0000 unimp + 800041aa: 0000 unimp + 800041ac: 0000 unimp + 800041ae: 0000 unimp + 800041b0: 0000 unimp + 800041b2: 0000 unimp + 800041b4: 0000 unimp + 800041b6: 0000 unimp + 800041b8: 0001 nop + 800041ba: 0000 unimp + 800041bc: 0000 unimp + 800041be: 0000 unimp + +00000000800041c0 <test_18_data>: + 800041c0: 0000 unimp + 800041c2: c000 sw s0,0(s0) + 800041c4: c1e65a0b 0xc1e65a0b + 800041c8: 0000 unimp + 800041ca: 0000 unimp + 800041cc: 0000 unimp + 800041ce: 0000 unimp + 800041d0: 0000 unimp + 800041d2: 0000 unimp + 800041d4: 0000 unimp + 800041d6: 0000 unimp + 800041d8: 0000 unimp + 800041da: 0000 unimp + 800041dc: 0000 unimp + 800041de: 0000 unimp + +00000000800041e0 <test_19_data>: + 800041e0: 0000 unimp + 800041e2: c000 sw s0,0(s0) + 800041e4: 41e65a0b 0x41e65a0b + 800041e8: 0000 unimp + 800041ea: 0000 unimp + 800041ec: 0000 unimp + 800041ee: 0000 unimp + 800041f0: 0000 unimp + 800041f2: 0000 unimp + 800041f4: 0000 unimp + 800041f6: 0000 unimp + 800041f8: 5e00 lw s0,56(a2) + 800041fa: b2d0 fsd fa2,160(a3) + 800041fc: ffff 0xffff + 800041fe: ffff 0xffff + +0000000080004200 <test_22_data>: + 80004200: 999a add s3,s3,t1 + 80004202: 9999 andi a1,a1,-26 + 80004204: 9999 andi a1,a1,-26 + 80004206: bff1 j 800041e2 <test_19_data+0x2> + 80004208: 0000 unimp + 8000420a: 0000 unimp + 8000420c: 0000 unimp + 8000420e: 0000 unimp + 80004210: 0000 unimp + 80004212: 0000 unimp + 80004214: 0000 unimp + 80004216: 0000 unimp + 80004218: ffff 0xffff + 8000421a: ffff 0xffff + 8000421c: ffff 0xffff + 8000421e: ffff 0xffff + +0000000080004220 <test_23_data>: + 80004220: 0000 unimp + 80004222: 0000 unimp + 80004224: 0000 unimp + 80004226: bff0 fsd fa2,248(a5) + 80004228: 0000 unimp + 8000422a: 0000 unimp + 8000422c: 0000 unimp + 8000422e: 0000 unimp + 80004230: 0000 unimp + 80004232: 0000 unimp + 80004234: 0000 unimp + 80004236: 0000 unimp + 80004238: ffff 0xffff + 8000423a: ffff 0xffff + 8000423c: ffff 0xffff + 8000423e: ffff 0xffff + +0000000080004240 <test_24_data>: + 80004240: cccd beqz s1,800042fa <test_29_data+0x1a> + 80004242: cccc sw a1,28(s1) + 80004244: cccc sw a1,28(s1) + 80004246: bfec fsd fa1,248(a5) + 80004248: 0000 unimp + 8000424a: 0000 unimp + 8000424c: 0000 unimp + 8000424e: 0000 unimp + 80004250: 0000 unimp + 80004252: 0000 unimp + 80004254: 0000 unimp + 80004256: 0000 unimp + 80004258: 0000 unimp + 8000425a: 0000 unimp + 8000425c: 0000 unimp + 8000425e: 0000 unimp + +0000000080004260 <test_25_data>: + 80004260: cccd beqz s1,8000431a <test_20_data+0x1a> + 80004262: cccc sw a1,28(s1) + 80004264: cccc sw a1,28(s1) + 80004266: 3fec fld fa1,248(a5) + 80004268: 0000 unimp + 8000426a: 0000 unimp + 8000426c: 0000 unimp + 8000426e: 0000 unimp + 80004270: 0000 unimp + 80004272: 0000 unimp + 80004274: 0000 unimp + 80004276: 0000 unimp + 80004278: 0000 unimp + 8000427a: 0000 unimp + 8000427c: 0000 unimp + 8000427e: 0000 unimp + +0000000080004280 <test_26_data>: + 80004280: 0000 unimp + 80004282: 0000 unimp + 80004284: 0000 unimp + 80004286: 3ff0 fld fa2,248(a5) + 80004288: 0000 unimp + 8000428a: 0000 unimp + 8000428c: 0000 unimp + 8000428e: 0000 unimp + 80004290: 0000 unimp + 80004292: 0000 unimp + 80004294: 0000 unimp + 80004296: 0000 unimp + 80004298: 0001 nop + 8000429a: 0000 unimp + 8000429c: 0000 unimp + 8000429e: 0000 unimp + +00000000800042a0 <test_27_data>: + 800042a0: 999a add s3,s3,t1 + 800042a2: 9999 andi a1,a1,-26 + 800042a4: 9999 andi a1,a1,-26 + 800042a6: 3ff1 addiw t6,t6,-4 + 800042a8: 0000 unimp + 800042aa: 0000 unimp + 800042ac: 0000 unimp + 800042ae: 0000 unimp + 800042b0: 0000 unimp + 800042b2: 0000 unimp + 800042b4: 0000 unimp + 800042b6: 0000 unimp + 800042b8: 0001 nop + 800042ba: 0000 unimp + 800042bc: 0000 unimp + 800042be: 0000 unimp + +00000000800042c0 <test_28_data>: + 800042c0: 0000 unimp + 800042c2: c000 sw s0,0(s0) + 800042c4: c1e65a0b 0xc1e65a0b + 800042c8: 0000 unimp + 800042ca: 0000 unimp + 800042cc: 0000 unimp + 800042ce: 0000 unimp + 800042d0: 0000 unimp + 800042d2: 0000 unimp + 800042d4: 0000 unimp + 800042d6: 0000 unimp + 800042d8: a200 fsd fs0,0(a2) + 800042da: ffff4d2f 0xffff4d2f + 800042de: ffff 0xffff + +00000000800042e0 <test_29_data>: + 800042e0: 0000 unimp + 800042e2: c000 sw s0,0(s0) + 800042e4: 41e65a0b 0x41e65a0b + 800042e8: 0000 unimp + 800042ea: 0000 unimp + 800042ec: 0000 unimp + 800042ee: 0000 unimp + 800042f0: 0000 unimp + 800042f2: 0000 unimp + 800042f4: 0000 unimp + 800042f6: 0000 unimp + 800042f8: 5e00 lw s0,56(a2) + 800042fa: b2d0 fsd fa2,160(a3) + 800042fc: 0000 unimp + 800042fe: 0000 unimp + +0000000080004300 <test_20_data>: + 80004300: db80 sw s0,48(a5) + 80004302: 90d9 srli s1,s1,0x36 + 80004304: 0556 slli a0,a0,0x15 + 80004306: c3fa sw t5,196(sp) + 80004308: 0000 unimp + 8000430a: 0000 unimp + 8000430c: 0000 unimp + 8000430e: 0000 unimp + 80004310: 0000 unimp + 80004312: 0000 unimp + 80004314: 0000 unimp + 80004316: 0000 unimp + 80004318: 0000 unimp + 8000431a: 0000 unimp + 8000431c: 0000 unimp + 8000431e: 8000 0x8000 + +0000000080004320 <test_21_data>: + 80004320: db80 sw s0,48(a5) + 80004322: 90d9 srli s1,s1,0x36 + 80004324: 0556 slli a0,a0,0x15 + 80004326: 43fa lw t2,156(sp) + 80004328: 0000 unimp + 8000432a: 0000 unimp + 8000432c: 0000 unimp + 8000432e: 0000 unimp + 80004330: 0000 unimp + 80004332: 0000 unimp + 80004334: 0000 unimp + 80004336: 0000 unimp + 80004338: ffff 0xffff + 8000433a: ffff 0xffff + 8000433c: ffff 0xffff + 8000433e: 7fff 0x7fff + +0000000080004340 <test_32_data>: + 80004340: 0000 unimp + 80004342: 0000 unimp + 80004344: 0000 unimp + 80004346: c008 sw a0,0(s0) + 80004348: 0000 unimp + 8000434a: 0000 unimp + 8000434c: 0000 unimp + 8000434e: 0000 unimp + 80004350: 0000 unimp + 80004352: 0000 unimp + 80004354: 0000 unimp + 80004356: 0000 unimp + 80004358: 0000 unimp + 8000435a: 0000 unimp + 8000435c: 0000 unimp + 8000435e: 0000 unimp + +0000000080004360 <test_33_data>: + 80004360: 0000 unimp + 80004362: 0000 unimp + 80004364: 0000 unimp + 80004366: bff0 fsd fa2,248(a5) + 80004368: 0000 unimp + 8000436a: 0000 unimp + 8000436c: 0000 unimp + 8000436e: 0000 unimp + 80004370: 0000 unimp + 80004372: 0000 unimp + 80004374: 0000 unimp + 80004376: 0000 unimp + 80004378: 0000 unimp + 8000437a: 0000 unimp + 8000437c: 0000 unimp + 8000437e: 0000 unimp + +0000000080004380 <test_34_data>: + 80004380: cccd beqz s1,8000443a <test_39_data+0x1a> + 80004382: cccc sw a1,28(s1) + 80004384: cccc sw a1,28(s1) + 80004386: bfec fsd fa1,248(a5) + 80004388: 0000 unimp + 8000438a: 0000 unimp + 8000438c: 0000 unimp + 8000438e: 0000 unimp + 80004390: 0000 unimp + 80004392: 0000 unimp + 80004394: 0000 unimp + 80004396: 0000 unimp + 80004398: 0000 unimp + 8000439a: 0000 unimp + 8000439c: 0000 unimp + 8000439e: 0000 unimp + +00000000800043a0 <test_35_data>: + 800043a0: cccd beqz s1,8000445a <tdat_d+0xa> + 800043a2: cccc sw a1,28(s1) + 800043a4: cccc sw a1,28(s1) + 800043a6: 3fec fld fa1,248(a5) + 800043a8: 0000 unimp + 800043aa: 0000 unimp + 800043ac: 0000 unimp + 800043ae: 0000 unimp + 800043b0: 0000 unimp + 800043b2: 0000 unimp + 800043b4: 0000 unimp + 800043b6: 0000 unimp + 800043b8: 0000 unimp + 800043ba: 0000 unimp + 800043bc: 0000 unimp + 800043be: 0000 unimp + +00000000800043c0 <test_36_data>: + 800043c0: 0000 unimp + 800043c2: 0000 unimp + 800043c4: 0000 unimp + 800043c6: 3ff0 fld fa2,248(a5) + 800043c8: 0000 unimp + 800043ca: 0000 unimp + 800043cc: 0000 unimp + 800043ce: 0000 unimp + 800043d0: 0000 unimp + 800043d2: 0000 unimp + 800043d4: 0000 unimp + 800043d6: 0000 unimp + 800043d8: 0001 nop + 800043da: 0000 unimp + 800043dc: 0000 unimp + 800043de: 0000 unimp + +00000000800043e0 <test_37_data>: + 800043e0: 999a add s3,s3,t1 + 800043e2: 9999 andi a1,a1,-26 + 800043e4: 9999 andi a1,a1,-26 + 800043e6: 3ff1 addiw t6,t6,-4 + 800043e8: 0000 unimp + 800043ea: 0000 unimp + 800043ec: 0000 unimp + 800043ee: 0000 unimp + 800043f0: 0000 unimp + 800043f2: 0000 unimp + 800043f4: 0000 unimp + 800043f6: 0000 unimp + 800043f8: 0001 nop + 800043fa: 0000 unimp + 800043fc: 0000 unimp + 800043fe: 0000 unimp + +0000000080004400 <test_38_data>: + 80004400: 0000 unimp + 80004402: c000 sw s0,0(s0) + 80004404: c1e65a0b 0xc1e65a0b + 80004408: 0000 unimp + 8000440a: 0000 unimp + 8000440c: 0000 unimp + 8000440e: 0000 unimp + 80004410: 0000 unimp + 80004412: 0000 unimp + 80004414: 0000 unimp + 80004416: 0000 unimp + 80004418: 0000 unimp + 8000441a: 0000 unimp + 8000441c: 0000 unimp + 8000441e: 0000 unimp + +0000000080004420 <test_39_data>: + 80004420: 0000 unimp + 80004422: c000 sw s0,0(s0) + 80004424: 41e65a0b 0x41e65a0b + 80004428: 0000 unimp + 8000442a: 0000 unimp + 8000442c: 0000 unimp + 8000442e: 0000 unimp + 80004430: 0000 unimp + 80004432: 0000 unimp + 80004434: 0000 unimp + 80004436: 0000 unimp + 80004438: 5e00 lw s0,56(a2) + 8000443a: b2d0 fsd fa2,160(a3) + 8000443c: 0000 unimp + 8000443e: 0000 unimp + +0000000080004440 <begin_signature>: + 80004440: ffff 0xffff + 80004442: ffff 0xffff + 80004444: ffff 0xffff + 80004446: 7fff 0x7fff + 80004448: 0000 unimp + 8000444a: ff80 sd s0,56(a5) + 8000444c: 0000 unimp + 8000444e: 7f80 ld s0,56(a5) + +0000000080004450 <tdat_d>: + 80004450: ffff 0xffff + 80004452: ffff 0xffff + 80004454: ffff 0xffff + 80004456: ffff 0xffff + 80004458: ffff 0xffff + 8000445a: ffff 0xffff + 8000445c: ffff 0xffff + 8000445e: 7fff 0x7fff + 80004460: 0000 unimp + 80004462: 0000 unimp + 80004464: 0000 unimp + 80004466: fff0 sd a2,248(a5) + 80004468: 0000 unimp + 8000446a: 0000 unimp + 8000446c: 0000 unimp + 8000446e: 7ff0 ld a2,248(a5) diff --git a/test/riscv-tests/rv64ud-v-fcvt_w.elf b/test/riscv-tests/rv64ud-v-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..ccda038 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fcvt_w.elf diff --git a/test/riscv-tests/rv64ud-v-fdiv.dump b/test/riscv-tests/rv64ud-v-fdiv.dump new file mode 100644 index 0000000..d5227c0 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fdiv.dump @@ -0,0 +1,1096 @@ + +rv64ud-v-fdiv: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 83868693 addi a3,a3,-1992 # 80002c90 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 86c60613 addi a2,a2,-1940 # 80002d20 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 83460613 addi a2,a2,-1996 # 80002d38 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 78468693 addi a3,a3,1924 # 80002cd8 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 7a068693 addi a3,a3,1952 # 80002e10 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 72060613 addi a2,a2,1824 # 80002de8 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 65468693 addi a3,a3,1620 # 80002e40 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 57468693 addi a3,a3,1396 # 80002db0 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 50468693 addi a3,a3,1284 # 80002d78 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 03c00793 li a5,60 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0f8327b7 lui a5,0xf832 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: e2178793 addi a5,a5,-479 # f831e21 <_start-0x707ce1df> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: 1a1071d3 fdiv.d ft3,ft0,ft1 + 80002aec: e2018553 fmv.x.d a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00100613 li a2,1 + 80002af8: 16d51c63 bne a0,a3,80002c70 <fail> + 80002afc: 16c59a63 bne a1,a2,80002c70 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data> + 80002b0c: 00053007 fld ft0,0(a0) + 80002b10: 00853087 fld ft1,8(a0) + 80002b14: 01053107 fld ft2,16(a0) + 80002b18: 01853683 ld a3,24(a0) + 80002b1c: 1a1071d3 fdiv.d ft3,ft0,ft1 + 80002b20: e2018553 fmv.x.d a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 14d51263 bne a0,a3,80002c70 <fail> + 80002b30: 14c59063 bne a1,a2,80002c70 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data> + 80002b40: 00053007 fld ft0,0(a0) + 80002b44: 00853087 fld ft1,8(a0) + 80002b48: 01053107 fld ft2,16(a0) + 80002b4c: 01853683 ld a3,24(a0) + 80002b50: 1a1071d3 fdiv.d ft3,ft0,ft1 + 80002b54: e2018553 fmv.x.d a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 10d51863 bne a0,a3,80002c70 <fail> + 80002b64: 10c59663 bne a1,a2,80002c70 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data> + 80002b74: 00053007 fld ft0,0(a0) + 80002b78: 00853087 fld ft1,8(a0) + 80002b7c: 01053107 fld ft2,16(a0) + 80002b80: 01853683 ld a3,24(a0) + 80002b84: 5a0071d3 fsqrt.d ft3,ft0 + 80002b88: e2018553 fmv.x.d a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00100613 li a2,1 + 80002b94: 0cd51e63 bne a0,a3,80002c70 <fail> + 80002b98: 0cc59c63 bne a1,a2,80002c70 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data> + 80002ba8: 00053007 fld ft0,0(a0) + 80002bac: 00853087 fld ft1,8(a0) + 80002bb0: 01053107 fld ft2,16(a0) + 80002bb4: 01853683 ld a3,24(a0) + 80002bb8: 5a0071d3 fsqrt.d ft3,ft0 + 80002bbc: e2018553 fmv.x.d a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00000613 li a2,0 + 80002bc8: 0ad51463 bne a0,a3,80002c70 <fail> + 80002bcc: 0ac59263 bne a1,a2,80002c70 <fail> + +0000000080002bd0 <test_16>: + 80002bd0: 01000193 li gp,16 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_16_data> + 80002bdc: 00053007 fld ft0,0(a0) + 80002be0: 00853087 fld ft1,8(a0) + 80002be4: 01053107 fld ft2,16(a0) + 80002be8: 01853683 ld a3,24(a0) + 80002bec: 5a0071d3 fsqrt.d ft3,ft0 + 80002bf0: e2018553 fmv.x.d a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 01000613 li a2,16 + 80002bfc: 06d51a63 bne a0,a3,80002c70 <fail> + 80002c00: 06c59863 bne a1,a2,80002c70 <fail> + +0000000080002c04 <test_7>: + 80002c04: 00700193 li gp,7 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_7_data> + 80002c10: 00053007 fld ft0,0(a0) + 80002c14: 00853087 fld ft1,8(a0) + 80002c18: 01053107 fld ft2,16(a0) + 80002c1c: 01853683 ld a3,24(a0) + 80002c20: 5a0071d3 fsqrt.d ft3,ft0 + 80002c24: e2018553 fmv.x.d a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00100613 li a2,1 + 80002c30: 04d51063 bne a0,a3,80002c70 <fail> + 80002c34: 02c59e63 bne a1,a2,80002c70 <fail> + +0000000080002c38 <test_8>: + 80002c38: 00800193 li gp,8 + 80002c3c: 00000517 auipc a0,0x0 + 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_8_data> + 80002c44: 00053007 fld ft0,0(a0) + 80002c48: 00853087 fld ft1,8(a0) + 80002c4c: 01053107 fld ft2,16(a0) + 80002c50: 01853683 ld a3,24(a0) + 80002c54: 5a0071d3 fsqrt.d ft3,ft0 + 80002c58: e2018553 fmv.x.d a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00100613 li a2,1 + 80002c64: 00d51663 bne a0,a3,80002c70 <fail> + 80002c68: 00c59463 bne a1,a2,80002c70 <fail> + 80002c6c: 00301a63 bne zero,gp,80002c80 <pass> + +0000000080002c70 <fail>: + 80002c70: 00119513 slli a0,gp,0x1 + 80002c74: 00050063 beqz a0,80002c74 <fail+0x4> + 80002c78: 00156513 ori a0,a0,1 + 80002c7c: 00000073 ecall + +0000000080002c80 <pass>: + 80002c80: 00100513 li a0,1 + 80002c84: 00000073 ecall + 80002c88: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: d4f1 beqz s1,80002fcc <pass+0x34c> + 80003002: 53c8 lw a0,36(a5) + 80003004: 400921fb 0x400921fb + 80003008: b0dd j 800028ee <vm_boot+0x1a> + 8000300a: 89f1 andi a1,a1,28 + 8000300c: bf0a fsd ft2,440(sp) + 8000300e: 4005 c.li zero,1 + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 0000 unimp + 80003018: 83ec 0x83ec + 8000301a: 7ddbf6c3 0x7ddbf6c3 + 8000301e: 3ff2 fld ft11,312(sp) + +0000000080003020 <test_3_data>: + 80003020: 0000 unimp + 80003022: 0000 unimp + 80003024: 4800 lw s0,16(s0) + 80003026: 6666c093 xori ra,a3,1638 + 8000302a: 6666 ld a2,88(sp) + 8000302c: 4c66 lw s8,88(sp) + 8000302e: 00004093 xori ra,zero,0 + 80003032: 0000 unimp + 80003034: 0000 unimp + 80003036: 0000 unimp + 80003038: 29a5 addiw s3,s3,9 + 8000303a: 3e19 addiw t3,t3,-26 + 8000303c: f8b4 sd a3,112(s1) + 8000303e: jal t6,7ff1ed8c <_start-0xe1274> + +0000000080003040 <test_4_data>: + 80003040: d4f1 beqz s1,8000300c <test_2_data+0xc> + 80003042: 53c8 lw a0,36(a5) + 80003044: 400921fb 0x400921fb + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 0000 unimp + 8000304e: 3ff0 fld fa2,248(a5) + 80003050: 0000 unimp + 80003052: 0000 unimp + 80003054: 0000 unimp + 80003056: 0000 unimp + 80003058: d4f1 beqz s1,80003024 <test_3_data+0x4> + 8000305a: 53c8 lw a0,36(a5) + 8000305c: 400921fb 0x400921fb + +0000000080003060 <test_5_data>: + 80003060: d4f1 beqz s1,8000302c <test_3_data+0xc> + 80003062: 53c8 lw a0,36(a5) + 80003064: 400921fb 0x400921fb + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 0000 unimp + 80003070: 0000 unimp + 80003072: 0000 unimp + 80003074: 0000 unimp + 80003076: 0000 unimp + 80003078: 916f587b 0x916f587b + 8000307c: 5bf8 lw a4,116(a5) + 8000307e: 3ffc fld fa5,248(a5) + +0000000080003080 <test_6_data>: + 80003080: 0000 unimp + 80003082: 0000 unimp + 80003084: 8800 0x8800 + 80003086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm + 8000308a: 0000 unimp + 8000308c: 0000 unimp + 8000308e: 0000 unimp + 80003090: 0000 unimp + 80003092: 0000 unimp + 80003094: 0000 unimp + 80003096: 0000 unimp + 80003098: 0000 unimp + 8000309a: 0000 unimp + 8000309c: 0000 unimp + 8000309e: 4059 c.li zero,22 + +00000000800030a0 <test_16_data>: + 800030a0: 0000 unimp + 800030a2: 0000 unimp + 800030a4: 0000 unimp + 800030a6: bff0 fsd fa2,248(a5) + 800030a8: 0000 unimp + 800030aa: 0000 unimp + 800030ac: 0000 unimp + 800030ae: 0000 unimp + 800030b0: 0000 unimp + 800030b2: 0000 unimp + 800030b4: 0000 unimp + 800030b6: 0000 unimp + 800030b8: 0000 unimp + 800030ba: 0000 unimp + 800030bc: 0000 unimp + 800030be: 7ff8 ld a4,248(a5) + +00000000800030c0 <test_7_data>: + 800030c0: 0000 unimp + 800030c2: 0000 unimp + 800030c4: 6000 ld s0,0(s0) + 800030c6: 4065 c.li zero,25 + 800030c8: 0000 unimp + 800030ca: 0000 unimp + 800030cc: 0000 unimp + 800030ce: 0000 unimp + 800030d0: 0000 unimp + 800030d2: 0000 unimp + 800030d4: 0000 unimp + 800030d6: 0000 unimp + 800030d8: 74f5 lui s1,0xffffd + 800030da: ce96 sw t0,92(sp) + 800030dc: 2744 fld fs1,136(a4) + 800030de: 402a 0x402a + +00000000800030e0 <test_8_data>: + 800030e0: a105 j 80003500 <begin_signature+0x400> + 800030e2: c70a sw sp,140(sp) + 800030e4: 94df 3e85 0000 0x3e8594df + 800030ea: 0000 unimp + 800030ec: 0000 unimp + 800030ee: 0000 unimp + 800030f0: 0000 unimp + 800030f2: 0000 unimp + 800030f4: 0000 unimp + 800030f6: 0000 unimp + 800030f8: 7f99 lui t6,0xfffe6 + 800030fa: 4789c0e3 blt s3,s8,80003d5a <begin_signature+0xc5a> + 800030fe: 3f3a fld ft10,424(sp) diff --git a/test/riscv-tests/rv64ud-v-fdiv.elf b/test/riscv-tests/rv64ud-v-fdiv.elf Binary files differnew file mode 100644 index 0000000..cc37abf --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fdiv.elf diff --git a/test/riscv-tests/rv64ud-v-fmadd.dump b/test/riscv-tests/rv64ud-v-fmadd.dump new file mode 100644 index 0000000..dd5409f --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fmadd.dump @@ -0,0 +1,1236 @@ + +rv64ud-v-fmadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 90868693 addi a3,a3,-1784 # 80002d60 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 93c60613 addi a2,a2,-1732 # 80002df0 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 90460613 addi a2,a2,-1788 # 80002e08 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 85468693 addi a3,a3,-1964 # 80002da8 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 87068693 addi a3,a3,-1936 # 80002ee0 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 7f060613 addi a2,a2,2032 # 80002eb8 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 72468693 addi a3,a3,1828 # 80002f10 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 64468693 addi a3,a3,1604 # 80002e80 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 5d468693 addi a3,a3,1492 # 80002e48 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 02600793 li a5,38 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 08dc47b7 lui a5,0x8dc4 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 2d678793 addi a5,a5,726 # 8dc42d6 <_start-0x7723bd2a> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 80002aec: e2018553 fmv.x.d a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 24d51463 bne a0,a3,80002d40 <fail> + 80002afc: 24c59263 bne a1,a2,80002d40 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data> + 80002b0c: 00053007 fld ft0,0(a0) + 80002b10: 00853087 fld ft1,8(a0) + 80002b14: 01053107 fld ft2,16(a0) + 80002b18: 01853683 ld a3,24(a0) + 80002b1c: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 80002b20: e2018553 fmv.x.d a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 20d51a63 bne a0,a3,80002d40 <fail> + 80002b30: 20c59863 bne a1,a2,80002d40 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data> + 80002b40: 00053007 fld ft0,0(a0) + 80002b44: 00853087 fld ft1,8(a0) + 80002b48: 01053107 fld ft2,16(a0) + 80002b4c: 01853683 ld a3,24(a0) + 80002b50: 121071c3 fmadd.d ft3,ft0,ft1,ft2 + 80002b54: e2018553 fmv.x.d a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 1ed51063 bne a0,a3,80002d40 <fail> + 80002b64: 1cc59e63 bne a1,a2,80002d40 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data> + 80002b74: 00053007 fld ft0,0(a0) + 80002b78: 00853087 fld ft1,8(a0) + 80002b7c: 01053107 fld ft2,16(a0) + 80002b80: 01853683 ld a3,24(a0) + 80002b84: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 80002b88: e2018553 fmv.x.d a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 1ad51663 bne a0,a3,80002d40 <fail> + 80002b98: 1ac59463 bne a1,a2,80002d40 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data> + 80002ba8: 00053007 fld ft0,0(a0) + 80002bac: 00853087 fld ft1,8(a0) + 80002bb0: 01053107 fld ft2,16(a0) + 80002bb4: 01853683 ld a3,24(a0) + 80002bb8: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 80002bbc: e2018553 fmv.x.d a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00100613 li a2,1 + 80002bc8: 16d51c63 bne a0,a3,80002d40 <fail> + 80002bcc: 16c59a63 bne a1,a2,80002d40 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_7_data> + 80002bdc: 00053007 fld ft0,0(a0) + 80002be0: 00853087 fld ft1,8(a0) + 80002be4: 01053107 fld ft2,16(a0) + 80002be8: 01853683 ld a3,24(a0) + 80002bec: 121071cf fnmadd.d ft3,ft0,ft1,ft2 + 80002bf0: e2018553 fmv.x.d a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00000613 li a2,0 + 80002bfc: 14d51263 bne a0,a3,80002d40 <fail> + 80002c00: 14c59063 bne a1,a2,80002d40 <fail> + +0000000080002c04 <test_8>: + 80002c04: 00800193 li gp,8 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_8_data> + 80002c10: 00053007 fld ft0,0(a0) + 80002c14: 00853087 fld ft1,8(a0) + 80002c18: 01053107 fld ft2,16(a0) + 80002c1c: 01853683 ld a3,24(a0) + 80002c20: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 80002c24: e2018553 fmv.x.d a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 10d51863 bne a0,a3,80002d40 <fail> + 80002c34: 10c59663 bne a1,a2,80002d40 <fail> + +0000000080002c38 <test_9>: + 80002c38: 00900193 li gp,9 + 80002c3c: 00000517 auipc a0,0x0 + 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_9_data> + 80002c44: 00053007 fld ft0,0(a0) + 80002c48: 00853087 fld ft1,8(a0) + 80002c4c: 01053107 fld ft2,16(a0) + 80002c50: 01853683 ld a3,24(a0) + 80002c54: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 80002c58: e2018553 fmv.x.d a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00100613 li a2,1 + 80002c64: 0cd51e63 bne a0,a3,80002d40 <fail> + 80002c68: 0cc59c63 bne a1,a2,80002d40 <fail> + +0000000080002c6c <test_10>: + 80002c6c: 00a00193 li gp,10 + 80002c70: 00000517 auipc a0,0x0 + 80002c74: 49050513 addi a0,a0,1168 # 80003100 <test_10_data> + 80002c78: 00053007 fld ft0,0(a0) + 80002c7c: 00853087 fld ft1,8(a0) + 80002c80: 01053107 fld ft2,16(a0) + 80002c84: 01853683 ld a3,24(a0) + 80002c88: 121071c7 fmsub.d ft3,ft0,ft1,ft2 + 80002c8c: e2018553 fmv.x.d a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00000613 li a2,0 + 80002c98: 0ad51463 bne a0,a3,80002d40 <fail> + 80002c9c: 0ac59263 bne a1,a2,80002d40 <fail> + +0000000080002ca0 <test_11>: + 80002ca0: 00b00193 li gp,11 + 80002ca4: 00000517 auipc a0,0x0 + 80002ca8: 47c50513 addi a0,a0,1148 # 80003120 <test_11_data> + 80002cac: 00053007 fld ft0,0(a0) + 80002cb0: 00853087 fld ft1,8(a0) + 80002cb4: 01053107 fld ft2,16(a0) + 80002cb8: 01853683 ld a3,24(a0) + 80002cbc: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 80002cc0: e2018553 fmv.x.d a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 00000613 li a2,0 + 80002ccc: 06d51a63 bne a0,a3,80002d40 <fail> + 80002cd0: 06c59863 bne a1,a2,80002d40 <fail> + +0000000080002cd4 <test_12>: + 80002cd4: 00c00193 li gp,12 + 80002cd8: 00000517 auipc a0,0x0 + 80002cdc: 46850513 addi a0,a0,1128 # 80003140 <test_12_data> + 80002ce0: 00053007 fld ft0,0(a0) + 80002ce4: 00853087 fld ft1,8(a0) + 80002ce8: 01053107 fld ft2,16(a0) + 80002cec: 01853683 ld a3,24(a0) + 80002cf0: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 80002cf4: e2018553 fmv.x.d a0,ft3 + 80002cf8: 001015f3 fsflags a1,zero + 80002cfc: 00100613 li a2,1 + 80002d00: 04d51063 bne a0,a3,80002d40 <fail> + 80002d04: 02c59e63 bne a1,a2,80002d40 <fail> + +0000000080002d08 <test_13>: + 80002d08: 00d00193 li gp,13 + 80002d0c: 00000517 auipc a0,0x0 + 80002d10: 45450513 addi a0,a0,1108 # 80003160 <test_13_data> + 80002d14: 00053007 fld ft0,0(a0) + 80002d18: 00853087 fld ft1,8(a0) + 80002d1c: 01053107 fld ft2,16(a0) + 80002d20: 01853683 ld a3,24(a0) + 80002d24: 121071cb fnmsub.d ft3,ft0,ft1,ft2 + 80002d28: e2018553 fmv.x.d a0,ft3 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 00d51663 bne a0,a3,80002d40 <fail> + 80002d38: 00c59463 bne a1,a2,80002d40 <fail> + 80002d3c: 00301a63 bne zero,gp,80002d50 <pass> + +0000000080002d40 <fail>: + 80002d40: 00119513 slli a0,gp,0x1 + 80002d44: 00050063 beqz a0,80002d44 <fail+0x4> + 80002d48: 00156513 ori a0,a0,1 + 80002d4c: 00000073 ecall + +0000000080002d50 <pass>: + 80002d50: 00100513 li a0,1 + 80002d54: 00000073 ecall + 80002d58: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 0000 unimp + 80003004: 0000 unimp + 80003006: 3ff0 fld fa2,248(a5) + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0000 unimp + 8000300e: 4004 lw s1,0(s0) + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 3ff0 fld fa2,248(a5) + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: 0000 unimp + 8000301e: 400c lw a1,0(s0) + +0000000080003020 <test_3_data>: + 80003020: 0000 unimp + 80003022: 0000 unimp + 80003024: 0000 unimp + 80003026: bff0 fsd fa2,248(a5) + 80003028: 6666 ld a2,88(sp) + 8000302a: 6666 ld a2,88(sp) + 8000302c: 4c66 lw s8,88(sp) + 8000302e: 999ac093 xori ra,s5,-1639 + 80003032: 9999 andi a1,a1,-26 + 80003034: 9999 andi a1,a1,-26 + 80003036: 3ff1 addiw t6,t6,-4 + 80003038: cccc sw a1,28(s1) + 8000303a: cccc sw a1,28(s1) + 8000303c: 50cc lw a1,36(s1) + 8000303e: xori ra,zero,0 + +0000000080003040 <test_4_data>: + 80003040: 0000 unimp + 80003042: 0000 unimp + 80003044: 0000 unimp + 80003046: 4000 lw s0,0(s0) + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 0000 unimp + 8000304e: c014 sw a3,0(s0) + 80003050: 0000 unimp + 80003052: 0000 unimp + 80003054: 0000 unimp + 80003056: c000 sw s0,0(s0) + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 0000 unimp + 8000305e: c028 sw a0,64(s0) + +0000000080003060 <test_5_data>: + 80003060: 0000 unimp + 80003062: 0000 unimp + 80003064: 0000 unimp + 80003066: 3ff0 fld fa2,248(a5) + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 4004 lw s1,0(s0) + 80003070: 0000 unimp + 80003072: 0000 unimp + 80003074: 0000 unimp + 80003076: 3ff0 fld fa2,248(a5) + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: c00c sw a1,0(s0) + +0000000080003080 <test_6_data>: + 80003080: 0000 unimp + 80003082: 0000 unimp + 80003084: 0000 unimp + 80003086: bff0 fsd fa2,248(a5) + 80003088: 6666 ld a2,88(sp) + 8000308a: 6666 ld a2,88(sp) + 8000308c: 4c66 lw s8,88(sp) + 8000308e: 999ac093 xori ra,s5,-1639 + 80003092: 9999 andi a1,a1,-26 + 80003094: 9999 andi a1,a1,-26 + 80003096: 3ff1 addiw t6,t6,-4 + 80003098: cccc sw a1,28(s1) + 8000309a: cccc sw a1,28(s1) + 8000309c: 50cc lw a1,36(s1) + 8000309e: xori ra,ra,0 + +00000000800030a0 <test_7_data>: + 800030a0: 0000 unimp + 800030a2: 0000 unimp + 800030a4: 0000 unimp + 800030a6: 4000 lw s0,0(s0) + 800030a8: 0000 unimp + 800030aa: 0000 unimp + 800030ac: 0000 unimp + 800030ae: c014 sw a3,0(s0) + 800030b0: 0000 unimp + 800030b2: 0000 unimp + 800030b4: 0000 unimp + 800030b6: c000 sw s0,0(s0) + 800030b8: 0000 unimp + 800030ba: 0000 unimp + 800030bc: 0000 unimp + 800030be: 4028 lw a0,64(s0) + +00000000800030c0 <test_8_data>: + 800030c0: 0000 unimp + 800030c2: 0000 unimp + 800030c4: 0000 unimp + 800030c6: 3ff0 fld fa2,248(a5) + 800030c8: 0000 unimp + 800030ca: 0000 unimp + 800030cc: 0000 unimp + 800030ce: 4004 lw s1,0(s0) + 800030d0: 0000 unimp + 800030d2: 0000 unimp + 800030d4: 0000 unimp + 800030d6: 3ff0 fld fa2,248(a5) + 800030d8: 0000 unimp + 800030da: 0000 unimp + 800030dc: 0000 unimp + 800030de: 3ff8 fld fa4,248(a5) + +00000000800030e0 <test_9_data>: + 800030e0: 0000 unimp + 800030e2: 0000 unimp + 800030e4: 0000 unimp + 800030e6: bff0 fsd fa2,248(a5) + 800030e8: 6666 ld a2,88(sp) + 800030ea: 6666 ld a2,88(sp) + 800030ec: 4c66 lw s8,88(sp) + 800030ee: 999ac093 xori ra,s5,-1639 + 800030f2: 9999 andi a1,a1,-26 + 800030f4: 9999 andi a1,a1,-26 + 800030f6: 3ff1 addiw t6,t6,-4 + 800030f8: 0000 unimp + 800030fa: 0000 unimp + 800030fc: 4800 lw s0,16(s0) + 800030fe: xori ra,zero,0 + +0000000080003100 <test_10_data>: + 80003100: 0000 unimp + 80003102: 0000 unimp + 80003104: 0000 unimp + 80003106: 4000 lw s0,0(s0) + 80003108: 0000 unimp + 8000310a: 0000 unimp + 8000310c: 0000 unimp + 8000310e: c014 sw a3,0(s0) + 80003110: 0000 unimp + 80003112: 0000 unimp + 80003114: 0000 unimp + 80003116: c000 sw s0,0(s0) + 80003118: 0000 unimp + 8000311a: 0000 unimp + 8000311c: 0000 unimp + 8000311e: c020 sw s0,64(s0) + +0000000080003120 <test_11_data>: + 80003120: 0000 unimp + 80003122: 0000 unimp + 80003124: 0000 unimp + 80003126: 3ff0 fld fa2,248(a5) + 80003128: 0000 unimp + 8000312a: 0000 unimp + 8000312c: 0000 unimp + 8000312e: 4004 lw s1,0(s0) + 80003130: 0000 unimp + 80003132: 0000 unimp + 80003134: 0000 unimp + 80003136: 3ff0 fld fa2,248(a5) + 80003138: 0000 unimp + 8000313a: 0000 unimp + 8000313c: 0000 unimp + 8000313e: bff8 fsd fa4,248(a5) + +0000000080003140 <test_12_data>: + 80003140: 0000 unimp + 80003142: 0000 unimp + 80003144: 0000 unimp + 80003146: bff0 fsd fa2,248(a5) + 80003148: 6666 ld a2,88(sp) + 8000314a: 6666 ld a2,88(sp) + 8000314c: 4c66 lw s8,88(sp) + 8000314e: 999ac093 xori ra,s5,-1639 + 80003152: 9999 andi a1,a1,-26 + 80003154: 9999 andi a1,a1,-26 + 80003156: 3ff1 addiw t6,t6,-4 + 80003158: 0000 unimp + 8000315a: 0000 unimp + 8000315c: 4800 lw s0,16(s0) + 8000315e: xori ra,ra,0 + +0000000080003160 <test_13_data>: + 80003160: 0000 unimp + 80003162: 0000 unimp + 80003164: 0000 unimp + 80003166: 4000 lw s0,0(s0) + 80003168: 0000 unimp + 8000316a: 0000 unimp + 8000316c: 0000 unimp + 8000316e: c014 sw a3,0(s0) + 80003170: 0000 unimp + 80003172: 0000 unimp + 80003174: 0000 unimp + 80003176: c000 sw s0,0(s0) + 80003178: 0000 unimp + 8000317a: 0000 unimp + 8000317c: 0000 unimp + 8000317e: 4020 lw s0,64(s0) diff --git a/test/riscv-tests/rv64ud-v-fmadd.elf b/test/riscv-tests/rv64ud-v-fmadd.elf Binary files differnew file mode 100644 index 0000000..4394e02 --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fmadd.elf diff --git a/test/riscv-tests/rv64ud-v-fmin.dump b/test/riscv-tests/rv64ud-v-fmin.dump new file mode 100644 index 0000000..1884f2f --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fmin.dump @@ -0,0 +1,1429 @@ + +rv64ud-v-fmin: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 0000a117 auipc sp,0xa + 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00003617 auipc a2,0x3 + 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00007797 auipc a5,0x7 + 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00007717 auipc a4,0x7 + 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00007897 auipc a7,0x7 + 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00007797 auipc a5,0x7 + 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00007797 auipc a5,0x7 + 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: a4068693 addi a3,a3,-1472 # 80002e98 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: a7460613 addi a2,a2,-1420 # 80002f28 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: a3c60613 addi a2,a2,-1476 # 80002f40 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 98c68693 addi a3,a3,-1652 # 80002ee0 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 9a868693 addi a3,a3,-1624 # 80003018 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: 92860613 addi a2,a2,-1752 # 80002ff0 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00007d17 auipc s10,0x7 + 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping> + 80002724: 00003b97 auipc s7,0x3 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00007a17 auipc s4,0x7 + 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00007717 auipc a4,0x7 + 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00007717 auipc a4,0x7 + 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail> + 800027d8: 00007717 auipc a4,0x7 + 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00001697 auipc a3,0x1 + 800027f0: 85c68693 addi a3,a3,-1956 # 80003048 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 77c68693 addi a3,a3,1916 # 80002fb8 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 70c68693 addi a3,a3,1804 # 80002f80 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00003697 auipc a3,0x3 + 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000> + 800028e4: 00004717 auipc a4,0x4 + 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00005797 auipc a5,0x5 + 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00002897 auipc a7,0x2 + 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00003697 auipc a3,0x3 + 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00002617 auipc a2,0x2 + 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00005697 auipc a3,0x5 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8> + 8000294c: 00003717 auipc a4,0x3 + 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00006697 auipc a3,0x6 + 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00007617 auipc a2,0x7 + 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head> + 800029d4: 00007797 auipc a5,0x7 + 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail> + 800029dc: 00007317 auipc t1,0x7 + 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping> + 800029e4: 01d00793 li a5,29 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00007797 auipc a5,0x7 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0df727b7 lui a5,0xdf72 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c6d78793 addi a5,a5,-915 # df71c6d <_start-0x7208e393> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00001517 auipc a0,0x1 + 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data> + 80002ad8: 00053007 fld ft0,0(a0) + 80002adc: 00853087 fld ft1,8(a0) + 80002ae0: 01053107 fld ft2,16(a0) + 80002ae4: 01853683 ld a3,24(a0) + 80002ae8: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002aec: e2018553 fmv.x.d a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 38d51063 bne a0,a3,80002e78 <fail> + 80002afc: 36c59e63 bne a1,a2,80002e78 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00001517 auipc a0,0x1 + 80002b08: 51c50513 addi a0,a0,1308 # 80004020 <test_3_data> + 80002b0c: 00053007 fld ft0,0(a0) + 80002b10: 00853087 fld ft1,8(a0) + 80002b14: 01053107 fld ft2,16(a0) + 80002b18: 01853683 ld a3,24(a0) + 80002b1c: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002b20: e2018553 fmv.x.d a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00000613 li a2,0 + 80002b2c: 34d51663 bne a0,a3,80002e78 <fail> + 80002b30: 34c59463 bne a1,a2,80002e78 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00001517 auipc a0,0x1 + 80002b3c: 50850513 addi a0,a0,1288 # 80004040 <test_4_data> + 80002b40: 00053007 fld ft0,0(a0) + 80002b44: 00853087 fld ft1,8(a0) + 80002b48: 01053107 fld ft2,16(a0) + 80002b4c: 01853683 ld a3,24(a0) + 80002b50: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002b54: e2018553 fmv.x.d a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 30d51c63 bne a0,a3,80002e78 <fail> + 80002b64: 30c59a63 bne a1,a2,80002e78 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00001517 auipc a0,0x1 + 80002b70: 4f450513 addi a0,a0,1268 # 80004060 <test_5_data> + 80002b74: 00053007 fld ft0,0(a0) + 80002b78: 00853087 fld ft1,8(a0) + 80002b7c: 01053107 fld ft2,16(a0) + 80002b80: 01853683 ld a3,24(a0) + 80002b84: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002b88: e2018553 fmv.x.d a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 2ed51263 bne a0,a3,80002e78 <fail> + 80002b98: 2ec59063 bne a1,a2,80002e78 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00001517 auipc a0,0x1 + 80002ba4: 4e050513 addi a0,a0,1248 # 80004080 <test_6_data> + 80002ba8: 00053007 fld ft0,0(a0) + 80002bac: 00853087 fld ft1,8(a0) + 80002bb0: 01053107 fld ft2,16(a0) + 80002bb4: 01853683 ld a3,24(a0) + 80002bb8: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002bbc: e2018553 fmv.x.d a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00000613 li a2,0 + 80002bc8: 2ad51863 bne a0,a3,80002e78 <fail> + 80002bcc: 2ac59663 bne a1,a2,80002e78 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00001517 auipc a0,0x1 + 80002bd8: 4cc50513 addi a0,a0,1228 # 800040a0 <test_7_data> + 80002bdc: 00053007 fld ft0,0(a0) + 80002be0: 00853087 fld ft1,8(a0) + 80002be4: 01053107 fld ft2,16(a0) + 80002be8: 01853683 ld a3,24(a0) + 80002bec: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002bf0: e2018553 fmv.x.d a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00000613 li a2,0 + 80002bfc: 26d51e63 bne a0,a3,80002e78 <fail> + 80002c00: 26c59c63 bne a1,a2,80002e78 <fail> + +0000000080002c04 <test_12>: + 80002c04: 00c00193 li gp,12 + 80002c08: 00001517 auipc a0,0x1 + 80002c0c: 4b850513 addi a0,a0,1208 # 800040c0 <test_12_data> + 80002c10: 00053007 fld ft0,0(a0) + 80002c14: 00853087 fld ft1,8(a0) + 80002c18: 01053107 fld ft2,16(a0) + 80002c1c: 01853683 ld a3,24(a0) + 80002c20: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002c24: e2018553 fmv.x.d a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 24d51463 bne a0,a3,80002e78 <fail> + 80002c34: 24c59263 bne a1,a2,80002e78 <fail> + +0000000080002c38 <test_13>: + 80002c38: 00d00193 li gp,13 + 80002c3c: 00001517 auipc a0,0x1 + 80002c40: 4a450513 addi a0,a0,1188 # 800040e0 <test_13_data> + 80002c44: 00053007 fld ft0,0(a0) + 80002c48: 00853087 fld ft1,8(a0) + 80002c4c: 01053107 fld ft2,16(a0) + 80002c50: 01853683 ld a3,24(a0) + 80002c54: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002c58: e2018553 fmv.x.d a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00000613 li a2,0 + 80002c64: 20d51a63 bne a0,a3,80002e78 <fail> + 80002c68: 20c59863 bne a1,a2,80002e78 <fail> + +0000000080002c6c <test_14>: + 80002c6c: 00e00193 li gp,14 + 80002c70: 00001517 auipc a0,0x1 + 80002c74: 49050513 addi a0,a0,1168 # 80004100 <test_14_data> + 80002c78: 00053007 fld ft0,0(a0) + 80002c7c: 00853087 fld ft1,8(a0) + 80002c80: 01053107 fld ft2,16(a0) + 80002c84: 01853683 ld a3,24(a0) + 80002c88: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002c8c: e2018553 fmv.x.d a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00000613 li a2,0 + 80002c98: 1ed51063 bne a0,a3,80002e78 <fail> + 80002c9c: 1cc59e63 bne a1,a2,80002e78 <fail> + +0000000080002ca0 <test_15>: + 80002ca0: 00f00193 li gp,15 + 80002ca4: 00001517 auipc a0,0x1 + 80002ca8: 47c50513 addi a0,a0,1148 # 80004120 <test_15_data> + 80002cac: 00053007 fld ft0,0(a0) + 80002cb0: 00853087 fld ft1,8(a0) + 80002cb4: 01053107 fld ft2,16(a0) + 80002cb8: 01853683 ld a3,24(a0) + 80002cbc: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002cc0: e2018553 fmv.x.d a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 00000613 li a2,0 + 80002ccc: 1ad51663 bne a0,a3,80002e78 <fail> + 80002cd0: 1ac59463 bne a1,a2,80002e78 <fail> + +0000000080002cd4 <test_16>: + 80002cd4: 01000193 li gp,16 + 80002cd8: 00001517 auipc a0,0x1 + 80002cdc: 46850513 addi a0,a0,1128 # 80004140 <test_16_data> + 80002ce0: 00053007 fld ft0,0(a0) + 80002ce4: 00853087 fld ft1,8(a0) + 80002ce8: 01053107 fld ft2,16(a0) + 80002cec: 01853683 ld a3,24(a0) + 80002cf0: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002cf4: e2018553 fmv.x.d a0,ft3 + 80002cf8: 001015f3 fsflags a1,zero + 80002cfc: 00000613 li a2,0 + 80002d00: 16d51c63 bne a0,a3,80002e78 <fail> + 80002d04: 16c59a63 bne a1,a2,80002e78 <fail> + +0000000080002d08 <test_17>: + 80002d08: 01100193 li gp,17 + 80002d0c: 00001517 auipc a0,0x1 + 80002d10: 45450513 addi a0,a0,1108 # 80004160 <test_17_data> + 80002d14: 00053007 fld ft0,0(a0) + 80002d18: 00853087 fld ft1,8(a0) + 80002d1c: 01053107 fld ft2,16(a0) + 80002d20: 01853683 ld a3,24(a0) + 80002d24: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002d28: e2018553 fmv.x.d a0,ft3 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 14d51263 bne a0,a3,80002e78 <fail> + 80002d38: 14c59063 bne a1,a2,80002e78 <fail> + +0000000080002d3c <test_20>: + 80002d3c: 01400193 li gp,20 + 80002d40: 00001517 auipc a0,0x1 + 80002d44: 44050513 addi a0,a0,1088 # 80004180 <test_20_data> + 80002d48: 00053007 fld ft0,0(a0) + 80002d4c: 00853087 fld ft1,8(a0) + 80002d50: 01053107 fld ft2,16(a0) + 80002d54: 01853683 ld a3,24(a0) + 80002d58: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002d5c: e2018553 fmv.x.d a0,ft3 + 80002d60: 001015f3 fsflags a1,zero + 80002d64: 01000613 li a2,16 + 80002d68: 10d51863 bne a0,a3,80002e78 <fail> + 80002d6c: 10c59663 bne a1,a2,80002e78 <fail> + +0000000080002d70 <test_21>: + 80002d70: 01500193 li gp,21 + 80002d74: 00001517 auipc a0,0x1 + 80002d78: 42c50513 addi a0,a0,1068 # 800041a0 <test_21_data> + 80002d7c: 00053007 fld ft0,0(a0) + 80002d80: 00853087 fld ft1,8(a0) + 80002d84: 01053107 fld ft2,16(a0) + 80002d88: 01853683 ld a3,24(a0) + 80002d8c: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002d90: e2018553 fmv.x.d a0,ft3 + 80002d94: 001015f3 fsflags a1,zero + 80002d98: 00000613 li a2,0 + 80002d9c: 0cd51e63 bne a0,a3,80002e78 <fail> + 80002da0: 0cc59c63 bne a1,a2,80002e78 <fail> + +0000000080002da4 <test_30>: + 80002da4: 01e00193 li gp,30 + 80002da8: 00001517 auipc a0,0x1 + 80002dac: 41850513 addi a0,a0,1048 # 800041c0 <test_30_data> + 80002db0: 00053007 fld ft0,0(a0) + 80002db4: 00853087 fld ft1,8(a0) + 80002db8: 01053107 fld ft2,16(a0) + 80002dbc: 01853683 ld a3,24(a0) + 80002dc0: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002dc4: e2018553 fmv.x.d a0,ft3 + 80002dc8: 001015f3 fsflags a1,zero + 80002dcc: 00000613 li a2,0 + 80002dd0: 0ad51463 bne a0,a3,80002e78 <fail> + 80002dd4: 0ac59263 bne a1,a2,80002e78 <fail> + +0000000080002dd8 <test_31>: + 80002dd8: 01f00193 li gp,31 + 80002ddc: 00001517 auipc a0,0x1 + 80002de0: 40450513 addi a0,a0,1028 # 800041e0 <test_31_data> + 80002de4: 00053007 fld ft0,0(a0) + 80002de8: 00853087 fld ft1,8(a0) + 80002dec: 01053107 fld ft2,16(a0) + 80002df0: 01853683 ld a3,24(a0) + 80002df4: 2a1001d3 fmin.d ft3,ft0,ft1 + 80002df8: e2018553 fmv.x.d a0,ft3 + 80002dfc: 001015f3 fsflags a1,zero + 80002e00: 00000613 li a2,0 + 80002e04: 06d51a63 bne a0,a3,80002e78 <fail> + 80002e08: 06c59863 bne a1,a2,80002e78 <fail> + +0000000080002e0c <test_32>: + 80002e0c: 02000193 li gp,32 + 80002e10: 00001517 auipc a0,0x1 + 80002e14: 3f050513 addi a0,a0,1008 # 80004200 <test_32_data> + 80002e18: 00053007 fld ft0,0(a0) + 80002e1c: 00853087 fld ft1,8(a0) + 80002e20: 01053107 fld ft2,16(a0) + 80002e24: 01853683 ld a3,24(a0) + 80002e28: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002e2c: e2018553 fmv.x.d a0,ft3 + 80002e30: 001015f3 fsflags a1,zero + 80002e34: 00000613 li a2,0 + 80002e38: 04d51063 bne a0,a3,80002e78 <fail> + 80002e3c: 02c59e63 bne a1,a2,80002e78 <fail> + +0000000080002e40 <test_33>: + 80002e40: 02100193 li gp,33 + 80002e44: 00001517 auipc a0,0x1 + 80002e48: 3dc50513 addi a0,a0,988 # 80004220 <test_33_data> + 80002e4c: 00053007 fld ft0,0(a0) + 80002e50: 00853087 fld ft1,8(a0) + 80002e54: 01053107 fld ft2,16(a0) + 80002e58: 01853683 ld a3,24(a0) + 80002e5c: 2a1011d3 fmax.d ft3,ft0,ft1 + 80002e60: e2018553 fmv.x.d a0,ft3 + 80002e64: 001015f3 fsflags a1,zero + 80002e68: 00000613 li a2,0 + 80002e6c: 00d51663 bne a0,a3,80002e78 <fail> + 80002e70: 00c59463 bne a1,a2,80002e78 <fail> + 80002e74: 00301a63 bne zero,gp,80002e88 <pass> + +0000000080002e78 <fail>: + 80002e78: 00119513 slli a0,gp,0x1 + 80002e7c: 00050063 beqz a0,80002e7c <fail+0x4> + 80002e80: 00156513 ori a0,a0,1 + 80002e84: 00000073 ecall + +0000000080002e88 <pass>: + 80002e88: 00100513 li a0,1 + 80002e8c: 00000073 ecall + 80002e90: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <test_2_data>: + 80004000: 0000 unimp + 80004002: 0000 unimp + 80004004: 0000 unimp + 80004006: 4004 lw s1,0(s0) + 80004008: 0000 unimp + 8000400a: 0000 unimp + 8000400c: 0000 unimp + 8000400e: 3ff0 fld fa2,248(a5) + 80004010: 0000 unimp + 80004012: 0000 unimp + 80004014: 0000 unimp + 80004016: 0000 unimp + 80004018: 0000 unimp + 8000401a: 0000 unimp + 8000401c: 0000 unimp + 8000401e: 3ff0 fld fa2,248(a5) + +0000000080004020 <test_3_data>: + 80004020: 6666 ld a2,88(sp) + 80004022: 6666 ld a2,88(sp) + 80004024: 4c66 lw s8,88(sp) + 80004026: 999ac093 xori ra,s5,-1639 + 8000402a: 9999 andi a1,a1,-26 + 8000402c: 9999 andi a1,a1,-26 + 8000402e: 3ff1 addiw t6,t6,-4 + 80004030: 0000 unimp + 80004032: 0000 unimp + 80004034: 0000 unimp + 80004036: 0000 unimp + 80004038: 6666 ld a2,88(sp) + 8000403a: 6666 ld a2,88(sp) + 8000403c: 4c66 lw s8,88(sp) + 8000403e: xori ra,s5,-1639 + +0000000080004040 <test_4_data>: + 80004040: 999a add s3,s3,t1 + 80004042: 9999 andi a1,a1,-26 + 80004044: 9999 andi a1,a1,-26 + 80004046: 3ff1 addiw t6,t6,-4 + 80004048: 6666 ld a2,88(sp) + 8000404a: 6666 ld a2,88(sp) + 8000404c: 4c66 lw s8,88(sp) + 8000404e: 0000c093 xori ra,ra,0 + 80004052: 0000 unimp + 80004054: 0000 unimp + 80004056: 0000 unimp + 80004058: 6666 ld a2,88(sp) + 8000405a: 6666 ld a2,88(sp) + 8000405c: 4c66 lw s8,88(sp) + 8000405e: not ra,t6 + +0000000080004060 <test_5_data>: + 80004060: ffff 0xffff + 80004062: ffff 0xffff + 80004064: ffff 0xffff + 80004066: 7fff 0x7fff + 80004068: 6666 ld a2,88(sp) + 8000406a: 6666 ld a2,88(sp) + 8000406c: 4c66 lw s8,88(sp) + 8000406e: 0000c093 xori ra,ra,0 + 80004072: 0000 unimp + 80004074: 0000 unimp + 80004076: 0000 unimp + 80004078: 6666 ld a2,88(sp) + 8000407a: 6666 ld a2,88(sp) + 8000407c: 4c66 lw s8,88(sp) + 8000407e: xori ra,gp,-689 + +0000000080004080 <test_6_data>: + 80004080: d4f1 beqz s1,8000404c <test_4_data+0xc> + 80004082: 53c8 lw a0,36(a5) + 80004084: 400921fb 0x400921fb + 80004088: 8c3a mv s8,a4 + 8000408a: e230 sd a2,64(a2) + 8000408c: 798e ld s3,224(sp) + 8000408e: 3e45 addiw t3,t3,-15 + 80004090: 0000 unimp + 80004092: 0000 unimp + 80004094: 0000 unimp + 80004096: 0000 unimp + 80004098: 8c3a mv s8,a4 + 8000409a: e230 sd a2,64(a2) + 8000409c: 798e ld s3,224(sp) + 8000409e: 3e45 addiw t3,t3,-15 + +00000000800040a0 <test_7_data>: + 800040a0: 0000 unimp + 800040a2: 0000 unimp + 800040a4: 0000 unimp + 800040a6: bff0 fsd fa2,248(a5) + 800040a8: 0000 unimp + 800040aa: 0000 unimp + 800040ac: 0000 unimp + 800040ae: c000 sw s0,0(s0) + 800040b0: 0000 unimp + 800040b2: 0000 unimp + 800040b4: 0000 unimp + 800040b6: 0000 unimp + 800040b8: 0000 unimp + 800040ba: 0000 unimp + 800040bc: 0000 unimp + 800040be: c000 sw s0,0(s0) + +00000000800040c0 <test_12_data>: + 800040c0: 0000 unimp + 800040c2: 0000 unimp + 800040c4: 0000 unimp + 800040c6: 4004 lw s1,0(s0) + 800040c8: 0000 unimp + 800040ca: 0000 unimp + 800040cc: 0000 unimp + 800040ce: 3ff0 fld fa2,248(a5) + 800040d0: 0000 unimp + 800040d2: 0000 unimp + 800040d4: 0000 unimp + 800040d6: 0000 unimp + 800040d8: 0000 unimp + 800040da: 0000 unimp + 800040dc: 0000 unimp + 800040de: 4004 lw s1,0(s0) + +00000000800040e0 <test_13_data>: + 800040e0: 6666 ld a2,88(sp) + 800040e2: 6666 ld a2,88(sp) + 800040e4: 4c66 lw s8,88(sp) + 800040e6: 999ac093 xori ra,s5,-1639 + 800040ea: 9999 andi a1,a1,-26 + 800040ec: 9999 andi a1,a1,-26 + 800040ee: 3ff1 addiw t6,t6,-4 + 800040f0: 0000 unimp + 800040f2: 0000 unimp + 800040f4: 0000 unimp + 800040f6: 0000 unimp + 800040f8: 999a add s3,s3,t1 + 800040fa: 9999 andi a1,a1,-26 + 800040fc: 9999 andi a1,a1,-26 + 800040fe: 3ff1 addiw t6,t6,-4 + +0000000080004100 <test_14_data>: + 80004100: 999a add s3,s3,t1 + 80004102: 9999 andi a1,a1,-26 + 80004104: 9999 andi a1,a1,-26 + 80004106: 3ff1 addiw t6,t6,-4 + 80004108: 6666 ld a2,88(sp) + 8000410a: 6666 ld a2,88(sp) + 8000410c: 4c66 lw s8,88(sp) + 8000410e: 0000c093 xori ra,ra,0 + 80004112: 0000 unimp + 80004114: 0000 unimp + 80004116: 0000 unimp + 80004118: 999a add s3,s3,t1 + 8000411a: 9999 andi a1,a1,-26 + 8000411c: 9999 andi a1,a1,-26 + 8000411e: 3ff1 addiw t6,t6,-4 + +0000000080004120 <test_15_data>: + 80004120: ffff 0xffff + 80004122: ffff 0xffff + 80004124: ffff 0xffff + 80004126: 7fff 0x7fff + 80004128: 6666 ld a2,88(sp) + 8000412a: 6666 ld a2,88(sp) + 8000412c: 4c66 lw s8,88(sp) + 8000412e: 0000c093 xori ra,ra,0 + 80004132: 0000 unimp + 80004134: 0000 unimp + 80004136: 0000 unimp + 80004138: 6666 ld a2,88(sp) + 8000413a: 6666 ld a2,88(sp) + 8000413c: 4c66 lw s8,88(sp) + 8000413e: xori ra,gp,-689 + +0000000080004140 <test_16_data>: + 80004140: d4f1 beqz s1,8000410c <test_14_data+0xc> + 80004142: 53c8 lw a0,36(a5) + 80004144: 400921fb 0x400921fb + 80004148: 8c3a mv s8,a4 + 8000414a: e230 sd a2,64(a2) + 8000414c: 798e ld s3,224(sp) + 8000414e: 3e45 addiw t3,t3,-15 + 80004150: 0000 unimp + 80004152: 0000 unimp + 80004154: 0000 unimp + 80004156: 0000 unimp + 80004158: d4f1 beqz s1,80004124 <test_15_data+0x4> + 8000415a: 53c8 lw a0,36(a5) + 8000415c: 400921fb 0x400921fb + +0000000080004160 <test_17_data>: + 80004160: 0000 unimp + 80004162: 0000 unimp + 80004164: 0000 unimp + 80004166: bff0 fsd fa2,248(a5) + 80004168: 0000 unimp + 8000416a: 0000 unimp + 8000416c: 0000 unimp + 8000416e: c000 sw s0,0(s0) + 80004170: 0000 unimp + 80004172: 0000 unimp + 80004174: 0000 unimp + 80004176: 0000 unimp + 80004178: 0000 unimp + 8000417a: 0000 unimp + 8000417c: 0000 unimp + 8000417e: bff0 fsd fa2,248(a5) + +0000000080004180 <test_20_data>: + 80004180: 0001 nop + 80004182: 0000 unimp + 80004184: 0000 unimp + 80004186: 7ff0 ld a2,248(a5) + 80004188: 0000 unimp + 8000418a: 0000 unimp + 8000418c: 0000 unimp + 8000418e: 3ff0 fld fa2,248(a5) + 80004190: 0000 unimp + 80004192: 0000 unimp + 80004194: 0000 unimp + 80004196: 0000 unimp + 80004198: 0000 unimp + 8000419a: 0000 unimp + 8000419c: 0000 unimp + 8000419e: 3ff0 fld fa2,248(a5) + +00000000800041a0 <test_21_data>: + 800041a0: ffff 0xffff + 800041a2: ffff 0xffff + 800041a4: ffff 0xffff + 800041a6: 7fff 0x7fff + 800041a8: ffff 0xffff + 800041aa: ffff 0xffff + 800041ac: ffff 0xffff + 800041ae: 7fff 0x7fff + 800041b0: 0000 unimp + 800041b2: 0000 unimp + 800041b4: 0000 unimp + 800041b6: 0000 unimp + 800041b8: 0000 unimp + 800041ba: 0000 unimp + 800041bc: 0000 unimp + 800041be: 7ff8 ld a4,248(a5) + +00000000800041c0 <test_30_data>: + 800041c0: 0000 unimp + 800041c2: 0000 unimp + 800041c4: 0000 unimp + 800041c6: 8000 0x8000 + 800041c8: 0000 unimp + 800041ca: 0000 unimp + 800041cc: 0000 unimp + 800041ce: 0000 unimp + 800041d0: 0000 unimp + 800041d2: 0000 unimp + 800041d4: 0000 unimp + 800041d6: 0000 unimp + 800041d8: 0000 unimp + 800041da: 0000 unimp + 800041dc: 0000 unimp + 800041de: 8000 0x8000 + +00000000800041e0 <test_31_data>: + 800041e0: 0000 unimp + 800041e2: 0000 unimp + 800041e4: 0000 unimp + 800041e6: 0000 unimp + 800041e8: 0000 unimp + 800041ea: 0000 unimp + 800041ec: 0000 unimp + 800041ee: 8000 0x8000 + 800041f0: 0000 unimp + 800041f2: 0000 unimp + 800041f4: 0000 unimp + 800041f6: 0000 unimp + 800041f8: 0000 unimp + 800041fa: 0000 unimp + 800041fc: 0000 unimp + 800041fe: 8000 0x8000 + +0000000080004200 <test_32_data>: + 80004200: 0000 unimp + 80004202: 0000 unimp + 80004204: 0000 unimp + 80004206: 8000 0x8000 + 80004208: 0000 unimp + 8000420a: 0000 unimp + 8000420c: 0000 unimp + 8000420e: 0000 unimp + 80004210: 0000 unimp + 80004212: 0000 unimp + 80004214: 0000 unimp + 80004216: 0000 unimp + 80004218: 0000 unimp + 8000421a: 0000 unimp + 8000421c: 0000 unimp + 8000421e: 0000 unimp + +0000000080004220 <test_33_data>: + 80004220: 0000 unimp + 80004222: 0000 unimp + 80004224: 0000 unimp + 80004226: 0000 unimp + 80004228: 0000 unimp + 8000422a: 0000 unimp + 8000422c: 0000 unimp + 8000422e: 8000 0x8000 + 80004230: 0000 unimp + 80004232: 0000 unimp + 80004234: 0000 unimp + 80004236: 0000 unimp + 80004238: 0000 unimp + 8000423a: 0000 unimp + 8000423c: 0000 unimp + 8000423e: 0000 unimp diff --git a/test/riscv-tests/rv64ud-v-fmin.elf b/test/riscv-tests/rv64ud-v-fmin.elf Binary files differnew file mode 100644 index 0000000..d8db4de --- /dev/null +++ b/test/riscv-tests/rv64ud-v-fmin.elf diff --git a/test/riscv-tests/rv64uf-p-fadd.dump b/test/riscv-tests/rv64uf-p-fadd.dump new file mode 100644 index 0000000..e8270cc --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fadd.dump @@ -0,0 +1,342 @@ + +rv64uf-p-fadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: 001071d3 fadd.s ft3,ft0,ft1 + 80000128: e0018553 fmv.x.w a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 1ed51063 bne a0,a3,80000314 <fail> + 80000138: 1cc59e63 bne a1,a2,80000314 <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> + 80000148: 00052007 flw ft0,0(a0) + 8000014c: 00452087 flw ft1,4(a0) + 80000150: 00852107 flw ft2,8(a0) + 80000154: 00c52683 lw a3,12(a0) + 80000158: 001071d3 fadd.s ft3,ft0,ft1 + 8000015c: e0018553 fmv.x.w a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 1ad51663 bne a0,a3,80000314 <fail> + 8000016c: 1ac59463 bne a1,a2,80000314 <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> + 8000017c: 00052007 flw ft0,0(a0) + 80000180: 00452087 flw ft1,4(a0) + 80000184: 00852107 flw ft2,8(a0) + 80000188: 00c52683 lw a3,12(a0) + 8000018c: 001071d3 fadd.s ft3,ft0,ft1 + 80000190: e0018553 fmv.x.w a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00100613 li a2,1 + 8000019c: 16d51c63 bne a0,a3,80000314 <fail> + 800001a0: 16c59a63 bne a1,a2,80000314 <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> + 800001b0: 00052007 flw ft0,0(a0) + 800001b4: 00452087 flw ft1,4(a0) + 800001b8: 00852107 flw ft2,8(a0) + 800001bc: 00c52683 lw a3,12(a0) + 800001c0: 081071d3 fsub.s ft3,ft0,ft1 + 800001c4: e0018553 fmv.x.w a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 14d51263 bne a0,a3,80000314 <fail> + 800001d4: 14c59063 bne a1,a2,80000314 <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> + 800001e4: 00052007 flw ft0,0(a0) + 800001e8: 00452087 flw ft1,4(a0) + 800001ec: 00852107 flw ft2,8(a0) + 800001f0: 00c52683 lw a3,12(a0) + 800001f4: 081071d3 fsub.s ft3,ft0,ft1 + 800001f8: e0018553 fmv.x.w a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00100613 li a2,1 + 80000204: 10d51863 bne a0,a3,80000314 <fail> + 80000208: 10c59663 bne a1,a2,80000314 <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> + 80000218: 00052007 flw ft0,0(a0) + 8000021c: 00452087 flw ft1,4(a0) + 80000220: 00852107 flw ft2,8(a0) + 80000224: 00c52683 lw a3,12(a0) + 80000228: 081071d3 fsub.s ft3,ft0,ft1 + 8000022c: e0018553 fmv.x.w a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00100613 li a2,1 + 80000238: 0cd51e63 bne a0,a3,80000314 <fail> + 8000023c: 0cc59c63 bne a1,a2,80000314 <fail> + +0000000080000240 <test_8>: + 80000240: 00800193 li gp,8 + 80000244: 00002517 auipc a0,0x2 + 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data> + 8000024c: 00052007 flw ft0,0(a0) + 80000250: 00452087 flw ft1,4(a0) + 80000254: 00852107 flw ft2,8(a0) + 80000258: 00c52683 lw a3,12(a0) + 8000025c: 101071d3 fmul.s ft3,ft0,ft1 + 80000260: e0018553 fmv.x.w a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 0ad51463 bne a0,a3,80000314 <fail> + 80000270: 0ac59263 bne a1,a2,80000314 <fail> + +0000000080000274 <test_9>: + 80000274: 00900193 li gp,9 + 80000278: 00002517 auipc a0,0x2 + 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data> + 80000280: 00052007 flw ft0,0(a0) + 80000284: 00452087 flw ft1,4(a0) + 80000288: 00852107 flw ft2,8(a0) + 8000028c: 00c52683 lw a3,12(a0) + 80000290: 101071d3 fmul.s ft3,ft0,ft1 + 80000294: e0018553 fmv.x.w a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00100613 li a2,1 + 800002a0: 06d51a63 bne a0,a3,80000314 <fail> + 800002a4: 06c59863 bne a1,a2,80000314 <fail> + +00000000800002a8 <test_10>: + 800002a8: 00a00193 li gp,10 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data> + 800002b4: 00052007 flw ft0,0(a0) + 800002b8: 00452087 flw ft1,4(a0) + 800002bc: 00852107 flw ft2,8(a0) + 800002c0: 00c52683 lw a3,12(a0) + 800002c4: 101071d3 fmul.s ft3,ft0,ft1 + 800002c8: e0018553 fmv.x.w a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00100613 li a2,1 + 800002d4: 04d51063 bne a0,a3,80000314 <fail> + 800002d8: 02c59e63 bne a1,a2,80000314 <fail> + +00000000800002dc <test_11>: + 800002dc: 00b00193 li gp,11 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data> + 800002e8: 00052007 flw ft0,0(a0) + 800002ec: 00452087 flw ft1,4(a0) + 800002f0: 00852107 flw ft2,8(a0) + 800002f4: 00c52683 lw a3,12(a0) + 800002f8: 081071d3 fsub.s ft3,ft0,ft1 + 800002fc: e0018553 fmv.x.w a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 01000613 li a2,16 + 80000308: 00d51663 bne a0,a3,80000314 <fail> + 8000030c: 00c59463 bne a1,a2,80000314 <fail> + 80000310: 00301c63 bne zero,gp,80000328 <pass> + +0000000080000314 <fail>: + 80000314: 0ff0000f fence + 80000318: 00018063 beqz gp,80000318 <fail+0x4> + 8000031c: 00119193 slli gp,gp,0x1 + 80000320: 0011e193 ori gp,gp,1 + 80000324: 00000073 ecall + +0000000080000328 <pass>: + 80000328: 0ff0000f fence + 8000032c: 00100193 li gp,1 + 80000330: 00000073 ecall + 80000334: c0001073 unimp + 80000338: 0000 unimp + 8000033a: 0000 unimp + 8000033c: 0000 unimp + 8000033e: 0000 unimp + 80000340: 0000 unimp + 80000342: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 4020 lw s0,64(s0) + 80002004: 0000 unimp + 80002006: 3f80 fld fs0,56(a5) + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 4060 lw s0,68(s0) + +0000000080002010 <test_3_data>: + 80002010: c49a6333 0xc49a6333 + 80002014: cccd beqz s1,800020ce <_end+0x2e> + 80002016: 3f8c fld fa1,56(a5) + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 4000 lw s0,0(s0) + 8000201e: c49a sw t1,72(sp) + +0000000080002020 <test_4_data>: + 80002020: 40490fdb 0x40490fdb + 80002024: 322bcc77 0x322bcc77 + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 40490fdb 0x40490fdb + +0000000080002030 <test_5_data>: + 80002030: 0000 unimp + 80002032: 4020 lw s0,64(s0) + 80002034: 0000 unimp + 80002036: 3f80 fld fs0,56(a5) + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: 0000 unimp + 8000203e: 3fc0 fld fs0,184(a5) + +0000000080002040 <test_6_data>: + 80002040: c49a6333 0xc49a6333 + 80002044: cccd beqz s1,800020fe <_end+0x5e> + 80002046: bf8c fsd fa1,56(a5) + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 4000 lw s0,0(s0) + 8000204e: c49a sw t1,72(sp) + +0000000080002050 <test_7_data>: + 80002050: 40490fdb 0x40490fdb + 80002054: 322bcc77 0x322bcc77 + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 40490fdb 0x40490fdb + +0000000080002060 <test_8_data>: + 80002060: 0000 unimp + 80002062: 4020 lw s0,64(s0) + 80002064: 0000 unimp + 80002066: 3f80 fld fs0,56(a5) + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 4020 lw s0,64(s0) + +0000000080002070 <test_9_data>: + 80002070: c49a6333 0xc49a6333 + 80002074: cccd beqz s1,8000212e <_end+0x8e> + 80002076: bf8c fsd fa1,56(a5) + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: d385 beqz a5,80001f9c <fromhost+0xf5c> + 8000207e: 44a9 li s1,10 + +0000000080002080 <test_10_data>: + 80002080: 40490fdb 0x40490fdb + 80002084: 322bcc77 0x322bcc77 + 80002088: 0000 unimp + 8000208a: 0000 unimp + 8000208c: ee2d bnez a2,80002106 <_end+0x66> + 8000208e: 3306 fld ft6,96(sp) + +0000000080002090 <test_11_data>: + 80002090: 0000 unimp + 80002092: 7f80 ld s0,56(a5) + 80002094: 0000 unimp + 80002096: 7f80 ld s0,56(a5) + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 7fc0 ld s0,184(a5) diff --git a/test/riscv-tests/rv64uf-p-fadd.elf b/test/riscv-tests/rv64uf-p-fadd.elf Binary files differnew file mode 100644 index 0000000..e4c4a5b --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fadd.elf diff --git a/test/riscv-tests/rv64uf-p-fclass.dump b/test/riscv-tests/rv64uf-p-fclass.dump new file mode 100644 index 0000000..79c4968 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fclass.dump @@ -0,0 +1,186 @@ + +rv64uf-p-fclass: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 1ff0051b addiw a0,zero,511 + 8000010c: 01751513 slli a0,a0,0x17 + 80000110: f0050553 fmv.w.x fa0,a0 + 80000114: e0051553 fclass.s a0,fa0 + 80000118: 00100e93 li t4,1 + 8000011c: 00200193 li gp,2 + 80000120: 0fd51c63 bne a0,t4,80000218 <fail> + +0000000080000124 <test_3>: + 80000124: 17f0051b addiw a0,zero,383 + 80000128: 01751513 slli a0,a0,0x17 + 8000012c: f0050553 fmv.w.x fa0,a0 + 80000130: e0051553 fclass.s a0,fa0 + 80000134: 00200e93 li t4,2 + 80000138: 00300193 li gp,3 + 8000013c: 0dd51e63 bne a0,t4,80000218 <fail> + +0000000080000140 <test_4>: + 80000140: 1010051b addiw a0,zero,257 + 80000144: 01751513 slli a0,a0,0x17 + 80000148: fff50513 addi a0,a0,-1 # 1fff <_start-0x7fffe001> + 8000014c: f0050553 fmv.w.x fa0,a0 + 80000150: e0051553 fclass.s a0,fa0 + 80000154: 00400e93 li t4,4 + 80000158: 00400193 li gp,4 + 8000015c: 0bd51e63 bne a0,t4,80000218 <fail> + +0000000080000160 <test_5>: + 80000160: 0010051b addiw a0,zero,1 + 80000164: 01f51513 slli a0,a0,0x1f + 80000168: f0050553 fmv.w.x fa0,a0 + 8000016c: e0051553 fclass.s a0,fa0 + 80000170: 00800e93 li t4,8 + 80000174: 00500193 li gp,5 + 80000178: 0bd51063 bne a0,t4,80000218 <fail> + +000000008000017c <test_6>: + 8000017c: 00000513 li a0,0 + 80000180: f0050553 fmv.w.x fa0,a0 + 80000184: e0051553 fclass.s a0,fa0 + 80000188: 01000e93 li t4,16 + 8000018c: 00600193 li gp,6 + 80000190: 09d51463 bne a0,t4,80000218 <fail> + +0000000080000194 <test_7>: + 80000194: 00800537 lui a0,0x800 + 80000198: fff5051b addiw a0,a0,-1 + 8000019c: f0050553 fmv.w.x fa0,a0 + 800001a0: e0051553 fclass.s a0,fa0 + 800001a4: 02000e93 li t4,32 + 800001a8: 00700193 li gp,7 + 800001ac: 07d51663 bne a0,t4,80000218 <fail> + +00000000800001b0 <test_8>: + 800001b0: 3f800537 lui a0,0x3f800 + 800001b4: f0050553 fmv.w.x fa0,a0 + 800001b8: e0051553 fclass.s a0,fa0 + 800001bc: 04000e93 li t4,64 + 800001c0: 00800193 li gp,8 + 800001c4: 05d51a63 bne a0,t4,80000218 <fail> + +00000000800001c8 <test_9>: + 800001c8: 7f800537 lui a0,0x7f800 + 800001cc: f0050553 fmv.w.x fa0,a0 + 800001d0: e0051553 fclass.s a0,fa0 + 800001d4: 08000e93 li t4,128 + 800001d8: 00900193 li gp,9 + 800001dc: 03d51e63 bne a0,t4,80000218 <fail> + +00000000800001e0 <test_10>: + 800001e0: 7f800537 lui a0,0x7f800 + 800001e4: 0015051b addiw a0,a0,1 + 800001e8: f0050553 fmv.w.x fa0,a0 + 800001ec: e0051553 fclass.s a0,fa0 + 800001f0: 10000e93 li t4,256 + 800001f4: 00a00193 li gp,10 + 800001f8: 03d51063 bne a0,t4,80000218 <fail> + +00000000800001fc <test_11>: + 800001fc: 7fc00537 lui a0,0x7fc00 + 80000200: f0050553 fmv.w.x fa0,a0 + 80000204: e0051553 fclass.s a0,fa0 + 80000208: 20000e93 li t4,512 + 8000020c: 00b00193 li gp,11 + 80000210: 01d51463 bne a0,t4,80000218 <fail> + 80000214: 00301c63 bne zero,gp,8000022c <pass> + +0000000080000218 <fail>: + 80000218: 0ff0000f fence + 8000021c: 00018063 beqz gp,8000021c <fail+0x4> + 80000220: 00119193 slli gp,gp,0x1 + 80000224: 0011e193 ori gp,gp,1 + 80000228: 00000073 ecall + +000000008000022c <pass>: + 8000022c: 0ff0000f fence + 80000230: 00100193 li gp,1 + 80000234: 00000073 ecall + 80000238: c0001073 unimp + 8000023c: 0000 unimp + 8000023e: 0000 unimp + 80000240: 0000 unimp + 80000242: 0000 unimp diff --git a/test/riscv-tests/rv64uf-p-fclass.elf b/test/riscv-tests/rv64uf-p-fclass.elf Binary files differnew file mode 100644 index 0000000..eae8b27 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fclass.elf diff --git a/test/riscv-tests/rv64uf-p-fcmp.dump b/test/riscv-tests/rv64uf-p-fcmp.dump new file mode 100644 index 0000000..0fb4cb8 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcmp.dump @@ -0,0 +1,450 @@ + +rv64uf-p-fcmp: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: a0102553 feq.s a0,ft0,ft1 + 80000128: 001015f3 fsflags a1,zero + 8000012c: 00000613 li a2,0 + 80000130: 2ad51663 bne a0,a3,800003dc <fail> + 80000134: 2ac59463 bne a1,a2,800003dc <fail> + +0000000080000138 <test_3>: + 80000138: 00300193 li gp,3 + 8000013c: 00002517 auipc a0,0x2 + 80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data> + 80000144: 00052007 flw ft0,0(a0) + 80000148: 00452087 flw ft1,4(a0) + 8000014c: 00852107 flw ft2,8(a0) + 80000150: 00c52683 lw a3,12(a0) + 80000154: a0100553 fle.s a0,ft0,ft1 + 80000158: 001015f3 fsflags a1,zero + 8000015c: 00000613 li a2,0 + 80000160: 26d51e63 bne a0,a3,800003dc <fail> + 80000164: 26c59c63 bne a1,a2,800003dc <fail> + +0000000080000168 <test_4>: + 80000168: 00400193 li gp,4 + 8000016c: 00002517 auipc a0,0x2 + 80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data> + 80000174: 00052007 flw ft0,0(a0) + 80000178: 00452087 flw ft1,4(a0) + 8000017c: 00852107 flw ft2,8(a0) + 80000180: 00c52683 lw a3,12(a0) + 80000184: a0101553 flt.s a0,ft0,ft1 + 80000188: 001015f3 fsflags a1,zero + 8000018c: 00000613 li a2,0 + 80000190: 24d51663 bne a0,a3,800003dc <fail> + 80000194: 24c59463 bne a1,a2,800003dc <fail> + +0000000080000198 <test_5>: + 80000198: 00500193 li gp,5 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data> + 800001a4: 00052007 flw ft0,0(a0) + 800001a8: 00452087 flw ft1,4(a0) + 800001ac: 00852107 flw ft2,8(a0) + 800001b0: 00c52683 lw a3,12(a0) + 800001b4: a0102553 feq.s a0,ft0,ft1 + 800001b8: 001015f3 fsflags a1,zero + 800001bc: 00000613 li a2,0 + 800001c0: 20d51e63 bne a0,a3,800003dc <fail> + 800001c4: 20c59c63 bne a1,a2,800003dc <fail> + +00000000800001c8 <test_6>: + 800001c8: 00600193 li gp,6 + 800001cc: 00002517 auipc a0,0x2 + 800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data> + 800001d4: 00052007 flw ft0,0(a0) + 800001d8: 00452087 flw ft1,4(a0) + 800001dc: 00852107 flw ft2,8(a0) + 800001e0: 00c52683 lw a3,12(a0) + 800001e4: a0100553 fle.s a0,ft0,ft1 + 800001e8: 001015f3 fsflags a1,zero + 800001ec: 00000613 li a2,0 + 800001f0: 1ed51663 bne a0,a3,800003dc <fail> + 800001f4: 1ec59463 bne a1,a2,800003dc <fail> + +00000000800001f8 <test_7>: + 800001f8: 00700193 li gp,7 + 800001fc: 00002517 auipc a0,0x2 + 80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data> + 80000204: 00052007 flw ft0,0(a0) + 80000208: 00452087 flw ft1,4(a0) + 8000020c: 00852107 flw ft2,8(a0) + 80000210: 00c52683 lw a3,12(a0) + 80000214: a0101553 flt.s a0,ft0,ft1 + 80000218: 001015f3 fsflags a1,zero + 8000021c: 00000613 li a2,0 + 80000220: 1ad51e63 bne a0,a3,800003dc <fail> + 80000224: 1ac59c63 bne a1,a2,800003dc <fail> + +0000000080000228 <test_8>: + 80000228: 00800193 li gp,8 + 8000022c: 00002517 auipc a0,0x2 + 80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data> + 80000234: 00052007 flw ft0,0(a0) + 80000238: 00452087 flw ft1,4(a0) + 8000023c: 00852107 flw ft2,8(a0) + 80000240: 00c52683 lw a3,12(a0) + 80000244: a0102553 feq.s a0,ft0,ft1 + 80000248: 001015f3 fsflags a1,zero + 8000024c: 00000613 li a2,0 + 80000250: 18d51663 bne a0,a3,800003dc <fail> + 80000254: 18c59463 bne a1,a2,800003dc <fail> + +0000000080000258 <test_9>: + 80000258: 00900193 li gp,9 + 8000025c: 00002517 auipc a0,0x2 + 80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data> + 80000264: 00052007 flw ft0,0(a0) + 80000268: 00452087 flw ft1,4(a0) + 8000026c: 00852107 flw ft2,8(a0) + 80000270: 00c52683 lw a3,12(a0) + 80000274: a0102553 feq.s a0,ft0,ft1 + 80000278: 001015f3 fsflags a1,zero + 8000027c: 00000613 li a2,0 + 80000280: 14d51e63 bne a0,a3,800003dc <fail> + 80000284: 14c59c63 bne a1,a2,800003dc <fail> + +0000000080000288 <test_10>: + 80000288: 00a00193 li gp,10 + 8000028c: 00002517 auipc a0,0x2 + 80000290: df450513 addi a0,a0,-524 # 80002080 <test_10_data> + 80000294: 00052007 flw ft0,0(a0) + 80000298: 00452087 flw ft1,4(a0) + 8000029c: 00852107 flw ft2,8(a0) + 800002a0: 00c52683 lw a3,12(a0) + 800002a4: a0102553 feq.s a0,ft0,ft1 + 800002a8: 001015f3 fsflags a1,zero + 800002ac: 01000613 li a2,16 + 800002b0: 12d51663 bne a0,a3,800003dc <fail> + 800002b4: 12c59463 bne a1,a2,800003dc <fail> + +00000000800002b8 <test_11>: + 800002b8: 00b00193 li gp,11 + 800002bc: 00002517 auipc a0,0x2 + 800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_11_data> + 800002c4: 00052007 flw ft0,0(a0) + 800002c8: 00452087 flw ft1,4(a0) + 800002cc: 00852107 flw ft2,8(a0) + 800002d0: 00c52683 lw a3,12(a0) + 800002d4: a0101553 flt.s a0,ft0,ft1 + 800002d8: 001015f3 fsflags a1,zero + 800002dc: 01000613 li a2,16 + 800002e0: 0ed51e63 bne a0,a3,800003dc <fail> + 800002e4: 0ec59c63 bne a1,a2,800003dc <fail> + +00000000800002e8 <test_12>: + 800002e8: 00c00193 li gp,12 + 800002ec: 00002517 auipc a0,0x2 + 800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_12_data> + 800002f4: 00052007 flw ft0,0(a0) + 800002f8: 00452087 flw ft1,4(a0) + 800002fc: 00852107 flw ft2,8(a0) + 80000300: 00c52683 lw a3,12(a0) + 80000304: a0101553 flt.s a0,ft0,ft1 + 80000308: 001015f3 fsflags a1,zero + 8000030c: 01000613 li a2,16 + 80000310: 0cd51663 bne a0,a3,800003dc <fail> + 80000314: 0cc59463 bne a1,a2,800003dc <fail> + +0000000080000318 <test_13>: + 80000318: 00d00193 li gp,13 + 8000031c: 00002517 auipc a0,0x2 + 80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_13_data> + 80000324: 00052007 flw ft0,0(a0) + 80000328: 00452087 flw ft1,4(a0) + 8000032c: 00852107 flw ft2,8(a0) + 80000330: 00c52683 lw a3,12(a0) + 80000334: a0101553 flt.s a0,ft0,ft1 + 80000338: 001015f3 fsflags a1,zero + 8000033c: 01000613 li a2,16 + 80000340: 08d51e63 bne a0,a3,800003dc <fail> + 80000344: 08c59c63 bne a1,a2,800003dc <fail> + +0000000080000348 <test_14>: + 80000348: 00e00193 li gp,14 + 8000034c: 00002517 auipc a0,0x2 + 80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_14_data> + 80000354: 00052007 flw ft0,0(a0) + 80000358: 00452087 flw ft1,4(a0) + 8000035c: 00852107 flw ft2,8(a0) + 80000360: 00c52683 lw a3,12(a0) + 80000364: a0100553 fle.s a0,ft0,ft1 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 01000613 li a2,16 + 80000370: 06d51663 bne a0,a3,800003dc <fail> + 80000374: 06c59463 bne a1,a2,800003dc <fail> + +0000000080000378 <test_15>: + 80000378: 00f00193 li gp,15 + 8000037c: 00002517 auipc a0,0x2 + 80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_15_data> + 80000384: 00052007 flw ft0,0(a0) + 80000388: 00452087 flw ft1,4(a0) + 8000038c: 00852107 flw ft2,8(a0) + 80000390: 00c52683 lw a3,12(a0) + 80000394: a0100553 fle.s a0,ft0,ft1 + 80000398: 001015f3 fsflags a1,zero + 8000039c: 01000613 li a2,16 + 800003a0: 02d51e63 bne a0,a3,800003dc <fail> + 800003a4: 02c59c63 bne a1,a2,800003dc <fail> + +00000000800003a8 <test_16>: + 800003a8: 01000193 li gp,16 + 800003ac: 00002517 auipc a0,0x2 + 800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_16_data> + 800003b4: 00052007 flw ft0,0(a0) + 800003b8: 00452087 flw ft1,4(a0) + 800003bc: 00852107 flw ft2,8(a0) + 800003c0: 00c52683 lw a3,12(a0) + 800003c4: a0100553 fle.s a0,ft0,ft1 + 800003c8: 001015f3 fsflags a1,zero + 800003cc: 01000613 li a2,16 + 800003d0: 00d51663 bne a0,a3,800003dc <fail> + 800003d4: 00c59463 bne a1,a2,800003dc <fail> + 800003d8: 00301c63 bne zero,gp,800003f0 <pass> + +00000000800003dc <fail>: + 800003dc: 0ff0000f fence + 800003e0: 00018063 beqz gp,800003e0 <fail+0x4> + 800003e4: 00119193 slli gp,gp,0x1 + 800003e8: 0011e193 ori gp,gp,1 + 800003ec: 00000073 ecall + +00000000800003f0 <pass>: + 800003f0: 0ff0000f fence + 800003f4: 00100193 li gp,1 + 800003f8: 00000073 ecall + 800003fc: c0001073 unimp + 80000400: 0000 unimp + 80000402: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: bfae147b 0xbfae147b + 80002004: bfae147b 0xbfae147b + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0001 nop + 8000200e: 0000 unimp + +0000000080002010 <test_3_data>: + 80002010: bfae147b 0xbfae147b + 80002014: bfae147b 0xbfae147b + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 0001 nop + 8000201e: 0000 unimp + +0000000080002020 <test_4_data>: + 80002020: bfae147b 0xbfae147b + 80002024: bfae147b 0xbfae147b + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 0000 unimp + 8000202e: 0000 unimp + +0000000080002030 <test_5_data>: + 80002030: 5c29 li s8,-22 + 80002032: 147bbfaf 0x147bbfaf + 80002036: bfae fsd fa1,504(sp) + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: 0000 unimp + 8000203e: 0000 unimp + +0000000080002040 <test_6_data>: + 80002040: 5c29 li s8,-22 + 80002042: 147bbfaf 0x147bbfaf + 80002046: bfae fsd fa1,504(sp) + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0001 nop + 8000204e: 0000 unimp + +0000000080002050 <test_7_data>: + 80002050: 5c29 li s8,-22 + 80002052: 147bbfaf 0x147bbfaf + 80002056: bfae fsd fa1,504(sp) + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0001 nop + 8000205e: 0000 unimp + +0000000080002060 <test_8_data>: + 80002060: ffff 0xffff + 80002062: 7fff 0x7fff + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 0000 unimp + +0000000080002070 <test_9_data>: + 80002070: ffff 0xffff + 80002072: 7fff 0x7fff + 80002074: ffff 0xffff + 80002076: 7fff 0x7fff + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 0000 unimp + +0000000080002080 <test_10_data>: + 80002080: 0001 nop + 80002082: 7f80 ld s0,56(a5) + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: 0000 unimp + 8000208a: 0000 unimp + 8000208c: 0000 unimp + 8000208e: 0000 unimp + +0000000080002090 <test_11_data>: + 80002090: ffff 0xffff + 80002092: 7fff 0x7fff + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 0000 unimp + +00000000800020a0 <test_12_data>: + 800020a0: ffff 0xffff + 800020a2: 7fff 0x7fff + 800020a4: ffff 0xffff + 800020a6: 7fff 0x7fff + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: 0000 unimp + +00000000800020b0 <test_13_data>: + 800020b0: 0001 nop + 800020b2: 7f80 ld s0,56(a5) + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 0000 unimp + +00000000800020c0 <test_14_data>: + 800020c0: ffff 0xffff + 800020c2: 7fff 0x7fff + 800020c4: 0000 unimp + 800020c6: 0000 unimp + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 0000 unimp + +00000000800020d0 <test_15_data>: + 800020d0: ffff 0xffff + 800020d2: 7fff 0x7fff + 800020d4: ffff 0xffff + 800020d6: 7fff 0x7fff + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 0000 unimp + +00000000800020e0 <test_16_data>: + 800020e0: 0001 nop + 800020e2: 7f80 ld s0,56(a5) + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: 0000 unimp + 800020ea: 0000 unimp + 800020ec: 0000 unimp + 800020ee: 0000 unimp diff --git a/test/riscv-tests/rv64uf-p-fcmp.elf b/test/riscv-tests/rv64uf-p-fcmp.elf Binary files differnew file mode 100644 index 0000000..42039b2 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcmp.elf diff --git a/test/riscv-tests/rv64uf-p-fcvt.dump b/test/riscv-tests/rv64uf-p-fcvt.dump new file mode 100644 index 0000000..f46a881 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcvt.dump @@ -0,0 +1,243 @@ + +rv64uf-p-fcvt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052683 lw a3,0(a0) + 80000118: 00200513 li a0,2 + 8000011c: d0057053 fcvt.s.w ft0,a0 + 80000120: 00101073 fsflags zero + 80000124: e0000553 fmv.x.w a0,ft0 + 80000128: 10d51263 bne a0,a3,8000022c <fail> + +000000008000012c <test_3>: + 8000012c: 00300193 li gp,3 + 80000130: 00002517 auipc a0,0x2 + 80000134: ed450513 addi a0,a0,-300 # 80002004 <test_3_data> + 80000138: 00052683 lw a3,0(a0) + 8000013c: ffe00513 li a0,-2 + 80000140: d0057053 fcvt.s.w ft0,a0 + 80000144: 00101073 fsflags zero + 80000148: e0000553 fmv.x.w a0,ft0 + 8000014c: 0ed51063 bne a0,a3,8000022c <fail> + +0000000080000150 <test_4>: + 80000150: 00400193 li gp,4 + 80000154: 00002517 auipc a0,0x2 + 80000158: eb450513 addi a0,a0,-332 # 80002008 <test_4_data> + 8000015c: 00052683 lw a3,0(a0) + 80000160: 00200513 li a0,2 + 80000164: d0157053 fcvt.s.wu ft0,a0 + 80000168: 00101073 fsflags zero + 8000016c: e0000553 fmv.x.w a0,ft0 + 80000170: 0ad51e63 bne a0,a3,8000022c <fail> + +0000000080000174 <test_5>: + 80000174: 00500193 li gp,5 + 80000178: 00002517 auipc a0,0x2 + 8000017c: e9450513 addi a0,a0,-364 # 8000200c <test_5_data> + 80000180: 00052683 lw a3,0(a0) + 80000184: ffe00513 li a0,-2 + 80000188: d0157053 fcvt.s.wu ft0,a0 + 8000018c: 00101073 fsflags zero + 80000190: e0000553 fmv.x.w a0,ft0 + 80000194: 08d51c63 bne a0,a3,8000022c <fail> + +0000000080000198 <test_6>: + 80000198: 00600193 li gp,6 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: e7450513 addi a0,a0,-396 # 80002010 <test_6_data> + 800001a4: 00052683 lw a3,0(a0) + 800001a8: 00200513 li a0,2 + 800001ac: d0257053 fcvt.s.l ft0,a0 + 800001b0: 00101073 fsflags zero + 800001b4: e0000553 fmv.x.w a0,ft0 + 800001b8: 06d51a63 bne a0,a3,8000022c <fail> + +00000000800001bc <test_7>: + 800001bc: 00700193 li gp,7 + 800001c0: 00002517 auipc a0,0x2 + 800001c4: e5450513 addi a0,a0,-428 # 80002014 <test_7_data> + 800001c8: 00052683 lw a3,0(a0) + 800001cc: ffe00513 li a0,-2 + 800001d0: d0257053 fcvt.s.l ft0,a0 + 800001d4: 00101073 fsflags zero + 800001d8: e0000553 fmv.x.w a0,ft0 + 800001dc: 04d51863 bne a0,a3,8000022c <fail> + +00000000800001e0 <test_8>: + 800001e0: 00800193 li gp,8 + 800001e4: 00002517 auipc a0,0x2 + 800001e8: e3450513 addi a0,a0,-460 # 80002018 <test_8_data> + 800001ec: 00052683 lw a3,0(a0) + 800001f0: 00200513 li a0,2 + 800001f4: d0357053 fcvt.s.lu ft0,a0 + 800001f8: 00101073 fsflags zero + 800001fc: e0000553 fmv.x.w a0,ft0 + 80000200: 02d51663 bne a0,a3,8000022c <fail> + +0000000080000204 <test_9>: + 80000204: 00900193 li gp,9 + 80000208: 00002517 auipc a0,0x2 + 8000020c: e1450513 addi a0,a0,-492 # 8000201c <test_9_data> + 80000210: 00052683 lw a3,0(a0) + 80000214: ffe00513 li a0,-2 + 80000218: d0357053 fcvt.s.lu ft0,a0 + 8000021c: 00101073 fsflags zero + 80000220: e0000553 fmv.x.w a0,ft0 + 80000224: 00d51463 bne a0,a3,8000022c <fail> + 80000228: 00301c63 bne zero,gp,80000240 <pass> + +000000008000022c <fail>: + 8000022c: 0ff0000f fence + 80000230: 00018063 beqz gp,80000230 <fail+0x4> + 80000234: 00119193 slli gp,gp,0x1 + 80000238: 0011e193 ori gp,gp,1 + 8000023c: 00000073 ecall + +0000000080000240 <pass>: + 80000240: 0ff0000f fence + 80000244: 00100193 li gp,1 + 80000248: 00000073 ecall + 8000024c: c0001073 unimp + 80000250: 0000 unimp + 80000252: 0000 unimp + 80000254: 0000 unimp + 80000256: 0000 unimp + 80000258: 0000 unimp + 8000025a: 0000 unimp + 8000025c: 0000 unimp + 8000025e: 0000 unimp + 80000260: 0000 unimp + 80000262: 0000 unimp + 80000264: 0000 unimp + 80000266: 0000 unimp + 80000268: 0000 unimp + 8000026a: 0000 unimp + 8000026c: 0000 unimp + 8000026e: 0000 unimp + 80000270: 0000 unimp + 80000272: 0000 unimp + 80000274: 0000 unimp + 80000276: 0000 unimp + 80000278: 0000 unimp + 8000027a: 0000 unimp + 8000027c: 0000 unimp + 8000027e: 0000 unimp + 80000280: 0000 unimp + 80000282: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 4000 lw s0,0(s0) + +0000000080002004 <test_3_data>: + 80002004: 0000 unimp + 80002006: c000 sw s0,0(s0) + +0000000080002008 <test_4_data>: + 80002008: 0000 unimp + 8000200a: 4000 lw s0,0(s0) + +000000008000200c <test_5_data>: + 8000200c: 0000 unimp + 8000200e: 4f80 lw s0,24(a5) + +0000000080002010 <test_6_data>: + 80002010: 0000 unimp + 80002012: 4000 lw s0,0(s0) + +0000000080002014 <test_7_data>: + 80002014: 0000 unimp + 80002016: c000 sw s0,0(s0) + +0000000080002018 <test_8_data>: + 80002018: 0000 unimp + 8000201a: 4000 lw s0,0(s0) + +000000008000201c <test_9_data>: + 8000201c: 0000 unimp + 8000201e: 5f80 lw s0,56(a5) diff --git a/test/riscv-tests/rv64uf-p-fcvt.elf b/test/riscv-tests/rv64uf-p-fcvt.elf Binary files differnew file mode 100644 index 0000000..bfcbcf0 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcvt.elf diff --git a/test/riscv-tests/rv64uf-p-fcvt_w.dump b/test/riscv-tests/rv64uf-p-fcvt_w.dump new file mode 100644 index 0000000..26df961 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcvt_w.dump @@ -0,0 +1,1005 @@ + +rv64uf-p-fcvt_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: c0001553 fcvt.w.s a0,ft0,rtz + 80000128: 001015f3 fsflags a1,zero + 8000012c: 00100613 li a2,1 + 80000130: 72d51a63 bne a0,a3,80000864 <fail> + 80000134: 72c59863 bne a1,a2,80000864 <fail> + +0000000080000138 <test_3>: + 80000138: 00300193 li gp,3 + 8000013c: 00002517 auipc a0,0x2 + 80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data> + 80000144: 00052007 flw ft0,0(a0) + 80000148: 00452087 flw ft1,4(a0) + 8000014c: 00852107 flw ft2,8(a0) + 80000150: 00c52683 lw a3,12(a0) + 80000154: c0001553 fcvt.w.s a0,ft0,rtz + 80000158: 001015f3 fsflags a1,zero + 8000015c: 00000613 li a2,0 + 80000160: 70d51263 bne a0,a3,80000864 <fail> + 80000164: 70c59063 bne a1,a2,80000864 <fail> + +0000000080000168 <test_4>: + 80000168: 00400193 li gp,4 + 8000016c: 00002517 auipc a0,0x2 + 80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data> + 80000174: 00052007 flw ft0,0(a0) + 80000178: 00452087 flw ft1,4(a0) + 8000017c: 00852107 flw ft2,8(a0) + 80000180: 00c52683 lw a3,12(a0) + 80000184: c0001553 fcvt.w.s a0,ft0,rtz + 80000188: 001015f3 fsflags a1,zero + 8000018c: 00100613 li a2,1 + 80000190: 6cd51a63 bne a0,a3,80000864 <fail> + 80000194: 6cc59863 bne a1,a2,80000864 <fail> + +0000000080000198 <test_5>: + 80000198: 00500193 li gp,5 + 8000019c: 00002517 auipc a0,0x2 + 800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data> + 800001a4: 00052007 flw ft0,0(a0) + 800001a8: 00452087 flw ft1,4(a0) + 800001ac: 00852107 flw ft2,8(a0) + 800001b0: 00c52683 lw a3,12(a0) + 800001b4: c0001553 fcvt.w.s a0,ft0,rtz + 800001b8: 001015f3 fsflags a1,zero + 800001bc: 00100613 li a2,1 + 800001c0: 6ad51263 bne a0,a3,80000864 <fail> + 800001c4: 6ac59063 bne a1,a2,80000864 <fail> + +00000000800001c8 <test_6>: + 800001c8: 00600193 li gp,6 + 800001cc: 00002517 auipc a0,0x2 + 800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data> + 800001d4: 00052007 flw ft0,0(a0) + 800001d8: 00452087 flw ft1,4(a0) + 800001dc: 00852107 flw ft2,8(a0) + 800001e0: 00c52683 lw a3,12(a0) + 800001e4: c0001553 fcvt.w.s a0,ft0,rtz + 800001e8: 001015f3 fsflags a1,zero + 800001ec: 00000613 li a2,0 + 800001f0: 66d51a63 bne a0,a3,80000864 <fail> + 800001f4: 66c59863 bne a1,a2,80000864 <fail> + +00000000800001f8 <test_7>: + 800001f8: 00700193 li gp,7 + 800001fc: 00002517 auipc a0,0x2 + 80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data> + 80000204: 00052007 flw ft0,0(a0) + 80000208: 00452087 flw ft1,4(a0) + 8000020c: 00852107 flw ft2,8(a0) + 80000210: 00c52683 lw a3,12(a0) + 80000214: c0001553 fcvt.w.s a0,ft0,rtz + 80000218: 001015f3 fsflags a1,zero + 8000021c: 00100613 li a2,1 + 80000220: 64d51263 bne a0,a3,80000864 <fail> + 80000224: 64c59063 bne a1,a2,80000864 <fail> + +0000000080000228 <test_8>: + 80000228: 00800193 li gp,8 + 8000022c: 00002517 auipc a0,0x2 + 80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data> + 80000234: 00052007 flw ft0,0(a0) + 80000238: 00452087 flw ft1,4(a0) + 8000023c: 00852107 flw ft2,8(a0) + 80000240: 00c52683 lw a3,12(a0) + 80000244: c0001553 fcvt.w.s a0,ft0,rtz + 80000248: 001015f3 fsflags a1,zero + 8000024c: 01000613 li a2,16 + 80000250: 60d51a63 bne a0,a3,80000864 <fail> + 80000254: 60c59863 bne a1,a2,80000864 <fail> + +0000000080000258 <test_9>: + 80000258: 00900193 li gp,9 + 8000025c: 00002517 auipc a0,0x2 + 80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data> + 80000264: 00052007 flw ft0,0(a0) + 80000268: 00452087 flw ft1,4(a0) + 8000026c: 00852107 flw ft2,8(a0) + 80000270: 00c52683 lw a3,12(a0) + 80000274: c0001553 fcvt.w.s a0,ft0,rtz + 80000278: 001015f3 fsflags a1,zero + 8000027c: 01000613 li a2,16 + 80000280: 5ed51263 bne a0,a3,80000864 <fail> + 80000284: 5ec59063 bne a1,a2,80000864 <fail> + +0000000080000288 <test_12>: + 80000288: 00c00193 li gp,12 + 8000028c: 00002517 auipc a0,0x2 + 80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data> + 80000294: 00052007 flw ft0,0(a0) + 80000298: 00452087 flw ft1,4(a0) + 8000029c: 00852107 flw ft2,8(a0) + 800002a0: 00c52683 lw a3,12(a0) + 800002a4: c0101553 fcvt.wu.s a0,ft0,rtz + 800002a8: 001015f3 fsflags a1,zero + 800002ac: 01000613 li a2,16 + 800002b0: 5ad51a63 bne a0,a3,80000864 <fail> + 800002b4: 5ac59863 bne a1,a2,80000864 <fail> + +00000000800002b8 <test_13>: + 800002b8: 00d00193 li gp,13 + 800002bc: 00002517 auipc a0,0x2 + 800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data> + 800002c4: 00052007 flw ft0,0(a0) + 800002c8: 00452087 flw ft1,4(a0) + 800002cc: 00852107 flw ft2,8(a0) + 800002d0: 00c52683 lw a3,12(a0) + 800002d4: c0101553 fcvt.wu.s a0,ft0,rtz + 800002d8: 001015f3 fsflags a1,zero + 800002dc: 01000613 li a2,16 + 800002e0: 58d51263 bne a0,a3,80000864 <fail> + 800002e4: 58c59063 bne a1,a2,80000864 <fail> + +00000000800002e8 <test_14>: + 800002e8: 00e00193 li gp,14 + 800002ec: 00002517 auipc a0,0x2 + 800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data> + 800002f4: 00052007 flw ft0,0(a0) + 800002f8: 00452087 flw ft1,4(a0) + 800002fc: 00852107 flw ft2,8(a0) + 80000300: 00c52683 lw a3,12(a0) + 80000304: c0101553 fcvt.wu.s a0,ft0,rtz + 80000308: 001015f3 fsflags a1,zero + 8000030c: 00100613 li a2,1 + 80000310: 54d51a63 bne a0,a3,80000864 <fail> + 80000314: 54c59863 bne a1,a2,80000864 <fail> + +0000000080000318 <test_15>: + 80000318: 00f00193 li gp,15 + 8000031c: 00002517 auipc a0,0x2 + 80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data> + 80000324: 00052007 flw ft0,0(a0) + 80000328: 00452087 flw ft1,4(a0) + 8000032c: 00852107 flw ft2,8(a0) + 80000330: 00c52683 lw a3,12(a0) + 80000334: c0101553 fcvt.wu.s a0,ft0,rtz + 80000338: 001015f3 fsflags a1,zero + 8000033c: 00100613 li a2,1 + 80000340: 52d51263 bne a0,a3,80000864 <fail> + 80000344: 52c59063 bne a1,a2,80000864 <fail> + +0000000080000348 <test_16>: + 80000348: 01000193 li gp,16 + 8000034c: 00002517 auipc a0,0x2 + 80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data> + 80000354: 00052007 flw ft0,0(a0) + 80000358: 00452087 flw ft1,4(a0) + 8000035c: 00852107 flw ft2,8(a0) + 80000360: 00c52683 lw a3,12(a0) + 80000364: c0101553 fcvt.wu.s a0,ft0,rtz + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 4ed51a63 bne a0,a3,80000864 <fail> + 80000374: 4ec59863 bne a1,a2,80000864 <fail> + +0000000080000378 <test_17>: + 80000378: 01100193 li gp,17 + 8000037c: 00002517 auipc a0,0x2 + 80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data> + 80000384: 00052007 flw ft0,0(a0) + 80000388: 00452087 flw ft1,4(a0) + 8000038c: 00852107 flw ft2,8(a0) + 80000390: 00c52683 lw a3,12(a0) + 80000394: c0101553 fcvt.wu.s a0,ft0,rtz + 80000398: 001015f3 fsflags a1,zero + 8000039c: 00100613 li a2,1 + 800003a0: 4cd51263 bne a0,a3,80000864 <fail> + 800003a4: 4cc59063 bne a1,a2,80000864 <fail> + +00000000800003a8 <test_18>: + 800003a8: 01200193 li gp,18 + 800003ac: 00002517 auipc a0,0x2 + 800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data> + 800003b4: 00052007 flw ft0,0(a0) + 800003b8: 00452087 flw ft1,4(a0) + 800003bc: 00852107 flw ft2,8(a0) + 800003c0: 00c52683 lw a3,12(a0) + 800003c4: c0101553 fcvt.wu.s a0,ft0,rtz + 800003c8: 001015f3 fsflags a1,zero + 800003cc: 01000613 li a2,16 + 800003d0: 48d51a63 bne a0,a3,80000864 <fail> + 800003d4: 48c59863 bne a1,a2,80000864 <fail> + +00000000800003d8 <test_19>: + 800003d8: 01300193 li gp,19 + 800003dc: 00002517 auipc a0,0x2 + 800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data> + 800003e4: 00052007 flw ft0,0(a0) + 800003e8: 00452087 flw ft1,4(a0) + 800003ec: 00852107 flw ft2,8(a0) + 800003f0: 00c52683 lw a3,12(a0) + 800003f4: c0101553 fcvt.wu.s a0,ft0,rtz + 800003f8: 001015f3 fsflags a1,zero + 800003fc: 00000613 li a2,0 + 80000400: 46d51263 bne a0,a3,80000864 <fail> + 80000404: 46c59063 bne a1,a2,80000864 <fail> + +0000000080000408 <test_22>: + 80000408: 01600193 li gp,22 + 8000040c: 00002517 auipc a0,0x2 + 80000410: cf450513 addi a0,a0,-780 # 80002100 <test_22_data> + 80000414: 00052007 flw ft0,0(a0) + 80000418: 00452087 flw ft1,4(a0) + 8000041c: 00852107 flw ft2,8(a0) + 80000420: 00c52683 lw a3,12(a0) + 80000424: c0201553 fcvt.l.s a0,ft0,rtz + 80000428: 001015f3 fsflags a1,zero + 8000042c: 00100613 li a2,1 + 80000430: 42d51a63 bne a0,a3,80000864 <fail> + 80000434: 42c59863 bne a1,a2,80000864 <fail> + +0000000080000438 <test_23>: + 80000438: 01700193 li gp,23 + 8000043c: 00002517 auipc a0,0x2 + 80000440: cd450513 addi a0,a0,-812 # 80002110 <test_23_data> + 80000444: 00052007 flw ft0,0(a0) + 80000448: 00452087 flw ft1,4(a0) + 8000044c: 00852107 flw ft2,8(a0) + 80000450: 00c52683 lw a3,12(a0) + 80000454: c0201553 fcvt.l.s a0,ft0,rtz + 80000458: 001015f3 fsflags a1,zero + 8000045c: 00000613 li a2,0 + 80000460: 40d51263 bne a0,a3,80000864 <fail> + 80000464: 40c59063 bne a1,a2,80000864 <fail> + +0000000080000468 <test_24>: + 80000468: 01800193 li gp,24 + 8000046c: 00002517 auipc a0,0x2 + 80000470: cb450513 addi a0,a0,-844 # 80002120 <test_24_data> + 80000474: 00052007 flw ft0,0(a0) + 80000478: 00452087 flw ft1,4(a0) + 8000047c: 00852107 flw ft2,8(a0) + 80000480: 00c52683 lw a3,12(a0) + 80000484: c0201553 fcvt.l.s a0,ft0,rtz + 80000488: 001015f3 fsflags a1,zero + 8000048c: 00100613 li a2,1 + 80000490: 3cd51a63 bne a0,a3,80000864 <fail> + 80000494: 3cc59863 bne a1,a2,80000864 <fail> + +0000000080000498 <test_25>: + 80000498: 01900193 li gp,25 + 8000049c: 00002517 auipc a0,0x2 + 800004a0: c9450513 addi a0,a0,-876 # 80002130 <test_25_data> + 800004a4: 00052007 flw ft0,0(a0) + 800004a8: 00452087 flw ft1,4(a0) + 800004ac: 00852107 flw ft2,8(a0) + 800004b0: 00c52683 lw a3,12(a0) + 800004b4: c0201553 fcvt.l.s a0,ft0,rtz + 800004b8: 001015f3 fsflags a1,zero + 800004bc: 00100613 li a2,1 + 800004c0: 3ad51263 bne a0,a3,80000864 <fail> + 800004c4: 3ac59063 bne a1,a2,80000864 <fail> + +00000000800004c8 <test_26>: + 800004c8: 01a00193 li gp,26 + 800004cc: 00002517 auipc a0,0x2 + 800004d0: c7450513 addi a0,a0,-908 # 80002140 <test_26_data> + 800004d4: 00052007 flw ft0,0(a0) + 800004d8: 00452087 flw ft1,4(a0) + 800004dc: 00852107 flw ft2,8(a0) + 800004e0: 00c52683 lw a3,12(a0) + 800004e4: c0201553 fcvt.l.s a0,ft0,rtz + 800004e8: 001015f3 fsflags a1,zero + 800004ec: 00000613 li a2,0 + 800004f0: 36d51a63 bne a0,a3,80000864 <fail> + 800004f4: 36c59863 bne a1,a2,80000864 <fail> + +00000000800004f8 <test_27>: + 800004f8: 01b00193 li gp,27 + 800004fc: 00002517 auipc a0,0x2 + 80000500: c5450513 addi a0,a0,-940 # 80002150 <test_27_data> + 80000504: 00052007 flw ft0,0(a0) + 80000508: 00452087 flw ft1,4(a0) + 8000050c: 00852107 flw ft2,8(a0) + 80000510: 00c52683 lw a3,12(a0) + 80000514: c0201553 fcvt.l.s a0,ft0,rtz + 80000518: 001015f3 fsflags a1,zero + 8000051c: 00100613 li a2,1 + 80000520: 34d51263 bne a0,a3,80000864 <fail> + 80000524: 34c59063 bne a1,a2,80000864 <fail> + +0000000080000528 <test_32>: + 80000528: 02000193 li gp,32 + 8000052c: 00002517 auipc a0,0x2 + 80000530: c3450513 addi a0,a0,-972 # 80002160 <test_32_data> + 80000534: 00052007 flw ft0,0(a0) + 80000538: 00452087 flw ft1,4(a0) + 8000053c: 00852107 flw ft2,8(a0) + 80000540: 00c52683 lw a3,12(a0) + 80000544: c0301553 fcvt.lu.s a0,ft0,rtz + 80000548: 001015f3 fsflags a1,zero + 8000054c: 01000613 li a2,16 + 80000550: 30d51a63 bne a0,a3,80000864 <fail> + 80000554: 30c59863 bne a1,a2,80000864 <fail> + +0000000080000558 <test_33>: + 80000558: 02100193 li gp,33 + 8000055c: 00002517 auipc a0,0x2 + 80000560: c1450513 addi a0,a0,-1004 # 80002170 <test_33_data> + 80000564: 00052007 flw ft0,0(a0) + 80000568: 00452087 flw ft1,4(a0) + 8000056c: 00852107 flw ft2,8(a0) + 80000570: 00c52683 lw a3,12(a0) + 80000574: c0301553 fcvt.lu.s a0,ft0,rtz + 80000578: 001015f3 fsflags a1,zero + 8000057c: 01000613 li a2,16 + 80000580: 2ed51263 bne a0,a3,80000864 <fail> + 80000584: 2ec59063 bne a1,a2,80000864 <fail> + +0000000080000588 <test_34>: + 80000588: 02200193 li gp,34 + 8000058c: 00002517 auipc a0,0x2 + 80000590: bf450513 addi a0,a0,-1036 # 80002180 <test_34_data> + 80000594: 00052007 flw ft0,0(a0) + 80000598: 00452087 flw ft1,4(a0) + 8000059c: 00852107 flw ft2,8(a0) + 800005a0: 00c52683 lw a3,12(a0) + 800005a4: c0301553 fcvt.lu.s a0,ft0,rtz + 800005a8: 001015f3 fsflags a1,zero + 800005ac: 00100613 li a2,1 + 800005b0: 2ad51a63 bne a0,a3,80000864 <fail> + 800005b4: 2ac59863 bne a1,a2,80000864 <fail> + +00000000800005b8 <test_35>: + 800005b8: 02300193 li gp,35 + 800005bc: 00002517 auipc a0,0x2 + 800005c0: bd450513 addi a0,a0,-1068 # 80002190 <test_35_data> + 800005c4: 00052007 flw ft0,0(a0) + 800005c8: 00452087 flw ft1,4(a0) + 800005cc: 00852107 flw ft2,8(a0) + 800005d0: 00c52683 lw a3,12(a0) + 800005d4: c0301553 fcvt.lu.s a0,ft0,rtz + 800005d8: 001015f3 fsflags a1,zero + 800005dc: 00100613 li a2,1 + 800005e0: 28d51263 bne a0,a3,80000864 <fail> + 800005e4: 28c59063 bne a1,a2,80000864 <fail> + +00000000800005e8 <test_36>: + 800005e8: 02400193 li gp,36 + 800005ec: 00002517 auipc a0,0x2 + 800005f0: bb450513 addi a0,a0,-1100 # 800021a0 <test_36_data> + 800005f4: 00052007 flw ft0,0(a0) + 800005f8: 00452087 flw ft1,4(a0) + 800005fc: 00852107 flw ft2,8(a0) + 80000600: 00c52683 lw a3,12(a0) + 80000604: c0301553 fcvt.lu.s a0,ft0,rtz + 80000608: 001015f3 fsflags a1,zero + 8000060c: 00000613 li a2,0 + 80000610: 24d51a63 bne a0,a3,80000864 <fail> + 80000614: 24c59863 bne a1,a2,80000864 <fail> + +0000000080000618 <test_37>: + 80000618: 02500193 li gp,37 + 8000061c: 00002517 auipc a0,0x2 + 80000620: b9450513 addi a0,a0,-1132 # 800021b0 <test_37_data> + 80000624: 00052007 flw ft0,0(a0) + 80000628: 00452087 flw ft1,4(a0) + 8000062c: 00852107 flw ft2,8(a0) + 80000630: 00c52683 lw a3,12(a0) + 80000634: c0301553 fcvt.lu.s a0,ft0,rtz + 80000638: 001015f3 fsflags a1,zero + 8000063c: 00100613 li a2,1 + 80000640: 22d51263 bne a0,a3,80000864 <fail> + 80000644: 22c59063 bne a1,a2,80000864 <fail> + +0000000080000648 <test_38>: + 80000648: 02600193 li gp,38 + 8000064c: 00002517 auipc a0,0x2 + 80000650: b7450513 addi a0,a0,-1164 # 800021c0 <test_38_data> + 80000654: 00052007 flw ft0,0(a0) + 80000658: 00452087 flw ft1,4(a0) + 8000065c: 00852107 flw ft2,8(a0) + 80000660: 00c52683 lw a3,12(a0) + 80000664: c0301553 fcvt.lu.s a0,ft0,rtz + 80000668: 001015f3 fsflags a1,zero + 8000066c: 01000613 li a2,16 + 80000670: 1ed51a63 bne a0,a3,80000864 <fail> + 80000674: 1ec59863 bne a1,a2,80000864 <fail> + +0000000080000678 <test_42>: + 80000678: 00002097 auipc ra,0x2 + 8000067c: b5808093 addi ra,ra,-1192 # 800021d0 <begin_signature> + 80000680: 0000a087 flw ft1,0(ra) + 80000684: c000f0d3 fcvt.w.s ra,ft1 + 80000688: 80000eb7 lui t4,0x80000 + 8000068c: fffe8e9b addiw t4,t4,-1 + 80000690: 02a00193 li gp,42 + 80000694: 1dd09863 bne ra,t4,80000864 <fail> + +0000000080000698 <test_44>: + 80000698: 00002097 auipc ra,0x2 + 8000069c: b3808093 addi ra,ra,-1224 # 800021d0 <begin_signature> + 800006a0: 0080a087 flw ft1,8(ra) + 800006a4: c000f0d3 fcvt.w.s ra,ft1 + 800006a8: 80000eb7 lui t4,0x80000 + 800006ac: 02c00193 li gp,44 + 800006b0: 1bd09a63 bne ra,t4,80000864 <fail> + +00000000800006b4 <test_43>: + 800006b4: 00002097 auipc ra,0x2 + 800006b8: b1c08093 addi ra,ra,-1252 # 800021d0 <begin_signature> + 800006bc: 0000a087 flw ft1,0(ra) + 800006c0: c020f0d3 fcvt.l.s ra,ft1 + 800006c4: fff00e9b addiw t4,zero,-1 + 800006c8: 03fe9e93 slli t4,t4,0x3f + 800006cc: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffddff> + 800006d0: 02b00193 li gp,43 + 800006d4: 19d09863 bne ra,t4,80000864 <fail> + +00000000800006d8 <test_45>: + 800006d8: 00002097 auipc ra,0x2 + 800006dc: af808093 addi ra,ra,-1288 # 800021d0 <begin_signature> + 800006e0: 0080a087 flw ft1,8(ra) + 800006e4: c020f0d3 fcvt.l.s ra,ft1 + 800006e8: fff00e9b addiw t4,zero,-1 + 800006ec: 03fe9e93 slli t4,t4,0x3f + 800006f0: 02d00193 li gp,45 + 800006f4: 17d09863 bne ra,t4,80000864 <fail> + +00000000800006f8 <test_52>: + 800006f8: 00002097 auipc ra,0x2 + 800006fc: ad808093 addi ra,ra,-1320 # 800021d0 <begin_signature> + 80000700: 0040a087 flw ft1,4(ra) + 80000704: c000f0d3 fcvt.w.s ra,ft1 + 80000708: 80000eb7 lui t4,0x80000 + 8000070c: fffe8e9b addiw t4,t4,-1 + 80000710: 03400193 li gp,52 + 80000714: 15d09863 bne ra,t4,80000864 <fail> + +0000000080000718 <test_54>: + 80000718: 00002097 auipc ra,0x2 + 8000071c: ab808093 addi ra,ra,-1352 # 800021d0 <begin_signature> + 80000720: 00c0a087 flw ft1,12(ra) + 80000724: c000f0d3 fcvt.w.s ra,ft1 + 80000728: 80000eb7 lui t4,0x80000 + 8000072c: fffe8e9b addiw t4,t4,-1 + 80000730: 03600193 li gp,54 + 80000734: 13d09863 bne ra,t4,80000864 <fail> + +0000000080000738 <test_53>: + 80000738: 00002097 auipc ra,0x2 + 8000073c: a9808093 addi ra,ra,-1384 # 800021d0 <begin_signature> + 80000740: 0040a087 flw ft1,4(ra) + 80000744: c020f0d3 fcvt.l.s ra,ft1 + 80000748: fff00e9b addiw t4,zero,-1 + 8000074c: 03fe9e93 slli t4,t4,0x3f + 80000750: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffddff> + 80000754: 03500193 li gp,53 + 80000758: 11d09663 bne ra,t4,80000864 <fail> + +000000008000075c <test_55>: + 8000075c: 00002097 auipc ra,0x2 + 80000760: a7408093 addi ra,ra,-1420 # 800021d0 <begin_signature> + 80000764: 00c0a087 flw ft1,12(ra) + 80000768: c020f0d3 fcvt.l.s ra,ft1 + 8000076c: fff00e9b addiw t4,zero,-1 + 80000770: 03fe9e93 slli t4,t4,0x3f + 80000774: fffe8e93 addi t4,t4,-1 + 80000778: 03700193 li gp,55 + 8000077c: 0fd09463 bne ra,t4,80000864 <fail> + +0000000080000780 <test_62>: + 80000780: 00002097 auipc ra,0x2 + 80000784: a5008093 addi ra,ra,-1456 # 800021d0 <begin_signature> + 80000788: 0000a087 flw ft1,0(ra) + 8000078c: c010f0d3 fcvt.wu.s ra,ft1 + 80000790: fff00e93 li t4,-1 + 80000794: 03e00193 li gp,62 + 80000798: 0dd09663 bne ra,t4,80000864 <fail> + +000000008000079c <test_63>: + 8000079c: 00002097 auipc ra,0x2 + 800007a0: a3408093 addi ra,ra,-1484 # 800021d0 <begin_signature> + 800007a4: 0040a087 flw ft1,4(ra) + 800007a8: c010f0d3 fcvt.wu.s ra,ft1 + 800007ac: fff00e93 li t4,-1 + 800007b0: 03f00193 li gp,63 + 800007b4: 0bd09863 bne ra,t4,80000864 <fail> + +00000000800007b8 <test_64>: + 800007b8: 00002097 auipc ra,0x2 + 800007bc: a1808093 addi ra,ra,-1512 # 800021d0 <begin_signature> + 800007c0: 0080a087 flw ft1,8(ra) + 800007c4: c010f0d3 fcvt.wu.s ra,ft1 + 800007c8: 00000e93 li t4,0 + 800007cc: 04000193 li gp,64 + 800007d0: 09d09a63 bne ra,t4,80000864 <fail> + +00000000800007d4 <test_65>: + 800007d4: 00002097 auipc ra,0x2 + 800007d8: 9fc08093 addi ra,ra,-1540 # 800021d0 <begin_signature> + 800007dc: 00c0a087 flw ft1,12(ra) + 800007e0: c010f0d3 fcvt.wu.s ra,ft1 + 800007e4: fff00e93 li t4,-1 + 800007e8: 04100193 li gp,65 + 800007ec: 07d09c63 bne ra,t4,80000864 <fail> + +00000000800007f0 <test_66>: + 800007f0: 00002097 auipc ra,0x2 + 800007f4: 9e008093 addi ra,ra,-1568 # 800021d0 <begin_signature> + 800007f8: 0000a087 flw ft1,0(ra) + 800007fc: c030f0d3 fcvt.lu.s ra,ft1 + 80000800: fff00e93 li t4,-1 + 80000804: 04200193 li gp,66 + 80000808: 05d09e63 bne ra,t4,80000864 <fail> + +000000008000080c <test_67>: + 8000080c: 00002097 auipc ra,0x2 + 80000810: 9c408093 addi ra,ra,-1596 # 800021d0 <begin_signature> + 80000814: 0040a087 flw ft1,4(ra) + 80000818: c030f0d3 fcvt.lu.s ra,ft1 + 8000081c: fff00e93 li t4,-1 + 80000820: 04300193 li gp,67 + 80000824: 05d09063 bne ra,t4,80000864 <fail> + +0000000080000828 <test_68>: + 80000828: 00002097 auipc ra,0x2 + 8000082c: 9a808093 addi ra,ra,-1624 # 800021d0 <begin_signature> + 80000830: 0080a087 flw ft1,8(ra) + 80000834: c030f0d3 fcvt.lu.s ra,ft1 + 80000838: 00000e93 li t4,0 + 8000083c: 04400193 li gp,68 + 80000840: 03d09263 bne ra,t4,80000864 <fail> + +0000000080000844 <test_69>: + 80000844: 00002097 auipc ra,0x2 + 80000848: 98c08093 addi ra,ra,-1652 # 800021d0 <begin_signature> + 8000084c: 00c0a087 flw ft1,12(ra) + 80000850: c030f0d3 fcvt.lu.s ra,ft1 + 80000854: fff00e93 li t4,-1 + 80000858: 04500193 li gp,69 + 8000085c: 01d09463 bne ra,t4,80000864 <fail> + 80000860: 00301c63 bne zero,gp,80000878 <pass> + +0000000080000864 <fail>: + 80000864: 0ff0000f fence + 80000868: 00018063 beqz gp,80000868 <fail+0x4> + 8000086c: 00119193 slli gp,gp,0x1 + 80000870: 0011e193 ori gp,gp,1 + 80000874: 00000073 ecall + +0000000080000878 <pass>: + 80000878: 0ff0000f fence + 8000087c: 00100193 li gp,1 + 80000880: 00000073 ecall + 80000884: c0001073 unimp + 80000888: 0000 unimp + 8000088a: 0000 unimp + 8000088c: 0000 unimp + 8000088e: 0000 unimp + 80000890: 0000 unimp + 80000892: 0000 unimp + 80000894: 0000 unimp + 80000896: 0000 unimp + 80000898: 0000 unimp + 8000089a: 0000 unimp + 8000089c: 0000 unimp + 8000089e: 0000 unimp + 800008a0: 0000 unimp + 800008a2: 0000 unimp + 800008a4: 0000 unimp + 800008a6: 0000 unimp + 800008a8: 0000 unimp + 800008aa: 0000 unimp + 800008ac: 0000 unimp + 800008ae: 0000 unimp + 800008b0: 0000 unimp + 800008b2: 0000 unimp + 800008b4: 0000 unimp + 800008b6: 0000 unimp + 800008b8: 0000 unimp + 800008ba: 0000 unimp + 800008bc: 0000 unimp + 800008be: 0000 unimp + 800008c0: 0000 unimp + 800008c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: cccd beqz s1,800020ba <test_15_data+0xa> + 80002002: bf8c fsd fa1,56(a5) + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: ffff 0xffff + 8000200e: ffff 0xffff + +0000000080002010 <test_3_data>: + 80002010: 0000 unimp + 80002012: bf80 fsd fs0,56(a5) + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: ffff 0xffff + 8000201e: ffff 0xffff + +0000000080002020 <test_4_data>: + 80002020: 6666 ld a2,88(sp) + 80002022: bf66 fsd fs9,440(sp) + 80002024: 0000 unimp + 80002026: 0000 unimp + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 0000 unimp + 8000202e: 0000 unimp + +0000000080002030 <test_5_data>: + 80002030: 6666 ld a2,88(sp) + 80002032: 3f66 fld ft10,120(sp) + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: 0000 unimp + 8000203e: 0000 unimp + +0000000080002040 <test_6_data>: + 80002040: 0000 unimp + 80002042: 3f80 fld fs0,56(a5) + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0001 nop + 8000204e: 0000 unimp + +0000000080002050 <test_7_data>: + 80002050: cccd beqz s1,8000210a <test_22_data+0xa> + 80002052: 3f8c fld fa1,56(a5) + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0001 nop + 8000205e: 0000 unimp + +0000000080002060 <test_8_data>: + 80002060: d05e sw s7,32(sp) + 80002062: cf32 sw a2,156(sp) + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 8000 0x8000 + +0000000080002070 <test_9_data>: + 80002070: d05e sw s7,32(sp) + 80002072: 4f32 lw t5,12(sp) + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: ffff 0xffff + 8000207e: 7fff 0x7fff + +0000000080002080 <test_12_data>: + 80002080: 0000 unimp + 80002082: c040 sw s0,4(s0) + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: 0000 unimp + 8000208a: 0000 unimp + 8000208c: 0000 unimp + 8000208e: 0000 unimp + +0000000080002090 <test_13_data>: + 80002090: 0000 unimp + 80002092: bf80 fsd fs0,56(a5) + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 0000 unimp + +00000000800020a0 <test_14_data>: + 800020a0: 6666 ld a2,88(sp) + 800020a2: bf66 fsd fs9,440(sp) + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 0000 unimp + 800020ae: 0000 unimp + +00000000800020b0 <test_15_data>: + 800020b0: 6666 ld a2,88(sp) + 800020b2: 3f66 fld ft10,120(sp) + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: 0000 unimp + +00000000800020c0 <test_16_data>: + 800020c0: 0000 unimp + 800020c2: 3f80 fld fs0,56(a5) + 800020c4: 0000 unimp + 800020c6: 0000 unimp + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0001 nop + 800020ce: 0000 unimp + +00000000800020d0 <test_17_data>: + 800020d0: cccd beqz s1,8000218a <test_34_data+0xa> + 800020d2: 3f8c fld fa1,56(a5) + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0001 nop + 800020de: 0000 unimp + +00000000800020e0 <test_18_data>: + 800020e0: d05e sw s7,32(sp) + 800020e2: cf32 sw a2,156(sp) + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: 0000 unimp + 800020ea: 0000 unimp + 800020ec: 0000 unimp + 800020ee: 0000 unimp + +00000000800020f0 <test_19_data>: + 800020f0: d05e sw s7,32(sp) + 800020f2: 4f32 lw t5,12(sp) + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: 0000 unimp + 800020fa: 0000 unimp + 800020fc: 5e00 lw s0,56(a2) + 800020fe: b2d0 fsd fa2,160(a3) + +0000000080002100 <test_22_data>: + 80002100: cccd beqz s1,800021ba <test_37_data+0xa> + 80002102: bf8c fsd fa1,56(a5) + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: 0000 unimp + 8000210a: 0000 unimp + 8000210c: ffff 0xffff + 8000210e: ffff 0xffff + +0000000080002110 <test_23_data>: + 80002110: 0000 unimp + 80002112: bf80 fsd fs0,56(a5) + 80002114: 0000 unimp + 80002116: 0000 unimp + 80002118: 0000 unimp + 8000211a: 0000 unimp + 8000211c: ffff 0xffff + 8000211e: ffff 0xffff + +0000000080002120 <test_24_data>: + 80002120: 6666 ld a2,88(sp) + 80002122: bf66 fsd fs9,440(sp) + 80002124: 0000 unimp + 80002126: 0000 unimp + 80002128: 0000 unimp + 8000212a: 0000 unimp + 8000212c: 0000 unimp + 8000212e: 0000 unimp + +0000000080002130 <test_25_data>: + 80002130: 6666 ld a2,88(sp) + 80002132: 3f66 fld ft10,120(sp) + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: 0000 unimp + 8000213a: 0000 unimp + 8000213c: 0000 unimp + 8000213e: 0000 unimp + +0000000080002140 <test_26_data>: + 80002140: 0000 unimp + 80002142: 3f80 fld fs0,56(a5) + 80002144: 0000 unimp + 80002146: 0000 unimp + 80002148: 0000 unimp + 8000214a: 0000 unimp + 8000214c: 0001 nop + 8000214e: 0000 unimp + +0000000080002150 <test_27_data>: + 80002150: cccd beqz s1,8000220a <_end+0xa> + 80002152: 3f8c fld fa1,56(a5) + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: 0000 unimp + 8000215a: 0000 unimp + 8000215c: 0001 nop + 8000215e: 0000 unimp + +0000000080002160 <test_32_data>: + 80002160: 0000 unimp + 80002162: c040 sw s0,4(s0) + 80002164: 0000 unimp + 80002166: 0000 unimp + 80002168: 0000 unimp + 8000216a: 0000 unimp + 8000216c: 0000 unimp + 8000216e: 0000 unimp + +0000000080002170 <test_33_data>: + 80002170: 0000 unimp + 80002172: bf80 fsd fs0,56(a5) + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: 0000 unimp + 8000217a: 0000 unimp + 8000217c: 0000 unimp + 8000217e: 0000 unimp + +0000000080002180 <test_34_data>: + 80002180: 6666 ld a2,88(sp) + 80002182: bf66 fsd fs9,440(sp) + 80002184: 0000 unimp + 80002186: 0000 unimp + 80002188: 0000 unimp + 8000218a: 0000 unimp + 8000218c: 0000 unimp + 8000218e: 0000 unimp + +0000000080002190 <test_35_data>: + 80002190: 6666 ld a2,88(sp) + 80002192: 3f66 fld ft10,120(sp) + 80002194: 0000 unimp + 80002196: 0000 unimp + 80002198: 0000 unimp + 8000219a: 0000 unimp + 8000219c: 0000 unimp + 8000219e: 0000 unimp + +00000000800021a0 <test_36_data>: + 800021a0: 0000 unimp + 800021a2: 3f80 fld fs0,56(a5) + 800021a4: 0000 unimp + 800021a6: 0000 unimp + 800021a8: 0000 unimp + 800021aa: 0000 unimp + 800021ac: 0001 nop + 800021ae: 0000 unimp + +00000000800021b0 <test_37_data>: + 800021b0: cccd beqz s1,8000226a <_end+0x6a> + 800021b2: 3f8c fld fa1,56(a5) + 800021b4: 0000 unimp + 800021b6: 0000 unimp + 800021b8: 0000 unimp + 800021ba: 0000 unimp + 800021bc: 0001 nop + 800021be: 0000 unimp + +00000000800021c0 <test_38_data>: + 800021c0: d05e sw s7,32(sp) + 800021c2: cf32 sw a2,156(sp) + 800021c4: 0000 unimp + 800021c6: 0000 unimp + 800021c8: 0000 unimp + 800021ca: 0000 unimp + 800021cc: 0000 unimp + 800021ce: 0000 unimp + +00000000800021d0 <begin_signature>: + 800021d0: ffff 0xffff + 800021d2: ffff 0xffff + 800021d4: ffff 0xffff + 800021d6: 7fff 0x7fff + 800021d8: 0000 unimp + 800021da: ff80 sd s0,56(a5) + 800021dc: 0000 unimp + 800021de: 7f80 ld s0,56(a5) + +00000000800021e0 <tdat_d>: + 800021e0: ffff 0xffff + 800021e2: ffff 0xffff + 800021e4: ffff 0xffff + 800021e6: ffff 0xffff + 800021e8: ffff 0xffff + 800021ea: ffff 0xffff + 800021ec: ffff 0xffff + 800021ee: 7fff 0x7fff + 800021f0: 0000 unimp + 800021f2: 0000 unimp + 800021f4: 0000 unimp + 800021f6: fff0 sd a2,248(a5) + 800021f8: 0000 unimp + 800021fa: 0000 unimp + 800021fc: 0000 unimp + 800021fe: 7ff0 ld a2,248(a5) diff --git a/test/riscv-tests/rv64uf-p-fcvt_w.elf b/test/riscv-tests/rv64uf-p-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..2994eb4 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fcvt_w.elf diff --git a/test/riscv-tests/rv64uf-p-fdiv.dump b/test/riscv-tests/rv64uf-p-fdiv.dump new file mode 100644 index 0000000..def2be6 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fdiv.dump @@ -0,0 +1,294 @@ + +rv64uf-p-fdiv: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: 181071d3 fdiv.s ft3,ft0,ft1 + 80000128: e0018553 fmv.x.w a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00100613 li a2,1 + 80000134: 14d51263 bne a0,a3,80000278 <fail> + 80000138: 14c59063 bne a1,a2,80000278 <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> + 80000148: 00052007 flw ft0,0(a0) + 8000014c: 00452087 flw ft1,4(a0) + 80000150: 00852107 flw ft2,8(a0) + 80000154: 00c52683 lw a3,12(a0) + 80000158: 181071d3 fdiv.s ft3,ft0,ft1 + 8000015c: e0018553 fmv.x.w a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 10d51863 bne a0,a3,80000278 <fail> + 8000016c: 10c59663 bne a1,a2,80000278 <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> + 8000017c: 00052007 flw ft0,0(a0) + 80000180: 00452087 flw ft1,4(a0) + 80000184: 00852107 flw ft2,8(a0) + 80000188: 00c52683 lw a3,12(a0) + 8000018c: 181071d3 fdiv.s ft3,ft0,ft1 + 80000190: e0018553 fmv.x.w a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 0cd51e63 bne a0,a3,80000278 <fail> + 800001a0: 0cc59c63 bne a1,a2,80000278 <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> + 800001b0: 00052007 flw ft0,0(a0) + 800001b4: 00452087 flw ft1,4(a0) + 800001b8: 00852107 flw ft2,8(a0) + 800001bc: 00c52683 lw a3,12(a0) + 800001c0: 580071d3 fsqrt.s ft3,ft0 + 800001c4: e0018553 fmv.x.w a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00100613 li a2,1 + 800001d0: 0ad51463 bne a0,a3,80000278 <fail> + 800001d4: 0ac59263 bne a1,a2,80000278 <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> + 800001e4: 00052007 flw ft0,0(a0) + 800001e8: 00452087 flw ft1,4(a0) + 800001ec: 00852107 flw ft2,8(a0) + 800001f0: 00c52683 lw a3,12(a0) + 800001f4: 580071d3 fsqrt.s ft3,ft0 + 800001f8: e0018553 fmv.x.w a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00000613 li a2,0 + 80000204: 06d51a63 bne a0,a3,80000278 <fail> + 80000208: 06c59863 bne a1,a2,80000278 <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> + 80000218: 00052007 flw ft0,0(a0) + 8000021c: 00452087 flw ft1,4(a0) + 80000220: 00852107 flw ft2,8(a0) + 80000224: 00c52683 lw a3,12(a0) + 80000228: 580071d3 fsqrt.s ft3,ft0 + 8000022c: e0018553 fmv.x.w a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 01000613 li a2,16 + 80000238: 04d51063 bne a0,a3,80000278 <fail> + 8000023c: 02c59e63 bne a1,a2,80000278 <fail> + +0000000080000240 <test_8>: + 80000240: 00800193 li gp,8 + 80000244: 00002517 auipc a0,0x2 + 80000248: e2050513 addi a0,a0,-480 # 80002064 <test_8_data> + 8000024c: 00052007 flw ft0,0(a0) + 80000250: 00452087 flw ft1,4(a0) + 80000254: 00852107 flw ft2,8(a0) + 80000258: 00c52683 lw a3,12(a0) + 8000025c: 580071d3 fsqrt.s ft3,ft0 + 80000260: e0018553 fmv.x.w a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00100613 li a2,1 + 8000026c: 00d51663 bne a0,a3,80000278 <fail> + 80000270: 00c59463 bne a1,a2,80000278 <fail> + 80000274: 00301c63 bne zero,gp,8000028c <pass> + +0000000080000278 <fail>: + 80000278: 0ff0000f fence + 8000027c: 00018063 beqz gp,8000027c <fail+0x4> + 80000280: 00119193 slli gp,gp,0x1 + 80000284: 0011e193 ori gp,gp,1 + 80000288: 00000073 ecall + +000000008000028c <pass>: + 8000028c: 0ff0000f fence + 80000290: 00100193 li gp,1 + 80000294: 00000073 ecall + 80000298: c0001073 unimp + 8000029c: 0000 unimp + 8000029e: 0000 unimp + 800002a0: 0000 unimp + 800002a2: 0000 unimp + 800002a4: 0000 unimp + 800002a6: 0000 unimp + 800002a8: 0000 unimp + 800002aa: 0000 unimp + 800002ac: 0000 unimp + 800002ae: 0000 unimp + 800002b0: 0000 unimp + 800002b2: 0000 unimp + 800002b4: 0000 unimp + 800002b6: 0000 unimp + 800002b8: 0000 unimp + 800002ba: 0000 unimp + 800002bc: 0000 unimp + 800002be: 0000 unimp + 800002c0: 0000 unimp + 800002c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 40490fdb 0x40490fdb + 80002004: f854 sd a3,176(s0) + 80002006: 402d c.li zero,11 + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: eee0 sd s0,216(a3) + 8000200e: sltiu t6,zero,1024 + +0000000080002010 <test_3_data>: + 80002010: 4000 lw s0,0(s0) + 80002012: c49a sw t1,72(sp) + 80002014: 449a6333 0x449a6333 + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: c5a2 sw s0,200(sp) + 8000201e: bf7f 0xbf7f + +0000000080002020 <test_4_data>: + 80002020: 40490fdb 0x40490fdb + 80002024: 0000 unimp + 80002026: 3f80 fld fs0,56(a5) + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 40490fdb 0x40490fdb + +0000000080002030 <test_5_data>: + 80002030: 40490fdb 0x40490fdb + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: dfc5 beqz a5,80001ff4 <fromhost+0xfb4> + 8000203e: 3fe2 fld ft11,56(sp) + +0000000080002040 <test_6_data>: + 80002040: 4000 lw s0,0(s0) + 80002042: 461c lw a5,8(a2) + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 0000 unimp + 8000204e: 42c8 lw a0,4(a3) + +0000000080002050 <test_7_data>: + 80002050: 0000 unimp + 80002052: bf80 fsd fs0,56(a5) + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: 7fc0 ld s0,184(a5) + 80002060: 0000 unimp + 80002062: 0000 unimp + +0000000080002064 <test_8_data>: + 80002064: 0000 unimp + 80002066: 0000432b 0x432b + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: 3a26 fld fs4,104(sp) + 80002072: 4151 li sp,20 + 80002074: 0000 unimp + 80002076: 0000 unimp + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: 0000 unimp + 8000207e: 0000 unimp diff --git a/test/riscv-tests/rv64uf-p-fdiv.elf b/test/riscv-tests/rv64uf-p-fdiv.elf Binary files differnew file mode 100644 index 0000000..3501db3 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fdiv.elf diff --git a/test/riscv-tests/rv64uf-p-fmadd.dump b/test/riscv-tests/rv64uf-p-fmadd.dump new file mode 100644 index 0000000..6257d91 --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fmadd.dump @@ -0,0 +1,411 @@ + +rv64uf-p-fmadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 80000128: e0018553 fmv.x.w a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 24d51463 bne a0,a3,8000037c <fail> + 80000138: 24c59263 bne a1,a2,8000037c <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> + 80000148: 00052007 flw ft0,0(a0) + 8000014c: 00452087 flw ft1,4(a0) + 80000150: 00852107 flw ft2,8(a0) + 80000154: 00c52683 lw a3,12(a0) + 80000158: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 8000015c: e0018553 fmv.x.w a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00100613 li a2,1 + 80000168: 20d51a63 bne a0,a3,8000037c <fail> + 8000016c: 20c59863 bne a1,a2,8000037c <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> + 8000017c: 00052007 flw ft0,0(a0) + 80000180: 00452087 flw ft1,4(a0) + 80000184: 00852107 flw ft2,8(a0) + 80000188: 00c52683 lw a3,12(a0) + 8000018c: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 80000190: e0018553 fmv.x.w a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 1ed51063 bne a0,a3,8000037c <fail> + 800001a0: 1cc59e63 bne a1,a2,8000037c <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> + 800001b0: 00052007 flw ft0,0(a0) + 800001b4: 00452087 flw ft1,4(a0) + 800001b8: 00852107 flw ft2,8(a0) + 800001bc: 00c52683 lw a3,12(a0) + 800001c0: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 800001c4: e0018553 fmv.x.w a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 1ad51663 bne a0,a3,8000037c <fail> + 800001d4: 1ac59463 bne a1,a2,8000037c <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> + 800001e4: 00052007 flw ft0,0(a0) + 800001e8: 00452087 flw ft1,4(a0) + 800001ec: 00852107 flw ft2,8(a0) + 800001f0: 00c52683 lw a3,12(a0) + 800001f4: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 800001f8: e0018553 fmv.x.w a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00100613 li a2,1 + 80000204: 16d51c63 bne a0,a3,8000037c <fail> + 80000208: 16c59a63 bne a1,a2,8000037c <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> + 80000218: 00052007 flw ft0,0(a0) + 8000021c: 00452087 flw ft1,4(a0) + 80000220: 00852107 flw ft2,8(a0) + 80000224: 00c52683 lw a3,12(a0) + 80000228: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 8000022c: e0018553 fmv.x.w a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00000613 li a2,0 + 80000238: 14d51263 bne a0,a3,8000037c <fail> + 8000023c: 14c59063 bne a1,a2,8000037c <fail> + +0000000080000240 <test_8>: + 80000240: 00800193 li gp,8 + 80000244: 00002517 auipc a0,0x2 + 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data> + 8000024c: 00052007 flw ft0,0(a0) + 80000250: 00452087 flw ft1,4(a0) + 80000254: 00852107 flw ft2,8(a0) + 80000258: 00c52683 lw a3,12(a0) + 8000025c: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 80000260: e0018553 fmv.x.w a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 10d51863 bne a0,a3,8000037c <fail> + 80000270: 10c59663 bne a1,a2,8000037c <fail> + +0000000080000274 <test_9>: + 80000274: 00900193 li gp,9 + 80000278: 00002517 auipc a0,0x2 + 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data> + 80000280: 00052007 flw ft0,0(a0) + 80000284: 00452087 flw ft1,4(a0) + 80000288: 00852107 flw ft2,8(a0) + 8000028c: 00c52683 lw a3,12(a0) + 80000290: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 80000294: e0018553 fmv.x.w a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00100613 li a2,1 + 800002a0: 0cd51e63 bne a0,a3,8000037c <fail> + 800002a4: 0cc59c63 bne a1,a2,8000037c <fail> + +00000000800002a8 <test_10>: + 800002a8: 00a00193 li gp,10 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data> + 800002b4: 00052007 flw ft0,0(a0) + 800002b8: 00452087 flw ft1,4(a0) + 800002bc: 00852107 flw ft2,8(a0) + 800002c0: 00c52683 lw a3,12(a0) + 800002c4: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 800002c8: e0018553 fmv.x.w a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00000613 li a2,0 + 800002d4: 0ad51463 bne a0,a3,8000037c <fail> + 800002d8: 0ac59263 bne a1,a2,8000037c <fail> + +00000000800002dc <test_11>: + 800002dc: 00b00193 li gp,11 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data> + 800002e8: 00052007 flw ft0,0(a0) + 800002ec: 00452087 flw ft1,4(a0) + 800002f0: 00852107 flw ft2,8(a0) + 800002f4: 00c52683 lw a3,12(a0) + 800002f8: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 800002fc: e0018553 fmv.x.w a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 00000613 li a2,0 + 80000308: 06d51a63 bne a0,a3,8000037c <fail> + 8000030c: 06c59863 bne a1,a2,8000037c <fail> + +0000000080000310 <test_12>: + 80000310: 00c00193 li gp,12 + 80000314: 00002517 auipc a0,0x2 + 80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_12_data> + 8000031c: 00052007 flw ft0,0(a0) + 80000320: 00452087 flw ft1,4(a0) + 80000324: 00852107 flw ft2,8(a0) + 80000328: 00c52683 lw a3,12(a0) + 8000032c: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 80000330: e0018553 fmv.x.w a0,ft3 + 80000334: 001015f3 fsflags a1,zero + 80000338: 00100613 li a2,1 + 8000033c: 04d51063 bne a0,a3,8000037c <fail> + 80000340: 02c59e63 bne a1,a2,8000037c <fail> + +0000000080000344 <test_13>: + 80000344: 00d00193 li gp,13 + 80000348: 00002517 auipc a0,0x2 + 8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_13_data> + 80000350: 00052007 flw ft0,0(a0) + 80000354: 00452087 flw ft1,4(a0) + 80000358: 00852107 flw ft2,8(a0) + 8000035c: 00c52683 lw a3,12(a0) + 80000360: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 80000364: e0018553 fmv.x.w a0,ft3 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 00d51663 bne a0,a3,8000037c <fail> + 80000374: 00c59463 bne a1,a2,8000037c <fail> + 80000378: 00301c63 bne zero,gp,80000390 <pass> + +000000008000037c <fail>: + 8000037c: 0ff0000f fence + 80000380: 00018063 beqz gp,80000380 <fail+0x4> + 80000384: 00119193 slli gp,gp,0x1 + 80000388: 0011e193 ori gp,gp,1 + 8000038c: 00000073 ecall + +0000000080000390 <pass>: + 80000390: 0ff0000f fence + 80000394: 00100193 li gp,1 + 80000398: 00000073 ecall + 8000039c: c0001073 unimp + 800003a0: 0000 unimp + 800003a2: 0000 unimp + 800003a4: 0000 unimp + 800003a6: 0000 unimp + 800003a8: 0000 unimp + 800003aa: 0000 unimp + 800003ac: 0000 unimp + 800003ae: 0000 unimp + 800003b0: 0000 unimp + 800003b2: 0000 unimp + 800003b4: 0000 unimp + 800003b6: 0000 unimp + 800003b8: 0000 unimp + 800003ba: 0000 unimp + 800003bc: 0000 unimp + 800003be: 0000 unimp + 800003c0: 0000 unimp + 800003c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 3f80 fld fs0,56(a5) + 80002004: 0000 unimp + 80002006: 4020 lw s0,64(s0) + 80002008: 0000 unimp + 8000200a: 3f80 fld fs0,56(a5) + 8000200c: 0000 unimp + 8000200e: 4060 lw s0,68(s0) + +0000000080002010 <test_3_data>: + 80002010: 0000 unimp + 80002012: bf80 fsd fs0,56(a5) + 80002014: c49a6333 0xc49a6333 + 80002018: cccd beqz s1,800020d2 <_end+0x12> + 8000201a: 3f8c fld fa1,56(a5) + 8000201c: 8666 mv a2,s9 + 8000201e: 449a lw s1,132(sp) + +0000000080002020 <test_4_data>: + 80002020: 0000 unimp + 80002022: 4000 lw s0,0(s0) + 80002024: 0000 unimp + 80002026: c0a0 sw s0,64(s1) + 80002028: 0000 unimp + 8000202a: c000 sw s0,0(s0) + 8000202c: 0000 unimp + 8000202e: c140 sw s0,4(a0) + +0000000080002030 <test_5_data>: + 80002030: 0000 unimp + 80002032: 3f80 fld fs0,56(a5) + 80002034: 0000 unimp + 80002036: 4020 lw s0,64(s0) + 80002038: 0000 unimp + 8000203a: 3f80 fld fs0,56(a5) + 8000203c: 0000 unimp + 8000203e: c060 sw s0,68(s0) + +0000000080002040 <test_6_data>: + 80002040: 0000 unimp + 80002042: bf80 fsd fs0,56(a5) + 80002044: c49a6333 0xc49a6333 + 80002048: cccd beqz s1,80002102 <_end+0x42> + 8000204a: 3f8c fld fa1,56(a5) + 8000204c: 8666 mv a2,s9 + 8000204e: c49a sw t1,72(sp) + +0000000080002050 <test_7_data>: + 80002050: 0000 unimp + 80002052: 4000 lw s0,0(s0) + 80002054: 0000 unimp + 80002056: c0a0 sw s0,64(s1) + 80002058: 0000 unimp + 8000205a: c000 sw s0,0(s0) + 8000205c: 0000 unimp + 8000205e: 4140 lw s0,4(a0) + +0000000080002060 <test_8_data>: + 80002060: 0000 unimp + 80002062: 3f80 fld fs0,56(a5) + 80002064: 0000 unimp + 80002066: 4020 lw s0,64(s0) + 80002068: 0000 unimp + 8000206a: 3f80 fld fs0,56(a5) + 8000206c: 0000 unimp + 8000206e: 3fc0 fld fs0,184(a5) + +0000000080002070 <test_9_data>: + 80002070: 0000 unimp + 80002072: bf80 fsd fs0,56(a5) + 80002074: c49a6333 0xc49a6333 + 80002078: cccd beqz s1,80002132 <_end+0x72> + 8000207a: 3f8c fld fa1,56(a5) + 8000207c: 4000 lw s0,0(s0) + 8000207e: 449a lw s1,132(sp) + +0000000080002080 <test_10_data>: + 80002080: 0000 unimp + 80002082: 4000 lw s0,0(s0) + 80002084: 0000 unimp + 80002086: c0a0 sw s0,64(s1) + 80002088: 0000 unimp + 8000208a: c000 sw s0,0(s0) + 8000208c: 0000 unimp + 8000208e: c100 sw s0,0(a0) + +0000000080002090 <test_11_data>: + 80002090: 0000 unimp + 80002092: 3f80 fld fs0,56(a5) + 80002094: 0000 unimp + 80002096: 4020 lw s0,64(s0) + 80002098: 0000 unimp + 8000209a: 3f80 fld fs0,56(a5) + 8000209c: 0000 unimp + 8000209e: bfc0 fsd fs0,184(a5) + +00000000800020a0 <test_12_data>: + 800020a0: 0000 unimp + 800020a2: bf80 fsd fs0,56(a5) + 800020a4: c49a6333 0xc49a6333 + 800020a8: cccd beqz s1,80002162 <_end+0xa2> + 800020aa: 3f8c fld fa1,56(a5) + 800020ac: 4000 lw s0,0(s0) + 800020ae: c49a sw t1,72(sp) + +00000000800020b0 <test_13_data>: + 800020b0: 0000 unimp + 800020b2: 4000 lw s0,0(s0) + 800020b4: 0000 unimp + 800020b6: c0a0 sw s0,64(s1) + 800020b8: 0000 unimp + 800020ba: c000 sw s0,0(s0) + 800020bc: 0000 unimp + 800020be: 4100 lw s0,0(a0) diff --git a/test/riscv-tests/rv64uf-p-fmadd.elf b/test/riscv-tests/rv64uf-p-fmadd.elf Binary files differnew file mode 100644 index 0000000..bc5121e --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fmadd.elf diff --git a/test/riscv-tests/rv64uf-p-fmin.dump b/test/riscv-tests/rv64uf-p-fmin.dump new file mode 100644 index 0000000..7c47a6f --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fmin.dump @@ -0,0 +1,553 @@ + +rv64uf-p-fmin: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 30052073 csrs mstatus,a0 + 800000f0: 00305073 csrwi fcsr,0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <test_2>: + 80000108: 00200193 li gp,2 + 8000010c: 00002517 auipc a0,0x2 + 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data> + 80000114: 00052007 flw ft0,0(a0) + 80000118: 00452087 flw ft1,4(a0) + 8000011c: 00852107 flw ft2,8(a0) + 80000120: 00c52683 lw a3,12(a0) + 80000124: 281001d3 fmin.s ft3,ft0,ft1 + 80000128: e0018553 fmv.x.w a0,ft3 + 8000012c: 001015f3 fsflags a1,zero + 80000130: 00000613 li a2,0 + 80000134: 38d51063 bne a0,a3,800004b4 <fail> + 80000138: 36c59e63 bne a1,a2,800004b4 <fail> + +000000008000013c <test_3>: + 8000013c: 00300193 li gp,3 + 80000140: 00002517 auipc a0,0x2 + 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data> + 80000148: 00052007 flw ft0,0(a0) + 8000014c: 00452087 flw ft1,4(a0) + 80000150: 00852107 flw ft2,8(a0) + 80000154: 00c52683 lw a3,12(a0) + 80000158: 281001d3 fmin.s ft3,ft0,ft1 + 8000015c: e0018553 fmv.x.w a0,ft3 + 80000160: 001015f3 fsflags a1,zero + 80000164: 00000613 li a2,0 + 80000168: 34d51663 bne a0,a3,800004b4 <fail> + 8000016c: 34c59463 bne a1,a2,800004b4 <fail> + +0000000080000170 <test_4>: + 80000170: 00400193 li gp,4 + 80000174: 00002517 auipc a0,0x2 + 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data> + 8000017c: 00052007 flw ft0,0(a0) + 80000180: 00452087 flw ft1,4(a0) + 80000184: 00852107 flw ft2,8(a0) + 80000188: 00c52683 lw a3,12(a0) + 8000018c: 281001d3 fmin.s ft3,ft0,ft1 + 80000190: e0018553 fmv.x.w a0,ft3 + 80000194: 001015f3 fsflags a1,zero + 80000198: 00000613 li a2,0 + 8000019c: 30d51c63 bne a0,a3,800004b4 <fail> + 800001a0: 30c59a63 bne a1,a2,800004b4 <fail> + +00000000800001a4 <test_5>: + 800001a4: 00500193 li gp,5 + 800001a8: 00002517 auipc a0,0x2 + 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data> + 800001b0: 00052007 flw ft0,0(a0) + 800001b4: 00452087 flw ft1,4(a0) + 800001b8: 00852107 flw ft2,8(a0) + 800001bc: 00c52683 lw a3,12(a0) + 800001c0: 281001d3 fmin.s ft3,ft0,ft1 + 800001c4: e0018553 fmv.x.w a0,ft3 + 800001c8: 001015f3 fsflags a1,zero + 800001cc: 00000613 li a2,0 + 800001d0: 2ed51263 bne a0,a3,800004b4 <fail> + 800001d4: 2ec59063 bne a1,a2,800004b4 <fail> + +00000000800001d8 <test_6>: + 800001d8: 00600193 li gp,6 + 800001dc: 00002517 auipc a0,0x2 + 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data> + 800001e4: 00052007 flw ft0,0(a0) + 800001e8: 00452087 flw ft1,4(a0) + 800001ec: 00852107 flw ft2,8(a0) + 800001f0: 00c52683 lw a3,12(a0) + 800001f4: 281001d3 fmin.s ft3,ft0,ft1 + 800001f8: e0018553 fmv.x.w a0,ft3 + 800001fc: 001015f3 fsflags a1,zero + 80000200: 00000613 li a2,0 + 80000204: 2ad51863 bne a0,a3,800004b4 <fail> + 80000208: 2ac59663 bne a1,a2,800004b4 <fail> + +000000008000020c <test_7>: + 8000020c: 00700193 li gp,7 + 80000210: 00002517 auipc a0,0x2 + 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data> + 80000218: 00052007 flw ft0,0(a0) + 8000021c: 00452087 flw ft1,4(a0) + 80000220: 00852107 flw ft2,8(a0) + 80000224: 00c52683 lw a3,12(a0) + 80000228: 281001d3 fmin.s ft3,ft0,ft1 + 8000022c: e0018553 fmv.x.w a0,ft3 + 80000230: 001015f3 fsflags a1,zero + 80000234: 00000613 li a2,0 + 80000238: 26d51e63 bne a0,a3,800004b4 <fail> + 8000023c: 26c59c63 bne a1,a2,800004b4 <fail> + +0000000080000240 <test_12>: + 80000240: 00c00193 li gp,12 + 80000244: 00002517 auipc a0,0x2 + 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_12_data> + 8000024c: 00052007 flw ft0,0(a0) + 80000250: 00452087 flw ft1,4(a0) + 80000254: 00852107 flw ft2,8(a0) + 80000258: 00c52683 lw a3,12(a0) + 8000025c: 281011d3 fmax.s ft3,ft0,ft1 + 80000260: e0018553 fmv.x.w a0,ft3 + 80000264: 001015f3 fsflags a1,zero + 80000268: 00000613 li a2,0 + 8000026c: 24d51463 bne a0,a3,800004b4 <fail> + 80000270: 24c59263 bne a1,a2,800004b4 <fail> + +0000000080000274 <test_13>: + 80000274: 00d00193 li gp,13 + 80000278: 00002517 auipc a0,0x2 + 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_13_data> + 80000280: 00052007 flw ft0,0(a0) + 80000284: 00452087 flw ft1,4(a0) + 80000288: 00852107 flw ft2,8(a0) + 8000028c: 00c52683 lw a3,12(a0) + 80000290: 281011d3 fmax.s ft3,ft0,ft1 + 80000294: e0018553 fmv.x.w a0,ft3 + 80000298: 001015f3 fsflags a1,zero + 8000029c: 00000613 li a2,0 + 800002a0: 20d51a63 bne a0,a3,800004b4 <fail> + 800002a4: 20c59863 bne a1,a2,800004b4 <fail> + +00000000800002a8 <test_14>: + 800002a8: 00e00193 li gp,14 + 800002ac: 00002517 auipc a0,0x2 + 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_14_data> + 800002b4: 00052007 flw ft0,0(a0) + 800002b8: 00452087 flw ft1,4(a0) + 800002bc: 00852107 flw ft2,8(a0) + 800002c0: 00c52683 lw a3,12(a0) + 800002c4: 281011d3 fmax.s ft3,ft0,ft1 + 800002c8: e0018553 fmv.x.w a0,ft3 + 800002cc: 001015f3 fsflags a1,zero + 800002d0: 00000613 li a2,0 + 800002d4: 1ed51063 bne a0,a3,800004b4 <fail> + 800002d8: 1cc59e63 bne a1,a2,800004b4 <fail> + +00000000800002dc <test_15>: + 800002dc: 00f00193 li gp,15 + 800002e0: 00002517 auipc a0,0x2 + 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_15_data> + 800002e8: 00052007 flw ft0,0(a0) + 800002ec: 00452087 flw ft1,4(a0) + 800002f0: 00852107 flw ft2,8(a0) + 800002f4: 00c52683 lw a3,12(a0) + 800002f8: 281011d3 fmax.s ft3,ft0,ft1 + 800002fc: e0018553 fmv.x.w a0,ft3 + 80000300: 001015f3 fsflags a1,zero + 80000304: 00000613 li a2,0 + 80000308: 1ad51663 bne a0,a3,800004b4 <fail> + 8000030c: 1ac59463 bne a1,a2,800004b4 <fail> + +0000000080000310 <test_16>: + 80000310: 01000193 li gp,16 + 80000314: 00002517 auipc a0,0x2 + 80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_16_data> + 8000031c: 00052007 flw ft0,0(a0) + 80000320: 00452087 flw ft1,4(a0) + 80000324: 00852107 flw ft2,8(a0) + 80000328: 00c52683 lw a3,12(a0) + 8000032c: 281011d3 fmax.s ft3,ft0,ft1 + 80000330: e0018553 fmv.x.w a0,ft3 + 80000334: 001015f3 fsflags a1,zero + 80000338: 00000613 li a2,0 + 8000033c: 16d51c63 bne a0,a3,800004b4 <fail> + 80000340: 16c59a63 bne a1,a2,800004b4 <fail> + +0000000080000344 <test_17>: + 80000344: 01100193 li gp,17 + 80000348: 00002517 auipc a0,0x2 + 8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_17_data> + 80000350: 00052007 flw ft0,0(a0) + 80000354: 00452087 flw ft1,4(a0) + 80000358: 00852107 flw ft2,8(a0) + 8000035c: 00c52683 lw a3,12(a0) + 80000360: 281011d3 fmax.s ft3,ft0,ft1 + 80000364: e0018553 fmv.x.w a0,ft3 + 80000368: 001015f3 fsflags a1,zero + 8000036c: 00000613 li a2,0 + 80000370: 14d51263 bne a0,a3,800004b4 <fail> + 80000374: 14c59063 bne a1,a2,800004b4 <fail> + +0000000080000378 <test_20>: + 80000378: 01400193 li gp,20 + 8000037c: 00002517 auipc a0,0x2 + 80000380: d4450513 addi a0,a0,-700 # 800020c0 <test_20_data> + 80000384: 00052007 flw ft0,0(a0) + 80000388: 00452087 flw ft1,4(a0) + 8000038c: 00852107 flw ft2,8(a0) + 80000390: 00c52683 lw a3,12(a0) + 80000394: 281011d3 fmax.s ft3,ft0,ft1 + 80000398: e0018553 fmv.x.w a0,ft3 + 8000039c: 001015f3 fsflags a1,zero + 800003a0: 01000613 li a2,16 + 800003a4: 10d51863 bne a0,a3,800004b4 <fail> + 800003a8: 10c59663 bne a1,a2,800004b4 <fail> + +00000000800003ac <test_21>: + 800003ac: 01500193 li gp,21 + 800003b0: 00002517 auipc a0,0x2 + 800003b4: d2050513 addi a0,a0,-736 # 800020d0 <test_21_data> + 800003b8: 00052007 flw ft0,0(a0) + 800003bc: 00452087 flw ft1,4(a0) + 800003c0: 00852107 flw ft2,8(a0) + 800003c4: 00c52683 lw a3,12(a0) + 800003c8: 281011d3 fmax.s ft3,ft0,ft1 + 800003cc: e0018553 fmv.x.w a0,ft3 + 800003d0: 001015f3 fsflags a1,zero + 800003d4: 00000613 li a2,0 + 800003d8: 0cd51e63 bne a0,a3,800004b4 <fail> + 800003dc: 0cc59c63 bne a1,a2,800004b4 <fail> + +00000000800003e0 <test_30>: + 800003e0: 01e00193 li gp,30 + 800003e4: 00002517 auipc a0,0x2 + 800003e8: cfc50513 addi a0,a0,-772 # 800020e0 <test_30_data> + 800003ec: 00052007 flw ft0,0(a0) + 800003f0: 00452087 flw ft1,4(a0) + 800003f4: 00852107 flw ft2,8(a0) + 800003f8: 00c52683 lw a3,12(a0) + 800003fc: 281001d3 fmin.s ft3,ft0,ft1 + 80000400: e0018553 fmv.x.w a0,ft3 + 80000404: 001015f3 fsflags a1,zero + 80000408: 00000613 li a2,0 + 8000040c: 0ad51463 bne a0,a3,800004b4 <fail> + 80000410: 0ac59263 bne a1,a2,800004b4 <fail> + +0000000080000414 <test_31>: + 80000414: 01f00193 li gp,31 + 80000418: 00002517 auipc a0,0x2 + 8000041c: cd850513 addi a0,a0,-808 # 800020f0 <test_31_data> + 80000420: 00052007 flw ft0,0(a0) + 80000424: 00452087 flw ft1,4(a0) + 80000428: 00852107 flw ft2,8(a0) + 8000042c: 00c52683 lw a3,12(a0) + 80000430: 281001d3 fmin.s ft3,ft0,ft1 + 80000434: e0018553 fmv.x.w a0,ft3 + 80000438: 001015f3 fsflags a1,zero + 8000043c: 00000613 li a2,0 + 80000440: 06d51a63 bne a0,a3,800004b4 <fail> + 80000444: 06c59863 bne a1,a2,800004b4 <fail> + +0000000080000448 <test_32>: + 80000448: 02000193 li gp,32 + 8000044c: 00002517 auipc a0,0x2 + 80000450: cb450513 addi a0,a0,-844 # 80002100 <test_32_data> + 80000454: 00052007 flw ft0,0(a0) + 80000458: 00452087 flw ft1,4(a0) + 8000045c: 00852107 flw ft2,8(a0) + 80000460: 00c52683 lw a3,12(a0) + 80000464: 281011d3 fmax.s ft3,ft0,ft1 + 80000468: e0018553 fmv.x.w a0,ft3 + 8000046c: 001015f3 fsflags a1,zero + 80000470: 00000613 li a2,0 + 80000474: 04d51063 bne a0,a3,800004b4 <fail> + 80000478: 02c59e63 bne a1,a2,800004b4 <fail> + +000000008000047c <test_33>: + 8000047c: 02100193 li gp,33 + 80000480: 00002517 auipc a0,0x2 + 80000484: c9050513 addi a0,a0,-880 # 80002110 <test_33_data> + 80000488: 00052007 flw ft0,0(a0) + 8000048c: 00452087 flw ft1,4(a0) + 80000490: 00852107 flw ft2,8(a0) + 80000494: 00c52683 lw a3,12(a0) + 80000498: 281011d3 fmax.s ft3,ft0,ft1 + 8000049c: e0018553 fmv.x.w a0,ft3 + 800004a0: 001015f3 fsflags a1,zero + 800004a4: 00000613 li a2,0 + 800004a8: 00d51663 bne a0,a3,800004b4 <fail> + 800004ac: 00c59463 bne a1,a2,800004b4 <fail> + 800004b0: 00301c63 bne zero,gp,800004c8 <pass> + +00000000800004b4 <fail>: + 800004b4: 0ff0000f fence + 800004b8: 00018063 beqz gp,800004b8 <fail+0x4> + 800004bc: 00119193 slli gp,gp,0x1 + 800004c0: 0011e193 ori gp,gp,1 + 800004c4: 00000073 ecall + +00000000800004c8 <pass>: + 800004c8: 0ff0000f fence + 800004cc: 00100193 li gp,1 + 800004d0: 00000073 ecall + 800004d4: c0001073 unimp + 800004d8: 0000 unimp + 800004da: 0000 unimp + 800004dc: 0000 unimp + 800004de: 0000 unimp + 800004e0: 0000 unimp + 800004e2: 0000 unimp + 800004e4: 0000 unimp + 800004e6: 0000 unimp + 800004e8: 0000 unimp + 800004ea: 0000 unimp + 800004ec: 0000 unimp + 800004ee: 0000 unimp + 800004f0: 0000 unimp + 800004f2: 0000 unimp + 800004f4: 0000 unimp + 800004f6: 0000 unimp + 800004f8: 0000 unimp + 800004fa: 0000 unimp + 800004fc: 0000 unimp + 800004fe: 0000 unimp + 80000500: 0000 unimp + 80000502: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <test_2_data>: + 80002000: 0000 unimp + 80002002: 4020 lw s0,64(s0) + 80002004: 0000 unimp + 80002006: 3f80 fld fs0,56(a5) + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 3f80 fld fs0,56(a5) + +0000000080002010 <test_3_data>: + 80002010: c49a6333 0xc49a6333 + 80002014: cccd beqz s1,800020ce <test_20_data+0xe> + 80002016: 3f8c fld fa1,56(a5) + 80002018: 0000 unimp + 8000201a: 0000 unimp + 8000201c: c49a6333 0xc49a6333 + +0000000080002020 <test_4_data>: + 80002020: cccd beqz s1,800020da <test_21_data+0xa> + 80002022: 3f8c fld fa1,56(a5) + 80002024: c49a6333 0xc49a6333 + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: c49a6333 0xc49a6333 + +0000000080002030 <test_5_data>: + 80002030: ffff 0xffff + 80002032: 7fff 0x7fff + 80002034: c49a6333 0xc49a6333 + 80002038: 0000 unimp + 8000203a: 0000 unimp + 8000203c: c49a6333 0xc49a6333 + +0000000080002040 <test_6_data>: + 80002040: 40490fdb 0x40490fdb + 80002044: 322bcc77 0x322bcc77 + 80002048: 0000 unimp + 8000204a: 0000 unimp + 8000204c: 322bcc77 0x322bcc77 + +0000000080002050 <test_7_data>: + 80002050: 0000 unimp + 80002052: bf80 fsd fs0,56(a5) + 80002054: 0000 unimp + 80002056: c000 sw s0,0(s0) + 80002058: 0000 unimp + 8000205a: 0000 unimp + 8000205c: 0000 unimp + 8000205e: c000 sw s0,0(s0) + +0000000080002060 <test_12_data>: + 80002060: 0000 unimp + 80002062: 4020 lw s0,64(s0) + 80002064: 0000 unimp + 80002066: 3f80 fld fs0,56(a5) + 80002068: 0000 unimp + 8000206a: 0000 unimp + 8000206c: 0000 unimp + 8000206e: 4020 lw s0,64(s0) + +0000000080002070 <test_13_data>: + 80002070: c49a6333 0xc49a6333 + 80002074: cccd beqz s1,8000212e <_end+0xe> + 80002076: 3f8c fld fa1,56(a5) + 80002078: 0000 unimp + 8000207a: 0000 unimp + 8000207c: cccd beqz s1,80002136 <_end+0x16> + 8000207e: 3f8c fld fa1,56(a5) + +0000000080002080 <test_14_data>: + 80002080: cccd beqz s1,8000213a <_end+0x1a> + 80002082: 3f8c fld fa1,56(a5) + 80002084: c49a6333 0xc49a6333 + 80002088: 0000 unimp + 8000208a: 0000 unimp + 8000208c: cccd beqz s1,80002146 <_end+0x26> + 8000208e: 3f8c fld fa1,56(a5) + +0000000080002090 <test_15_data>: + 80002090: ffff 0xffff + 80002092: 7fff 0x7fff + 80002094: c49a6333 0xc49a6333 + 80002098: 0000 unimp + 8000209a: 0000 unimp + 8000209c: c49a6333 0xc49a6333 + +00000000800020a0 <test_16_data>: + 800020a0: 40490fdb 0x40490fdb + 800020a4: 322bcc77 0x322bcc77 + 800020a8: 0000 unimp + 800020aa: 0000 unimp + 800020ac: 40490fdb 0x40490fdb + +00000000800020b0 <test_17_data>: + 800020b0: 0000 unimp + 800020b2: bf80 fsd fs0,56(a5) + 800020b4: 0000 unimp + 800020b6: c000 sw s0,0(s0) + 800020b8: 0000 unimp + 800020ba: 0000 unimp + 800020bc: 0000 unimp + 800020be: bf80 fsd fs0,56(a5) + +00000000800020c0 <test_20_data>: + 800020c0: 0001 nop + 800020c2: 7f80 ld s0,56(a5) + 800020c4: 0000 unimp + 800020c6: 3f80 fld fs0,56(a5) + 800020c8: 0000 unimp + 800020ca: 0000 unimp + 800020cc: 0000 unimp + 800020ce: 3f80 fld fs0,56(a5) + +00000000800020d0 <test_21_data>: + 800020d0: ffff 0xffff + 800020d2: 7fff 0x7fff + 800020d4: ffff 0xffff + 800020d6: 7fff 0x7fff + 800020d8: 0000 unimp + 800020da: 0000 unimp + 800020dc: 0000 unimp + 800020de: 7fc0 ld s0,184(a5) + +00000000800020e0 <test_30_data>: + 800020e0: 0000 unimp + 800020e2: 8000 0x8000 + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: 0000 unimp + 800020ea: 0000 unimp + 800020ec: 0000 unimp + 800020ee: 8000 0x8000 + +00000000800020f0 <test_31_data>: + 800020f0: 0000 unimp + 800020f2: 0000 unimp + 800020f4: 0000 unimp + 800020f6: 8000 0x8000 + 800020f8: 0000 unimp + 800020fa: 0000 unimp + 800020fc: 0000 unimp + 800020fe: 8000 0x8000 + +0000000080002100 <test_32_data>: + 80002100: 0000 unimp + 80002102: 8000 0x8000 + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: 0000 unimp + 8000210a: 0000 unimp + 8000210c: 0000 unimp + 8000210e: 0000 unimp + +0000000080002110 <test_33_data>: + 80002110: 0000 unimp + 80002112: 0000 unimp + 80002114: 0000 unimp + 80002116: 8000 0x8000 + 80002118: 0000 unimp + 8000211a: 0000 unimp + 8000211c: 0000 unimp + 8000211e: 0000 unimp diff --git a/test/riscv-tests/rv64uf-p-fmin.elf b/test/riscv-tests/rv64uf-p-fmin.elf Binary files differnew file mode 100644 index 0000000..b5548fb --- /dev/null +++ b/test/riscv-tests/rv64uf-p-fmin.elf diff --git a/test/riscv-tests/rv64uf-v-fadd.dump b/test/riscv-tests/rv64uf-v-fadd.dump new file mode 100644 index 0000000..57f29d2 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fadd.dump @@ -0,0 +1,1083 @@ + +rv64uf-v-fadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 8a068693 addi a3,a3,-1888 # 80002cf8 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 8d460613 addi a2,a2,-1836 # 80002d88 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 89c60613 addi a2,a2,-1892 # 80002da0 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 7ec68693 addi a3,a3,2028 # 80002d40 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 80868693 addi a3,a3,-2040 # 80002e78 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 78860613 addi a2,a2,1928 # 80002e50 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 6bc68693 addi a3,a3,1724 # 80002ea8 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 5dc68693 addi a3,a3,1500 # 80002e18 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 56c68693 addi a3,a3,1388 # 80002de0 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 03600793 li a5,54 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 086e87b7 lui a5,0x86e8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a8078793 addi a5,a5,-1408 # 86e7a80 <_start-0x77918580> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: 001071d3 fadd.s ft3,ft0,ft1 + 80002aec: e0018553 fmv.x.w a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 1ed51063 bne a0,a3,80002cd8 <fail> + 80002afc: 1cc59e63 bne a1,a2,80002cd8 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data> + 80002b0c: 00052007 flw ft0,0(a0) + 80002b10: 00452087 flw ft1,4(a0) + 80002b14: 00852107 flw ft2,8(a0) + 80002b18: 00c52683 lw a3,12(a0) + 80002b1c: 001071d3 fadd.s ft3,ft0,ft1 + 80002b20: e0018553 fmv.x.w a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 1ad51663 bne a0,a3,80002cd8 <fail> + 80002b30: 1ac59463 bne a1,a2,80002cd8 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data> + 80002b40: 00052007 flw ft0,0(a0) + 80002b44: 00452087 flw ft1,4(a0) + 80002b48: 00852107 flw ft2,8(a0) + 80002b4c: 00c52683 lw a3,12(a0) + 80002b50: 001071d3 fadd.s ft3,ft0,ft1 + 80002b54: e0018553 fmv.x.w a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00100613 li a2,1 + 80002b60: 16d51c63 bne a0,a3,80002cd8 <fail> + 80002b64: 16c59a63 bne a1,a2,80002cd8 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data> + 80002b74: 00052007 flw ft0,0(a0) + 80002b78: 00452087 flw ft1,4(a0) + 80002b7c: 00852107 flw ft2,8(a0) + 80002b80: 00c52683 lw a3,12(a0) + 80002b84: 081071d3 fsub.s ft3,ft0,ft1 + 80002b88: e0018553 fmv.x.w a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 14d51263 bne a0,a3,80002cd8 <fail> + 80002b98: 14c59063 bne a1,a2,80002cd8 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data> + 80002ba8: 00052007 flw ft0,0(a0) + 80002bac: 00452087 flw ft1,4(a0) + 80002bb0: 00852107 flw ft2,8(a0) + 80002bb4: 00c52683 lw a3,12(a0) + 80002bb8: 081071d3 fsub.s ft3,ft0,ft1 + 80002bbc: e0018553 fmv.x.w a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00100613 li a2,1 + 80002bc8: 10d51863 bne a0,a3,80002cd8 <fail> + 80002bcc: 10c59663 bne a1,a2,80002cd8 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data> + 80002bdc: 00052007 flw ft0,0(a0) + 80002be0: 00452087 flw ft1,4(a0) + 80002be4: 00852107 flw ft2,8(a0) + 80002be8: 00c52683 lw a3,12(a0) + 80002bec: 081071d3 fsub.s ft3,ft0,ft1 + 80002bf0: e0018553 fmv.x.w a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00100613 li a2,1 + 80002bfc: 0cd51e63 bne a0,a3,80002cd8 <fail> + 80002c00: 0cc59c63 bne a1,a2,80002cd8 <fail> + +0000000080002c04 <test_8>: + 80002c04: 00800193 li gp,8 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 45850513 addi a0,a0,1112 # 80003060 <test_8_data> + 80002c10: 00052007 flw ft0,0(a0) + 80002c14: 00452087 flw ft1,4(a0) + 80002c18: 00852107 flw ft2,8(a0) + 80002c1c: 00c52683 lw a3,12(a0) + 80002c20: 101071d3 fmul.s ft3,ft0,ft1 + 80002c24: e0018553 fmv.x.w a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 0ad51463 bne a0,a3,80002cd8 <fail> + 80002c34: 0ac59263 bne a1,a2,80002cd8 <fail> + +0000000080002c38 <test_9>: + 80002c38: 00900193 li gp,9 + 80002c3c: 00000517 auipc a0,0x0 + 80002c40: 43450513 addi a0,a0,1076 # 80003070 <test_9_data> + 80002c44: 00052007 flw ft0,0(a0) + 80002c48: 00452087 flw ft1,4(a0) + 80002c4c: 00852107 flw ft2,8(a0) + 80002c50: 00c52683 lw a3,12(a0) + 80002c54: 101071d3 fmul.s ft3,ft0,ft1 + 80002c58: e0018553 fmv.x.w a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00100613 li a2,1 + 80002c64: 06d51a63 bne a0,a3,80002cd8 <fail> + 80002c68: 06c59863 bne a1,a2,80002cd8 <fail> + +0000000080002c6c <test_10>: + 80002c6c: 00a00193 li gp,10 + 80002c70: 00000517 auipc a0,0x0 + 80002c74: 41050513 addi a0,a0,1040 # 80003080 <test_10_data> + 80002c78: 00052007 flw ft0,0(a0) + 80002c7c: 00452087 flw ft1,4(a0) + 80002c80: 00852107 flw ft2,8(a0) + 80002c84: 00c52683 lw a3,12(a0) + 80002c88: 101071d3 fmul.s ft3,ft0,ft1 + 80002c8c: e0018553 fmv.x.w a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00100613 li a2,1 + 80002c98: 04d51063 bne a0,a3,80002cd8 <fail> + 80002c9c: 02c59e63 bne a1,a2,80002cd8 <fail> + +0000000080002ca0 <test_11>: + 80002ca0: 00b00193 li gp,11 + 80002ca4: 00000517 auipc a0,0x0 + 80002ca8: 3ec50513 addi a0,a0,1004 # 80003090 <test_11_data> + 80002cac: 00052007 flw ft0,0(a0) + 80002cb0: 00452087 flw ft1,4(a0) + 80002cb4: 00852107 flw ft2,8(a0) + 80002cb8: 00c52683 lw a3,12(a0) + 80002cbc: 081071d3 fsub.s ft3,ft0,ft1 + 80002cc0: e0018553 fmv.x.w a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 01000613 li a2,16 + 80002ccc: 00d51663 bne a0,a3,80002cd8 <fail> + 80002cd0: 00c59463 bne a1,a2,80002cd8 <fail> + 80002cd4: 00301a63 bne zero,gp,80002ce8 <pass> + +0000000080002cd8 <fail>: + 80002cd8: 00119513 slli a0,gp,0x1 + 80002cdc: 00050063 beqz a0,80002cdc <fail+0x4> + 80002ce0: 00156513 ori a0,a0,1 + 80002ce4: 00000073 ecall + +0000000080002ce8 <pass>: + 80002ce8: 00100513 li a0,1 + 80002cec: 00000073 ecall + 80002cf0: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 4020 lw s0,64(s0) + 80003004: 0000 unimp + 80003006: 3f80 fld fs0,56(a5) + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0000 unimp + 8000300e: 4060 lw s0,68(s0) + +0000000080003010 <test_3_data>: + 80003010: c49a6333 0xc49a6333 + 80003014: cccd beqz s1,800030ce <begin_signature+0x2e> + 80003016: 3f8c fld fa1,56(a5) + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: 4000 lw s0,0(s0) + 8000301e: c49a sw t1,72(sp) + +0000000080003020 <test_4_data>: + 80003020: 40490fdb 0x40490fdb + 80003024: 322bcc77 0x322bcc77 + 80003028: 0000 unimp + 8000302a: 0000 unimp + 8000302c: 40490fdb 0x40490fdb + +0000000080003030 <test_5_data>: + 80003030: 0000 unimp + 80003032: 4020 lw s0,64(s0) + 80003034: 0000 unimp + 80003036: 3f80 fld fs0,56(a5) + 80003038: 0000 unimp + 8000303a: 0000 unimp + 8000303c: 0000 unimp + 8000303e: 3fc0 fld fs0,184(a5) + +0000000080003040 <test_6_data>: + 80003040: c49a6333 0xc49a6333 + 80003044: cccd beqz s1,800030fe <begin_signature+0x5e> + 80003046: bf8c fsd fa1,56(a5) + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 4000 lw s0,0(s0) + 8000304e: c49a sw t1,72(sp) + +0000000080003050 <test_7_data>: + 80003050: 40490fdb 0x40490fdb + 80003054: 322bcc77 0x322bcc77 + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 40490fdb 0x40490fdb + +0000000080003060 <test_8_data>: + 80003060: 0000 unimp + 80003062: 4020 lw s0,64(s0) + 80003064: 0000 unimp + 80003066: 3f80 fld fs0,56(a5) + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 4020 lw s0,64(s0) + +0000000080003070 <test_9_data>: + 80003070: c49a6333 0xc49a6333 + 80003074: cccd beqz s1,8000312e <begin_signature+0x8e> + 80003076: bf8c fsd fa1,56(a5) + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: d385 beqz a5,80002f9c <pass+0x2b4> + 8000307e: 44a9 li s1,10 + +0000000080003080 <test_10_data>: + 80003080: 40490fdb 0x40490fdb + 80003084: 322bcc77 0x322bcc77 + 80003088: 0000 unimp + 8000308a: 0000 unimp + 8000308c: ee2d bnez a2,80003106 <begin_signature+0x66> + 8000308e: 3306 fld ft6,96(sp) + +0000000080003090 <test_11_data>: + 80003090: 0000 unimp + 80003092: 7f80 ld s0,56(a5) + 80003094: 0000 unimp + 80003096: 7f80 ld s0,56(a5) + 80003098: 0000 unimp + 8000309a: 0000 unimp + 8000309c: 0000 unimp + 8000309e: 7fc0 ld s0,184(a5) diff --git a/test/riscv-tests/rv64uf-v-fadd.elf b/test/riscv-tests/rv64uf-v-fadd.elf Binary files differnew file mode 100644 index 0000000..29212bf --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fadd.elf diff --git a/test/riscv-tests/rv64uf-v-fclass.dump b/test/riscv-tests/rv64uf-v-fclass.dump new file mode 100644 index 0000000..d472913 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fclass.dump @@ -0,0 +1,929 @@ + +rv64uf-v-fclass: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00008117 auipc sp,0x8 + 8000001c: 6b810113 addi sp,sp,1720 # 800086d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00001617 auipc a2,0x1 + 80002318: cec60613 addi a2,a2,-788 # 80003000 <begin_signature> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00005797 auipc a5,0x5 + 80002334: 4b878793 addi a5,a5,1208 # 800077e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00005717 auipc a4,0x5 + 80002348: 49c70713 addi a4,a4,1180 # 800077e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00005897 auipc a7,0x5 + 80002354: 48f8bc23 sd a5,1176(a7) # 800077e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00005797 auipc a5,0x5 + 80002384: 07078793 addi a5,a5,112 # 800073f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf8810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00005797 auipc a5,0x5 + 80002448: 3807be23 sd zero,924(a5) # 800077e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00000697 auipc a3,0x0 + 8000245c: 7a068693 addi a3,a3,1952 # 80002bf8 <pass+0xc> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00000617 auipc a2,0x0 + 800024b8: 7d460613 addi a2,a2,2004 # 80002c88 <pass+0x9c> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00000617 auipc a2,0x0 + 80002508: 79c60613 addi a2,a2,1948 # 80002ca0 <pass+0xb4> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 6ec68693 addi a3,a3,1772 # 80002c40 <pass+0x54> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 70868693 addi a3,a3,1800 # 80002d78 <pass+0x18c> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 68860613 addi a2,a2,1672 # 80002d50 <pass+0x164> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00005d17 auipc s10,0x5 + 80002720: cd4d0d13 addi s10,s10,-812 # 800073f0 <user_mapping> + 80002724: 00001b97 auipc s7,0x1 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80003000 <begin_signature> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00005a17 auipc s4,0x5 + 80002738: 0aca0a13 addi s4,s4,172 # 800077e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00005717 auipc a4,0x5 + 8000274c: 08f73c23 sd a5,152(a4) # 800077e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00005717 auipc a4,0x5 + 800027d4: 00f73823 sd a5,16(a4) # 800077e0 <freelist_tail> + 800027d8: 00005717 auipc a4,0x5 + 800027dc: 00f73823 sd a5,16(a4) # 800077e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 5bc68693 addi a3,a3,1468 # 80002da8 <pass+0x1bc> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 4dc68693 addi a3,a3,1244 # 80002d18 <pass+0x12c> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 46c68693 addi a3,a3,1132 # 80002ce0 <pass+0xf4> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00001697 auipc a3,0x1 + 800028e0: 72468693 addi a3,a3,1828 # 80004000 <begin_signature+0x1000> + 800028e4: 00002717 auipc a4,0x2 + 800028e8: 71c70713 addi a4,a4,1820 # 80005000 <begin_signature+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00003797 auipc a5,0x3 + 800028f8: 70c78793 addi a5,a5,1804 # 80006000 <begin_signature+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00000897 auipc a7,0x0 + 80002914: 6ed8b823 sd a3,1776(a7) # 80003000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00001697 auipc a3,0x1 + 80002920: 6ce6be23 sd a4,1756(a3) # 80003ff8 <begin_signature+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00000617 auipc a2,0x0 + 80002938: 6cc60613 addi a2,a2,1740 # 80003000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00003697 auipc a3,0x3 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80005ff8 <begin_signature+0x2ff8> + 8000294c: 00001717 auipc a4,0x1 + 80002950: 6af73a23 sd a5,1716(a4) # 80004000 <begin_signature+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00004697 auipc a3,0x4 + 800029c0: 64468693 addi a3,a3,1604 # 80007000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00005617 auipc a2,0x5 + 800029d0: e0f63e23 sd a5,-484(a2) # 800077e8 <freelist_head> + 800029d4: 00005797 auipc a5,0x5 + 800029d8: e0e7b623 sd a4,-500(a5) # 800077e0 <freelist_tail> + 800029dc: 00005317 auipc t1,0x5 + 800029e0: a1430313 addi t1,t1,-1516 # 800073f0 <user_mapping> + 800029e4: 02b00793 li a5,43 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00005797 auipc a5,0x5 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800073e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 032207b7 lui a5,0x3220 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 33278793 addi a5,a5,818 # 3220332 <_start-0x7cddfcce> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 1ff0051b addiw a0,zero,511 + 80002ad0: 01751513 slli a0,a0,0x17 + 80002ad4: f0050553 fmv.w.x fa0,a0 + 80002ad8: e0051553 fclass.s a0,fa0 + 80002adc: 00100e93 li t4,1 + 80002ae0: 00200193 li gp,2 + 80002ae4: 0fd51c63 bne a0,t4,80002bdc <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 17f0051b addiw a0,zero,383 + 80002aec: 01751513 slli a0,a0,0x17 + 80002af0: f0050553 fmv.w.x fa0,a0 + 80002af4: e0051553 fclass.s a0,fa0 + 80002af8: 00200e93 li t4,2 + 80002afc: 00300193 li gp,3 + 80002b00: 0dd51e63 bne a0,t4,80002bdc <fail> + +0000000080002b04 <test_4>: + 80002b04: 1010051b addiw a0,zero,257 + 80002b08: 01751513 slli a0,a0,0x17 + 80002b0c: fff50513 addi a0,a0,-1 + 80002b10: f0050553 fmv.w.x fa0,a0 + 80002b14: e0051553 fclass.s a0,fa0 + 80002b18: 00400e93 li t4,4 + 80002b1c: 00400193 li gp,4 + 80002b20: 0bd51e63 bne a0,t4,80002bdc <fail> + +0000000080002b24 <test_5>: + 80002b24: 0010051b addiw a0,zero,1 + 80002b28: 01f51513 slli a0,a0,0x1f + 80002b2c: f0050553 fmv.w.x fa0,a0 + 80002b30: e0051553 fclass.s a0,fa0 + 80002b34: 00800e93 li t4,8 + 80002b38: 00500193 li gp,5 + 80002b3c: 0bd51063 bne a0,t4,80002bdc <fail> + +0000000080002b40 <test_6>: + 80002b40: 00000513 li a0,0 + 80002b44: f0050553 fmv.w.x fa0,a0 + 80002b48: e0051553 fclass.s a0,fa0 + 80002b4c: 01000e93 li t4,16 + 80002b50: 00600193 li gp,6 + 80002b54: 09d51463 bne a0,t4,80002bdc <fail> + +0000000080002b58 <test_7>: + 80002b58: 00800537 lui a0,0x800 + 80002b5c: fff5051b addiw a0,a0,-1 + 80002b60: f0050553 fmv.w.x fa0,a0 + 80002b64: e0051553 fclass.s a0,fa0 + 80002b68: 02000e93 li t4,32 + 80002b6c: 00700193 li gp,7 + 80002b70: 07d51663 bne a0,t4,80002bdc <fail> + +0000000080002b74 <test_8>: + 80002b74: 3f800537 lui a0,0x3f800 + 80002b78: f0050553 fmv.w.x fa0,a0 + 80002b7c: e0051553 fclass.s a0,fa0 + 80002b80: 04000e93 li t4,64 + 80002b84: 00800193 li gp,8 + 80002b88: 05d51a63 bne a0,t4,80002bdc <fail> + +0000000080002b8c <test_9>: + 80002b8c: 7f800537 lui a0,0x7f800 + 80002b90: f0050553 fmv.w.x fa0,a0 + 80002b94: e0051553 fclass.s a0,fa0 + 80002b98: 08000e93 li t4,128 + 80002b9c: 00900193 li gp,9 + 80002ba0: 03d51e63 bne a0,t4,80002bdc <fail> + +0000000080002ba4 <test_10>: + 80002ba4: 7f800537 lui a0,0x7f800 + 80002ba8: 0015051b addiw a0,a0,1 + 80002bac: f0050553 fmv.w.x fa0,a0 + 80002bb0: e0051553 fclass.s a0,fa0 + 80002bb4: 10000e93 li t4,256 + 80002bb8: 00a00193 li gp,10 + 80002bbc: 03d51063 bne a0,t4,80002bdc <fail> + +0000000080002bc0 <test_11>: + 80002bc0: 7fc00537 lui a0,0x7fc00 + 80002bc4: f0050553 fmv.w.x fa0,a0 + 80002bc8: e0051553 fclass.s a0,fa0 + 80002bcc: 20000e93 li t4,512 + 80002bd0: 00b00193 li gp,11 + 80002bd4: 01d51463 bne a0,t4,80002bdc <fail> + 80002bd8: 00301a63 bne zero,gp,80002bec <pass> + +0000000080002bdc <fail>: + 80002bdc: 00119513 slli a0,gp,0x1 + 80002be0: 00050063 beqz a0,80002be0 <fail+0x4> + 80002be4: 00156513 ori a0,a0,1 + 80002be8: 00000073 ecall + +0000000080002bec <pass>: + 80002bec: 00100513 li a0,1 + 80002bf0: 00000073 ecall + 80002bf4: c0001073 unimp diff --git a/test/riscv-tests/rv64uf-v-fclass.elf b/test/riscv-tests/rv64uf-v-fclass.elf Binary files differnew file mode 100644 index 0000000..dca789e --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fclass.elf diff --git a/test/riscv-tests/rv64uf-v-fcmp.dump b/test/riscv-tests/rv64uf-v-fcmp.dump new file mode 100644 index 0000000..2cce5a1 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcmp.dump @@ -0,0 +1,1195 @@ + +rv64uf-v-fcmp: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 96868693 addi a3,a3,-1688 # 80002dc0 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 99c60613 addi a2,a2,-1636 # 80002e50 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 96460613 addi a2,a2,-1692 # 80002e68 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 8b468693 addi a3,a3,-1868 # 80002e08 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 8d068693 addi a3,a3,-1840 # 80002f40 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: 85060613 addi a2,a2,-1968 # 80002f18 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 78468693 addi a3,a3,1924 # 80002f70 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 6a468693 addi a3,a3,1700 # 80002ee0 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 63468693 addi a3,a3,1588 # 80002ea8 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 01d00793 li a5,29 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 029377b7 lui a5,0x2937 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 46c78793 addi a5,a5,1132 # 293746c <_start-0x7d6c8b94> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: a0102553 feq.s a0,ft0,ft1 + 80002aec: 001015f3 fsflags a1,zero + 80002af0: 00000613 li a2,0 + 80002af4: 2ad51663 bne a0,a3,80002da0 <fail> + 80002af8: 2ac59463 bne a1,a2,80002da0 <fail> + +0000000080002afc <test_3>: + 80002afc: 00300193 li gp,3 + 80002b00: 00000517 auipc a0,0x0 + 80002b04: 51050513 addi a0,a0,1296 # 80003010 <test_3_data> + 80002b08: 00052007 flw ft0,0(a0) + 80002b0c: 00452087 flw ft1,4(a0) + 80002b10: 00852107 flw ft2,8(a0) + 80002b14: 00c52683 lw a3,12(a0) + 80002b18: a0100553 fle.s a0,ft0,ft1 + 80002b1c: 001015f3 fsflags a1,zero + 80002b20: 00000613 li a2,0 + 80002b24: 26d51e63 bne a0,a3,80002da0 <fail> + 80002b28: 26c59c63 bne a1,a2,80002da0 <fail> + +0000000080002b2c <test_4>: + 80002b2c: 00400193 li gp,4 + 80002b30: 00000517 auipc a0,0x0 + 80002b34: 4f050513 addi a0,a0,1264 # 80003020 <test_4_data> + 80002b38: 00052007 flw ft0,0(a0) + 80002b3c: 00452087 flw ft1,4(a0) + 80002b40: 00852107 flw ft2,8(a0) + 80002b44: 00c52683 lw a3,12(a0) + 80002b48: a0101553 flt.s a0,ft0,ft1 + 80002b4c: 001015f3 fsflags a1,zero + 80002b50: 00000613 li a2,0 + 80002b54: 24d51663 bne a0,a3,80002da0 <fail> + 80002b58: 24c59463 bne a1,a2,80002da0 <fail> + +0000000080002b5c <test_5>: + 80002b5c: 00500193 li gp,5 + 80002b60: 00000517 auipc a0,0x0 + 80002b64: 4d050513 addi a0,a0,1232 # 80003030 <test_5_data> + 80002b68: 00052007 flw ft0,0(a0) + 80002b6c: 00452087 flw ft1,4(a0) + 80002b70: 00852107 flw ft2,8(a0) + 80002b74: 00c52683 lw a3,12(a0) + 80002b78: a0102553 feq.s a0,ft0,ft1 + 80002b7c: 001015f3 fsflags a1,zero + 80002b80: 00000613 li a2,0 + 80002b84: 20d51e63 bne a0,a3,80002da0 <fail> + 80002b88: 20c59c63 bne a1,a2,80002da0 <fail> + +0000000080002b8c <test_6>: + 80002b8c: 00600193 li gp,6 + 80002b90: 00000517 auipc a0,0x0 + 80002b94: 4b050513 addi a0,a0,1200 # 80003040 <test_6_data> + 80002b98: 00052007 flw ft0,0(a0) + 80002b9c: 00452087 flw ft1,4(a0) + 80002ba0: 00852107 flw ft2,8(a0) + 80002ba4: 00c52683 lw a3,12(a0) + 80002ba8: a0100553 fle.s a0,ft0,ft1 + 80002bac: 001015f3 fsflags a1,zero + 80002bb0: 00000613 li a2,0 + 80002bb4: 1ed51663 bne a0,a3,80002da0 <fail> + 80002bb8: 1ec59463 bne a1,a2,80002da0 <fail> + +0000000080002bbc <test_7>: + 80002bbc: 00700193 li gp,7 + 80002bc0: 00000517 auipc a0,0x0 + 80002bc4: 49050513 addi a0,a0,1168 # 80003050 <test_7_data> + 80002bc8: 00052007 flw ft0,0(a0) + 80002bcc: 00452087 flw ft1,4(a0) + 80002bd0: 00852107 flw ft2,8(a0) + 80002bd4: 00c52683 lw a3,12(a0) + 80002bd8: a0101553 flt.s a0,ft0,ft1 + 80002bdc: 001015f3 fsflags a1,zero + 80002be0: 00000613 li a2,0 + 80002be4: 1ad51e63 bne a0,a3,80002da0 <fail> + 80002be8: 1ac59c63 bne a1,a2,80002da0 <fail> + +0000000080002bec <test_8>: + 80002bec: 00800193 li gp,8 + 80002bf0: 00000517 auipc a0,0x0 + 80002bf4: 47050513 addi a0,a0,1136 # 80003060 <test_8_data> + 80002bf8: 00052007 flw ft0,0(a0) + 80002bfc: 00452087 flw ft1,4(a0) + 80002c00: 00852107 flw ft2,8(a0) + 80002c04: 00c52683 lw a3,12(a0) + 80002c08: a0102553 feq.s a0,ft0,ft1 + 80002c0c: 001015f3 fsflags a1,zero + 80002c10: 00000613 li a2,0 + 80002c14: 18d51663 bne a0,a3,80002da0 <fail> + 80002c18: 18c59463 bne a1,a2,80002da0 <fail> + +0000000080002c1c <test_9>: + 80002c1c: 00900193 li gp,9 + 80002c20: 00000517 auipc a0,0x0 + 80002c24: 45050513 addi a0,a0,1104 # 80003070 <test_9_data> + 80002c28: 00052007 flw ft0,0(a0) + 80002c2c: 00452087 flw ft1,4(a0) + 80002c30: 00852107 flw ft2,8(a0) + 80002c34: 00c52683 lw a3,12(a0) + 80002c38: a0102553 feq.s a0,ft0,ft1 + 80002c3c: 001015f3 fsflags a1,zero + 80002c40: 00000613 li a2,0 + 80002c44: 14d51e63 bne a0,a3,80002da0 <fail> + 80002c48: 14c59c63 bne a1,a2,80002da0 <fail> + +0000000080002c4c <test_10>: + 80002c4c: 00a00193 li gp,10 + 80002c50: 00000517 auipc a0,0x0 + 80002c54: 43050513 addi a0,a0,1072 # 80003080 <test_10_data> + 80002c58: 00052007 flw ft0,0(a0) + 80002c5c: 00452087 flw ft1,4(a0) + 80002c60: 00852107 flw ft2,8(a0) + 80002c64: 00c52683 lw a3,12(a0) + 80002c68: a0102553 feq.s a0,ft0,ft1 + 80002c6c: 001015f3 fsflags a1,zero + 80002c70: 01000613 li a2,16 + 80002c74: 12d51663 bne a0,a3,80002da0 <fail> + 80002c78: 12c59463 bne a1,a2,80002da0 <fail> + +0000000080002c7c <test_11>: + 80002c7c: 00b00193 li gp,11 + 80002c80: 00000517 auipc a0,0x0 + 80002c84: 41050513 addi a0,a0,1040 # 80003090 <test_11_data> + 80002c88: 00052007 flw ft0,0(a0) + 80002c8c: 00452087 flw ft1,4(a0) + 80002c90: 00852107 flw ft2,8(a0) + 80002c94: 00c52683 lw a3,12(a0) + 80002c98: a0101553 flt.s a0,ft0,ft1 + 80002c9c: 001015f3 fsflags a1,zero + 80002ca0: 01000613 li a2,16 + 80002ca4: 0ed51e63 bne a0,a3,80002da0 <fail> + 80002ca8: 0ec59c63 bne a1,a2,80002da0 <fail> + +0000000080002cac <test_12>: + 80002cac: 00c00193 li gp,12 + 80002cb0: 00000517 auipc a0,0x0 + 80002cb4: 3f050513 addi a0,a0,1008 # 800030a0 <test_12_data> + 80002cb8: 00052007 flw ft0,0(a0) + 80002cbc: 00452087 flw ft1,4(a0) + 80002cc0: 00852107 flw ft2,8(a0) + 80002cc4: 00c52683 lw a3,12(a0) + 80002cc8: a0101553 flt.s a0,ft0,ft1 + 80002ccc: 001015f3 fsflags a1,zero + 80002cd0: 01000613 li a2,16 + 80002cd4: 0cd51663 bne a0,a3,80002da0 <fail> + 80002cd8: 0cc59463 bne a1,a2,80002da0 <fail> + +0000000080002cdc <test_13>: + 80002cdc: 00d00193 li gp,13 + 80002ce0: 00000517 auipc a0,0x0 + 80002ce4: 3d050513 addi a0,a0,976 # 800030b0 <test_13_data> + 80002ce8: 00052007 flw ft0,0(a0) + 80002cec: 00452087 flw ft1,4(a0) + 80002cf0: 00852107 flw ft2,8(a0) + 80002cf4: 00c52683 lw a3,12(a0) + 80002cf8: a0101553 flt.s a0,ft0,ft1 + 80002cfc: 001015f3 fsflags a1,zero + 80002d00: 01000613 li a2,16 + 80002d04: 08d51e63 bne a0,a3,80002da0 <fail> + 80002d08: 08c59c63 bne a1,a2,80002da0 <fail> + +0000000080002d0c <test_14>: + 80002d0c: 00e00193 li gp,14 + 80002d10: 00000517 auipc a0,0x0 + 80002d14: 3b050513 addi a0,a0,944 # 800030c0 <test_14_data> + 80002d18: 00052007 flw ft0,0(a0) + 80002d1c: 00452087 flw ft1,4(a0) + 80002d20: 00852107 flw ft2,8(a0) + 80002d24: 00c52683 lw a3,12(a0) + 80002d28: a0100553 fle.s a0,ft0,ft1 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 01000613 li a2,16 + 80002d34: 06d51663 bne a0,a3,80002da0 <fail> + 80002d38: 06c59463 bne a1,a2,80002da0 <fail> + +0000000080002d3c <test_15>: + 80002d3c: 00f00193 li gp,15 + 80002d40: 00000517 auipc a0,0x0 + 80002d44: 39050513 addi a0,a0,912 # 800030d0 <test_15_data> + 80002d48: 00052007 flw ft0,0(a0) + 80002d4c: 00452087 flw ft1,4(a0) + 80002d50: 00852107 flw ft2,8(a0) + 80002d54: 00c52683 lw a3,12(a0) + 80002d58: a0100553 fle.s a0,ft0,ft1 + 80002d5c: 001015f3 fsflags a1,zero + 80002d60: 01000613 li a2,16 + 80002d64: 02d51e63 bne a0,a3,80002da0 <fail> + 80002d68: 02c59c63 bne a1,a2,80002da0 <fail> + +0000000080002d6c <test_16>: + 80002d6c: 01000193 li gp,16 + 80002d70: 00000517 auipc a0,0x0 + 80002d74: 37050513 addi a0,a0,880 # 800030e0 <test_16_data> + 80002d78: 00052007 flw ft0,0(a0) + 80002d7c: 00452087 flw ft1,4(a0) + 80002d80: 00852107 flw ft2,8(a0) + 80002d84: 00c52683 lw a3,12(a0) + 80002d88: a0100553 fle.s a0,ft0,ft1 + 80002d8c: 001015f3 fsflags a1,zero + 80002d90: 01000613 li a2,16 + 80002d94: 00d51663 bne a0,a3,80002da0 <fail> + 80002d98: 00c59463 bne a1,a2,80002da0 <fail> + 80002d9c: 00301a63 bne zero,gp,80002db0 <pass> + +0000000080002da0 <fail>: + 80002da0: 00119513 slli a0,gp,0x1 + 80002da4: 00050063 beqz a0,80002da4 <fail+0x4> + 80002da8: 00156513 ori a0,a0,1 + 80002dac: 00000073 ecall + +0000000080002db0 <pass>: + 80002db0: 00100513 li a0,1 + 80002db4: 00000073 ecall + 80002db8: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: bfae147b 0xbfae147b + 80003004: bfae147b 0xbfae147b + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0001 nop + 8000300e: 0000 unimp + +0000000080003010 <test_3_data>: + 80003010: bfae147b 0xbfae147b + 80003014: bfae147b 0xbfae147b + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: 0001 nop + 8000301e: 0000 unimp + +0000000080003020 <test_4_data>: + 80003020: bfae147b 0xbfae147b + 80003024: bfae147b 0xbfae147b + 80003028: 0000 unimp + 8000302a: 0000 unimp + 8000302c: 0000 unimp + 8000302e: 0000 unimp + +0000000080003030 <test_5_data>: + 80003030: 5c29 li s8,-22 + 80003032: 147bbfaf 0x147bbfaf + 80003036: bfae fsd fa1,504(sp) + 80003038: 0000 unimp + 8000303a: 0000 unimp + 8000303c: 0000 unimp + 8000303e: 0000 unimp + +0000000080003040 <test_6_data>: + 80003040: 5c29 li s8,-22 + 80003042: 147bbfaf 0x147bbfaf + 80003046: bfae fsd fa1,504(sp) + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 0001 nop + 8000304e: 0000 unimp + +0000000080003050 <test_7_data>: + 80003050: 5c29 li s8,-22 + 80003052: 147bbfaf 0x147bbfaf + 80003056: bfae fsd fa1,504(sp) + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 0001 nop + 8000305e: 0000 unimp + +0000000080003060 <test_8_data>: + 80003060: ffff 0xffff + 80003062: 7fff 0x7fff + 80003064: 0000 unimp + 80003066: 0000 unimp + 80003068: 0000 unimp + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 0000 unimp + +0000000080003070 <test_9_data>: + 80003070: ffff 0xffff + 80003072: 7fff 0x7fff + 80003074: ffff 0xffff + 80003076: 7fff 0x7fff + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: 0000 unimp + +0000000080003080 <test_10_data>: + 80003080: 0001 nop + 80003082: 7f80 ld s0,56(a5) + 80003084: 0000 unimp + 80003086: 0000 unimp + 80003088: 0000 unimp + 8000308a: 0000 unimp + 8000308c: 0000 unimp + 8000308e: 0000 unimp + +0000000080003090 <test_11_data>: + 80003090: ffff 0xffff + 80003092: 7fff 0x7fff + 80003094: 0000 unimp + 80003096: 0000 unimp + 80003098: 0000 unimp + 8000309a: 0000 unimp + 8000309c: 0000 unimp + 8000309e: 0000 unimp + +00000000800030a0 <test_12_data>: + 800030a0: ffff 0xffff + 800030a2: 7fff 0x7fff + 800030a4: ffff 0xffff + 800030a6: 7fff 0x7fff + 800030a8: 0000 unimp + 800030aa: 0000 unimp + 800030ac: 0000 unimp + 800030ae: 0000 unimp + +00000000800030b0 <test_13_data>: + 800030b0: 0001 nop + 800030b2: 7f80 ld s0,56(a5) + 800030b4: 0000 unimp + 800030b6: 0000 unimp + 800030b8: 0000 unimp + 800030ba: 0000 unimp + 800030bc: 0000 unimp + 800030be: 0000 unimp + +00000000800030c0 <test_14_data>: + 800030c0: ffff 0xffff + 800030c2: 7fff 0x7fff + 800030c4: 0000 unimp + 800030c6: 0000 unimp + 800030c8: 0000 unimp + 800030ca: 0000 unimp + 800030cc: 0000 unimp + 800030ce: 0000 unimp + +00000000800030d0 <test_15_data>: + 800030d0: ffff 0xffff + 800030d2: 7fff 0x7fff + 800030d4: ffff 0xffff + 800030d6: 7fff 0x7fff + 800030d8: 0000 unimp + 800030da: 0000 unimp + 800030dc: 0000 unimp + 800030de: 0000 unimp + +00000000800030e0 <test_16_data>: + 800030e0: 0001 nop + 800030e2: 7f80 ld s0,56(a5) + 800030e4: 0000 unimp + 800030e6: 0000 unimp + 800030e8: 0000 unimp + 800030ea: 0000 unimp + 800030ec: 0000 unimp + 800030ee: 0000 unimp diff --git a/test/riscv-tests/rv64uf-v-fcmp.elf b/test/riscv-tests/rv64uf-v-fcmp.elf Binary files differnew file mode 100644 index 0000000..8e733f3 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcmp.elf diff --git a/test/riscv-tests/rv64uf-v-fcvt.dump b/test/riscv-tests/rv64uf-v-fcvt.dump new file mode 100644 index 0000000..779c069 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcvt.dump @@ -0,0 +1,964 @@ + +rv64uf-v-fcvt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00000697 auipc a3,0x0 + 8000245c: 7b868693 addi a3,a3,1976 # 80002c10 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00000617 auipc a2,0x0 + 800024b8: 7ec60613 addi a2,a2,2028 # 80002ca0 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00000617 auipc a2,0x0 + 80002508: 7b460613 addi a2,a2,1972 # 80002cb8 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 70468693 addi a3,a3,1796 # 80002c58 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 72068693 addi a3,a3,1824 # 80002d90 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 6a060613 addi a2,a2,1696 # 80002d68 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 5d468693 addi a3,a3,1492 # 80002dc0 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 4f468693 addi a3,a3,1268 # 80002d30 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 48468693 addi a3,a3,1156 # 80002cf8 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 02c00793 li a5,44 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 046787b7 lui a5,0x4678 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 34878793 addi a5,a5,840 # 4678348 <_start-0x7b987cb8> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00052683 lw a3,0(a0) + 80002adc: 00200513 li a0,2 + 80002ae0: d0057053 fcvt.s.w ft0,a0 + 80002ae4: 00101073 fsflags zero + 80002ae8: e0000553 fmv.x.w a0,ft0 + 80002aec: 10d51263 bne a0,a3,80002bf0 <fail> + +0000000080002af0 <test_3>: + 80002af0: 00300193 li gp,3 + 80002af4: 00000517 auipc a0,0x0 + 80002af8: 51050513 addi a0,a0,1296 # 80003004 <test_3_data> + 80002afc: 00052683 lw a3,0(a0) + 80002b00: ffe00513 li a0,-2 + 80002b04: d0057053 fcvt.s.w ft0,a0 + 80002b08: 00101073 fsflags zero + 80002b0c: e0000553 fmv.x.w a0,ft0 + 80002b10: 0ed51063 bne a0,a3,80002bf0 <fail> + +0000000080002b14 <test_4>: + 80002b14: 00400193 li gp,4 + 80002b18: 00000517 auipc a0,0x0 + 80002b1c: 4f050513 addi a0,a0,1264 # 80003008 <test_4_data> + 80002b20: 00052683 lw a3,0(a0) + 80002b24: 00200513 li a0,2 + 80002b28: d0157053 fcvt.s.wu ft0,a0 + 80002b2c: 00101073 fsflags zero + 80002b30: e0000553 fmv.x.w a0,ft0 + 80002b34: 0ad51e63 bne a0,a3,80002bf0 <fail> + +0000000080002b38 <test_5>: + 80002b38: 00500193 li gp,5 + 80002b3c: 00000517 auipc a0,0x0 + 80002b40: 4d050513 addi a0,a0,1232 # 8000300c <test_5_data> + 80002b44: 00052683 lw a3,0(a0) + 80002b48: ffe00513 li a0,-2 + 80002b4c: d0157053 fcvt.s.wu ft0,a0 + 80002b50: 00101073 fsflags zero + 80002b54: e0000553 fmv.x.w a0,ft0 + 80002b58: 08d51c63 bne a0,a3,80002bf0 <fail> + +0000000080002b5c <test_6>: + 80002b5c: 00600193 li gp,6 + 80002b60: 00000517 auipc a0,0x0 + 80002b64: 4b050513 addi a0,a0,1200 # 80003010 <test_6_data> + 80002b68: 00052683 lw a3,0(a0) + 80002b6c: 00200513 li a0,2 + 80002b70: d0257053 fcvt.s.l ft0,a0 + 80002b74: 00101073 fsflags zero + 80002b78: e0000553 fmv.x.w a0,ft0 + 80002b7c: 06d51a63 bne a0,a3,80002bf0 <fail> + +0000000080002b80 <test_7>: + 80002b80: 00700193 li gp,7 + 80002b84: 00000517 auipc a0,0x0 + 80002b88: 49050513 addi a0,a0,1168 # 80003014 <test_7_data> + 80002b8c: 00052683 lw a3,0(a0) + 80002b90: ffe00513 li a0,-2 + 80002b94: d0257053 fcvt.s.l ft0,a0 + 80002b98: 00101073 fsflags zero + 80002b9c: e0000553 fmv.x.w a0,ft0 + 80002ba0: 04d51863 bne a0,a3,80002bf0 <fail> + +0000000080002ba4 <test_8>: + 80002ba4: 00800193 li gp,8 + 80002ba8: 00000517 auipc a0,0x0 + 80002bac: 47050513 addi a0,a0,1136 # 80003018 <test_8_data> + 80002bb0: 00052683 lw a3,0(a0) + 80002bb4: 00200513 li a0,2 + 80002bb8: d0357053 fcvt.s.lu ft0,a0 + 80002bbc: 00101073 fsflags zero + 80002bc0: e0000553 fmv.x.w a0,ft0 + 80002bc4: 02d51663 bne a0,a3,80002bf0 <fail> + +0000000080002bc8 <test_9>: + 80002bc8: 00900193 li gp,9 + 80002bcc: 00000517 auipc a0,0x0 + 80002bd0: 45050513 addi a0,a0,1104 # 8000301c <test_9_data> + 80002bd4: 00052683 lw a3,0(a0) + 80002bd8: ffe00513 li a0,-2 + 80002bdc: d0357053 fcvt.s.lu ft0,a0 + 80002be0: 00101073 fsflags zero + 80002be4: e0000553 fmv.x.w a0,ft0 + 80002be8: 00d51463 bne a0,a3,80002bf0 <fail> + 80002bec: 00301a63 bne zero,gp,80002c00 <pass> + +0000000080002bf0 <fail>: + 80002bf0: 00119513 slli a0,gp,0x1 + 80002bf4: 00050063 beqz a0,80002bf4 <fail+0x4> + 80002bf8: 00156513 ori a0,a0,1 + 80002bfc: 00000073 ecall + +0000000080002c00 <pass>: + 80002c00: 00100513 li a0,1 + 80002c04: 00000073 ecall + 80002c08: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 4000 lw s0,0(s0) + +0000000080003004 <test_3_data>: + 80003004: 0000 unimp + 80003006: c000 sw s0,0(s0) + +0000000080003008 <test_4_data>: + 80003008: 0000 unimp + 8000300a: 4000 lw s0,0(s0) + +000000008000300c <test_5_data>: + 8000300c: 0000 unimp + 8000300e: 4f80 lw s0,24(a5) + +0000000080003010 <test_6_data>: + 80003010: 0000 unimp + 80003012: 4000 lw s0,0(s0) + +0000000080003014 <test_7_data>: + 80003014: 0000 unimp + 80003016: c000 sw s0,0(s0) + +0000000080003018 <test_8_data>: + 80003018: 0000 unimp + 8000301a: 4000 lw s0,0(s0) + +000000008000301c <test_9_data>: + 8000301c: 0000 unimp + 8000301e: 5f80 lw s0,56(a5) diff --git a/test/riscv-tests/rv64uf-v-fcvt.elf b/test/riscv-tests/rv64uf-v-fcvt.elf Binary files differnew file mode 100644 index 0000000..f5a8193 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcvt.elf diff --git a/test/riscv-tests/rv64uf-v-fcvt_w.dump b/test/riscv-tests/rv64uf-v-fcvt_w.dump new file mode 100644 index 0000000..7c95fce --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcvt_w.dump @@ -0,0 +1,1722 @@ + +rv64uf-v-fcvt_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 0000a117 auipc sp,0xa + 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00003617 auipc a2,0x3 + 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00007797 auipc a5,0x7 + 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00007717 auipc a4,0x7 + 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00007897 auipc a7,0x7 + 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00007797 auipc a5,0x7 + 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00007797 auipc a5,0x7 + 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: df068693 addi a3,a3,-528 # 80003248 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: e2460613 addi a2,a2,-476 # 800032d8 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: dec60613 addi a2,a2,-532 # 800032f0 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: d3c68693 addi a3,a3,-708 # 80003290 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: d5868693 addi a3,a3,-680 # 800033c8 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: cd860613 addi a2,a2,-808 # 800033a0 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00007d17 auipc s10,0x7 + 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping> + 80002724: 00003b97 auipc s7,0x3 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00007a17 auipc s4,0x7 + 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00007717 auipc a4,0x7 + 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00007717 auipc a4,0x7 + 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail> + 800027d8: 00007717 auipc a4,0x7 + 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00001697 auipc a3,0x1 + 800027f0: c0c68693 addi a3,a3,-1012 # 800033f8 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00001697 auipc a3,0x1 + 80002840: b2c68693 addi a3,a3,-1236 # 80003368 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00001697 auipc a3,0x1 + 80002878: abc68693 addi a3,a3,-1348 # 80003330 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00003697 auipc a3,0x3 + 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000> + 800028e4: 00004717 auipc a4,0x4 + 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00005797 auipc a5,0x5 + 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00002897 auipc a7,0x2 + 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00003697 auipc a3,0x3 + 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00002617 auipc a2,0x2 + 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00005697 auipc a3,0x5 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8> + 8000294c: 00003717 auipc a4,0x3 + 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00006697 auipc a3,0x6 + 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00007617 auipc a2,0x7 + 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head> + 800029d4: 00007797 auipc a5,0x7 + 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail> + 800029dc: 00007317 auipc t1,0x7 + 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping> + 800029e4: 03e00793 li a5,62 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00007797 auipc a5,0x7 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 048057b7 lui a5,0x4805 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f9678793 addi a5,a5,-106 # 4804f96 <_start-0x7b7fb06a> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00001517 auipc a0,0x1 + 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: c0001553 fcvt.w.s a0,ft0,rtz + 80002aec: 001015f3 fsflags a1,zero + 80002af0: 00100613 li a2,1 + 80002af4: 72d51a63 bne a0,a3,80003228 <fail> + 80002af8: 72c59863 bne a1,a2,80003228 <fail> + +0000000080002afc <test_3>: + 80002afc: 00300193 li gp,3 + 80002b00: 00001517 auipc a0,0x1 + 80002b04: 51050513 addi a0,a0,1296 # 80004010 <test_3_data> + 80002b08: 00052007 flw ft0,0(a0) + 80002b0c: 00452087 flw ft1,4(a0) + 80002b10: 00852107 flw ft2,8(a0) + 80002b14: 00c52683 lw a3,12(a0) + 80002b18: c0001553 fcvt.w.s a0,ft0,rtz + 80002b1c: 001015f3 fsflags a1,zero + 80002b20: 00000613 li a2,0 + 80002b24: 70d51263 bne a0,a3,80003228 <fail> + 80002b28: 70c59063 bne a1,a2,80003228 <fail> + +0000000080002b2c <test_4>: + 80002b2c: 00400193 li gp,4 + 80002b30: 00001517 auipc a0,0x1 + 80002b34: 4f050513 addi a0,a0,1264 # 80004020 <test_4_data> + 80002b38: 00052007 flw ft0,0(a0) + 80002b3c: 00452087 flw ft1,4(a0) + 80002b40: 00852107 flw ft2,8(a0) + 80002b44: 00c52683 lw a3,12(a0) + 80002b48: c0001553 fcvt.w.s a0,ft0,rtz + 80002b4c: 001015f3 fsflags a1,zero + 80002b50: 00100613 li a2,1 + 80002b54: 6cd51a63 bne a0,a3,80003228 <fail> + 80002b58: 6cc59863 bne a1,a2,80003228 <fail> + +0000000080002b5c <test_5>: + 80002b5c: 00500193 li gp,5 + 80002b60: 00001517 auipc a0,0x1 + 80002b64: 4d050513 addi a0,a0,1232 # 80004030 <test_5_data> + 80002b68: 00052007 flw ft0,0(a0) + 80002b6c: 00452087 flw ft1,4(a0) + 80002b70: 00852107 flw ft2,8(a0) + 80002b74: 00c52683 lw a3,12(a0) + 80002b78: c0001553 fcvt.w.s a0,ft0,rtz + 80002b7c: 001015f3 fsflags a1,zero + 80002b80: 00100613 li a2,1 + 80002b84: 6ad51263 bne a0,a3,80003228 <fail> + 80002b88: 6ac59063 bne a1,a2,80003228 <fail> + +0000000080002b8c <test_6>: + 80002b8c: 00600193 li gp,6 + 80002b90: 00001517 auipc a0,0x1 + 80002b94: 4b050513 addi a0,a0,1200 # 80004040 <test_6_data> + 80002b98: 00052007 flw ft0,0(a0) + 80002b9c: 00452087 flw ft1,4(a0) + 80002ba0: 00852107 flw ft2,8(a0) + 80002ba4: 00c52683 lw a3,12(a0) + 80002ba8: c0001553 fcvt.w.s a0,ft0,rtz + 80002bac: 001015f3 fsflags a1,zero + 80002bb0: 00000613 li a2,0 + 80002bb4: 66d51a63 bne a0,a3,80003228 <fail> + 80002bb8: 66c59863 bne a1,a2,80003228 <fail> + +0000000080002bbc <test_7>: + 80002bbc: 00700193 li gp,7 + 80002bc0: 00001517 auipc a0,0x1 + 80002bc4: 49050513 addi a0,a0,1168 # 80004050 <test_7_data> + 80002bc8: 00052007 flw ft0,0(a0) + 80002bcc: 00452087 flw ft1,4(a0) + 80002bd0: 00852107 flw ft2,8(a0) + 80002bd4: 00c52683 lw a3,12(a0) + 80002bd8: c0001553 fcvt.w.s a0,ft0,rtz + 80002bdc: 001015f3 fsflags a1,zero + 80002be0: 00100613 li a2,1 + 80002be4: 64d51263 bne a0,a3,80003228 <fail> + 80002be8: 64c59063 bne a1,a2,80003228 <fail> + +0000000080002bec <test_8>: + 80002bec: 00800193 li gp,8 + 80002bf0: 00001517 auipc a0,0x1 + 80002bf4: 47050513 addi a0,a0,1136 # 80004060 <test_8_data> + 80002bf8: 00052007 flw ft0,0(a0) + 80002bfc: 00452087 flw ft1,4(a0) + 80002c00: 00852107 flw ft2,8(a0) + 80002c04: 00c52683 lw a3,12(a0) + 80002c08: c0001553 fcvt.w.s a0,ft0,rtz + 80002c0c: 001015f3 fsflags a1,zero + 80002c10: 01000613 li a2,16 + 80002c14: 60d51a63 bne a0,a3,80003228 <fail> + 80002c18: 60c59863 bne a1,a2,80003228 <fail> + +0000000080002c1c <test_9>: + 80002c1c: 00900193 li gp,9 + 80002c20: 00001517 auipc a0,0x1 + 80002c24: 45050513 addi a0,a0,1104 # 80004070 <test_9_data> + 80002c28: 00052007 flw ft0,0(a0) + 80002c2c: 00452087 flw ft1,4(a0) + 80002c30: 00852107 flw ft2,8(a0) + 80002c34: 00c52683 lw a3,12(a0) + 80002c38: c0001553 fcvt.w.s a0,ft0,rtz + 80002c3c: 001015f3 fsflags a1,zero + 80002c40: 01000613 li a2,16 + 80002c44: 5ed51263 bne a0,a3,80003228 <fail> + 80002c48: 5ec59063 bne a1,a2,80003228 <fail> + +0000000080002c4c <test_12>: + 80002c4c: 00c00193 li gp,12 + 80002c50: 00001517 auipc a0,0x1 + 80002c54: 43050513 addi a0,a0,1072 # 80004080 <test_12_data> + 80002c58: 00052007 flw ft0,0(a0) + 80002c5c: 00452087 flw ft1,4(a0) + 80002c60: 00852107 flw ft2,8(a0) + 80002c64: 00c52683 lw a3,12(a0) + 80002c68: c0101553 fcvt.wu.s a0,ft0,rtz + 80002c6c: 001015f3 fsflags a1,zero + 80002c70: 01000613 li a2,16 + 80002c74: 5ad51a63 bne a0,a3,80003228 <fail> + 80002c78: 5ac59863 bne a1,a2,80003228 <fail> + +0000000080002c7c <test_13>: + 80002c7c: 00d00193 li gp,13 + 80002c80: 00001517 auipc a0,0x1 + 80002c84: 41050513 addi a0,a0,1040 # 80004090 <test_13_data> + 80002c88: 00052007 flw ft0,0(a0) + 80002c8c: 00452087 flw ft1,4(a0) + 80002c90: 00852107 flw ft2,8(a0) + 80002c94: 00c52683 lw a3,12(a0) + 80002c98: c0101553 fcvt.wu.s a0,ft0,rtz + 80002c9c: 001015f3 fsflags a1,zero + 80002ca0: 01000613 li a2,16 + 80002ca4: 58d51263 bne a0,a3,80003228 <fail> + 80002ca8: 58c59063 bne a1,a2,80003228 <fail> + +0000000080002cac <test_14>: + 80002cac: 00e00193 li gp,14 + 80002cb0: 00001517 auipc a0,0x1 + 80002cb4: 3f050513 addi a0,a0,1008 # 800040a0 <test_14_data> + 80002cb8: 00052007 flw ft0,0(a0) + 80002cbc: 00452087 flw ft1,4(a0) + 80002cc0: 00852107 flw ft2,8(a0) + 80002cc4: 00c52683 lw a3,12(a0) + 80002cc8: c0101553 fcvt.wu.s a0,ft0,rtz + 80002ccc: 001015f3 fsflags a1,zero + 80002cd0: 00100613 li a2,1 + 80002cd4: 54d51a63 bne a0,a3,80003228 <fail> + 80002cd8: 54c59863 bne a1,a2,80003228 <fail> + +0000000080002cdc <test_15>: + 80002cdc: 00f00193 li gp,15 + 80002ce0: 00001517 auipc a0,0x1 + 80002ce4: 3d050513 addi a0,a0,976 # 800040b0 <test_15_data> + 80002ce8: 00052007 flw ft0,0(a0) + 80002cec: 00452087 flw ft1,4(a0) + 80002cf0: 00852107 flw ft2,8(a0) + 80002cf4: 00c52683 lw a3,12(a0) + 80002cf8: c0101553 fcvt.wu.s a0,ft0,rtz + 80002cfc: 001015f3 fsflags a1,zero + 80002d00: 00100613 li a2,1 + 80002d04: 52d51263 bne a0,a3,80003228 <fail> + 80002d08: 52c59063 bne a1,a2,80003228 <fail> + +0000000080002d0c <test_16>: + 80002d0c: 01000193 li gp,16 + 80002d10: 00001517 auipc a0,0x1 + 80002d14: 3b050513 addi a0,a0,944 # 800040c0 <test_16_data> + 80002d18: 00052007 flw ft0,0(a0) + 80002d1c: 00452087 flw ft1,4(a0) + 80002d20: 00852107 flw ft2,8(a0) + 80002d24: 00c52683 lw a3,12(a0) + 80002d28: c0101553 fcvt.wu.s a0,ft0,rtz + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 4ed51a63 bne a0,a3,80003228 <fail> + 80002d38: 4ec59863 bne a1,a2,80003228 <fail> + +0000000080002d3c <test_17>: + 80002d3c: 01100193 li gp,17 + 80002d40: 00001517 auipc a0,0x1 + 80002d44: 39050513 addi a0,a0,912 # 800040d0 <test_17_data> + 80002d48: 00052007 flw ft0,0(a0) + 80002d4c: 00452087 flw ft1,4(a0) + 80002d50: 00852107 flw ft2,8(a0) + 80002d54: 00c52683 lw a3,12(a0) + 80002d58: c0101553 fcvt.wu.s a0,ft0,rtz + 80002d5c: 001015f3 fsflags a1,zero + 80002d60: 00100613 li a2,1 + 80002d64: 4cd51263 bne a0,a3,80003228 <fail> + 80002d68: 4cc59063 bne a1,a2,80003228 <fail> + +0000000080002d6c <test_18>: + 80002d6c: 01200193 li gp,18 + 80002d70: 00001517 auipc a0,0x1 + 80002d74: 37050513 addi a0,a0,880 # 800040e0 <test_18_data> + 80002d78: 00052007 flw ft0,0(a0) + 80002d7c: 00452087 flw ft1,4(a0) + 80002d80: 00852107 flw ft2,8(a0) + 80002d84: 00c52683 lw a3,12(a0) + 80002d88: c0101553 fcvt.wu.s a0,ft0,rtz + 80002d8c: 001015f3 fsflags a1,zero + 80002d90: 01000613 li a2,16 + 80002d94: 48d51a63 bne a0,a3,80003228 <fail> + 80002d98: 48c59863 bne a1,a2,80003228 <fail> + +0000000080002d9c <test_19>: + 80002d9c: 01300193 li gp,19 + 80002da0: 00001517 auipc a0,0x1 + 80002da4: 35050513 addi a0,a0,848 # 800040f0 <test_19_data> + 80002da8: 00052007 flw ft0,0(a0) + 80002dac: 00452087 flw ft1,4(a0) + 80002db0: 00852107 flw ft2,8(a0) + 80002db4: 00c52683 lw a3,12(a0) + 80002db8: c0101553 fcvt.wu.s a0,ft0,rtz + 80002dbc: 001015f3 fsflags a1,zero + 80002dc0: 00000613 li a2,0 + 80002dc4: 46d51263 bne a0,a3,80003228 <fail> + 80002dc8: 46c59063 bne a1,a2,80003228 <fail> + +0000000080002dcc <test_22>: + 80002dcc: 01600193 li gp,22 + 80002dd0: 00001517 auipc a0,0x1 + 80002dd4: 33050513 addi a0,a0,816 # 80004100 <test_22_data> + 80002dd8: 00052007 flw ft0,0(a0) + 80002ddc: 00452087 flw ft1,4(a0) + 80002de0: 00852107 flw ft2,8(a0) + 80002de4: 00c52683 lw a3,12(a0) + 80002de8: c0201553 fcvt.l.s a0,ft0,rtz + 80002dec: 001015f3 fsflags a1,zero + 80002df0: 00100613 li a2,1 + 80002df4: 42d51a63 bne a0,a3,80003228 <fail> + 80002df8: 42c59863 bne a1,a2,80003228 <fail> + +0000000080002dfc <test_23>: + 80002dfc: 01700193 li gp,23 + 80002e00: 00001517 auipc a0,0x1 + 80002e04: 31050513 addi a0,a0,784 # 80004110 <test_23_data> + 80002e08: 00052007 flw ft0,0(a0) + 80002e0c: 00452087 flw ft1,4(a0) + 80002e10: 00852107 flw ft2,8(a0) + 80002e14: 00c52683 lw a3,12(a0) + 80002e18: c0201553 fcvt.l.s a0,ft0,rtz + 80002e1c: 001015f3 fsflags a1,zero + 80002e20: 00000613 li a2,0 + 80002e24: 40d51263 bne a0,a3,80003228 <fail> + 80002e28: 40c59063 bne a1,a2,80003228 <fail> + +0000000080002e2c <test_24>: + 80002e2c: 01800193 li gp,24 + 80002e30: 00001517 auipc a0,0x1 + 80002e34: 2f050513 addi a0,a0,752 # 80004120 <test_24_data> + 80002e38: 00052007 flw ft0,0(a0) + 80002e3c: 00452087 flw ft1,4(a0) + 80002e40: 00852107 flw ft2,8(a0) + 80002e44: 00c52683 lw a3,12(a0) + 80002e48: c0201553 fcvt.l.s a0,ft0,rtz + 80002e4c: 001015f3 fsflags a1,zero + 80002e50: 00100613 li a2,1 + 80002e54: 3cd51a63 bne a0,a3,80003228 <fail> + 80002e58: 3cc59863 bne a1,a2,80003228 <fail> + +0000000080002e5c <test_25>: + 80002e5c: 01900193 li gp,25 + 80002e60: 00001517 auipc a0,0x1 + 80002e64: 2d050513 addi a0,a0,720 # 80004130 <test_25_data> + 80002e68: 00052007 flw ft0,0(a0) + 80002e6c: 00452087 flw ft1,4(a0) + 80002e70: 00852107 flw ft2,8(a0) + 80002e74: 00c52683 lw a3,12(a0) + 80002e78: c0201553 fcvt.l.s a0,ft0,rtz + 80002e7c: 001015f3 fsflags a1,zero + 80002e80: 00100613 li a2,1 + 80002e84: 3ad51263 bne a0,a3,80003228 <fail> + 80002e88: 3ac59063 bne a1,a2,80003228 <fail> + +0000000080002e8c <test_26>: + 80002e8c: 01a00193 li gp,26 + 80002e90: 00001517 auipc a0,0x1 + 80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_26_data> + 80002e98: 00052007 flw ft0,0(a0) + 80002e9c: 00452087 flw ft1,4(a0) + 80002ea0: 00852107 flw ft2,8(a0) + 80002ea4: 00c52683 lw a3,12(a0) + 80002ea8: c0201553 fcvt.l.s a0,ft0,rtz + 80002eac: 001015f3 fsflags a1,zero + 80002eb0: 00000613 li a2,0 + 80002eb4: 36d51a63 bne a0,a3,80003228 <fail> + 80002eb8: 36c59863 bne a1,a2,80003228 <fail> + +0000000080002ebc <test_27>: + 80002ebc: 01b00193 li gp,27 + 80002ec0: 00001517 auipc a0,0x1 + 80002ec4: 29050513 addi a0,a0,656 # 80004150 <test_27_data> + 80002ec8: 00052007 flw ft0,0(a0) + 80002ecc: 00452087 flw ft1,4(a0) + 80002ed0: 00852107 flw ft2,8(a0) + 80002ed4: 00c52683 lw a3,12(a0) + 80002ed8: c0201553 fcvt.l.s a0,ft0,rtz + 80002edc: 001015f3 fsflags a1,zero + 80002ee0: 00100613 li a2,1 + 80002ee4: 34d51263 bne a0,a3,80003228 <fail> + 80002ee8: 34c59063 bne a1,a2,80003228 <fail> + +0000000080002eec <test_32>: + 80002eec: 02000193 li gp,32 + 80002ef0: 00001517 auipc a0,0x1 + 80002ef4: 27050513 addi a0,a0,624 # 80004160 <test_32_data> + 80002ef8: 00052007 flw ft0,0(a0) + 80002efc: 00452087 flw ft1,4(a0) + 80002f00: 00852107 flw ft2,8(a0) + 80002f04: 00c52683 lw a3,12(a0) + 80002f08: c0301553 fcvt.lu.s a0,ft0,rtz + 80002f0c: 001015f3 fsflags a1,zero + 80002f10: 01000613 li a2,16 + 80002f14: 30d51a63 bne a0,a3,80003228 <fail> + 80002f18: 30c59863 bne a1,a2,80003228 <fail> + +0000000080002f1c <test_33>: + 80002f1c: 02100193 li gp,33 + 80002f20: 00001517 auipc a0,0x1 + 80002f24: 25050513 addi a0,a0,592 # 80004170 <test_33_data> + 80002f28: 00052007 flw ft0,0(a0) + 80002f2c: 00452087 flw ft1,4(a0) + 80002f30: 00852107 flw ft2,8(a0) + 80002f34: 00c52683 lw a3,12(a0) + 80002f38: c0301553 fcvt.lu.s a0,ft0,rtz + 80002f3c: 001015f3 fsflags a1,zero + 80002f40: 01000613 li a2,16 + 80002f44: 2ed51263 bne a0,a3,80003228 <fail> + 80002f48: 2ec59063 bne a1,a2,80003228 <fail> + +0000000080002f4c <test_34>: + 80002f4c: 02200193 li gp,34 + 80002f50: 00001517 auipc a0,0x1 + 80002f54: 23050513 addi a0,a0,560 # 80004180 <test_34_data> + 80002f58: 00052007 flw ft0,0(a0) + 80002f5c: 00452087 flw ft1,4(a0) + 80002f60: 00852107 flw ft2,8(a0) + 80002f64: 00c52683 lw a3,12(a0) + 80002f68: c0301553 fcvt.lu.s a0,ft0,rtz + 80002f6c: 001015f3 fsflags a1,zero + 80002f70: 00100613 li a2,1 + 80002f74: 2ad51a63 bne a0,a3,80003228 <fail> + 80002f78: 2ac59863 bne a1,a2,80003228 <fail> + +0000000080002f7c <test_35>: + 80002f7c: 02300193 li gp,35 + 80002f80: 00001517 auipc a0,0x1 + 80002f84: 21050513 addi a0,a0,528 # 80004190 <test_35_data> + 80002f88: 00052007 flw ft0,0(a0) + 80002f8c: 00452087 flw ft1,4(a0) + 80002f90: 00852107 flw ft2,8(a0) + 80002f94: 00c52683 lw a3,12(a0) + 80002f98: c0301553 fcvt.lu.s a0,ft0,rtz + 80002f9c: 001015f3 fsflags a1,zero + 80002fa0: 00100613 li a2,1 + 80002fa4: 28d51263 bne a0,a3,80003228 <fail> + 80002fa8: 28c59063 bne a1,a2,80003228 <fail> + +0000000080002fac <test_36>: + 80002fac: 02400193 li gp,36 + 80002fb0: 00001517 auipc a0,0x1 + 80002fb4: 1f050513 addi a0,a0,496 # 800041a0 <test_36_data> + 80002fb8: 00052007 flw ft0,0(a0) + 80002fbc: 00452087 flw ft1,4(a0) + 80002fc0: 00852107 flw ft2,8(a0) + 80002fc4: 00c52683 lw a3,12(a0) + 80002fc8: c0301553 fcvt.lu.s a0,ft0,rtz + 80002fcc: 001015f3 fsflags a1,zero + 80002fd0: 00000613 li a2,0 + 80002fd4: 24d51a63 bne a0,a3,80003228 <fail> + 80002fd8: 24c59863 bne a1,a2,80003228 <fail> + +0000000080002fdc <test_37>: + 80002fdc: 02500193 li gp,37 + 80002fe0: 00001517 auipc a0,0x1 + 80002fe4: 1d050513 addi a0,a0,464 # 800041b0 <test_37_data> + 80002fe8: 00052007 flw ft0,0(a0) + 80002fec: 00452087 flw ft1,4(a0) + 80002ff0: 00852107 flw ft2,8(a0) + 80002ff4: 00c52683 lw a3,12(a0) + 80002ff8: c0301553 fcvt.lu.s a0,ft0,rtz + 80002ffc: 001015f3 fsflags a1,zero + 80003000: 00100613 li a2,1 + 80003004: 22d51263 bne a0,a3,80003228 <fail> + 80003008: 22c59063 bne a1,a2,80003228 <fail> + +000000008000300c <test_38>: + 8000300c: 02600193 li gp,38 + 80003010: 00001517 auipc a0,0x1 + 80003014: 1b050513 addi a0,a0,432 # 800041c0 <test_38_data> + 80003018: 00052007 flw ft0,0(a0) + 8000301c: 00452087 flw ft1,4(a0) + 80003020: 00852107 flw ft2,8(a0) + 80003024: 00c52683 lw a3,12(a0) + 80003028: c0301553 fcvt.lu.s a0,ft0,rtz + 8000302c: 001015f3 fsflags a1,zero + 80003030: 01000613 li a2,16 + 80003034: 1ed51a63 bne a0,a3,80003228 <fail> + 80003038: 1ec59863 bne a1,a2,80003228 <fail> + +000000008000303c <test_42>: + 8000303c: 00001097 auipc ra,0x1 + 80003040: 19408093 addi ra,ra,404 # 800041d0 <begin_signature> + 80003044: 0000a087 flw ft1,0(ra) + 80003048: c000f0d3 fcvt.w.s ra,ft1 + 8000304c: 80000eb7 lui t4,0x80000 + 80003050: fffe8e9b addiw t4,t4,-1 + 80003054: 02a00193 li gp,42 + 80003058: 1dd09863 bne ra,t4,80003228 <fail> + +000000008000305c <test_44>: + 8000305c: 00001097 auipc ra,0x1 + 80003060: 17408093 addi ra,ra,372 # 800041d0 <begin_signature> + 80003064: 0080a087 flw ft1,8(ra) + 80003068: c000f0d3 fcvt.w.s ra,ft1 + 8000306c: 80000eb7 lui t4,0x80000 + 80003070: 02c00193 li gp,44 + 80003074: 1bd09a63 bne ra,t4,80003228 <fail> + +0000000080003078 <test_43>: + 80003078: 00001097 auipc ra,0x1 + 8000307c: 15808093 addi ra,ra,344 # 800041d0 <begin_signature> + 80003080: 0000a087 flw ft1,0(ra) + 80003084: c020f0d3 fcvt.l.s ra,ft1 + 80003088: fff00e9b addiw t4,zero,-1 + 8000308c: 03fe9e93 slli t4,t4,0x3f + 80003090: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f> + 80003094: 02b00193 li gp,43 + 80003098: 19d09863 bne ra,t4,80003228 <fail> + +000000008000309c <test_45>: + 8000309c: 00001097 auipc ra,0x1 + 800030a0: 13408093 addi ra,ra,308 # 800041d0 <begin_signature> + 800030a4: 0080a087 flw ft1,8(ra) + 800030a8: c020f0d3 fcvt.l.s ra,ft1 + 800030ac: fff00e9b addiw t4,zero,-1 + 800030b0: 03fe9e93 slli t4,t4,0x3f + 800030b4: 02d00193 li gp,45 + 800030b8: 17d09863 bne ra,t4,80003228 <fail> + +00000000800030bc <test_52>: + 800030bc: 00001097 auipc ra,0x1 + 800030c0: 11408093 addi ra,ra,276 # 800041d0 <begin_signature> + 800030c4: 0040a087 flw ft1,4(ra) + 800030c8: c000f0d3 fcvt.w.s ra,ft1 + 800030cc: 80000eb7 lui t4,0x80000 + 800030d0: fffe8e9b addiw t4,t4,-1 + 800030d4: 03400193 li gp,52 + 800030d8: 15d09863 bne ra,t4,80003228 <fail> + +00000000800030dc <test_54>: + 800030dc: 00001097 auipc ra,0x1 + 800030e0: 0f408093 addi ra,ra,244 # 800041d0 <begin_signature> + 800030e4: 00c0a087 flw ft1,12(ra) + 800030e8: c000f0d3 fcvt.w.s ra,ft1 + 800030ec: 80000eb7 lui t4,0x80000 + 800030f0: fffe8e9b addiw t4,t4,-1 + 800030f4: 03600193 li gp,54 + 800030f8: 13d09863 bne ra,t4,80003228 <fail> + +00000000800030fc <test_53>: + 800030fc: 00001097 auipc ra,0x1 + 80003100: 0d408093 addi ra,ra,212 # 800041d0 <begin_signature> + 80003104: 0040a087 flw ft1,4(ra) + 80003108: c020f0d3 fcvt.l.s ra,ft1 + 8000310c: fff00e9b addiw t4,zero,-1 + 80003110: 03fe9e93 slli t4,t4,0x3f + 80003114: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f> + 80003118: 03500193 li gp,53 + 8000311c: 11d09663 bne ra,t4,80003228 <fail> + +0000000080003120 <test_55>: + 80003120: 00001097 auipc ra,0x1 + 80003124: 0b008093 addi ra,ra,176 # 800041d0 <begin_signature> + 80003128: 00c0a087 flw ft1,12(ra) + 8000312c: c020f0d3 fcvt.l.s ra,ft1 + 80003130: fff00e9b addiw t4,zero,-1 + 80003134: 03fe9e93 slli t4,t4,0x3f + 80003138: fffe8e93 addi t4,t4,-1 + 8000313c: 03700193 li gp,55 + 80003140: 0fd09463 bne ra,t4,80003228 <fail> + +0000000080003144 <test_62>: + 80003144: 00001097 auipc ra,0x1 + 80003148: 08c08093 addi ra,ra,140 # 800041d0 <begin_signature> + 8000314c: 0000a087 flw ft1,0(ra) + 80003150: c010f0d3 fcvt.wu.s ra,ft1 + 80003154: fff00e93 li t4,-1 + 80003158: 03e00193 li gp,62 + 8000315c: 0dd09663 bne ra,t4,80003228 <fail> + +0000000080003160 <test_63>: + 80003160: 00001097 auipc ra,0x1 + 80003164: 07008093 addi ra,ra,112 # 800041d0 <begin_signature> + 80003168: 0040a087 flw ft1,4(ra) + 8000316c: c010f0d3 fcvt.wu.s ra,ft1 + 80003170: fff00e93 li t4,-1 + 80003174: 03f00193 li gp,63 + 80003178: 0bd09863 bne ra,t4,80003228 <fail> + +000000008000317c <test_64>: + 8000317c: 00001097 auipc ra,0x1 + 80003180: 05408093 addi ra,ra,84 # 800041d0 <begin_signature> + 80003184: 0080a087 flw ft1,8(ra) + 80003188: c010f0d3 fcvt.wu.s ra,ft1 + 8000318c: 00000e93 li t4,0 + 80003190: 04000193 li gp,64 + 80003194: 09d09a63 bne ra,t4,80003228 <fail> + +0000000080003198 <test_65>: + 80003198: 00001097 auipc ra,0x1 + 8000319c: 03808093 addi ra,ra,56 # 800041d0 <begin_signature> + 800031a0: 00c0a087 flw ft1,12(ra) + 800031a4: c010f0d3 fcvt.wu.s ra,ft1 + 800031a8: fff00e93 li t4,-1 + 800031ac: 04100193 li gp,65 + 800031b0: 07d09c63 bne ra,t4,80003228 <fail> + +00000000800031b4 <test_66>: + 800031b4: 00001097 auipc ra,0x1 + 800031b8: 01c08093 addi ra,ra,28 # 800041d0 <begin_signature> + 800031bc: 0000a087 flw ft1,0(ra) + 800031c0: c030f0d3 fcvt.lu.s ra,ft1 + 800031c4: fff00e93 li t4,-1 + 800031c8: 04200193 li gp,66 + 800031cc: 05d09e63 bne ra,t4,80003228 <fail> + +00000000800031d0 <test_67>: + 800031d0: 00001097 auipc ra,0x1 + 800031d4: 00008093 mv ra,ra + 800031d8: 0040a087 flw ft1,4(ra) # 800041d4 <begin_signature+0x4> + 800031dc: c030f0d3 fcvt.lu.s ra,ft1 + 800031e0: fff00e93 li t4,-1 + 800031e4: 04300193 li gp,67 + 800031e8: 05d09063 bne ra,t4,80003228 <fail> + +00000000800031ec <test_68>: + 800031ec: 00001097 auipc ra,0x1 + 800031f0: fe408093 addi ra,ra,-28 # 800041d0 <begin_signature> + 800031f4: 0080a087 flw ft1,8(ra) + 800031f8: c030f0d3 fcvt.lu.s ra,ft1 + 800031fc: 00000e93 li t4,0 + 80003200: 04400193 li gp,68 + 80003204: 03d09263 bne ra,t4,80003228 <fail> + +0000000080003208 <test_69>: + 80003208: 00001097 auipc ra,0x1 + 8000320c: fc808093 addi ra,ra,-56 # 800041d0 <begin_signature> + 80003210: 00c0a087 flw ft1,12(ra) + 80003214: c030f0d3 fcvt.lu.s ra,ft1 + 80003218: fff00e93 li t4,-1 + 8000321c: 04500193 li gp,69 + 80003220: 01d09463 bne ra,t4,80003228 <fail> + 80003224: 00301a63 bne zero,gp,80003238 <pass> + +0000000080003228 <fail>: + 80003228: 00119513 slli a0,gp,0x1 + 8000322c: 00050063 beqz a0,8000322c <fail+0x4> + 80003230: 00156513 ori a0,a0,1 + 80003234: 00000073 ecall + +0000000080003238 <pass>: + 80003238: 00100513 li a0,1 + 8000323c: 00000073 ecall + 80003240: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <test_2_data>: + 80004000: cccd beqz s1,800040ba <test_15_data+0xa> + 80004002: bf8c fsd fa1,56(a5) + 80004004: 0000 unimp + 80004006: 0000 unimp + 80004008: 0000 unimp + 8000400a: 0000 unimp + 8000400c: ffff 0xffff + 8000400e: ffff 0xffff + +0000000080004010 <test_3_data>: + 80004010: 0000 unimp + 80004012: bf80 fsd fs0,56(a5) + 80004014: 0000 unimp + 80004016: 0000 unimp + 80004018: 0000 unimp + 8000401a: 0000 unimp + 8000401c: ffff 0xffff + 8000401e: ffff 0xffff + +0000000080004020 <test_4_data>: + 80004020: 6666 ld a2,88(sp) + 80004022: bf66 fsd fs9,440(sp) + 80004024: 0000 unimp + 80004026: 0000 unimp + 80004028: 0000 unimp + 8000402a: 0000 unimp + 8000402c: 0000 unimp + 8000402e: 0000 unimp + +0000000080004030 <test_5_data>: + 80004030: 6666 ld a2,88(sp) + 80004032: 3f66 fld ft10,120(sp) + 80004034: 0000 unimp + 80004036: 0000 unimp + 80004038: 0000 unimp + 8000403a: 0000 unimp + 8000403c: 0000 unimp + 8000403e: 0000 unimp + +0000000080004040 <test_6_data>: + 80004040: 0000 unimp + 80004042: 3f80 fld fs0,56(a5) + 80004044: 0000 unimp + 80004046: 0000 unimp + 80004048: 0000 unimp + 8000404a: 0000 unimp + 8000404c: 0001 nop + 8000404e: 0000 unimp + +0000000080004050 <test_7_data>: + 80004050: cccd beqz s1,8000410a <test_22_data+0xa> + 80004052: 3f8c fld fa1,56(a5) + 80004054: 0000 unimp + 80004056: 0000 unimp + 80004058: 0000 unimp + 8000405a: 0000 unimp + 8000405c: 0001 nop + 8000405e: 0000 unimp + +0000000080004060 <test_8_data>: + 80004060: d05e sw s7,32(sp) + 80004062: cf32 sw a2,156(sp) + 80004064: 0000 unimp + 80004066: 0000 unimp + 80004068: 0000 unimp + 8000406a: 0000 unimp + 8000406c: 0000 unimp + 8000406e: 8000 0x8000 + +0000000080004070 <test_9_data>: + 80004070: d05e sw s7,32(sp) + 80004072: 4f32 lw t5,12(sp) + 80004074: 0000 unimp + 80004076: 0000 unimp + 80004078: 0000 unimp + 8000407a: 0000 unimp + 8000407c: ffff 0xffff + 8000407e: 7fff 0x7fff + +0000000080004080 <test_12_data>: + 80004080: 0000 unimp + 80004082: c040 sw s0,4(s0) + 80004084: 0000 unimp + 80004086: 0000 unimp + 80004088: 0000 unimp + 8000408a: 0000 unimp + 8000408c: 0000 unimp + 8000408e: 0000 unimp + +0000000080004090 <test_13_data>: + 80004090: 0000 unimp + 80004092: bf80 fsd fs0,56(a5) + 80004094: 0000 unimp + 80004096: 0000 unimp + 80004098: 0000 unimp + 8000409a: 0000 unimp + 8000409c: 0000 unimp + 8000409e: 0000 unimp + +00000000800040a0 <test_14_data>: + 800040a0: 6666 ld a2,88(sp) + 800040a2: bf66 fsd fs9,440(sp) + 800040a4: 0000 unimp + 800040a6: 0000 unimp + 800040a8: 0000 unimp + 800040aa: 0000 unimp + 800040ac: 0000 unimp + 800040ae: 0000 unimp + +00000000800040b0 <test_15_data>: + 800040b0: 6666 ld a2,88(sp) + 800040b2: 3f66 fld ft10,120(sp) + 800040b4: 0000 unimp + 800040b6: 0000 unimp + 800040b8: 0000 unimp + 800040ba: 0000 unimp + 800040bc: 0000 unimp + 800040be: 0000 unimp + +00000000800040c0 <test_16_data>: + 800040c0: 0000 unimp + 800040c2: 3f80 fld fs0,56(a5) + 800040c4: 0000 unimp + 800040c6: 0000 unimp + 800040c8: 0000 unimp + 800040ca: 0000 unimp + 800040cc: 0001 nop + 800040ce: 0000 unimp + +00000000800040d0 <test_17_data>: + 800040d0: cccd beqz s1,8000418a <test_34_data+0xa> + 800040d2: 3f8c fld fa1,56(a5) + 800040d4: 0000 unimp + 800040d6: 0000 unimp + 800040d8: 0000 unimp + 800040da: 0000 unimp + 800040dc: 0001 nop + 800040de: 0000 unimp + +00000000800040e0 <test_18_data>: + 800040e0: d05e sw s7,32(sp) + 800040e2: cf32 sw a2,156(sp) + 800040e4: 0000 unimp + 800040e6: 0000 unimp + 800040e8: 0000 unimp + 800040ea: 0000 unimp + 800040ec: 0000 unimp + 800040ee: 0000 unimp + +00000000800040f0 <test_19_data>: + 800040f0: d05e sw s7,32(sp) + 800040f2: 4f32 lw t5,12(sp) + 800040f4: 0000 unimp + 800040f6: 0000 unimp + 800040f8: 0000 unimp + 800040fa: 0000 unimp + 800040fc: 5e00 lw s0,56(a2) + 800040fe: b2d0 fsd fa2,160(a3) + +0000000080004100 <test_22_data>: + 80004100: cccd beqz s1,800041ba <test_37_data+0xa> + 80004102: bf8c fsd fa1,56(a5) + 80004104: 0000 unimp + 80004106: 0000 unimp + 80004108: 0000 unimp + 8000410a: 0000 unimp + 8000410c: ffff 0xffff + 8000410e: ffff 0xffff + +0000000080004110 <test_23_data>: + 80004110: 0000 unimp + 80004112: bf80 fsd fs0,56(a5) + 80004114: 0000 unimp + 80004116: 0000 unimp + 80004118: 0000 unimp + 8000411a: 0000 unimp + 8000411c: ffff 0xffff + 8000411e: ffff 0xffff + +0000000080004120 <test_24_data>: + 80004120: 6666 ld a2,88(sp) + 80004122: bf66 fsd fs9,440(sp) + 80004124: 0000 unimp + 80004126: 0000 unimp + 80004128: 0000 unimp + 8000412a: 0000 unimp + 8000412c: 0000 unimp + 8000412e: 0000 unimp + +0000000080004130 <test_25_data>: + 80004130: 6666 ld a2,88(sp) + 80004132: 3f66 fld ft10,120(sp) + 80004134: 0000 unimp + 80004136: 0000 unimp + 80004138: 0000 unimp + 8000413a: 0000 unimp + 8000413c: 0000 unimp + 8000413e: 0000 unimp + +0000000080004140 <test_26_data>: + 80004140: 0000 unimp + 80004142: 3f80 fld fs0,56(a5) + 80004144: 0000 unimp + 80004146: 0000 unimp + 80004148: 0000 unimp + 8000414a: 0000 unimp + 8000414c: 0001 nop + 8000414e: 0000 unimp + +0000000080004150 <test_27_data>: + 80004150: cccd beqz s1,8000420a <tdat_d+0x2a> + 80004152: 3f8c fld fa1,56(a5) + 80004154: 0000 unimp + 80004156: 0000 unimp + 80004158: 0000 unimp + 8000415a: 0000 unimp + 8000415c: 0001 nop + 8000415e: 0000 unimp + +0000000080004160 <test_32_data>: + 80004160: 0000 unimp + 80004162: c040 sw s0,4(s0) + 80004164: 0000 unimp + 80004166: 0000 unimp + 80004168: 0000 unimp + 8000416a: 0000 unimp + 8000416c: 0000 unimp + 8000416e: 0000 unimp + +0000000080004170 <test_33_data>: + 80004170: 0000 unimp + 80004172: bf80 fsd fs0,56(a5) + 80004174: 0000 unimp + 80004176: 0000 unimp + 80004178: 0000 unimp + 8000417a: 0000 unimp + 8000417c: 0000 unimp + 8000417e: 0000 unimp + +0000000080004180 <test_34_data>: + 80004180: 6666 ld a2,88(sp) + 80004182: bf66 fsd fs9,440(sp) + 80004184: 0000 unimp + 80004186: 0000 unimp + 80004188: 0000 unimp + 8000418a: 0000 unimp + 8000418c: 0000 unimp + 8000418e: 0000 unimp + +0000000080004190 <test_35_data>: + 80004190: 6666 ld a2,88(sp) + 80004192: 3f66 fld ft10,120(sp) + 80004194: 0000 unimp + 80004196: 0000 unimp + 80004198: 0000 unimp + 8000419a: 0000 unimp + 8000419c: 0000 unimp + 8000419e: 0000 unimp + +00000000800041a0 <test_36_data>: + 800041a0: 0000 unimp + 800041a2: 3f80 fld fs0,56(a5) + 800041a4: 0000 unimp + 800041a6: 0000 unimp + 800041a8: 0000 unimp + 800041aa: 0000 unimp + 800041ac: 0001 nop + 800041ae: 0000 unimp + +00000000800041b0 <test_37_data>: + 800041b0: cccd beqz s1,8000426a <tdat_d+0x8a> + 800041b2: 3f8c fld fa1,56(a5) + 800041b4: 0000 unimp + 800041b6: 0000 unimp + 800041b8: 0000 unimp + 800041ba: 0000 unimp + 800041bc: 0001 nop + 800041be: 0000 unimp + +00000000800041c0 <test_38_data>: + 800041c0: d05e sw s7,32(sp) + 800041c2: cf32 sw a2,156(sp) + 800041c4: 0000 unimp + 800041c6: 0000 unimp + 800041c8: 0000 unimp + 800041ca: 0000 unimp + 800041cc: 0000 unimp + 800041ce: 0000 unimp + +00000000800041d0 <begin_signature>: + 800041d0: ffff 0xffff + 800041d2: ffff 0xffff + 800041d4: ffff 0xffff + 800041d6: 7fff 0x7fff + 800041d8: 0000 unimp + 800041da: ff80 sd s0,56(a5) + 800041dc: 0000 unimp + 800041de: 7f80 ld s0,56(a5) + +00000000800041e0 <tdat_d>: + 800041e0: ffff 0xffff + 800041e2: ffff 0xffff + 800041e4: ffff 0xffff + 800041e6: ffff 0xffff + 800041e8: ffff 0xffff + 800041ea: ffff 0xffff + 800041ec: ffff 0xffff + 800041ee: 7fff 0x7fff + 800041f0: 0000 unimp + 800041f2: 0000 unimp + 800041f4: 0000 unimp + 800041f6: fff0 sd a2,248(a5) + 800041f8: 0000 unimp + 800041fa: 0000 unimp + 800041fc: 0000 unimp + 800041fe: 7ff0 ld a2,248(a5) diff --git a/test/riscv-tests/rv64uf-v-fcvt_w.elf b/test/riscv-tests/rv64uf-v-fcvt_w.elf Binary files differnew file mode 100644 index 0000000..194ac5c --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fcvt_w.elf diff --git a/test/riscv-tests/rv64uf-v-fdiv.dump b/test/riscv-tests/rv64uf-v-fdiv.dump new file mode 100644 index 0000000..0678b02 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fdiv.dump @@ -0,0 +1,1021 @@ + +rv64uf-v-fdiv: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 80068693 addi a3,a3,-2048 # 80002c58 <pass+0xc> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 83460613 addi a2,a2,-1996 # 80002ce8 <pass+0x9c> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00000617 auipc a2,0x0 + 80002508: 7fc60613 addi a2,a2,2044 # 80002d00 <pass+0xb4> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00000697 auipc a3,0x0 + 80002558: 74c68693 addi a3,a3,1868 # 80002ca0 <pass+0x54> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00000697 auipc a3,0x0 + 80002674: 76868693 addi a3,a3,1896 # 80002dd8 <pass+0x18c> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 6e860613 addi a2,a2,1768 # 80002db0 <pass+0x164> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 61c68693 addi a3,a3,1564 # 80002e08 <pass+0x1bc> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 53c68693 addi a3,a3,1340 # 80002d78 <pass+0x12c> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 4cc68693 addi a3,a3,1228 # 80002d40 <pass+0xf4> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 03100793 li a5,49 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0fd527b7 lui a5,0xfd52 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 05878793 addi a5,a5,88 # fd52058 <_start-0x702adfa8> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: 181071d3 fdiv.s ft3,ft0,ft1 + 80002aec: e0018553 fmv.x.w a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00100613 li a2,1 + 80002af8: 14d51263 bne a0,a3,80002c3c <fail> + 80002afc: 14c59063 bne a1,a2,80002c3c <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data> + 80002b0c: 00052007 flw ft0,0(a0) + 80002b10: 00452087 flw ft1,4(a0) + 80002b14: 00852107 flw ft2,8(a0) + 80002b18: 00c52683 lw a3,12(a0) + 80002b1c: 181071d3 fdiv.s ft3,ft0,ft1 + 80002b20: e0018553 fmv.x.w a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 10d51863 bne a0,a3,80002c3c <fail> + 80002b30: 10c59663 bne a1,a2,80002c3c <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data> + 80002b40: 00052007 flw ft0,0(a0) + 80002b44: 00452087 flw ft1,4(a0) + 80002b48: 00852107 flw ft2,8(a0) + 80002b4c: 00c52683 lw a3,12(a0) + 80002b50: 181071d3 fdiv.s ft3,ft0,ft1 + 80002b54: e0018553 fmv.x.w a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 0cd51e63 bne a0,a3,80002c3c <fail> + 80002b64: 0cc59c63 bne a1,a2,80002c3c <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data> + 80002b74: 00052007 flw ft0,0(a0) + 80002b78: 00452087 flw ft1,4(a0) + 80002b7c: 00852107 flw ft2,8(a0) + 80002b80: 00c52683 lw a3,12(a0) + 80002b84: 580071d3 fsqrt.s ft3,ft0 + 80002b88: e0018553 fmv.x.w a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00100613 li a2,1 + 80002b94: 0ad51463 bne a0,a3,80002c3c <fail> + 80002b98: 0ac59263 bne a1,a2,80002c3c <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data> + 80002ba8: 00052007 flw ft0,0(a0) + 80002bac: 00452087 flw ft1,4(a0) + 80002bb0: 00852107 flw ft2,8(a0) + 80002bb4: 00c52683 lw a3,12(a0) + 80002bb8: 580071d3 fsqrt.s ft3,ft0 + 80002bbc: e0018553 fmv.x.w a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00000613 li a2,0 + 80002bc8: 06d51a63 bne a0,a3,80002c3c <fail> + 80002bcc: 06c59863 bne a1,a2,80002c3c <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data> + 80002bdc: 00052007 flw ft0,0(a0) + 80002be0: 00452087 flw ft1,4(a0) + 80002be4: 00852107 flw ft2,8(a0) + 80002be8: 00c52683 lw a3,12(a0) + 80002bec: 580071d3 fsqrt.s ft3,ft0 + 80002bf0: e0018553 fmv.x.w a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 01000613 li a2,16 + 80002bfc: 04d51063 bne a0,a3,80002c3c <fail> + 80002c00: 02c59e63 bne a1,a2,80002c3c <fail> + +0000000080002c04 <test_8>: + 80002c04: 00800193 li gp,8 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 45c50513 addi a0,a0,1116 # 80003064 <test_8_data> + 80002c10: 00052007 flw ft0,0(a0) + 80002c14: 00452087 flw ft1,4(a0) + 80002c18: 00852107 flw ft2,8(a0) + 80002c1c: 00c52683 lw a3,12(a0) + 80002c20: 580071d3 fsqrt.s ft3,ft0 + 80002c24: e0018553 fmv.x.w a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00100613 li a2,1 + 80002c30: 00d51663 bne a0,a3,80002c3c <fail> + 80002c34: 00c59463 bne a1,a2,80002c3c <fail> + 80002c38: 00301a63 bne zero,gp,80002c4c <pass> + +0000000080002c3c <fail>: + 80002c3c: 00119513 slli a0,gp,0x1 + 80002c40: 00050063 beqz a0,80002c40 <fail+0x4> + 80002c44: 00156513 ori a0,a0,1 + 80002c48: 00000073 ecall + +0000000080002c4c <pass>: + 80002c4c: 00100513 li a0,1 + 80002c50: 00000073 ecall + 80002c54: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 40490fdb 0x40490fdb + 80003004: f854 sd a3,176(s0) + 80003006: 402d c.li zero,11 + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: eee0 sd s0,216(a3) + 8000300e: sltiu t6,zero,1024 + +0000000080003010 <test_3_data>: + 80003010: 4000 lw s0,0(s0) + 80003012: c49a sw t1,72(sp) + 80003014: 449a6333 0x449a6333 + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: c5a2 sw s0,200(sp) + 8000301e: bf7f 0xbf7f + +0000000080003020 <test_4_data>: + 80003020: 40490fdb 0x40490fdb + 80003024: 0000 unimp + 80003026: 3f80 fld fs0,56(a5) + 80003028: 0000 unimp + 8000302a: 0000 unimp + 8000302c: 40490fdb 0x40490fdb + +0000000080003030 <test_5_data>: + 80003030: 40490fdb 0x40490fdb + 80003034: 0000 unimp + 80003036: 0000 unimp + 80003038: 0000 unimp + 8000303a: 0000 unimp + 8000303c: dfc5 beqz a5,80002ff4 <pass+0x3a8> + 8000303e: 3fe2 fld ft11,56(sp) + +0000000080003040 <test_6_data>: + 80003040: 4000 lw s0,0(s0) + 80003042: 461c lw a5,8(a2) + 80003044: 0000 unimp + 80003046: 0000 unimp + 80003048: 0000 unimp + 8000304a: 0000 unimp + 8000304c: 0000 unimp + 8000304e: 42c8 lw a0,4(a3) + +0000000080003050 <test_7_data>: + 80003050: 0000 unimp + 80003052: bf80 fsd fs0,56(a5) + 80003054: 0000 unimp + 80003056: 0000 unimp + 80003058: 0000 unimp + 8000305a: 0000 unimp + 8000305c: 0000 unimp + 8000305e: 7fc0 ld s0,184(a5) + 80003060: 0000 unimp + 80003062: 0000 unimp + +0000000080003064 <test_8_data>: + 80003064: 0000 unimp + 80003066: 0000432b 0x432b + 8000306a: 0000 unimp + 8000306c: 0000 unimp + 8000306e: 0000 unimp + 80003070: 3a26 fld fs4,104(sp) + 80003072: 4151 li sp,20 + 80003074: 0000 unimp + 80003076: 0000 unimp + 80003078: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: 0000 unimp diff --git a/test/riscv-tests/rv64uf-v-fdiv.elf b/test/riscv-tests/rv64uf-v-fdiv.elf Binary files differnew file mode 100644 index 0000000..5e4c30d --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fdiv.elf diff --git a/test/riscv-tests/rv64uf-v-fmadd.dump b/test/riscv-tests/rv64uf-v-fmadd.dump new file mode 100644 index 0000000..f99b7b2 --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fmadd.dump @@ -0,0 +1,1140 @@ + +rv64uf-v-fmadd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 00009117 auipc sp,0x9 + 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00002617 auipc a2,0x2 + 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00006797 auipc a5,0x6 + 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00006717 auipc a4,0x6 + 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00006897 auipc a7,0x6 + 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00006797 auipc a5,0x6 + 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00006797 auipc a5,0x6 + 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: 90868693 addi a3,a3,-1784 # 80002d60 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: 93c60613 addi a2,a2,-1732 # 80002df0 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: 90460613 addi a2,a2,-1788 # 80002e08 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 85468693 addi a3,a3,-1964 # 80002da8 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 87068693 addi a3,a3,-1936 # 80002ee0 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00000617 auipc a2,0x0 + 800026cc: 7f060613 addi a2,a2,2032 # 80002eb8 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00006d17 auipc s10,0x6 + 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping> + 80002724: 00002b97 auipc s7,0x2 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00006a17 auipc s4,0x6 + 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00006717 auipc a4,0x6 + 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00006717 auipc a4,0x6 + 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail> + 800027d8: 00006717 auipc a4,0x6 + 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00000697 auipc a3,0x0 + 800027f0: 72468693 addi a3,a3,1828 # 80002f10 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 64468693 addi a3,a3,1604 # 80002e80 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 5d468693 addi a3,a3,1492 # 80002e48 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00002697 auipc a3,0x2 + 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00004797 auipc a5,0x4 + 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00005697 auipc a3,0x5 + 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00006617 auipc a2,0x6 + 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head> + 800029d4: 00006797 auipc a5,0x6 + 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail> + 800029dc: 00006317 auipc t1,0x6 + 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping> + 800029e4: 01a00793 li a5,26 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00006797 auipc a5,0x6 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 094647b7 lui a5,0x9464 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ca878793 addi a5,a5,-856 # 9463ca8 <_start-0x76b9c358> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00000517 auipc a0,0x0 + 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 80002aec: e0018553 fmv.x.w a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 24d51463 bne a0,a3,80002d40 <fail> + 80002afc: 24c59263 bne a1,a2,80002d40 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data> + 80002b0c: 00052007 flw ft0,0(a0) + 80002b10: 00452087 flw ft1,4(a0) + 80002b14: 00852107 flw ft2,8(a0) + 80002b18: 00c52683 lw a3,12(a0) + 80002b1c: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 80002b20: e0018553 fmv.x.w a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00100613 li a2,1 + 80002b2c: 20d51a63 bne a0,a3,80002d40 <fail> + 80002b30: 20c59863 bne a1,a2,80002d40 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00000517 auipc a0,0x0 + 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data> + 80002b40: 00052007 flw ft0,0(a0) + 80002b44: 00452087 flw ft1,4(a0) + 80002b48: 00852107 flw ft2,8(a0) + 80002b4c: 00c52683 lw a3,12(a0) + 80002b50: 101071c3 fmadd.s ft3,ft0,ft1,ft2 + 80002b54: e0018553 fmv.x.w a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 1ed51063 bne a0,a3,80002d40 <fail> + 80002b64: 1cc59e63 bne a1,a2,80002d40 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00000517 auipc a0,0x0 + 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data> + 80002b74: 00052007 flw ft0,0(a0) + 80002b78: 00452087 flw ft1,4(a0) + 80002b7c: 00852107 flw ft2,8(a0) + 80002b80: 00c52683 lw a3,12(a0) + 80002b84: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 80002b88: e0018553 fmv.x.w a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 1ad51663 bne a0,a3,80002d40 <fail> + 80002b98: 1ac59463 bne a1,a2,80002d40 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00000517 auipc a0,0x0 + 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data> + 80002ba8: 00052007 flw ft0,0(a0) + 80002bac: 00452087 flw ft1,4(a0) + 80002bb0: 00852107 flw ft2,8(a0) + 80002bb4: 00c52683 lw a3,12(a0) + 80002bb8: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 80002bbc: e0018553 fmv.x.w a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00100613 li a2,1 + 80002bc8: 16d51c63 bne a0,a3,80002d40 <fail> + 80002bcc: 16c59a63 bne a1,a2,80002d40 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00000517 auipc a0,0x0 + 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data> + 80002bdc: 00052007 flw ft0,0(a0) + 80002be0: 00452087 flw ft1,4(a0) + 80002be4: 00852107 flw ft2,8(a0) + 80002be8: 00c52683 lw a3,12(a0) + 80002bec: 101071cf fnmadd.s ft3,ft0,ft1,ft2 + 80002bf0: e0018553 fmv.x.w a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00000613 li a2,0 + 80002bfc: 14d51263 bne a0,a3,80002d40 <fail> + 80002c00: 14c59063 bne a1,a2,80002d40 <fail> + +0000000080002c04 <test_8>: + 80002c04: 00800193 li gp,8 + 80002c08: 00000517 auipc a0,0x0 + 80002c0c: 45850513 addi a0,a0,1112 # 80003060 <test_8_data> + 80002c10: 00052007 flw ft0,0(a0) + 80002c14: 00452087 flw ft1,4(a0) + 80002c18: 00852107 flw ft2,8(a0) + 80002c1c: 00c52683 lw a3,12(a0) + 80002c20: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 80002c24: e0018553 fmv.x.w a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 10d51863 bne a0,a3,80002d40 <fail> + 80002c34: 10c59663 bne a1,a2,80002d40 <fail> + +0000000080002c38 <test_9>: + 80002c38: 00900193 li gp,9 + 80002c3c: 00000517 auipc a0,0x0 + 80002c40: 43450513 addi a0,a0,1076 # 80003070 <test_9_data> + 80002c44: 00052007 flw ft0,0(a0) + 80002c48: 00452087 flw ft1,4(a0) + 80002c4c: 00852107 flw ft2,8(a0) + 80002c50: 00c52683 lw a3,12(a0) + 80002c54: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 80002c58: e0018553 fmv.x.w a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00100613 li a2,1 + 80002c64: 0cd51e63 bne a0,a3,80002d40 <fail> + 80002c68: 0cc59c63 bne a1,a2,80002d40 <fail> + +0000000080002c6c <test_10>: + 80002c6c: 00a00193 li gp,10 + 80002c70: 00000517 auipc a0,0x0 + 80002c74: 41050513 addi a0,a0,1040 # 80003080 <test_10_data> + 80002c78: 00052007 flw ft0,0(a0) + 80002c7c: 00452087 flw ft1,4(a0) + 80002c80: 00852107 flw ft2,8(a0) + 80002c84: 00c52683 lw a3,12(a0) + 80002c88: 101071c7 fmsub.s ft3,ft0,ft1,ft2 + 80002c8c: e0018553 fmv.x.w a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00000613 li a2,0 + 80002c98: 0ad51463 bne a0,a3,80002d40 <fail> + 80002c9c: 0ac59263 bne a1,a2,80002d40 <fail> + +0000000080002ca0 <test_11>: + 80002ca0: 00b00193 li gp,11 + 80002ca4: 00000517 auipc a0,0x0 + 80002ca8: 3ec50513 addi a0,a0,1004 # 80003090 <test_11_data> + 80002cac: 00052007 flw ft0,0(a0) + 80002cb0: 00452087 flw ft1,4(a0) + 80002cb4: 00852107 flw ft2,8(a0) + 80002cb8: 00c52683 lw a3,12(a0) + 80002cbc: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 80002cc0: e0018553 fmv.x.w a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 00000613 li a2,0 + 80002ccc: 06d51a63 bne a0,a3,80002d40 <fail> + 80002cd0: 06c59863 bne a1,a2,80002d40 <fail> + +0000000080002cd4 <test_12>: + 80002cd4: 00c00193 li gp,12 + 80002cd8: 00000517 auipc a0,0x0 + 80002cdc: 3c850513 addi a0,a0,968 # 800030a0 <test_12_data> + 80002ce0: 00052007 flw ft0,0(a0) + 80002ce4: 00452087 flw ft1,4(a0) + 80002ce8: 00852107 flw ft2,8(a0) + 80002cec: 00c52683 lw a3,12(a0) + 80002cf0: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 80002cf4: e0018553 fmv.x.w a0,ft3 + 80002cf8: 001015f3 fsflags a1,zero + 80002cfc: 00100613 li a2,1 + 80002d00: 04d51063 bne a0,a3,80002d40 <fail> + 80002d04: 02c59e63 bne a1,a2,80002d40 <fail> + +0000000080002d08 <test_13>: + 80002d08: 00d00193 li gp,13 + 80002d0c: 00000517 auipc a0,0x0 + 80002d10: 3a450513 addi a0,a0,932 # 800030b0 <test_13_data> + 80002d14: 00052007 flw ft0,0(a0) + 80002d18: 00452087 flw ft1,4(a0) + 80002d1c: 00852107 flw ft2,8(a0) + 80002d20: 00c52683 lw a3,12(a0) + 80002d24: 101071cb fnmsub.s ft3,ft0,ft1,ft2 + 80002d28: e0018553 fmv.x.w a0,ft3 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 00d51663 bne a0,a3,80002d40 <fail> + 80002d38: 00c59463 bne a1,a2,80002d40 <fail> + 80002d3c: 00301a63 bne zero,gp,80002d50 <pass> + +0000000080002d40 <fail>: + 80002d40: 00119513 slli a0,gp,0x1 + 80002d44: 00050063 beqz a0,80002d44 <fail+0x4> + 80002d48: 00156513 ori a0,a0,1 + 80002d4c: 00000073 ecall + +0000000080002d50 <pass>: + 80002d50: 00100513 li a0,1 + 80002d54: 00000073 ecall + 80002d58: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <test_2_data>: + 80003000: 0000 unimp + 80003002: 3f80 fld fs0,56(a5) + 80003004: 0000 unimp + 80003006: 4020 lw s0,64(s0) + 80003008: 0000 unimp + 8000300a: 3f80 fld fs0,56(a5) + 8000300c: 0000 unimp + 8000300e: 4060 lw s0,68(s0) + +0000000080003010 <test_3_data>: + 80003010: 0000 unimp + 80003012: bf80 fsd fs0,56(a5) + 80003014: c49a6333 0xc49a6333 + 80003018: cccd beqz s1,800030d2 <begin_signature+0x12> + 8000301a: 3f8c fld fa1,56(a5) + 8000301c: 8666 mv a2,s9 + 8000301e: 449a lw s1,132(sp) + +0000000080003020 <test_4_data>: + 80003020: 0000 unimp + 80003022: 4000 lw s0,0(s0) + 80003024: 0000 unimp + 80003026: c0a0 sw s0,64(s1) + 80003028: 0000 unimp + 8000302a: c000 sw s0,0(s0) + 8000302c: 0000 unimp + 8000302e: c140 sw s0,4(a0) + +0000000080003030 <test_5_data>: + 80003030: 0000 unimp + 80003032: 3f80 fld fs0,56(a5) + 80003034: 0000 unimp + 80003036: 4020 lw s0,64(s0) + 80003038: 0000 unimp + 8000303a: 3f80 fld fs0,56(a5) + 8000303c: 0000 unimp + 8000303e: c060 sw s0,68(s0) + +0000000080003040 <test_6_data>: + 80003040: 0000 unimp + 80003042: bf80 fsd fs0,56(a5) + 80003044: c49a6333 0xc49a6333 + 80003048: cccd beqz s1,80003102 <begin_signature+0x42> + 8000304a: 3f8c fld fa1,56(a5) + 8000304c: 8666 mv a2,s9 + 8000304e: c49a sw t1,72(sp) + +0000000080003050 <test_7_data>: + 80003050: 0000 unimp + 80003052: 4000 lw s0,0(s0) + 80003054: 0000 unimp + 80003056: c0a0 sw s0,64(s1) + 80003058: 0000 unimp + 8000305a: c000 sw s0,0(s0) + 8000305c: 0000 unimp + 8000305e: 4140 lw s0,4(a0) + +0000000080003060 <test_8_data>: + 80003060: 0000 unimp + 80003062: 3f80 fld fs0,56(a5) + 80003064: 0000 unimp + 80003066: 4020 lw s0,64(s0) + 80003068: 0000 unimp + 8000306a: 3f80 fld fs0,56(a5) + 8000306c: 0000 unimp + 8000306e: 3fc0 fld fs0,184(a5) + +0000000080003070 <test_9_data>: + 80003070: 0000 unimp + 80003072: bf80 fsd fs0,56(a5) + 80003074: c49a6333 0xc49a6333 + 80003078: cccd beqz s1,80003132 <begin_signature+0x72> + 8000307a: 3f8c fld fa1,56(a5) + 8000307c: 4000 lw s0,0(s0) + 8000307e: 449a lw s1,132(sp) + +0000000080003080 <test_10_data>: + 80003080: 0000 unimp + 80003082: 4000 lw s0,0(s0) + 80003084: 0000 unimp + 80003086: c0a0 sw s0,64(s1) + 80003088: 0000 unimp + 8000308a: c000 sw s0,0(s0) + 8000308c: 0000 unimp + 8000308e: c100 sw s0,0(a0) + +0000000080003090 <test_11_data>: + 80003090: 0000 unimp + 80003092: 3f80 fld fs0,56(a5) + 80003094: 0000 unimp + 80003096: 4020 lw s0,64(s0) + 80003098: 0000 unimp + 8000309a: 3f80 fld fs0,56(a5) + 8000309c: 0000 unimp + 8000309e: bfc0 fsd fs0,184(a5) + +00000000800030a0 <test_12_data>: + 800030a0: 0000 unimp + 800030a2: bf80 fsd fs0,56(a5) + 800030a4: c49a6333 0xc49a6333 + 800030a8: cccd beqz s1,80003162 <begin_signature+0xa2> + 800030aa: 3f8c fld fa1,56(a5) + 800030ac: 4000 lw s0,0(s0) + 800030ae: c49a sw t1,72(sp) + +00000000800030b0 <test_13_data>: + 800030b0: 0000 unimp + 800030b2: 4000 lw s0,0(s0) + 800030b4: 0000 unimp + 800030b6: c0a0 sw s0,64(s1) + 800030b8: 0000 unimp + 800030ba: c000 sw s0,0(s0) + 800030bc: 0000 unimp + 800030be: 4100 lw s0,0(a0) diff --git a/test/riscv-tests/rv64uf-v-fmadd.elf b/test/riscv-tests/rv64uf-v-fmadd.elf Binary files differnew file mode 100644 index 0000000..84186ba --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fmadd.elf diff --git a/test/riscv-tests/rv64uf-v-fmin.dump b/test/riscv-tests/rv64uf-v-fmin.dump new file mode 100644 index 0000000..43a7f9d --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fmin.dump @@ -0,0 +1,1278 @@ + +rv64uf-v-fmin: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 00c0006f j 8000000c <handle_reset> + +0000000080000004 <nmi_vector>: + 80000004: 2580206f j 8000225c <wtf> + +0000000080000008 <trap_vector>: + 80000008: 2540206f j 8000225c <wtf> + +000000008000000c <handle_reset>: + 8000000c: 00000297 auipc t0,0x0 + 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector> + 80000014: 30529073 csrw mtvec,t0 + 80000018: 0000a117 auipc sp,0xa + 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0> + 80000020: f14022f3 csrr t0,mhartid + 80000024: 00c29293 slli t0,t0,0xc + 80000028: 00510133 add sp,sp,t0 + 8000002c: 34011073 csrw mscratch,sp + 80000030: 00003517 auipc a0,0x3 + 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart> + 80000038: 09d0206f j 800028d4 <vm_boot> + +000000008000003c <pop_tf>: + 8000003c: 10853283 ld t0,264(a0) + 80000040: 14129073 csrw sepc,t0 + 80000044: 00853083 ld ra,8(a0) + 80000048: 01053103 ld sp,16(a0) + 8000004c: 01853183 ld gp,24(a0) + 80000050: 02053203 ld tp,32(a0) + 80000054: 02853283 ld t0,40(a0) + 80000058: 03053303 ld t1,48(a0) + 8000005c: 03853383 ld t2,56(a0) + 80000060: 04053403 ld s0,64(a0) + 80000064: 04853483 ld s1,72(a0) + 80000068: 05853583 ld a1,88(a0) + 8000006c: 06053603 ld a2,96(a0) + 80000070: 06853683 ld a3,104(a0) + 80000074: 07053703 ld a4,112(a0) + 80000078: 07853783 ld a5,120(a0) + 8000007c: 08053803 ld a6,128(a0) + 80000080: 08853883 ld a7,136(a0) + 80000084: 09053903 ld s2,144(a0) + 80000088: 09853983 ld s3,152(a0) + 8000008c: 0a053a03 ld s4,160(a0) + 80000090: 0a853a83 ld s5,168(a0) + 80000094: 0b053b03 ld s6,176(a0) + 80000098: 0b853b83 ld s7,184(a0) + 8000009c: 0c053c03 ld s8,192(a0) + 800000a0: 0c853c83 ld s9,200(a0) + 800000a4: 0d053d03 ld s10,208(a0) + 800000a8: 0d853d83 ld s11,216(a0) + 800000ac: 0e053e03 ld t3,224(a0) + 800000b0: 0e853e83 ld t4,232(a0) + 800000b4: 0f053f03 ld t5,240(a0) + 800000b8: 0f853f83 ld t6,248(a0) + 800000bc: 05053503 ld a0,80(a0) + 800000c0: 10200073 sret + +00000000800000c4 <trap_entry>: + 800000c4: 14011173 csrrw sp,sscratch,sp + 800000c8: 00113423 sd ra,8(sp) + 800000cc: 00313c23 sd gp,24(sp) + 800000d0: 02413023 sd tp,32(sp) + 800000d4: 02513423 sd t0,40(sp) + 800000d8: 02613823 sd t1,48(sp) + 800000dc: 02713c23 sd t2,56(sp) + 800000e0: 04813023 sd s0,64(sp) + 800000e4: 04913423 sd s1,72(sp) + 800000e8: 04a13823 sd a0,80(sp) + 800000ec: 04b13c23 sd a1,88(sp) + 800000f0: 06c13023 sd a2,96(sp) + 800000f4: 06d13423 sd a3,104(sp) + 800000f8: 06e13823 sd a4,112(sp) + 800000fc: 06f13c23 sd a5,120(sp) + 80000100: 09013023 sd a6,128(sp) + 80000104: 09113423 sd a7,136(sp) + 80000108: 09213823 sd s2,144(sp) + 8000010c: 09313c23 sd s3,152(sp) + 80000110: 0b413023 sd s4,160(sp) + 80000114: 0b513423 sd s5,168(sp) + 80000118: 0b613823 sd s6,176(sp) + 8000011c: 0b713c23 sd s7,184(sp) + 80000120: 0d813023 sd s8,192(sp) + 80000124: 0d913423 sd s9,200(sp) + 80000128: 0da13823 sd s10,208(sp) + 8000012c: 0db13c23 sd s11,216(sp) + 80000130: 0fc13023 sd t3,224(sp) + 80000134: 0fd13423 sd t4,232(sp) + 80000138: 0fe13823 sd t5,240(sp) + 8000013c: 0ff13c23 sd t6,248(sp) + 80000140: 140112f3 csrrw t0,sscratch,sp + 80000144: 00513823 sd t0,16(sp) + 80000148: 100022f3 csrr t0,sstatus + 8000014c: 10513023 sd t0,256(sp) + 80000150: 141022f3 csrr t0,sepc + 80000154: 10513423 sd t0,264(sp) + 80000158: 143022f3 csrr t0,stval + 8000015c: 10513823 sd t0,272(sp) + 80000160: 142022f3 csrr t0,scause + 80000164: 10513c23 sd t0,280(sp) + 80000168: 00010513 mv a0,sp + 8000016c: 4300206f j 8000259c <handle_trap> + +Disassembly of section .text: + +0000000080002000 <memcpy>: + 80002000: 00c5e7b3 or a5,a1,a2 + 80002004: 00f567b3 or a5,a0,a5 + 80002008: 0077f793 andi a5,a5,7 + 8000200c: 00c506b3 add a3,a0,a2 + 80002010: 02078463 beqz a5,80002038 <memcpy+0x38> + 80002014: 00c58633 add a2,a1,a2 + 80002018: 00050793 mv a5,a0 + 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58> + 80002020: 00158593 addi a1,a1,1 + 80002024: fff5c703 lbu a4,-1(a1) + 80002028: 00178793 addi a5,a5,1 + 8000202c: fee78fa3 sb a4,-1(a5) + 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20> + 80002034: 00008067 ret + 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34> + 8000203c: 00050793 mv a5,a0 + 80002040: 00858593 addi a1,a1,8 + 80002044: ff85b703 ld a4,-8(a1) + 80002048: 00878793 addi a5,a5,8 + 8000204c: fee7bc23 sd a4,-8(a5) + 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40> + 80002054: 00008067 ret + 80002058: 00008067 ret + +000000008000205c <memset>: + 8000205c: 00c567b3 or a5,a0,a2 + 80002060: 0077f793 andi a5,a5,7 + 80002064: 00c50633 add a2,a0,a2 + 80002068: 0ff5f593 andi a1,a1,255 + 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c> + 80002070: 00050793 mv a5,a0 + 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c> + 80002078: 00178793 addi a5,a5,1 + 8000207c: feb78fa3 sb a1,-1(a5) + 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c> + 80002084: 00008067 ret + 80002088: 00859793 slli a5,a1,0x8 + 8000208c: 00b7e5b3 or a1,a5,a1 + 80002090: 01059793 slli a5,a1,0x10 + 80002094: 00b7e7b3 or a5,a5,a1 + 80002098: 02079593 slli a1,a5,0x20 + 8000209c: 00f5e5b3 or a1,a1,a5 + 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28> + 800020a4: 00050793 mv a5,a0 + 800020a8: 00878793 addi a5,a5,8 + 800020ac: feb7bc23 sd a1,-8(a5) + 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c> + 800020b4: 00008067 ret + 800020b8: 00008067 ret + +00000000800020bc <strlen>: + 800020bc: 00054783 lbu a5,0(a0) + 800020c0: 00050713 mv a4,a0 + 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20> + 800020c8: 00150513 addi a0,a0,1 + 800020cc: 00054783 lbu a5,0(a0) + 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc> + 800020d4: 40e50533 sub a0,a0,a4 + 800020d8: 00008067 ret + 800020dc: 00000513 li a0,0 + 800020e0: 00008067 ret + +00000000800020e4 <strcmp>: + 800020e4: 00150513 addi a0,a0,1 + 800020e8: fff54783 lbu a5,-1(a0) + 800020ec: 00158593 addi a1,a1,1 + 800020f0: fff5c703 lbu a4,-1(a1) + 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24> + 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp> + 800020fc: 0007851b sext.w a0,a5 + 80002100: 40e5053b subw a0,a0,a4 + 80002104: 00008067 ret + 80002108: 00000513 li a0,0 + 8000210c: ff5ff06f j 80002100 <strcmp+0x1c> + +0000000080002110 <memcmp>: + 80002110: 00b567b3 or a5,a0,a1 + 80002114: 0077f793 andi a5,a5,7 + 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c> + 8000211c: ff867693 andi a3,a2,-8 + 80002120: 00d506b3 add a3,a0,a3 + 80002124: 00050813 mv a6,a0 + 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c> + 8000212c: 00053703 ld a4,0(a0) + 80002130: 0005b783 ld a5,0(a1) + 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38> + 80002138: 0240006f j 8000215c <memcmp+0x4c> + 8000213c: 00053703 ld a4,0(a0) + 80002140: 0005b783 ld a5,0(a1) + 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44> + 80002148: 00850513 addi a0,a0,8 + 8000214c: 00858593 addi a1,a1,8 + 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c> + 80002154: 41050833 sub a6,a0,a6 + 80002158: 41060633 sub a2,a2,a6 + 8000215c: 00c58633 add a2,a1,a2 + 80002160: 0140006f j 80002174 <memcmp+0x64> + 80002164: 00158593 addi a1,a1,1 + 80002168: fff54783 lbu a5,-1(a0) + 8000216c: fff5c703 lbu a4,-1(a1) + 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74> + 80002174: 00150513 addi a0,a0,1 + 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54> + 8000217c: 00000513 li a0,0 + 80002180: 00008067 ret + 80002184: 40e7853b subw a0,a5,a4 + 80002188: 00008067 ret + +000000008000218c <strcpy>: + 8000218c: 00050793 mv a5,a0 + 80002190: 00158593 addi a1,a1,1 + 80002194: fff5c703 lbu a4,-1(a1) + 80002198: 00178793 addi a5,a5,1 + 8000219c: fee78fa3 sb a4,-1(a5) + 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4> + 800021a4: 00008067 ret + +00000000800021a8 <atol>: + 800021a8: 00054783 lbu a5,0(a0) + 800021ac: 02000713 li a4,32 + 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18> + 800021b4: 00150513 addi a0,a0,1 + 800021b8: 00054783 lbu a5,0(a0) + 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc> + 800021c0: fd57871b addiw a4,a5,-43 + 800021c4: 0fd77713 andi a4,a4,253 + 800021c8: 04070263 beqz a4,8000220c <atol+0x64> + 800021cc: 00054683 lbu a3,0(a0) + 800021d0: 00050793 mv a5,a0 + 800021d4: 00000613 li a2,0 + 800021d8: 04068863 beqz a3,80002228 <atol+0x80> + 800021dc: 00000513 li a0,0 + 800021e0: 00178793 addi a5,a5,1 + 800021e4: fd06859b addiw a1,a3,-48 + 800021e8: 00251713 slli a4,a0,0x2 + 800021ec: 0007c683 lbu a3,0(a5) + 800021f0: 00a70533 add a0,a4,a0 + 800021f4: 00151513 slli a0,a0,0x1 + 800021f8: 00a58533 add a0,a1,a0 + 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38> + 80002200: 00060463 beqz a2,80002208 <atol+0x60> + 80002204: 40a00533 neg a0,a0 + 80002208: 00008067 ret + 8000220c: 00154683 lbu a3,1(a0) + 80002210: fd378793 addi a5,a5,-45 + 80002214: 0017b613 seqz a2,a5 + 80002218: 00150793 addi a5,a0,1 + 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34> + 80002220: 00000513 li a0,0 + 80002224: fddff06f j 80002200 <atol+0x58> + 80002228: 00000513 li a0,0 + 8000222c: 00008067 ret + +0000000080002230 <terminate>: + 80002230: fffff797 auipc a5,0xfffff + 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost> + 80002238: 0007b703 ld a4,0(a5) + 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20> + 80002240: fffff717 auipc a4,0xfffff + 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost> + 80002248: 0007b703 ld a4,0(a5) + 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10> + 80002250: fffff797 auipc a5,0xfffff + 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost> + 80002258: 0000006f j 80002258 <terminate+0x28> + +000000008000225c <wtf>: + 8000225c: ff010113 addi sp,sp,-16 + 80002260: 34900513 li a0,841 + 80002264: 00113423 sd ra,8(sp) + 80002268: fc9ff0ef jal ra,80002230 <terminate> + +000000008000226c <printhex>: + 8000226c: fe010113 addi sp,sp,-32 + 80002270: 01710713 addi a4,sp,23 + 80002274: 00710813 addi a6,sp,7 + 80002278: 00900593 li a1,9 + 8000227c: 00f57793 andi a5,a0,15 + 80002280: 03000613 li a2,48 + 80002284: 0ff7f693 andi a3,a5,255 + 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24> + 8000228c: 05700613 li a2,87 + 80002290: 00c687bb addw a5,a3,a2 + 80002294: 00f70023 sb a5,0(a4) + 80002298: fff70713 addi a4,a4,-1 + 8000229c: 00455513 srli a0,a0,0x4 + 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10> + 800022a4: 00814783 lbu a5,8(sp) + 800022a8: 00010c23 sb zero,24(sp) + 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88> + 800022b0: 10100513 li a0,257 + 800022b4: 00810693 addi a3,sp,8 + 800022b8: fffff717 auipc a4,0xfffff + 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost> + 800022c0: 03051513 slli a0,a0,0x30 + 800022c4: 00073583 ld a1,0(a4) + 800022c8: 00168693 addi a3,a3,1 + 800022cc: 00a7e633 or a2,a5,a0 + 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78> + 800022d4: fffff797 auipc a5,0xfffff + 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost> + 800022dc: 00073783 ld a5,0(a4) + 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68> + 800022e4: 0006c783 lbu a5,0(a3) + 800022e8: fffff597 auipc a1,0xfffff + 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost> + 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58> + 800022f4: 02010113 addi sp,sp,32 + 800022f8: 00008067 ret + +00000000800022fc <handle_fault>: + 800022fc: fffff8b7 lui a7,0xfffff + 80002300: 01150733 add a4,a0,a7 + 80002304: 0003e7b7 lui a5,0x3e + 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154> + 8000230c: 00c55693 srli a3,a0,0xc + 80002310: 60068813 addi a6,a3,1536 + 80002314: 00003617 auipc a2,0x3 + 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt> + 8000231c: 00381793 slli a5,a6,0x3 + 80002320: 00f607b3 add a5,a2,a5 + 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000> + 80002328: 01157533 and a0,a0,a7 + 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110> + 80002330: 00007797 auipc a5,0x7 + 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00007717 auipc a4,0x7 + 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00007897 auipc a7,0x7 + 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head> + 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148> + 8000235c: 0005b783 ld a5,0(a1) + 80002360: 00381893 slli a7,a6,0x3 + 80002364: 011608b3 add a7,a2,a7 + 80002368: 00c7d793 srli a5,a5,0xc + 8000236c: 00a79793 slli a5,a5,0xa + 80002370: 0df7e313 ori t1,a5,223 + 80002374: 01f7e713 ori a4,a5,31 + 80002378: 0068b023 sd t1,0(a7) + 8000237c: 12050073 sfence.vma a0 + 80002380: 00007797 auipc a5,0x7 + 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping> + 80002388: 00469693 slli a3,a3,0x4 + 8000238c: 00d786b3 add a3,a5,a3 + 80002390: 0006b783 ld a5,0(a3) + 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200> + 80002398: 0005b783 ld a5,0(a1) + 8000239c: 00f6b023 sd a5,0(a3) + 800023a0: 0085b783 ld a5,8(a1) + 800023a4: 00f6b423 sd a5,8(a3) + 800023a8: 000407b7 lui a5,0x40 + 800023ac: 1007a8f3 csrrs a7,sstatus,a5 + 800023b0: ffe007b7 lui a5,0xffe00 + 800023b4: 00f507b3 add a5,a0,a5 + 800023b8: 000015b7 lui a1,0x1 + 800023bc: 00050693 mv a3,a0 + 800023c0: 00b785b3 add a1,a5,a1 + 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810> + 800023c8: 0087be83 ld t4,8(a5) + 800023cc: 0107be03 ld t3,16(a5) + 800023d0: 0187b303 ld t1,24(a5) + 800023d4: 01e6b023 sd t5,0(a3) + 800023d8: 01d6b423 sd t4,8(a3) + 800023dc: 01c6b823 sd t3,16(a3) + 800023e0: 0066bc23 sd t1,24(a3) + 800023e4: 02078793 addi a5,a5,32 + 800023e8: 02068693 addi a3,a3,32 + 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8> + 800023f0: 10089073 csrw sstatus,a7 + 800023f4: 00381813 slli a6,a6,0x3 + 800023f8: 01060633 add a2,a2,a6 + 800023fc: 00e63023 sd a4,0(a2) + 80002400: 12050073 sfence.vma a0 + 80002404: 0000100f fence.i + 80002408: 00008067 ret + 8000240c: 04077693 andi a3,a4,64 + 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128> + 80002414: 04076713 ori a4,a4,64 + 80002418: 00e7b023 sd a4,0(a5) + 8000241c: 12050073 sfence.vma a0 + 80002420: 00008067 ret + 80002424: 08077693 andi a3,a4,128 + 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250> + 8000242c: 00f00693 li a3,15 + 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250> + 80002434: 08076713 ori a4,a4,128 + 80002438: 00e7b023 sd a4,0(a5) + 8000243c: 12050073 sfence.vma a0 + 80002440: 00008067 ret + 80002444: 00007797 auipc a5,0x7 + 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00001697 auipc a3,0x1 + 8000245c: a4068693 addi a3,a3,-1472 # 80002e98 <pass+0x10> + 80002460: fffff797 auipc a5,0xfffff + 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost> + 80002468: 03061613 slli a2,a2,0x30 + 8000246c: 0007b503 ld a0,0(a5) + 80002470: 00168693 addi a3,a3,1 + 80002474: 00c765b3 or a1,a4,a2 + 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190> + 8000247c: fffff717 auipc a4,0xfffff + 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost> + 80002484: 0007b703 ld a4,0(a5) + 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180> + 8000248c: 0006c703 lbu a4,0(a3) + 80002490: fffff517 auipc a0,0xfffff + 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost> + 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170> + 8000249c: ff010113 addi sp,sp,-16 + 800024a0: 00300513 li a0,3 + 800024a4: 00113423 sd ra,8(sp) + 800024a8: d89ff0ef jal ra,80002230 <terminate> + 800024ac: 10100693 li a3,257 + 800024b0: 04100713 li a4,65 + 800024b4: 00001617 auipc a2,0x1 + 800024b8: a7460613 addi a2,a2,-1420 # 80002f28 <pass+0xa0> + 800024bc: fffff797 auipc a5,0xfffff + 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost> + 800024c4: 03069693 slli a3,a3,0x30 + 800024c8: 0007b503 ld a0,0(a5) + 800024cc: 00160613 addi a2,a2,1 + 800024d0: 00d765b3 or a1,a4,a3 + 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec> + 800024d8: fffff717 auipc a4,0xfffff + 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost> + 800024e0: 0007b703 ld a4,0(a5) + 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc> + 800024e8: 00064703 lbu a4,0(a2) + 800024ec: fffff517 auipc a0,0xfffff + 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost> + 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc> + 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0> + 800024fc: 10100693 li a3,257 + 80002500: 04100713 li a4,65 + 80002504: 00001617 auipc a2,0x1 + 80002508: a3c60613 addi a2,a2,-1476 # 80002f40 <pass+0xb8> + 8000250c: fffff797 auipc a5,0xfffff + 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost> + 80002514: 03069693 slli a3,a3,0x30 + 80002518: 0007b503 ld a0,0(a5) + 8000251c: 00160613 addi a2,a2,1 + 80002520: 00d765b3 or a1,a4,a3 + 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c> + 80002528: fffff717 auipc a4,0xfffff + 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost> + 80002530: 0007b703 ld a4,0(a5) + 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c> + 80002538: 00064703 lbu a4,0(a2) + 8000253c: fffff517 auipc a0,0xfffff + 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost> + 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c> + 80002548: f55ff06f j 8000249c <handle_fault+0x1a0> + 8000254c: 10100613 li a2,257 + 80002550: 04100713 li a4,65 + 80002554: 00001697 auipc a3,0x1 + 80002558: 98c68693 addi a3,a3,-1652 # 80002ee0 <pass+0x58> + 8000255c: fffff797 auipc a5,0xfffff + 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost> + 80002564: 03061613 slli a2,a2,0x30 + 80002568: 0007b503 ld a0,0(a5) + 8000256c: 00168693 addi a3,a3,1 + 80002570: 00c765b3 or a1,a4,a2 + 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c> + 80002578: fffff717 auipc a4,0xfffff + 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost> + 80002580: 0007b703 ld a4,0(a5) + 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c> + 80002588: 0006c703 lbu a4,0(a3) + 8000258c: fffff517 auipc a0,0xfffff + 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost> + 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c> + 80002598: f05ff06f j 8000249c <handle_fault+0x1a0> + +000000008000259c <handle_trap>: + 8000259c: 11853583 ld a1,280(a0) + 800025a0: f9010113 addi sp,sp,-112 + 800025a4: 06813023 sd s0,96(sp) + 800025a8: 06113423 sd ra,104(sp) + 800025ac: 04913c23 sd s1,88(sp) + 800025b0: 05213823 sd s2,80(sp) + 800025b4: 05313423 sd s3,72(sp) + 800025b8: 05413023 sd s4,64(sp) + 800025bc: 03513c23 sd s5,56(sp) + 800025c0: 03613823 sd s6,48(sp) + 800025c4: 03713423 sd s7,40(sp) + 800025c8: 03813023 sd s8,32(sp) + 800025cc: 01913c23 sd s9,24(sp) + 800025d0: 01a13823 sd s10,16(sp) + 800025d4: 01b13423 sd s11,8(sp) + 800025d8: 00800793 li a5,8 + 800025dc: 00050413 mv s0,a0 + 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178> + 800025e4: 00200793 li a5,2 + 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac> + 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c> + 800025f0: 00100713 li a4,1 + 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64> + 800025f8: 00f00793 li a5,15 + 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248> + 80002600: 11043503 ld a0,272(s0) + 80002604: cf9ff0ef jal ra,800022fc <handle_fault> + 80002608: 00040513 mv a0,s0 + 8000260c: 06013403 ld s0,96(sp) + 80002610: 06813083 ld ra,104(sp) + 80002614: 05813483 ld s1,88(sp) + 80002618: 05013903 ld s2,80(sp) + 8000261c: 04813983 ld s3,72(sp) + 80002620: 04013a03 ld s4,64(sp) + 80002624: 03813a83 ld s5,56(sp) + 80002628: 03013b03 ld s6,48(sp) + 8000262c: 02813b83 ld s7,40(sp) + 80002630: 02013c03 ld s8,32(sp) + 80002634: 01813c83 ld s9,24(sp) + 80002638: 01013d03 ld s10,16(sp) + 8000263c: 00813d83 ld s11,8(sp) + 80002640: 07010113 addi sp,sp,112 + 80002644: 9f9fd06f j 8000003c <pop_tf> + 80002648: 10853703 ld a4,264(a0) + 8000264c: 00377793 andi a5,a4,3 + 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128> + 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0> + 80002658: 00301073 fssr zero + 8000265c: 00072703 lw a4,0(a4) + 80002660: 0007a783 lw a5,0(a5) + 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120> + 80002668: 10100513 li a0,257 + 8000266c: 04100793 li a5,65 + 80002670: 00001697 auipc a3,0x1 + 80002674: 9a868693 addi a3,a3,-1624 # 80003018 <pass+0x190> + 80002678: fffff717 auipc a4,0xfffff + 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost> + 80002680: 03051513 slli a0,a0,0x30 + 80002684: 00073583 ld a1,0(a4) + 80002688: 00168693 addi a3,a3,1 + 8000268c: 00a7e633 or a2,a5,a0 + 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108> + 80002694: fffff797 auipc a5,0xfffff + 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost> + 8000269c: 00073783 ld a5,0(a4) + 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8> + 800026a4: 0006c783 lbu a5,0(a3) + 800026a8: fffff597 auipc a1,0xfffff + 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost> + 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8> + 800026b4: 00300513 li a0,3 + 800026b8: b79ff0ef jal ra,80002230 <terminate> + 800026bc: 00100513 li a0,1 + 800026c0: b71ff0ef jal ra,80002230 <terminate> + 800026c4: 10100793 li a5,257 + 800026c8: 00001617 auipc a2,0x1 + 800026cc: 92860613 addi a2,a2,-1752 # 80002ff0 <pass+0x168> + 800026d0: 04100693 li a3,65 + 800026d4: fffff717 auipc a4,0xfffff + 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost> + 800026dc: 03079793 slli a5,a5,0x30 + 800026e0: 00073503 ld a0,0(a4) + 800026e4: 00160613 addi a2,a2,1 + 800026e8: 00f6e5b3 or a1,a3,a5 + 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164> + 800026f0: fffff697 auipc a3,0xfffff + 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost> + 800026f8: 00073683 ld a3,0(a4) + 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154> + 80002700: 00064683 lbu a3,0(a2) + 80002704: fffff517 auipc a0,0xfffff + 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost> + 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144> + 80002710: fa5ff06f j 800026b4 <handle_trap+0x118> + 80002714: 05052983 lw s3,80(a0) + 80002718: 00001437 lui s0,0x1 + 8000271c: 00007d17 auipc s10,0x7 + 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping> + 80002724: 00003b97 auipc s7,0x3 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00007a17 auipc s4,0x7 + 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00007717 auipc a4,0x7 + 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail> + 80002750: 000017b7 lui a5,0x1 + 80002754: 00f40433 add s0,s0,a5 + 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308> + 8000275c: 00c45793 srli a5,s0,0xc + 80002760: 00479493 slli s1,a5,0x4 + 80002764: 009d0733 add a4,s10,s1 + 80002768: 00073703 ld a4,0(a4) + 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4> + 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00> + 80002774: 00379793 slli a5,a5,0x3 + 80002778: 00fb87b3 add a5,s7,a5 + 8000277c: 0007bc03 ld s8,0(a5) + 80002780: 040c7793 andi a5,s8,64 + 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0> + 80002788: 100b2cf3 csrrs s9,sstatus,s6 + 8000278c: 01540db3 add s11,s0,s5 + 80002790: 00001637 lui a2,0x1 + 80002794: 000d8593 mv a1,s11 + 80002798: 00040513 mv a0,s0 + 8000279c: 975ff0ef jal ra,80002110 <memcmp> + 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220> + 800027a4: 080c7c13 andi s8,s8,128 + 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298> + 800027ac: 00001637 lui a2,0x1 + 800027b0: 000d8593 mv a1,s11 + 800027b4: 00040513 mv a0,s0 + 800027b8: 849ff0ef jal ra,80002000 <memcpy> + 800027bc: 009d07b3 add a5,s10,s1 + 800027c0: 100c9073 csrw sstatus,s9 + 800027c4: 000a3703 ld a4,0(s4) + 800027c8: 0007b023 sd zero,0(a5) + 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8> + 800027d0: 00007717 auipc a4,0x7 + 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail> + 800027d8: 00007717 auipc a4,0x7 + 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00001697 auipc a3,0x1 + 800027f0: 85c68693 addi a3,a3,-1956 # 80003048 <pass+0x1c0> + 800027f4: fffff717 auipc a4,0xfffff + 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost> + 800027fc: 03079793 slli a5,a5,0x30 + 80002800: 00073503 ld a0,0(a4) + 80002804: 00168693 addi a3,a3,1 + 80002808: 00f665b3 or a1,a2,a5 + 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284> + 80002810: fffff617 auipc a2,0xfffff + 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost> + 80002818: 00073603 ld a2,0(a4) + 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274> + 80002820: 0006c603 lbu a2,0(a3) + 80002824: ffffe517 auipc a0,0xffffe + 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost> + 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264> + 80002830: e85ff06f j 800026b4 <handle_trap+0x118> + 80002834: 10100793 li a5,257 + 80002838: 04100613 li a2,65 + 8000283c: 00000697 auipc a3,0x0 + 80002840: 77c68693 addi a3,a3,1916 # 80002fb8 <pass+0x130> + 80002844: ffffe717 auipc a4,0xffffe + 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost> + 8000284c: 03079793 slli a5,a5,0x30 + 80002850: 00168693 addi a3,a3,1 + 80002854: 00f665b3 or a1,a2,a5 + 80002858: 00073603 ld a2,0(a4) + 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310> + 80002860: ffffe617 auipc a2,0xffffe + 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost> + 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc> + 8000286c: 10100793 li a5,257 + 80002870: 04100613 li a2,65 + 80002874: 00000697 auipc a3,0x0 + 80002878: 70c68693 addi a3,a3,1804 # 80002f80 <pass+0xf8> + 8000287c: ffffe717 auipc a4,0xffffe + 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost> + 80002884: 03079793 slli a5,a5,0x30 + 80002888: 00168693 addi a3,a3,1 + 8000288c: 00f665b3 or a1,a2,a5 + 80002890: 00073603 ld a2,0(a4) + 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324> + 80002898: ffffe617 auipc a2,0xffffe + 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost> + 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4> + 800028a4: 00098513 mv a0,s3 + 800028a8: 989ff0ef jal ra,80002230 <terminate> + 800028ac: 0006c603 lbu a2,0(a3) + 800028b0: ffffe517 auipc a0,0xffffe + 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost> + 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4> + 800028bc: df9ff06f j 800026b4 <handle_trap+0x118> + 800028c0: 0006c603 lbu a2,0(a3) + 800028c4: ffffe517 auipc a0,0xffffe + 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost> + 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec> + 800028d0: de5ff06f j 800026b4 <handle_trap+0x118> + +00000000800028d4 <vm_boot>: + 800028d4: f14027f3 csrr a5,mhartid + 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198> + 800028dc: 00003697 auipc a3,0x3 + 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000> + 800028e4: 00004717 auipc a4,0x4 + 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00005797 auipc a5,0x5 + 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000> + 800028fc: 00a69693 slli a3,a3,0xa + 80002900: 00a71713 slli a4,a4,0xa + 80002904: 0016e693 ori a3,a3,1 + 80002908: 00176713 ori a4,a4,1 + 8000290c: 00c7d793 srli a5,a5,0xc + 80002910: 00002897 auipc a7,0x2 + 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00003697 auipc a3,0x3 + 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8> + 80002924: 20000737 lui a4,0x20000 + 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31> + 8000292c: fff00593 li a1,-1 + 80002930: 0017e793 ori a5,a5,1 + 80002934: 00002617 auipc a2,0x2 + 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00005697 auipc a3,0x5 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8> + 8000294c: 00003717 auipc a4,0x3 + 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000> + 80002954: 00c65793 srli a5,a2,0xc + 80002958: 12113423 sd ra,296(sp) + 8000295c: 12813023 sd s0,288(sp) + 80002960: 0107e7b3 or a5,a5,a6 + 80002964: 18079073 csrw satp,a5 + 80002968: 01f00793 li a5,31 + 8000296c: 00000297 auipc t0,0x0 + 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac> + 80002974: 305292f3 csrrw t0,mtvec,t0 + 80002978: 3b059073 csrw pmpaddr0,a1 + 8000297c: 3a079073 csrw pmpcfg0,a5 + 80002980: bff00813 li a6,-1025 + 80002984: 01581813 slli a6,a6,0x15 + 80002988: ffffd797 auipc a5,0xffffd + 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry> + 80002990: 010787b3 add a5,a5,a6 + 80002994: 10579073 csrw stvec,a5 + 80002998: 340027f3 csrr a5,mscratch + 8000299c: 010787b3 add a5,a5,a6 + 800029a0: 14079073 csrw sscratch,a5 + 800029a4: 0000b7b7 lui a5,0xb + 800029a8: 1007879b addiw a5,a5,256 + 800029ac: 30279073 csrw medeleg,a5 + 800029b0: 0001e7b7 lui a5,0x1e + 800029b4: 30079073 csrw mstatus,a5 + 800029b8: 30405073 csrwi mie,0 + 800029bc: 00006697 auipc a3,0x6 + 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00007617 auipc a2,0x7 + 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head> + 800029d4: 00007797 auipc a5,0x7 + 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail> + 800029dc: 00007317 auipc t1,0x7 + 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping> + 800029e4: 01100793 li a5,17 + 800029e8: 000808b7 lui a7,0x80 + 800029ec: 01080813 addi a6,a6,16 + 800029f0: 03f7871b addiw a4,a5,63 + 800029f4: 02071713 slli a4,a4,0x20 + 800029f8: 0017d61b srliw a2,a5,0x1 + 800029fc: 02075713 srli a4,a4,0x20 + 80002a00: 00c7c7b3 xor a5,a5,a2 + 80002a04: 01170733 add a4,a4,a7 + 80002a08: 010685b3 add a1,a3,a6 + 80002a0c: 00c71713 slli a4,a4,0xc + 80002a10: 0057979b slliw a5,a5,0x5 + 80002a14: 00e6b023 sd a4,0(a3) + 80002a18: 00b6b423 sd a1,8(a3) + 80002a1c: 0207f793 andi a5,a5,32 + 80002a20: 01068693 addi a3,a3,16 + 80002a24: 00c7e7b3 or a5,a5,a2 + 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c> + 80002a2c: 00050413 mv s0,a0 + 80002a30: 12000613 li a2,288 + 80002a34: 00000593 li a1,0 + 80002a38: 00010513 mv a0,sp + 80002a3c: 00007797 auipc a5,0x7 + 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8> + 80002a44: e18ff0ef jal ra,8000205c <memset> + 80002a48: 800007b7 lui a5,0x80000 + 80002a4c: 00f40433 add s0,s0,a5 + 80002a50: 00010513 mv a0,sp + 80002a54: 10813423 sd s0,264(sp) + 80002a58: de4fd0ef jal ra,8000003c <pop_tf> + 80002a5c: 12813083 ld ra,296(sp) + 80002a60: 12013403 ld s0,288(sp) + 80002a64: 13010113 addi sp,sp,304 + 80002a68: 00008067 ret + 80002a6c: 0a65b7b7 lui a5,0xa65b + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 96c78793 addi a5,a5,-1684 # a65a96c <_start-0x759a5694> + 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004> + 80002a7c: 00100613 li a2,1 + 80002a80: 00b7f733 and a4,a5,a1 + 80002a84: 01f61613 slli a2,a2,0x1f + 80002a88: 0017f693 andi a3,a5,1 + 80002a8c: 02079793 slli a5,a5,0x20 + 80002a90: 0207d793 srli a5,a5,0x20 + 80002a94: 00c70733 add a4,a4,a2 + 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8> + 80002a9c: 0007202f amoadd.w zero,zero,(a4) + 80002aa0: 0017d793 srli a5,a5,0x1 + 80002aa4: 00b7f733 and a4,a5,a1 + 80002aa8: 0017f693 andi a3,a5,1 + 80002aac: 02079793 slli a5,a5,0x20 + 80002ab0: 0207d793 srli a5,a5,0x20 + 80002ab4: 00c70733 add a4,a4,a2 + 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8> + 80002abc: 00072003 lw zero,0(a4) + 80002ac0: 0017d793 srli a5,a5,0x1 + 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0> + +0000000080002ac8 <userstart>: + 80002ac8: 00301073 fssr zero + +0000000080002acc <test_2>: + 80002acc: 00200193 li gp,2 + 80002ad0: 00001517 auipc a0,0x1 + 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data> + 80002ad8: 00052007 flw ft0,0(a0) + 80002adc: 00452087 flw ft1,4(a0) + 80002ae0: 00852107 flw ft2,8(a0) + 80002ae4: 00c52683 lw a3,12(a0) + 80002ae8: 281001d3 fmin.s ft3,ft0,ft1 + 80002aec: e0018553 fmv.x.w a0,ft3 + 80002af0: 001015f3 fsflags a1,zero + 80002af4: 00000613 li a2,0 + 80002af8: 38d51063 bne a0,a3,80002e78 <fail> + 80002afc: 36c59e63 bne a1,a2,80002e78 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00300193 li gp,3 + 80002b04: 00001517 auipc a0,0x1 + 80002b08: 50c50513 addi a0,a0,1292 # 80004010 <test_3_data> + 80002b0c: 00052007 flw ft0,0(a0) + 80002b10: 00452087 flw ft1,4(a0) + 80002b14: 00852107 flw ft2,8(a0) + 80002b18: 00c52683 lw a3,12(a0) + 80002b1c: 281001d3 fmin.s ft3,ft0,ft1 + 80002b20: e0018553 fmv.x.w a0,ft3 + 80002b24: 001015f3 fsflags a1,zero + 80002b28: 00000613 li a2,0 + 80002b2c: 34d51663 bne a0,a3,80002e78 <fail> + 80002b30: 34c59463 bne a1,a2,80002e78 <fail> + +0000000080002b34 <test_4>: + 80002b34: 00400193 li gp,4 + 80002b38: 00001517 auipc a0,0x1 + 80002b3c: 4e850513 addi a0,a0,1256 # 80004020 <test_4_data> + 80002b40: 00052007 flw ft0,0(a0) + 80002b44: 00452087 flw ft1,4(a0) + 80002b48: 00852107 flw ft2,8(a0) + 80002b4c: 00c52683 lw a3,12(a0) + 80002b50: 281001d3 fmin.s ft3,ft0,ft1 + 80002b54: e0018553 fmv.x.w a0,ft3 + 80002b58: 001015f3 fsflags a1,zero + 80002b5c: 00000613 li a2,0 + 80002b60: 30d51c63 bne a0,a3,80002e78 <fail> + 80002b64: 30c59a63 bne a1,a2,80002e78 <fail> + +0000000080002b68 <test_5>: + 80002b68: 00500193 li gp,5 + 80002b6c: 00001517 auipc a0,0x1 + 80002b70: 4c450513 addi a0,a0,1220 # 80004030 <test_5_data> + 80002b74: 00052007 flw ft0,0(a0) + 80002b78: 00452087 flw ft1,4(a0) + 80002b7c: 00852107 flw ft2,8(a0) + 80002b80: 00c52683 lw a3,12(a0) + 80002b84: 281001d3 fmin.s ft3,ft0,ft1 + 80002b88: e0018553 fmv.x.w a0,ft3 + 80002b8c: 001015f3 fsflags a1,zero + 80002b90: 00000613 li a2,0 + 80002b94: 2ed51263 bne a0,a3,80002e78 <fail> + 80002b98: 2ec59063 bne a1,a2,80002e78 <fail> + +0000000080002b9c <test_6>: + 80002b9c: 00600193 li gp,6 + 80002ba0: 00001517 auipc a0,0x1 + 80002ba4: 4a050513 addi a0,a0,1184 # 80004040 <test_6_data> + 80002ba8: 00052007 flw ft0,0(a0) + 80002bac: 00452087 flw ft1,4(a0) + 80002bb0: 00852107 flw ft2,8(a0) + 80002bb4: 00c52683 lw a3,12(a0) + 80002bb8: 281001d3 fmin.s ft3,ft0,ft1 + 80002bbc: e0018553 fmv.x.w a0,ft3 + 80002bc0: 001015f3 fsflags a1,zero + 80002bc4: 00000613 li a2,0 + 80002bc8: 2ad51863 bne a0,a3,80002e78 <fail> + 80002bcc: 2ac59663 bne a1,a2,80002e78 <fail> + +0000000080002bd0 <test_7>: + 80002bd0: 00700193 li gp,7 + 80002bd4: 00001517 auipc a0,0x1 + 80002bd8: 47c50513 addi a0,a0,1148 # 80004050 <test_7_data> + 80002bdc: 00052007 flw ft0,0(a0) + 80002be0: 00452087 flw ft1,4(a0) + 80002be4: 00852107 flw ft2,8(a0) + 80002be8: 00c52683 lw a3,12(a0) + 80002bec: 281001d3 fmin.s ft3,ft0,ft1 + 80002bf0: e0018553 fmv.x.w a0,ft3 + 80002bf4: 001015f3 fsflags a1,zero + 80002bf8: 00000613 li a2,0 + 80002bfc: 26d51e63 bne a0,a3,80002e78 <fail> + 80002c00: 26c59c63 bne a1,a2,80002e78 <fail> + +0000000080002c04 <test_12>: + 80002c04: 00c00193 li gp,12 + 80002c08: 00001517 auipc a0,0x1 + 80002c0c: 45850513 addi a0,a0,1112 # 80004060 <test_12_data> + 80002c10: 00052007 flw ft0,0(a0) + 80002c14: 00452087 flw ft1,4(a0) + 80002c18: 00852107 flw ft2,8(a0) + 80002c1c: 00c52683 lw a3,12(a0) + 80002c20: 281011d3 fmax.s ft3,ft0,ft1 + 80002c24: e0018553 fmv.x.w a0,ft3 + 80002c28: 001015f3 fsflags a1,zero + 80002c2c: 00000613 li a2,0 + 80002c30: 24d51463 bne a0,a3,80002e78 <fail> + 80002c34: 24c59263 bne a1,a2,80002e78 <fail> + +0000000080002c38 <test_13>: + 80002c38: 00d00193 li gp,13 + 80002c3c: 00001517 auipc a0,0x1 + 80002c40: 43450513 addi a0,a0,1076 # 80004070 <test_13_data> + 80002c44: 00052007 flw ft0,0(a0) + 80002c48: 00452087 flw ft1,4(a0) + 80002c4c: 00852107 flw ft2,8(a0) + 80002c50: 00c52683 lw a3,12(a0) + 80002c54: 281011d3 fmax.s ft3,ft0,ft1 + 80002c58: e0018553 fmv.x.w a0,ft3 + 80002c5c: 001015f3 fsflags a1,zero + 80002c60: 00000613 li a2,0 + 80002c64: 20d51a63 bne a0,a3,80002e78 <fail> + 80002c68: 20c59863 bne a1,a2,80002e78 <fail> + +0000000080002c6c <test_14>: + 80002c6c: 00e00193 li gp,14 + 80002c70: 00001517 auipc a0,0x1 + 80002c74: 41050513 addi a0,a0,1040 # 80004080 <test_14_data> + 80002c78: 00052007 flw ft0,0(a0) + 80002c7c: 00452087 flw ft1,4(a0) + 80002c80: 00852107 flw ft2,8(a0) + 80002c84: 00c52683 lw a3,12(a0) + 80002c88: 281011d3 fmax.s ft3,ft0,ft1 + 80002c8c: e0018553 fmv.x.w a0,ft3 + 80002c90: 001015f3 fsflags a1,zero + 80002c94: 00000613 li a2,0 + 80002c98: 1ed51063 bne a0,a3,80002e78 <fail> + 80002c9c: 1cc59e63 bne a1,a2,80002e78 <fail> + +0000000080002ca0 <test_15>: + 80002ca0: 00f00193 li gp,15 + 80002ca4: 00001517 auipc a0,0x1 + 80002ca8: 3ec50513 addi a0,a0,1004 # 80004090 <test_15_data> + 80002cac: 00052007 flw ft0,0(a0) + 80002cb0: 00452087 flw ft1,4(a0) + 80002cb4: 00852107 flw ft2,8(a0) + 80002cb8: 00c52683 lw a3,12(a0) + 80002cbc: 281011d3 fmax.s ft3,ft0,ft1 + 80002cc0: e0018553 fmv.x.w a0,ft3 + 80002cc4: 001015f3 fsflags a1,zero + 80002cc8: 00000613 li a2,0 + 80002ccc: 1ad51663 bne a0,a3,80002e78 <fail> + 80002cd0: 1ac59463 bne a1,a2,80002e78 <fail> + +0000000080002cd4 <test_16>: + 80002cd4: 01000193 li gp,16 + 80002cd8: 00001517 auipc a0,0x1 + 80002cdc: 3c850513 addi a0,a0,968 # 800040a0 <test_16_data> + 80002ce0: 00052007 flw ft0,0(a0) + 80002ce4: 00452087 flw ft1,4(a0) + 80002ce8: 00852107 flw ft2,8(a0) + 80002cec: 00c52683 lw a3,12(a0) + 80002cf0: 281011d3 fmax.s ft3,ft0,ft1 + 80002cf4: e0018553 fmv.x.w a0,ft3 + 80002cf8: 001015f3 fsflags a1,zero + 80002cfc: 00000613 li a2,0 + 80002d00: 16d51c63 bne a0,a3,80002e78 <fail> + 80002d04: 16c59a63 bne a1,a2,80002e78 <fail> + +0000000080002d08 <test_17>: + 80002d08: 01100193 li gp,17 + 80002d0c: 00001517 auipc a0,0x1 + 80002d10: 3a450513 addi a0,a0,932 # 800040b0 <test_17_data> + 80002d14: 00052007 flw ft0,0(a0) + 80002d18: 00452087 flw ft1,4(a0) + 80002d1c: 00852107 flw ft2,8(a0) + 80002d20: 00c52683 lw a3,12(a0) + 80002d24: 281011d3 fmax.s ft3,ft0,ft1 + 80002d28: e0018553 fmv.x.w a0,ft3 + 80002d2c: 001015f3 fsflags a1,zero + 80002d30: 00000613 li a2,0 + 80002d34: 14d51263 bne a0,a3,80002e78 <fail> + 80002d38: 14c59063 bne a1,a2,80002e78 <fail> + +0000000080002d3c <test_20>: + 80002d3c: 01400193 li gp,20 + 80002d40: 00001517 auipc a0,0x1 + 80002d44: 38050513 addi a0,a0,896 # 800040c0 <test_20_data> + 80002d48: 00052007 flw ft0,0(a0) + 80002d4c: 00452087 flw ft1,4(a0) + 80002d50: 00852107 flw ft2,8(a0) + 80002d54: 00c52683 lw a3,12(a0) + 80002d58: 281011d3 fmax.s ft3,ft0,ft1 + 80002d5c: e0018553 fmv.x.w a0,ft3 + 80002d60: 001015f3 fsflags a1,zero + 80002d64: 01000613 li a2,16 + 80002d68: 10d51863 bne a0,a3,80002e78 <fail> + 80002d6c: 10c59663 bne a1,a2,80002e78 <fail> + +0000000080002d70 <test_21>: + 80002d70: 01500193 li gp,21 + 80002d74: 00001517 auipc a0,0x1 + 80002d78: 35c50513 addi a0,a0,860 # 800040d0 <test_21_data> + 80002d7c: 00052007 flw ft0,0(a0) + 80002d80: 00452087 flw ft1,4(a0) + 80002d84: 00852107 flw ft2,8(a0) + 80002d88: 00c52683 lw a3,12(a0) + 80002d8c: 281011d3 fmax.s ft3,ft0,ft1 + 80002d90: e0018553 fmv.x.w a0,ft3 + 80002d94: 001015f3 fsflags a1,zero + 80002d98: 00000613 li a2,0 + 80002d9c: 0cd51e63 bne a0,a3,80002e78 <fail> + 80002da0: 0cc59c63 bne a1,a2,80002e78 <fail> + +0000000080002da4 <test_30>: + 80002da4: 01e00193 li gp,30 + 80002da8: 00001517 auipc a0,0x1 + 80002dac: 33850513 addi a0,a0,824 # 800040e0 <test_30_data> + 80002db0: 00052007 flw ft0,0(a0) + 80002db4: 00452087 flw ft1,4(a0) + 80002db8: 00852107 flw ft2,8(a0) + 80002dbc: 00c52683 lw a3,12(a0) + 80002dc0: 281001d3 fmin.s ft3,ft0,ft1 + 80002dc4: e0018553 fmv.x.w a0,ft3 + 80002dc8: 001015f3 fsflags a1,zero + 80002dcc: 00000613 li a2,0 + 80002dd0: 0ad51463 bne a0,a3,80002e78 <fail> + 80002dd4: 0ac59263 bne a1,a2,80002e78 <fail> + +0000000080002dd8 <test_31>: + 80002dd8: 01f00193 li gp,31 + 80002ddc: 00001517 auipc a0,0x1 + 80002de0: 31450513 addi a0,a0,788 # 800040f0 <test_31_data> + 80002de4: 00052007 flw ft0,0(a0) + 80002de8: 00452087 flw ft1,4(a0) + 80002dec: 00852107 flw ft2,8(a0) + 80002df0: 00c52683 lw a3,12(a0) + 80002df4: 281001d3 fmin.s ft3,ft0,ft1 + 80002df8: e0018553 fmv.x.w a0,ft3 + 80002dfc: 001015f3 fsflags a1,zero + 80002e00: 00000613 li a2,0 + 80002e04: 06d51a63 bne a0,a3,80002e78 <fail> + 80002e08: 06c59863 bne a1,a2,80002e78 <fail> + +0000000080002e0c <test_32>: + 80002e0c: 02000193 li gp,32 + 80002e10: 00001517 auipc a0,0x1 + 80002e14: 2f050513 addi a0,a0,752 # 80004100 <test_32_data> + 80002e18: 00052007 flw ft0,0(a0) + 80002e1c: 00452087 flw ft1,4(a0) + 80002e20: 00852107 flw ft2,8(a0) + 80002e24: 00c52683 lw a3,12(a0) + 80002e28: 281011d3 fmax.s ft3,ft0,ft1 + 80002e2c: e0018553 fmv.x.w a0,ft3 + 80002e30: 001015f3 fsflags a1,zero + 80002e34: 00000613 li a2,0 + 80002e38: 04d51063 bne a0,a3,80002e78 <fail> + 80002e3c: 02c59e63 bne a1,a2,80002e78 <fail> + +0000000080002e40 <test_33>: + 80002e40: 02100193 li gp,33 + 80002e44: 00001517 auipc a0,0x1 + 80002e48: 2cc50513 addi a0,a0,716 # 80004110 <test_33_data> + 80002e4c: 00052007 flw ft0,0(a0) + 80002e50: 00452087 flw ft1,4(a0) + 80002e54: 00852107 flw ft2,8(a0) + 80002e58: 00c52683 lw a3,12(a0) + 80002e5c: 281011d3 fmax.s ft3,ft0,ft1 + 80002e60: e0018553 fmv.x.w a0,ft3 + 80002e64: 001015f3 fsflags a1,zero + 80002e68: 00000613 li a2,0 + 80002e6c: 00d51663 bne a0,a3,80002e78 <fail> + 80002e70: 00c59463 bne a1,a2,80002e78 <fail> + 80002e74: 00301a63 bne zero,gp,80002e88 <pass> + +0000000080002e78 <fail>: + 80002e78: 00119513 slli a0,gp,0x1 + 80002e7c: 00050063 beqz a0,80002e7c <fail+0x4> + 80002e80: 00156513 ori a0,a0,1 + 80002e84: 00000073 ecall + +0000000080002e88 <pass>: + 80002e88: 00100513 li a0,1 + 80002e8c: 00000073 ecall + 80002e90: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <test_2_data>: + 80004000: 0000 unimp + 80004002: 4020 lw s0,64(s0) + 80004004: 0000 unimp + 80004006: 3f80 fld fs0,56(a5) + 80004008: 0000 unimp + 8000400a: 0000 unimp + 8000400c: 0000 unimp + 8000400e: 3f80 fld fs0,56(a5) + +0000000080004010 <test_3_data>: + 80004010: c49a6333 0xc49a6333 + 80004014: cccd beqz s1,800040ce <test_20_data+0xe> + 80004016: 3f8c fld fa1,56(a5) + 80004018: 0000 unimp + 8000401a: 0000 unimp + 8000401c: c49a6333 0xc49a6333 + +0000000080004020 <test_4_data>: + 80004020: cccd beqz s1,800040da <test_21_data+0xa> + 80004022: 3f8c fld fa1,56(a5) + 80004024: c49a6333 0xc49a6333 + 80004028: 0000 unimp + 8000402a: 0000 unimp + 8000402c: c49a6333 0xc49a6333 + +0000000080004030 <test_5_data>: + 80004030: ffff 0xffff + 80004032: 7fff 0x7fff + 80004034: c49a6333 0xc49a6333 + 80004038: 0000 unimp + 8000403a: 0000 unimp + 8000403c: c49a6333 0xc49a6333 + +0000000080004040 <test_6_data>: + 80004040: 40490fdb 0x40490fdb + 80004044: 322bcc77 0x322bcc77 + 80004048: 0000 unimp + 8000404a: 0000 unimp + 8000404c: 322bcc77 0x322bcc77 + +0000000080004050 <test_7_data>: + 80004050: 0000 unimp + 80004052: bf80 fsd fs0,56(a5) + 80004054: 0000 unimp + 80004056: c000 sw s0,0(s0) + 80004058: 0000 unimp + 8000405a: 0000 unimp + 8000405c: 0000 unimp + 8000405e: c000 sw s0,0(s0) + +0000000080004060 <test_12_data>: + 80004060: 0000 unimp + 80004062: 4020 lw s0,64(s0) + 80004064: 0000 unimp + 80004066: 3f80 fld fs0,56(a5) + 80004068: 0000 unimp + 8000406a: 0000 unimp + 8000406c: 0000 unimp + 8000406e: 4020 lw s0,64(s0) + +0000000080004070 <test_13_data>: + 80004070: c49a6333 0xc49a6333 + 80004074: cccd beqz s1,8000412e <begin_signature+0xe> + 80004076: 3f8c fld fa1,56(a5) + 80004078: 0000 unimp + 8000407a: 0000 unimp + 8000407c: cccd beqz s1,80004136 <begin_signature+0x16> + 8000407e: 3f8c fld fa1,56(a5) + +0000000080004080 <test_14_data>: + 80004080: cccd beqz s1,8000413a <begin_signature+0x1a> + 80004082: 3f8c fld fa1,56(a5) + 80004084: c49a6333 0xc49a6333 + 80004088: 0000 unimp + 8000408a: 0000 unimp + 8000408c: cccd beqz s1,80004146 <begin_signature+0x26> + 8000408e: 3f8c fld fa1,56(a5) + +0000000080004090 <test_15_data>: + 80004090: ffff 0xffff + 80004092: 7fff 0x7fff + 80004094: c49a6333 0xc49a6333 + 80004098: 0000 unimp + 8000409a: 0000 unimp + 8000409c: c49a6333 0xc49a6333 + +00000000800040a0 <test_16_data>: + 800040a0: 40490fdb 0x40490fdb + 800040a4: 322bcc77 0x322bcc77 + 800040a8: 0000 unimp + 800040aa: 0000 unimp + 800040ac: 40490fdb 0x40490fdb + +00000000800040b0 <test_17_data>: + 800040b0: 0000 unimp + 800040b2: bf80 fsd fs0,56(a5) + 800040b4: 0000 unimp + 800040b6: c000 sw s0,0(s0) + 800040b8: 0000 unimp + 800040ba: 0000 unimp + 800040bc: 0000 unimp + 800040be: bf80 fsd fs0,56(a5) + +00000000800040c0 <test_20_data>: + 800040c0: 0001 nop + 800040c2: 7f80 ld s0,56(a5) + 800040c4: 0000 unimp + 800040c6: 3f80 fld fs0,56(a5) + 800040c8: 0000 unimp + 800040ca: 0000 unimp + 800040cc: 0000 unimp + 800040ce: 3f80 fld fs0,56(a5) + +00000000800040d0 <test_21_data>: + 800040d0: ffff 0xffff + 800040d2: 7fff 0x7fff + 800040d4: ffff 0xffff + 800040d6: 7fff 0x7fff + 800040d8: 0000 unimp + 800040da: 0000 unimp + 800040dc: 0000 unimp + 800040de: 7fc0 ld s0,184(a5) + +00000000800040e0 <test_30_data>: + 800040e0: 0000 unimp + 800040e2: 8000 0x8000 + 800040e4: 0000 unimp + 800040e6: 0000 unimp + 800040e8: 0000 unimp + 800040ea: 0000 unimp + 800040ec: 0000 unimp + 800040ee: 8000 0x8000 + +00000000800040f0 <test_31_data>: + 800040f0: 0000 unimp + 800040f2: 0000 unimp + 800040f4: 0000 unimp + 800040f6: 8000 0x8000 + 800040f8: 0000 unimp + 800040fa: 0000 unimp + 800040fc: 0000 unimp + 800040fe: 8000 0x8000 + +0000000080004100 <test_32_data>: + 80004100: 0000 unimp + 80004102: 8000 0x8000 + 80004104: 0000 unimp + 80004106: 0000 unimp + 80004108: 0000 unimp + 8000410a: 0000 unimp + 8000410c: 0000 unimp + 8000410e: 0000 unimp + +0000000080004110 <test_33_data>: + 80004110: 0000 unimp + 80004112: 0000 unimp + 80004114: 0000 unimp + 80004116: 8000 0x8000 + 80004118: 0000 unimp + 8000411a: 0000 unimp + 8000411c: 0000 unimp + 8000411e: 0000 unimp diff --git a/test/riscv-tests/rv64uf-v-fmin.elf b/test/riscv-tests/rv64uf-v-fmin.elf Binary files differnew file mode 100644 index 0000000..7938b3a --- /dev/null +++ b/test/riscv-tests/rv64uf-v-fmin.elf |