diff options
| author | Robert Norton | 2018-05-14 15:38:02 +0100 |
|---|---|---|
| committer | Robert Norton | 2018-05-14 15:38:02 +0100 |
| commit | 1af099d46188cacd115639ec6d465ca8163ae07f (patch) | |
| tree | 634dd8b8f8918a7c2785cd3bcdd59ec761a16d36 /test/riscv | |
| parent | 14bc7fd8d631196e7f0e9ab882d30c88c764336a (diff) | |
import new build of riscv tests including some new ones that are expected to pass.
Diffstat (limited to 'test/riscv')
281 files changed, 97368 insertions, 152 deletions
diff --git a/test/riscv/tests/README b/test/riscv/tests/README index 4dcfeb11..cb1e5105 100644 --- a/test/riscv/tests/README +++ b/test/riscv/tests/README @@ -24,4 +24,4 @@ HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. The tests in this directory were built from -https://github.com/riscv/riscv-tools commit 98682995dc4a1ab8777ff45ba673cf2658e54ae2 . +https://github.com/riscv/riscv-tools commit 84e9d5bf515908d15215cd8ee5b5beb6f7519491 . diff --git a/test/riscv/tests/disabled/rv64mi-p-sbreak.dump b/test/riscv/tests/disabled/rv64mi-p-sbreak.dump new file mode 100644 index 00000000..8e03511c --- /dev/null +++ b/test/riscv/tests/disabled/rv64mi-p-sbreak.dump @@ -0,0 +1,130 @@ + +rv64mi-p-sbreak: 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: 00000f17 auipc t5,0x0 + 80000024: 118f0f13 addi t5,t5,280 # 80000138 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00200193 li gp,2 + +000000008000010c <do_break>: + 8000010c: 00100073 ebreak + 80000110: 0080006f j 80000118 <fail> + 80000114: 00301c63 bne zero,gp,8000012c <pass> + +0000000080000118 <fail>: + 80000118: 0ff0000f fence + 8000011c: 00018063 beqz gp,8000011c <fail+0x4> + 80000120: 00119193 slli gp,gp,0x1 + 80000124: 0011e193 ori gp,gp,1 + 80000128: 00000073 ecall + +000000008000012c <pass>: + 8000012c: 0ff0000f fence + 80000130: 00100193 li gp,1 + 80000134: 00000073 ecall + +0000000080000138 <mtvec_handler>: + 80000138: 00300313 li t1,3 + 8000013c: 342022f3 csrr t0,mcause + 80000140: fc629ce3 bne t0,t1,80000118 <fail> + 80000144: 00000317 auipc t1,0x0 + 80000148: fc830313 addi t1,t1,-56 # 8000010c <do_break> + 8000014c: 341022f3 csrr t0,mepc + 80000150: fc6294e3 bne t0,t1,80000118 <fail> + 80000154: fd9ff06f j 8000012c <pass> + 80000158: c0001073 unimp + 8000015c: 0000 unimp + 8000015e: 0000 unimp + 80000160: 0000 unimp + 80000162: 0000 unimp + 80000164: 0000 unimp + 80000166: 0000 unimp + 80000168: 0000 unimp + 8000016a: 0000 unimp + 8000016c: 0000 unimp + 8000016e: 0000 unimp + 80000170: 0000 unimp + 80000172: 0000 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/disabled/rv64si-p-sbreak.dump b/test/riscv/tests/disabled/rv64si-p-sbreak.dump new file mode 100644 index 00000000..e981c549 --- /dev/null +++ b/test/riscv/tests/disabled/rv64si-p-sbreak.dump @@ -0,0 +1,128 @@ + +rv64si-p-sbreak: 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: 00000297 auipc t0,0x0 + 800000c4: 08028293 addi t0,t0,128 # 80000140 <stvec_handler> + 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: 00001537 lui a0,0x1 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 02200513 li a0,34 + 800000f8: 30352073 csrs mideleg,a0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 01428293 addi t0,t0,20 # 80000110 <reset_vector+0xc4> + 80000104: 34129073 csrw mepc,t0 + 80000108: f1402573 csrr a0,mhartid + 8000010c: 30200073 mret + 80000110: 00200193 li gp,2 + +0000000080000114 <do_break>: + 80000114: 00100073 ebreak + 80000118: 0080006f j 80000120 <fail> + 8000011c: 00301c63 bne zero,gp,80000134 <pass> + +0000000080000120 <fail>: + 80000120: 0ff0000f fence + 80000124: 00018063 beqz gp,80000124 <fail+0x4> + 80000128: 00119193 slli gp,gp,0x1 + 8000012c: 0011e193 ori gp,gp,1 + 80000130: 00000073 ecall + +0000000080000134 <pass>: + 80000134: 0ff0000f fence + 80000138: 00100193 li gp,1 + 8000013c: 00000073 ecall + +0000000080000140 <stvec_handler>: + 80000140: 00300313 li t1,3 + 80000144: 142022f3 csrr t0,scause + 80000148: fc629ce3 bne t0,t1,80000120 <fail> + 8000014c: 00000317 auipc t1,0x0 + 80000150: fc830313 addi t1,t1,-56 # 80000114 <do_break> + 80000154: 141022f3 csrr t0,sepc + 80000158: fc6294e3 bne t0,t1,80000120 <fail> + 8000015c: fd9ff06f j 80000134 <pass> + 80000160: c0001073 unimp + 80000164: 0000 unimp + 80000166: 0000 unimp + 80000168: 0000 unimp + 8000016a: 0000 unimp + 8000016c: 0000 unimp + 8000016e: 0000 unimp + 80000170: 0000 unimp + 80000172: 0000 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/disabled/rv64ua-p-lrsc.elf b/test/riscv/tests/disabled/rv64ua-p-lrsc.elf Binary files differindex f9b7fc2e..bff66644 100755..100644 --- a/test/riscv/tests/disabled/rv64ua-p-lrsc.elf +++ b/test/riscv/tests/disabled/rv64ua-p-lrsc.elf diff --git a/test/riscv/tests/rv64mi-p-access.dump b/test/riscv/tests/rv64mi-p-access.dump new file mode 100644 index 00000000..5b35e596 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-access.dump @@ -0,0 +1,142 @@ + +rv64mi-p-access: 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: 00000f17 auipc t5,0x0 + 80000024: 158f0f13 addi t5,t5,344 # 80000178 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00000397 auipc t2,0x0 + 8000010c: 05038393 addi t2,t2,80 # 80000158 <fail> + 80000110: fff0029b addiw t0,zero,-1 + 80000114: 03f29293 slli t0,t0,0x3f + 80000118: 0072c2b3 xor t0,t0,t2 + 8000011c: 00200193 li gp,2 + 80000120: 00100313 li t1,1 + 80000124: 00000e17 auipc t3,0x0 + 80000128: 010e0e13 addi t3,t3,16 # 80000134 <reset_vector+0xe8> + 8000012c: 00000393 li t2,0 + 80000130: 000283e7 jalr t2,t0 + 80000134: 00300193 li gp,3 + 80000138: 00500313 li t1,5 + 8000013c: 00000e17 auipc t3,0x0 + 80000140: 014e0e13 addi t3,t3,20 # 80000150 <reset_vector+0x104> + 80000144: 000e0393 mv t2,t3 + 80000148: 00028383 lb t2,0(t0) + 8000014c: 00c0006f j 80000158 <fail> + 80000150: 01c0006f j 8000016c <pass> + 80000154: 00301c63 bne zero,gp,8000016c <pass> + +0000000080000158 <fail>: + 80000158: 0ff0000f fence + 8000015c: 00018063 beqz gp,8000015c <fail+0x4> + 80000160: 00119193 slli gp,gp,0x1 + 80000164: 0011e193 ori gp,gp,1 + 80000168: 00000073 ecall + +000000008000016c <pass>: + 8000016c: 0ff0000f fence + 80000170: 00100193 li gp,1 + 80000174: 00000073 ecall + +0000000080000178 <mtvec_handler>: + 80000178: 00200513 li a0,2 + 8000017c: 00a18863 beq gp,a0,8000018c <mtvec_handler+0x14> + 80000180: 00300513 li a0,3 + 80000184: 00a18463 beq gp,a0,8000018c <mtvec_handler+0x14> + 80000188: fd1ff06f j 80000158 <fail> + 8000018c: fdc396e3 bne t2,t3,80000158 <fail> + 80000190: 342023f3 csrr t2,mcause + 80000194: fc6392e3 bne t2,t1,80000158 <fail> + 80000198: 341e1073 csrw mepc,t3 + 8000019c: 30200073 mret + 800001a0: c0001073 unimp + 800001a4: 0000 unimp + 800001a6: 0000 unimp + 800001a8: 0000 unimp + 800001aa: 0000 unimp + 800001ac: 0000 unimp + 800001ae: 0000 unimp + 800001b0: 0000 unimp + 800001b2: 0000 unimp + 800001b4: 0000 unimp + 800001b6: 0000 unimp + 800001b8: 0000 unimp + 800001ba: 0000 unimp + 800001bc: 0000 unimp + 800001be: 0000 unimp + 800001c0: 0000 unimp + 800001c2: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-breakpoint.dump b/test/riscv/tests/rv64mi-p-breakpoint.dump new file mode 100644 index 00000000..d882b10a --- /dev/null +++ b/test/riscv/tests/rv64mi-p-breakpoint.dump @@ -0,0 +1,207 @@ + +rv64mi-p-breakpoint: 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: 00000f17 auipc t5,0x0 + 80000024: 210f0f13 addi t5,t5,528 # 80000230 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00200193 li gp,2 + 8000010c: 7a001073 csrw tselect,zero + 80000110: 7a0025f3 csrr a1,tselect + 80000114: 10b01863 bne zero,a1,80000224 <pass> + 80000118: 7a102573 csrr a0,tdata1 + 8000011c: 03c55513 srli a0,a0,0x3c + 80000120: 00200593 li a1,2 + 80000124: 10b51063 bne a0,a1,80000224 <pass> + 80000128: 00000617 auipc a2,0x0 + 8000012c: 02060613 addi a2,a2,32 # 80000148 <reset_vector+0xfc> + 80000130: 7a261073 csrw tdata2,a2 + 80000134: 04400513 li a0,68 + 80000138: 7a151073 csrw tdata1,a0 + 8000013c: 7a1025f3 csrr a1,tdata1 + 80000140: 7ff5f593 andi a1,a1,2047 + 80000144: 00b51863 bne a0,a1,80000154 <reset_vector+0x108> + 80000148: 0c000463 beqz zero,80000210 <fail> + 8000014c: 00300193 li gp,3 + 80000150: 00062503 lw a0,0(a2) + 80000154: 00400193 li gp,4 + 80000158: 04100513 li a0,65 + 8000015c: 7a151073 csrw tdata1,a0 + 80000160: 7a1025f3 csrr a1,tdata1 + 80000164: 7ff5f593 andi a1,a1,2047 + 80000168: 02b51063 bne a0,a1,80000188 <reset_vector+0x13c> + 8000016c: 00002617 auipc a2,0x2 + 80000170: e9460613 addi a2,a2,-364 # 80002000 <begin_signature> + 80000174: 7a261073 csrw tdata2,a2 + 80000178: 00062603 lw a2,0(a2) + 8000017c: 08060a63 beqz a2,80000210 <fail> + 80000180: 00500193 li gp,5 + 80000184: 00062023 sw zero,0(a2) + 80000188: 00600193 li gp,6 + 8000018c: 04200513 li a0,66 + 80000190: 7a151073 csrw tdata1,a0 + 80000194: 7a1025f3 csrr a1,tdata1 + 80000198: 7ff5f593 andi a1,a1,2047 + 8000019c: 06b51863 bne a0,a1,8000020c <reset_vector+0x1c0> + 800001a0: 00c62023 sw a2,0(a2) + 800001a4: 00700193 li gp,7 + 800001a8: 00062603 lw a2,0(a2) + 800001ac: 06061263 bnez a2,80000210 <fail> + 800001b0: 00100513 li a0,1 + 800001b4: 7a051073 csrw tselect,a0 + 800001b8: 7a0025f3 csrr a1,tselect + 800001bc: 06b51463 bne a0,a1,80000224 <pass> + 800001c0: 7a102573 csrr a0,tdata1 + 800001c4: 03c55513 srli a0,a0,0x3c + 800001c8: 00200593 li a1,2 + 800001cc: 04b51c63 bne a0,a1,80000224 <pass> + 800001d0: 04100513 li a0,65 + 800001d4: 7a151073 csrw tdata1,a0 + 800001d8: 00002697 auipc a3,0x2 + 800001dc: e2c68693 addi a3,a3,-468 # 80002004 <data2> + 800001e0: 7a269073 csrw tdata2,a3 + 800001e4: 00800193 li gp,8 + 800001e8: 0006a683 lw a3,0(a3) + 800001ec: 02068263 beqz a3,80000210 <fail> + 800001f0: 00a00193 li gp,10 + 800001f4: 00002617 auipc a2,0x2 + 800001f8: e0c60613 addi a2,a2,-500 # 80002000 <begin_signature> + 800001fc: 00c62023 sw a2,0(a2) + 80000200: 00b00193 li gp,11 + 80000204: 00062603 lw a2,0(a2) + 80000208: 00061463 bnez a2,80000210 <fail> + 8000020c: 00301c63 bne zero,gp,80000224 <pass> + +0000000080000210 <fail>: + 80000210: 0ff0000f fence + 80000214: 00018063 beqz gp,80000214 <fail+0x4> + 80000218: 00119193 slli gp,gp,0x1 + 8000021c: 0011e193 ori gp,gp,1 + 80000220: 00000073 ecall + +0000000080000224 <pass>: + 80000224: 0ff0000f fence + 80000228: 00100193 li gp,1 + 8000022c: 00000073 ecall + +0000000080000230 <mtvec_handler>: + 80000230: 0011f293 andi t0,gp,1 + 80000234: fc029ee3 bnez t0,80000210 <fail> + 80000238: 00300293 li t0,3 + 8000023c: 34202373 csrr t1,mcause + 80000240: fc6298e3 bne t0,t1,80000210 <fail> + 80000244: 341022f3 csrr t0,mepc + 80000248: 00428293 addi t0,t0,4 + 8000024c: 34129073 csrw mepc,t0 + 80000250: 30200073 mret + 80000254: c0001073 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 <begin_signature>: + 80002000: 0000 unimp + 80002002: 0000 unimp + +0000000080002004 <data2>: + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-breakpoint.elf b/test/riscv/tests/rv64mi-p-breakpoint.elf Binary files differnew file mode 100644 index 00000000..04af6b26 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-breakpoint.elf diff --git a/test/riscv/tests/rv64mi-p-csr.dump b/test/riscv/tests/rv64mi-p-csr.dump new file mode 100644 index 00000000..e2ccda2f --- /dev/null +++ b/test/riscv/tests/rv64mi-p-csr.dump @@ -0,0 +1,287 @@ + +rv64mi-p-csr: 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: 00000f17 auipc t5,0x0 + 80000024: 2a0f0f13 addi t5,t5,672 # 800002c0 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 000022b7 lui t0,0x2 + 8000010c: 8002829b addiw t0,t0,-2048 + 80000110: 3002b073 csrc mstatus,t0 + 80000114: 30002373 csrr t1,mstatus + 80000118: 0062f2b3 and t0,t0,t1 + 8000011c: 02029463 bnez t0,80000144 <test_14> + +0000000080000120 <test_13>: + 80000120: 30002573 csrr a0,mstatus + 80000124: 0030059b addiw a1,zero,3 + 80000128: 02059593 slli a1,a1,0x20 + 8000012c: 00b57533 and a0,a0,a1 + 80000130: 00100e9b addiw t4,zero,1 + 80000134: 021e9e93 slli t4,t4,0x21 + 80000138: 00d00193 li gp,13 + 8000013c: 17d51263 bne a0,t4,800002a0 <fail> + 80000140: 0200006f j 80000160 <test_14+0x1c> + +0000000080000144 <test_14>: + 80000144: 30002573 csrr a0,mstatus + 80000148: 0030059b addiw a1,zero,3 + 8000014c: 02059593 slli a1,a1,0x20 + 80000150: 00b57533 and a0,a0,a1 + 80000154: 00000e93 li t4,0 + 80000158: 00e00193 li gp,14 + 8000015c: 15d51263 bne a0,t4,800002a0 <fail> + 80000160: 3401d073 csrwi mscratch,3 + +0000000080000164 <test_2>: + 80000164: 34002573 csrr a0,mscratch + 80000168: 00300e93 li t4,3 + 8000016c: 00200193 li gp,2 + 80000170: 13d51863 bne a0,t4,800002a0 <fail> + +0000000080000174 <test_3>: + 80000174: 3400f5f3 csrrci a1,mscratch,1 + 80000178: 00300e93 li t4,3 + 8000017c: 00300193 li gp,3 + 80000180: 13d59063 bne a1,t4,800002a0 <fail> + +0000000080000184 <test_4>: + 80000184: 34026673 csrrsi a2,mscratch,4 + 80000188: 00200e93 li t4,2 + 8000018c: 00400193 li gp,4 + 80000190: 11d61863 bne a2,t4,800002a0 <fail> + +0000000080000194 <test_5>: + 80000194: 340156f3 csrrwi a3,mscratch,2 + 80000198: 00600e93 li t4,6 + 8000019c: 00500193 li gp,5 + 800001a0: 11d69063 bne a3,t4,800002a0 <fail> + +00000000800001a4 <test_6>: + 800001a4: 0bad2537 lui a0,0xbad2 + 800001a8: dea5051b addiw a0,a0,-534 + 800001ac: 340515f3 csrrw a1,mscratch,a0 + 800001b0: 00200e93 li t4,2 + 800001b4: 00600193 li gp,6 + 800001b8: 0fd59463 bne a1,t4,800002a0 <fail> + +00000000800001bc <test_7>: + 800001bc: 00002537 lui a0,0x2 + 800001c0: dea5051b addiw a0,a0,-534 + 800001c4: 34053573 csrrc a0,mscratch,a0 + 800001c8: 0bad2eb7 lui t4,0xbad2 + 800001cc: deae8e9b addiw t4,t4,-534 + 800001d0: 00700193 li gp,7 + 800001d4: 0dd51663 bne a0,t4,800002a0 <fail> + +00000000800001d8 <test_8>: + 800001d8: 0000c537 lui a0,0xc + 800001dc: eef5051b addiw a0,a0,-273 + 800001e0: 34052573 csrrs a0,mscratch,a0 + 800001e4: 0bad0eb7 lui t4,0xbad0 + 800001e8: 00800193 li gp,8 + 800001ec: 0bd51a63 bne a0,t4,800002a0 <fail> + +00000000800001f0 <test_9>: + 800001f0: 34002573 csrr a0,mscratch + 800001f4: 0badceb7 lui t4,0xbadc + 800001f8: eefe8e9b addiw t4,t4,-273 + 800001fc: 00900193 li gp,9 + 80000200: 0bd51063 bne a0,t4,800002a0 <fail> + 80000204: 30102573 csrr a0,misa + 80000208: 02057513 andi a0,a0,32 + 8000020c: 02050863 beqz a0,8000023c <test_10+0x14> + 80000210: 000065b7 lui a1,0x6 + 80000214: 3005a073 csrs mstatus,a1 + 80000218: f0000053 fmv.w.x ft0,zero + 8000021c: 3005b073 csrc mstatus,a1 + 80000220: 00002597 auipc a1,0x2 + 80000224: de058593 addi a1,a1,-544 # 80002000 <begin_signature> + +0000000080000228 <test_10>: + 80000228: 0005a027 fsw ft0,0(a1) + 8000022c: 0005a503 lw a0,0(a1) + 80000230: 00100e93 li t4,1 + 80000234: 00a00193 li gp,10 + 80000238: 07d51463 bne a0,t4,800002a0 <fail> + 8000023c: 30102573 csrr a0,misa + 80000240: 01455513 srli a0,a0,0x14 + 80000244: 00157513 andi a0,a0,1 + 80000248: 04050463 beqz a0,80000290 <finish> + 8000024c: 000022b7 lui t0,0x2 + 80000250: 8002829b addiw t0,t0,-2048 + 80000254: 3002b073 csrc mstatus,t0 + 80000258: 00000297 auipc t0,0x0 + 8000025c: 01028293 addi t0,t0,16 # 80000268 <test_11> + 80000260: 34129073 csrw mepc,t0 + 80000264: 30200073 mret + +0000000080000268 <test_11>: + 80000268: 0ff00513 li a0,255 + 8000026c: c0001573 csrrw a0,cycle,zero + 80000270: 0ff00e93 li t4,255 + 80000274: 00b00193 li gp,11 + 80000278: 03d51463 bne a0,t4,800002a0 <fail> + +000000008000027c <test_12>: + 8000027c: 0ff00513 li a0,255 + 80000280: 30002573 csrr a0,mstatus + 80000284: 0ff00e93 li t4,255 + 80000288: 00c00193 li gp,12 + 8000028c: 01d51a63 bne a0,t4,800002a0 <fail> + +0000000080000290 <finish>: + 80000290: 0ff0000f fence + 80000294: 00100193 li gp,1 + 80000298: 00000073 ecall + 8000029c: 00301c63 bne zero,gp,800002b4 <pass> + +00000000800002a0 <fail>: + 800002a0: 0ff0000f fence + 800002a4: 00018063 beqz gp,800002a4 <fail+0x4> + 800002a8: 00119193 slli gp,gp,0x1 + 800002ac: 0011e193 ori gp,gp,1 + 800002b0: 00000073 ecall + +00000000800002b4 <pass>: + 800002b4: 0ff0000f fence + 800002b8: 00100193 li gp,1 + 800002bc: 00000073 ecall + +00000000800002c0 <mtvec_handler>: + 800002c0: 00900293 li t0,9 + 800002c4: 0051e663 bltu gp,t0,800002d0 <mtvec_handler+0x10> + 800002c8: 00b00293 li t0,11 + 800002cc: 0032fe63 bleu gp,t0,800002e8 <privileged> + 800002d0: 342022f3 csrr t0,mcause + 800002d4: 00800313 li t1,8 + 800002d8: fc6294e3 bne t0,t1,800002a0 <fail> + 800002dc: 0ff0000f fence + 800002e0: 00100193 li gp,1 + 800002e4: 00000073 ecall + +00000000800002e8 <privileged>: + 800002e8: 342022f3 csrr t0,mcause + 800002ec: 00200313 li t1,2 + 800002f0: fa6298e3 bne t0,t1,800002a0 <fail> + 800002f4: 341022f3 csrr t0,mepc + 800002f8: 00428293 addi t0,t0,4 + 800002fc: 34129073 csrw mepc,t0 + 80000300: 30200073 mret + 80000304: c0001073 unimp + 80000308: 0000 unimp + 8000030a: 0000 unimp + 8000030c: 0000 unimp + 8000030e: 0000 unimp + 80000310: 0000 unimp + 80000312: 0000 unimp + 80000314: 0000 unimp + 80000316: 0000 unimp + 80000318: 0000 unimp + 8000031a: 0000 unimp + 8000031c: 0000 unimp + 8000031e: 0000 unimp + 80000320: 0000 unimp + 80000322: 0000 unimp + 80000324: 0000 unimp + 80000326: 0000 unimp + 80000328: 0000 unimp + 8000032a: 0000 unimp + 8000032c: 0000 unimp + 8000032e: 0000 unimp + 80000330: 0000 unimp + 80000332: 0000 unimp + 80000334: 0000 unimp + 80000336: 0000 unimp + 80000338: 0000 unimp + 8000033a: 0000 unimp + 8000033c: 0000 unimp + 8000033e: 0000 unimp + 80000340: 0000 unimp + 80000342: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: 0001 nop + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-csr.elf b/test/riscv/tests/rv64mi-p-csr.elf Binary files differnew file mode 100644 index 00000000..d7c74bc2 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-csr.elf diff --git a/test/riscv/tests/rv64mi-p-illegal.dump b/test/riscv/tests/rv64mi-p-illegal.dump new file mode 100644 index 00000000..56485c4a --- /dev/null +++ b/test/riscv/tests/rv64mi-p-illegal.dump @@ -0,0 +1,383 @@ + +rv64mi-p-illegal: 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: 00000f17 auipc t5,0x0 + 80000024: 2e0f0f13 addi t5,t5,736 # 80000300 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00200193 li gp,2 + +000000008000010c <bad2>: + 8000010c: 0000 unimp + 8000010e: 0000 unimp + 80000110: 0f40006f j 80000204 <fail> + 80000114: 000022b7 lui t0,0x2 + 80000118: 8002829b addiw t0,t0,-2048 + 8000011c: 3002b073 csrc mstatus,t0 + 80000120: 00001337 lui t1,0x1 + 80000124: 8003031b addiw t1,t1,-2048 + 80000128: 30032073 csrs mstatus,t1 + 8000012c: 300023f3 csrr t2,mstatus + 80000130: 0053f3b3 and t2,t2,t0 + 80000134: 0e731263 bne t1,t2,80000218 <pass> + +0000000080000138 <test_vectored_interrupts>: + 80000138: 34415073 csrwi mip,2 + 8000013c: 30415073 csrwi mie,2 + 80000140: 00000297 auipc t0,0x0 + 80000144: 1c128293 addi t0,t0,449 # 80000301 <mtvec_handler+0x1> + 80000148: 30529473 csrrw s0,mtvec,t0 + 8000014c: 305022f3 csrr t0,mtvec + 80000150: 0012f293 andi t0,t0,1 + 80000154: 00028663 beqz t0,80000160 <msip> + 80000158: 30046073 csrsi mstatus,8 + 8000015c: 0000006f j 8000015c <test_vectored_interrupts+0x24> + +0000000080000160 <msip>: + 80000160: 30541073 csrw mtvec,s0 + 80000164: 30315073 csrwi mideleg,2 + 80000168: 00000297 auipc t0,0x0 + 8000016c: 02828293 addi t0,t0,40 # 80000190 <msip+0x30> + 80000170: 34129073 csrw mepc,t0 + 80000174: 000022b7 lui t0,0x2 + 80000178: 8002829b addiw t0,t0,-2048 + 8000017c: 3002b073 csrc mstatus,t0 + 80000180: 00001337 lui t1,0x1 + 80000184: 8003031b addiw t1,t1,-2048 + 80000188: 30032073 csrs mstatus,t1 + 8000018c: 30200073 mret + 80000190: 10500073 wfi + +0000000080000194 <bad3>: + 80000194: 0000 unimp + 80000196: 0000 unimp + 80000198: 06c0006f j 80000204 <fail> + +000000008000019c <bad4>: + 8000019c: 10500073 wfi + 800001a0: 0640006f j 80000204 <fail> + 800001a4: 12000073 sfence.vma + 800001a8: 180022f3 csrr t0,satp + +00000000800001ac <bad5>: + 800001ac: 0000 unimp + 800001ae: 0000 unimp + 800001b0: 0540006f j 80000204 <fail> + +00000000800001b4 <bad6>: + 800001b4: 12000073 sfence.vma + 800001b8: 04c0006f j 80000204 <fail> + +00000000800001bc <bad7>: + 800001bc: 180022f3 csrr t0,satp + 800001c0: 0440006f j 80000204 <fail> + 800001c4: 00000297 auipc t0,0x0 + 800001c8: 02028293 addi t0,t0,32 # 800001e4 <bad8> + 800001cc: 14129073 csrw sepc,t0 + 800001d0: 10000293 li t0,256 + 800001d4: 1002a073 csrs sstatus,t0 + 800001d8: 02000293 li t0,32 + 800001dc: 1002b073 csrc sstatus,t0 + 800001e0: 10200073 sret + +00000000800001e4 <bad8>: + 800001e4: 0000 unimp + 800001e6: 0000 unimp + 800001e8: 01c0006f j 80000204 <fail> + 800001ec: 00000297 auipc t0,0x0 + 800001f0: 01028293 addi t0,t0,16 # 800001fc <bad9+0x4> + 800001f4: 14129073 csrw sepc,t0 + +00000000800001f8 <bad9>: + 800001f8: 10200073 sret + 800001fc: 0080006f j 80000204 <fail> + 80000200: 00301c63 bne zero,gp,80000218 <pass> + +0000000080000204 <fail>: + 80000204: 0ff0000f fence + 80000208: 00018063 beqz gp,80000208 <fail+0x4> + 8000020c: 00119193 slli gp,gp,0x1 + 80000210: 0011e193 ori gp,gp,1 + 80000214: 00000073 ecall + +0000000080000218 <pass>: + 80000218: 0ff0000f fence + 8000021c: 00100193 li gp,1 + 80000220: 00000073 ecall + 80000224: 00000013 nop + 80000228: 00000013 nop + 8000022c: 00000013 nop + 80000230: 00000013 nop + 80000234: 00000013 nop + 80000238: 00000013 nop + 8000023c: 00000013 nop + 80000240: 00000013 nop + 80000244: 00000013 nop + 80000248: 00000013 nop + 8000024c: 00000013 nop + 80000250: 00000013 nop + 80000254: 00000013 nop + 80000258: 00000013 nop + 8000025c: 00000013 nop + 80000260: 00000013 nop + 80000264: 00000013 nop + 80000268: 00000013 nop + 8000026c: 00000013 nop + 80000270: 00000013 nop + 80000274: 00000013 nop + 80000278: 00000013 nop + 8000027c: 00000013 nop + 80000280: 00000013 nop + 80000284: 00000013 nop + 80000288: 00000013 nop + 8000028c: 00000013 nop + 80000290: 00000013 nop + 80000294: 00000013 nop + 80000298: 00000013 nop + 8000029c: 00000013 nop + 800002a0: 00000013 nop + 800002a4: 00000013 nop + 800002a8: 00000013 nop + 800002ac: 00000013 nop + 800002b0: 00000013 nop + 800002b4: 00000013 nop + 800002b8: 00000013 nop + 800002bc: 00000013 nop + 800002c0: 00000013 nop + 800002c4: 00000013 nop + 800002c8: 00000013 nop + 800002cc: 00000013 nop + 800002d0: 00000013 nop + 800002d4: 00000013 nop + 800002d8: 00000013 nop + 800002dc: 00000013 nop + 800002e0: 00000013 nop + 800002e4: 00000013 nop + 800002e8: 00000013 nop + 800002ec: 00000013 nop + 800002f0: 00000013 nop + 800002f4: 00000013 nop + 800002f8: 00000013 nop + 800002fc: 00000013 nop + +0000000080000300 <mtvec_handler>: + 80000300: 0400006f j 80000340 <synchronous_exception> + 80000304: e5dff06f j 80000160 <msip> + 80000308: efdff06f j 80000204 <fail> + 8000030c: ef9ff06f j 80000204 <fail> + 80000310: ef5ff06f j 80000204 <fail> + 80000314: ef1ff06f j 80000204 <fail> + 80000318: eedff06f j 80000204 <fail> + 8000031c: ee9ff06f j 80000204 <fail> + 80000320: ee5ff06f j 80000204 <fail> + 80000324: ee1ff06f j 80000204 <fail> + 80000328: eddff06f j 80000204 <fail> + 8000032c: ed9ff06f j 80000204 <fail> + 80000330: ed5ff06f j 80000204 <fail> + 80000334: ed1ff06f j 80000204 <fail> + 80000338: ecdff06f j 80000204 <fail> + 8000033c: ec9ff06f j 80000204 <fail> + +0000000080000340 <synchronous_exception>: + 80000340: 00200313 li t1,2 + 80000344: 342022f3 csrr t0,mcause + 80000348: ea629ee3 bne t0,t1,80000204 <fail> + 8000034c: 341022f3 csrr t0,mepc + 80000350: 343023f3 csrr t2,mbadaddr + 80000354: 00038c63 beqz t2,8000036c <synchronous_exception+0x2c> + 80000358: 0002de03 lhu t3,0(t0) + 8000035c: 0022de83 lhu t4,2(t0) + 80000360: 010e9e93 slli t4,t4,0x10 + 80000364: 01de6e33 or t3,t3,t4 + 80000368: e9c39ee3 bne t2,t3,80000204 <fail> + 8000036c: 00000317 auipc t1,0x0 + 80000370: da030313 addi t1,t1,-608 # 8000010c <bad2> + 80000374: 04628e63 beq t0,t1,800003d0 <synchronous_exception+0x90> + 80000378: 00000317 auipc t1,0x0 + 8000037c: e1c30313 addi t1,t1,-484 # 80000194 <bad3> + 80000380: 04628e63 beq t0,t1,800003dc <synchronous_exception+0x9c> + 80000384: 00000317 auipc t1,0x0 + 80000388: e1830313 addi t1,t1,-488 # 8000019c <bad4> + 8000038c: 04628263 beq t0,t1,800003d0 <synchronous_exception+0x90> + 80000390: 00000317 auipc t1,0x0 + 80000394: e1c30313 addi t1,t1,-484 # 800001ac <bad5> + 80000398: 04628863 beq t0,t1,800003e8 <synchronous_exception+0xa8> + 8000039c: 00000317 auipc t1,0x0 + 800003a0: e1830313 addi t1,t1,-488 # 800001b4 <bad6> + 800003a4: 02628663 beq t0,t1,800003d0 <synchronous_exception+0x90> + 800003a8: 00000317 auipc t1,0x0 + 800003ac: e1430313 addi t1,t1,-492 # 800001bc <bad7> + 800003b0: 02628063 beq t0,t1,800003d0 <synchronous_exception+0x90> + 800003b4: 00000317 auipc t1,0x0 + 800003b8: e3030313 addi t1,t1,-464 # 800001e4 <bad8> + 800003bc: 02628c63 beq t0,t1,800003f4 <synchronous_exception+0xb4> + 800003c0: 00000317 auipc t1,0x0 + 800003c4: e3830313 addi t1,t1,-456 # 800001f8 <bad9> + 800003c8: 02628c63 beq t0,t1,80000400 <synchronous_exception+0xc0> + 800003cc: e39ff06f j 80000204 <fail> + 800003d0: 00828293 addi t0,t0,8 + 800003d4: 34129073 csrw mepc,t0 + 800003d8: 30200073 mret + 800003dc: 00200337 lui t1,0x200 + 800003e0: 30032073 csrs mstatus,t1 + 800003e4: fedff06f j 800003d0 <synchronous_exception+0x90> + 800003e8: 00100337 lui t1,0x100 + 800003ec: 30032073 csrs mstatus,t1 + 800003f0: fe1ff06f j 800003d0 <synchronous_exception+0x90> + 800003f4: 00400337 lui t1,0x400 + 800003f8: 30032073 csrs mstatus,t1 + 800003fc: fd5ff06f j 800003d0 <synchronous_exception+0x90> + 80000400: fd1ff06f j 800003d0 <synchronous_exception+0x90> + 80000404: c0001073 unimp + 80000408: 0000 unimp + 8000040a: 0000 unimp + 8000040c: 0000 unimp + 8000040e: 0000 unimp + 80000410: 0000 unimp + 80000412: 0000 unimp + 80000414: 0000 unimp + 80000416: 0000 unimp + 80000418: 0000 unimp + 8000041a: 0000 unimp + 8000041c: 0000 unimp + 8000041e: 0000 unimp + 80000420: 0000 unimp + 80000422: 0000 unimp + 80000424: 0000 unimp + 80000426: 0000 unimp + 80000428: 0000 unimp + 8000042a: 0000 unimp + 8000042c: 0000 unimp + 8000042e: 0000 unimp + 80000430: 0000 unimp + 80000432: 0000 unimp + 80000434: 0000 unimp + 80000436: 0000 unimp + 80000438: 0000 unimp + 8000043a: 0000 unimp + 8000043c: 0000 unimp + 8000043e: 0000 unimp + 80000440: 0000 unimp + 80000442: 0000 unimp + 80000444: 0000 unimp + 80000446: 0000 unimp + 80000448: 0000 unimp + 8000044a: 0000 unimp + 8000044c: 0000 unimp + 8000044e: 0000 unimp + 80000450: 0000 unimp + 80000452: 0000 unimp + 80000454: 0000 unimp + 80000456: 0000 unimp + 80000458: 0000 unimp + 8000045a: 0000 unimp + 8000045c: 0000 unimp + 8000045e: 0000 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 + 80000484: 0000 unimp + 80000486: 0000 unimp + 80000488: 0000 unimp + 8000048a: 0000 unimp + 8000048c: 0000 unimp + 8000048e: 0000 unimp + 80000490: 0000 unimp + 80000492: 0000 unimp + 80000494: 0000 unimp + 80000496: 0000 unimp + 80000498: 0000 unimp + 8000049a: 0000 unimp + 8000049c: 0000 unimp + 8000049e: 0000 unimp + 800004a0: 0000 unimp + 800004a2: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-illegal.elf b/test/riscv/tests/rv64mi-p-illegal.elf Binary files differnew file mode 100644 index 00000000..7441498d --- /dev/null +++ b/test/riscv/tests/rv64mi-p-illegal.elf diff --git a/test/riscv/tests/rv64mi-p-ma_addr.dump b/test/riscv/tests/rv64mi-p-ma_addr.dump new file mode 100644 index 00000000..b5595679 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-ma_addr.dump @@ -0,0 +1,563 @@ + +rv64mi-p-ma_addr: 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: 00000f17 auipc t5,0x0 + 80000024: 5e8f0f13 addi t5,t5,1512 # 80000608 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00002417 auipc s0,0x2 + 8000010c: ef840413 addi s0,s0,-264 # 80002000 <begin_signature> + 80000110: 00400493 li s1,4 + 80000114: 00200193 li gp,2 + 80000118: 00000397 auipc t2,0x0 + 8000011c: 01c38393 addi t2,t2,28 # 80000134 <reset_vector+0xe8> + 80000120: 00140313 addi t1,s0,1 + 80000124: 00141303 lh t1,1(s0) + 80000128: ffffc3b7 lui t2,0xffffc + 8000012c: bcc3839b addiw t2,t2,-1076 + 80000130: 4a731c63 bne t1,t2,800005e8 <fail> + 80000134: 00300193 li gp,3 + 80000138: 00000397 auipc t2,0x0 + 8000013c: 01c38393 addi t2,t2,28 # 80000154 <reset_vector+0x108> + 80000140: 00140313 addi t1,s0,1 + 80000144: 00145303 lhu t1,1(s0) + 80000148: 0000c3b7 lui t2,0xc + 8000014c: bcc3839b addiw t2,t2,-1076 + 80000150: 48731c63 bne t1,t2,800005e8 <fail> + 80000154: 00400193 li gp,4 + 80000158: 00000397 auipc t2,0x0 + 8000015c: 01c38393 addi t2,t2,28 # 80000174 <reset_vector+0x128> + 80000160: 00140313 addi t1,s0,1 + 80000164: 00142303 lw t1,1(s0) + 80000168: 99aac3b7 lui t2,0x99aac + 8000016c: bcc3839b addiw t2,t2,-1076 + 80000170: 46731c63 bne t1,t2,800005e8 <fail> + 80000174: 00500193 li gp,5 + 80000178: 00000397 auipc t2,0x0 + 8000017c: 01c38393 addi t2,t2,28 # 80000194 <reset_vector+0x148> + 80000180: 00240313 addi t1,s0,2 + 80000184: 00242303 lw t1,2(s0) + 80000188: 8899b3b7 lui t2,0x8899b + 8000018c: abb3839b addiw t2,t2,-1349 + 80000190: 44731c63 bne t1,t2,800005e8 <fail> + 80000194: 00600193 li gp,6 + 80000198: 00000397 auipc t2,0x0 + 8000019c: 01c38393 addi t2,t2,28 # 800001b4 <reset_vector+0x168> + 800001a0: 00340313 addi t1,s0,3 + 800001a4: 00342303 lw t1,3(s0) + 800001a8: 7788a3b7 lui t2,0x7788a + 800001ac: 9aa3839b addiw t2,t2,-1622 + 800001b0: 42731c63 bne t1,t2,800005e8 <fail> + 800001b4: 00700193 li gp,7 + 800001b8: 00000397 auipc t2,0x0 + 800001bc: 02438393 addi t2,t2,36 # 800001dc <reset_vector+0x190> + 800001c0: 00140313 addi t1,s0,1 + 800001c4: 00146303 lwu t1,1(s0) + 800001c8: 000263b7 lui t2,0x26 + 800001cc: 6ab3839b addiw t2,t2,1707 + 800001d0: 00e39393 slli t2,t2,0xe + 800001d4: bcc38393 addi t2,t2,-1076 # 25bcc <_start-0x7ffda434> + 800001d8: 40731863 bne t1,t2,800005e8 <fail> + 800001dc: 00800193 li gp,8 + 800001e0: 00000397 auipc t2,0x0 + 800001e4: 02438393 addi t2,t2,36 # 80000204 <reset_vector+0x1b8> + 800001e8: 00240313 addi t1,s0,2 + 800001ec: 00246303 lwu t1,2(s0) + 800001f0: 000893b7 lui t2,0x89 + 800001f4: 99b3839b addiw t2,t2,-1637 + 800001f8: 00c39393 slli t2,t2,0xc + 800001fc: abb38393 addi t2,t2,-1349 # 88abb <_start-0x7ff77545> + 80000200: 3e731463 bne t1,t2,800005e8 <fail> + 80000204: 00900193 li gp,9 + 80000208: 00000397 auipc t2,0x0 + 8000020c: 01c38393 addi t2,t2,28 # 80000224 <reset_vector+0x1d8> + 80000210: 00340313 addi t1,s0,3 + 80000214: 00346303 lwu t1,3(s0) + 80000218: 7788a3b7 lui t2,0x7788a + 8000021c: 9aa3839b addiw t2,t2,-1622 + 80000220: 3c731463 bne t1,t2,800005e8 <fail> + 80000224: 00a00193 li gp,10 + 80000228: 00000397 auipc t2,0x0 + 8000022c: 03438393 addi t2,t2,52 # 8000025c <reset_vector+0x210> + 80000230: 00140313 addi t1,s0,1 + 80000234: 00143303 ld t1,1(s0) + 80000238: 00aad3b7 lui t2,0xaad + 8000023c: cef3839b addiw t2,t2,-785 + 80000240: 00c39393 slli t2,t2,0xc + 80000244: 11338393 addi t2,t2,275 # aad113 <_start-0x7f552eed> + 80000248: 00d39393 slli t2,t2,0xd + 8000024c: 6ab38393 addi t2,t2,1707 + 80000250: 00e39393 slli t2,t2,0xe + 80000254: bcc38393 addi t2,t2,-1076 + 80000258: 38731863 bne t1,t2,800005e8 <fail> + 8000025c: 00b00193 li gp,11 + 80000260: 00000397 auipc t2,0x0 + 80000264: 03438393 addi t2,t2,52 # 80000294 <reset_vector+0x248> + 80000268: 00240313 addi t1,s0,2 + 8000026c: 00243303 ld t1,2(s0) + 80000270: 044553b7 lui t2,0x4455 + 80000274: 6673839b addiw t2,t2,1639 + 80000278: 00c39393 slli t2,t2,0xc + 8000027c: 78938393 addi t2,t2,1929 # 4455789 <_start-0x7bbaa877> + 80000280: 00c39393 slli t2,t2,0xc + 80000284: 99b38393 addi t2,t2,-1637 + 80000288: 00c39393 slli t2,t2,0xc + 8000028c: abb38393 addi t2,t2,-1349 + 80000290: 34731c63 bne t1,t2,800005e8 <fail> + 80000294: 00c00193 li gp,12 + 80000298: 00000397 auipc t2,0x0 + 8000029c: 03438393 addi t2,t2,52 # 800002cc <reset_vector+0x280> + 800002a0: 00340313 addi t1,s0,3 + 800002a4: 00343303 ld t1,3(s0) + 800002a8: 006693b7 lui t2,0x669 + 800002ac: 8ab3839b addiw t2,t2,-1877 + 800002b0: 00c39393 slli t2,t2,0xc + 800002b4: ccf38393 addi t2,t2,-817 # 668ccf <_start-0x7f997331> + 800002b8: 00e39393 slli t2,t2,0xe + 800002bc: c4538393 addi t2,t2,-955 + 800002c0: 00d39393 slli t2,t2,0xd + 800002c4: 9aa38393 addi t2,t2,-1622 + 800002c8: 32731063 bne t1,t2,800005e8 <fail> + 800002cc: 00d00193 li gp,13 + 800002d0: 00000397 auipc t2,0x0 + 800002d4: 03438393 addi t2,t2,52 # 80000304 <reset_vector+0x2b8> + 800002d8: 00440313 addi t1,s0,4 + 800002dc: 00443303 ld t1,4(s0) + 800002e0: 0111a3b7 lui t2,0x111a + 800002e4: a233839b addiw t2,t2,-1501 + 800002e8: 00c39393 slli t2,t2,0xc + 800002ec: ab338393 addi t2,t2,-1357 # 1119ab3 <_start-0x7eee654d> + 800002f0: 00d39393 slli t2,t2,0xd + 800002f4: 77938393 addi t2,t2,1913 + 800002f8: 00c39393 slli t2,t2,0xc + 800002fc: 89938393 addi t2,t2,-1895 + 80000300: 2e731463 bne t1,t2,800005e8 <fail> + 80000304: 00e00193 li gp,14 + 80000308: 00000397 auipc t2,0x0 + 8000030c: 03438393 addi t2,t2,52 # 8000033c <reset_vector+0x2f0> + 80000310: 00540313 addi t1,s0,5 + 80000314: 00543303 ld t1,5(s0) + 80000318: 004493b7 lui t2,0x449 + 8000031c: 8cd3839b addiw t2,t2,-1843 + 80000320: 00e39393 slli t2,t2,0xe + 80000324: 45538393 addi t2,t2,1109 # 449455 <_start-0x7fbb6bab> + 80000328: 00c39393 slli t2,t2,0xc + 8000032c: 66738393 addi t2,t2,1639 + 80000330: 00c39393 slli t2,t2,0xc + 80000334: 78838393 addi t2,t2,1928 + 80000338: 2a731863 bne t1,t2,800005e8 <fail> + 8000033c: 00f00193 li gp,15 + 80000340: 00000397 auipc t2,0x0 + 80000344: 03438393 addi t2,t2,52 # 80000374 <reset_vector+0x328> + 80000348: 00640313 addi t1,s0,6 + 8000034c: 00643303 ld t1,6(s0) + 80000350: ffb843b7 lui t2,0xffb84 + 80000354: 4893839b addiw t2,t2,1161 + 80000358: 00c39393 slli t2,t2,0xc + 8000035c: cd138393 addi t2,t2,-815 # ffffffffffb83cd1 <_end+0xffffffff7fb81bc1> + 80000360: 00d39393 slli t2,t2,0xd + 80000364: 2ab38393 addi t2,t2,683 + 80000368: 00d39393 slli t2,t2,0xd + 8000036c: 67738393 addi t2,t2,1655 + 80000370: 26731c63 bne t1,t2,800005e8 <fail> + 80000374: 01000193 li gp,16 + 80000378: 00000397 auipc t2,0x0 + 8000037c: 02c38393 addi t2,t2,44 # 800003a4 <reset_vector+0x358> + 80000380: 00740313 addi t1,s0,7 + 80000384: 00743303 ld t1,7(s0) + 80000388: ee1123b7 lui t2,0xee112 + 8000038c: 2333839b addiw t2,t2,563 + 80000390: 00c39393 slli t2,t2,0xc + 80000394: 44538393 addi t2,t2,1093 # ffffffffee112445 <_end+0xffffffff6e110335> + 80000398: 00c39393 slli t2,t2,0xc + 8000039c: 56638393 addi t2,t2,1382 + 800003a0: 24731463 bne t1,t2,800005e8 <fail> + 800003a4: 00600493 li s1,6 + 800003a8: 01600193 li gp,22 + 800003ac: 00000397 auipc t2,0x0 + 800003b0: 03038393 addi t2,t2,48 # 800003dc <reset_vector+0x390> + 800003b4: 00140313 addi t1,s0,1 + 800003b8: 000410a3 sh zero,1(s0) + 800003bc: 00040303 lb t1,0(s0) + 800003c0: 22030463 beqz t1,800005e8 <fail> + 800003c4: 00340303 lb t1,3(s0) + 800003c8: 22030063 beqz t1,800005e8 <fail> + 800003cc: 00140303 lb t1,1(s0) + 800003d0: 20031c63 bnez t1,800005e8 <fail> + 800003d4: 00240303 lb t1,2(s0) + 800003d8: 20031863 bnez t1,800005e8 <fail> + 800003dc: 01700193 li gp,23 + 800003e0: 00000397 auipc t2,0x0 + 800003e4: 03038393 addi t2,t2,48 # 80000410 <reset_vector+0x3c4> + 800003e8: 00540313 addi t1,s0,5 + 800003ec: 000422a3 sw zero,5(s0) + 800003f0: 00440303 lb t1,4(s0) + 800003f4: 1e030a63 beqz t1,800005e8 <fail> + 800003f8: 00940303 lb t1,9(s0) + 800003fc: 1e030663 beqz t1,800005e8 <fail> + 80000400: 00540303 lb t1,5(s0) + 80000404: 1e031263 bnez t1,800005e8 <fail> + 80000408: 00840303 lb t1,8(s0) + 8000040c: 1c031e63 bnez t1,800005e8 <fail> + 80000410: 01800193 li gp,24 + 80000414: 00000397 auipc t2,0x0 + 80000418: 03038393 addi t2,t2,48 # 80000444 <reset_vector+0x3f8> + 8000041c: 00a40313 addi t1,s0,10 + 80000420: 00042523 sw zero,10(s0) + 80000424: 00940303 lb t1,9(s0) + 80000428: 1c030063 beqz t1,800005e8 <fail> + 8000042c: 00e40303 lb t1,14(s0) + 80000430: 1a030c63 beqz t1,800005e8 <fail> + 80000434: 00a40303 lb t1,10(s0) + 80000438: 1a031863 bnez t1,800005e8 <fail> + 8000043c: 00d40303 lb t1,13(s0) + 80000440: 1a031463 bnez t1,800005e8 <fail> + 80000444: 01900193 li gp,25 + 80000448: 00000397 auipc t2,0x0 + 8000044c: 03038393 addi t2,t2,48 # 80000478 <reset_vector+0x42c> + 80000450: 00f40313 addi t1,s0,15 + 80000454: 000427a3 sw zero,15(s0) + 80000458: 00e40303 lb t1,14(s0) + 8000045c: 18030663 beqz t1,800005e8 <fail> + 80000460: 01340303 lb t1,19(s0) + 80000464: 18030263 beqz t1,800005e8 <fail> + 80000468: 00f40303 lb t1,15(s0) + 8000046c: 16031e63 bnez t1,800005e8 <fail> + 80000470: 01240303 lb t1,18(s0) + 80000474: 16031a63 bnez t1,800005e8 <fail> + 80000478: 01a00193 li gp,26 + 8000047c: 00000397 auipc t2,0x0 + 80000480: 03038393 addi t2,t2,48 # 800004ac <reset_vector+0x460> + 80000484: 01940313 addi t1,s0,25 + 80000488: 00043ca3 sd zero,25(s0) + 8000048c: 01840303 lb t1,24(s0) + 80000490: 14030c63 beqz t1,800005e8 <fail> + 80000494: 02140303 lb t1,33(s0) + 80000498: 14030863 beqz t1,800005e8 <fail> + 8000049c: 01940303 lb t1,25(s0) + 800004a0: 14031463 bnez t1,800005e8 <fail> + 800004a4: 02040303 lb t1,32(s0) + 800004a8: 14031063 bnez t1,800005e8 <fail> + 800004ac: 01b00193 li gp,27 + 800004b0: 00000397 auipc t2,0x0 + 800004b4: 03038393 addi t2,t2,48 # 800004e0 <reset_vector+0x494> + 800004b8: 02240313 addi t1,s0,34 + 800004bc: 02043123 sd zero,34(s0) + 800004c0: 02140303 lb t1,33(s0) + 800004c4: 12030263 beqz t1,800005e8 <fail> + 800004c8: 02a40303 lb t1,42(s0) + 800004cc: 10030e63 beqz t1,800005e8 <fail> + 800004d0: 02240303 lb t1,34(s0) + 800004d4: 10031a63 bnez t1,800005e8 <fail> + 800004d8: 02940303 lb t1,41(s0) + 800004dc: 10031663 bnez t1,800005e8 <fail> + 800004e0: 01c00193 li gp,28 + 800004e4: 00000397 auipc t2,0x0 + 800004e8: 03038393 addi t2,t2,48 # 80000514 <reset_vector+0x4c8> + 800004ec: 02b40313 addi t1,s0,43 + 800004f0: 020435a3 sd zero,43(s0) + 800004f4: 02a40303 lb t1,42(s0) + 800004f8: 0e030863 beqz t1,800005e8 <fail> + 800004fc: 03340303 lb t1,51(s0) + 80000500: 0e030463 beqz t1,800005e8 <fail> + 80000504: 02b40303 lb t1,43(s0) + 80000508: 0e031063 bnez t1,800005e8 <fail> + 8000050c: 03240303 lb t1,50(s0) + 80000510: 0c031c63 bnez t1,800005e8 <fail> + 80000514: 01d00193 li gp,29 + 80000518: 00000397 auipc t2,0x0 + 8000051c: 03038393 addi t2,t2,48 # 80000548 <reset_vector+0x4fc> + 80000520: 03440313 addi t1,s0,52 + 80000524: 02043a23 sd zero,52(s0) + 80000528: 03340303 lb t1,51(s0) + 8000052c: 0a030e63 beqz t1,800005e8 <fail> + 80000530: 03c40303 lb t1,60(s0) + 80000534: 0a030a63 beqz t1,800005e8 <fail> + 80000538: 03440303 lb t1,52(s0) + 8000053c: 0a031663 bnez t1,800005e8 <fail> + 80000540: 03b40303 lb t1,59(s0) + 80000544: 0a031263 bnez t1,800005e8 <fail> + 80000548: 01e00193 li gp,30 + 8000054c: 00000397 auipc t2,0x0 + 80000550: 03038393 addi t2,t2,48 # 8000057c <reset_vector+0x530> + 80000554: 03d40313 addi t1,s0,61 + 80000558: 02043ea3 sd zero,61(s0) + 8000055c: 03c40303 lb t1,60(s0) + 80000560: 08030463 beqz t1,800005e8 <fail> + 80000564: 04540303 lb t1,69(s0) + 80000568: 08030063 beqz t1,800005e8 <fail> + 8000056c: 03d40303 lb t1,61(s0) + 80000570: 06031c63 bnez t1,800005e8 <fail> + 80000574: 04440303 lb t1,68(s0) + 80000578: 06031863 bnez t1,800005e8 <fail> + 8000057c: 01f00193 li gp,31 + 80000580: 00000397 auipc t2,0x0 + 80000584: 03038393 addi t2,t2,48 # 800005b0 <reset_vector+0x564> + 80000588: 04640313 addi t1,s0,70 + 8000058c: 04043323 sd zero,70(s0) + 80000590: 04540303 lb t1,69(s0) + 80000594: 04030a63 beqz t1,800005e8 <fail> + 80000598: 04e40303 lb t1,78(s0) + 8000059c: 04030663 beqz t1,800005e8 <fail> + 800005a0: 04640303 lb t1,70(s0) + 800005a4: 04031263 bnez t1,800005e8 <fail> + 800005a8: 04d40303 lb t1,77(s0) + 800005ac: 02031e63 bnez t1,800005e8 <fail> + 800005b0: 02000193 li gp,32 + 800005b4: 00000397 auipc t2,0x0 + 800005b8: 03038393 addi t2,t2,48 # 800005e4 <reset_vector+0x598> + 800005bc: 04f40313 addi t1,s0,79 + 800005c0: 040437a3 sd zero,79(s0) + 800005c4: 04e40303 lb t1,78(s0) + 800005c8: 02030063 beqz t1,800005e8 <fail> + 800005cc: 05740303 lb t1,87(s0) + 800005d0: 00030c63 beqz t1,800005e8 <fail> + 800005d4: 04f40303 lb t1,79(s0) + 800005d8: 00031863 bnez t1,800005e8 <fail> + 800005dc: 05640303 lb t1,86(s0) + 800005e0: 00031463 bnez t1,800005e8 <fail> + 800005e4: 00301c63 bne zero,gp,800005fc <pass> + +00000000800005e8 <fail>: + 800005e8: 0ff0000f fence + 800005ec: 00018063 beqz gp,800005ec <fail+0x4> + 800005f0: 00119193 slli gp,gp,0x1 + 800005f4: 0011e193 ori gp,gp,1 + 800005f8: 00000073 ecall + +00000000800005fc <pass>: + 800005fc: 0ff0000f fence + 80000600: 00100193 li gp,1 + 80000604: 00000073 ecall + +0000000080000608 <mtvec_handler>: + 80000608: 342022f3 csrr t0,mcause + 8000060c: fc929ee3 bne t0,s1,800005e8 <fail> + 80000610: 343022f3 csrr t0,mbadaddr + 80000614: fc629ae3 bne t0,t1,800005e8 <fail> + 80000618: 00028283 lb t0,0(t0) + 8000061c: fc0286e3 beqz t0,800005e8 <fail> + 80000620: 34139073 csrw mepc,t2 + 80000624: 30200073 mret + 80000628: c0001073 unimp + 8000062c: 0000 unimp + 8000062e: 0000 unimp + 80000630: 0000 unimp + 80000632: 0000 unimp + 80000634: 0000 unimp + 80000636: 0000 unimp + 80000638: 0000 unimp + 8000063a: 0000 unimp + 8000063c: 0000 unimp + 8000063e: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: ccdd beqz s1,800020be <begin_signature+0xbe> + 80002002: 8899aabb 0x8899aabb + 80002006: 44556677 0x44556677 + 8000200a: ee112233 0xee112233 + 8000200e: eeff 0xeeff + 80002010: 5050 lw a2,36(s0) + 80002012: 5050 lw a2,36(s0) + 80002014: 5050 lw a2,36(s0) + 80002016: 5050 lw a2,36(s0) + 80002018: 5050 lw a2,36(s0) + 8000201a: 5050 lw a2,36(s0) + 8000201c: 5050 lw a2,36(s0) + 8000201e: 5050 lw a2,36(s0) + 80002020: 5050 lw a2,36(s0) + 80002022: 5050 lw a2,36(s0) + 80002024: 5050 lw a2,36(s0) + 80002026: 5050 lw a2,36(s0) + 80002028: 5050 lw a2,36(s0) + 8000202a: 5050 lw a2,36(s0) + 8000202c: 5050 lw a2,36(s0) + 8000202e: 5050 lw a2,36(s0) + 80002030: 5050 lw a2,36(s0) + 80002032: 5050 lw a2,36(s0) + 80002034: 5050 lw a2,36(s0) + 80002036: 5050 lw a2,36(s0) + 80002038: 5050 lw a2,36(s0) + 8000203a: 5050 lw a2,36(s0) + 8000203c: 5050 lw a2,36(s0) + 8000203e: 5050 lw a2,36(s0) + 80002040: 5050 lw a2,36(s0) + 80002042: 5050 lw a2,36(s0) + 80002044: 5050 lw a2,36(s0) + 80002046: 5050 lw a2,36(s0) + 80002048: 5050 lw a2,36(s0) + 8000204a: 5050 lw a2,36(s0) + 8000204c: 5050 lw a2,36(s0) + 8000204e: 5050 lw a2,36(s0) + 80002050: 5050 lw a2,36(s0) + 80002052: 5050 lw a2,36(s0) + 80002054: 5050 lw a2,36(s0) + 80002056: 5050 lw a2,36(s0) + 80002058: 5050 lw a2,36(s0) + 8000205a: 5050 lw a2,36(s0) + 8000205c: 5050 lw a2,36(s0) + 8000205e: 5050 lw a2,36(s0) + 80002060: 5050 lw a2,36(s0) + 80002062: 5050 lw a2,36(s0) + 80002064: 5050 lw a2,36(s0) + 80002066: 5050 lw a2,36(s0) + 80002068: 5050 lw a2,36(s0) + 8000206a: 5050 lw a2,36(s0) + 8000206c: 5050 lw a2,36(s0) + 8000206e: 5050 lw a2,36(s0) + 80002070: 5050 lw a2,36(s0) + 80002072: 5050 lw a2,36(s0) + 80002074: 5050 lw a2,36(s0) + 80002076: 5050 lw a2,36(s0) + 80002078: 5050 lw a2,36(s0) + 8000207a: 5050 lw a2,36(s0) + 8000207c: 5050 lw a2,36(s0) + 8000207e: 5050 lw a2,36(s0) + 80002080: 5050 lw a2,36(s0) + 80002082: 5050 lw a2,36(s0) + 80002084: 5050 lw a2,36(s0) + 80002086: 5050 lw a2,36(s0) + 80002088: 5050 lw a2,36(s0) + 8000208a: 5050 lw a2,36(s0) + 8000208c: 5050 lw a2,36(s0) + 8000208e: 5050 lw a2,36(s0) + 80002090: 5050 lw a2,36(s0) + 80002092: 5050 lw a2,36(s0) + 80002094: 5050 lw a2,36(s0) + 80002096: 5050 lw a2,36(s0) + 80002098: 5050 lw a2,36(s0) + 8000209a: 5050 lw a2,36(s0) + 8000209c: 5050 lw a2,36(s0) + 8000209e: 5050 lw a2,36(s0) + 800020a0: 5050 lw a2,36(s0) + 800020a2: 5050 lw a2,36(s0) + 800020a4: 5050 lw a2,36(s0) + 800020a6: 5050 lw a2,36(s0) + 800020a8: 5050 lw a2,36(s0) + 800020aa: 5050 lw a2,36(s0) + 800020ac: 5050 lw a2,36(s0) + 800020ae: 5050 lw a2,36(s0) + 800020b0: 5050 lw a2,36(s0) + 800020b2: 5050 lw a2,36(s0) + 800020b4: 5050 lw a2,36(s0) + 800020b6: 5050 lw a2,36(s0) + 800020b8: 5050 lw a2,36(s0) + 800020ba: 5050 lw a2,36(s0) + 800020bc: 5050 lw a2,36(s0) + 800020be: 5050 lw a2,36(s0) + 800020c0: 5050 lw a2,36(s0) + 800020c2: 5050 lw a2,36(s0) + 800020c4: 5050 lw a2,36(s0) + 800020c6: 5050 lw a2,36(s0) + 800020c8: 5050 lw a2,36(s0) + 800020ca: 5050 lw a2,36(s0) + 800020cc: 5050 lw a2,36(s0) + 800020ce: 5050 lw a2,36(s0) + 800020d0: 5050 lw a2,36(s0) + 800020d2: 5050 lw a2,36(s0) + 800020d4: 5050 lw a2,36(s0) + 800020d6: 5050 lw a2,36(s0) + 800020d8: 5050 lw a2,36(s0) + 800020da: 5050 lw a2,36(s0) + 800020dc: 5050 lw a2,36(s0) + 800020de: 5050 lw a2,36(s0) + 800020e0: 5050 lw a2,36(s0) + 800020e2: 5050 lw a2,36(s0) + 800020e4: 5050 lw a2,36(s0) + 800020e6: 5050 lw a2,36(s0) + 800020e8: 5050 lw a2,36(s0) + 800020ea: 5050 lw a2,36(s0) + 800020ec: 5050 lw a2,36(s0) + 800020ee: 5050 lw a2,36(s0) + 800020f0: 5050 lw a2,36(s0) + 800020f2: 5050 lw a2,36(s0) + 800020f4: 5050 lw a2,36(s0) + 800020f6: 5050 lw a2,36(s0) + 800020f8: 5050 lw a2,36(s0) + 800020fa: 5050 lw a2,36(s0) + 800020fc: 5050 lw a2,36(s0) + 800020fe: 5050 lw a2,36(s0) + 80002100: 5050 lw a2,36(s0) + 80002102: 5050 lw a2,36(s0) + 80002104: 5050 lw a2,36(s0) + 80002106: 5050 lw a2,36(s0) + 80002108: 5050 lw a2,36(s0) + 8000210a: 5050 lw a2,36(s0) + 8000210c: 5050 lw a2,36(s0) + 8000210e: 0050 addi a2,sp,4 diff --git a/test/riscv/tests/rv64mi-p-ma_addr.elf b/test/riscv/tests/rv64mi-p-ma_addr.elf Binary files differnew file mode 100644 index 00000000..fc326628 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-ma_addr.elf diff --git a/test/riscv/tests/rv64mi-p-ma_fetch.dump b/test/riscv/tests/rv64mi-p-ma_fetch.dump new file mode 100644 index 00000000..6a5285a6 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-ma_fetch.dump @@ -0,0 +1,219 @@ + +rv64mi-p-ma_fetch: 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: 00000f17 auipc t5,0x0 + 80000024: 208f0f13 addi t5,t5,520 # 80000228 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00200193 li gp,2 + 8000010c: 00000313 li t1,0 + 80000110: 00000297 auipc t0,0x0 + 80000114: 00c28293 addi t0,t0,12 # 8000011c <reset_vector+0xd0> + 80000118: 00228367 jalr t1,2(t0) + 8000011c: a011 j 80000120 <reset_vector+0xd4> + 8000011e: a019 j 80000124 <reset_vector+0xd8> + 80000120: 0e80006f j 80000208 <fail> + 80000124: 00300193 li gp,3 + 80000128: 00000297 auipc t0,0x0 + 8000012c: 00c28293 addi t0,t0,12 # 80000134 <reset_vector+0xe8> + 80000130: 00128367 jalr t1,1(t0) + 80000134: 0080006f j 8000013c <reset_vector+0xf0> + 80000138: 0d00006f j 80000208 <fail> + 8000013c: 00400193 li gp,4 + 80000140: 00000313 li t1,0 + 80000144: 00000297 auipc t0,0x0 + 80000148: 00c28293 addi t0,t0,12 # 80000150 <reset_vector+0x104> + 8000014c: 00328367 jalr t1,3(t0) + 80000150: a011 j 80000154 <reset_vector+0x108> + 80000152: a019 j 80000158 <reset_vector+0x10c> + 80000154: 0b40006f j 80000208 <fail> + 80000158: 00500193 li gp,5 + 8000015c: 00000313 li t1,0 + 80000160: 00000297 auipc t0,0x0 + 80000164: 00c28293 addi t0,t0,12 # 8000016c <reset_vector+0x120> + 80000168: 0060036f jal t1,8000016e <reset_vector+0x122> + 8000016c: a011 j 80000170 <reset_vector+0x124> + 8000016e: a019 j 80000174 <reset_vector+0x128> + 80000170: 0980006f j 80000208 <fail> + 80000174: 00600193 li gp,6 + 80000178: 00000313 li t1,0 + 8000017c: 00000297 auipc t0,0x0 + 80000180: 00c28293 addi t0,t0,12 # 80000188 <reset_vector+0x13c> + 80000184: 00000363 beqz zero,8000018a <reset_vector+0x13e> + 80000188: a011 j 8000018c <reset_vector+0x140> + 8000018a: a019 j 80000190 <reset_vector+0x144> + 8000018c: 07c0006f j 80000208 <fail> + 80000190: 00700193 li gp,7 + 80000194: 00001563 bnez zero,8000019e <reset_vector+0x152> + 80000198: 00c0006f j 800001a4 <reset_vector+0x158> + 8000019c: a009 j 8000019e <reset_vector+0x152> + 8000019e: a009 j 800001a0 <reset_vector+0x154> + 800001a0: 0680006f j 80000208 <fail> + 800001a4: 00800193 li gp,8 + 800001a8: 301023f3 csrr t2,misa + 800001ac: 0043f393 andi t2,t2,4 + 800001b0: 04038863 beqz t2,80000200 <reset_vector+0x1b4> + 800001b4: 0001 nop + 800001b6: 30127073 csrci misa,4 + 800001ba: 0001 nop + 800001bc: 301023f3 csrr t2,misa + 800001c0: 0043f393 andi t2,t2,4 + 800001c4: 04038263 beqz t2,80000208 <fail> + 800001c8: 00000297 auipc t0,0x0 + 800001cc: 03428293 addi t0,t0,52 # 800001fc <reset_vector+0x1b0> + 800001d0: ffe28293 addi t0,t0,-2 + 800001d4: 34129073 csrw mepc,t0 + 800001d8: 30127073 csrci misa,4 + 800001dc: 301023f3 csrr t2,misa + 800001e0: 0043f393 andi t2,t2,4 + 800001e4: 00039e63 bnez t2,80000200 <reset_vector+0x1b4> + 800001e8: 000023b7 lui t2,0x2 + 800001ec: 8003839b addiw t2,t2,-2048 + 800001f0: 3003a073 csrs mstatus,t2 + 800001f4: 30200073 mret + 800001f8: 00000263 beqz zero,800001fc <reset_vector+0x1b0> + 800001fc: 30126073 csrsi misa,4 + 80000200: 01c0006f j 8000021c <pass> + 80000204: 00301c63 bne zero,gp,8000021c <pass> + +0000000080000208 <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 + +000000008000021c <pass>: + 8000021c: 0ff0000f fence + 80000220: 00100193 li gp,1 + 80000224: 00000073 ecall + +0000000080000228 <mtvec_handler>: + 80000228: 00200513 li a0,2 + 8000022c: 02a18063 beq gp,a0,8000024c <mtvec_handler+0x24> + 80000230: 00400513 li a0,4 + 80000234: 00a18c63 beq gp,a0,8000024c <mtvec_handler+0x24> + 80000238: 00500513 li a0,5 + 8000023c: 00a18863 beq gp,a0,8000024c <mtvec_handler+0x24> + 80000240: 00600513 li a0,6 + 80000244: 00a18463 beq gp,a0,8000024c <mtvec_handler+0x24> + 80000248: fc1ff06f j 80000208 <fail> + 8000024c: fa031ee3 bnez t1,80000208 <fail> + 80000250: 00000593 li a1,0 + 80000254: 34202573 csrr a0,mcause + 80000258: fab518e3 bne a0,a1,80000208 <fail> + 8000025c: 341025f3 csrr a1,mepc + 80000260: 00458593 addi a1,a1,4 + 80000264: fab292e3 bne t0,a1,80000208 <fail> + 80000268: 34302573 csrr a0,mbadaddr + 8000026c: 00050663 beqz a0,80000278 <mtvec_handler+0x50> + 80000270: ffe50513 addi a0,a0,-2 # 1ffe <_start-0x7fffe002> + 80000274: f8551ae3 bne a0,t0,80000208 <fail> + 80000278: 00c58593 addi a1,a1,12 + 8000027c: 34159073 csrw mepc,a1 + 80000280: 30200073 mret + 80000284: c0001073 unimp + 80000288: 0000 unimp + 8000028a: 0000 unimp + 8000028c: 0000 unimp + 8000028e: 0000 unimp + 80000290: 0000 unimp + 80000292: 0000 unimp + 80000294: 0000 unimp + 80000296: 0000 unimp + 80000298: 0000 unimp + 8000029a: 0000 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 diff --git a/test/riscv/tests/rv64mi-p-ma_fetch.elf b/test/riscv/tests/rv64mi-p-ma_fetch.elf Binary files differnew file mode 100644 index 00000000..40ffdf38 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-ma_fetch.elf diff --git a/test/riscv/tests/rv64mi-p-mcsr.dump b/test/riscv/tests/rv64mi-p-mcsr.dump new file mode 100644 index 00000000..befb1931 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-mcsr.dump @@ -0,0 +1,126 @@ + +rv64mi-p-mcsr: 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 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: 30102573 csrr a0,misa + 8000010c: 03e55513 srli a0,a0,0x3e + 80000110: 00200e93 li t4,2 + 80000114: 00200193 li gp,2 + 80000118: 03d51863 bne a0,t4,80000148 <fail> + +000000008000011c <test_3>: + 8000011c: f1402573 csrr a0,mhartid + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 03d51063 bne a0,t4,80000148 <fail> + 8000012c: f1302573 csrr a0,mimpid + 80000130: f1202573 csrr a0,marchid + 80000134: f1102573 csrr a0,mvendorid + 80000138: 00000293 li t0,0 + 8000013c: 3052a073 csrs mtvec,t0 + 80000140: 3412a073 csrs mepc,t0 + 80000144: 00301c63 bne zero,gp,8000015c <pass> + +0000000080000148 <fail>: + 80000148: 0ff0000f fence + 8000014c: 00018063 beqz gp,8000014c <fail+0x4> + 80000150: 00119193 slli gp,gp,0x1 + 80000154: 0011e193 ori gp,gp,1 + 80000158: 00000073 ecall + +000000008000015c <pass>: + 8000015c: 0ff0000f fence + 80000160: 00100193 li gp,1 + 80000164: 00000073 ecall + 80000168: c0001073 unimp + 8000016c: 0000 unimp + 8000016e: 0000 unimp + 80000170: 0000 unimp + 80000172: 0000 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-mcsr.elf b/test/riscv/tests/rv64mi-p-mcsr.elf Binary files differnew file mode 100644 index 00000000..4ce3d35f --- /dev/null +++ b/test/riscv/tests/rv64mi-p-mcsr.elf diff --git a/test/riscv/tests/rv64mi-p-scall.dump b/test/riscv/tests/rv64mi-p-scall.dump new file mode 100644 index 00000000..940db038 --- /dev/null +++ b/test/riscv/tests/rv64mi-p-scall.dump @@ -0,0 +1,147 @@ + +rv64mi-p-scall: 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: 00000f17 auipc t5,0x0 + 80000024: 158f0f13 addi t5,t5,344 # 80000178 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: 00200193 li gp,2 + 8000010c: 00800313 li t1,8 + 80000110: 000022b7 lui t0,0x2 + 80000114: 8002829b addiw t0,t0,-2048 + 80000118: 3002b073 csrc mstatus,t0 + 8000011c: 30002373 csrr t1,mstatus + 80000120: 0062f2b3 and t0,t0,t1 + 80000124: 00028463 beqz t0,8000012c <reset_vector+0xe0> + 80000128: 00b00313 li t1,11 + 8000012c: 000022b7 lui t0,0x2 + 80000130: 8002829b addiw t0,t0,-2048 + 80000134: 3002b073 csrc mstatus,t0 + 80000138: 00000297 auipc t0,0x0 + 8000013c: 01028293 addi t0,t0,16 # 80000148 <reset_vector+0xfc> + 80000140: 34129073 csrw mepc,t0 + 80000144: 30200073 mret + 80000148: 00100193 li gp,1 + +000000008000014c <do_scall>: + 8000014c: 00000073 ecall + 80000150: 0080006f j 80000158 <fail> + 80000154: 00301c63 bne zero,gp,8000016c <pass> + +0000000080000158 <fail>: + 80000158: 0ff0000f fence + 8000015c: 00018063 beqz gp,8000015c <fail+0x4> + 80000160: 00119193 slli gp,gp,0x1 + 80000164: 0011e193 ori gp,gp,1 + 80000168: 00000073 ecall + +000000008000016c <pass>: + 8000016c: 0ff0000f fence + 80000170: 00100193 li gp,1 + 80000174: 00000073 ecall + +0000000080000178 <mtvec_handler>: + 80000178: 342022f3 csrr t0,mcause + 8000017c: fc629ee3 bne t0,t1,80000158 <fail> + 80000180: 00000397 auipc t2,0x0 + 80000184: fcc38393 addi t2,t2,-52 # 8000014c <do_scall> + 80000188: 341022f3 csrr t0,mepc + 8000018c: fc7296e3 bne t0,t2,80000158 <fail> + 80000190: fddff06f j 8000016c <pass> + 80000194: c0001073 unimp + 80000198: 0000 unimp + 8000019a: 0000 unimp + 8000019c: 0000 unimp + 8000019e: 0000 unimp + 800001a0: 0000 unimp + 800001a2: 0000 unimp + 800001a4: 0000 unimp + 800001a6: 0000 unimp + 800001a8: 0000 unimp + 800001aa: 0000 unimp + 800001ac: 0000 unimp + 800001ae: 0000 unimp + 800001b0: 0000 unimp + 800001b2: 0000 unimp + 800001b4: 0000 unimp + 800001b6: 0000 unimp + 800001b8: 0000 unimp + 800001ba: 0000 unimp + 800001bc: 0000 unimp + 800001be: 0000 unimp + 800001c0: 0000 unimp + 800001c2: 0000 unimp diff --git a/test/riscv/tests/rv64mi-p-scall.elf b/test/riscv/tests/rv64mi-p-scall.elf Binary files differnew file mode 100644 index 00000000..bbb1526b --- /dev/null +++ b/test/riscv/tests/rv64mi-p-scall.elf diff --git a/test/riscv/tests/rv64si-p-csr.dump b/test/riscv/tests/rv64si-p-csr.dump new file mode 100644 index 00000000..e4e92ac7 --- /dev/null +++ b/test/riscv/tests/rv64si-p-csr.dump @@ -0,0 +1,222 @@ + +rv64si-p-csr: 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: 00000297 auipc t0,0x0 + 800000c4: 16c28293 addi t0,t0,364 # 8000022c <stvec_handler> + 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: 00001537 lui a0,0x1 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 02200513 li a0,34 + 800000f8: 30352073 csrs mideleg,a0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 01428293 addi t0,t0,20 # 80000110 <test_13> + 80000104: 34129073 csrw mepc,t0 + 80000108: f1402573 csrr a0,mhartid + 8000010c: 30200073 mret + +0000000080000110 <test_13>: + 80000110: 10002573 csrr a0,sstatus + 80000114: 0030059b addiw a1,zero,3 + 80000118: 02059593 slli a1,a1,0x20 + 8000011c: 00b57533 and a0,a0,a1 + 80000120: 00100e9b addiw t4,zero,1 + 80000124: 021e9e93 slli t4,t4,0x21 + 80000128: 00d00193 li gp,13 + 8000012c: 0fd51063 bne a0,t4,8000020c <fail> + 80000130: 1401d073 csrwi sscratch,3 + +0000000080000134 <test_2>: + 80000134: 14002573 csrr a0,sscratch + 80000138: 00300e93 li t4,3 + 8000013c: 00200193 li gp,2 + 80000140: 0dd51663 bne a0,t4,8000020c <fail> + +0000000080000144 <test_3>: + 80000144: 1400f5f3 csrrci a1,sscratch,1 + 80000148: 00300e93 li t4,3 + 8000014c: 00300193 li gp,3 + 80000150: 0bd59e63 bne a1,t4,8000020c <fail> + +0000000080000154 <test_4>: + 80000154: 14026673 csrrsi a2,sscratch,4 + 80000158: 00200e93 li t4,2 + 8000015c: 00400193 li gp,4 + 80000160: 0bd61663 bne a2,t4,8000020c <fail> + +0000000080000164 <test_5>: + 80000164: 140156f3 csrrwi a3,sscratch,2 + 80000168: 00600e93 li t4,6 + 8000016c: 00500193 li gp,5 + 80000170: 09d69e63 bne a3,t4,8000020c <fail> + +0000000080000174 <test_6>: + 80000174: 0bad2537 lui a0,0xbad2 + 80000178: dea5051b addiw a0,a0,-534 + 8000017c: 140515f3 csrrw a1,sscratch,a0 + 80000180: 00200e93 li t4,2 + 80000184: 00600193 li gp,6 + 80000188: 09d59263 bne a1,t4,8000020c <fail> + +000000008000018c <test_7>: + 8000018c: 00002537 lui a0,0x2 + 80000190: dea5051b addiw a0,a0,-534 + 80000194: 14053573 csrrc a0,sscratch,a0 + 80000198: 0bad2eb7 lui t4,0xbad2 + 8000019c: deae8e9b addiw t4,t4,-534 + 800001a0: 00700193 li gp,7 + 800001a4: 07d51463 bne a0,t4,8000020c <fail> + +00000000800001a8 <test_8>: + 800001a8: 0000c537 lui a0,0xc + 800001ac: eef5051b addiw a0,a0,-273 + 800001b0: 14052573 csrrs a0,sscratch,a0 + 800001b4: 0bad0eb7 lui t4,0xbad0 + 800001b8: 00800193 li gp,8 + 800001bc: 05d51863 bne a0,t4,8000020c <fail> + +00000000800001c0 <test_9>: + 800001c0: 14002573 csrr a0,sscratch + 800001c4: 0badceb7 lui t4,0xbadc + 800001c8: eefe8e9b addiw t4,t4,-273 + 800001cc: 00900193 li gp,9 + 800001d0: 03d51e63 bne a0,t4,8000020c <fail> + 800001d4: 10000293 li t0,256 + 800001d8: 1002b073 csrc sstatus,t0 + 800001dc: 00000297 auipc t0,0x0 + 800001e0: 01028293 addi t0,t0,16 # 800001ec <test_12> + 800001e4: 14129073 csrw sepc,t0 + 800001e8: 10200073 sret + +00000000800001ec <test_12>: + 800001ec: 00000013 nop + 800001f0: 00000e93 li t4,0 + 800001f4: 00c00193 li gp,12 + 800001f8: 01d01a63 bne zero,t4,8000020c <fail> + +00000000800001fc <finish>: + 800001fc: 0ff0000f fence + 80000200: 00100193 li gp,1 + 80000204: 00000073 ecall + 80000208: 00301c63 bne zero,gp,80000220 <pass> + +000000008000020c <fail>: + 8000020c: 0ff0000f fence + 80000210: 00018063 beqz gp,80000210 <fail+0x4> + 80000214: 00119193 slli gp,gp,0x1 + 80000218: 0011e193 ori gp,gp,1 + 8000021c: 00000073 ecall + +0000000080000220 <pass>: + 80000220: 0ff0000f fence + 80000224: 00100193 li gp,1 + 80000228: 00000073 ecall + +000000008000022c <stvec_handler>: + 8000022c: 00900293 li t0,9 + 80000230: 0051e663 bltu gp,t0,8000023c <stvec_handler+0x10> + 80000234: 00b00293 li t0,11 + 80000238: 0032fe63 bleu gp,t0,80000254 <privileged> + 8000023c: 142022f3 csrr t0,scause + 80000240: 00800313 li t1,8 + 80000244: fc6294e3 bne t0,t1,8000020c <fail> + 80000248: 0ff0000f fence + 8000024c: 00100193 li gp,1 + 80000250: 00000073 ecall + +0000000080000254 <privileged>: + 80000254: 142022f3 csrr t0,scause + 80000258: 00200313 li t1,2 + 8000025c: fa6298e3 bne t0,t1,8000020c <fail> + 80000260: 141022f3 csrr t0,sepc + 80000264: 00428293 addi t0,t0,4 + 80000268: 14129073 csrw sepc,t0 + 8000026c: 10200073 sret + 80000270: c0001073 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 <begin_signature>: + 80002000: 0001 nop + 80002002: 0000 unimp + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64si-p-csr.elf b/test/riscv/tests/rv64si-p-csr.elf Binary files differnew file mode 100644 index 00000000..3f0921cb --- /dev/null +++ b/test/riscv/tests/rv64si-p-csr.elf diff --git a/test/riscv/tests/rv64si-p-dirty.dump b/test/riscv/tests/rv64si-p-dirty.dump new file mode 100644 index 00000000..a92c70da --- /dev/null +++ b/test/riscv/tests/rv64si-p-dirty.dump @@ -0,0 +1,202 @@ + +rv64si-p-dirty: 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: 00000f17 auipc t5,0x0 + 80000024: 1d0f0f13 addi t5,t5,464 # 800001f0 <mtvec_handler> + 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: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <reset_vector+0xbc> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + 80000108: fff0051b addiw a0,zero,-1 + 8000010c: 03f51513 slli a0,a0,0x3f + 80000110: 00002597 auipc a1,0x2 + 80000114: ef058593 addi a1,a1,-272 # 80002000 <begin_signature> + 80000118: 00c5d593 srli a1,a1,0xc + 8000011c: 00a5e5b3 or a1,a1,a0 + 80000120: 18059073 csrw satp,a1 + 80000124: 12000073 sfence.vma + 80000128: 000215b7 lui a1,0x21 + 8000012c: 8005859b addiw a1,a1,-2048 + 80000130: 3005a073 csrs mstatus,a1 + 80000134: 00200193 li gp,2 + 80000138: 00100393 li t2,1 + 8000013c: 80002517 auipc a0,0x80002 + 80000140: ec752623 sw t2,-308(a0) # 2008 <_start-0x7fffdff8> + 80000144: 00300193 li gp,3 + 80000148: 000415b7 lui a1,0x41 + 8000014c: 8005859b addiw a1,a1,-2048 + 80000150: 3005a073 csrs mstatus,a1 + 80000154: 80002297 auipc t0,0x80002 + 80000158: eb42a283 lw t0,-332(t0) # 2008 <_start-0x7fffdff8> + 8000015c: 10029063 bnez t0,8000025c <die> + 80000160: 80002517 auipc a0,0x80002 + 80000164: ea752423 sw t2,-344(a0) # 2008 <_start-0x7fffdff8> + 80000168: 80002297 auipc t0,0x80002 + 8000016c: ea02a283 lw t0,-352(t0) # 2008 <_start-0x7fffdff8> + 80000170: 0e729663 bne t0,t2,8000025c <die> + 80000174: 000202b7 lui t0,0x20 + 80000178: 3002b073 csrc mstatus,t0 + 8000017c: 00002297 auipc t0,0x2 + 80000180: e842a283 lw t0,-380(t0) # 80002000 <begin_signature> + 80000184: 0c000513 li a0,192 + 80000188: 00a2f2b3 and t0,t0,a0 + 8000018c: 0ca29863 bne t0,a0,8000025c <die> + 80000190: 000202b7 lui t0,0x20 + 80000194: 3002a073 csrs mstatus,t0 + 80000198: 00400193 li gp,4 + 8000019c: 80002517 auipc a0,0x80002 + 800001a0: e6452503 lw a0,-412(a0) # 2000 <_start-0x7fffe000> + 800001a4: 40056513 ori a0,a0,1024 + 800001a8: 80002297 auipc t0,0x80002 + 800001ac: e4a2ac23 sw a0,-424(t0) # 2000 <_start-0x7fffe000> + 800001b0: 12000073 sfence.vma + 800001b4: 80002297 auipc t0,0x80002 + 800001b8: e4a2a623 sw a0,-436(t0) # 2000 <_start-0x7fffe000> + 800001bc: 0a00006f j 8000025c <die> + 800001c0: 0ff0000f fence + 800001c4: 00100193 li gp,1 + 800001c8: 00000073 ecall + 800001cc: 00301c63 bne zero,gp,800001e4 <pass> + +00000000800001d0 <fail>: + 800001d0: 0ff0000f fence + 800001d4: 00018063 beqz gp,800001d4 <fail+0x4> + 800001d8: 00119193 slli gp,gp,0x1 + 800001dc: 0011e193 ori gp,gp,1 + 800001e0: 00000073 ecall + +00000000800001e4 <pass>: + 800001e4: 0ff0000f fence + 800001e8: 00100193 li gp,1 + 800001ec: 00000073 ecall + +00000000800001f0 <mtvec_handler>: + 800001f0: 342022f3 csrr t0,mcause + 800001f4: ff128293 addi t0,t0,-15 + 800001f8: 06029263 bnez t0,8000025c <die> + 800001fc: 00200313 li t1,2 + 80000200: 02619263 bne gp,t1,80000224 <skip+0x10> + 80000204: 00002297 auipc t0,0x2 + 80000208: dfc2a283 lw t0,-516(t0) # 80002000 <begin_signature> + 8000020c: 0802f313 andi t1,t0,128 + 80000210: 04031663 bnez t1,8000025c <die> + +0000000080000214 <skip>: + 80000214: 341022f3 csrr t0,mepc + 80000218: 00428293 addi t0,t0,4 + 8000021c: 34129073 csrw mepc,t0 + 80000220: 30200073 mret + 80000224: 00300313 li t1,3 + 80000228: 02619463 bne gp,t1,80000250 <skip+0x3c> + 8000022c: 00002297 auipc t0,0x2 + 80000230: dd42a283 lw t0,-556(t0) # 80002000 <begin_signature> + 80000234: 0802f313 andi t1,t0,128 + 80000238: 02031263 bnez t1,8000025c <die> + 8000023c: 0802e293 ori t0,t0,128 + 80000240: 00002317 auipc t1,0x2 + 80000244: dc532023 sw t0,-576(t1) # 80002000 <begin_signature> + 80000248: 12000073 sfence.vma + 8000024c: 30200073 mret + 80000250: 00400313 li t1,4 + 80000254: 00619463 bne gp,t1,8000025c <die> + 80000258: f8dff06f j 800001e4 <pass> + +000000008000025c <die>: + 8000025c: 0ff0000f fence + 80000260: 00018063 beqz gp,80000260 <die+0x4> + 80000264: 00119193 slli gp,gp,0x1 + 80000268: 0011e193 ori gp,gp,1 + 8000026c: 00000073 ecall + 80000270: c0001073 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 <begin_signature>: + 80002000: 005f 2000 0000 0x2000005f + 80002006: 0000 unimp + +0000000080002008 <dummy>: + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64si-p-dirty.elf b/test/riscv/tests/rv64si-p-dirty.elf Binary files differnew file mode 100644 index 00000000..7ff11e51 --- /dev/null +++ b/test/riscv/tests/rv64si-p-dirty.elf diff --git a/test/riscv/tests/rv64si-p-ma_fetch.dump b/test/riscv/tests/rv64si-p-ma_fetch.dump new file mode 100644 index 00000000..bd8178ba --- /dev/null +++ b/test/riscv/tests/rv64si-p-ma_fetch.dump @@ -0,0 +1,175 @@ + +rv64si-p-ma_fetch: 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: 00000297 auipc t0,0x0 + 800000c4: 11428293 addi t0,t0,276 # 800001d4 <stvec_handler> + 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: 00001537 lui a0,0x1 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 02200513 li a0,34 + 800000f8: 30352073 csrs mideleg,a0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 01428293 addi t0,t0,20 # 80000110 <reset_vector+0xc4> + 80000104: 34129073 csrw mepc,t0 + 80000108: f1402573 csrr a0,mhartid + 8000010c: 30200073 mret + 80000110: 00200193 li gp,2 + 80000114: 00000313 li t1,0 + 80000118: 00000297 auipc t0,0x0 + 8000011c: 00c28293 addi t0,t0,12 # 80000124 <reset_vector+0xd8> + 80000120: 00228367 jalr t1,2(t0) + 80000124: a011 j 80000128 <reset_vector+0xdc> + 80000126: a019 j 8000012c <reset_vector+0xe0> + 80000128: 08c0006f j 800001b4 <fail> + 8000012c: 00300193 li gp,3 + 80000130: 00000297 auipc t0,0x0 + 80000134: 00c28293 addi t0,t0,12 # 8000013c <reset_vector+0xf0> + 80000138: 00128367 jalr t1,1(t0) + 8000013c: 0080006f j 80000144 <reset_vector+0xf8> + 80000140: 0740006f j 800001b4 <fail> + 80000144: 00400193 li gp,4 + 80000148: 00000313 li t1,0 + 8000014c: 00000297 auipc t0,0x0 + 80000150: 00c28293 addi t0,t0,12 # 80000158 <reset_vector+0x10c> + 80000154: 00328367 jalr t1,3(t0) + 80000158: a011 j 8000015c <reset_vector+0x110> + 8000015a: a019 j 80000160 <reset_vector+0x114> + 8000015c: 0580006f j 800001b4 <fail> + 80000160: 00500193 li gp,5 + 80000164: 00000313 li t1,0 + 80000168: 00000297 auipc t0,0x0 + 8000016c: 00c28293 addi t0,t0,12 # 80000174 <reset_vector+0x128> + 80000170: 0060036f jal t1,80000176 <reset_vector+0x12a> + 80000174: a011 j 80000178 <reset_vector+0x12c> + 80000176: a019 j 8000017c <reset_vector+0x130> + 80000178: 03c0006f j 800001b4 <fail> + 8000017c: 00600193 li gp,6 + 80000180: 00000313 li t1,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 00c28293 addi t0,t0,12 # 80000190 <reset_vector+0x144> + 8000018c: 00000363 beqz zero,80000192 <reset_vector+0x146> + 80000190: a011 j 80000194 <reset_vector+0x148> + 80000192: a019 j 80000198 <reset_vector+0x14c> + 80000194: 0200006f j 800001b4 <fail> + 80000198: 00700193 li gp,7 + 8000019c: 00001563 bnez zero,800001a6 <reset_vector+0x15a> + 800001a0: 00c0006f j 800001ac <reset_vector+0x160> + 800001a4: a009 j 800001a6 <reset_vector+0x15a> + 800001a6: a009 j 800001a8 <reset_vector+0x15c> + 800001a8: 00c0006f j 800001b4 <fail> + 800001ac: 01c0006f j 800001c8 <pass> + 800001b0: 00301c63 bne zero,gp,800001c8 <pass> + +00000000800001b4 <fail>: + 800001b4: 0ff0000f fence + 800001b8: 00018063 beqz gp,800001b8 <fail+0x4> + 800001bc: 00119193 slli gp,gp,0x1 + 800001c0: 0011e193 ori gp,gp,1 + 800001c4: 00000073 ecall + +00000000800001c8 <pass>: + 800001c8: 0ff0000f fence + 800001cc: 00100193 li gp,1 + 800001d0: 00000073 ecall + +00000000800001d4 <stvec_handler>: + 800001d4: 00200513 li a0,2 + 800001d8: 02a18063 beq gp,a0,800001f8 <stvec_handler+0x24> + 800001dc: 00400513 li a0,4 + 800001e0: 00a18c63 beq gp,a0,800001f8 <stvec_handler+0x24> + 800001e4: 00500513 li a0,5 + 800001e8: 00a18863 beq gp,a0,800001f8 <stvec_handler+0x24> + 800001ec: 00600513 li a0,6 + 800001f0: 00a18463 beq gp,a0,800001f8 <stvec_handler+0x24> + 800001f4: fc1ff06f j 800001b4 <fail> + 800001f8: fa031ee3 bnez t1,800001b4 <fail> + 800001fc: 00000593 li a1,0 + 80000200: 14202573 csrr a0,scause + 80000204: fab518e3 bne a0,a1,800001b4 <fail> + 80000208: 141025f3 csrr a1,sepc + 8000020c: 00458593 addi a1,a1,4 + 80000210: fab292e3 bne t0,a1,800001b4 <fail> + 80000214: 14302573 csrr a0,sbadaddr + 80000218: 00050663 beqz a0,80000224 <stvec_handler+0x50> + 8000021c: ffe50513 addi a0,a0,-2 # ffe <_start-0x7ffff002> + 80000220: f8551ae3 bne a0,t0,800001b4 <fail> + 80000224: 00c58593 addi a1,a1,12 + 80000228: 14159073 csrw sepc,a1 + 8000022c: 10200073 sret + 80000230: c0001073 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/rv64si-p-ma_fetch.elf b/test/riscv/tests/rv64si-p-ma_fetch.elf Binary files differnew file mode 100644 index 00000000..23977add --- /dev/null +++ b/test/riscv/tests/rv64si-p-ma_fetch.elf diff --git a/test/riscv/tests/rv64si-p-scall.dump b/test/riscv/tests/rv64si-p-scall.dump new file mode 100644 index 00000000..99674507 --- /dev/null +++ b/test/riscv/tests/rv64si-p-scall.dump @@ -0,0 +1,121 @@ + +rv64si-p-scall: 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: 00000297 auipc t0,0x0 + 800000c4: 0a028293 addi t0,t0,160 # 80000160 <stvec_handler> + 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: 00001537 lui a0,0x1 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 02200513 li a0,34 + 800000f8: 30352073 csrs mideleg,a0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 01428293 addi t0,t0,20 # 80000110 <reset_vector+0xc4> + 80000104: 34129073 csrw mepc,t0 + 80000108: f1402573 csrr a0,mhartid + 8000010c: 30200073 mret + 80000110: 00200193 li gp,2 + 80000114: 00800313 li t1,8 + 80000118: 10000293 li t0,256 + 8000011c: 1002b073 csrc sstatus,t0 + 80000120: 00000297 auipc t0,0x0 + 80000124: 01028293 addi t0,t0,16 # 80000130 <reset_vector+0xe4> + 80000128: 14129073 csrw sepc,t0 + 8000012c: 10200073 sret + 80000130: 00100193 li gp,1 + +0000000080000134 <do_scall>: + 80000134: 00000073 ecall + 80000138: 0080006f j 80000140 <fail> + 8000013c: 00301c63 bne zero,gp,80000154 <pass> + +0000000080000140 <fail>: + 80000140: 0ff0000f fence + 80000144: 00018063 beqz gp,80000144 <fail+0x4> + 80000148: 00119193 slli gp,gp,0x1 + 8000014c: 0011e193 ori gp,gp,1 + 80000150: 00000073 ecall + +0000000080000154 <pass>: + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 00000073 ecall + +0000000080000160 <stvec_handler>: + 80000160: 142022f3 csrr t0,scause + 80000164: fc629ee3 bne t0,t1,80000140 <fail> + 80000168: 00000397 auipc t2,0x0 + 8000016c: fcc38393 addi t2,t2,-52 # 80000134 <do_scall> + 80000170: 141022f3 csrr t0,sepc + 80000174: fc7296e3 bne t0,t2,80000140 <fail> + 80000178: fddff06f j 80000154 <pass> + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64si-p-scall.elf b/test/riscv/tests/rv64si-p-scall.elf Binary files differnew file mode 100644 index 00000000..4d7dc278 --- /dev/null +++ b/test/riscv/tests/rv64si-p-scall.elf diff --git a/test/riscv/tests/rv64si-p-wfi.dump b/test/riscv/tests/rv64si-p-wfi.dump new file mode 100644 index 00000000..2cd7bf86 --- /dev/null +++ b/test/riscv/tests/rv64si-p-wfi.dump @@ -0,0 +1,128 @@ + +rv64si-p-wfi: 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: 00001537 lui a0,0x1 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 02200513 li a0,34 + 800000f8: 30352073 csrs mideleg,a0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 01428293 addi t0,t0,20 # 80000110 <reset_vector+0xc4> + 80000104: 34129073 csrw mepc,t0 + 80000108: f1402573 csrr a0,mhartid + 8000010c: 30200073 mret + 80000110: 10017073 csrci sstatus,2 + 80000114: 10416073 csrsi sie,2 + 80000118: 14416073 csrsi sip,2 + 8000011c: 10500073 wfi + 80000120: 0ff0000f fence + 80000124: 00100193 li gp,1 + 80000128: 00000073 ecall + 8000012c: 00301c63 bne zero,gp,80000144 <pass> + +0000000080000130 <fail>: + 80000130: 0ff0000f fence + 80000134: 00018063 beqz gp,80000134 <fail+0x4> + 80000138: 00119193 slli gp,gp,0x1 + 8000013c: 0011e193 ori gp,gp,1 + 80000140: 00000073 ecall + +0000000080000144 <pass>: + 80000144: 0ff0000f fence + 80000148: 00100193 li gp,1 + 8000014c: 00000073 ecall + 80000150: c0001073 unimp + 80000154: 0000 unimp + 80000156: 0000 unimp + 80000158: 0000 unimp + 8000015a: 0000 unimp + 8000015c: 0000 unimp + 8000015e: 0000 unimp + 80000160: 0000 unimp + 80000162: 0000 unimp + 80000164: 0000 unimp + 80000166: 0000 unimp + 80000168: 0000 unimp + 8000016a: 0000 unimp + 8000016c: 0000 unimp + 8000016e: 0000 unimp + 80000170: 0000 unimp + 80000172: 0000 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64si-p-wfi.elf b/test/riscv/tests/rv64si-p-wfi.elf Binary files differnew file mode 100644 index 00000000..23d0c0cc --- /dev/null +++ b/test/riscv/tests/rv64si-p-wfi.elf diff --git a/test/riscv/tests/rv64ua-p-amoadd_d.elf b/test/riscv/tests/rv64ua-p-amoadd_d.elf Binary files differindex f4fac374..e20d2903 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoadd_d.elf +++ b/test/riscv/tests/rv64ua-p-amoadd_d.elf diff --git a/test/riscv/tests/rv64ua-p-amoadd_w.elf b/test/riscv/tests/rv64ua-p-amoadd_w.elf Binary files differindex 4b3457d8..f8c15af6 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoadd_w.elf +++ b/test/riscv/tests/rv64ua-p-amoadd_w.elf diff --git a/test/riscv/tests/rv64ua-p-amoand_d.elf b/test/riscv/tests/rv64ua-p-amoand_d.elf Binary files differindex 47e8b321..6f9ec5cf 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoand_d.elf +++ b/test/riscv/tests/rv64ua-p-amoand_d.elf diff --git a/test/riscv/tests/rv64ua-p-amoand_w.elf b/test/riscv/tests/rv64ua-p-amoand_w.elf Binary files differindex 06c29f8b..fefc4fc0 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoand_w.elf +++ b/test/riscv/tests/rv64ua-p-amoand_w.elf diff --git a/test/riscv/tests/rv64ua-p-amomax_d.elf b/test/riscv/tests/rv64ua-p-amomax_d.elf Binary files differindex 4828a226..051cf481 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomax_d.elf +++ b/test/riscv/tests/rv64ua-p-amomax_d.elf diff --git a/test/riscv/tests/rv64ua-p-amomax_w.elf b/test/riscv/tests/rv64ua-p-amomax_w.elf Binary files differindex 1336c9c7..59d12a1f 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomax_w.elf +++ b/test/riscv/tests/rv64ua-p-amomax_w.elf diff --git a/test/riscv/tests/rv64ua-p-amomaxu_d.elf b/test/riscv/tests/rv64ua-p-amomaxu_d.elf Binary files differindex 04a36aad..4c13c12c 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomaxu_d.elf +++ b/test/riscv/tests/rv64ua-p-amomaxu_d.elf diff --git a/test/riscv/tests/rv64ua-p-amomaxu_w.elf b/test/riscv/tests/rv64ua-p-amomaxu_w.elf Binary files differindex 37b392f4..0c97a3a9 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomaxu_w.elf +++ b/test/riscv/tests/rv64ua-p-amomaxu_w.elf diff --git a/test/riscv/tests/rv64ua-p-amomin_d.elf b/test/riscv/tests/rv64ua-p-amomin_d.elf Binary files differindex 87a28983..791c78fe 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomin_d.elf +++ b/test/riscv/tests/rv64ua-p-amomin_d.elf diff --git a/test/riscv/tests/rv64ua-p-amomin_w.elf b/test/riscv/tests/rv64ua-p-amomin_w.elf Binary files differindex 201e7deb..7bf86a36 100755..100644 --- a/test/riscv/tests/rv64ua-p-amomin_w.elf +++ b/test/riscv/tests/rv64ua-p-amomin_w.elf diff --git a/test/riscv/tests/rv64ua-p-amominu_d.elf b/test/riscv/tests/rv64ua-p-amominu_d.elf Binary files differindex a5cee277..1c6d6adb 100755..100644 --- a/test/riscv/tests/rv64ua-p-amominu_d.elf +++ b/test/riscv/tests/rv64ua-p-amominu_d.elf diff --git a/test/riscv/tests/rv64ua-p-amominu_w.elf b/test/riscv/tests/rv64ua-p-amominu_w.elf Binary files differindex a2b0bfdd..af14db97 100755..100644 --- a/test/riscv/tests/rv64ua-p-amominu_w.elf +++ b/test/riscv/tests/rv64ua-p-amominu_w.elf diff --git a/test/riscv/tests/rv64ua-p-amoor_d.elf b/test/riscv/tests/rv64ua-p-amoor_d.elf Binary files differindex 3549d35f..a00b97c5 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoor_d.elf +++ b/test/riscv/tests/rv64ua-p-amoor_d.elf diff --git a/test/riscv/tests/rv64ua-p-amoor_w.elf b/test/riscv/tests/rv64ua-p-amoor_w.elf Binary files differindex 4e408f28..e35c29f2 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoor_w.elf +++ b/test/riscv/tests/rv64ua-p-amoor_w.elf diff --git a/test/riscv/tests/rv64ua-p-amoswap_d.elf b/test/riscv/tests/rv64ua-p-amoswap_d.elf Binary files differindex 642c648d..63d01a74 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoswap_d.elf +++ b/test/riscv/tests/rv64ua-p-amoswap_d.elf diff --git a/test/riscv/tests/rv64ua-p-amoswap_w.elf b/test/riscv/tests/rv64ua-p-amoswap_w.elf Binary files differindex e0b9e58e..011d5e2f 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoswap_w.elf +++ b/test/riscv/tests/rv64ua-p-amoswap_w.elf diff --git a/test/riscv/tests/rv64ua-p-amoxor_d.elf b/test/riscv/tests/rv64ua-p-amoxor_d.elf Binary files differindex a04e1f1c..4bec6cca 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoxor_d.elf +++ b/test/riscv/tests/rv64ua-p-amoxor_d.elf diff --git a/test/riscv/tests/rv64ua-p-amoxor_w.elf b/test/riscv/tests/rv64ua-p-amoxor_w.elf Binary files differindex fc27683f..22e8ba98 100755..100644 --- a/test/riscv/tests/rv64ua-p-amoxor_w.elf +++ b/test/riscv/tests/rv64ua-p-amoxor_w.elf diff --git a/test/riscv/tests/rv64ua-p-lrsc.dump b/test/riscv/tests/rv64ua-p-lrsc.dump new file mode 100644 index 00000000..bcca392e --- /dev/null +++ b/test/riscv/tests/rv64ua-p-lrsc.dump @@ -0,0 +1,691 @@ + +rv64ua-p-lrsc: 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: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0> + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + 800000fc: 00002517 auipc a0,0x2 + 80000100: f0450513 addi a0,a0,-252 # 80002000 <begin_signature> + 80000104: 00100593 li a1,1 + 80000108: 00b5262f amoadd.w a2,a1,(a0) + 8000010c: 00100693 li a3,1 + 80000110: fed67ee3 bleu a3,a2,8000010c <reset_vector+0xc0> + 80000114: 00052583 lw a1,0(a0) + 80000118: fed5eee3 bltu a1,a3,80000114 <reset_vector+0xc8> + +000000008000011c <test_2>: + 8000011c: 00002517 auipc a0,0x2 + 80000120: eec50513 addi a0,a0,-276 # 80002008 <foo> + 80000124: 1805272f sc.w a4,zero,(a0) + 80000128: 00100e93 li t4,1 + 8000012c: 00200193 li gp,2 + 80000130: 09d71a63 bne a4,t4,800001c4 <fail> + +0000000080000134 <test_3>: + 80000134: 00002517 auipc a0,0x2 + 80000138: ed450513 addi a0,a0,-300 # 80002008 <foo> + 8000013c: 00002597 auipc a1,0x2 + 80000140: 2d058593 addi a1,a1,720 # 8000240c <fooTest3> + 80000144: 1005a5af lr.w a1,(a1) + 80000148: 18b5272f sc.w a4,a1,(a0) + 8000014c: 00100e93 li t4,1 + 80000150: 00300193 li gp,3 + 80000154: 07d71863 bne a4,t4,800001c4 <fail> + 80000158: 00002517 auipc a0,0x2 + 8000015c: eb050513 addi a0,a0,-336 # 80002008 <foo> + 80000160: 40000593 li a1,1024 + 80000164: 00160613 addi a2,a2,1 + 80000168: 1005272f lr.w a4,(a0) + 8000016c: 00c70733 add a4,a4,a2 + 80000170: 18e5272f sc.w a4,a4,(a0) + 80000174: fe071ae3 bnez a4,80000168 <test_3+0x34> + 80000178: fff58593 addi a1,a1,-1 + 8000017c: fe0596e3 bnez a1,80000168 <test_3+0x34> + 80000180: 00002517 auipc a0,0x2 + 80000184: e8450513 addi a0,a0,-380 # 80002004 <barrier> + 80000188: 00100593 li a1,1 + 8000018c: 00b5202f amoadd.w zero,a1,(a0) + 80000190: 00052583 lw a1,0(a0) + 80000194: fed5cee3 blt a1,a3,80000190 <test_3+0x5c> + 80000198: 0ff0000f fence + +000000008000019c <test_4>: + 8000019c: 00002517 auipc a0,0x2 + 800001a0: e6c52503 lw a0,-404(a0) # 80002008 <foo> + 800001a4: 00969593 slli a1,a3,0x9 + 800001a8: 40b50533 sub a0,a0,a1 + 800001ac: fff68693 addi a3,a3,-1 + 800001b0: fe06dce3 bgez a3,800001a8 <test_4+0xc> + 800001b4: 00000e93 li t4,0 + 800001b8: 00400193 li gp,4 + 800001bc: 01d51463 bne a0,t4,800001c4 <fail> + 800001c0: 00301c63 bne zero,gp,800001d8 <pass> + +00000000800001c4 <fail>: + 800001c4: 0ff0000f fence + 800001c8: 00018063 beqz gp,800001c8 <fail+0x4> + 800001cc: 00119193 slli gp,gp,0x1 + 800001d0: 0011e193 ori gp,gp,1 + 800001d4: 00000073 ecall + +00000000800001d8 <pass>: + 800001d8: 0ff0000f fence + 800001dc: 00100193 li gp,1 + 800001e0: 00000073 ecall + 800001e4: c0001073 unimp + 800001e8: 0000 unimp + 800001ea: 0000 unimp + 800001ec: 0000 unimp + 800001ee: 0000 unimp + 800001f0: 0000 unimp + 800001f2: 0000 unimp + 800001f4: 0000 unimp + 800001f6: 0000 unimp + 800001f8: 0000 unimp + 800001fa: 0000 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: 0000 unimp + 80002002: 0000 unimp + +0000000080002004 <barrier>: + 80002004: 0000 unimp + 80002006: 0000 unimp + +0000000080002008 <foo>: + 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: 0000 unimp + 8000201a: 0000 unimp + 8000201c: 0000 unimp + 8000201e: 0000 unimp + 80002020: 0000 unimp + 80002022: 0000 unimp + 80002024: 0000 unimp + 80002026: 0000 unimp + 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: 0000 unimp + 80002040: 0000 unimp + 80002042: 0000 unimp + 80002044: 0000 unimp + 80002046: 0000 unimp + 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 + 80002060: 0000 unimp + 80002062: 0000 unimp + 80002064: 0000 unimp + 80002066: 0000 unimp + 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 + 80002080: 0000 unimp + 80002082: 0000 unimp + 80002084: 0000 unimp + 80002086: 0000 unimp + 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: 0000 unimp + 8000209a: 0000 unimp + 8000209c: 0000 unimp + 8000209e: 0000 unimp + 800020a0: 0000 unimp + 800020a2: 0000 unimp + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 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: 0000 unimp + 800020c0: 0000 unimp + 800020c2: 0000 unimp + 800020c4: 0000 unimp + 800020c6: 0000 unimp + 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: 0000 unimp + 800020e2: 0000 unimp + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 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: 0000 unimp + 800020fa: 0000 unimp + 800020fc: 0000 unimp + 800020fe: 0000 unimp + 80002100: 0000 unimp + 80002102: 0000 unimp + 80002104: 0000 unimp + 80002106: 0000 unimp + 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: 0000 unimp + 80002122: 0000 unimp + 80002124: 0000 unimp + 80002126: 0000 unimp + 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: 0000 unimp + 80002142: 0000 unimp + 80002144: 0000 unimp + 80002146: 0000 unimp + 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 + 80002160: 0000 unimp + 80002162: 0000 unimp + 80002164: 0000 unimp + 80002166: 0000 unimp + 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: 0000 unimp + 80002182: 0000 unimp + 80002184: 0000 unimp + 80002186: 0000 unimp + 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: 0000 unimp + 800021a2: 0000 unimp + 800021a4: 0000 unimp + 800021a6: 0000 unimp + 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: 0000 unimp + 800021ba: 0000 unimp + 800021bc: 0000 unimp + 800021be: 0000 unimp + 800021c0: 0000 unimp + 800021c2: 0000 unimp + 800021c4: 0000 unimp + 800021c6: 0000 unimp + 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 + 800021e0: 0000 unimp + 800021e2: 0000 unimp + 800021e4: 0000 unimp + 800021e6: 0000 unimp + 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: 0000 unimp + 800021fa: 0000 unimp + 800021fc: 0000 unimp + 800021fe: 0000 unimp + 80002200: 0000 unimp + 80002202: 0000 unimp + 80002204: 0000 unimp + 80002206: 0000 unimp + 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: 0000 unimp + 80002222: 0000 unimp + 80002224: 0000 unimp + 80002226: 0000 unimp + 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: 0000 unimp + 8000223a: 0000 unimp + 8000223c: 0000 unimp + 8000223e: 0000 unimp + 80002240: 0000 unimp + 80002242: 0000 unimp + 80002244: 0000 unimp + 80002246: 0000 unimp + 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 + 80002260: 0000 unimp + 80002262: 0000 unimp + 80002264: 0000 unimp + 80002266: 0000 unimp + 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 + 80002280: 0000 unimp + 80002282: 0000 unimp + 80002284: 0000 unimp + 80002286: 0000 unimp + 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: 0000 unimp + 8000229a: 0000 unimp + 8000229c: 0000 unimp + 8000229e: 0000 unimp + 800022a0: 0000 unimp + 800022a2: 0000 unimp + 800022a4: 0000 unimp + 800022a6: 0000 unimp + 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: 0000 unimp + 800022ba: 0000 unimp + 800022bc: 0000 unimp + 800022be: 0000 unimp + 800022c0: 0000 unimp + 800022c2: 0000 unimp + 800022c4: 0000 unimp + 800022c6: 0000 unimp + 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: 0000 unimp + 800022da: 0000 unimp + 800022dc: 0000 unimp + 800022de: 0000 unimp + 800022e0: 0000 unimp + 800022e2: 0000 unimp + 800022e4: 0000 unimp + 800022e6: 0000 unimp + 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: 0000 unimp + 800022fa: 0000 unimp + 800022fc: 0000 unimp + 800022fe: 0000 unimp + 80002300: 0000 unimp + 80002302: 0000 unimp + 80002304: 0000 unimp + 80002306: 0000 unimp + 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: 0000 unimp + 80002320: 0000 unimp + 80002322: 0000 unimp + 80002324: 0000 unimp + 80002326: 0000 unimp + 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: 0000 unimp + 8000233a: 0000 unimp + 8000233c: 0000 unimp + 8000233e: 0000 unimp + 80002340: 0000 unimp + 80002342: 0000 unimp + 80002344: 0000 unimp + 80002346: 0000 unimp + 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 + 80002360: 0000 unimp + 80002362: 0000 unimp + 80002364: 0000 unimp + 80002366: 0000 unimp + 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 + 80002380: 0000 unimp + 80002382: 0000 unimp + 80002384: 0000 unimp + 80002386: 0000 unimp + 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 + 800023a0: 0000 unimp + 800023a2: 0000 unimp + 800023a4: 0000 unimp + 800023a6: 0000 unimp + 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 + 800023c0: 0000 unimp + 800023c2: 0000 unimp + 800023c4: 0000 unimp + 800023c6: 0000 unimp + 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: 0000 unimp + 800023da: 0000 unimp + 800023dc: 0000 unimp + 800023de: 0000 unimp + 800023e0: 0000 unimp + 800023e2: 0000 unimp + 800023e4: 0000 unimp + 800023e6: 0000 unimp + 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: 0000 unimp + 800023fa: 0000 unimp + 800023fc: 0000 unimp + 800023fe: 0000 unimp + 80002400: 0000 unimp + 80002402: 0000 unimp + 80002404: 0000 unimp + 80002406: 0000 unimp + 80002408: 0000 unimp + 8000240a: 0000 unimp + +000000008000240c <fooTest3>: + 8000240c: 0000 unimp + 8000240e: 0000 unimp diff --git a/test/riscv/tests/rv64ua-v-amoadd_d.dump b/test/riscv/tests/rv64ua-v-amoadd_d.dump new file mode 100644 index 00000000..6e2c6142 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoadd_d.dump @@ -0,0 +1,874 @@ + +rv64ua-v-amoadd_d: 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,sbadaddr + 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: 70068693 addi a3,a3,1792 # 80002b58 <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: 73460613 addi a2,a2,1844 # 80002be8 <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: 6fc60613 addi a2,a2,1788 # 80002c00 <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: 64c68693 addi a3,a3,1612 # 80002ba0 <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: 66868693 addi a3,a3,1640 # 80002cd8 <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: 5e860613 addi a2,a2,1512 # 80002cb0 <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: 51c68693 addi a3,a3,1308 # 80002d08 <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: 43c68693 addi a3,a3,1084 # 80002c78 <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: 3cc68693 addi a3,a3,972 # 80002c40 <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: 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: 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: 0f6267b7 lui a5,0xf626 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 79178793 addi a5,a5,1937 # f626791 <_start-0x709d986f> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 00b6b72f amoadd.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71863 bne a4,t4,80002b38 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: fff00e9b addiw t4,zero,-1 + 80002af4: 01fe9e93 slli t4,t4,0x1f + 80002af8: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffff7010> + 80002afc: 00300193 li gp,3 + 80002b00: 03d79c63 bne a5,t4,80002b38 <fail> + +0000000080002b04 <test_4>: + 80002b04: 00b6b72f amoadd.d a4,a1,(a3) + 80002b08: fff00e9b addiw t4,zero,-1 + 80002b0c: 01fe9e93 slli t4,t4,0x1f + 80002b10: 800e8e93 addi t4,t4,-2048 + 80002b14: 00400193 li gp,4 + 80002b18: 03d71063 bne a4,t4,80002b38 <fail> + +0000000080002b1c <test_5>: + 80002b1c: 0006b783 ld a5,0(a3) + 80002b20: fff80eb7 lui t4,0xfff80 + 80002b24: fffe8e9b addiw t4,t4,-1 + 80002b28: 00ce9e93 slli t4,t4,0xc + 80002b2c: 00500193 li gp,5 + 80002b30: 01d79463 bne a5,t4,80002b38 <fail> + 80002b34: 00301a63 bne zero,gp,80002b48 <pass> + +0000000080002b38 <fail>: + 80002b38: 00119513 slli a0,gp,0x1 + 80002b3c: 00050063 beqz a0,80002b3c <fail+0x4> + 80002b40: 00156513 ori a0,a0,1 + 80002b44: 00000073 ecall + +0000000080002b48 <pass>: + 80002b48: 00100513 li a0,1 + 80002b4c: 00000073 ecall + 80002b50: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoadd_d.elf b/test/riscv/tests/rv64ua-v-amoadd_d.elf Binary files differnew file mode 100644 index 00000000..655f27c6 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoadd_d.elf diff --git a/test/riscv/tests/rv64ua-v-amoadd_w.dump b/test/riscv/tests/rv64ua-v-amoadd_w.dump new file mode 100644 index 00000000..b8ca9c8d --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoadd_w.dump @@ -0,0 +1,871 @@ + +rv64ua-v-amoadd_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 00100793 li a5,1 + 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: 0806d7b7 lui a5,0x806d + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 4f578793 addi a5,a5,1269 # 806d4f5 <_start-0x77f92b0b> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 00b6a72f amoadd.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71263 bne a4,t4,80002b2c <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 800e8e9b addiw t4,t4,-2048 + 80002af8: 00300193 li gp,3 + 80002afc: 03d79863 bne a5,t4,80002b2c <fail> + +0000000080002b00 <test_4>: + 80002b00: 800005b7 lui a1,0x80000 + 80002b04: 00b6a72f amoadd.w a4,a1,(a3) + 80002b08: 80000eb7 lui t4,0x80000 + 80002b0c: 800e8e9b addiw t4,t4,-2048 + 80002b10: 00400193 li gp,4 + 80002b14: 01d71c63 bne a4,t4,80002b2c <fail> + +0000000080002b18 <test_5>: + 80002b18: 0006a783 lw a5,0(a3) + 80002b1c: 80000e93 li t4,-2048 + 80002b20: 00500193 li gp,5 + 80002b24: 01d79463 bne a5,t4,80002b2c <fail> + 80002b28: 00301a63 bne zero,gp,80002b3c <pass> + +0000000080002b2c <fail>: + 80002b2c: 00119513 slli a0,gp,0x1 + 80002b30: 00050063 beqz a0,80002b30 <fail+0x4> + 80002b34: 00156513 ori a0,a0,1 + 80002b38: 00000073 ecall + +0000000080002b3c <pass>: + 80002b3c: 00100513 li a0,1 + 80002b40: 00000073 ecall + 80002b44: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoadd_w.elf b/test/riscv/tests/rv64ua-v-amoadd_w.elf Binary files differnew file mode 100644 index 00000000..32d6c1a9 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoadd_w.elf diff --git a/test/riscv/tests/rv64ua-v-amoand_d.dump b/test/riscv/tests/rv64ua-v-amoand_d.dump new file mode 100644 index 00000000..89e47221 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoand_d.dump @@ -0,0 +1,871 @@ + +rv64ua-v-amoand_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 02800793 li a5,40 + 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: 02f8b7b7 lui a5,0x2f8b + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 4c878793 addi a5,a5,1224 # 2f8b4c8 <_start-0x7d074b38> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 60b6b72f amoand.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71263 bne a4,t4,80002b2c <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79a63 bne a5,t4,80002b2c <fail> + +0000000080002afc <test_4>: + 80002afc: 0010059b addiw a1,zero,1 + 80002b00: 01f59593 slli a1,a1,0x1f + 80002b04: 60b6b72f amoand.d a4,a1,(a3) + 80002b08: 80000eb7 lui t4,0x80000 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71e63 bne a4,t4,80002b2c <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: 00100e9b addiw t4,zero,1 + 80002b1c: 01fe9e93 slli t4,t4,0x1f + 80002b20: 00500193 li gp,5 + 80002b24: 01d79463 bne a5,t4,80002b2c <fail> + 80002b28: 00301a63 bne zero,gp,80002b3c <pass> + +0000000080002b2c <fail>: + 80002b2c: 00119513 slli a0,gp,0x1 + 80002b30: 00050063 beqz a0,80002b30 <fail+0x4> + 80002b34: 00156513 ori a0,a0,1 + 80002b38: 00000073 ecall + +0000000080002b3c <pass>: + 80002b3c: 00100513 li a0,1 + 80002b40: 00000073 ecall + 80002b44: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoand_d.elf b/test/riscv/tests/rv64ua-v-amoand_d.elf Binary files differnew file mode 100644 index 00000000..ae0fa7c0 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoand_d.elf diff --git a/test/riscv/tests/rv64ua-v-amoand_w.dump b/test/riscv/tests/rv64ua-v-amoand_w.dump new file mode 100644 index 00000000..0fdbc133 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoand_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amoand_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 00900793 li a5,9 + 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: 068a27b7 lui a5,0x68a2 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: d4878793 addi a5,a5,-696 # 68a1d48 <_start-0x7975e2b8> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 60b6a72f amoand.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: 0010059b addiw a1,zero,1 + 80002b00: 01f59593 slli a1,a1,0x1f + 80002b04: 60b6a72f amoand.w a4,a1,(a3) + 80002b08: 80000eb7 lui t4,0x80000 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: 80000eb7 lui t4,0x80000 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoand_w.elf b/test/riscv/tests/rv64ua-v-amoand_w.elf Binary files differnew file mode 100644 index 00000000..97e45f4f --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoand_w.elf diff --git a/test/riscv/tests/rv64ua-v-amomax_d.dump b/test/riscv/tests/rv64ua-v-amomax_d.dump new file mode 100644 index 00000000..d69d15d2 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomax_d.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomax_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 09d2d7b7 lui a5,0x9d2d + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 6b578793 addi a5,a5,1717 # 9d2d6b5 <_start-0x762d294b> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: a0b6b72f amomax.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: 00100593 li a1,1 + 80002b00: 0006b023 sd zero,0(a3) + 80002b04: a0b6b72f amomax.d a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: 00100e93 li t4,1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomax_d.elf b/test/riscv/tests/rv64ua-v-amomax_d.elf Binary files differnew file mode 100644 index 00000000..04dfdae4 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomax_d.elf diff --git a/test/riscv/tests/rv64ua-v-amomax_w.dump b/test/riscv/tests/rv64ua-v-amomax_w.dump new file mode 100644 index 00000000..eb204ee5 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomax_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomax_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 02700793 li a5,39 + 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: 06a237b7 lui a5,0x6a23 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 87378793 addi a5,a5,-1933 # 6a22873 <_start-0x795dd78d> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: a0b6a72f amomax.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: 00100593 li a1,1 + 80002b00: 0006a023 sw zero,0(a3) + 80002b04: a0b6a72f amomax.w a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: 00100e93 li t4,1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomax_w.elf b/test/riscv/tests/rv64ua-v-amomax_w.elf Binary files differnew file mode 100644 index 00000000..49521793 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomax_w.elf diff --git a/test/riscv/tests/rv64ua-v-amomaxu_d.dump b/test/riscv/tests/rv64ua-v-amomaxu_d.dump new file mode 100644 index 00000000..271a03c5 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomaxu_d.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomaxu_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 03700793 li a5,55 + 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: 00b117b7 lui a5,0xb11 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: cc678793 addi a5,a5,-826 # b10cc6 <_start-0x7f4ef33a> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: e0b6b72f amomaxu.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006b023 sd zero,0(a3) + 80002b04: e0b6b72f amomaxu.d a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: fff00e93 li t4,-1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomaxu_d.elf b/test/riscv/tests/rv64ua-v-amomaxu_d.elf Binary files differnew file mode 100644 index 00000000..0b9930fe --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomaxu_d.elf diff --git a/test/riscv/tests/rv64ua-v-amomaxu_w.dump b/test/riscv/tests/rv64ua-v-amomaxu_w.dump new file mode 100644 index 00000000..d6f336eb --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomaxu_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomaxu_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 00700793 li a5,7 + 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: 0d8487b7 lui a5,0xd848 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c5e78793 addi a5,a5,-930 # d847c5e <_start-0x727b83a2> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: e0b6a72f amomaxu.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006a023 sw zero,0(a3) + 80002b04: e0b6a72f amomaxu.w a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: fff00e93 li t4,-1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomaxu_w.elf b/test/riscv/tests/rv64ua-v-amomaxu_w.elf Binary files differnew file mode 100644 index 00000000..989ad0c5 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomaxu_w.elf diff --git a/test/riscv/tests/rv64ua-v-amomin_d.dump b/test/riscv/tests/rv64ua-v-amomin_d.dump new file mode 100644 index 00000000..a97febdb --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomin_d.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomin_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 00500793 li a5,5 + 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: 0353d7b7 lui a5,0x353d + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a0778793 addi a5,a5,-1529 # 353ca07 <_start-0x7cac35f9> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 80b6b72f amomin.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006b023 sd zero,0(a3) + 80002b04: 80b6b72f amomin.d a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: fff00e93 li t4,-1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomin_d.elf b/test/riscv/tests/rv64ua-v-amomin_d.elf Binary files differnew file mode 100644 index 00000000..c1364087 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomin_d.elf diff --git a/test/riscv/tests/rv64ua-v-amomin_w.dump b/test/riscv/tests/rv64ua-v-amomin_w.dump new file mode 100644 index 00000000..a436c950 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomin_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amomin_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 03800793 li a5,56 + 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: 0ccca7b7 lui a5,0xccca + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 0ea78793 addi a5,a5,234 # ccca0ea <_start-0x73335f16> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 80b6a72f amomin.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006a023 sw zero,0(a3) + 80002b04: 80b6a72f amomin.w a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: fff00e93 li t4,-1 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amomin_w.elf b/test/riscv/tests/rv64ua-v-amomin_w.elf Binary files differnew file mode 100644 index 00000000..46fa3ac6 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amomin_w.elf diff --git a/test/riscv/tests/rv64ua-v-amominu_d.dump b/test/riscv/tests/rv64ua-v-amominu_d.dump new file mode 100644 index 00000000..693d6a66 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amominu_d.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amominu_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 02800793 li a5,40 + 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: 08b4f7b7 lui a5,0x8b4f + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 5cb78793 addi a5,a5,1483 # 8b4f5cb <_start-0x774b0a35> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: c0b6b72f amominu.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006b023 sd zero,0(a3) + 80002b04: c0b6b72f amominu.d a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: 00000e93 li t4,0 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amominu_d.elf b/test/riscv/tests/rv64ua-v-amominu_d.elf Binary files differnew file mode 100644 index 00000000..1c7e7db1 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amominu_d.elf diff --git a/test/riscv/tests/rv64ua-v-amominu_w.dump b/test/riscv/tests/rv64ua-v-amominu_w.dump new file mode 100644 index 00000000..ac8240d7 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amominu_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amominu_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 01500793 li a5,21 + 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: 083c07b7 lui a5,0x83c0 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 36f78793 addi a5,a5,879 # 83c036f <_start-0x77c3fc91> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: c0b6a72f amominu.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: fff00593 li a1,-1 + 80002b00: 0006a023 sw zero,0(a3) + 80002b04: c0b6a72f amominu.w a4,a1,(a3) + 80002b08: 00000e93 li t4,0 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: 00000e93 li t4,0 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amominu_w.elf b/test/riscv/tests/rv64ua-v-amominu_w.elf Binary files differnew file mode 100644 index 00000000..b2556893 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amominu_w.elf diff --git a/test/riscv/tests/rv64ua-v-amoor_d.dump b/test/riscv/tests/rv64ua-v-amoor_d.dump new file mode 100644 index 00000000..6bf5fa12 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoor_d.dump @@ -0,0 +1,869 @@ + +rv64ua-v-amoor_d: 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,sbadaddr + 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: 6e868693 addi a3,a3,1768 # 80002b40 <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: 71c60613 addi a2,a2,1820 # 80002bd0 <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: 6e460613 addi a2,a2,1764 # 80002be8 <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: 63468693 addi a3,a3,1588 # 80002b88 <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: 65068693 addi a3,a3,1616 # 80002cc0 <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: 5d060613 addi a2,a2,1488 # 80002c98 <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: 50468693 addi a3,a3,1284 # 80002cf0 <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: 42468693 addi a3,a3,1060 # 80002c60 <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: 3b468693 addi a3,a3,948 # 80002c28 <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: 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: 006937b7 lui a5,0x693 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b1378793 addi a5,a5,-1261 # 692b13 <_start-0x7f96d4ed> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 40b6b72f amoor.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 03d71e63 bne a4,t4,80002b24 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79663 bne a5,t4,80002b24 <fail> + +0000000080002afc <test_4>: + 80002afc: 00100593 li a1,1 + 80002b00: 40b6b72f amoor.d a4,a1,(a3) + 80002b04: 80000e93 li t4,-2048 + 80002b08: 00400193 li gp,4 + 80002b0c: 01d71c63 bne a4,t4,80002b24 <fail> + +0000000080002b10 <test_5>: + 80002b10: 0006b783 ld a5,0(a3) + 80002b14: 80100e93 li t4,-2047 + 80002b18: 00500193 li gp,5 + 80002b1c: 01d79463 bne a5,t4,80002b24 <fail> + 80002b20: 00301a63 bne zero,gp,80002b34 <pass> + +0000000080002b24 <fail>: + 80002b24: 00119513 slli a0,gp,0x1 + 80002b28: 00050063 beqz a0,80002b28 <fail+0x4> + 80002b2c: 00156513 ori a0,a0,1 + 80002b30: 00000073 ecall + +0000000080002b34 <pass>: + 80002b34: 00100513 li a0,1 + 80002b38: 00000073 ecall + 80002b3c: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoor_d.elf b/test/riscv/tests/rv64ua-v-amoor_d.elf Binary files differnew file mode 100644 index 00000000..ce15b22d --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoor_d.elf diff --git a/test/riscv/tests/rv64ua-v-amoor_w.dump b/test/riscv/tests/rv64ua-v-amoor_w.dump new file mode 100644 index 00000000..71a4ebee --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoor_w.dump @@ -0,0 +1,869 @@ + +rv64ua-v-amoor_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: 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,sbadaddr + 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: 6e868693 addi a3,a3,1768 # 80002b40 <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: 71c60613 addi a2,a2,1820 # 80002bd0 <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: 6e460613 addi a2,a2,1764 # 80002be8 <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: 63468693 addi a3,a3,1588 # 80002b88 <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: 65068693 addi a3,a3,1616 # 80002cc0 <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: 5d060613 addi a2,a2,1488 # 80002c98 <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: 50468693 addi a3,a3,1284 # 80002cf0 <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: 42468693 addi a3,a3,1060 # 80002c60 <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: 3b468693 addi a3,a3,948 # 80002c28 <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: 00f00793 li a5,15 + 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: 092c77b7 lui a5,0x92c7 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f3678793 addi a5,a5,-202 # 92c6f36 <_start-0x76d390ca> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 40b6a72f amoor.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 03d71e63 bne a4,t4,80002b24 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79663 bne a5,t4,80002b24 <fail> + +0000000080002afc <test_4>: + 80002afc: 00100593 li a1,1 + 80002b00: 40b6a72f amoor.w a4,a1,(a3) + 80002b04: 80000e93 li t4,-2048 + 80002b08: 00400193 li gp,4 + 80002b0c: 01d71c63 bne a4,t4,80002b24 <fail> + +0000000080002b10 <test_5>: + 80002b10: 0006a783 lw a5,0(a3) + 80002b14: 80100e93 li t4,-2047 + 80002b18: 00500193 li gp,5 + 80002b1c: 01d79463 bne a5,t4,80002b24 <fail> + 80002b20: 00301a63 bne zero,gp,80002b34 <pass> + +0000000080002b24 <fail>: + 80002b24: 00119513 slli a0,gp,0x1 + 80002b28: 00050063 beqz a0,80002b28 <fail+0x4> + 80002b2c: 00156513 ori a0,a0,1 + 80002b30: 00000073 ecall + +0000000080002b34 <pass>: + 80002b34: 00100513 li a0,1 + 80002b38: 00000073 ecall + 80002b3c: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoor_w.elf b/test/riscv/tests/rv64ua-v-amoor_w.elf Binary files differnew file mode 100644 index 00000000..44f0a915 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoor_w.elf diff --git a/test/riscv/tests/rv64ua-v-amoswap_d.dump b/test/riscv/tests/rv64ua-v-amoswap_d.dump new file mode 100644 index 00000000..bcb607be --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoswap_d.dump @@ -0,0 +1,871 @@ + +rv64ua-v-amoswap_d: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 03700793 li a5,55 + 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: 039c87b7 lui a5,0x39c8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: e8a78793 addi a5,a5,-374 # 39c7e8a <_start-0x7c638176> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 08b6b72f amoswap.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71263 bne a4,t4,80002b2c <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79a63 bne a5,t4,80002b2c <fail> + +0000000080002afc <test_4>: + 80002afc: 0010059b addiw a1,zero,1 + 80002b00: 01f59593 slli a1,a1,0x1f + 80002b04: 08b6b72f amoswap.d a4,a1,(a3) + 80002b08: 80000e93 li t4,-2048 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71e63 bne a4,t4,80002b2c <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006b783 ld a5,0(a3) + 80002b18: 00100e9b addiw t4,zero,1 + 80002b1c: 01fe9e93 slli t4,t4,0x1f + 80002b20: 00500193 li gp,5 + 80002b24: 01d79463 bne a5,t4,80002b2c <fail> + 80002b28: 00301a63 bne zero,gp,80002b3c <pass> + +0000000080002b2c <fail>: + 80002b2c: 00119513 slli a0,gp,0x1 + 80002b30: 00050063 beqz a0,80002b30 <fail+0x4> + 80002b34: 00156513 ori a0,a0,1 + 80002b38: 00000073 ecall + +0000000080002b3c <pass>: + 80002b3c: 00100513 li a0,1 + 80002b40: 00000073 ecall + 80002b44: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoswap_d.elf b/test/riscv/tests/rv64ua-v-amoswap_d.elf Binary files differnew file mode 100644 index 00000000..6f8a8173 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoswap_d.elf diff --git a/test/riscv/tests/rv64ua-v-amoswap_w.dump b/test/riscv/tests/rv64ua-v-amoswap_w.dump new file mode 100644 index 00000000..2369b0d6 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoswap_w.dump @@ -0,0 +1,870 @@ + +rv64ua-v-amoswap_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: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 00d00793 li a5,13 + 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: 0788e7b7 lui a5,0x788e + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c2478793 addi a5,a5,-988 # 788dc24 <_start-0x787723dc> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 08b6a72f amoswap.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71063 bne a4,t4,80002b28 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000e93 li t4,-2048 + 80002af4: 00300193 li gp,3 + 80002af8: 03d79863 bne a5,t4,80002b28 <fail> + +0000000080002afc <test_4>: + 80002afc: 0010059b addiw a1,zero,1 + 80002b00: 01f59593 slli a1,a1,0x1f + 80002b04: 08b6a72f amoswap.w a4,a1,(a3) + 80002b08: 80000e93 li t4,-2048 + 80002b0c: 00400193 li gp,4 + 80002b10: 01d71c63 bne a4,t4,80002b28 <fail> + +0000000080002b14 <test_5>: + 80002b14: 0006a783 lw a5,0(a3) + 80002b18: 80000eb7 lui t4,0x80000 + 80002b1c: 00500193 li gp,5 + 80002b20: 01d79463 bne a5,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoswap_w.elf b/test/riscv/tests/rv64ua-v-amoswap_w.elf Binary files differnew file mode 100644 index 00000000..58a23d37 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoswap_w.elf diff --git a/test/riscv/tests/rv64ua-v-amoxor_d.dump b/test/riscv/tests/rv64ua-v-amoxor_d.dump new file mode 100644 index 00000000..6fa564d8 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoxor_d.dump @@ -0,0 +1,872 @@ + +rv64ua-v-amoxor_d: 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,sbadaddr + 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: 6f868693 addi a3,a3,1784 # 80002b50 <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: 72c60613 addi a2,a2,1836 # 80002be0 <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: 6f460613 addi a2,a2,1780 # 80002bf8 <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: 64468693 addi a3,a3,1604 # 80002b98 <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: 66068693 addi a3,a3,1632 # 80002cd0 <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: 5e060613 addi a2,a2,1504 # 80002ca8 <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: 51468693 addi a3,a3,1300 # 80002d00 <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: 43468693 addi a3,a3,1076 # 80002c70 <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: 3c468693 addi a3,a3,964 # 80002c38 <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: 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: 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: 0a9e67b7 lui a5,0xa9e6 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 11178793 addi a5,a5,273 # a9e6111 <_start-0x75619eef> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6b023 sd a0,0(a3) + 80002adc: 20b6b72f amoxor.d a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71463 bne a4,t4,80002b30 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006b783 ld a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 800e8e9b addiw t4,t4,-2048 + 80002af8: 00300193 li gp,3 + 80002afc: 03d79a63 bne a5,t4,80002b30 <fail> + +0000000080002b00 <test_4>: + 80002b00: 00100593 li a1,1 + 80002b04: 20b6b72f amoxor.d a4,a1,(a3) + 80002b08: 80000eb7 lui t4,0x80000 + 80002b0c: 800e8e9b addiw t4,t4,-2048 + 80002b10: 00400193 li gp,4 + 80002b14: 01d71e63 bne a4,t4,80002b30 <fail> + +0000000080002b18 <test_5>: + 80002b18: 0006b783 ld a5,0(a3) + 80002b1c: 80000eb7 lui t4,0x80000 + 80002b20: 801e8e9b addiw t4,t4,-2047 + 80002b24: 00500193 li gp,5 + 80002b28: 01d79463 bne a5,t4,80002b30 <fail> + 80002b2c: 00301a63 bne zero,gp,80002b40 <pass> + +0000000080002b30 <fail>: + 80002b30: 00119513 slli a0,gp,0x1 + 80002b34: 00050063 beqz a0,80002b34 <fail+0x4> + 80002b38: 00156513 ori a0,a0,1 + 80002b3c: 00000073 ecall + +0000000080002b40 <pass>: + 80002b40: 00100513 li a0,1 + 80002b44: 00000073 ecall + 80002b48: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoxor_d.elf b/test/riscv/tests/rv64ua-v-amoxor_d.elf Binary files differnew file mode 100644 index 00000000..963af595 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoxor_d.elf diff --git a/test/riscv/tests/rv64ua-v-amoxor_w.dump b/test/riscv/tests/rv64ua-v-amoxor_w.dump new file mode 100644 index 00000000..6ced7407 --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoxor_w.dump @@ -0,0 +1,874 @@ + +rv64ua-v-amoxor_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: 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,sbadaddr + 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: 70068693 addi a3,a3,1792 # 80002b58 <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: 73460613 addi a2,a2,1844 # 80002be8 <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: 6fc60613 addi a2,a2,1788 # 80002c00 <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: 64c68693 addi a3,a3,1612 # 80002ba0 <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: 66868693 addi a3,a3,1640 # 80002cd8 <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: 5e860613 addi a2,a2,1512 # 80002cb0 <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: 51c68693 addi a3,a3,1308 # 80002d08 <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: 43c68693 addi a3,a3,1084 # 80002c78 <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: 3cc68693 addi a3,a3,972 # 80002c40 <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: 00600793 li a5,6 + 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: 078757b7 lui a5,0x7875 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 2db78793 addi a5,a5,731 # 78752db <_start-0x7878ad25> + 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: 80000537 lui a0,0x80000 + 80002acc: 80000593 li a1,-2048 + 80002ad0: 00000697 auipc a3,0x0 + 80002ad4: 53068693 addi a3,a3,1328 # 80003000 <begin_signature> + 80002ad8: 00a6a023 sw a0,0(a3) + 80002adc: 20b6a72f amoxor.w a4,a1,(a3) + 80002ae0: 80000eb7 lui t4,0x80000 + 80002ae4: 00200193 li gp,2 + 80002ae8: 05d71863 bne a4,t4,80002b38 <fail> + +0000000080002aec <test_3>: + 80002aec: 0006a783 lw a5,0(a3) + 80002af0: 80000eb7 lui t4,0x80000 + 80002af4: 800e8e9b addiw t4,t4,-2048 + 80002af8: 00300193 li gp,3 + 80002afc: 03d79e63 bne a5,t4,80002b38 <fail> + +0000000080002b00 <test_4>: + 80002b00: 0030059b addiw a1,zero,3 + 80002b04: 01e59593 slli a1,a1,0x1e + 80002b08: 00158593 addi a1,a1,1 + 80002b0c: 20b6a72f amoxor.w a4,a1,(a3) + 80002b10: 80000eb7 lui t4,0x80000 + 80002b14: 800e8e9b addiw t4,t4,-2048 + 80002b18: 00400193 li gp,4 + 80002b1c: 01d71e63 bne a4,t4,80002b38 <fail> + +0000000080002b20 <test_5>: + 80002b20: 0006a783 lw a5,0(a3) + 80002b24: c0000eb7 lui t4,0xc0000 + 80002b28: 801e8e9b addiw t4,t4,-2047 + 80002b2c: 00500193 li gp,5 + 80002b30: 01d79463 bne a5,t4,80002b38 <fail> + 80002b34: 00301a63 bne zero,gp,80002b48 <pass> + +0000000080002b38 <fail>: + 80002b38: 00119513 slli a0,gp,0x1 + 80002b3c: 00050063 beqz a0,80002b3c <fail+0x4> + 80002b40: 00156513 ori a0,a0,1 + 80002b44: 00000073 ecall + +0000000080002b48 <pass>: + 80002b48: 00100513 li a0,1 + 80002b4c: 00000073 ecall + 80002b50: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-v-amoxor_w.elf b/test/riscv/tests/rv64ua-v-amoxor_w.elf Binary files differnew file mode 100644 index 00000000..3b91cc1e --- /dev/null +++ b/test/riscv/tests/rv64ua-v-amoxor_w.elf diff --git a/test/riscv/tests/rv64ua-v-lrsc.dump b/test/riscv/tests/rv64ua-v-lrsc.dump new file mode 100644 index 00000000..5678673c --- /dev/null +++ b/test/riscv/tests/rv64ua-v-lrsc.dump @@ -0,0 +1,1426 @@ + +rv64ua-v-lrsc: 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,sbadaddr + 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: 75868693 addi a3,a3,1880 # 80002bb0 <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: 78c60613 addi a2,a2,1932 # 80002c40 <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: 75460613 addi a2,a2,1876 # 80002c58 <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: 6a468693 addi a3,a3,1700 # 80002bf8 <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: 6c068693 addi a3,a3,1728 # 80002d30 <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: 64060613 addi a2,a2,1600 # 80002d08 <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: 57468693 addi a3,a3,1396 # 80002d60 <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: 49468693 addi a3,a3,1172 # 80002cd0 <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: 42468693 addi a3,a3,1060 # 80002c98 <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: 0b4d77b7 lui a5,0xb4d7 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 59f78793 addi a5,a5,1439 # b4d759f <_start-0x74b28a61> + 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: 00000517 auipc a0,0x0 + 80002acc: 53850513 addi a0,a0,1336 # 80003000 <begin_signature> + 80002ad0: 00100593 li a1,1 + 80002ad4: 00b5262f amoadd.w a2,a1,(a0) + 80002ad8: 00100693 li a3,1 + 80002adc: fed67ee3 bleu a3,a2,80002ad8 <userstart+0x10> + 80002ae0: 00052583 lw a1,0(a0) + 80002ae4: fed5eee3 bltu a1,a3,80002ae0 <userstart+0x18> + +0000000080002ae8 <test_2>: + 80002ae8: 00000517 auipc a0,0x0 + 80002aec: 52050513 addi a0,a0,1312 # 80003008 <foo> + 80002af0: 1805272f sc.w a4,zero,(a0) + 80002af4: 00100e93 li t4,1 + 80002af8: 00200193 li gp,2 + 80002afc: 09d71a63 bne a4,t4,80002b90 <fail> + +0000000080002b00 <test_3>: + 80002b00: 00000517 auipc a0,0x0 + 80002b04: 50850513 addi a0,a0,1288 # 80003008 <foo> + 80002b08: 00001597 auipc a1,0x1 + 80002b0c: 90458593 addi a1,a1,-1788 # 8000340c <fooTest3> + 80002b10: 1005a5af lr.w a1,(a1) + 80002b14: 18b5272f sc.w a4,a1,(a0) + 80002b18: 00100e93 li t4,1 + 80002b1c: 00300193 li gp,3 + 80002b20: 07d71863 bne a4,t4,80002b90 <fail> + 80002b24: 00000517 auipc a0,0x0 + 80002b28: 4e450513 addi a0,a0,1252 # 80003008 <foo> + 80002b2c: 40000593 li a1,1024 + 80002b30: 00160613 addi a2,a2,1 + 80002b34: 1005272f lr.w a4,(a0) + 80002b38: 00c70733 add a4,a4,a2 + 80002b3c: 18e5272f sc.w a4,a4,(a0) + 80002b40: fe071ae3 bnez a4,80002b34 <test_3+0x34> + 80002b44: fff58593 addi a1,a1,-1 + 80002b48: fe0596e3 bnez a1,80002b34 <test_3+0x34> + 80002b4c: 00000517 auipc a0,0x0 + 80002b50: 4b850513 addi a0,a0,1208 # 80003004 <barrier> + 80002b54: 00100593 li a1,1 + 80002b58: 00b5202f amoadd.w zero,a1,(a0) + 80002b5c: 00052583 lw a1,0(a0) + 80002b60: fed5cee3 blt a1,a3,80002b5c <test_3+0x5c> + 80002b64: 0ff0000f fence + +0000000080002b68 <test_4>: + 80002b68: 00000517 auipc a0,0x0 + 80002b6c: 4a052503 lw a0,1184(a0) # 80003008 <foo> + 80002b70: 00969593 slli a1,a3,0x9 + 80002b74: 40b50533 sub a0,a0,a1 + 80002b78: fff68693 addi a3,a3,-1 + 80002b7c: fe06dce3 bgez a3,80002b74 <test_4+0xc> + 80002b80: 00000e93 li t4,0 + 80002b84: 00400193 li gp,4 + 80002b88: 01d51463 bne a0,t4,80002b90 <fail> + 80002b8c: 00301a63 bne zero,gp,80002ba0 <pass> + +0000000080002b90 <fail>: + 80002b90: 00119513 slli a0,gp,0x1 + 80002b94: 00050063 beqz a0,80002b94 <fail+0x4> + 80002b98: 00156513 ori a0,a0,1 + 80002b9c: 00000073 ecall + +0000000080002ba0 <pass>: + 80002ba0: 00100513 li a0,1 + 80002ba4: 00000073 ecall + 80002ba8: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 0000 unimp + 80003002: 0000 unimp + +0000000080003004 <barrier>: + 80003004: 0000 unimp + 80003006: 0000 unimp + +0000000080003008 <foo>: + 80003008: 0000 unimp + 8000300a: 0000 unimp + 8000300c: 0000 unimp + 8000300e: 0000 unimp + 80003010: 0000 unimp + 80003012: 0000 unimp + 80003014: 0000 unimp + 80003016: 0000 unimp + 80003018: 0000 unimp + 8000301a: 0000 unimp + 8000301c: 0000 unimp + 8000301e: 0000 unimp + 80003020: 0000 unimp + 80003022: 0000 unimp + 80003024: 0000 unimp + 80003026: 0000 unimp + 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: 0000 unimp + 80003040: 0000 unimp + 80003042: 0000 unimp + 80003044: 0000 unimp + 80003046: 0000 unimp + 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: 0000 unimp + 80003060: 0000 unimp + 80003062: 0000 unimp + 80003064: 0000 unimp + 80003066: 0000 unimp + 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: 0000 unimp + 8000307a: 0000 unimp + 8000307c: 0000 unimp + 8000307e: 0000 unimp + 80003080: 0000 unimp + 80003082: 0000 unimp + 80003084: 0000 unimp + 80003086: 0000 unimp + 80003088: 0000 unimp + 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: 0000 unimp + 800030a0: 0000 unimp + 800030a2: 0000 unimp + 800030a4: 0000 unimp + 800030a6: 0000 unimp + 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: 0000 unimp + 800030c0: 0000 unimp + 800030c2: 0000 unimp + 800030c4: 0000 unimp + 800030c6: 0000 unimp + 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 + 800030e0: 0000 unimp + 800030e2: 0000 unimp + 800030e4: 0000 unimp + 800030e6: 0000 unimp + 800030e8: 0000 unimp + 800030ea: 0000 unimp + 800030ec: 0000 unimp + 800030ee: 0000 unimp + 800030f0: 0000 unimp + 800030f2: 0000 unimp + 800030f4: 0000 unimp + 800030f6: 0000 unimp + 800030f8: 0000 unimp + 800030fa: 0000 unimp + 800030fc: 0000 unimp + 800030fe: 0000 unimp + 80003100: 0000 unimp + 80003102: 0000 unimp + 80003104: 0000 unimp + 80003106: 0000 unimp + 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 + 80003120: 0000 unimp + 80003122: 0000 unimp + 80003124: 0000 unimp + 80003126: 0000 unimp + 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 + 80003140: 0000 unimp + 80003142: 0000 unimp + 80003144: 0000 unimp + 80003146: 0000 unimp + 80003148: 0000 unimp + 8000314a: 0000 unimp + 8000314c: 0000 unimp + 8000314e: 0000 unimp + 80003150: 0000 unimp + 80003152: 0000 unimp + 80003154: 0000 unimp + 80003156: 0000 unimp + 80003158: 0000 unimp + 8000315a: 0000 unimp + 8000315c: 0000 unimp + 8000315e: 0000 unimp + 80003160: 0000 unimp + 80003162: 0000 unimp + 80003164: 0000 unimp + 80003166: 0000 unimp + 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 + 80003180: 0000 unimp + 80003182: 0000 unimp + 80003184: 0000 unimp + 80003186: 0000 unimp + 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 + 800031a0: 0000 unimp + 800031a2: 0000 unimp + 800031a4: 0000 unimp + 800031a6: 0000 unimp + 800031a8: 0000 unimp + 800031aa: 0000 unimp + 800031ac: 0000 unimp + 800031ae: 0000 unimp + 800031b0: 0000 unimp + 800031b2: 0000 unimp + 800031b4: 0000 unimp + 800031b6: 0000 unimp + 800031b8: 0000 unimp + 800031ba: 0000 unimp + 800031bc: 0000 unimp + 800031be: 0000 unimp + 800031c0: 0000 unimp + 800031c2: 0000 unimp + 800031c4: 0000 unimp + 800031c6: 0000 unimp + 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 + 800031e0: 0000 unimp + 800031e2: 0000 unimp + 800031e4: 0000 unimp + 800031e6: 0000 unimp + 800031e8: 0000 unimp + 800031ea: 0000 unimp + 800031ec: 0000 unimp + 800031ee: 0000 unimp + 800031f0: 0000 unimp + 800031f2: 0000 unimp + 800031f4: 0000 unimp + 800031f6: 0000 unimp + 800031f8: 0000 unimp + 800031fa: 0000 unimp + 800031fc: 0000 unimp + 800031fe: 0000 unimp + 80003200: 0000 unimp + 80003202: 0000 unimp + 80003204: 0000 unimp + 80003206: 0000 unimp + 80003208: 0000 unimp + 8000320a: 0000 unimp + 8000320c: 0000 unimp + 8000320e: 0000 unimp + 80003210: 0000 unimp + 80003212: 0000 unimp + 80003214: 0000 unimp + 80003216: 0000 unimp + 80003218: 0000 unimp + 8000321a: 0000 unimp + 8000321c: 0000 unimp + 8000321e: 0000 unimp + 80003220: 0000 unimp + 80003222: 0000 unimp + 80003224: 0000 unimp + 80003226: 0000 unimp + 80003228: 0000 unimp + 8000322a: 0000 unimp + 8000322c: 0000 unimp + 8000322e: 0000 unimp + 80003230: 0000 unimp + 80003232: 0000 unimp + 80003234: 0000 unimp + 80003236: 0000 unimp + 80003238: 0000 unimp + 8000323a: 0000 unimp + 8000323c: 0000 unimp + 8000323e: 0000 unimp + 80003240: 0000 unimp + 80003242: 0000 unimp + 80003244: 0000 unimp + 80003246: 0000 unimp + 80003248: 0000 unimp + 8000324a: 0000 unimp + 8000324c: 0000 unimp + 8000324e: 0000 unimp + 80003250: 0000 unimp + 80003252: 0000 unimp + 80003254: 0000 unimp + 80003256: 0000 unimp + 80003258: 0000 unimp + 8000325a: 0000 unimp + 8000325c: 0000 unimp + 8000325e: 0000 unimp + 80003260: 0000 unimp + 80003262: 0000 unimp + 80003264: 0000 unimp + 80003266: 0000 unimp + 80003268: 0000 unimp + 8000326a: 0000 unimp + 8000326c: 0000 unimp + 8000326e: 0000 unimp + 80003270: 0000 unimp + 80003272: 0000 unimp + 80003274: 0000 unimp + 80003276: 0000 unimp + 80003278: 0000 unimp + 8000327a: 0000 unimp + 8000327c: 0000 unimp + 8000327e: 0000 unimp + 80003280: 0000 unimp + 80003282: 0000 unimp + 80003284: 0000 unimp + 80003286: 0000 unimp + 80003288: 0000 unimp + 8000328a: 0000 unimp + 8000328c: 0000 unimp + 8000328e: 0000 unimp + 80003290: 0000 unimp + 80003292: 0000 unimp + 80003294: 0000 unimp + 80003296: 0000 unimp + 80003298: 0000 unimp + 8000329a: 0000 unimp + 8000329c: 0000 unimp + 8000329e: 0000 unimp + 800032a0: 0000 unimp + 800032a2: 0000 unimp + 800032a4: 0000 unimp + 800032a6: 0000 unimp + 800032a8: 0000 unimp + 800032aa: 0000 unimp + 800032ac: 0000 unimp + 800032ae: 0000 unimp + 800032b0: 0000 unimp + 800032b2: 0000 unimp + 800032b4: 0000 unimp + 800032b6: 0000 unimp + 800032b8: 0000 unimp + 800032ba: 0000 unimp + 800032bc: 0000 unimp + 800032be: 0000 unimp + 800032c0: 0000 unimp + 800032c2: 0000 unimp + 800032c4: 0000 unimp + 800032c6: 0000 unimp + 800032c8: 0000 unimp + 800032ca: 0000 unimp + 800032cc: 0000 unimp + 800032ce: 0000 unimp + 800032d0: 0000 unimp + 800032d2: 0000 unimp + 800032d4: 0000 unimp + 800032d6: 0000 unimp + 800032d8: 0000 unimp + 800032da: 0000 unimp + 800032dc: 0000 unimp + 800032de: 0000 unimp + 800032e0: 0000 unimp + 800032e2: 0000 unimp + 800032e4: 0000 unimp + 800032e6: 0000 unimp + 800032e8: 0000 unimp + 800032ea: 0000 unimp + 800032ec: 0000 unimp + 800032ee: 0000 unimp + 800032f0: 0000 unimp + 800032f2: 0000 unimp + 800032f4: 0000 unimp + 800032f6: 0000 unimp + 800032f8: 0000 unimp + 800032fa: 0000 unimp + 800032fc: 0000 unimp + 800032fe: 0000 unimp + 80003300: 0000 unimp + 80003302: 0000 unimp + 80003304: 0000 unimp + 80003306: 0000 unimp + 80003308: 0000 unimp + 8000330a: 0000 unimp + 8000330c: 0000 unimp + 8000330e: 0000 unimp + 80003310: 0000 unimp + 80003312: 0000 unimp + 80003314: 0000 unimp + 80003316: 0000 unimp + 80003318: 0000 unimp + 8000331a: 0000 unimp + 8000331c: 0000 unimp + 8000331e: 0000 unimp + 80003320: 0000 unimp + 80003322: 0000 unimp + 80003324: 0000 unimp + 80003326: 0000 unimp + 80003328: 0000 unimp + 8000332a: 0000 unimp + 8000332c: 0000 unimp + 8000332e: 0000 unimp + 80003330: 0000 unimp + 80003332: 0000 unimp + 80003334: 0000 unimp + 80003336: 0000 unimp + 80003338: 0000 unimp + 8000333a: 0000 unimp + 8000333c: 0000 unimp + 8000333e: 0000 unimp + 80003340: 0000 unimp + 80003342: 0000 unimp + 80003344: 0000 unimp + 80003346: 0000 unimp + 80003348: 0000 unimp + 8000334a: 0000 unimp + 8000334c: 0000 unimp + 8000334e: 0000 unimp + 80003350: 0000 unimp + 80003352: 0000 unimp + 80003354: 0000 unimp + 80003356: 0000 unimp + 80003358: 0000 unimp + 8000335a: 0000 unimp + 8000335c: 0000 unimp + 8000335e: 0000 unimp + 80003360: 0000 unimp + 80003362: 0000 unimp + 80003364: 0000 unimp + 80003366: 0000 unimp + 80003368: 0000 unimp + 8000336a: 0000 unimp + 8000336c: 0000 unimp + 8000336e: 0000 unimp + 80003370: 0000 unimp + 80003372: 0000 unimp + 80003374: 0000 unimp + 80003376: 0000 unimp + 80003378: 0000 unimp + 8000337a: 0000 unimp + 8000337c: 0000 unimp + 8000337e: 0000 unimp + 80003380: 0000 unimp + 80003382: 0000 unimp + 80003384: 0000 unimp + 80003386: 0000 unimp + 80003388: 0000 unimp + 8000338a: 0000 unimp + 8000338c: 0000 unimp + 8000338e: 0000 unimp + 80003390: 0000 unimp + 80003392: 0000 unimp + 80003394: 0000 unimp + 80003396: 0000 unimp + 80003398: 0000 unimp + 8000339a: 0000 unimp + 8000339c: 0000 unimp + 8000339e: 0000 unimp + 800033a0: 0000 unimp + 800033a2: 0000 unimp + 800033a4: 0000 unimp + 800033a6: 0000 unimp + 800033a8: 0000 unimp + 800033aa: 0000 unimp + 800033ac: 0000 unimp + 800033ae: 0000 unimp + 800033b0: 0000 unimp + 800033b2: 0000 unimp + 800033b4: 0000 unimp + 800033b6: 0000 unimp + 800033b8: 0000 unimp + 800033ba: 0000 unimp + 800033bc: 0000 unimp + 800033be: 0000 unimp + 800033c0: 0000 unimp + 800033c2: 0000 unimp + 800033c4: 0000 unimp + 800033c6: 0000 unimp + 800033c8: 0000 unimp + 800033ca: 0000 unimp + 800033cc: 0000 unimp + 800033ce: 0000 unimp + 800033d0: 0000 unimp + 800033d2: 0000 unimp + 800033d4: 0000 unimp + 800033d6: 0000 unimp + 800033d8: 0000 unimp + 800033da: 0000 unimp + 800033dc: 0000 unimp + 800033de: 0000 unimp + 800033e0: 0000 unimp + 800033e2: 0000 unimp + 800033e4: 0000 unimp + 800033e6: 0000 unimp + 800033e8: 0000 unimp + 800033ea: 0000 unimp + 800033ec: 0000 unimp + 800033ee: 0000 unimp + 800033f0: 0000 unimp + 800033f2: 0000 unimp + 800033f4: 0000 unimp + 800033f6: 0000 unimp + 800033f8: 0000 unimp + 800033fa: 0000 unimp + 800033fc: 0000 unimp + 800033fe: 0000 unimp + 80003400: 0000 unimp + 80003402: 0000 unimp + 80003404: 0000 unimp + 80003406: 0000 unimp + 80003408: 0000 unimp + 8000340a: 0000 unimp + +000000008000340c <fooTest3>: + 8000340c: 0000 unimp + 8000340e: 0000 unimp diff --git a/test/riscv/tests/rv64uc-p-rvc.elf b/test/riscv/tests/rv64uc-p-rvc.elf Binary files differindex dbfdfcc3..3421d31b 100755..100644 --- a/test/riscv/tests/rv64uc-p-rvc.elf +++ b/test/riscv/tests/rv64uc-p-rvc.elf diff --git a/test/riscv/tests/rv64uc-v-rvc.dump b/test/riscv/tests/rv64uc-v-rvc.dump new file mode 100644 index 00000000..696b038d --- /dev/null +++ b/test/riscv/tests/rv64uc-v-rvc.dump @@ -0,0 +1,6518 @@ + +rv64uc-v-rvc: 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: 0000c117 auipc sp,0xc + 8000001c: 6b810113 addi sp,sp,1720 # 8000c6d0 <_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: fd050513 addi a0,a0,-48 # 80003000 <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,sbadaddr + 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: 00005617 auipc a2,0x5 + 80002318: cec60613 addi a2,a2,-788 # 80007000 <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: 00009797 auipc a5,0x9 + 80002334: 4b878793 addi a5,a5,1208 # 8000b7e8 <freelist_head> + 80002338: 0007b583 ld a1,0(a5) + 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0> + 80002340: 0085b783 ld a5,8(a1) + 80002344: 00009717 auipc a4,0x9 + 80002348: 49c70713 addi a4,a4,1180 # 8000b7e0 <freelist_tail> + 8000234c: 00073703 ld a4,0(a4) + 80002350: 00009897 auipc a7,0x9 + 80002354: 48f8bc23 sd a5,1176(a7) # 8000b7e8 <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: 00009797 auipc a5,0x9 + 80002384: 07078793 addi a5,a5,112 # 8000b3f0 <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+0xffffffff7fdf4810> + 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: 00009797 auipc a5,0x9 + 80002448: 3807be23 sd zero,924(a5) # 8000b7e0 <freelist_tail> + 8000244c: f11ff06f j 8000235c <handle_fault+0x60> + 80002450: 10100613 li a2,257 + 80002454: 04100713 li a4,65 + 80002458: 00004697 auipc a3,0x4 + 8000245c: b7068693 addi a3,a3,-1168 # 80005fc8 <pass+0xcec> + 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: 00004617 auipc a2,0x4 + 800024b8: ba460613 addi a2,a2,-1116 # 80006058 <pass+0xd7c> + 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: 00004617 auipc a2,0x4 + 80002508: b6c60613 addi a2,a2,-1172 # 80006070 <pass+0xd94> + 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: 00004697 auipc a3,0x4 + 80002558: abc68693 addi a3,a3,-1348 # 80006010 <pass+0xd34> + 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: 00004697 auipc a3,0x4 + 80002674: ad868693 addi a3,a3,-1320 # 80006148 <pass+0xe6c> + 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: 00004617 auipc a2,0x4 + 800026cc: a5860613 addi a2,a2,-1448 # 80006120 <pass+0xe44> + 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: 00009d17 auipc s10,0x9 + 80002720: cd4d0d13 addi s10,s10,-812 # 8000b3f0 <user_mapping> + 80002724: 00005b97 auipc s7,0x5 + 80002728: 8dcb8b93 addi s7,s7,-1828 # 80007000 <begin_signature> + 8000272c: 00040b37 lui s6,0x40 + 80002730: ffe00ab7 lui s5,0xffe00 + 80002734: 00009a17 auipc s4,0x9 + 80002738: 0aca0a13 addi s4,s4,172 # 8000b7e0 <freelist_tail> + 8000273c: 0003f937 lui s2,0x3f + 80002740: 01c0006f j 8000275c <handle_trap+0x1c0> + 80002744: 00f73423 sd a5,8(a4) + 80002748: 00009717 auipc a4,0x9 + 8000274c: 08f73c23 sd a5,152(a4) # 8000b7e0 <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: 00009717 auipc a4,0x9 + 800027d4: 00f73823 sd a5,16(a4) # 8000b7e0 <freelist_tail> + 800027d8: 00009717 auipc a4,0x9 + 800027dc: 00f73823 sd a5,16(a4) # 8000b7e8 <freelist_head> + 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4> + 800027e4: 10100793 li a5,257 + 800027e8: 04100613 li a2,65 + 800027ec: 00004697 auipc a3,0x4 + 800027f0: 98c68693 addi a3,a3,-1652 # 80006178 <pass+0xe9c> + 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: 00004697 auipc a3,0x4 + 80002840: 8ac68693 addi a3,a3,-1876 # 800060e8 <pass+0xe0c> + 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: 00004697 auipc a3,0x4 + 80002878: 83c68693 addi a3,a3,-1988 # 800060b0 <pass+0xdd4> + 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: 00005697 auipc a3,0x5 + 800028e0: 72468693 addi a3,a3,1828 # 80008000 <begin_signature+0x1000> + 800028e4: 00006717 auipc a4,0x6 + 800028e8: 71c70713 addi a4,a4,1820 # 80009000 <begin_signature+0x2000> + 800028ec: 00c6d693 srli a3,a3,0xc + 800028f0: 00c75713 srli a4,a4,0xc + 800028f4: 00007797 auipc a5,0x7 + 800028f8: 70c78793 addi a5,a5,1804 # 8000a000 <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: 00004897 auipc a7,0x4 + 80002914: 6ed8b823 sd a3,1776(a7) # 80007000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00005697 auipc a3,0x5 + 80002920: 6ce6be23 sd a4,1756(a3) # 80007ff8 <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: 00004617 auipc a2,0x4 + 80002938: 6cc60613 addi a2,a2,1740 # 80007000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00007697 auipc a3,0x7 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80009ff8 <begin_signature+0x2ff8> + 8000294c: 00005717 auipc a4,0x5 + 80002950: 6af73a23 sd a5,1716(a4) # 80008000 <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: 00008697 auipc a3,0x8 + 800029c0: 64468693 addi a3,a3,1604 # 8000b000 <freelist_nodes> + 800029c4: 010687b3 add a5,a3,a6 + 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20> + 800029cc: 00009617 auipc a2,0x9 + 800029d0: e0f63e23 sd a5,-484(a2) # 8000b7e8 <freelist_head> + 800029d4: 00009797 auipc a5,0x9 + 800029d8: e0e7b623 sd a4,-500(a5) # 8000b7e0 <freelist_tail> + 800029dc: 00009317 auipc t1,0x9 + 800029e0: a1430313 addi t1,t1,-1516 # 8000b3f0 <user_mapping> + 800029e4: 03000793 li a5,48 + 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: 00009797 auipc a5,0x9 + 80002a40: 9a07b623 sd zero,-1620(a5) # 8000b3e8 <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: 0db157b7 lui a5,0xdb15 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 50c78793 addi a5,a5,1292 # db1550c <_start-0x724eaaf4> + 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> + 80002ac8: 0000 unimp + 80002aca: 0000 unimp + 80002acc: 0000 unimp + 80002ace: 0000 unimp + 80002ad0: 0000 unimp + 80002ad2: 0000 unimp + 80002ad4: 0000 unimp + 80002ad6: 0000 unimp + 80002ad8: 0000 unimp + 80002ada: 0000 unimp + 80002adc: 0000 unimp + 80002ade: 0000 unimp + 80002ae0: 0000 unimp + 80002ae2: 0000 unimp + 80002ae4: 0000 unimp + 80002ae6: 0000 unimp + 80002ae8: 0000 unimp + 80002aea: 0000 unimp + 80002aec: 0000 unimp + 80002aee: 0000 unimp + 80002af0: 0000 unimp + 80002af2: 0000 unimp + 80002af4: 0000 unimp + 80002af6: 0000 unimp + 80002af8: 0000 unimp + 80002afa: 0000 unimp + 80002afc: 0000 unimp + 80002afe: 0000 unimp + 80002b00: 0000 unimp + 80002b02: 0000 unimp + 80002b04: 0000 unimp + 80002b06: 0000 unimp + 80002b08: 0000 unimp + 80002b0a: 0000 unimp + 80002b0c: 0000 unimp + 80002b0e: 0000 unimp + 80002b10: 0000 unimp + 80002b12: 0000 unimp + 80002b14: 0000 unimp + 80002b16: 0000 unimp + 80002b18: 0000 unimp + 80002b1a: 0000 unimp + 80002b1c: 0000 unimp + 80002b1e: 0000 unimp + 80002b20: 0000 unimp + 80002b22: 0000 unimp + 80002b24: 0000 unimp + 80002b26: 0000 unimp + 80002b28: 0000 unimp + 80002b2a: 0000 unimp + 80002b2c: 0000 unimp + 80002b2e: 0000 unimp + 80002b30: 0000 unimp + 80002b32: 0000 unimp + 80002b34: 0000 unimp + 80002b36: 0000 unimp + 80002b38: 0000 unimp + 80002b3a: 0000 unimp + 80002b3c: 0000 unimp + 80002b3e: 0000 unimp + 80002b40: 0000 unimp + 80002b42: 0000 unimp + 80002b44: 0000 unimp + 80002b46: 0000 unimp + 80002b48: 0000 unimp + 80002b4a: 0000 unimp + 80002b4c: 0000 unimp + 80002b4e: 0000 unimp + 80002b50: 0000 unimp + 80002b52: 0000 unimp + 80002b54: 0000 unimp + 80002b56: 0000 unimp + 80002b58: 0000 unimp + 80002b5a: 0000 unimp + 80002b5c: 0000 unimp + 80002b5e: 0000 unimp + 80002b60: 0000 unimp + 80002b62: 0000 unimp + 80002b64: 0000 unimp + 80002b66: 0000 unimp + 80002b68: 0000 unimp + 80002b6a: 0000 unimp + 80002b6c: 0000 unimp + 80002b6e: 0000 unimp + 80002b70: 0000 unimp + 80002b72: 0000 unimp + 80002b74: 0000 unimp + 80002b76: 0000 unimp + 80002b78: 0000 unimp + 80002b7a: 0000 unimp + 80002b7c: 0000 unimp + 80002b7e: 0000 unimp + 80002b80: 0000 unimp + 80002b82: 0000 unimp + 80002b84: 0000 unimp + 80002b86: 0000 unimp + 80002b88: 0000 unimp + 80002b8a: 0000 unimp + 80002b8c: 0000 unimp + 80002b8e: 0000 unimp + 80002b90: 0000 unimp + 80002b92: 0000 unimp + 80002b94: 0000 unimp + 80002b96: 0000 unimp + 80002b98: 0000 unimp + 80002b9a: 0000 unimp + 80002b9c: 0000 unimp + 80002b9e: 0000 unimp + 80002ba0: 0000 unimp + 80002ba2: 0000 unimp + 80002ba4: 0000 unimp + 80002ba6: 0000 unimp + 80002ba8: 0000 unimp + 80002baa: 0000 unimp + 80002bac: 0000 unimp + 80002bae: 0000 unimp + 80002bb0: 0000 unimp + 80002bb2: 0000 unimp + 80002bb4: 0000 unimp + 80002bb6: 0000 unimp + 80002bb8: 0000 unimp + 80002bba: 0000 unimp + 80002bbc: 0000 unimp + 80002bbe: 0000 unimp + 80002bc0: 0000 unimp + 80002bc2: 0000 unimp + 80002bc4: 0000 unimp + 80002bc6: 0000 unimp + 80002bc8: 0000 unimp + 80002bca: 0000 unimp + 80002bcc: 0000 unimp + 80002bce: 0000 unimp + 80002bd0: 0000 unimp + 80002bd2: 0000 unimp + 80002bd4: 0000 unimp + 80002bd6: 0000 unimp + 80002bd8: 0000 unimp + 80002bda: 0000 unimp + 80002bdc: 0000 unimp + 80002bde: 0000 unimp + 80002be0: 0000 unimp + 80002be2: 0000 unimp + 80002be4: 0000 unimp + 80002be6: 0000 unimp + 80002be8: 0000 unimp + 80002bea: 0000 unimp + 80002bec: 0000 unimp + 80002bee: 0000 unimp + 80002bf0: 0000 unimp + 80002bf2: 0000 unimp + 80002bf4: 0000 unimp + 80002bf6: 0000 unimp + 80002bf8: 0000 unimp + 80002bfa: 0000 unimp + 80002bfc: 0000 unimp + 80002bfe: 0000 unimp + 80002c00: 0000 unimp + 80002c02: 0000 unimp + 80002c04: 0000 unimp + 80002c06: 0000 unimp + 80002c08: 0000 unimp + 80002c0a: 0000 unimp + 80002c0c: 0000 unimp + 80002c0e: 0000 unimp + 80002c10: 0000 unimp + 80002c12: 0000 unimp + 80002c14: 0000 unimp + 80002c16: 0000 unimp + 80002c18: 0000 unimp + 80002c1a: 0000 unimp + 80002c1c: 0000 unimp + 80002c1e: 0000 unimp + 80002c20: 0000 unimp + 80002c22: 0000 unimp + 80002c24: 0000 unimp + 80002c26: 0000 unimp + 80002c28: 0000 unimp + 80002c2a: 0000 unimp + 80002c2c: 0000 unimp + 80002c2e: 0000 unimp + 80002c30: 0000 unimp + 80002c32: 0000 unimp + 80002c34: 0000 unimp + 80002c36: 0000 unimp + 80002c38: 0000 unimp + 80002c3a: 0000 unimp + 80002c3c: 0000 unimp + 80002c3e: 0000 unimp + 80002c40: 0000 unimp + 80002c42: 0000 unimp + 80002c44: 0000 unimp + 80002c46: 0000 unimp + 80002c48: 0000 unimp + 80002c4a: 0000 unimp + 80002c4c: 0000 unimp + 80002c4e: 0000 unimp + 80002c50: 0000 unimp + 80002c52: 0000 unimp + 80002c54: 0000 unimp + 80002c56: 0000 unimp + 80002c58: 0000 unimp + 80002c5a: 0000 unimp + 80002c5c: 0000 unimp + 80002c5e: 0000 unimp + 80002c60: 0000 unimp + 80002c62: 0000 unimp + 80002c64: 0000 unimp + 80002c66: 0000 unimp + 80002c68: 0000 unimp + 80002c6a: 0000 unimp + 80002c6c: 0000 unimp + 80002c6e: 0000 unimp + 80002c70: 0000 unimp + 80002c72: 0000 unimp + 80002c74: 0000 unimp + 80002c76: 0000 unimp + 80002c78: 0000 unimp + 80002c7a: 0000 unimp + 80002c7c: 0000 unimp + 80002c7e: 0000 unimp + 80002c80: 0000 unimp + 80002c82: 0000 unimp + 80002c84: 0000 unimp + 80002c86: 0000 unimp + 80002c88: 0000 unimp + 80002c8a: 0000 unimp + 80002c8c: 0000 unimp + 80002c8e: 0000 unimp + 80002c90: 0000 unimp + 80002c92: 0000 unimp + 80002c94: 0000 unimp + 80002c96: 0000 unimp + 80002c98: 0000 unimp + 80002c9a: 0000 unimp + 80002c9c: 0000 unimp + 80002c9e: 0000 unimp + 80002ca0: 0000 unimp + 80002ca2: 0000 unimp + 80002ca4: 0000 unimp + 80002ca6: 0000 unimp + 80002ca8: 0000 unimp + 80002caa: 0000 unimp + 80002cac: 0000 unimp + 80002cae: 0000 unimp + 80002cb0: 0000 unimp + 80002cb2: 0000 unimp + 80002cb4: 0000 unimp + 80002cb6: 0000 unimp + 80002cb8: 0000 unimp + 80002cba: 0000 unimp + 80002cbc: 0000 unimp + 80002cbe: 0000 unimp + 80002cc0: 0000 unimp + 80002cc2: 0000 unimp + 80002cc4: 0000 unimp + 80002cc6: 0000 unimp + 80002cc8: 0000 unimp + 80002cca: 0000 unimp + 80002ccc: 0000 unimp + 80002cce: 0000 unimp + 80002cd0: 0000 unimp + 80002cd2: 0000 unimp + 80002cd4: 0000 unimp + 80002cd6: 0000 unimp + 80002cd8: 0000 unimp + 80002cda: 0000 unimp + 80002cdc: 0000 unimp + 80002cde: 0000 unimp + 80002ce0: 0000 unimp + 80002ce2: 0000 unimp + 80002ce4: 0000 unimp + 80002ce6: 0000 unimp + 80002ce8: 0000 unimp + 80002cea: 0000 unimp + 80002cec: 0000 unimp + 80002cee: 0000 unimp + 80002cf0: 0000 unimp + 80002cf2: 0000 unimp + 80002cf4: 0000 unimp + 80002cf6: 0000 unimp + 80002cf8: 0000 unimp + 80002cfa: 0000 unimp + 80002cfc: 0000 unimp + 80002cfe: 0000 unimp + 80002d00: 0000 unimp + 80002d02: 0000 unimp + 80002d04: 0000 unimp + 80002d06: 0000 unimp + 80002d08: 0000 unimp + 80002d0a: 0000 unimp + 80002d0c: 0000 unimp + 80002d0e: 0000 unimp + 80002d10: 0000 unimp + 80002d12: 0000 unimp + 80002d14: 0000 unimp + 80002d16: 0000 unimp + 80002d18: 0000 unimp + 80002d1a: 0000 unimp + 80002d1c: 0000 unimp + 80002d1e: 0000 unimp + 80002d20: 0000 unimp + 80002d22: 0000 unimp + 80002d24: 0000 unimp + 80002d26: 0000 unimp + 80002d28: 0000 unimp + 80002d2a: 0000 unimp + 80002d2c: 0000 unimp + 80002d2e: 0000 unimp + 80002d30: 0000 unimp + 80002d32: 0000 unimp + 80002d34: 0000 unimp + 80002d36: 0000 unimp + 80002d38: 0000 unimp + 80002d3a: 0000 unimp + 80002d3c: 0000 unimp + 80002d3e: 0000 unimp + 80002d40: 0000 unimp + 80002d42: 0000 unimp + 80002d44: 0000 unimp + 80002d46: 0000 unimp + 80002d48: 0000 unimp + 80002d4a: 0000 unimp + 80002d4c: 0000 unimp + 80002d4e: 0000 unimp + 80002d50: 0000 unimp + 80002d52: 0000 unimp + 80002d54: 0000 unimp + 80002d56: 0000 unimp + 80002d58: 0000 unimp + 80002d5a: 0000 unimp + 80002d5c: 0000 unimp + 80002d5e: 0000 unimp + 80002d60: 0000 unimp + 80002d62: 0000 unimp + 80002d64: 0000 unimp + 80002d66: 0000 unimp + 80002d68: 0000 unimp + 80002d6a: 0000 unimp + 80002d6c: 0000 unimp + 80002d6e: 0000 unimp + 80002d70: 0000 unimp + 80002d72: 0000 unimp + 80002d74: 0000 unimp + 80002d76: 0000 unimp + 80002d78: 0000 unimp + 80002d7a: 0000 unimp + 80002d7c: 0000 unimp + 80002d7e: 0000 unimp + 80002d80: 0000 unimp + 80002d82: 0000 unimp + 80002d84: 0000 unimp + 80002d86: 0000 unimp + 80002d88: 0000 unimp + 80002d8a: 0000 unimp + 80002d8c: 0000 unimp + 80002d8e: 0000 unimp + 80002d90: 0000 unimp + 80002d92: 0000 unimp + 80002d94: 0000 unimp + 80002d96: 0000 unimp + 80002d98: 0000 unimp + 80002d9a: 0000 unimp + 80002d9c: 0000 unimp + 80002d9e: 0000 unimp + 80002da0: 0000 unimp + 80002da2: 0000 unimp + 80002da4: 0000 unimp + 80002da6: 0000 unimp + 80002da8: 0000 unimp + 80002daa: 0000 unimp + 80002dac: 0000 unimp + 80002dae: 0000 unimp + 80002db0: 0000 unimp + 80002db2: 0000 unimp + 80002db4: 0000 unimp + 80002db6: 0000 unimp + 80002db8: 0000 unimp + 80002dba: 0000 unimp + 80002dbc: 0000 unimp + 80002dbe: 0000 unimp + 80002dc0: 0000 unimp + 80002dc2: 0000 unimp + 80002dc4: 0000 unimp + 80002dc6: 0000 unimp + 80002dc8: 0000 unimp + 80002dca: 0000 unimp + 80002dcc: 0000 unimp + 80002dce: 0000 unimp + 80002dd0: 0000 unimp + 80002dd2: 0000 unimp + 80002dd4: 0000 unimp + 80002dd6: 0000 unimp + 80002dd8: 0000 unimp + 80002dda: 0000 unimp + 80002ddc: 0000 unimp + 80002dde: 0000 unimp + 80002de0: 0000 unimp + 80002de2: 0000 unimp + 80002de4: 0000 unimp + 80002de6: 0000 unimp + 80002de8: 0000 unimp + 80002dea: 0000 unimp + 80002dec: 0000 unimp + 80002dee: 0000 unimp + 80002df0: 0000 unimp + 80002df2: 0000 unimp + 80002df4: 0000 unimp + 80002df6: 0000 unimp + 80002df8: 0000 unimp + 80002dfa: 0000 unimp + 80002dfc: 0000 unimp + 80002dfe: 0000 unimp + 80002e00: 0000 unimp + 80002e02: 0000 unimp + 80002e04: 0000 unimp + 80002e06: 0000 unimp + 80002e08: 0000 unimp + 80002e0a: 0000 unimp + 80002e0c: 0000 unimp + 80002e0e: 0000 unimp + 80002e10: 0000 unimp + 80002e12: 0000 unimp + 80002e14: 0000 unimp + 80002e16: 0000 unimp + 80002e18: 0000 unimp + 80002e1a: 0000 unimp + 80002e1c: 0000 unimp + 80002e1e: 0000 unimp + 80002e20: 0000 unimp + 80002e22: 0000 unimp + 80002e24: 0000 unimp + 80002e26: 0000 unimp + 80002e28: 0000 unimp + 80002e2a: 0000 unimp + 80002e2c: 0000 unimp + 80002e2e: 0000 unimp + 80002e30: 0000 unimp + 80002e32: 0000 unimp + 80002e34: 0000 unimp + 80002e36: 0000 unimp + 80002e38: 0000 unimp + 80002e3a: 0000 unimp + 80002e3c: 0000 unimp + 80002e3e: 0000 unimp + 80002e40: 0000 unimp + 80002e42: 0000 unimp + 80002e44: 0000 unimp + 80002e46: 0000 unimp + 80002e48: 0000 unimp + 80002e4a: 0000 unimp + 80002e4c: 0000 unimp + 80002e4e: 0000 unimp + 80002e50: 0000 unimp + 80002e52: 0000 unimp + 80002e54: 0000 unimp + 80002e56: 0000 unimp + 80002e58: 0000 unimp + 80002e5a: 0000 unimp + 80002e5c: 0000 unimp + 80002e5e: 0000 unimp + 80002e60: 0000 unimp + 80002e62: 0000 unimp + 80002e64: 0000 unimp + 80002e66: 0000 unimp + 80002e68: 0000 unimp + 80002e6a: 0000 unimp + 80002e6c: 0000 unimp + 80002e6e: 0000 unimp + 80002e70: 0000 unimp + 80002e72: 0000 unimp + 80002e74: 0000 unimp + 80002e76: 0000 unimp + 80002e78: 0000 unimp + 80002e7a: 0000 unimp + 80002e7c: 0000 unimp + 80002e7e: 0000 unimp + 80002e80: 0000 unimp + 80002e82: 0000 unimp + 80002e84: 0000 unimp + 80002e86: 0000 unimp + 80002e88: 0000 unimp + 80002e8a: 0000 unimp + 80002e8c: 0000 unimp + 80002e8e: 0000 unimp + 80002e90: 0000 unimp + 80002e92: 0000 unimp + 80002e94: 0000 unimp + 80002e96: 0000 unimp + 80002e98: 0000 unimp + 80002e9a: 0000 unimp + 80002e9c: 0000 unimp + 80002e9e: 0000 unimp + 80002ea0: 0000 unimp + 80002ea2: 0000 unimp + 80002ea4: 0000 unimp + 80002ea6: 0000 unimp + 80002ea8: 0000 unimp + 80002eaa: 0000 unimp + 80002eac: 0000 unimp + 80002eae: 0000 unimp + 80002eb0: 0000 unimp + 80002eb2: 0000 unimp + 80002eb4: 0000 unimp + 80002eb6: 0000 unimp + 80002eb8: 0000 unimp + 80002eba: 0000 unimp + 80002ebc: 0000 unimp + 80002ebe: 0000 unimp + 80002ec0: 0000 unimp + 80002ec2: 0000 unimp + 80002ec4: 0000 unimp + 80002ec6: 0000 unimp + 80002ec8: 0000 unimp + 80002eca: 0000 unimp + 80002ecc: 0000 unimp + 80002ece: 0000 unimp + 80002ed0: 0000 unimp + 80002ed2: 0000 unimp + 80002ed4: 0000 unimp + 80002ed6: 0000 unimp + 80002ed8: 0000 unimp + 80002eda: 0000 unimp + 80002edc: 0000 unimp + 80002ede: 0000 unimp + 80002ee0: 0000 unimp + 80002ee2: 0000 unimp + 80002ee4: 0000 unimp + 80002ee6: 0000 unimp + 80002ee8: 0000 unimp + 80002eea: 0000 unimp + 80002eec: 0000 unimp + 80002eee: 0000 unimp + 80002ef0: 0000 unimp + 80002ef2: 0000 unimp + 80002ef4: 0000 unimp + 80002ef6: 0000 unimp + 80002ef8: 0000 unimp + 80002efa: 0000 unimp + 80002efc: 0000 unimp + 80002efe: 0000 unimp + 80002f00: 0000 unimp + 80002f02: 0000 unimp + 80002f04: 0000 unimp + 80002f06: 0000 unimp + 80002f08: 0000 unimp + 80002f0a: 0000 unimp + 80002f0c: 0000 unimp + 80002f0e: 0000 unimp + 80002f10: 0000 unimp + 80002f12: 0000 unimp + 80002f14: 0000 unimp + 80002f16: 0000 unimp + 80002f18: 0000 unimp + 80002f1a: 0000 unimp + 80002f1c: 0000 unimp + 80002f1e: 0000 unimp + 80002f20: 0000 unimp + 80002f22: 0000 unimp + 80002f24: 0000 unimp + 80002f26: 0000 unimp + 80002f28: 0000 unimp + 80002f2a: 0000 unimp + 80002f2c: 0000 unimp + 80002f2e: 0000 unimp + 80002f30: 0000 unimp + 80002f32: 0000 unimp + 80002f34: 0000 unimp + 80002f36: 0000 unimp + 80002f38: 0000 unimp + 80002f3a: 0000 unimp + 80002f3c: 0000 unimp + 80002f3e: 0000 unimp + 80002f40: 0000 unimp + 80002f42: 0000 unimp + 80002f44: 0000 unimp + 80002f46: 0000 unimp + 80002f48: 0000 unimp + 80002f4a: 0000 unimp + 80002f4c: 0000 unimp + 80002f4e: 0000 unimp + 80002f50: 0000 unimp + 80002f52: 0000 unimp + 80002f54: 0000 unimp + 80002f56: 0000 unimp + 80002f58: 0000 unimp + 80002f5a: 0000 unimp + 80002f5c: 0000 unimp + 80002f5e: 0000 unimp + 80002f60: 0000 unimp + 80002f62: 0000 unimp + 80002f64: 0000 unimp + 80002f66: 0000 unimp + 80002f68: 0000 unimp + 80002f6a: 0000 unimp + 80002f6c: 0000 unimp + 80002f6e: 0000 unimp + 80002f70: 0000 unimp + 80002f72: 0000 unimp + 80002f74: 0000 unimp + 80002f76: 0000 unimp + 80002f78: 0000 unimp + 80002f7a: 0000 unimp + 80002f7c: 0000 unimp + 80002f7e: 0000 unimp + 80002f80: 0000 unimp + 80002f82: 0000 unimp + 80002f84: 0000 unimp + 80002f86: 0000 unimp + 80002f88: 0000 unimp + 80002f8a: 0000 unimp + 80002f8c: 0000 unimp + 80002f8e: 0000 unimp + 80002f90: 0000 unimp + 80002f92: 0000 unimp + 80002f94: 0000 unimp + 80002f96: 0000 unimp + 80002f98: 0000 unimp + 80002f9a: 0000 unimp + 80002f9c: 0000 unimp + 80002f9e: 0000 unimp + 80002fa0: 0000 unimp + 80002fa2: 0000 unimp + 80002fa4: 0000 unimp + 80002fa6: 0000 unimp + 80002fa8: 0000 unimp + 80002faa: 0000 unimp + 80002fac: 0000 unimp + 80002fae: 0000 unimp + 80002fb0: 0000 unimp + 80002fb2: 0000 unimp + 80002fb4: 0000 unimp + 80002fb6: 0000 unimp + 80002fb8: 0000 unimp + 80002fba: 0000 unimp + 80002fbc: 0000 unimp + 80002fbe: 0000 unimp + 80002fc0: 0000 unimp + 80002fc2: 0000 unimp + 80002fc4: 0000 unimp + 80002fc6: 0000 unimp + 80002fc8: 0000 unimp + 80002fca: 0000 unimp + 80002fcc: 0000 unimp + 80002fce: 0000 unimp + 80002fd0: 0000 unimp + 80002fd2: 0000 unimp + 80002fd4: 0000 unimp + 80002fd6: 0000 unimp + 80002fd8: 0000 unimp + 80002fda: 0000 unimp + 80002fdc: 0000 unimp + 80002fde: 0000 unimp + 80002fe0: 0000 unimp + 80002fe2: 0000 unimp + 80002fe4: 0000 unimp + 80002fe6: 0000 unimp + 80002fe8: 0000 unimp + 80002fea: 0000 unimp + 80002fec: 0000 unimp + 80002fee: 0000 unimp + 80002ff0: 0000 unimp + 80002ff2: 0000 unimp + 80002ff4: 0000 unimp + 80002ff6: 0000 unimp + 80002ff8: 0000 unimp + 80002ffa: 0000 unimp + 80002ffc: 0000 unimp + 80002ffe: 0000 unimp + +0000000080003000 <userstart>: + 80003000: 00200193 li gp,2 + 80003004: 29a00593 li a1,666 + +0000000080003008 <test_2>: + 80003008: 7f70106f j 80004ffe <data+0x1fee> + 8000300c: 00000013 nop + +0000000080003010 <data>: + 80003010: 3210 fld fa2,32(a2) + 80003012: 7654 ld a3,168(a2) + 80003014: ba98 fsd fa4,48(a3) + 80003016: fedc sd a5,184(a3) + 80003018: 3210 fld fa2,32(a2) + 8000301a: 7654 ld a3,168(a2) + 8000301c: ba98 fsd fa4,48(a3) + 8000301e: fedc sd a5,184(a3) + 80003020: 00000013 nop + 80003024: 00000013 nop + 80003028: 00000013 nop + 8000302c: 00000013 nop + 80003030: 00000013 nop + 80003034: 00000013 nop + 80003038: 00000013 nop + 8000303c: 00000013 nop + 80003040: 00000013 nop + 80003044: 00000013 nop + 80003048: 00000013 nop + 8000304c: 00000013 nop + 80003050: 00000013 nop + 80003054: 00000013 nop + 80003058: 00000013 nop + 8000305c: 00000013 nop + 80003060: 00000013 nop + 80003064: 00000013 nop + 80003068: 00000013 nop + 8000306c: 00000013 nop + 80003070: 00000013 nop + 80003074: 00000013 nop + 80003078: 00000013 nop + 8000307c: 00000013 nop + 80003080: 00000013 nop + 80003084: 00000013 nop + 80003088: 00000013 nop + 8000308c: 00000013 nop + 80003090: 00000013 nop + 80003094: 00000013 nop + 80003098: 00000013 nop + 8000309c: 00000013 nop + 800030a0: 00000013 nop + 800030a4: 00000013 nop + 800030a8: 00000013 nop + 800030ac: 00000013 nop + 800030b0: 00000013 nop + 800030b4: 00000013 nop + 800030b8: 00000013 nop + 800030bc: 00000013 nop + 800030c0: 00000013 nop + 800030c4: 00000013 nop + 800030c8: 00000013 nop + 800030cc: 00000013 nop + 800030d0: 00000013 nop + 800030d4: 00000013 nop + 800030d8: 00000013 nop + 800030dc: 00000013 nop + 800030e0: 00000013 nop + 800030e4: 00000013 nop + 800030e8: 00000013 nop + 800030ec: 00000013 nop + 800030f0: 00000013 nop + 800030f4: 00000013 nop + 800030f8: 00000013 nop + 800030fc: 00000013 nop + 80003100: 00000013 nop + 80003104: 00000013 nop + 80003108: 00000013 nop + 8000310c: 00000013 nop + 80003110: 00000013 nop + 80003114: 00000013 nop + 80003118: 00000013 nop + 8000311c: 00000013 nop + 80003120: 00000013 nop + 80003124: 00000013 nop + 80003128: 00000013 nop + 8000312c: 00000013 nop + 80003130: 00000013 nop + 80003134: 00000013 nop + 80003138: 00000013 nop + 8000313c: 00000013 nop + 80003140: 00000013 nop + 80003144: 00000013 nop + 80003148: 00000013 nop + 8000314c: 00000013 nop + 80003150: 00000013 nop + 80003154: 00000013 nop + 80003158: 00000013 nop + 8000315c: 00000013 nop + 80003160: 00000013 nop + 80003164: 00000013 nop + 80003168: 00000013 nop + 8000316c: 00000013 nop + 80003170: 00000013 nop + 80003174: 00000013 nop + 80003178: 00000013 nop + 8000317c: 00000013 nop + 80003180: 00000013 nop + 80003184: 00000013 nop + 80003188: 00000013 nop + 8000318c: 00000013 nop + 80003190: 00000013 nop + 80003194: 00000013 nop + 80003198: 00000013 nop + 8000319c: 00000013 nop + 800031a0: 00000013 nop + 800031a4: 00000013 nop + 800031a8: 00000013 nop + 800031ac: 00000013 nop + 800031b0: 00000013 nop + 800031b4: 00000013 nop + 800031b8: 00000013 nop + 800031bc: 00000013 nop + 800031c0: 00000013 nop + 800031c4: 00000013 nop + 800031c8: 00000013 nop + 800031cc: 00000013 nop + 800031d0: 00000013 nop + 800031d4: 00000013 nop + 800031d8: 00000013 nop + 800031dc: 00000013 nop + 800031e0: 00000013 nop + 800031e4: 00000013 nop + 800031e8: 00000013 nop + 800031ec: 00000013 nop + 800031f0: 00000013 nop + 800031f4: 00000013 nop + 800031f8: 00000013 nop + 800031fc: 00000013 nop + 80003200: 00000013 nop + 80003204: 00000013 nop + 80003208: 00000013 nop + 8000320c: 00000013 nop + 80003210: 00000013 nop + 80003214: 00000013 nop + 80003218: 00000013 nop + 8000321c: 00000013 nop + 80003220: 00000013 nop + 80003224: 00000013 nop + 80003228: 00000013 nop + 8000322c: 00000013 nop + 80003230: 00000013 nop + 80003234: 00000013 nop + 80003238: 00000013 nop + 8000323c: 00000013 nop + 80003240: 00000013 nop + 80003244: 00000013 nop + 80003248: 00000013 nop + 8000324c: 00000013 nop + 80003250: 00000013 nop + 80003254: 00000013 nop + 80003258: 00000013 nop + 8000325c: 00000013 nop + 80003260: 00000013 nop + 80003264: 00000013 nop + 80003268: 00000013 nop + 8000326c: 00000013 nop + 80003270: 00000013 nop + 80003274: 00000013 nop + 80003278: 00000013 nop + 8000327c: 00000013 nop + 80003280: 00000013 nop + 80003284: 00000013 nop + 80003288: 00000013 nop + 8000328c: 00000013 nop + 80003290: 00000013 nop + 80003294: 00000013 nop + 80003298: 00000013 nop + 8000329c: 00000013 nop + 800032a0: 00000013 nop + 800032a4: 00000013 nop + 800032a8: 00000013 nop + 800032ac: 00000013 nop + 800032b0: 00000013 nop + 800032b4: 00000013 nop + 800032b8: 00000013 nop + 800032bc: 00000013 nop + 800032c0: 00000013 nop + 800032c4: 00000013 nop + 800032c8: 00000013 nop + 800032cc: 00000013 nop + 800032d0: 00000013 nop + 800032d4: 00000013 nop + 800032d8: 00000013 nop + 800032dc: 00000013 nop + 800032e0: 00000013 nop + 800032e4: 00000013 nop + 800032e8: 00000013 nop + 800032ec: 00000013 nop + 800032f0: 00000013 nop + 800032f4: 00000013 nop + 800032f8: 00000013 nop + 800032fc: 00000013 nop + 80003300: 00000013 nop + 80003304: 00000013 nop + 80003308: 00000013 nop + 8000330c: 00000013 nop + 80003310: 00000013 nop + 80003314: 00000013 nop + 80003318: 00000013 nop + 8000331c: 00000013 nop + 80003320: 00000013 nop + 80003324: 00000013 nop + 80003328: 00000013 nop + 8000332c: 00000013 nop + 80003330: 00000013 nop + 80003334: 00000013 nop + 80003338: 00000013 nop + 8000333c: 00000013 nop + 80003340: 00000013 nop + 80003344: 00000013 nop + 80003348: 00000013 nop + 8000334c: 00000013 nop + 80003350: 00000013 nop + 80003354: 00000013 nop + 80003358: 00000013 nop + 8000335c: 00000013 nop + 80003360: 00000013 nop + 80003364: 00000013 nop + 80003368: 00000013 nop + 8000336c: 00000013 nop + 80003370: 00000013 nop + 80003374: 00000013 nop + 80003378: 00000013 nop + 8000337c: 00000013 nop + 80003380: 00000013 nop + 80003384: 00000013 nop + 80003388: 00000013 nop + 8000338c: 00000013 nop + 80003390: 00000013 nop + 80003394: 00000013 nop + 80003398: 00000013 nop + 8000339c: 00000013 nop + 800033a0: 00000013 nop + 800033a4: 00000013 nop + 800033a8: 00000013 nop + 800033ac: 00000013 nop + 800033b0: 00000013 nop + 800033b4: 00000013 nop + 800033b8: 00000013 nop + 800033bc: 00000013 nop + 800033c0: 00000013 nop + 800033c4: 00000013 nop + 800033c8: 00000013 nop + 800033cc: 00000013 nop + 800033d0: 00000013 nop + 800033d4: 00000013 nop + 800033d8: 00000013 nop + 800033dc: 00000013 nop + 800033e0: 00000013 nop + 800033e4: 00000013 nop + 800033e8: 00000013 nop + 800033ec: 00000013 nop + 800033f0: 00000013 nop + 800033f4: 00000013 nop + 800033f8: 00000013 nop + 800033fc: 00000013 nop + 80003400: 00000013 nop + 80003404: 00000013 nop + 80003408: 00000013 nop + 8000340c: 00000013 nop + 80003410: 00000013 nop + 80003414: 00000013 nop + 80003418: 00000013 nop + 8000341c: 00000013 nop + 80003420: 00000013 nop + 80003424: 00000013 nop + 80003428: 00000013 nop + 8000342c: 00000013 nop + 80003430: 00000013 nop + 80003434: 00000013 nop + 80003438: 00000013 nop + 8000343c: 00000013 nop + 80003440: 00000013 nop + 80003444: 00000013 nop + 80003448: 00000013 nop + 8000344c: 00000013 nop + 80003450: 00000013 nop + 80003454: 00000013 nop + 80003458: 00000013 nop + 8000345c: 00000013 nop + 80003460: 00000013 nop + 80003464: 00000013 nop + 80003468: 00000013 nop + 8000346c: 00000013 nop + 80003470: 00000013 nop + 80003474: 00000013 nop + 80003478: 00000013 nop + 8000347c: 00000013 nop + 80003480: 00000013 nop + 80003484: 00000013 nop + 80003488: 00000013 nop + 8000348c: 00000013 nop + 80003490: 00000013 nop + 80003494: 00000013 nop + 80003498: 00000013 nop + 8000349c: 00000013 nop + 800034a0: 00000013 nop + 800034a4: 00000013 nop + 800034a8: 00000013 nop + 800034ac: 00000013 nop + 800034b0: 00000013 nop + 800034b4: 00000013 nop + 800034b8: 00000013 nop + 800034bc: 00000013 nop + 800034c0: 00000013 nop + 800034c4: 00000013 nop + 800034c8: 00000013 nop + 800034cc: 00000013 nop + 800034d0: 00000013 nop + 800034d4: 00000013 nop + 800034d8: 00000013 nop + 800034dc: 00000013 nop + 800034e0: 00000013 nop + 800034e4: 00000013 nop + 800034e8: 00000013 nop + 800034ec: 00000013 nop + 800034f0: 00000013 nop + 800034f4: 00000013 nop + 800034f8: 00000013 nop + 800034fc: 00000013 nop + 80003500: 00000013 nop + 80003504: 00000013 nop + 80003508: 00000013 nop + 8000350c: 00000013 nop + 80003510: 00000013 nop + 80003514: 00000013 nop + 80003518: 00000013 nop + 8000351c: 00000013 nop + 80003520: 00000013 nop + 80003524: 00000013 nop + 80003528: 00000013 nop + 8000352c: 00000013 nop + 80003530: 00000013 nop + 80003534: 00000013 nop + 80003538: 00000013 nop + 8000353c: 00000013 nop + 80003540: 00000013 nop + 80003544: 00000013 nop + 80003548: 00000013 nop + 8000354c: 00000013 nop + 80003550: 00000013 nop + 80003554: 00000013 nop + 80003558: 00000013 nop + 8000355c: 00000013 nop + 80003560: 00000013 nop + 80003564: 00000013 nop + 80003568: 00000013 nop + 8000356c: 00000013 nop + 80003570: 00000013 nop + 80003574: 00000013 nop + 80003578: 00000013 nop + 8000357c: 00000013 nop + 80003580: 00000013 nop + 80003584: 00000013 nop + 80003588: 00000013 nop + 8000358c: 00000013 nop + 80003590: 00000013 nop + 80003594: 00000013 nop + 80003598: 00000013 nop + 8000359c: 00000013 nop + 800035a0: 00000013 nop + 800035a4: 00000013 nop + 800035a8: 00000013 nop + 800035ac: 00000013 nop + 800035b0: 00000013 nop + 800035b4: 00000013 nop + 800035b8: 00000013 nop + 800035bc: 00000013 nop + 800035c0: 00000013 nop + 800035c4: 00000013 nop + 800035c8: 00000013 nop + 800035cc: 00000013 nop + 800035d0: 00000013 nop + 800035d4: 00000013 nop + 800035d8: 00000013 nop + 800035dc: 00000013 nop + 800035e0: 00000013 nop + 800035e4: 00000013 nop + 800035e8: 00000013 nop + 800035ec: 00000013 nop + 800035f0: 00000013 nop + 800035f4: 00000013 nop + 800035f8: 00000013 nop + 800035fc: 00000013 nop + 80003600: 00000013 nop + 80003604: 00000013 nop + 80003608: 00000013 nop + 8000360c: 00000013 nop + 80003610: 00000013 nop + 80003614: 00000013 nop + 80003618: 00000013 nop + 8000361c: 00000013 nop + 80003620: 00000013 nop + 80003624: 00000013 nop + 80003628: 00000013 nop + 8000362c: 00000013 nop + 80003630: 00000013 nop + 80003634: 00000013 nop + 80003638: 00000013 nop + 8000363c: 00000013 nop + 80003640: 00000013 nop + 80003644: 00000013 nop + 80003648: 00000013 nop + 8000364c: 00000013 nop + 80003650: 00000013 nop + 80003654: 00000013 nop + 80003658: 00000013 nop + 8000365c: 00000013 nop + 80003660: 00000013 nop + 80003664: 00000013 nop + 80003668: 00000013 nop + 8000366c: 00000013 nop + 80003670: 00000013 nop + 80003674: 00000013 nop + 80003678: 00000013 nop + 8000367c: 00000013 nop + 80003680: 00000013 nop + 80003684: 00000013 nop + 80003688: 00000013 nop + 8000368c: 00000013 nop + 80003690: 00000013 nop + 80003694: 00000013 nop + 80003698: 00000013 nop + 8000369c: 00000013 nop + 800036a0: 00000013 nop + 800036a4: 00000013 nop + 800036a8: 00000013 nop + 800036ac: 00000013 nop + 800036b0: 00000013 nop + 800036b4: 00000013 nop + 800036b8: 00000013 nop + 800036bc: 00000013 nop + 800036c0: 00000013 nop + 800036c4: 00000013 nop + 800036c8: 00000013 nop + 800036cc: 00000013 nop + 800036d0: 00000013 nop + 800036d4: 00000013 nop + 800036d8: 00000013 nop + 800036dc: 00000013 nop + 800036e0: 00000013 nop + 800036e4: 00000013 nop + 800036e8: 00000013 nop + 800036ec: 00000013 nop + 800036f0: 00000013 nop + 800036f4: 00000013 nop + 800036f8: 00000013 nop + 800036fc: 00000013 nop + 80003700: 00000013 nop + 80003704: 00000013 nop + 80003708: 00000013 nop + 8000370c: 00000013 nop + 80003710: 00000013 nop + 80003714: 00000013 nop + 80003718: 00000013 nop + 8000371c: 00000013 nop + 80003720: 00000013 nop + 80003724: 00000013 nop + 80003728: 00000013 nop + 8000372c: 00000013 nop + 80003730: 00000013 nop + 80003734: 00000013 nop + 80003738: 00000013 nop + 8000373c: 00000013 nop + 80003740: 00000013 nop + 80003744: 00000013 nop + 80003748: 00000013 nop + 8000374c: 00000013 nop + 80003750: 00000013 nop + 80003754: 00000013 nop + 80003758: 00000013 nop + 8000375c: 00000013 nop + 80003760: 00000013 nop + 80003764: 00000013 nop + 80003768: 00000013 nop + 8000376c: 00000013 nop + 80003770: 00000013 nop + 80003774: 00000013 nop + 80003778: 00000013 nop + 8000377c: 00000013 nop + 80003780: 00000013 nop + 80003784: 00000013 nop + 80003788: 00000013 nop + 8000378c: 00000013 nop + 80003790: 00000013 nop + 80003794: 00000013 nop + 80003798: 00000013 nop + 8000379c: 00000013 nop + 800037a0: 00000013 nop + 800037a4: 00000013 nop + 800037a8: 00000013 nop + 800037ac: 00000013 nop + 800037b0: 00000013 nop + 800037b4: 00000013 nop + 800037b8: 00000013 nop + 800037bc: 00000013 nop + 800037c0: 00000013 nop + 800037c4: 00000013 nop + 800037c8: 00000013 nop + 800037cc: 00000013 nop + 800037d0: 00000013 nop + 800037d4: 00000013 nop + 800037d8: 00000013 nop + 800037dc: 00000013 nop + 800037e0: 00000013 nop + 800037e4: 00000013 nop + 800037e8: 00000013 nop + 800037ec: 00000013 nop + 800037f0: 00000013 nop + 800037f4: 00000013 nop + 800037f8: 00000013 nop + 800037fc: 00000013 nop + 80003800: 00000013 nop + 80003804: 00000013 nop + 80003808: 00000013 nop + 8000380c: 00000013 nop + 80003810: 00000013 nop + 80003814: 00000013 nop + 80003818: 00000013 nop + 8000381c: 00000013 nop + 80003820: 00000013 nop + 80003824: 00000013 nop + 80003828: 00000013 nop + 8000382c: 00000013 nop + 80003830: 00000013 nop + 80003834: 00000013 nop + 80003838: 00000013 nop + 8000383c: 00000013 nop + 80003840: 00000013 nop + 80003844: 00000013 nop + 80003848: 00000013 nop + 8000384c: 00000013 nop + 80003850: 00000013 nop + 80003854: 00000013 nop + 80003858: 00000013 nop + 8000385c: 00000013 nop + 80003860: 00000013 nop + 80003864: 00000013 nop + 80003868: 00000013 nop + 8000386c: 00000013 nop + 80003870: 00000013 nop + 80003874: 00000013 nop + 80003878: 00000013 nop + 8000387c: 00000013 nop + 80003880: 00000013 nop + 80003884: 00000013 nop + 80003888: 00000013 nop + 8000388c: 00000013 nop + 80003890: 00000013 nop + 80003894: 00000013 nop + 80003898: 00000013 nop + 8000389c: 00000013 nop + 800038a0: 00000013 nop + 800038a4: 00000013 nop + 800038a8: 00000013 nop + 800038ac: 00000013 nop + 800038b0: 00000013 nop + 800038b4: 00000013 nop + 800038b8: 00000013 nop + 800038bc: 00000013 nop + 800038c0: 00000013 nop + 800038c4: 00000013 nop + 800038c8: 00000013 nop + 800038cc: 00000013 nop + 800038d0: 00000013 nop + 800038d4: 00000013 nop + 800038d8: 00000013 nop + 800038dc: 00000013 nop + 800038e0: 00000013 nop + 800038e4: 00000013 nop + 800038e8: 00000013 nop + 800038ec: 00000013 nop + 800038f0: 00000013 nop + 800038f4: 00000013 nop + 800038f8: 00000013 nop + 800038fc: 00000013 nop + 80003900: 00000013 nop + 80003904: 00000013 nop + 80003908: 00000013 nop + 8000390c: 00000013 nop + 80003910: 00000013 nop + 80003914: 00000013 nop + 80003918: 00000013 nop + 8000391c: 00000013 nop + 80003920: 00000013 nop + 80003924: 00000013 nop + 80003928: 00000013 nop + 8000392c: 00000013 nop + 80003930: 00000013 nop + 80003934: 00000013 nop + 80003938: 00000013 nop + 8000393c: 00000013 nop + 80003940: 00000013 nop + 80003944: 00000013 nop + 80003948: 00000013 nop + 8000394c: 00000013 nop + 80003950: 00000013 nop + 80003954: 00000013 nop + 80003958: 00000013 nop + 8000395c: 00000013 nop + 80003960: 00000013 nop + 80003964: 00000013 nop + 80003968: 00000013 nop + 8000396c: 00000013 nop + 80003970: 00000013 nop + 80003974: 00000013 nop + 80003978: 00000013 nop + 8000397c: 00000013 nop + 80003980: 00000013 nop + 80003984: 00000013 nop + 80003988: 00000013 nop + 8000398c: 00000013 nop + 80003990: 00000013 nop + 80003994: 00000013 nop + 80003998: 00000013 nop + 8000399c: 00000013 nop + 800039a0: 00000013 nop + 800039a4: 00000013 nop + 800039a8: 00000013 nop + 800039ac: 00000013 nop + 800039b0: 00000013 nop + 800039b4: 00000013 nop + 800039b8: 00000013 nop + 800039bc: 00000013 nop + 800039c0: 00000013 nop + 800039c4: 00000013 nop + 800039c8: 00000013 nop + 800039cc: 00000013 nop + 800039d0: 00000013 nop + 800039d4: 00000013 nop + 800039d8: 00000013 nop + 800039dc: 00000013 nop + 800039e0: 00000013 nop + 800039e4: 00000013 nop + 800039e8: 00000013 nop + 800039ec: 00000013 nop + 800039f0: 00000013 nop + 800039f4: 00000013 nop + 800039f8: 00000013 nop + 800039fc: 00000013 nop + 80003a00: 00000013 nop + 80003a04: 00000013 nop + 80003a08: 00000013 nop + 80003a0c: 00000013 nop + 80003a10: 00000013 nop + 80003a14: 00000013 nop + 80003a18: 00000013 nop + 80003a1c: 00000013 nop + 80003a20: 00000013 nop + 80003a24: 00000013 nop + 80003a28: 00000013 nop + 80003a2c: 00000013 nop + 80003a30: 00000013 nop + 80003a34: 00000013 nop + 80003a38: 00000013 nop + 80003a3c: 00000013 nop + 80003a40: 00000013 nop + 80003a44: 00000013 nop + 80003a48: 00000013 nop + 80003a4c: 00000013 nop + 80003a50: 00000013 nop + 80003a54: 00000013 nop + 80003a58: 00000013 nop + 80003a5c: 00000013 nop + 80003a60: 00000013 nop + 80003a64: 00000013 nop + 80003a68: 00000013 nop + 80003a6c: 00000013 nop + 80003a70: 00000013 nop + 80003a74: 00000013 nop + 80003a78: 00000013 nop + 80003a7c: 00000013 nop + 80003a80: 00000013 nop + 80003a84: 00000013 nop + 80003a88: 00000013 nop + 80003a8c: 00000013 nop + 80003a90: 00000013 nop + 80003a94: 00000013 nop + 80003a98: 00000013 nop + 80003a9c: 00000013 nop + 80003aa0: 00000013 nop + 80003aa4: 00000013 nop + 80003aa8: 00000013 nop + 80003aac: 00000013 nop + 80003ab0: 00000013 nop + 80003ab4: 00000013 nop + 80003ab8: 00000013 nop + 80003abc: 00000013 nop + 80003ac0: 00000013 nop + 80003ac4: 00000013 nop + 80003ac8: 00000013 nop + 80003acc: 00000013 nop + 80003ad0: 00000013 nop + 80003ad4: 00000013 nop + 80003ad8: 00000013 nop + 80003adc: 00000013 nop + 80003ae0: 00000013 nop + 80003ae4: 00000013 nop + 80003ae8: 00000013 nop + 80003aec: 00000013 nop + 80003af0: 00000013 nop + 80003af4: 00000013 nop + 80003af8: 00000013 nop + 80003afc: 00000013 nop + 80003b00: 00000013 nop + 80003b04: 00000013 nop + 80003b08: 00000013 nop + 80003b0c: 00000013 nop + 80003b10: 00000013 nop + 80003b14: 00000013 nop + 80003b18: 00000013 nop + 80003b1c: 00000013 nop + 80003b20: 00000013 nop + 80003b24: 00000013 nop + 80003b28: 00000013 nop + 80003b2c: 00000013 nop + 80003b30: 00000013 nop + 80003b34: 00000013 nop + 80003b38: 00000013 nop + 80003b3c: 00000013 nop + 80003b40: 00000013 nop + 80003b44: 00000013 nop + 80003b48: 00000013 nop + 80003b4c: 00000013 nop + 80003b50: 00000013 nop + 80003b54: 00000013 nop + 80003b58: 00000013 nop + 80003b5c: 00000013 nop + 80003b60: 00000013 nop + 80003b64: 00000013 nop + 80003b68: 00000013 nop + 80003b6c: 00000013 nop + 80003b70: 00000013 nop + 80003b74: 00000013 nop + 80003b78: 00000013 nop + 80003b7c: 00000013 nop + 80003b80: 00000013 nop + 80003b84: 00000013 nop + 80003b88: 00000013 nop + 80003b8c: 00000013 nop + 80003b90: 00000013 nop + 80003b94: 00000013 nop + 80003b98: 00000013 nop + 80003b9c: 00000013 nop + 80003ba0: 00000013 nop + 80003ba4: 00000013 nop + 80003ba8: 00000013 nop + 80003bac: 00000013 nop + 80003bb0: 00000013 nop + 80003bb4: 00000013 nop + 80003bb8: 00000013 nop + 80003bbc: 00000013 nop + 80003bc0: 00000013 nop + 80003bc4: 00000013 nop + 80003bc8: 00000013 nop + 80003bcc: 00000013 nop + 80003bd0: 00000013 nop + 80003bd4: 00000013 nop + 80003bd8: 00000013 nop + 80003bdc: 00000013 nop + 80003be0: 00000013 nop + 80003be4: 00000013 nop + 80003be8: 00000013 nop + 80003bec: 00000013 nop + 80003bf0: 00000013 nop + 80003bf4: 00000013 nop + 80003bf8: 00000013 nop + 80003bfc: 00000013 nop + 80003c00: 00000013 nop + 80003c04: 00000013 nop + 80003c08: 00000013 nop + 80003c0c: 00000013 nop + 80003c10: 00000013 nop + 80003c14: 00000013 nop + 80003c18: 00000013 nop + 80003c1c: 00000013 nop + 80003c20: 00000013 nop + 80003c24: 00000013 nop + 80003c28: 00000013 nop + 80003c2c: 00000013 nop + 80003c30: 00000013 nop + 80003c34: 00000013 nop + 80003c38: 00000013 nop + 80003c3c: 00000013 nop + 80003c40: 00000013 nop + 80003c44: 00000013 nop + 80003c48: 00000013 nop + 80003c4c: 00000013 nop + 80003c50: 00000013 nop + 80003c54: 00000013 nop + 80003c58: 00000013 nop + 80003c5c: 00000013 nop + 80003c60: 00000013 nop + 80003c64: 00000013 nop + 80003c68: 00000013 nop + 80003c6c: 00000013 nop + 80003c70: 00000013 nop + 80003c74: 00000013 nop + 80003c78: 00000013 nop + 80003c7c: 00000013 nop + 80003c80: 00000013 nop + 80003c84: 00000013 nop + 80003c88: 00000013 nop + 80003c8c: 00000013 nop + 80003c90: 00000013 nop + 80003c94: 00000013 nop + 80003c98: 00000013 nop + 80003c9c: 00000013 nop + 80003ca0: 00000013 nop + 80003ca4: 00000013 nop + 80003ca8: 00000013 nop + 80003cac: 00000013 nop + 80003cb0: 00000013 nop + 80003cb4: 00000013 nop + 80003cb8: 00000013 nop + 80003cbc: 00000013 nop + 80003cc0: 00000013 nop + 80003cc4: 00000013 nop + 80003cc8: 00000013 nop + 80003ccc: 00000013 nop + 80003cd0: 00000013 nop + 80003cd4: 00000013 nop + 80003cd8: 00000013 nop + 80003cdc: 00000013 nop + 80003ce0: 00000013 nop + 80003ce4: 00000013 nop + 80003ce8: 00000013 nop + 80003cec: 00000013 nop + 80003cf0: 00000013 nop + 80003cf4: 00000013 nop + 80003cf8: 00000013 nop + 80003cfc: 00000013 nop + 80003d00: 00000013 nop + 80003d04: 00000013 nop + 80003d08: 00000013 nop + 80003d0c: 00000013 nop + 80003d10: 00000013 nop + 80003d14: 00000013 nop + 80003d18: 00000013 nop + 80003d1c: 00000013 nop + 80003d20: 00000013 nop + 80003d24: 00000013 nop + 80003d28: 00000013 nop + 80003d2c: 00000013 nop + 80003d30: 00000013 nop + 80003d34: 00000013 nop + 80003d38: 00000013 nop + 80003d3c: 00000013 nop + 80003d40: 00000013 nop + 80003d44: 00000013 nop + 80003d48: 00000013 nop + 80003d4c: 00000013 nop + 80003d50: 00000013 nop + 80003d54: 00000013 nop + 80003d58: 00000013 nop + 80003d5c: 00000013 nop + 80003d60: 00000013 nop + 80003d64: 00000013 nop + 80003d68: 00000013 nop + 80003d6c: 00000013 nop + 80003d70: 00000013 nop + 80003d74: 00000013 nop + 80003d78: 00000013 nop + 80003d7c: 00000013 nop + 80003d80: 00000013 nop + 80003d84: 00000013 nop + 80003d88: 00000013 nop + 80003d8c: 00000013 nop + 80003d90: 00000013 nop + 80003d94: 00000013 nop + 80003d98: 00000013 nop + 80003d9c: 00000013 nop + 80003da0: 00000013 nop + 80003da4: 00000013 nop + 80003da8: 00000013 nop + 80003dac: 00000013 nop + 80003db0: 00000013 nop + 80003db4: 00000013 nop + 80003db8: 00000013 nop + 80003dbc: 00000013 nop + 80003dc0: 00000013 nop + 80003dc4: 00000013 nop + 80003dc8: 00000013 nop + 80003dcc: 00000013 nop + 80003dd0: 00000013 nop + 80003dd4: 00000013 nop + 80003dd8: 00000013 nop + 80003ddc: 00000013 nop + 80003de0: 00000013 nop + 80003de4: 00000013 nop + 80003de8: 00000013 nop + 80003dec: 00000013 nop + 80003df0: 00000013 nop + 80003df4: 00000013 nop + 80003df8: 00000013 nop + 80003dfc: 00000013 nop + 80003e00: 00000013 nop + 80003e04: 00000013 nop + 80003e08: 00000013 nop + 80003e0c: 00000013 nop + 80003e10: 00000013 nop + 80003e14: 00000013 nop + 80003e18: 00000013 nop + 80003e1c: 00000013 nop + 80003e20: 00000013 nop + 80003e24: 00000013 nop + 80003e28: 00000013 nop + 80003e2c: 00000013 nop + 80003e30: 00000013 nop + 80003e34: 00000013 nop + 80003e38: 00000013 nop + 80003e3c: 00000013 nop + 80003e40: 00000013 nop + 80003e44: 00000013 nop + 80003e48: 00000013 nop + 80003e4c: 00000013 nop + 80003e50: 00000013 nop + 80003e54: 00000013 nop + 80003e58: 00000013 nop + 80003e5c: 00000013 nop + 80003e60: 00000013 nop + 80003e64: 00000013 nop + 80003e68: 00000013 nop + 80003e6c: 00000013 nop + 80003e70: 00000013 nop + 80003e74: 00000013 nop + 80003e78: 00000013 nop + 80003e7c: 00000013 nop + 80003e80: 00000013 nop + 80003e84: 00000013 nop + 80003e88: 00000013 nop + 80003e8c: 00000013 nop + 80003e90: 00000013 nop + 80003e94: 00000013 nop + 80003e98: 00000013 nop + 80003e9c: 00000013 nop + 80003ea0: 00000013 nop + 80003ea4: 00000013 nop + 80003ea8: 00000013 nop + 80003eac: 00000013 nop + 80003eb0: 00000013 nop + 80003eb4: 00000013 nop + 80003eb8: 00000013 nop + 80003ebc: 00000013 nop + 80003ec0: 00000013 nop + 80003ec4: 00000013 nop + 80003ec8: 00000013 nop + 80003ecc: 00000013 nop + 80003ed0: 00000013 nop + 80003ed4: 00000013 nop + 80003ed8: 00000013 nop + 80003edc: 00000013 nop + 80003ee0: 00000013 nop + 80003ee4: 00000013 nop + 80003ee8: 00000013 nop + 80003eec: 00000013 nop + 80003ef0: 00000013 nop + 80003ef4: 00000013 nop + 80003ef8: 00000013 nop + 80003efc: 00000013 nop + 80003f00: 00000013 nop + 80003f04: 00000013 nop + 80003f08: 00000013 nop + 80003f0c: 00000013 nop + 80003f10: 00000013 nop + 80003f14: 00000013 nop + 80003f18: 00000013 nop + 80003f1c: 00000013 nop + 80003f20: 00000013 nop + 80003f24: 00000013 nop + 80003f28: 00000013 nop + 80003f2c: 00000013 nop + 80003f30: 00000013 nop + 80003f34: 00000013 nop + 80003f38: 00000013 nop + 80003f3c: 00000013 nop + 80003f40: 00000013 nop + 80003f44: 00000013 nop + 80003f48: 00000013 nop + 80003f4c: 00000013 nop + 80003f50: 00000013 nop + 80003f54: 00000013 nop + 80003f58: 00000013 nop + 80003f5c: 00000013 nop + 80003f60: 00000013 nop + 80003f64: 00000013 nop + 80003f68: 00000013 nop + 80003f6c: 00000013 nop + 80003f70: 00000013 nop + 80003f74: 00000013 nop + 80003f78: 00000013 nop + 80003f7c: 00000013 nop + 80003f80: 00000013 nop + 80003f84: 00000013 nop + 80003f88: 00000013 nop + 80003f8c: 00000013 nop + 80003f90: 00000013 nop + 80003f94: 00000013 nop + 80003f98: 00000013 nop + 80003f9c: 00000013 nop + 80003fa0: 00000013 nop + 80003fa4: 00000013 nop + 80003fa8: 00000013 nop + 80003fac: 00000013 nop + 80003fb0: 00000013 nop + 80003fb4: 00000013 nop + 80003fb8: 00000013 nop + 80003fbc: 00000013 nop + 80003fc0: 00000013 nop + 80003fc4: 00000013 nop + 80003fc8: 00000013 nop + 80003fcc: 00000013 nop + 80003fd0: 00000013 nop + 80003fd4: 00000013 nop + 80003fd8: 00000013 nop + 80003fdc: 00000013 nop + 80003fe0: 00000013 nop + 80003fe4: 00000013 nop + 80003fe8: 00000013 nop + 80003fec: 00000013 nop + 80003ff0: 00000013 nop + 80003ff4: 00000013 nop + 80003ff8: 00000013 nop + 80003ffc: 00000013 nop + 80004000: 0000 unimp + 80004002: 0000 unimp + 80004004: 0000 unimp + 80004006: 0000 unimp + 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: 0000 unimp + 8000401a: 0000 unimp + 8000401c: 0000 unimp + 8000401e: 0000 unimp + 80004020: 0000 unimp + 80004022: 0000 unimp + 80004024: 0000 unimp + 80004026: 0000 unimp + 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: 0000 unimp + 8000403a: 0000 unimp + 8000403c: 0000 unimp + 8000403e: 0000 unimp + 80004040: 0000 unimp + 80004042: 0000 unimp + 80004044: 0000 unimp + 80004046: 0000 unimp + 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 + 80004060: 0000 unimp + 80004062: 0000 unimp + 80004064: 0000 unimp + 80004066: 0000 unimp + 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 + 80004080: 0000 unimp + 80004082: 0000 unimp + 80004084: 0000 unimp + 80004086: 0000 unimp + 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: 0000 unimp + 8000409a: 0000 unimp + 8000409c: 0000 unimp + 8000409e: 0000 unimp + 800040a0: 0000 unimp + 800040a2: 0000 unimp + 800040a4: 0000 unimp + 800040a6: 0000 unimp + 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: 0000 unimp + 800040ba: 0000 unimp + 800040bc: 0000 unimp + 800040be: 0000 unimp + 800040c0: 0000 unimp + 800040c2: 0000 unimp + 800040c4: 0000 unimp + 800040c6: 0000 unimp + 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: 0000 unimp + 800040e2: 0000 unimp + 800040e4: 0000 unimp + 800040e6: 0000 unimp + 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: 0000 unimp + 800040fa: 0000 unimp + 800040fc: 0000 unimp + 800040fe: 0000 unimp + 80004100: 0000 unimp + 80004102: 0000 unimp + 80004104: 0000 unimp + 80004106: 0000 unimp + 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: 0000 unimp + 80004122: 0000 unimp + 80004124: 0000 unimp + 80004126: 0000 unimp + 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: 0000 unimp + 80004142: 0000 unimp + 80004144: 0000 unimp + 80004146: 0000 unimp + 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 + 80004160: 0000 unimp + 80004162: 0000 unimp + 80004164: 0000 unimp + 80004166: 0000 unimp + 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: 0000 unimp + 80004182: 0000 unimp + 80004184: 0000 unimp + 80004186: 0000 unimp + 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: 0000 unimp + 800041a2: 0000 unimp + 800041a4: 0000 unimp + 800041a6: 0000 unimp + 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: 0000 unimp + 800041ba: 0000 unimp + 800041bc: 0000 unimp + 800041be: 0000 unimp + 800041c0: 0000 unimp + 800041c2: 0000 unimp + 800041c4: 0000 unimp + 800041c6: 0000 unimp + 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 + 800041e0: 0000 unimp + 800041e2: 0000 unimp + 800041e4: 0000 unimp + 800041e6: 0000 unimp + 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: 0000 unimp + 800041fa: 0000 unimp + 800041fc: 0000 unimp + 800041fe: 0000 unimp + 80004200: 0000 unimp + 80004202: 0000 unimp + 80004204: 0000 unimp + 80004206: 0000 unimp + 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: 0000 unimp + 80004222: 0000 unimp + 80004224: 0000 unimp + 80004226: 0000 unimp + 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: 0000 unimp + 8000423a: 0000 unimp + 8000423c: 0000 unimp + 8000423e: 0000 unimp + 80004240: 0000 unimp + 80004242: 0000 unimp + 80004244: 0000 unimp + 80004246: 0000 unimp + 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 + 80004260: 0000 unimp + 80004262: 0000 unimp + 80004264: 0000 unimp + 80004266: 0000 unimp + 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 + 80004280: 0000 unimp + 80004282: 0000 unimp + 80004284: 0000 unimp + 80004286: 0000 unimp + 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: 0000 unimp + 8000429a: 0000 unimp + 8000429c: 0000 unimp + 8000429e: 0000 unimp + 800042a0: 0000 unimp + 800042a2: 0000 unimp + 800042a4: 0000 unimp + 800042a6: 0000 unimp + 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: 0000 unimp + 800042ba: 0000 unimp + 800042bc: 0000 unimp + 800042be: 0000 unimp + 800042c0: 0000 unimp + 800042c2: 0000 unimp + 800042c4: 0000 unimp + 800042c6: 0000 unimp + 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: 0000 unimp + 800042da: 0000 unimp + 800042dc: 0000 unimp + 800042de: 0000 unimp + 800042e0: 0000 unimp + 800042e2: 0000 unimp + 800042e4: 0000 unimp + 800042e6: 0000 unimp + 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: 0000 unimp + 800042fa: 0000 unimp + 800042fc: 0000 unimp + 800042fe: 0000 unimp + 80004300: 0000 unimp + 80004302: 0000 unimp + 80004304: 0000 unimp + 80004306: 0000 unimp + 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: 0000 unimp + 80004320: 0000 unimp + 80004322: 0000 unimp + 80004324: 0000 unimp + 80004326: 0000 unimp + 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: 0000 unimp + 8000433a: 0000 unimp + 8000433c: 0000 unimp + 8000433e: 0000 unimp + 80004340: 0000 unimp + 80004342: 0000 unimp + 80004344: 0000 unimp + 80004346: 0000 unimp + 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 + 80004360: 0000 unimp + 80004362: 0000 unimp + 80004364: 0000 unimp + 80004366: 0000 unimp + 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 + 80004380: 0000 unimp + 80004382: 0000 unimp + 80004384: 0000 unimp + 80004386: 0000 unimp + 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 + 800043a0: 0000 unimp + 800043a2: 0000 unimp + 800043a4: 0000 unimp + 800043a6: 0000 unimp + 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 + 800043c0: 0000 unimp + 800043c2: 0000 unimp + 800043c4: 0000 unimp + 800043c6: 0000 unimp + 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: 0000 unimp + 800043da: 0000 unimp + 800043dc: 0000 unimp + 800043de: 0000 unimp + 800043e0: 0000 unimp + 800043e2: 0000 unimp + 800043e4: 0000 unimp + 800043e6: 0000 unimp + 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: 0000 unimp + 800043fa: 0000 unimp + 800043fc: 0000 unimp + 800043fe: 0000 unimp + 80004400: 0000 unimp + 80004402: 0000 unimp + 80004404: 0000 unimp + 80004406: 0000 unimp + 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 + 80004420: 0000 unimp + 80004422: 0000 unimp + 80004424: 0000 unimp + 80004426: 0000 unimp + 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: 0000 unimp + 8000443a: 0000 unimp + 8000443c: 0000 unimp + 8000443e: 0000 unimp + 80004440: 0000 unimp + 80004442: 0000 unimp + 80004444: 0000 unimp + 80004446: 0000 unimp + 80004448: 0000 unimp + 8000444a: 0000 unimp + 8000444c: 0000 unimp + 8000444e: 0000 unimp + 80004450: 0000 unimp + 80004452: 0000 unimp + 80004454: 0000 unimp + 80004456: 0000 unimp + 80004458: 0000 unimp + 8000445a: 0000 unimp + 8000445c: 0000 unimp + 8000445e: 0000 unimp + 80004460: 0000 unimp + 80004462: 0000 unimp + 80004464: 0000 unimp + 80004466: 0000 unimp + 80004468: 0000 unimp + 8000446a: 0000 unimp + 8000446c: 0000 unimp + 8000446e: 0000 unimp + 80004470: 0000 unimp + 80004472: 0000 unimp + 80004474: 0000 unimp + 80004476: 0000 unimp + 80004478: 0000 unimp + 8000447a: 0000 unimp + 8000447c: 0000 unimp + 8000447e: 0000 unimp + 80004480: 0000 unimp + 80004482: 0000 unimp + 80004484: 0000 unimp + 80004486: 0000 unimp + 80004488: 0000 unimp + 8000448a: 0000 unimp + 8000448c: 0000 unimp + 8000448e: 0000 unimp + 80004490: 0000 unimp + 80004492: 0000 unimp + 80004494: 0000 unimp + 80004496: 0000 unimp + 80004498: 0000 unimp + 8000449a: 0000 unimp + 8000449c: 0000 unimp + 8000449e: 0000 unimp + 800044a0: 0000 unimp + 800044a2: 0000 unimp + 800044a4: 0000 unimp + 800044a6: 0000 unimp + 800044a8: 0000 unimp + 800044aa: 0000 unimp + 800044ac: 0000 unimp + 800044ae: 0000 unimp + 800044b0: 0000 unimp + 800044b2: 0000 unimp + 800044b4: 0000 unimp + 800044b6: 0000 unimp + 800044b8: 0000 unimp + 800044ba: 0000 unimp + 800044bc: 0000 unimp + 800044be: 0000 unimp + 800044c0: 0000 unimp + 800044c2: 0000 unimp + 800044c4: 0000 unimp + 800044c6: 0000 unimp + 800044c8: 0000 unimp + 800044ca: 0000 unimp + 800044cc: 0000 unimp + 800044ce: 0000 unimp + 800044d0: 0000 unimp + 800044d2: 0000 unimp + 800044d4: 0000 unimp + 800044d6: 0000 unimp + 800044d8: 0000 unimp + 800044da: 0000 unimp + 800044dc: 0000 unimp + 800044de: 0000 unimp + 800044e0: 0000 unimp + 800044e2: 0000 unimp + 800044e4: 0000 unimp + 800044e6: 0000 unimp + 800044e8: 0000 unimp + 800044ea: 0000 unimp + 800044ec: 0000 unimp + 800044ee: 0000 unimp + 800044f0: 0000 unimp + 800044f2: 0000 unimp + 800044f4: 0000 unimp + 800044f6: 0000 unimp + 800044f8: 0000 unimp + 800044fa: 0000 unimp + 800044fc: 0000 unimp + 800044fe: 0000 unimp + 80004500: 0000 unimp + 80004502: 0000 unimp + 80004504: 0000 unimp + 80004506: 0000 unimp + 80004508: 0000 unimp + 8000450a: 0000 unimp + 8000450c: 0000 unimp + 8000450e: 0000 unimp + 80004510: 0000 unimp + 80004512: 0000 unimp + 80004514: 0000 unimp + 80004516: 0000 unimp + 80004518: 0000 unimp + 8000451a: 0000 unimp + 8000451c: 0000 unimp + 8000451e: 0000 unimp + 80004520: 0000 unimp + 80004522: 0000 unimp + 80004524: 0000 unimp + 80004526: 0000 unimp + 80004528: 0000 unimp + 8000452a: 0000 unimp + 8000452c: 0000 unimp + 8000452e: 0000 unimp + 80004530: 0000 unimp + 80004532: 0000 unimp + 80004534: 0000 unimp + 80004536: 0000 unimp + 80004538: 0000 unimp + 8000453a: 0000 unimp + 8000453c: 0000 unimp + 8000453e: 0000 unimp + 80004540: 0000 unimp + 80004542: 0000 unimp + 80004544: 0000 unimp + 80004546: 0000 unimp + 80004548: 0000 unimp + 8000454a: 0000 unimp + 8000454c: 0000 unimp + 8000454e: 0000 unimp + 80004550: 0000 unimp + 80004552: 0000 unimp + 80004554: 0000 unimp + 80004556: 0000 unimp + 80004558: 0000 unimp + 8000455a: 0000 unimp + 8000455c: 0000 unimp + 8000455e: 0000 unimp + 80004560: 0000 unimp + 80004562: 0000 unimp + 80004564: 0000 unimp + 80004566: 0000 unimp + 80004568: 0000 unimp + 8000456a: 0000 unimp + 8000456c: 0000 unimp + 8000456e: 0000 unimp + 80004570: 0000 unimp + 80004572: 0000 unimp + 80004574: 0000 unimp + 80004576: 0000 unimp + 80004578: 0000 unimp + 8000457a: 0000 unimp + 8000457c: 0000 unimp + 8000457e: 0000 unimp + 80004580: 0000 unimp + 80004582: 0000 unimp + 80004584: 0000 unimp + 80004586: 0000 unimp + 80004588: 0000 unimp + 8000458a: 0000 unimp + 8000458c: 0000 unimp + 8000458e: 0000 unimp + 80004590: 0000 unimp + 80004592: 0000 unimp + 80004594: 0000 unimp + 80004596: 0000 unimp + 80004598: 0000 unimp + 8000459a: 0000 unimp + 8000459c: 0000 unimp + 8000459e: 0000 unimp + 800045a0: 0000 unimp + 800045a2: 0000 unimp + 800045a4: 0000 unimp + 800045a6: 0000 unimp + 800045a8: 0000 unimp + 800045aa: 0000 unimp + 800045ac: 0000 unimp + 800045ae: 0000 unimp + 800045b0: 0000 unimp + 800045b2: 0000 unimp + 800045b4: 0000 unimp + 800045b6: 0000 unimp + 800045b8: 0000 unimp + 800045ba: 0000 unimp + 800045bc: 0000 unimp + 800045be: 0000 unimp + 800045c0: 0000 unimp + 800045c2: 0000 unimp + 800045c4: 0000 unimp + 800045c6: 0000 unimp + 800045c8: 0000 unimp + 800045ca: 0000 unimp + 800045cc: 0000 unimp + 800045ce: 0000 unimp + 800045d0: 0000 unimp + 800045d2: 0000 unimp + 800045d4: 0000 unimp + 800045d6: 0000 unimp + 800045d8: 0000 unimp + 800045da: 0000 unimp + 800045dc: 0000 unimp + 800045de: 0000 unimp + 800045e0: 0000 unimp + 800045e2: 0000 unimp + 800045e4: 0000 unimp + 800045e6: 0000 unimp + 800045e8: 0000 unimp + 800045ea: 0000 unimp + 800045ec: 0000 unimp + 800045ee: 0000 unimp + 800045f0: 0000 unimp + 800045f2: 0000 unimp + 800045f4: 0000 unimp + 800045f6: 0000 unimp + 800045f8: 0000 unimp + 800045fa: 0000 unimp + 800045fc: 0000 unimp + 800045fe: 0000 unimp + 80004600: 0000 unimp + 80004602: 0000 unimp + 80004604: 0000 unimp + 80004606: 0000 unimp + 80004608: 0000 unimp + 8000460a: 0000 unimp + 8000460c: 0000 unimp + 8000460e: 0000 unimp + 80004610: 0000 unimp + 80004612: 0000 unimp + 80004614: 0000 unimp + 80004616: 0000 unimp + 80004618: 0000 unimp + 8000461a: 0000 unimp + 8000461c: 0000 unimp + 8000461e: 0000 unimp + 80004620: 0000 unimp + 80004622: 0000 unimp + 80004624: 0000 unimp + 80004626: 0000 unimp + 80004628: 0000 unimp + 8000462a: 0000 unimp + 8000462c: 0000 unimp + 8000462e: 0000 unimp + 80004630: 0000 unimp + 80004632: 0000 unimp + 80004634: 0000 unimp + 80004636: 0000 unimp + 80004638: 0000 unimp + 8000463a: 0000 unimp + 8000463c: 0000 unimp + 8000463e: 0000 unimp + 80004640: 0000 unimp + 80004642: 0000 unimp + 80004644: 0000 unimp + 80004646: 0000 unimp + 80004648: 0000 unimp + 8000464a: 0000 unimp + 8000464c: 0000 unimp + 8000464e: 0000 unimp + 80004650: 0000 unimp + 80004652: 0000 unimp + 80004654: 0000 unimp + 80004656: 0000 unimp + 80004658: 0000 unimp + 8000465a: 0000 unimp + 8000465c: 0000 unimp + 8000465e: 0000 unimp + 80004660: 0000 unimp + 80004662: 0000 unimp + 80004664: 0000 unimp + 80004666: 0000 unimp + 80004668: 0000 unimp + 8000466a: 0000 unimp + 8000466c: 0000 unimp + 8000466e: 0000 unimp + 80004670: 0000 unimp + 80004672: 0000 unimp + 80004674: 0000 unimp + 80004676: 0000 unimp + 80004678: 0000 unimp + 8000467a: 0000 unimp + 8000467c: 0000 unimp + 8000467e: 0000 unimp + 80004680: 0000 unimp + 80004682: 0000 unimp + 80004684: 0000 unimp + 80004686: 0000 unimp + 80004688: 0000 unimp + 8000468a: 0000 unimp + 8000468c: 0000 unimp + 8000468e: 0000 unimp + 80004690: 0000 unimp + 80004692: 0000 unimp + 80004694: 0000 unimp + 80004696: 0000 unimp + 80004698: 0000 unimp + 8000469a: 0000 unimp + 8000469c: 0000 unimp + 8000469e: 0000 unimp + 800046a0: 0000 unimp + 800046a2: 0000 unimp + 800046a4: 0000 unimp + 800046a6: 0000 unimp + 800046a8: 0000 unimp + 800046aa: 0000 unimp + 800046ac: 0000 unimp + 800046ae: 0000 unimp + 800046b0: 0000 unimp + 800046b2: 0000 unimp + 800046b4: 0000 unimp + 800046b6: 0000 unimp + 800046b8: 0000 unimp + 800046ba: 0000 unimp + 800046bc: 0000 unimp + 800046be: 0000 unimp + 800046c0: 0000 unimp + 800046c2: 0000 unimp + 800046c4: 0000 unimp + 800046c6: 0000 unimp + 800046c8: 0000 unimp + 800046ca: 0000 unimp + 800046cc: 0000 unimp + 800046ce: 0000 unimp + 800046d0: 0000 unimp + 800046d2: 0000 unimp + 800046d4: 0000 unimp + 800046d6: 0000 unimp + 800046d8: 0000 unimp + 800046da: 0000 unimp + 800046dc: 0000 unimp + 800046de: 0000 unimp + 800046e0: 0000 unimp + 800046e2: 0000 unimp + 800046e4: 0000 unimp + 800046e6: 0000 unimp + 800046e8: 0000 unimp + 800046ea: 0000 unimp + 800046ec: 0000 unimp + 800046ee: 0000 unimp + 800046f0: 0000 unimp + 800046f2: 0000 unimp + 800046f4: 0000 unimp + 800046f6: 0000 unimp + 800046f8: 0000 unimp + 800046fa: 0000 unimp + 800046fc: 0000 unimp + 800046fe: 0000 unimp + 80004700: 0000 unimp + 80004702: 0000 unimp + 80004704: 0000 unimp + 80004706: 0000 unimp + 80004708: 0000 unimp + 8000470a: 0000 unimp + 8000470c: 0000 unimp + 8000470e: 0000 unimp + 80004710: 0000 unimp + 80004712: 0000 unimp + 80004714: 0000 unimp + 80004716: 0000 unimp + 80004718: 0000 unimp + 8000471a: 0000 unimp + 8000471c: 0000 unimp + 8000471e: 0000 unimp + 80004720: 0000 unimp + 80004722: 0000 unimp + 80004724: 0000 unimp + 80004726: 0000 unimp + 80004728: 0000 unimp + 8000472a: 0000 unimp + 8000472c: 0000 unimp + 8000472e: 0000 unimp + 80004730: 0000 unimp + 80004732: 0000 unimp + 80004734: 0000 unimp + 80004736: 0000 unimp + 80004738: 0000 unimp + 8000473a: 0000 unimp + 8000473c: 0000 unimp + 8000473e: 0000 unimp + 80004740: 0000 unimp + 80004742: 0000 unimp + 80004744: 0000 unimp + 80004746: 0000 unimp + 80004748: 0000 unimp + 8000474a: 0000 unimp + 8000474c: 0000 unimp + 8000474e: 0000 unimp + 80004750: 0000 unimp + 80004752: 0000 unimp + 80004754: 0000 unimp + 80004756: 0000 unimp + 80004758: 0000 unimp + 8000475a: 0000 unimp + 8000475c: 0000 unimp + 8000475e: 0000 unimp + 80004760: 0000 unimp + 80004762: 0000 unimp + 80004764: 0000 unimp + 80004766: 0000 unimp + 80004768: 0000 unimp + 8000476a: 0000 unimp + 8000476c: 0000 unimp + 8000476e: 0000 unimp + 80004770: 0000 unimp + 80004772: 0000 unimp + 80004774: 0000 unimp + 80004776: 0000 unimp + 80004778: 0000 unimp + 8000477a: 0000 unimp + 8000477c: 0000 unimp + 8000477e: 0000 unimp + 80004780: 0000 unimp + 80004782: 0000 unimp + 80004784: 0000 unimp + 80004786: 0000 unimp + 80004788: 0000 unimp + 8000478a: 0000 unimp + 8000478c: 0000 unimp + 8000478e: 0000 unimp + 80004790: 0000 unimp + 80004792: 0000 unimp + 80004794: 0000 unimp + 80004796: 0000 unimp + 80004798: 0000 unimp + 8000479a: 0000 unimp + 8000479c: 0000 unimp + 8000479e: 0000 unimp + 800047a0: 0000 unimp + 800047a2: 0000 unimp + 800047a4: 0000 unimp + 800047a6: 0000 unimp + 800047a8: 0000 unimp + 800047aa: 0000 unimp + 800047ac: 0000 unimp + 800047ae: 0000 unimp + 800047b0: 0000 unimp + 800047b2: 0000 unimp + 800047b4: 0000 unimp + 800047b6: 0000 unimp + 800047b8: 0000 unimp + 800047ba: 0000 unimp + 800047bc: 0000 unimp + 800047be: 0000 unimp + 800047c0: 0000 unimp + 800047c2: 0000 unimp + 800047c4: 0000 unimp + 800047c6: 0000 unimp + 800047c8: 0000 unimp + 800047ca: 0000 unimp + 800047cc: 0000 unimp + 800047ce: 0000 unimp + 800047d0: 0000 unimp + 800047d2: 0000 unimp + 800047d4: 0000 unimp + 800047d6: 0000 unimp + 800047d8: 0000 unimp + 800047da: 0000 unimp + 800047dc: 0000 unimp + 800047de: 0000 unimp + 800047e0: 0000 unimp + 800047e2: 0000 unimp + 800047e4: 0000 unimp + 800047e6: 0000 unimp + 800047e8: 0000 unimp + 800047ea: 0000 unimp + 800047ec: 0000 unimp + 800047ee: 0000 unimp + 800047f0: 0000 unimp + 800047f2: 0000 unimp + 800047f4: 0000 unimp + 800047f6: 0000 unimp + 800047f8: 0000 unimp + 800047fa: 0000 unimp + 800047fc: 0000 unimp + 800047fe: 0000 unimp + 80004800: 0000 unimp + 80004802: 0000 unimp + 80004804: 0000 unimp + 80004806: 0000 unimp + 80004808: 0000 unimp + 8000480a: 0000 unimp + 8000480c: 0000 unimp + 8000480e: 0000 unimp + 80004810: 0000 unimp + 80004812: 0000 unimp + 80004814: 0000 unimp + 80004816: 0000 unimp + 80004818: 0000 unimp + 8000481a: 0000 unimp + 8000481c: 0000 unimp + 8000481e: 0000 unimp + 80004820: 0000 unimp + 80004822: 0000 unimp + 80004824: 0000 unimp + 80004826: 0000 unimp + 80004828: 0000 unimp + 8000482a: 0000 unimp + 8000482c: 0000 unimp + 8000482e: 0000 unimp + 80004830: 0000 unimp + 80004832: 0000 unimp + 80004834: 0000 unimp + 80004836: 0000 unimp + 80004838: 0000 unimp + 8000483a: 0000 unimp + 8000483c: 0000 unimp + 8000483e: 0000 unimp + 80004840: 0000 unimp + 80004842: 0000 unimp + 80004844: 0000 unimp + 80004846: 0000 unimp + 80004848: 0000 unimp + 8000484a: 0000 unimp + 8000484c: 0000 unimp + 8000484e: 0000 unimp + 80004850: 0000 unimp + 80004852: 0000 unimp + 80004854: 0000 unimp + 80004856: 0000 unimp + 80004858: 0000 unimp + 8000485a: 0000 unimp + 8000485c: 0000 unimp + 8000485e: 0000 unimp + 80004860: 0000 unimp + 80004862: 0000 unimp + 80004864: 0000 unimp + 80004866: 0000 unimp + 80004868: 0000 unimp + 8000486a: 0000 unimp + 8000486c: 0000 unimp + 8000486e: 0000 unimp + 80004870: 0000 unimp + 80004872: 0000 unimp + 80004874: 0000 unimp + 80004876: 0000 unimp + 80004878: 0000 unimp + 8000487a: 0000 unimp + 8000487c: 0000 unimp + 8000487e: 0000 unimp + 80004880: 0000 unimp + 80004882: 0000 unimp + 80004884: 0000 unimp + 80004886: 0000 unimp + 80004888: 0000 unimp + 8000488a: 0000 unimp + 8000488c: 0000 unimp + 8000488e: 0000 unimp + 80004890: 0000 unimp + 80004892: 0000 unimp + 80004894: 0000 unimp + 80004896: 0000 unimp + 80004898: 0000 unimp + 8000489a: 0000 unimp + 8000489c: 0000 unimp + 8000489e: 0000 unimp + 800048a0: 0000 unimp + 800048a2: 0000 unimp + 800048a4: 0000 unimp + 800048a6: 0000 unimp + 800048a8: 0000 unimp + 800048aa: 0000 unimp + 800048ac: 0000 unimp + 800048ae: 0000 unimp + 800048b0: 0000 unimp + 800048b2: 0000 unimp + 800048b4: 0000 unimp + 800048b6: 0000 unimp + 800048b8: 0000 unimp + 800048ba: 0000 unimp + 800048bc: 0000 unimp + 800048be: 0000 unimp + 800048c0: 0000 unimp + 800048c2: 0000 unimp + 800048c4: 0000 unimp + 800048c6: 0000 unimp + 800048c8: 0000 unimp + 800048ca: 0000 unimp + 800048cc: 0000 unimp + 800048ce: 0000 unimp + 800048d0: 0000 unimp + 800048d2: 0000 unimp + 800048d4: 0000 unimp + 800048d6: 0000 unimp + 800048d8: 0000 unimp + 800048da: 0000 unimp + 800048dc: 0000 unimp + 800048de: 0000 unimp + 800048e0: 0000 unimp + 800048e2: 0000 unimp + 800048e4: 0000 unimp + 800048e6: 0000 unimp + 800048e8: 0000 unimp + 800048ea: 0000 unimp + 800048ec: 0000 unimp + 800048ee: 0000 unimp + 800048f0: 0000 unimp + 800048f2: 0000 unimp + 800048f4: 0000 unimp + 800048f6: 0000 unimp + 800048f8: 0000 unimp + 800048fa: 0000 unimp + 800048fc: 0000 unimp + 800048fe: 0000 unimp + 80004900: 0000 unimp + 80004902: 0000 unimp + 80004904: 0000 unimp + 80004906: 0000 unimp + 80004908: 0000 unimp + 8000490a: 0000 unimp + 8000490c: 0000 unimp + 8000490e: 0000 unimp + 80004910: 0000 unimp + 80004912: 0000 unimp + 80004914: 0000 unimp + 80004916: 0000 unimp + 80004918: 0000 unimp + 8000491a: 0000 unimp + 8000491c: 0000 unimp + 8000491e: 0000 unimp + 80004920: 0000 unimp + 80004922: 0000 unimp + 80004924: 0000 unimp + 80004926: 0000 unimp + 80004928: 0000 unimp + 8000492a: 0000 unimp + 8000492c: 0000 unimp + 8000492e: 0000 unimp + 80004930: 0000 unimp + 80004932: 0000 unimp + 80004934: 0000 unimp + 80004936: 0000 unimp + 80004938: 0000 unimp + 8000493a: 0000 unimp + 8000493c: 0000 unimp + 8000493e: 0000 unimp + 80004940: 0000 unimp + 80004942: 0000 unimp + 80004944: 0000 unimp + 80004946: 0000 unimp + 80004948: 0000 unimp + 8000494a: 0000 unimp + 8000494c: 0000 unimp + 8000494e: 0000 unimp + 80004950: 0000 unimp + 80004952: 0000 unimp + 80004954: 0000 unimp + 80004956: 0000 unimp + 80004958: 0000 unimp + 8000495a: 0000 unimp + 8000495c: 0000 unimp + 8000495e: 0000 unimp + 80004960: 0000 unimp + 80004962: 0000 unimp + 80004964: 0000 unimp + 80004966: 0000 unimp + 80004968: 0000 unimp + 8000496a: 0000 unimp + 8000496c: 0000 unimp + 8000496e: 0000 unimp + 80004970: 0000 unimp + 80004972: 0000 unimp + 80004974: 0000 unimp + 80004976: 0000 unimp + 80004978: 0000 unimp + 8000497a: 0000 unimp + 8000497c: 0000 unimp + 8000497e: 0000 unimp + 80004980: 0000 unimp + 80004982: 0000 unimp + 80004984: 0000 unimp + 80004986: 0000 unimp + 80004988: 0000 unimp + 8000498a: 0000 unimp + 8000498c: 0000 unimp + 8000498e: 0000 unimp + 80004990: 0000 unimp + 80004992: 0000 unimp + 80004994: 0000 unimp + 80004996: 0000 unimp + 80004998: 0000 unimp + 8000499a: 0000 unimp + 8000499c: 0000 unimp + 8000499e: 0000 unimp + 800049a0: 0000 unimp + 800049a2: 0000 unimp + 800049a4: 0000 unimp + 800049a6: 0000 unimp + 800049a8: 0000 unimp + 800049aa: 0000 unimp + 800049ac: 0000 unimp + 800049ae: 0000 unimp + 800049b0: 0000 unimp + 800049b2: 0000 unimp + 800049b4: 0000 unimp + 800049b6: 0000 unimp + 800049b8: 0000 unimp + 800049ba: 0000 unimp + 800049bc: 0000 unimp + 800049be: 0000 unimp + 800049c0: 0000 unimp + 800049c2: 0000 unimp + 800049c4: 0000 unimp + 800049c6: 0000 unimp + 800049c8: 0000 unimp + 800049ca: 0000 unimp + 800049cc: 0000 unimp + 800049ce: 0000 unimp + 800049d0: 0000 unimp + 800049d2: 0000 unimp + 800049d4: 0000 unimp + 800049d6: 0000 unimp + 800049d8: 0000 unimp + 800049da: 0000 unimp + 800049dc: 0000 unimp + 800049de: 0000 unimp + 800049e0: 0000 unimp + 800049e2: 0000 unimp + 800049e4: 0000 unimp + 800049e6: 0000 unimp + 800049e8: 0000 unimp + 800049ea: 0000 unimp + 800049ec: 0000 unimp + 800049ee: 0000 unimp + 800049f0: 0000 unimp + 800049f2: 0000 unimp + 800049f4: 0000 unimp + 800049f6: 0000 unimp + 800049f8: 0000 unimp + 800049fa: 0000 unimp + 800049fc: 0000 unimp + 800049fe: 0000 unimp + 80004a00: 0000 unimp + 80004a02: 0000 unimp + 80004a04: 0000 unimp + 80004a06: 0000 unimp + 80004a08: 0000 unimp + 80004a0a: 0000 unimp + 80004a0c: 0000 unimp + 80004a0e: 0000 unimp + 80004a10: 0000 unimp + 80004a12: 0000 unimp + 80004a14: 0000 unimp + 80004a16: 0000 unimp + 80004a18: 0000 unimp + 80004a1a: 0000 unimp + 80004a1c: 0000 unimp + 80004a1e: 0000 unimp + 80004a20: 0000 unimp + 80004a22: 0000 unimp + 80004a24: 0000 unimp + 80004a26: 0000 unimp + 80004a28: 0000 unimp + 80004a2a: 0000 unimp + 80004a2c: 0000 unimp + 80004a2e: 0000 unimp + 80004a30: 0000 unimp + 80004a32: 0000 unimp + 80004a34: 0000 unimp + 80004a36: 0000 unimp + 80004a38: 0000 unimp + 80004a3a: 0000 unimp + 80004a3c: 0000 unimp + 80004a3e: 0000 unimp + 80004a40: 0000 unimp + 80004a42: 0000 unimp + 80004a44: 0000 unimp + 80004a46: 0000 unimp + 80004a48: 0000 unimp + 80004a4a: 0000 unimp + 80004a4c: 0000 unimp + 80004a4e: 0000 unimp + 80004a50: 0000 unimp + 80004a52: 0000 unimp + 80004a54: 0000 unimp + 80004a56: 0000 unimp + 80004a58: 0000 unimp + 80004a5a: 0000 unimp + 80004a5c: 0000 unimp + 80004a5e: 0000 unimp + 80004a60: 0000 unimp + 80004a62: 0000 unimp + 80004a64: 0000 unimp + 80004a66: 0000 unimp + 80004a68: 0000 unimp + 80004a6a: 0000 unimp + 80004a6c: 0000 unimp + 80004a6e: 0000 unimp + 80004a70: 0000 unimp + 80004a72: 0000 unimp + 80004a74: 0000 unimp + 80004a76: 0000 unimp + 80004a78: 0000 unimp + 80004a7a: 0000 unimp + 80004a7c: 0000 unimp + 80004a7e: 0000 unimp + 80004a80: 0000 unimp + 80004a82: 0000 unimp + 80004a84: 0000 unimp + 80004a86: 0000 unimp + 80004a88: 0000 unimp + 80004a8a: 0000 unimp + 80004a8c: 0000 unimp + 80004a8e: 0000 unimp + 80004a90: 0000 unimp + 80004a92: 0000 unimp + 80004a94: 0000 unimp + 80004a96: 0000 unimp + 80004a98: 0000 unimp + 80004a9a: 0000 unimp + 80004a9c: 0000 unimp + 80004a9e: 0000 unimp + 80004aa0: 0000 unimp + 80004aa2: 0000 unimp + 80004aa4: 0000 unimp + 80004aa6: 0000 unimp + 80004aa8: 0000 unimp + 80004aaa: 0000 unimp + 80004aac: 0000 unimp + 80004aae: 0000 unimp + 80004ab0: 0000 unimp + 80004ab2: 0000 unimp + 80004ab4: 0000 unimp + 80004ab6: 0000 unimp + 80004ab8: 0000 unimp + 80004aba: 0000 unimp + 80004abc: 0000 unimp + 80004abe: 0000 unimp + 80004ac0: 0000 unimp + 80004ac2: 0000 unimp + 80004ac4: 0000 unimp + 80004ac6: 0000 unimp + 80004ac8: 0000 unimp + 80004aca: 0000 unimp + 80004acc: 0000 unimp + 80004ace: 0000 unimp + 80004ad0: 0000 unimp + 80004ad2: 0000 unimp + 80004ad4: 0000 unimp + 80004ad6: 0000 unimp + 80004ad8: 0000 unimp + 80004ada: 0000 unimp + 80004adc: 0000 unimp + 80004ade: 0000 unimp + 80004ae0: 0000 unimp + 80004ae2: 0000 unimp + 80004ae4: 0000 unimp + 80004ae6: 0000 unimp + 80004ae8: 0000 unimp + 80004aea: 0000 unimp + 80004aec: 0000 unimp + 80004aee: 0000 unimp + 80004af0: 0000 unimp + 80004af2: 0000 unimp + 80004af4: 0000 unimp + 80004af6: 0000 unimp + 80004af8: 0000 unimp + 80004afa: 0000 unimp + 80004afc: 0000 unimp + 80004afe: 0000 unimp + 80004b00: 0000 unimp + 80004b02: 0000 unimp + 80004b04: 0000 unimp + 80004b06: 0000 unimp + 80004b08: 0000 unimp + 80004b0a: 0000 unimp + 80004b0c: 0000 unimp + 80004b0e: 0000 unimp + 80004b10: 0000 unimp + 80004b12: 0000 unimp + 80004b14: 0000 unimp + 80004b16: 0000 unimp + 80004b18: 0000 unimp + 80004b1a: 0000 unimp + 80004b1c: 0000 unimp + 80004b1e: 0000 unimp + 80004b20: 0000 unimp + 80004b22: 0000 unimp + 80004b24: 0000 unimp + 80004b26: 0000 unimp + 80004b28: 0000 unimp + 80004b2a: 0000 unimp + 80004b2c: 0000 unimp + 80004b2e: 0000 unimp + 80004b30: 0000 unimp + 80004b32: 0000 unimp + 80004b34: 0000 unimp + 80004b36: 0000 unimp + 80004b38: 0000 unimp + 80004b3a: 0000 unimp + 80004b3c: 0000 unimp + 80004b3e: 0000 unimp + 80004b40: 0000 unimp + 80004b42: 0000 unimp + 80004b44: 0000 unimp + 80004b46: 0000 unimp + 80004b48: 0000 unimp + 80004b4a: 0000 unimp + 80004b4c: 0000 unimp + 80004b4e: 0000 unimp + 80004b50: 0000 unimp + 80004b52: 0000 unimp + 80004b54: 0000 unimp + 80004b56: 0000 unimp + 80004b58: 0000 unimp + 80004b5a: 0000 unimp + 80004b5c: 0000 unimp + 80004b5e: 0000 unimp + 80004b60: 0000 unimp + 80004b62: 0000 unimp + 80004b64: 0000 unimp + 80004b66: 0000 unimp + 80004b68: 0000 unimp + 80004b6a: 0000 unimp + 80004b6c: 0000 unimp + 80004b6e: 0000 unimp + 80004b70: 0000 unimp + 80004b72: 0000 unimp + 80004b74: 0000 unimp + 80004b76: 0000 unimp + 80004b78: 0000 unimp + 80004b7a: 0000 unimp + 80004b7c: 0000 unimp + 80004b7e: 0000 unimp + 80004b80: 0000 unimp + 80004b82: 0000 unimp + 80004b84: 0000 unimp + 80004b86: 0000 unimp + 80004b88: 0000 unimp + 80004b8a: 0000 unimp + 80004b8c: 0000 unimp + 80004b8e: 0000 unimp + 80004b90: 0000 unimp + 80004b92: 0000 unimp + 80004b94: 0000 unimp + 80004b96: 0000 unimp + 80004b98: 0000 unimp + 80004b9a: 0000 unimp + 80004b9c: 0000 unimp + 80004b9e: 0000 unimp + 80004ba0: 0000 unimp + 80004ba2: 0000 unimp + 80004ba4: 0000 unimp + 80004ba6: 0000 unimp + 80004ba8: 0000 unimp + 80004baa: 0000 unimp + 80004bac: 0000 unimp + 80004bae: 0000 unimp + 80004bb0: 0000 unimp + 80004bb2: 0000 unimp + 80004bb4: 0000 unimp + 80004bb6: 0000 unimp + 80004bb8: 0000 unimp + 80004bba: 0000 unimp + 80004bbc: 0000 unimp + 80004bbe: 0000 unimp + 80004bc0: 0000 unimp + 80004bc2: 0000 unimp + 80004bc4: 0000 unimp + 80004bc6: 0000 unimp + 80004bc8: 0000 unimp + 80004bca: 0000 unimp + 80004bcc: 0000 unimp + 80004bce: 0000 unimp + 80004bd0: 0000 unimp + 80004bd2: 0000 unimp + 80004bd4: 0000 unimp + 80004bd6: 0000 unimp + 80004bd8: 0000 unimp + 80004bda: 0000 unimp + 80004bdc: 0000 unimp + 80004bde: 0000 unimp + 80004be0: 0000 unimp + 80004be2: 0000 unimp + 80004be4: 0000 unimp + 80004be6: 0000 unimp + 80004be8: 0000 unimp + 80004bea: 0000 unimp + 80004bec: 0000 unimp + 80004bee: 0000 unimp + 80004bf0: 0000 unimp + 80004bf2: 0000 unimp + 80004bf4: 0000 unimp + 80004bf6: 0000 unimp + 80004bf8: 0000 unimp + 80004bfa: 0000 unimp + 80004bfc: 0000 unimp + 80004bfe: 0000 unimp + 80004c00: 0000 unimp + 80004c02: 0000 unimp + 80004c04: 0000 unimp + 80004c06: 0000 unimp + 80004c08: 0000 unimp + 80004c0a: 0000 unimp + 80004c0c: 0000 unimp + 80004c0e: 0000 unimp + 80004c10: 0000 unimp + 80004c12: 0000 unimp + 80004c14: 0000 unimp + 80004c16: 0000 unimp + 80004c18: 0000 unimp + 80004c1a: 0000 unimp + 80004c1c: 0000 unimp + 80004c1e: 0000 unimp + 80004c20: 0000 unimp + 80004c22: 0000 unimp + 80004c24: 0000 unimp + 80004c26: 0000 unimp + 80004c28: 0000 unimp + 80004c2a: 0000 unimp + 80004c2c: 0000 unimp + 80004c2e: 0000 unimp + 80004c30: 0000 unimp + 80004c32: 0000 unimp + 80004c34: 0000 unimp + 80004c36: 0000 unimp + 80004c38: 0000 unimp + 80004c3a: 0000 unimp + 80004c3c: 0000 unimp + 80004c3e: 0000 unimp + 80004c40: 0000 unimp + 80004c42: 0000 unimp + 80004c44: 0000 unimp + 80004c46: 0000 unimp + 80004c48: 0000 unimp + 80004c4a: 0000 unimp + 80004c4c: 0000 unimp + 80004c4e: 0000 unimp + 80004c50: 0000 unimp + 80004c52: 0000 unimp + 80004c54: 0000 unimp + 80004c56: 0000 unimp + 80004c58: 0000 unimp + 80004c5a: 0000 unimp + 80004c5c: 0000 unimp + 80004c5e: 0000 unimp + 80004c60: 0000 unimp + 80004c62: 0000 unimp + 80004c64: 0000 unimp + 80004c66: 0000 unimp + 80004c68: 0000 unimp + 80004c6a: 0000 unimp + 80004c6c: 0000 unimp + 80004c6e: 0000 unimp + 80004c70: 0000 unimp + 80004c72: 0000 unimp + 80004c74: 0000 unimp + 80004c76: 0000 unimp + 80004c78: 0000 unimp + 80004c7a: 0000 unimp + 80004c7c: 0000 unimp + 80004c7e: 0000 unimp + 80004c80: 0000 unimp + 80004c82: 0000 unimp + 80004c84: 0000 unimp + 80004c86: 0000 unimp + 80004c88: 0000 unimp + 80004c8a: 0000 unimp + 80004c8c: 0000 unimp + 80004c8e: 0000 unimp + 80004c90: 0000 unimp + 80004c92: 0000 unimp + 80004c94: 0000 unimp + 80004c96: 0000 unimp + 80004c98: 0000 unimp + 80004c9a: 0000 unimp + 80004c9c: 0000 unimp + 80004c9e: 0000 unimp + 80004ca0: 0000 unimp + 80004ca2: 0000 unimp + 80004ca4: 0000 unimp + 80004ca6: 0000 unimp + 80004ca8: 0000 unimp + 80004caa: 0000 unimp + 80004cac: 0000 unimp + 80004cae: 0000 unimp + 80004cb0: 0000 unimp + 80004cb2: 0000 unimp + 80004cb4: 0000 unimp + 80004cb6: 0000 unimp + 80004cb8: 0000 unimp + 80004cba: 0000 unimp + 80004cbc: 0000 unimp + 80004cbe: 0000 unimp + 80004cc0: 0000 unimp + 80004cc2: 0000 unimp + 80004cc4: 0000 unimp + 80004cc6: 0000 unimp + 80004cc8: 0000 unimp + 80004cca: 0000 unimp + 80004ccc: 0000 unimp + 80004cce: 0000 unimp + 80004cd0: 0000 unimp + 80004cd2: 0000 unimp + 80004cd4: 0000 unimp + 80004cd6: 0000 unimp + 80004cd8: 0000 unimp + 80004cda: 0000 unimp + 80004cdc: 0000 unimp + 80004cde: 0000 unimp + 80004ce0: 0000 unimp + 80004ce2: 0000 unimp + 80004ce4: 0000 unimp + 80004ce6: 0000 unimp + 80004ce8: 0000 unimp + 80004cea: 0000 unimp + 80004cec: 0000 unimp + 80004cee: 0000 unimp + 80004cf0: 0000 unimp + 80004cf2: 0000 unimp + 80004cf4: 0000 unimp + 80004cf6: 0000 unimp + 80004cf8: 0000 unimp + 80004cfa: 0000 unimp + 80004cfc: 0000 unimp + 80004cfe: 0000 unimp + 80004d00: 0000 unimp + 80004d02: 0000 unimp + 80004d04: 0000 unimp + 80004d06: 0000 unimp + 80004d08: 0000 unimp + 80004d0a: 0000 unimp + 80004d0c: 0000 unimp + 80004d0e: 0000 unimp + 80004d10: 0000 unimp + 80004d12: 0000 unimp + 80004d14: 0000 unimp + 80004d16: 0000 unimp + 80004d18: 0000 unimp + 80004d1a: 0000 unimp + 80004d1c: 0000 unimp + 80004d1e: 0000 unimp + 80004d20: 0000 unimp + 80004d22: 0000 unimp + 80004d24: 0000 unimp + 80004d26: 0000 unimp + 80004d28: 0000 unimp + 80004d2a: 0000 unimp + 80004d2c: 0000 unimp + 80004d2e: 0000 unimp + 80004d30: 0000 unimp + 80004d32: 0000 unimp + 80004d34: 0000 unimp + 80004d36: 0000 unimp + 80004d38: 0000 unimp + 80004d3a: 0000 unimp + 80004d3c: 0000 unimp + 80004d3e: 0000 unimp + 80004d40: 0000 unimp + 80004d42: 0000 unimp + 80004d44: 0000 unimp + 80004d46: 0000 unimp + 80004d48: 0000 unimp + 80004d4a: 0000 unimp + 80004d4c: 0000 unimp + 80004d4e: 0000 unimp + 80004d50: 0000 unimp + 80004d52: 0000 unimp + 80004d54: 0000 unimp + 80004d56: 0000 unimp + 80004d58: 0000 unimp + 80004d5a: 0000 unimp + 80004d5c: 0000 unimp + 80004d5e: 0000 unimp + 80004d60: 0000 unimp + 80004d62: 0000 unimp + 80004d64: 0000 unimp + 80004d66: 0000 unimp + 80004d68: 0000 unimp + 80004d6a: 0000 unimp + 80004d6c: 0000 unimp + 80004d6e: 0000 unimp + 80004d70: 0000 unimp + 80004d72: 0000 unimp + 80004d74: 0000 unimp + 80004d76: 0000 unimp + 80004d78: 0000 unimp + 80004d7a: 0000 unimp + 80004d7c: 0000 unimp + 80004d7e: 0000 unimp + 80004d80: 0000 unimp + 80004d82: 0000 unimp + 80004d84: 0000 unimp + 80004d86: 0000 unimp + 80004d88: 0000 unimp + 80004d8a: 0000 unimp + 80004d8c: 0000 unimp + 80004d8e: 0000 unimp + 80004d90: 0000 unimp + 80004d92: 0000 unimp + 80004d94: 0000 unimp + 80004d96: 0000 unimp + 80004d98: 0000 unimp + 80004d9a: 0000 unimp + 80004d9c: 0000 unimp + 80004d9e: 0000 unimp + 80004da0: 0000 unimp + 80004da2: 0000 unimp + 80004da4: 0000 unimp + 80004da6: 0000 unimp + 80004da8: 0000 unimp + 80004daa: 0000 unimp + 80004dac: 0000 unimp + 80004dae: 0000 unimp + 80004db0: 0000 unimp + 80004db2: 0000 unimp + 80004db4: 0000 unimp + 80004db6: 0000 unimp + 80004db8: 0000 unimp + 80004dba: 0000 unimp + 80004dbc: 0000 unimp + 80004dbe: 0000 unimp + 80004dc0: 0000 unimp + 80004dc2: 0000 unimp + 80004dc4: 0000 unimp + 80004dc6: 0000 unimp + 80004dc8: 0000 unimp + 80004dca: 0000 unimp + 80004dcc: 0000 unimp + 80004dce: 0000 unimp + 80004dd0: 0000 unimp + 80004dd2: 0000 unimp + 80004dd4: 0000 unimp + 80004dd6: 0000 unimp + 80004dd8: 0000 unimp + 80004dda: 0000 unimp + 80004ddc: 0000 unimp + 80004dde: 0000 unimp + 80004de0: 0000 unimp + 80004de2: 0000 unimp + 80004de4: 0000 unimp + 80004de6: 0000 unimp + 80004de8: 0000 unimp + 80004dea: 0000 unimp + 80004dec: 0000 unimp + 80004dee: 0000 unimp + 80004df0: 0000 unimp + 80004df2: 0000 unimp + 80004df4: 0000 unimp + 80004df6: 0000 unimp + 80004df8: 0000 unimp + 80004dfa: 0000 unimp + 80004dfc: 0000 unimp + 80004dfe: 0000 unimp + 80004e00: 0000 unimp + 80004e02: 0000 unimp + 80004e04: 0000 unimp + 80004e06: 0000 unimp + 80004e08: 0000 unimp + 80004e0a: 0000 unimp + 80004e0c: 0000 unimp + 80004e0e: 0000 unimp + 80004e10: 0000 unimp + 80004e12: 0000 unimp + 80004e14: 0000 unimp + 80004e16: 0000 unimp + 80004e18: 0000 unimp + 80004e1a: 0000 unimp + 80004e1c: 0000 unimp + 80004e1e: 0000 unimp + 80004e20: 0000 unimp + 80004e22: 0000 unimp + 80004e24: 0000 unimp + 80004e26: 0000 unimp + 80004e28: 0000 unimp + 80004e2a: 0000 unimp + 80004e2c: 0000 unimp + 80004e2e: 0000 unimp + 80004e30: 0000 unimp + 80004e32: 0000 unimp + 80004e34: 0000 unimp + 80004e36: 0000 unimp + 80004e38: 0000 unimp + 80004e3a: 0000 unimp + 80004e3c: 0000 unimp + 80004e3e: 0000 unimp + 80004e40: 0000 unimp + 80004e42: 0000 unimp + 80004e44: 0000 unimp + 80004e46: 0000 unimp + 80004e48: 0000 unimp + 80004e4a: 0000 unimp + 80004e4c: 0000 unimp + 80004e4e: 0000 unimp + 80004e50: 0000 unimp + 80004e52: 0000 unimp + 80004e54: 0000 unimp + 80004e56: 0000 unimp + 80004e58: 0000 unimp + 80004e5a: 0000 unimp + 80004e5c: 0000 unimp + 80004e5e: 0000 unimp + 80004e60: 0000 unimp + 80004e62: 0000 unimp + 80004e64: 0000 unimp + 80004e66: 0000 unimp + 80004e68: 0000 unimp + 80004e6a: 0000 unimp + 80004e6c: 0000 unimp + 80004e6e: 0000 unimp + 80004e70: 0000 unimp + 80004e72: 0000 unimp + 80004e74: 0000 unimp + 80004e76: 0000 unimp + 80004e78: 0000 unimp + 80004e7a: 0000 unimp + 80004e7c: 0000 unimp + 80004e7e: 0000 unimp + 80004e80: 0000 unimp + 80004e82: 0000 unimp + 80004e84: 0000 unimp + 80004e86: 0000 unimp + 80004e88: 0000 unimp + 80004e8a: 0000 unimp + 80004e8c: 0000 unimp + 80004e8e: 0000 unimp + 80004e90: 0000 unimp + 80004e92: 0000 unimp + 80004e94: 0000 unimp + 80004e96: 0000 unimp + 80004e98: 0000 unimp + 80004e9a: 0000 unimp + 80004e9c: 0000 unimp + 80004e9e: 0000 unimp + 80004ea0: 0000 unimp + 80004ea2: 0000 unimp + 80004ea4: 0000 unimp + 80004ea6: 0000 unimp + 80004ea8: 0000 unimp + 80004eaa: 0000 unimp + 80004eac: 0000 unimp + 80004eae: 0000 unimp + 80004eb0: 0000 unimp + 80004eb2: 0000 unimp + 80004eb4: 0000 unimp + 80004eb6: 0000 unimp + 80004eb8: 0000 unimp + 80004eba: 0000 unimp + 80004ebc: 0000 unimp + 80004ebe: 0000 unimp + 80004ec0: 0000 unimp + 80004ec2: 0000 unimp + 80004ec4: 0000 unimp + 80004ec6: 0000 unimp + 80004ec8: 0000 unimp + 80004eca: 0000 unimp + 80004ecc: 0000 unimp + 80004ece: 0000 unimp + 80004ed0: 0000 unimp + 80004ed2: 0000 unimp + 80004ed4: 0000 unimp + 80004ed6: 0000 unimp + 80004ed8: 0000 unimp + 80004eda: 0000 unimp + 80004edc: 0000 unimp + 80004ede: 0000 unimp + 80004ee0: 0000 unimp + 80004ee2: 0000 unimp + 80004ee4: 0000 unimp + 80004ee6: 0000 unimp + 80004ee8: 0000 unimp + 80004eea: 0000 unimp + 80004eec: 0000 unimp + 80004eee: 0000 unimp + 80004ef0: 0000 unimp + 80004ef2: 0000 unimp + 80004ef4: 0000 unimp + 80004ef6: 0000 unimp + 80004ef8: 0000 unimp + 80004efa: 0000 unimp + 80004efc: 0000 unimp + 80004efe: 0000 unimp + 80004f00: 0000 unimp + 80004f02: 0000 unimp + 80004f04: 0000 unimp + 80004f06: 0000 unimp + 80004f08: 0000 unimp + 80004f0a: 0000 unimp + 80004f0c: 0000 unimp + 80004f0e: 0000 unimp + 80004f10: 0000 unimp + 80004f12: 0000 unimp + 80004f14: 0000 unimp + 80004f16: 0000 unimp + 80004f18: 0000 unimp + 80004f1a: 0000 unimp + 80004f1c: 0000 unimp + 80004f1e: 0000 unimp + 80004f20: 0000 unimp + 80004f22: 0000 unimp + 80004f24: 0000 unimp + 80004f26: 0000 unimp + 80004f28: 0000 unimp + 80004f2a: 0000 unimp + 80004f2c: 0000 unimp + 80004f2e: 0000 unimp + 80004f30: 0000 unimp + 80004f32: 0000 unimp + 80004f34: 0000 unimp + 80004f36: 0000 unimp + 80004f38: 0000 unimp + 80004f3a: 0000 unimp + 80004f3c: 0000 unimp + 80004f3e: 0000 unimp + 80004f40: 0000 unimp + 80004f42: 0000 unimp + 80004f44: 0000 unimp + 80004f46: 0000 unimp + 80004f48: 0000 unimp + 80004f4a: 0000 unimp + 80004f4c: 0000 unimp + 80004f4e: 0000 unimp + 80004f50: 0000 unimp + 80004f52: 0000 unimp + 80004f54: 0000 unimp + 80004f56: 0000 unimp + 80004f58: 0000 unimp + 80004f5a: 0000 unimp + 80004f5c: 0000 unimp + 80004f5e: 0000 unimp + 80004f60: 0000 unimp + 80004f62: 0000 unimp + 80004f64: 0000 unimp + 80004f66: 0000 unimp + 80004f68: 0000 unimp + 80004f6a: 0000 unimp + 80004f6c: 0000 unimp + 80004f6e: 0000 unimp + 80004f70: 0000 unimp + 80004f72: 0000 unimp + 80004f74: 0000 unimp + 80004f76: 0000 unimp + 80004f78: 0000 unimp + 80004f7a: 0000 unimp + 80004f7c: 0000 unimp + 80004f7e: 0000 unimp + 80004f80: 0000 unimp + 80004f82: 0000 unimp + 80004f84: 0000 unimp + 80004f86: 0000 unimp + 80004f88: 0000 unimp + 80004f8a: 0000 unimp + 80004f8c: 0000 unimp + 80004f8e: 0000 unimp + 80004f90: 0000 unimp + 80004f92: 0000 unimp + 80004f94: 0000 unimp + 80004f96: 0000 unimp + 80004f98: 0000 unimp + 80004f9a: 0000 unimp + 80004f9c: 0000 unimp + 80004f9e: 0000 unimp + 80004fa0: 0000 unimp + 80004fa2: 0000 unimp + 80004fa4: 0000 unimp + 80004fa6: 0000 unimp + 80004fa8: 0000 unimp + 80004faa: 0000 unimp + 80004fac: 0000 unimp + 80004fae: 0000 unimp + 80004fb0: 0000 unimp + 80004fb2: 0000 unimp + 80004fb4: 0000 unimp + 80004fb6: 0000 unimp + 80004fb8: 0000 unimp + 80004fba: 0000 unimp + 80004fbc: 0000 unimp + 80004fbe: 0000 unimp + 80004fc0: 0000 unimp + 80004fc2: 0000 unimp + 80004fc4: 0000 unimp + 80004fc6: 0000 unimp + 80004fc8: 0000 unimp + 80004fca: 0000 unimp + 80004fcc: 0000 unimp + 80004fce: 0000 unimp + 80004fd0: 0000 unimp + 80004fd2: 0000 unimp + 80004fd4: 0000 unimp + 80004fd6: 0000 unimp + 80004fd8: 0000 unimp + 80004fda: 0000 unimp + 80004fdc: 0000 unimp + 80004fde: 0000 unimp + 80004fe0: 0000 unimp + 80004fe2: 0000 unimp + 80004fe4: 0000 unimp + 80004fe6: 0000 unimp + 80004fe8: 0000 unimp + 80004fea: 0000 unimp + 80004fec: 0000 unimp + 80004fee: 0000 unimp + 80004ff0: 0000 unimp + 80004ff2: 0000 unimp + 80004ff4: 0000 unimp + 80004ff6: 0000 unimp + 80004ff8: 0000 unimp + 80004ffa: 0000 unimp + 80004ffc: 0000 unimp + 80004ffe: 00158593 addi a1,a1,1 + 80005002: 29b00e93 li t4,667 + 80005006: 00200193 li gp,2 + 8000500a: 2dd59163 bne a1,t4,800052cc <fail> + 8000500e: 00001137 lui sp,0x1 + 80005012: 2341011b addiw sp,sp,564 + +0000000080005016 <test_3>: + 80005016: 1fe8 addi a0,sp,1020 + 80005018: 00001eb7 lui t4,0x1 + 8000501c: 630e8e9b addiw t4,t4,1584 + 80005020: 00300193 li gp,3 + 80005024: 2bd51463 bne a0,t4,800052cc <fail> + +0000000080005028 <test_4>: + 80005028: 617d addi sp,sp,496 + 8000502a: 0001 nop + 8000502c: 00001eb7 lui t4,0x1 + 80005030: 424e8e9b addiw t4,t4,1060 + 80005034: 00400193 li gp,4 + 80005038: 29d11a63 bne sp,t4,800052cc <fail> + +000000008000503c <test_5>: + 8000503c: 7101 addi sp,sp,-512 + 8000503e: 0001 nop + 80005040: 00001eb7 lui t4,0x1 + 80005044: 224e8e9b addiw t4,t4,548 + 80005048: 00500193 li gp,5 + 8000504c: 29d11063 bne sp,t4,800052cc <fail> + 80005050: ffffe597 auipc a1,0xffffe + 80005054: fc058593 addi a1,a1,-64 # 80003010 <data> + +0000000080005058 <test_6>: + 80005058: 41c8 lw a0,4(a1) + 8000505a: 0505 addi a0,a0,1 + 8000505c: c1c8 sw a0,4(a1) + 8000505e: 41d0 lw a2,4(a1) + 80005060: fedcceb7 lui t4,0xfedcc + 80005064: a99e8e9b addiw t4,t4,-1383 + 80005068: 00600193 li gp,6 + 8000506c: 27d61063 bne a2,t4,800052cc <fail> + +0000000080005070 <test_7>: + 80005070: 6188 ld a0,0(a1) + 80005072: 0505 addi a0,a0,1 + 80005074: e188 sd a0,0(a1) + 80005076: 6190 ld a2,0(a1) + 80005078: fff6eeb7 lui t4,0xfff6e + 8000507c: 5d5e8e9b addiw t4,t4,1493 + 80005080: 00ce9e93 slli t4,t4,0xc + 80005084: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff624cb> + 80005088: 00de9e93 slli t4,t4,0xd + 8000508c: 543e8e93 addi t4,t4,1347 + 80005090: 00ce9e93 slli t4,t4,0xc + 80005094: 211e8e93 addi t4,t4,529 + 80005098: 00700193 li gp,7 + 8000509c: 23d61863 bne a2,t4,800052cc <fail> + +00000000800050a0 <test_8>: + 800050a0: 00106513 ori a0,zero,1 + 800050a4: 1541 addi a0,a0,-16 + 800050a6: 0001 nop + 800050a8: ff100e93 li t4,-15 + 800050ac: 00800193 li gp,8 + 800050b0: 21d51e63 bne a0,t4,800052cc <fail> + +00000000800050b4 <test_9>: + 800050b4: 00106793 ori a5,zero,1 + 800050b8: 57c1 li a5,-16 + 800050ba: 0001 nop + 800050bc: ff000e93 li t4,-16 + 800050c0: 00900193 li gp,9 + 800050c4: 21d79463 bne a5,t4,800052cc <fail> + +00000000800050c8 <test_10>: + 800050c8: 6188 ld a0,0(a1) + 800050ca: 357d addiw a0,a0,-1 + 800050cc: 76543eb7 lui t4,0x76543 + 800050d0: 210e8e9b addiw t4,t4,528 + 800050d4: 00a00193 li gp,10 + 800050d8: 1fd51a63 bne a0,t4,800052cc <fail> + +00000000800050dc <test_11>: + 800050dc: 7405 lui s0,0xfffe1 + 800050de: 8431 srai s0,s0,0xc + 800050e0: fe100e93 li t4,-31 + 800050e4: 00b00193 li gp,11 + 800050e8: 1fd41263 bne s0,t4,800052cc <fail> + +00000000800050ec <test_12>: + 800050ec: 7405 lui s0,0xfffe1 + 800050ee: 8031 srli s0,s0,0xc + 800050f0: 00100e9b addiw t4,zero,1 + 800050f4: 034e9e93 slli t4,t4,0x34 + 800050f8: fe1e8e93 addi t4,t4,-31 # 76542fe1 <_start-0x9abd01f> + 800050fc: 00c00193 li gp,12 + 80005100: 1dd41663 bne s0,t4,800052cc <fail> + +0000000080005104 <test_14>: + 80005104: 5479 li s0,-2 + 80005106: 983d andi s0,s0,-17 + 80005108: fee00e93 li t4,-18 + 8000510c: 00e00193 li gp,14 + 80005110: 1bd41e63 bne s0,t4,800052cc <fail> + +0000000080005114 <test_15>: + 80005114: 44d1 li s1,20 + 80005116: 4519 li a0,6 + 80005118: 8c89 sub s1,s1,a0 + 8000511a: 0001 nop + 8000511c: 00e00e93 li t4,14 + 80005120: 00f00193 li gp,15 + 80005124: 1bd49463 bne s1,t4,800052cc <fail> + +0000000080005128 <test_16>: + 80005128: 44d1 li s1,20 + 8000512a: 4519 li a0,6 + 8000512c: 8ca9 xor s1,s1,a0 + 8000512e: 0001 nop + 80005130: 01200e93 li t4,18 + 80005134: 01000193 li gp,16 + 80005138: 19d49a63 bne s1,t4,800052cc <fail> + +000000008000513c <test_17>: + 8000513c: 44d1 li s1,20 + 8000513e: 4519 li a0,6 + 80005140: 8cc9 or s1,s1,a0 + 80005142: 0001 nop + 80005144: 01600e93 li t4,22 + 80005148: 01100193 li gp,17 + 8000514c: 19d49063 bne s1,t4,800052cc <fail> + +0000000080005150 <test_18>: + 80005150: 44d1 li s1,20 + 80005152: 4519 li a0,6 + 80005154: 8ce9 and s1,s1,a0 + 80005156: 0001 nop + 80005158: 00400e93 li t4,4 + 8000515c: 01200193 li gp,18 + 80005160: 17d49663 bne s1,t4,800052cc <fail> + +0000000080005164 <test_19>: + 80005164: 800004b7 lui s1,0x80000 + 80005168: fff4849b addiw s1,s1,-1 + 8000516c: 557d li a0,-1 + 8000516e: 9c89 subw s1,s1,a0 + 80005170: 80000eb7 lui t4,0x80000 + 80005174: 01300193 li gp,19 + 80005178: 15d49a63 bne s1,t4,800052cc <fail> + +000000008000517c <test_20>: + 8000517c: 800004b7 lui s1,0x80000 + 80005180: fff4849b addiw s1,s1,-1 + 80005184: 4505 li a0,1 + 80005186: 9ca9 addw s1,s1,a0 + 80005188: 80000eb7 lui t4,0x80000 + 8000518c: 01400193 li gp,20 + 80005190: 13d49e63 bne s1,t4,800052cc <fail> + +0000000080005194 <test_21>: + 80005194: 00001437 lui s0,0x1 + 80005198: 2344041b addiw s0,s0,564 + 8000519c: 0412 slli s0,s0,0x4 + 8000519e: 0001 nop + 800051a0: 00012eb7 lui t4,0x12 + 800051a4: 340e8e9b addiw t4,t4,832 + 800051a8: 01500193 li gp,21 + 800051ac: 13d41063 bne s0,t4,800052cc <fail> + +00000000800051b0 <test_30>: + 800051b0: 4081 li ra,0 + 800051b2: a011 j 800051b6 <test_30+0x6> + 800051b4: a011 j 800051b8 <test_30+0x8> + 800051b6: a011 j 800051ba <test_30+0xa> + 800051b8: aa11 j 800052cc <fail> + 800051ba: 0001 nop + 800051bc: 00000e93 li t4,0 + 800051c0: 01e00193 li gp,30 + 800051c4: 11d09463 bne ra,t4,800052cc <fail> + +00000000800051c8 <test_31>: + 800051c8: 4501 li a0,0 + 800051ca: c111 beqz a0,800051ce <test_31+0x6> + 800051cc: a011 j 800051d0 <test_31+0x8> + 800051ce: a011 j 800051d2 <test_31+0xa> + 800051d0: a8f5 j 800052cc <fail> + 800051d2: 0001 nop + 800051d4: 00000e93 li t4,0 + 800051d8: 01f00193 li gp,31 + 800051dc: 0fd01863 bne zero,t4,800052cc <fail> + +00000000800051e0 <test_32>: + 800051e0: 4505 li a0,1 + 800051e2: e111 bnez a0,800051e6 <test_32+0x6> + 800051e4: a011 j 800051e8 <test_32+0x8> + 800051e6: a011 j 800051ea <test_32+0xa> + 800051e8: a0d5 j 800052cc <fail> + 800051ea: 0001 nop + 800051ec: 00000e93 li t4,0 + 800051f0: 02000193 li gp,32 + 800051f4: 0dd01c63 bne zero,t4,800052cc <fail> + +00000000800051f8 <test_33>: + 800051f8: 4505 li a0,1 + 800051fa: c111 beqz a0,800051fe <test_33+0x6> + 800051fc: a011 j 80005200 <test_33+0x8> + 800051fe: a0f9 j 800052cc <fail> + 80005200: 00000e93 li t4,0 + 80005204: 02100193 li gp,33 + 80005208: 0dd01263 bne zero,t4,800052cc <fail> + +000000008000520c <test_34>: + 8000520c: 4501 li a0,0 + 8000520e: e111 bnez a0,80005212 <test_34+0x6> + 80005210: a011 j 80005214 <test_34+0x8> + 80005212: a86d j 800052cc <fail> + 80005214: 00000e93 li t4,0 + 80005218: 02200193 li gp,34 + 8000521c: 0bd01863 bne zero,t4,800052cc <fail> + +0000000080005220 <test_35>: + 80005220: 00000297 auipc t0,0x0 + 80005224: 00e28293 addi t0,t0,14 # 8000522e <test_35+0xe> + 80005228: 4081 li ra,0 + 8000522a: 8282 jr t0 + 8000522c: a011 j 80005230 <test_35+0x10> + 8000522e: a011 j 80005232 <test_35+0x12> + 80005230: a871 j 800052cc <fail> + 80005232: 0001 nop + 80005234: 00000e93 li t4,0 + 80005238: 02300193 li gp,35 + 8000523c: 09d09863 bne ra,t4,800052cc <fail> + +0000000080005240 <test_36>: + 80005240: 00000297 auipc t0,0x0 + 80005244: 00e28293 addi t0,t0,14 # 8000524e <test_36+0xe> + 80005248: 4081 li ra,0 + 8000524a: 9282 jalr t0 + 8000524c: a011 j 80005250 <test_36+0x10> + 8000524e: a011 j 80005252 <test_36+0x12> + 80005250: a8b5 j 800052cc <fail> + 80005252: 405080b3 sub ra,ra,t0 + 80005256: 0001 nop + 80005258: ffe00e93 li t4,-2 + 8000525c: 02400193 li gp,36 + 80005260: 07d09663 bne ra,t4,800052cc <fail> + 80005264: ffffe117 auipc sp,0xffffe + 80005268: dac10113 addi sp,sp,-596 # 80003010 <data> + +000000008000526c <test_40>: + 8000526c: 4532 lw a0,12(sp) + 8000526e: 0505 addi a0,a0,1 + 80005270: c62a sw a0,12(sp) + 80005272: 4632 lw a2,12(sp) + 80005274: fedcceb7 lui t4,0xfedcc + 80005278: a99e8e9b addiw t4,t4,-1383 + 8000527c: 02800193 li gp,40 + 80005280: 05d61663 bne a2,t4,800052cc <fail> + +0000000080005284 <test_41>: + 80005284: 6522 ld a0,8(sp) + 80005286: 0505 addi a0,a0,1 + 80005288: e42a sd a0,8(sp) + 8000528a: 6622 ld a2,8(sp) + 8000528c: fff6eeb7 lui t4,0xfff6e + 80005290: 5d5e8e9b addiw t4,t4,1493 + 80005294: 00ce9e93 slli t4,t4,0xc + 80005298: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff624cb> + 8000529c: 00de9e93 slli t4,t4,0xd + 800052a0: 543e8e93 addi t4,t4,1347 + 800052a4: 00ce9e93 slli t4,t4,0xc + 800052a8: 211e8e93 addi t4,t4,529 + 800052ac: 02900193 li gp,41 + 800052b0: 01d61e63 bne a2,t4,800052cc <fail> + +00000000800052b4 <test_42>: + 800052b4: 12300513 li a0,291 + 800052b8: 82aa mv t0,a0 + 800052ba: 92aa add t0,t0,a0 + 800052bc: 24600e93 li t4,582 + 800052c0: 02a00193 li gp,42 + 800052c4: 01d29463 bne t0,t4,800052cc <fail> + 800052c8: 00301a63 bne zero,gp,800052dc <pass> + +00000000800052cc <fail>: + 800052cc: 00119513 slli a0,gp,0x1 + 800052d0: 00050063 beqz a0,800052d0 <fail+0x4> + 800052d4: 00156513 ori a0,a0,1 + 800052d8: 00000073 ecall + +00000000800052dc <pass>: + 800052dc: 00100513 li a0,1 + 800052e0: 00000073 ecall + 800052e4: c0001073 unimp + 800052e8: 0000 unimp + 800052ea: 0000 unimp + 800052ec: 0000 unimp + 800052ee: 0000 unimp + 800052f0: 0000 unimp + 800052f2: 0000 unimp + 800052f4: 0000 unimp + 800052f6: 0000 unimp + 800052f8: 0000 unimp + 800052fa: 0000 unimp + 800052fc: 0000 unimp + 800052fe: 0000 unimp + 80005300: 0000 unimp + 80005302: 0000 unimp + 80005304: 0000 unimp + 80005306: 0000 unimp + 80005308: 0000 unimp + 8000530a: 0000 unimp + 8000530c: 0000 unimp + 8000530e: 0000 unimp + 80005310: 0000 unimp + 80005312: 0000 unimp + 80005314: 0000 unimp + 80005316: 0000 unimp + 80005318: 0000 unimp + 8000531a: 0000 unimp + 8000531c: 0000 unimp + 8000531e: 0000 unimp + 80005320: 0000 unimp + 80005322: 0000 unimp + 80005324: 0000 unimp + 80005326: 0000 unimp + 80005328: 0000 unimp + 8000532a: 0000 unimp + 8000532c: 0000 unimp + 8000532e: 0000 unimp + 80005330: 0000 unimp + 80005332: 0000 unimp + 80005334: 0000 unimp + 80005336: 0000 unimp + 80005338: 0000 unimp + 8000533a: 0000 unimp + 8000533c: 0000 unimp + 8000533e: 0000 unimp + 80005340: 0000 unimp + 80005342: 0000 unimp + 80005344: 0000 unimp + 80005346: 0000 unimp + 80005348: 0000 unimp + 8000534a: 0000 unimp + 8000534c: 0000 unimp + 8000534e: 0000 unimp + 80005350: 0000 unimp + 80005352: 0000 unimp + 80005354: 0000 unimp + 80005356: 0000 unimp + 80005358: 0000 unimp + 8000535a: 0000 unimp + 8000535c: 0000 unimp + 8000535e: 0000 unimp + 80005360: 0000 unimp + 80005362: 0000 unimp + 80005364: 0000 unimp + 80005366: 0000 unimp + 80005368: 0000 unimp + 8000536a: 0000 unimp + 8000536c: 0000 unimp + 8000536e: 0000 unimp + 80005370: 0000 unimp + 80005372: 0000 unimp + 80005374: 0000 unimp + 80005376: 0000 unimp + 80005378: 0000 unimp + 8000537a: 0000 unimp + 8000537c: 0000 unimp + 8000537e: 0000 unimp + 80005380: 0000 unimp + 80005382: 0000 unimp + 80005384: 0000 unimp + 80005386: 0000 unimp + 80005388: 0000 unimp + 8000538a: 0000 unimp + 8000538c: 0000 unimp + 8000538e: 0000 unimp + 80005390: 0000 unimp + 80005392: 0000 unimp + 80005394: 0000 unimp + 80005396: 0000 unimp + 80005398: 0000 unimp + 8000539a: 0000 unimp + 8000539c: 0000 unimp + 8000539e: 0000 unimp + 800053a0: 0000 unimp + 800053a2: 0000 unimp + 800053a4: 0000 unimp + 800053a6: 0000 unimp + 800053a8: 0000 unimp + 800053aa: 0000 unimp + 800053ac: 0000 unimp + 800053ae: 0000 unimp + 800053b0: 0000 unimp + 800053b2: 0000 unimp + 800053b4: 0000 unimp + 800053b6: 0000 unimp + 800053b8: 0000 unimp + 800053ba: 0000 unimp + 800053bc: 0000 unimp + 800053be: 0000 unimp + 800053c0: 0000 unimp + 800053c2: 0000 unimp + 800053c4: 0000 unimp + 800053c6: 0000 unimp + 800053c8: 0000 unimp + 800053ca: 0000 unimp + 800053cc: 0000 unimp + 800053ce: 0000 unimp + 800053d0: 0000 unimp + 800053d2: 0000 unimp + 800053d4: 0000 unimp + 800053d6: 0000 unimp + 800053d8: 0000 unimp + 800053da: 0000 unimp + 800053dc: 0000 unimp + 800053de: 0000 unimp + 800053e0: 0000 unimp + 800053e2: 0000 unimp + 800053e4: 0000 unimp + 800053e6: 0000 unimp + 800053e8: 0000 unimp + 800053ea: 0000 unimp + 800053ec: 0000 unimp + 800053ee: 0000 unimp + 800053f0: 0000 unimp + 800053f2: 0000 unimp + 800053f4: 0000 unimp + 800053f6: 0000 unimp + 800053f8: 0000 unimp + 800053fa: 0000 unimp + 800053fc: 0000 unimp + 800053fe: 0000 unimp + 80005400: 0000 unimp + 80005402: 0000 unimp + 80005404: 0000 unimp + 80005406: 0000 unimp + 80005408: 0000 unimp + 8000540a: 0000 unimp + 8000540c: 0000 unimp + 8000540e: 0000 unimp + 80005410: 0000 unimp + 80005412: 0000 unimp + 80005414: 0000 unimp + 80005416: 0000 unimp + 80005418: 0000 unimp + 8000541a: 0000 unimp + 8000541c: 0000 unimp + 8000541e: 0000 unimp + 80005420: 0000 unimp + 80005422: 0000 unimp + 80005424: 0000 unimp + 80005426: 0000 unimp + 80005428: 0000 unimp + 8000542a: 0000 unimp + 8000542c: 0000 unimp + 8000542e: 0000 unimp + 80005430: 0000 unimp + 80005432: 0000 unimp + 80005434: 0000 unimp + 80005436: 0000 unimp + 80005438: 0000 unimp + 8000543a: 0000 unimp + 8000543c: 0000 unimp + 8000543e: 0000 unimp + 80005440: 0000 unimp + 80005442: 0000 unimp + 80005444: 0000 unimp + 80005446: 0000 unimp + 80005448: 0000 unimp + 8000544a: 0000 unimp + 8000544c: 0000 unimp + 8000544e: 0000 unimp + 80005450: 0000 unimp + 80005452: 0000 unimp + 80005454: 0000 unimp + 80005456: 0000 unimp + 80005458: 0000 unimp + 8000545a: 0000 unimp + 8000545c: 0000 unimp + 8000545e: 0000 unimp + 80005460: 0000 unimp + 80005462: 0000 unimp + 80005464: 0000 unimp + 80005466: 0000 unimp + 80005468: 0000 unimp + 8000546a: 0000 unimp + 8000546c: 0000 unimp + 8000546e: 0000 unimp + 80005470: 0000 unimp + 80005472: 0000 unimp + 80005474: 0000 unimp + 80005476: 0000 unimp + 80005478: 0000 unimp + 8000547a: 0000 unimp + 8000547c: 0000 unimp + 8000547e: 0000 unimp + 80005480: 0000 unimp + 80005482: 0000 unimp + 80005484: 0000 unimp + 80005486: 0000 unimp + 80005488: 0000 unimp + 8000548a: 0000 unimp + 8000548c: 0000 unimp + 8000548e: 0000 unimp + 80005490: 0000 unimp + 80005492: 0000 unimp + 80005494: 0000 unimp + 80005496: 0000 unimp + 80005498: 0000 unimp + 8000549a: 0000 unimp + 8000549c: 0000 unimp + 8000549e: 0000 unimp + 800054a0: 0000 unimp + 800054a2: 0000 unimp + 800054a4: 0000 unimp + 800054a6: 0000 unimp + 800054a8: 0000 unimp + 800054aa: 0000 unimp + 800054ac: 0000 unimp + 800054ae: 0000 unimp + 800054b0: 0000 unimp + 800054b2: 0000 unimp + 800054b4: 0000 unimp + 800054b6: 0000 unimp + 800054b8: 0000 unimp + 800054ba: 0000 unimp + 800054bc: 0000 unimp + 800054be: 0000 unimp + 800054c0: 0000 unimp + 800054c2: 0000 unimp + 800054c4: 0000 unimp + 800054c6: 0000 unimp + 800054c8: 0000 unimp + 800054ca: 0000 unimp + 800054cc: 0000 unimp + 800054ce: 0000 unimp + 800054d0: 0000 unimp + 800054d2: 0000 unimp + 800054d4: 0000 unimp + 800054d6: 0000 unimp + 800054d8: 0000 unimp + 800054da: 0000 unimp + 800054dc: 0000 unimp + 800054de: 0000 unimp + 800054e0: 0000 unimp + 800054e2: 0000 unimp + 800054e4: 0000 unimp + 800054e6: 0000 unimp + 800054e8: 0000 unimp + 800054ea: 0000 unimp + 800054ec: 0000 unimp + 800054ee: 0000 unimp + 800054f0: 0000 unimp + 800054f2: 0000 unimp + 800054f4: 0000 unimp + 800054f6: 0000 unimp + 800054f8: 0000 unimp + 800054fa: 0000 unimp + 800054fc: 0000 unimp + 800054fe: 0000 unimp + 80005500: 0000 unimp + 80005502: 0000 unimp + 80005504: 0000 unimp + 80005506: 0000 unimp + 80005508: 0000 unimp + 8000550a: 0000 unimp + 8000550c: 0000 unimp + 8000550e: 0000 unimp + 80005510: 0000 unimp + 80005512: 0000 unimp + 80005514: 0000 unimp + 80005516: 0000 unimp + 80005518: 0000 unimp + 8000551a: 0000 unimp + 8000551c: 0000 unimp + 8000551e: 0000 unimp + 80005520: 0000 unimp + 80005522: 0000 unimp + 80005524: 0000 unimp + 80005526: 0000 unimp + 80005528: 0000 unimp + 8000552a: 0000 unimp + 8000552c: 0000 unimp + 8000552e: 0000 unimp + 80005530: 0000 unimp + 80005532: 0000 unimp + 80005534: 0000 unimp + 80005536: 0000 unimp + 80005538: 0000 unimp + 8000553a: 0000 unimp + 8000553c: 0000 unimp + 8000553e: 0000 unimp + 80005540: 0000 unimp + 80005542: 0000 unimp + 80005544: 0000 unimp + 80005546: 0000 unimp + 80005548: 0000 unimp + 8000554a: 0000 unimp + 8000554c: 0000 unimp + 8000554e: 0000 unimp + 80005550: 0000 unimp + 80005552: 0000 unimp + 80005554: 0000 unimp + 80005556: 0000 unimp + 80005558: 0000 unimp + 8000555a: 0000 unimp + 8000555c: 0000 unimp + 8000555e: 0000 unimp + 80005560: 0000 unimp + 80005562: 0000 unimp + 80005564: 0000 unimp + 80005566: 0000 unimp + 80005568: 0000 unimp + 8000556a: 0000 unimp + 8000556c: 0000 unimp + 8000556e: 0000 unimp + 80005570: 0000 unimp + 80005572: 0000 unimp + 80005574: 0000 unimp + 80005576: 0000 unimp + 80005578: 0000 unimp + 8000557a: 0000 unimp + 8000557c: 0000 unimp + 8000557e: 0000 unimp + 80005580: 0000 unimp + 80005582: 0000 unimp + 80005584: 0000 unimp + 80005586: 0000 unimp + 80005588: 0000 unimp + 8000558a: 0000 unimp + 8000558c: 0000 unimp + 8000558e: 0000 unimp + 80005590: 0000 unimp + 80005592: 0000 unimp + 80005594: 0000 unimp + 80005596: 0000 unimp + 80005598: 0000 unimp + 8000559a: 0000 unimp + 8000559c: 0000 unimp + 8000559e: 0000 unimp + 800055a0: 0000 unimp + 800055a2: 0000 unimp + 800055a4: 0000 unimp + 800055a6: 0000 unimp + 800055a8: 0000 unimp + 800055aa: 0000 unimp + 800055ac: 0000 unimp + 800055ae: 0000 unimp + 800055b0: 0000 unimp + 800055b2: 0000 unimp + 800055b4: 0000 unimp + 800055b6: 0000 unimp + 800055b8: 0000 unimp + 800055ba: 0000 unimp + 800055bc: 0000 unimp + 800055be: 0000 unimp + 800055c0: 0000 unimp + 800055c2: 0000 unimp + 800055c4: 0000 unimp + 800055c6: 0000 unimp + 800055c8: 0000 unimp + 800055ca: 0000 unimp + 800055cc: 0000 unimp + 800055ce: 0000 unimp + 800055d0: 0000 unimp + 800055d2: 0000 unimp + 800055d4: 0000 unimp + 800055d6: 0000 unimp + 800055d8: 0000 unimp + 800055da: 0000 unimp + 800055dc: 0000 unimp + 800055de: 0000 unimp + 800055e0: 0000 unimp + 800055e2: 0000 unimp + 800055e4: 0000 unimp + 800055e6: 0000 unimp + 800055e8: 0000 unimp + 800055ea: 0000 unimp + 800055ec: 0000 unimp + 800055ee: 0000 unimp + 800055f0: 0000 unimp + 800055f2: 0000 unimp + 800055f4: 0000 unimp + 800055f6: 0000 unimp + 800055f8: 0000 unimp + 800055fa: 0000 unimp + 800055fc: 0000 unimp + 800055fe: 0000 unimp + 80005600: 0000 unimp + 80005602: 0000 unimp + 80005604: 0000 unimp + 80005606: 0000 unimp + 80005608: 0000 unimp + 8000560a: 0000 unimp + 8000560c: 0000 unimp + 8000560e: 0000 unimp + 80005610: 0000 unimp + 80005612: 0000 unimp + 80005614: 0000 unimp + 80005616: 0000 unimp + 80005618: 0000 unimp + 8000561a: 0000 unimp + 8000561c: 0000 unimp + 8000561e: 0000 unimp + 80005620: 0000 unimp + 80005622: 0000 unimp + 80005624: 0000 unimp + 80005626: 0000 unimp + 80005628: 0000 unimp + 8000562a: 0000 unimp + 8000562c: 0000 unimp + 8000562e: 0000 unimp + 80005630: 0000 unimp + 80005632: 0000 unimp + 80005634: 0000 unimp + 80005636: 0000 unimp + 80005638: 0000 unimp + 8000563a: 0000 unimp + 8000563c: 0000 unimp + 8000563e: 0000 unimp + 80005640: 0000 unimp + 80005642: 0000 unimp + 80005644: 0000 unimp + 80005646: 0000 unimp + 80005648: 0000 unimp + 8000564a: 0000 unimp + 8000564c: 0000 unimp + 8000564e: 0000 unimp + 80005650: 0000 unimp + 80005652: 0000 unimp + 80005654: 0000 unimp + 80005656: 0000 unimp + 80005658: 0000 unimp + 8000565a: 0000 unimp + 8000565c: 0000 unimp + 8000565e: 0000 unimp + 80005660: 0000 unimp + 80005662: 0000 unimp + 80005664: 0000 unimp + 80005666: 0000 unimp + 80005668: 0000 unimp + 8000566a: 0000 unimp + 8000566c: 0000 unimp + 8000566e: 0000 unimp + 80005670: 0000 unimp + 80005672: 0000 unimp + 80005674: 0000 unimp + 80005676: 0000 unimp + 80005678: 0000 unimp + 8000567a: 0000 unimp + 8000567c: 0000 unimp + 8000567e: 0000 unimp + 80005680: 0000 unimp + 80005682: 0000 unimp + 80005684: 0000 unimp + 80005686: 0000 unimp + 80005688: 0000 unimp + 8000568a: 0000 unimp + 8000568c: 0000 unimp + 8000568e: 0000 unimp + 80005690: 0000 unimp + 80005692: 0000 unimp + 80005694: 0000 unimp + 80005696: 0000 unimp + 80005698: 0000 unimp + 8000569a: 0000 unimp + 8000569c: 0000 unimp + 8000569e: 0000 unimp + 800056a0: 0000 unimp + 800056a2: 0000 unimp + 800056a4: 0000 unimp + 800056a6: 0000 unimp + 800056a8: 0000 unimp + 800056aa: 0000 unimp + 800056ac: 0000 unimp + 800056ae: 0000 unimp + 800056b0: 0000 unimp + 800056b2: 0000 unimp + 800056b4: 0000 unimp + 800056b6: 0000 unimp + 800056b8: 0000 unimp + 800056ba: 0000 unimp + 800056bc: 0000 unimp + 800056be: 0000 unimp + 800056c0: 0000 unimp + 800056c2: 0000 unimp + 800056c4: 0000 unimp + 800056c6: 0000 unimp + 800056c8: 0000 unimp + 800056ca: 0000 unimp + 800056cc: 0000 unimp + 800056ce: 0000 unimp + 800056d0: 0000 unimp + 800056d2: 0000 unimp + 800056d4: 0000 unimp + 800056d6: 0000 unimp + 800056d8: 0000 unimp + 800056da: 0000 unimp + 800056dc: 0000 unimp + 800056de: 0000 unimp + 800056e0: 0000 unimp + 800056e2: 0000 unimp + 800056e4: 0000 unimp + 800056e6: 0000 unimp + 800056e8: 0000 unimp + 800056ea: 0000 unimp + 800056ec: 0000 unimp + 800056ee: 0000 unimp + 800056f0: 0000 unimp + 800056f2: 0000 unimp + 800056f4: 0000 unimp + 800056f6: 0000 unimp + 800056f8: 0000 unimp + 800056fa: 0000 unimp + 800056fc: 0000 unimp + 800056fe: 0000 unimp + 80005700: 0000 unimp + 80005702: 0000 unimp + 80005704: 0000 unimp + 80005706: 0000 unimp + 80005708: 0000 unimp + 8000570a: 0000 unimp + 8000570c: 0000 unimp + 8000570e: 0000 unimp + 80005710: 0000 unimp + 80005712: 0000 unimp + 80005714: 0000 unimp + 80005716: 0000 unimp + 80005718: 0000 unimp + 8000571a: 0000 unimp + 8000571c: 0000 unimp + 8000571e: 0000 unimp + 80005720: 0000 unimp + 80005722: 0000 unimp + 80005724: 0000 unimp + 80005726: 0000 unimp + 80005728: 0000 unimp + 8000572a: 0000 unimp + 8000572c: 0000 unimp + 8000572e: 0000 unimp + 80005730: 0000 unimp + 80005732: 0000 unimp + 80005734: 0000 unimp + 80005736: 0000 unimp + 80005738: 0000 unimp + 8000573a: 0000 unimp + 8000573c: 0000 unimp + 8000573e: 0000 unimp + 80005740: 0000 unimp + 80005742: 0000 unimp + 80005744: 0000 unimp + 80005746: 0000 unimp + 80005748: 0000 unimp + 8000574a: 0000 unimp + 8000574c: 0000 unimp + 8000574e: 0000 unimp + 80005750: 0000 unimp + 80005752: 0000 unimp + 80005754: 0000 unimp + 80005756: 0000 unimp + 80005758: 0000 unimp + 8000575a: 0000 unimp + 8000575c: 0000 unimp + 8000575e: 0000 unimp + 80005760: 0000 unimp + 80005762: 0000 unimp + 80005764: 0000 unimp + 80005766: 0000 unimp + 80005768: 0000 unimp + 8000576a: 0000 unimp + 8000576c: 0000 unimp + 8000576e: 0000 unimp + 80005770: 0000 unimp + 80005772: 0000 unimp + 80005774: 0000 unimp + 80005776: 0000 unimp + 80005778: 0000 unimp + 8000577a: 0000 unimp + 8000577c: 0000 unimp + 8000577e: 0000 unimp + 80005780: 0000 unimp + 80005782: 0000 unimp + 80005784: 0000 unimp + 80005786: 0000 unimp + 80005788: 0000 unimp + 8000578a: 0000 unimp + 8000578c: 0000 unimp + 8000578e: 0000 unimp + 80005790: 0000 unimp + 80005792: 0000 unimp + 80005794: 0000 unimp + 80005796: 0000 unimp + 80005798: 0000 unimp + 8000579a: 0000 unimp + 8000579c: 0000 unimp + 8000579e: 0000 unimp + 800057a0: 0000 unimp + 800057a2: 0000 unimp + 800057a4: 0000 unimp + 800057a6: 0000 unimp + 800057a8: 0000 unimp + 800057aa: 0000 unimp + 800057ac: 0000 unimp + 800057ae: 0000 unimp + 800057b0: 0000 unimp + 800057b2: 0000 unimp + 800057b4: 0000 unimp + 800057b6: 0000 unimp + 800057b8: 0000 unimp + 800057ba: 0000 unimp + 800057bc: 0000 unimp + 800057be: 0000 unimp + 800057c0: 0000 unimp + 800057c2: 0000 unimp + 800057c4: 0000 unimp + 800057c6: 0000 unimp + 800057c8: 0000 unimp + 800057ca: 0000 unimp + 800057cc: 0000 unimp + 800057ce: 0000 unimp + 800057d0: 0000 unimp + 800057d2: 0000 unimp + 800057d4: 0000 unimp + 800057d6: 0000 unimp + 800057d8: 0000 unimp + 800057da: 0000 unimp + 800057dc: 0000 unimp + 800057de: 0000 unimp + 800057e0: 0000 unimp + 800057e2: 0000 unimp + 800057e4: 0000 unimp + 800057e6: 0000 unimp + 800057e8: 0000 unimp + 800057ea: 0000 unimp + 800057ec: 0000 unimp + 800057ee: 0000 unimp + 800057f0: 0000 unimp + 800057f2: 0000 unimp + 800057f4: 0000 unimp + 800057f6: 0000 unimp + 800057f8: 0000 unimp + 800057fa: 0000 unimp + 800057fc: 0000 unimp + 800057fe: 0000 unimp + 80005800: 0000 unimp + 80005802: 0000 unimp + 80005804: 0000 unimp + 80005806: 0000 unimp + 80005808: 0000 unimp + 8000580a: 0000 unimp + 8000580c: 0000 unimp + 8000580e: 0000 unimp + 80005810: 0000 unimp + 80005812: 0000 unimp + 80005814: 0000 unimp + 80005816: 0000 unimp + 80005818: 0000 unimp + 8000581a: 0000 unimp + 8000581c: 0000 unimp + 8000581e: 0000 unimp + 80005820: 0000 unimp + 80005822: 0000 unimp + 80005824: 0000 unimp + 80005826: 0000 unimp + 80005828: 0000 unimp + 8000582a: 0000 unimp + 8000582c: 0000 unimp + 8000582e: 0000 unimp + 80005830: 0000 unimp + 80005832: 0000 unimp + 80005834: 0000 unimp + 80005836: 0000 unimp + 80005838: 0000 unimp + 8000583a: 0000 unimp + 8000583c: 0000 unimp + 8000583e: 0000 unimp + 80005840: 0000 unimp + 80005842: 0000 unimp + 80005844: 0000 unimp + 80005846: 0000 unimp + 80005848: 0000 unimp + 8000584a: 0000 unimp + 8000584c: 0000 unimp + 8000584e: 0000 unimp + 80005850: 0000 unimp + 80005852: 0000 unimp + 80005854: 0000 unimp + 80005856: 0000 unimp + 80005858: 0000 unimp + 8000585a: 0000 unimp + 8000585c: 0000 unimp + 8000585e: 0000 unimp + 80005860: 0000 unimp + 80005862: 0000 unimp + 80005864: 0000 unimp + 80005866: 0000 unimp + 80005868: 0000 unimp + 8000586a: 0000 unimp + 8000586c: 0000 unimp + 8000586e: 0000 unimp + 80005870: 0000 unimp + 80005872: 0000 unimp + 80005874: 0000 unimp + 80005876: 0000 unimp + 80005878: 0000 unimp + 8000587a: 0000 unimp + 8000587c: 0000 unimp + 8000587e: 0000 unimp + 80005880: 0000 unimp + 80005882: 0000 unimp + 80005884: 0000 unimp + 80005886: 0000 unimp + 80005888: 0000 unimp + 8000588a: 0000 unimp + 8000588c: 0000 unimp + 8000588e: 0000 unimp + 80005890: 0000 unimp + 80005892: 0000 unimp + 80005894: 0000 unimp + 80005896: 0000 unimp + 80005898: 0000 unimp + 8000589a: 0000 unimp + 8000589c: 0000 unimp + 8000589e: 0000 unimp + 800058a0: 0000 unimp + 800058a2: 0000 unimp + 800058a4: 0000 unimp + 800058a6: 0000 unimp + 800058a8: 0000 unimp + 800058aa: 0000 unimp + 800058ac: 0000 unimp + 800058ae: 0000 unimp + 800058b0: 0000 unimp + 800058b2: 0000 unimp + 800058b4: 0000 unimp + 800058b6: 0000 unimp + 800058b8: 0000 unimp + 800058ba: 0000 unimp + 800058bc: 0000 unimp + 800058be: 0000 unimp + 800058c0: 0000 unimp + 800058c2: 0000 unimp + 800058c4: 0000 unimp + 800058c6: 0000 unimp + 800058c8: 0000 unimp + 800058ca: 0000 unimp + 800058cc: 0000 unimp + 800058ce: 0000 unimp + 800058d0: 0000 unimp + 800058d2: 0000 unimp + 800058d4: 0000 unimp + 800058d6: 0000 unimp + 800058d8: 0000 unimp + 800058da: 0000 unimp + 800058dc: 0000 unimp + 800058de: 0000 unimp + 800058e0: 0000 unimp + 800058e2: 0000 unimp + 800058e4: 0000 unimp + 800058e6: 0000 unimp + 800058e8: 0000 unimp + 800058ea: 0000 unimp + 800058ec: 0000 unimp + 800058ee: 0000 unimp + 800058f0: 0000 unimp + 800058f2: 0000 unimp + 800058f4: 0000 unimp + 800058f6: 0000 unimp + 800058f8: 0000 unimp + 800058fa: 0000 unimp + 800058fc: 0000 unimp + 800058fe: 0000 unimp + 80005900: 0000 unimp + 80005902: 0000 unimp + 80005904: 0000 unimp + 80005906: 0000 unimp + 80005908: 0000 unimp + 8000590a: 0000 unimp + 8000590c: 0000 unimp + 8000590e: 0000 unimp + 80005910: 0000 unimp + 80005912: 0000 unimp + 80005914: 0000 unimp + 80005916: 0000 unimp + 80005918: 0000 unimp + 8000591a: 0000 unimp + 8000591c: 0000 unimp + 8000591e: 0000 unimp + 80005920: 0000 unimp + 80005922: 0000 unimp + 80005924: 0000 unimp + 80005926: 0000 unimp + 80005928: 0000 unimp + 8000592a: 0000 unimp + 8000592c: 0000 unimp + 8000592e: 0000 unimp + 80005930: 0000 unimp + 80005932: 0000 unimp + 80005934: 0000 unimp + 80005936: 0000 unimp + 80005938: 0000 unimp + 8000593a: 0000 unimp + 8000593c: 0000 unimp + 8000593e: 0000 unimp + 80005940: 0000 unimp + 80005942: 0000 unimp + 80005944: 0000 unimp + 80005946: 0000 unimp + 80005948: 0000 unimp + 8000594a: 0000 unimp + 8000594c: 0000 unimp + 8000594e: 0000 unimp + 80005950: 0000 unimp + 80005952: 0000 unimp + 80005954: 0000 unimp + 80005956: 0000 unimp + 80005958: 0000 unimp + 8000595a: 0000 unimp + 8000595c: 0000 unimp + 8000595e: 0000 unimp + 80005960: 0000 unimp + 80005962: 0000 unimp + 80005964: 0000 unimp + 80005966: 0000 unimp + 80005968: 0000 unimp + 8000596a: 0000 unimp + 8000596c: 0000 unimp + 8000596e: 0000 unimp + 80005970: 0000 unimp + 80005972: 0000 unimp + 80005974: 0000 unimp + 80005976: 0000 unimp + 80005978: 0000 unimp + 8000597a: 0000 unimp + 8000597c: 0000 unimp + 8000597e: 0000 unimp + 80005980: 0000 unimp + 80005982: 0000 unimp + 80005984: 0000 unimp + 80005986: 0000 unimp + 80005988: 0000 unimp + 8000598a: 0000 unimp + 8000598c: 0000 unimp + 8000598e: 0000 unimp + 80005990: 0000 unimp + 80005992: 0000 unimp + 80005994: 0000 unimp + 80005996: 0000 unimp + 80005998: 0000 unimp + 8000599a: 0000 unimp + 8000599c: 0000 unimp + 8000599e: 0000 unimp + 800059a0: 0000 unimp + 800059a2: 0000 unimp + 800059a4: 0000 unimp + 800059a6: 0000 unimp + 800059a8: 0000 unimp + 800059aa: 0000 unimp + 800059ac: 0000 unimp + 800059ae: 0000 unimp + 800059b0: 0000 unimp + 800059b2: 0000 unimp + 800059b4: 0000 unimp + 800059b6: 0000 unimp + 800059b8: 0000 unimp + 800059ba: 0000 unimp + 800059bc: 0000 unimp + 800059be: 0000 unimp + 800059c0: 0000 unimp + 800059c2: 0000 unimp + 800059c4: 0000 unimp + 800059c6: 0000 unimp + 800059c8: 0000 unimp + 800059ca: 0000 unimp + 800059cc: 0000 unimp + 800059ce: 0000 unimp + 800059d0: 0000 unimp + 800059d2: 0000 unimp + 800059d4: 0000 unimp + 800059d6: 0000 unimp + 800059d8: 0000 unimp + 800059da: 0000 unimp + 800059dc: 0000 unimp + 800059de: 0000 unimp + 800059e0: 0000 unimp + 800059e2: 0000 unimp + 800059e4: 0000 unimp + 800059e6: 0000 unimp + 800059e8: 0000 unimp + 800059ea: 0000 unimp + 800059ec: 0000 unimp + 800059ee: 0000 unimp + 800059f0: 0000 unimp + 800059f2: 0000 unimp + 800059f4: 0000 unimp + 800059f6: 0000 unimp + 800059f8: 0000 unimp + 800059fa: 0000 unimp + 800059fc: 0000 unimp + 800059fe: 0000 unimp + 80005a00: 0000 unimp + 80005a02: 0000 unimp + 80005a04: 0000 unimp + 80005a06: 0000 unimp + 80005a08: 0000 unimp + 80005a0a: 0000 unimp + 80005a0c: 0000 unimp + 80005a0e: 0000 unimp + 80005a10: 0000 unimp + 80005a12: 0000 unimp + 80005a14: 0000 unimp + 80005a16: 0000 unimp + 80005a18: 0000 unimp + 80005a1a: 0000 unimp + 80005a1c: 0000 unimp + 80005a1e: 0000 unimp + 80005a20: 0000 unimp + 80005a22: 0000 unimp + 80005a24: 0000 unimp + 80005a26: 0000 unimp + 80005a28: 0000 unimp + 80005a2a: 0000 unimp + 80005a2c: 0000 unimp + 80005a2e: 0000 unimp + 80005a30: 0000 unimp + 80005a32: 0000 unimp + 80005a34: 0000 unimp + 80005a36: 0000 unimp + 80005a38: 0000 unimp + 80005a3a: 0000 unimp + 80005a3c: 0000 unimp + 80005a3e: 0000 unimp + 80005a40: 0000 unimp + 80005a42: 0000 unimp + 80005a44: 0000 unimp + 80005a46: 0000 unimp + 80005a48: 0000 unimp + 80005a4a: 0000 unimp + 80005a4c: 0000 unimp + 80005a4e: 0000 unimp + 80005a50: 0000 unimp + 80005a52: 0000 unimp + 80005a54: 0000 unimp + 80005a56: 0000 unimp + 80005a58: 0000 unimp + 80005a5a: 0000 unimp + 80005a5c: 0000 unimp + 80005a5e: 0000 unimp + 80005a60: 0000 unimp + 80005a62: 0000 unimp + 80005a64: 0000 unimp + 80005a66: 0000 unimp + 80005a68: 0000 unimp + 80005a6a: 0000 unimp + 80005a6c: 0000 unimp + 80005a6e: 0000 unimp + 80005a70: 0000 unimp + 80005a72: 0000 unimp + 80005a74: 0000 unimp + 80005a76: 0000 unimp + 80005a78: 0000 unimp + 80005a7a: 0000 unimp + 80005a7c: 0000 unimp + 80005a7e: 0000 unimp + 80005a80: 0000 unimp + 80005a82: 0000 unimp + 80005a84: 0000 unimp + 80005a86: 0000 unimp + 80005a88: 0000 unimp + 80005a8a: 0000 unimp + 80005a8c: 0000 unimp + 80005a8e: 0000 unimp + 80005a90: 0000 unimp + 80005a92: 0000 unimp + 80005a94: 0000 unimp + 80005a96: 0000 unimp + 80005a98: 0000 unimp + 80005a9a: 0000 unimp + 80005a9c: 0000 unimp + 80005a9e: 0000 unimp + 80005aa0: 0000 unimp + 80005aa2: 0000 unimp + 80005aa4: 0000 unimp + 80005aa6: 0000 unimp + 80005aa8: 0000 unimp + 80005aaa: 0000 unimp + 80005aac: 0000 unimp + 80005aae: 0000 unimp + 80005ab0: 0000 unimp + 80005ab2: 0000 unimp + 80005ab4: 0000 unimp + 80005ab6: 0000 unimp + 80005ab8: 0000 unimp + 80005aba: 0000 unimp + 80005abc: 0000 unimp + 80005abe: 0000 unimp + 80005ac0: 0000 unimp + 80005ac2: 0000 unimp + 80005ac4: 0000 unimp + 80005ac6: 0000 unimp + 80005ac8: 0000 unimp + 80005aca: 0000 unimp + 80005acc: 0000 unimp + 80005ace: 0000 unimp + 80005ad0: 0000 unimp + 80005ad2: 0000 unimp + 80005ad4: 0000 unimp + 80005ad6: 0000 unimp + 80005ad8: 0000 unimp + 80005ada: 0000 unimp + 80005adc: 0000 unimp + 80005ade: 0000 unimp + 80005ae0: 0000 unimp + 80005ae2: 0000 unimp + 80005ae4: 0000 unimp + 80005ae6: 0000 unimp + 80005ae8: 0000 unimp + 80005aea: 0000 unimp + 80005aec: 0000 unimp + 80005aee: 0000 unimp + 80005af0: 0000 unimp + 80005af2: 0000 unimp + 80005af4: 0000 unimp + 80005af6: 0000 unimp + 80005af8: 0000 unimp + 80005afa: 0000 unimp + 80005afc: 0000 unimp + 80005afe: 0000 unimp + 80005b00: 0000 unimp + 80005b02: 0000 unimp + 80005b04: 0000 unimp + 80005b06: 0000 unimp + 80005b08: 0000 unimp + 80005b0a: 0000 unimp + 80005b0c: 0000 unimp + 80005b0e: 0000 unimp + 80005b10: 0000 unimp + 80005b12: 0000 unimp + 80005b14: 0000 unimp + 80005b16: 0000 unimp + 80005b18: 0000 unimp + 80005b1a: 0000 unimp + 80005b1c: 0000 unimp + 80005b1e: 0000 unimp + 80005b20: 0000 unimp + 80005b22: 0000 unimp + 80005b24: 0000 unimp + 80005b26: 0000 unimp + 80005b28: 0000 unimp + 80005b2a: 0000 unimp + 80005b2c: 0000 unimp + 80005b2e: 0000 unimp + 80005b30: 0000 unimp + 80005b32: 0000 unimp + 80005b34: 0000 unimp + 80005b36: 0000 unimp + 80005b38: 0000 unimp + 80005b3a: 0000 unimp + 80005b3c: 0000 unimp + 80005b3e: 0000 unimp + 80005b40: 0000 unimp + 80005b42: 0000 unimp + 80005b44: 0000 unimp + 80005b46: 0000 unimp + 80005b48: 0000 unimp + 80005b4a: 0000 unimp + 80005b4c: 0000 unimp + 80005b4e: 0000 unimp + 80005b50: 0000 unimp + 80005b52: 0000 unimp + 80005b54: 0000 unimp + 80005b56: 0000 unimp + 80005b58: 0000 unimp + 80005b5a: 0000 unimp + 80005b5c: 0000 unimp + 80005b5e: 0000 unimp + 80005b60: 0000 unimp + 80005b62: 0000 unimp + 80005b64: 0000 unimp + 80005b66: 0000 unimp + 80005b68: 0000 unimp + 80005b6a: 0000 unimp + 80005b6c: 0000 unimp + 80005b6e: 0000 unimp + 80005b70: 0000 unimp + 80005b72: 0000 unimp + 80005b74: 0000 unimp + 80005b76: 0000 unimp + 80005b78: 0000 unimp + 80005b7a: 0000 unimp + 80005b7c: 0000 unimp + 80005b7e: 0000 unimp + 80005b80: 0000 unimp + 80005b82: 0000 unimp + 80005b84: 0000 unimp + 80005b86: 0000 unimp + 80005b88: 0000 unimp + 80005b8a: 0000 unimp + 80005b8c: 0000 unimp + 80005b8e: 0000 unimp + 80005b90: 0000 unimp + 80005b92: 0000 unimp + 80005b94: 0000 unimp + 80005b96: 0000 unimp + 80005b98: 0000 unimp + 80005b9a: 0000 unimp + 80005b9c: 0000 unimp + 80005b9e: 0000 unimp + 80005ba0: 0000 unimp + 80005ba2: 0000 unimp + 80005ba4: 0000 unimp + 80005ba6: 0000 unimp + 80005ba8: 0000 unimp + 80005baa: 0000 unimp + 80005bac: 0000 unimp + 80005bae: 0000 unimp + 80005bb0: 0000 unimp + 80005bb2: 0000 unimp + 80005bb4: 0000 unimp + 80005bb6: 0000 unimp + 80005bb8: 0000 unimp + 80005bba: 0000 unimp + 80005bbc: 0000 unimp + 80005bbe: 0000 unimp + 80005bc0: 0000 unimp + 80005bc2: 0000 unimp + 80005bc4: 0000 unimp + 80005bc6: 0000 unimp + 80005bc8: 0000 unimp + 80005bca: 0000 unimp + 80005bcc: 0000 unimp + 80005bce: 0000 unimp + 80005bd0: 0000 unimp + 80005bd2: 0000 unimp + 80005bd4: 0000 unimp + 80005bd6: 0000 unimp + 80005bd8: 0000 unimp + 80005bda: 0000 unimp + 80005bdc: 0000 unimp + 80005bde: 0000 unimp + 80005be0: 0000 unimp + 80005be2: 0000 unimp + 80005be4: 0000 unimp + 80005be6: 0000 unimp + 80005be8: 0000 unimp + 80005bea: 0000 unimp + 80005bec: 0000 unimp + 80005bee: 0000 unimp + 80005bf0: 0000 unimp + 80005bf2: 0000 unimp + 80005bf4: 0000 unimp + 80005bf6: 0000 unimp + 80005bf8: 0000 unimp + 80005bfa: 0000 unimp + 80005bfc: 0000 unimp + 80005bfe: 0000 unimp + 80005c00: 0000 unimp + 80005c02: 0000 unimp + 80005c04: 0000 unimp + 80005c06: 0000 unimp + 80005c08: 0000 unimp + 80005c0a: 0000 unimp + 80005c0c: 0000 unimp + 80005c0e: 0000 unimp + 80005c10: 0000 unimp + 80005c12: 0000 unimp + 80005c14: 0000 unimp + 80005c16: 0000 unimp + 80005c18: 0000 unimp + 80005c1a: 0000 unimp + 80005c1c: 0000 unimp + 80005c1e: 0000 unimp + 80005c20: 0000 unimp + 80005c22: 0000 unimp + 80005c24: 0000 unimp + 80005c26: 0000 unimp + 80005c28: 0000 unimp + 80005c2a: 0000 unimp + 80005c2c: 0000 unimp + 80005c2e: 0000 unimp + 80005c30: 0000 unimp + 80005c32: 0000 unimp + 80005c34: 0000 unimp + 80005c36: 0000 unimp + 80005c38: 0000 unimp + 80005c3a: 0000 unimp + 80005c3c: 0000 unimp + 80005c3e: 0000 unimp + 80005c40: 0000 unimp + 80005c42: 0000 unimp + 80005c44: 0000 unimp + 80005c46: 0000 unimp + 80005c48: 0000 unimp + 80005c4a: 0000 unimp + 80005c4c: 0000 unimp + 80005c4e: 0000 unimp + 80005c50: 0000 unimp + 80005c52: 0000 unimp + 80005c54: 0000 unimp + 80005c56: 0000 unimp + 80005c58: 0000 unimp + 80005c5a: 0000 unimp + 80005c5c: 0000 unimp + 80005c5e: 0000 unimp + 80005c60: 0000 unimp + 80005c62: 0000 unimp + 80005c64: 0000 unimp + 80005c66: 0000 unimp + 80005c68: 0000 unimp + 80005c6a: 0000 unimp + 80005c6c: 0000 unimp + 80005c6e: 0000 unimp + 80005c70: 0000 unimp + 80005c72: 0000 unimp + 80005c74: 0000 unimp + 80005c76: 0000 unimp + 80005c78: 0000 unimp + 80005c7a: 0000 unimp + 80005c7c: 0000 unimp + 80005c7e: 0000 unimp + 80005c80: 0000 unimp + 80005c82: 0000 unimp + 80005c84: 0000 unimp + 80005c86: 0000 unimp + 80005c88: 0000 unimp + 80005c8a: 0000 unimp + 80005c8c: 0000 unimp + 80005c8e: 0000 unimp + 80005c90: 0000 unimp + 80005c92: 0000 unimp + 80005c94: 0000 unimp + 80005c96: 0000 unimp + 80005c98: 0000 unimp + 80005c9a: 0000 unimp + 80005c9c: 0000 unimp + 80005c9e: 0000 unimp + 80005ca0: 0000 unimp + 80005ca2: 0000 unimp + 80005ca4: 0000 unimp + 80005ca6: 0000 unimp + 80005ca8: 0000 unimp + 80005caa: 0000 unimp + 80005cac: 0000 unimp + 80005cae: 0000 unimp + 80005cb0: 0000 unimp + 80005cb2: 0000 unimp + 80005cb4: 0000 unimp + 80005cb6: 0000 unimp + 80005cb8: 0000 unimp + 80005cba: 0000 unimp + 80005cbc: 0000 unimp + 80005cbe: 0000 unimp + 80005cc0: 0000 unimp + 80005cc2: 0000 unimp + 80005cc4: 0000 unimp + 80005cc6: 0000 unimp + 80005cc8: 0000 unimp + 80005cca: 0000 unimp + 80005ccc: 0000 unimp + 80005cce: 0000 unimp + 80005cd0: 0000 unimp + 80005cd2: 0000 unimp + 80005cd4: 0000 unimp + 80005cd6: 0000 unimp + 80005cd8: 0000 unimp + 80005cda: 0000 unimp + 80005cdc: 0000 unimp + 80005cde: 0000 unimp + 80005ce0: 0000 unimp + 80005ce2: 0000 unimp + 80005ce4: 0000 unimp + 80005ce6: 0000 unimp + 80005ce8: 0000 unimp + 80005cea: 0000 unimp + 80005cec: 0000 unimp + 80005cee: 0000 unimp + 80005cf0: 0000 unimp + 80005cf2: 0000 unimp + 80005cf4: 0000 unimp + 80005cf6: 0000 unimp + 80005cf8: 0000 unimp + 80005cfa: 0000 unimp + 80005cfc: 0000 unimp + 80005cfe: 0000 unimp + 80005d00: 0000 unimp + 80005d02: 0000 unimp + 80005d04: 0000 unimp + 80005d06: 0000 unimp + 80005d08: 0000 unimp + 80005d0a: 0000 unimp + 80005d0c: 0000 unimp + 80005d0e: 0000 unimp + 80005d10: 0000 unimp + 80005d12: 0000 unimp + 80005d14: 0000 unimp + 80005d16: 0000 unimp + 80005d18: 0000 unimp + 80005d1a: 0000 unimp + 80005d1c: 0000 unimp + 80005d1e: 0000 unimp + 80005d20: 0000 unimp + 80005d22: 0000 unimp + 80005d24: 0000 unimp + 80005d26: 0000 unimp + 80005d28: 0000 unimp + 80005d2a: 0000 unimp + 80005d2c: 0000 unimp + 80005d2e: 0000 unimp + 80005d30: 0000 unimp + 80005d32: 0000 unimp + 80005d34: 0000 unimp + 80005d36: 0000 unimp + 80005d38: 0000 unimp + 80005d3a: 0000 unimp + 80005d3c: 0000 unimp + 80005d3e: 0000 unimp + 80005d40: 0000 unimp + 80005d42: 0000 unimp + 80005d44: 0000 unimp + 80005d46: 0000 unimp + 80005d48: 0000 unimp + 80005d4a: 0000 unimp + 80005d4c: 0000 unimp + 80005d4e: 0000 unimp + 80005d50: 0000 unimp + 80005d52: 0000 unimp + 80005d54: 0000 unimp + 80005d56: 0000 unimp + 80005d58: 0000 unimp + 80005d5a: 0000 unimp + 80005d5c: 0000 unimp + 80005d5e: 0000 unimp + 80005d60: 0000 unimp + 80005d62: 0000 unimp + 80005d64: 0000 unimp + 80005d66: 0000 unimp + 80005d68: 0000 unimp + 80005d6a: 0000 unimp + 80005d6c: 0000 unimp + 80005d6e: 0000 unimp + 80005d70: 0000 unimp + 80005d72: 0000 unimp + 80005d74: 0000 unimp + 80005d76: 0000 unimp + 80005d78: 0000 unimp + 80005d7a: 0000 unimp + 80005d7c: 0000 unimp + 80005d7e: 0000 unimp + 80005d80: 0000 unimp + 80005d82: 0000 unimp + 80005d84: 0000 unimp + 80005d86: 0000 unimp + 80005d88: 0000 unimp + 80005d8a: 0000 unimp + 80005d8c: 0000 unimp + 80005d8e: 0000 unimp + 80005d90: 0000 unimp + 80005d92: 0000 unimp + 80005d94: 0000 unimp + 80005d96: 0000 unimp + 80005d98: 0000 unimp + 80005d9a: 0000 unimp + 80005d9c: 0000 unimp + 80005d9e: 0000 unimp + 80005da0: 0000 unimp + 80005da2: 0000 unimp + 80005da4: 0000 unimp + 80005da6: 0000 unimp + 80005da8: 0000 unimp + 80005daa: 0000 unimp + 80005dac: 0000 unimp + 80005dae: 0000 unimp + 80005db0: 0000 unimp + 80005db2: 0000 unimp + 80005db4: 0000 unimp + 80005db6: 0000 unimp + 80005db8: 0000 unimp + 80005dba: 0000 unimp + 80005dbc: 0000 unimp + 80005dbe: 0000 unimp + 80005dc0: 0000 unimp + 80005dc2: 0000 unimp + 80005dc4: 0000 unimp + 80005dc6: 0000 unimp + 80005dc8: 0000 unimp + 80005dca: 0000 unimp + 80005dcc: 0000 unimp + 80005dce: 0000 unimp + 80005dd0: 0000 unimp + 80005dd2: 0000 unimp + 80005dd4: 0000 unimp + 80005dd6: 0000 unimp + 80005dd8: 0000 unimp + 80005dda: 0000 unimp + 80005ddc: 0000 unimp + 80005dde: 0000 unimp + 80005de0: 0000 unimp + 80005de2: 0000 unimp + 80005de4: 0000 unimp + 80005de6: 0000 unimp + 80005de8: 0000 unimp + 80005dea: 0000 unimp + 80005dec: 0000 unimp + 80005dee: 0000 unimp + 80005df0: 0000 unimp + 80005df2: 0000 unimp + 80005df4: 0000 unimp + 80005df6: 0000 unimp + 80005df8: 0000 unimp + 80005dfa: 0000 unimp + 80005dfc: 0000 unimp + 80005dfe: 0000 unimp + 80005e00: 0000 unimp + 80005e02: 0000 unimp + 80005e04: 0000 unimp + 80005e06: 0000 unimp + 80005e08: 0000 unimp + 80005e0a: 0000 unimp + 80005e0c: 0000 unimp + 80005e0e: 0000 unimp + 80005e10: 0000 unimp + 80005e12: 0000 unimp + 80005e14: 0000 unimp + 80005e16: 0000 unimp + 80005e18: 0000 unimp + 80005e1a: 0000 unimp + 80005e1c: 0000 unimp + 80005e1e: 0000 unimp + 80005e20: 0000 unimp + 80005e22: 0000 unimp + 80005e24: 0000 unimp + 80005e26: 0000 unimp + 80005e28: 0000 unimp + 80005e2a: 0000 unimp + 80005e2c: 0000 unimp + 80005e2e: 0000 unimp + 80005e30: 0000 unimp + 80005e32: 0000 unimp + 80005e34: 0000 unimp + 80005e36: 0000 unimp + 80005e38: 0000 unimp + 80005e3a: 0000 unimp + 80005e3c: 0000 unimp + 80005e3e: 0000 unimp + 80005e40: 0000 unimp + 80005e42: 0000 unimp + 80005e44: 0000 unimp + 80005e46: 0000 unimp + 80005e48: 0000 unimp + 80005e4a: 0000 unimp + 80005e4c: 0000 unimp + 80005e4e: 0000 unimp + 80005e50: 0000 unimp + 80005e52: 0000 unimp + 80005e54: 0000 unimp + 80005e56: 0000 unimp + 80005e58: 0000 unimp + 80005e5a: 0000 unimp + 80005e5c: 0000 unimp + 80005e5e: 0000 unimp + 80005e60: 0000 unimp + 80005e62: 0000 unimp + 80005e64: 0000 unimp + 80005e66: 0000 unimp + 80005e68: 0000 unimp + 80005e6a: 0000 unimp + 80005e6c: 0000 unimp + 80005e6e: 0000 unimp + 80005e70: 0000 unimp + 80005e72: 0000 unimp + 80005e74: 0000 unimp + 80005e76: 0000 unimp + 80005e78: 0000 unimp + 80005e7a: 0000 unimp + 80005e7c: 0000 unimp + 80005e7e: 0000 unimp + 80005e80: 0000 unimp + 80005e82: 0000 unimp + 80005e84: 0000 unimp + 80005e86: 0000 unimp + 80005e88: 0000 unimp + 80005e8a: 0000 unimp + 80005e8c: 0000 unimp + 80005e8e: 0000 unimp + 80005e90: 0000 unimp + 80005e92: 0000 unimp + 80005e94: 0000 unimp + 80005e96: 0000 unimp + 80005e98: 0000 unimp + 80005e9a: 0000 unimp + 80005e9c: 0000 unimp + 80005e9e: 0000 unimp + 80005ea0: 0000 unimp + 80005ea2: 0000 unimp + 80005ea4: 0000 unimp + 80005ea6: 0000 unimp + 80005ea8: 0000 unimp + 80005eaa: 0000 unimp + 80005eac: 0000 unimp + 80005eae: 0000 unimp + 80005eb0: 0000 unimp + 80005eb2: 0000 unimp + 80005eb4: 0000 unimp + 80005eb6: 0000 unimp + 80005eb8: 0000 unimp + 80005eba: 0000 unimp + 80005ebc: 0000 unimp + 80005ebe: 0000 unimp + 80005ec0: 0000 unimp + 80005ec2: 0000 unimp + 80005ec4: 0000 unimp + 80005ec6: 0000 unimp + 80005ec8: 0000 unimp + 80005eca: 0000 unimp + 80005ecc: 0000 unimp + 80005ece: 0000 unimp + 80005ed0: 0000 unimp + 80005ed2: 0000 unimp + 80005ed4: 0000 unimp + 80005ed6: 0000 unimp + 80005ed8: 0000 unimp + 80005eda: 0000 unimp + 80005edc: 0000 unimp + 80005ede: 0000 unimp + 80005ee0: 0000 unimp + 80005ee2: 0000 unimp + 80005ee4: 0000 unimp + 80005ee6: 0000 unimp + 80005ee8: 0000 unimp + 80005eea: 0000 unimp + 80005eec: 0000 unimp + 80005eee: 0000 unimp + 80005ef0: 0000 unimp + 80005ef2: 0000 unimp + 80005ef4: 0000 unimp + 80005ef6: 0000 unimp + 80005ef8: 0000 unimp + 80005efa: 0000 unimp + 80005efc: 0000 unimp + 80005efe: 0000 unimp + 80005f00: 0000 unimp + 80005f02: 0000 unimp + 80005f04: 0000 unimp + 80005f06: 0000 unimp + 80005f08: 0000 unimp + 80005f0a: 0000 unimp + 80005f0c: 0000 unimp + 80005f0e: 0000 unimp + 80005f10: 0000 unimp + 80005f12: 0000 unimp + 80005f14: 0000 unimp + 80005f16: 0000 unimp + 80005f18: 0000 unimp + 80005f1a: 0000 unimp + 80005f1c: 0000 unimp + 80005f1e: 0000 unimp + 80005f20: 0000 unimp + 80005f22: 0000 unimp + 80005f24: 0000 unimp + 80005f26: 0000 unimp + 80005f28: 0000 unimp + 80005f2a: 0000 unimp + 80005f2c: 0000 unimp + 80005f2e: 0000 unimp + 80005f30: 0000 unimp + 80005f32: 0000 unimp + 80005f34: 0000 unimp + 80005f36: 0000 unimp + 80005f38: 0000 unimp + 80005f3a: 0000 unimp + 80005f3c: 0000 unimp + 80005f3e: 0000 unimp + 80005f40: 0000 unimp + 80005f42: 0000 unimp + 80005f44: 0000 unimp + 80005f46: 0000 unimp + 80005f48: 0000 unimp + 80005f4a: 0000 unimp + 80005f4c: 0000 unimp + 80005f4e: 0000 unimp + 80005f50: 0000 unimp + 80005f52: 0000 unimp + 80005f54: 0000 unimp + 80005f56: 0000 unimp + 80005f58: 0000 unimp + 80005f5a: 0000 unimp + 80005f5c: 0000 unimp + 80005f5e: 0000 unimp + 80005f60: 0000 unimp + 80005f62: 0000 unimp + 80005f64: 0000 unimp + 80005f66: 0000 unimp + 80005f68: 0000 unimp + 80005f6a: 0000 unimp + 80005f6c: 0000 unimp + 80005f6e: 0000 unimp + 80005f70: 0000 unimp + 80005f72: 0000 unimp + 80005f74: 0000 unimp + 80005f76: 0000 unimp + 80005f78: 0000 unimp + 80005f7a: 0000 unimp + 80005f7c: 0000 unimp + 80005f7e: 0000 unimp + 80005f80: 0000 unimp + 80005f82: 0000 unimp + 80005f84: 0000 unimp + 80005f86: 0000 unimp + 80005f88: 0000 unimp + 80005f8a: 0000 unimp + 80005f8c: 0000 unimp + 80005f8e: 0000 unimp + 80005f90: 0000 unimp + 80005f92: 0000 unimp + 80005f94: 0000 unimp + 80005f96: 0000 unimp + 80005f98: 0000 unimp + 80005f9a: 0000 unimp + 80005f9c: 0000 unimp + 80005f9e: 0000 unimp + 80005fa0: 0000 unimp + 80005fa2: 0000 unimp + 80005fa4: 0000 unimp + 80005fa6: 0000 unimp + 80005fa8: 0000 unimp + 80005faa: 0000 unimp + 80005fac: 0000 unimp + 80005fae: 0000 unimp + 80005fb0: 0000 unimp + 80005fb2: 0000 unimp + 80005fb4: 0000 unimp + 80005fb6: 0000 unimp + 80005fb8: 0000 unimp + 80005fba: 0000 unimp + 80005fbc: 0000 unimp + 80005fbe: 0000 unimp + 80005fc0: 0000 unimp + 80005fc2: 0000 unimp + 80005fc4: 0000 unimp + 80005fc6: 0000 unimp diff --git a/test/riscv/tests/rv64uc-v-rvc.elf b/test/riscv/tests/rv64uc-v-rvc.elf Binary files differnew file mode 100644 index 00000000..89152b9c --- /dev/null +++ b/test/riscv/tests/rv64uc-v-rvc.elf diff --git a/test/riscv/tests/rv64ui-p-add.elf b/test/riscv/tests/rv64ui-p-add.elf Binary files differindex cd560ee7..711d4fc8 100755..100644 --- a/test/riscv/tests/rv64ui-p-add.elf +++ b/test/riscv/tests/rv64ui-p-add.elf diff --git a/test/riscv/tests/rv64ui-p-addi.elf b/test/riscv/tests/rv64ui-p-addi.elf Binary files differindex 3cbc838d..511253ab 100755..100644 --- a/test/riscv/tests/rv64ui-p-addi.elf +++ b/test/riscv/tests/rv64ui-p-addi.elf diff --git a/test/riscv/tests/rv64ui-p-addiw.elf b/test/riscv/tests/rv64ui-p-addiw.elf Binary files differindex adee4ac2..c58d5215 100755..100644 --- a/test/riscv/tests/rv64ui-p-addiw.elf +++ b/test/riscv/tests/rv64ui-p-addiw.elf diff --git a/test/riscv/tests/rv64ui-p-addw.elf b/test/riscv/tests/rv64ui-p-addw.elf Binary files differindex b36a71c1..b4cc4910 100755..100644 --- a/test/riscv/tests/rv64ui-p-addw.elf +++ b/test/riscv/tests/rv64ui-p-addw.elf diff --git a/test/riscv/tests/rv64ui-p-and.elf b/test/riscv/tests/rv64ui-p-and.elf Binary files differindex 66d59699..6450bbc4 100755..100644 --- a/test/riscv/tests/rv64ui-p-and.elf +++ b/test/riscv/tests/rv64ui-p-and.elf diff --git a/test/riscv/tests/rv64ui-p-andi.elf b/test/riscv/tests/rv64ui-p-andi.elf Binary files differindex 2886a877..26396d91 100755..100644 --- a/test/riscv/tests/rv64ui-p-andi.elf +++ b/test/riscv/tests/rv64ui-p-andi.elf diff --git a/test/riscv/tests/rv64ui-p-auipc.elf b/test/riscv/tests/rv64ui-p-auipc.elf Binary files differindex 4ef544d1..841136eb 100755..100644 --- a/test/riscv/tests/rv64ui-p-auipc.elf +++ b/test/riscv/tests/rv64ui-p-auipc.elf diff --git a/test/riscv/tests/rv64ui-p-beq.elf b/test/riscv/tests/rv64ui-p-beq.elf Binary files differindex 38481b96..74d63921 100755..100644 --- a/test/riscv/tests/rv64ui-p-beq.elf +++ b/test/riscv/tests/rv64ui-p-beq.elf diff --git a/test/riscv/tests/rv64ui-p-bge.elf b/test/riscv/tests/rv64ui-p-bge.elf Binary files differindex 31d9ecd4..6a5c2ef2 100755..100644 --- a/test/riscv/tests/rv64ui-p-bge.elf +++ b/test/riscv/tests/rv64ui-p-bge.elf diff --git a/test/riscv/tests/rv64ui-p-bgeu.elf b/test/riscv/tests/rv64ui-p-bgeu.elf Binary files differindex a7e14bac..a1ae7fea 100755..100644 --- a/test/riscv/tests/rv64ui-p-bgeu.elf +++ b/test/riscv/tests/rv64ui-p-bgeu.elf diff --git a/test/riscv/tests/rv64ui-p-blt.elf b/test/riscv/tests/rv64ui-p-blt.elf Binary files differindex eec6ce60..53f06fa5 100755..100644 --- a/test/riscv/tests/rv64ui-p-blt.elf +++ b/test/riscv/tests/rv64ui-p-blt.elf diff --git a/test/riscv/tests/rv64ui-p-bltu.elf b/test/riscv/tests/rv64ui-p-bltu.elf Binary files differindex 05ee4bec..a5d06391 100755..100644 --- a/test/riscv/tests/rv64ui-p-bltu.elf +++ b/test/riscv/tests/rv64ui-p-bltu.elf diff --git a/test/riscv/tests/rv64ui-p-bne.elf b/test/riscv/tests/rv64ui-p-bne.elf Binary files differindex f44e9132..9a83bec4 100755..100644 --- a/test/riscv/tests/rv64ui-p-bne.elf +++ b/test/riscv/tests/rv64ui-p-bne.elf diff --git a/test/riscv/tests/rv64ui-p-fence_i.elf b/test/riscv/tests/rv64ui-p-fence_i.elf Binary files differindex da16800e..9f8d7726 100755..100644 --- a/test/riscv/tests/rv64ui-p-fence_i.elf +++ b/test/riscv/tests/rv64ui-p-fence_i.elf diff --git a/test/riscv/tests/rv64ui-p-jal.elf b/test/riscv/tests/rv64ui-p-jal.elf Binary files differindex a6a2933f..3741bbb7 100755..100644 --- a/test/riscv/tests/rv64ui-p-jal.elf +++ b/test/riscv/tests/rv64ui-p-jal.elf diff --git a/test/riscv/tests/rv64ui-p-jalr.elf b/test/riscv/tests/rv64ui-p-jalr.elf Binary files differindex 709778a9..9682d86f 100755..100644 --- a/test/riscv/tests/rv64ui-p-jalr.elf +++ b/test/riscv/tests/rv64ui-p-jalr.elf diff --git a/test/riscv/tests/rv64ui-p-lb.elf b/test/riscv/tests/rv64ui-p-lb.elf Binary files differindex c1723c06..7e0a8a40 100755..100644 --- a/test/riscv/tests/rv64ui-p-lb.elf +++ b/test/riscv/tests/rv64ui-p-lb.elf diff --git a/test/riscv/tests/rv64ui-p-lbu.elf b/test/riscv/tests/rv64ui-p-lbu.elf Binary files differindex e14ea798..14f1586b 100755..100644 --- a/test/riscv/tests/rv64ui-p-lbu.elf +++ b/test/riscv/tests/rv64ui-p-lbu.elf diff --git a/test/riscv/tests/rv64ui-p-ld.elf b/test/riscv/tests/rv64ui-p-ld.elf Binary files differindex 5aa623b0..df2a7349 100755..100644 --- a/test/riscv/tests/rv64ui-p-ld.elf +++ b/test/riscv/tests/rv64ui-p-ld.elf diff --git a/test/riscv/tests/rv64ui-p-lh.elf b/test/riscv/tests/rv64ui-p-lh.elf Binary files differindex 30db6615..fcff462f 100755..100644 --- a/test/riscv/tests/rv64ui-p-lh.elf +++ b/test/riscv/tests/rv64ui-p-lh.elf diff --git a/test/riscv/tests/rv64ui-p-lhu.elf b/test/riscv/tests/rv64ui-p-lhu.elf Binary files differindex bae5bc05..78bb0e92 100755..100644 --- a/test/riscv/tests/rv64ui-p-lhu.elf +++ b/test/riscv/tests/rv64ui-p-lhu.elf diff --git a/test/riscv/tests/rv64ui-p-lui.elf b/test/riscv/tests/rv64ui-p-lui.elf Binary files differindex 4bf8d97b..67dfe10e 100755..100644 --- a/test/riscv/tests/rv64ui-p-lui.elf +++ b/test/riscv/tests/rv64ui-p-lui.elf diff --git a/test/riscv/tests/rv64ui-p-lw.elf b/test/riscv/tests/rv64ui-p-lw.elf Binary files differindex d371f1c9..714ae850 100755..100644 --- a/test/riscv/tests/rv64ui-p-lw.elf +++ b/test/riscv/tests/rv64ui-p-lw.elf diff --git a/test/riscv/tests/rv64ui-p-lwu.elf b/test/riscv/tests/rv64ui-p-lwu.elf Binary files differindex c7fedede..de88bd29 100755..100644 --- a/test/riscv/tests/rv64ui-p-lwu.elf +++ b/test/riscv/tests/rv64ui-p-lwu.elf diff --git a/test/riscv/tests/rv64ui-p-or.elf b/test/riscv/tests/rv64ui-p-or.elf Binary files differindex e180a180..fbd5299f 100755..100644 --- a/test/riscv/tests/rv64ui-p-or.elf +++ b/test/riscv/tests/rv64ui-p-or.elf diff --git a/test/riscv/tests/rv64ui-p-ori.elf b/test/riscv/tests/rv64ui-p-ori.elf Binary files differindex c1f8f066..81868c2b 100755..100644 --- a/test/riscv/tests/rv64ui-p-ori.elf +++ b/test/riscv/tests/rv64ui-p-ori.elf diff --git a/test/riscv/tests/rv64ui-p-sb.elf b/test/riscv/tests/rv64ui-p-sb.elf Binary files differindex 85999d6b..0f672c3d 100755..100644 --- a/test/riscv/tests/rv64ui-p-sb.elf +++ b/test/riscv/tests/rv64ui-p-sb.elf diff --git a/test/riscv/tests/rv64ui-p-sd.elf b/test/riscv/tests/rv64ui-p-sd.elf Binary files differindex f6801dcf..8ebb0db0 100755..100644 --- a/test/riscv/tests/rv64ui-p-sd.elf +++ b/test/riscv/tests/rv64ui-p-sd.elf diff --git a/test/riscv/tests/rv64ui-p-sh.elf b/test/riscv/tests/rv64ui-p-sh.elf Binary files differindex 118eeb3f..5ba031e4 100755..100644 --- a/test/riscv/tests/rv64ui-p-sh.elf +++ b/test/riscv/tests/rv64ui-p-sh.elf diff --git a/test/riscv/tests/rv64ui-p-simple.elf b/test/riscv/tests/rv64ui-p-simple.elf Binary files differindex 541353b3..bc8cb92d 100755..100644 --- a/test/riscv/tests/rv64ui-p-simple.elf +++ b/test/riscv/tests/rv64ui-p-simple.elf diff --git a/test/riscv/tests/rv64ui-p-sll.elf b/test/riscv/tests/rv64ui-p-sll.elf Binary files differindex ad48a8ea..75144abf 100755..100644 --- a/test/riscv/tests/rv64ui-p-sll.elf +++ b/test/riscv/tests/rv64ui-p-sll.elf diff --git a/test/riscv/tests/rv64ui-p-slli.dump b/test/riscv/tests/rv64ui-p-slli.dump index de783cf8..f04acaad 100644 --- a/test/riscv/tests/rv64ui-p-slli.dump +++ b/test/riscv/tests/rv64ui-p-slli.dump @@ -82,28 +82,28 @@ Disassembly of section .text.init: 80000100: 00009f13 slli t5,ra,0x0 80000104: 00100e93 li t4,1 80000108: 00200193 li gp,2 - 8000010c: 2fdf1a63 bne t5,t4,80000400 <fail> + 8000010c: 2fdf1463 bne t5,t4,800003f4 <fail> 0000000080000110 <test_3>: 80000110: 00100093 li ra,1 80000114: 00109f13 slli t5,ra,0x1 80000118: 00200e93 li t4,2 8000011c: 00300193 li gp,3 - 80000120: 2fdf1063 bne t5,t4,80000400 <fail> + 80000120: 2ddf1a63 bne t5,t4,800003f4 <fail> 0000000080000124 <test_4>: 80000124: 00100093 li ra,1 80000128: 00709f13 slli t5,ra,0x7 8000012c: 08000e93 li t4,128 80000130: 00400193 li gp,4 - 80000134: 2ddf1663 bne t5,t4,80000400 <fail> + 80000134: 2ddf1063 bne t5,t4,800003f4 <fail> 0000000080000138 <test_5>: 80000138: 00100093 li ra,1 8000013c: 00e09f13 slli t5,ra,0xe 80000140: 00004eb7 lui t4,0x4 80000144: 00500193 li gp,5 - 80000148: 2bdf1c63 bne t5,t4,80000400 <fail> + 80000148: 2bdf1663 bne t5,t4,800003f4 <fail> 000000008000014c <test_6>: 8000014c: 00100093 li ra,1 @@ -111,42 +111,42 @@ Disassembly of section .text.init: 80000154: 00100e9b addiw t4,zero,1 80000158: 01fe9e93 slli t4,t4,0x1f 8000015c: 00600193 li gp,6 - 80000160: 2bdf1063 bne t5,t4,80000400 <fail> + 80000160: 29df1a63 bne t5,t4,800003f4 <fail> 0000000080000164 <test_7>: 80000164: fff00093 li ra,-1 80000168: 00009f13 slli t5,ra,0x0 8000016c: fff00e93 li t4,-1 80000170: 00700193 li gp,7 - 80000174: 29df1663 bne t5,t4,80000400 <fail> + 80000174: 29df1063 bne t5,t4,800003f4 <fail> 0000000080000178 <test_8>: 80000178: fff00093 li ra,-1 8000017c: 00109f13 slli t5,ra,0x1 80000180: ffe00e93 li t4,-2 80000184: 00800193 li gp,8 - 80000188: 27df1c63 bne t5,t4,80000400 <fail> + 80000188: 27df1663 bne t5,t4,800003f4 <fail> 000000008000018c <test_9>: 8000018c: fff00093 li ra,-1 80000190: 00709f13 slli t5,ra,0x7 80000194: f8000e93 li t4,-128 80000198: 00900193 li gp,9 - 8000019c: 27df1263 bne t5,t4,80000400 <fail> + 8000019c: 25df1c63 bne t5,t4,800003f4 <fail> 00000000800001a0 <test_10>: 800001a0: fff00093 li ra,-1 800001a4: 00e09f13 slli t5,ra,0xe 800001a8: ffffceb7 lui t4,0xffffc 800001ac: 00a00193 li gp,10 - 800001b0: 25df1863 bne t5,t4,80000400 <fail> + 800001b0: 25df1263 bne t5,t4,800003f4 <fail> 00000000800001b4 <test_11>: 800001b4: fff00093 li ra,-1 800001b8: 01f09f13 slli t5,ra,0x1f 800001bc: 80000eb7 lui t4,0x80000 800001c0: 00b00193 li gp,11 - 800001c4: 23df1e63 bne t5,t4,80000400 <fail> + 800001c4: 23df1863 bne t5,t4,800003f4 <fail> 00000000800001c8 <test_12>: 800001c8: 212120b7 lui ra,0x21212 @@ -155,7 +155,7 @@ Disassembly of section .text.init: 800001d4: 21212eb7 lui t4,0x21212 800001d8: 121e8e9b addiw t4,t4,289 800001dc: 00c00193 li gp,12 - 800001e0: 23df1063 bne t5,t4,80000400 <fail> + 800001e0: 21df1a63 bne t5,t4,800003f4 <fail> 00000000800001e4 <test_13>: 800001e4: 212120b7 lui ra,0x21212 @@ -164,7 +164,7 @@ Disassembly of section .text.init: 800001f0: 42424eb7 lui t4,0x42424 800001f4: 242e8e9b addiw t4,t4,578 800001f8: 00d00193 li gp,13 - 800001fc: 21df1263 bne t5,t4,80000400 <fail> + 800001fc: 1fdf1c63 bne t5,t4,800003f4 <fail> 0000000080000200 <test_14>: 80000200: 212120b7 lui ra,0x21212 @@ -175,7 +175,7 @@ Disassembly of section .text.init: 80000214: 00ce9e93 slli t4,t4,0xc 80000218: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> 8000021c: 00e00193 li gp,14 - 80000220: 1fdf1063 bne t5,t4,80000400 <fail> + 80000220: 1ddf1a63 bne t5,t4,800003f4 <fail> 0000000080000224 <test_15>: 80000224: 212120b7 lui ra,0x21212 @@ -185,7 +185,7 @@ Disassembly of section .text.init: 80000234: 121e8e9b addiw t4,t4,289 80000238: 00ee9e93 slli t4,t4,0xe 8000023c: 00f00193 li gp,15 - 80000240: 1ddf1063 bne t5,t4,80000400 <fail> + 80000240: 1bdf1a63 bne t5,t4,800003f4 <fail> 0000000080000244 <test_16>: 80000244: 212120b7 lui ra,0x21212 @@ -195,147 +195,150 @@ Disassembly of section .text.init: 80000254: 121e8e9b addiw t4,t4,289 80000258: 01fe9e93 slli t4,t4,0x1f 8000025c: 01000193 li gp,16 - 80000260: 1bdf1063 bne t5,t4,80000400 <fail> + 80000260: 19df1a63 bne t5,t4,800003f4 <fail> 0000000080000264 <test_50>: 80000264: 00100093 li ra,1 - 80000268: 03f00113 li sp,63 - 8000026c: 00209f33 sll t5,ra,sp - 80000270: fff00e9b addiw t4,zero,-1 - 80000274: 03fe9e93 slli t4,t4,0x3f - 80000278: 03200193 li gp,50 - 8000027c: 19df1263 bne t5,t4,80000400 <fail> - -0000000080000280 <test_51>: - 80000280: fff00093 li ra,-1 - 80000284: 02700113 li sp,39 - 80000288: 00209f33 sll t5,ra,sp - 8000028c: fff00e9b addiw t4,zero,-1 - 80000290: 027e9e93 slli t4,t4,0x27 - 80000294: 03300193 li gp,51 - 80000298: 17df1463 bne t5,t4,80000400 <fail> - -000000008000029c <test_52>: - 8000029c: 212120b7 lui ra,0x21212 - 800002a0: 1210809b addiw ra,ra,289 - 800002a4: 02b00113 li sp,43 - 800002a8: 00209f33 sll t5,ra,sp - 800002ac: 00012eb7 lui t4,0x12 - 800002b0: 121e8e9b addiw t4,t4,289 - 800002b4: 02be9e93 slli t4,t4,0x2b - 800002b8: 03400193 li gp,52 - 800002bc: 15df1263 bne t5,t4,80000400 <fail> - -00000000800002c0 <test_17>: - 800002c0: 00100093 li ra,1 - 800002c4: 00709093 slli ra,ra,0x7 - 800002c8: 08000e93 li t4,128 - 800002cc: 01100193 li gp,17 - 800002d0: 13d09863 bne ra,t4,80000400 <fail> - -00000000800002d4 <test_18>: - 800002d4: 00000213 li tp,0 - 800002d8: 00100093 li ra,1 - 800002dc: 00709f13 slli t5,ra,0x7 - 800002e0: 000f0313 mv t1,t5 - 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 800002e8: 00200293 li t0,2 - 800002ec: fe5216e3 bne tp,t0,800002d8 <test_18+0x4> - 800002f0: 08000e93 li t4,128 - 800002f4: 01200193 li gp,18 - 800002f8: 11d31463 bne t1,t4,80000400 <fail> - -00000000800002fc <test_19>: - 800002fc: 00000213 li tp,0 - 80000300: 00100093 li ra,1 - 80000304: 00e09f13 slli t5,ra,0xe - 80000308: 00000013 nop - 8000030c: 000f0313 mv t1,t5 - 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 80000314: 00200293 li t0,2 - 80000318: fe5214e3 bne tp,t0,80000300 <test_19+0x4> - 8000031c: 00004eb7 lui t4,0x4 - 80000320: 01300193 li gp,19 - 80000324: 0dd31e63 bne t1,t4,80000400 <fail> - -0000000080000328 <test_20>: - 80000328: 00000213 li tp,0 - 8000032c: 00100093 li ra,1 - 80000330: 01f09f13 slli t5,ra,0x1f - 80000334: 00000013 nop - 80000338: 00000013 nop - 8000033c: 000f0313 mv t1,t5 - 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 80000344: 00200293 li t0,2 - 80000348: fe5212e3 bne tp,t0,8000032c <test_20+0x4> - 8000034c: 00100e9b addiw t4,zero,1 - 80000350: 01fe9e93 slli t4,t4,0x1f - 80000354: 01400193 li gp,20 - 80000358: 0bd31463 bne t1,t4,80000400 <fail> - -000000008000035c <test_21>: - 8000035c: 00000213 li tp,0 - 80000360: 00100093 li ra,1 - 80000364: 00709f13 slli t5,ra,0x7 - 80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 8000036c: 00200293 li t0,2 - 80000370: fe5218e3 bne tp,t0,80000360 <test_21+0x4> - 80000374: 08000e93 li t4,128 - 80000378: 01500193 li gp,21 - 8000037c: 09df1263 bne t5,t4,80000400 <fail> - -0000000080000380 <test_22>: - 80000380: 00000213 li tp,0 - 80000384: 00100093 li ra,1 - 80000388: 00000013 nop - 8000038c: 00e09f13 slli t5,ra,0xe - 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 80000394: 00200293 li t0,2 - 80000398: fe5216e3 bne tp,t0,80000384 <test_22+0x4> - 8000039c: 00004eb7 lui t4,0x4 - 800003a0: 01600193 li gp,22 - 800003a4: 05df1e63 bne t5,t4,80000400 <fail> - -00000000800003a8 <test_23>: - 800003a8: 00000213 li tp,0 - 800003ac: 00100093 li ra,1 - 800003b0: 00000013 nop - 800003b4: 00000013 nop - 800003b8: 01f09f13 slli t5,ra,0x1f - 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> - 800003c0: 00200293 li t0,2 - 800003c4: fe5214e3 bne tp,t0,800003ac <test_23+0x4> - 800003c8: 00100e9b addiw t4,zero,1 - 800003cc: 01fe9e93 slli t4,t4,0x1f - 800003d0: 01700193 li gp,23 - 800003d4: 03df1663 bne t5,t4,80000400 <fail> - -00000000800003d8 <test_24>: - 800003d8: 01f01093 slli ra,zero,0x1f - 800003dc: 00000e93 li t4,0 - 800003e0: 01800193 li gp,24 - 800003e4: 01d09e63 bne ra,t4,80000400 <fail> - -00000000800003e8 <test_25>: - 800003e8: 02100093 li ra,33 - 800003ec: 01409013 slli zero,ra,0x14 - 800003f0: 00000e93 li t4,0 - 800003f4: 01900193 li gp,25 - 800003f8: 01d01463 bne zero,t4,80000400 <fail> - 800003fc: 00301c63 bne zero,gp,80000414 <pass> - -0000000080000400 <fail>: - 80000400: 0ff0000f fence - 80000404: 00018063 beqz gp,80000404 <fail+0x4> - 80000408: 00119193 slli gp,gp,0x1 - 8000040c: 0011e193 ori gp,gp,1 + 80000268: 03f09f13 slli t5,ra,0x3f + 8000026c: fff00e9b addiw t4,zero,-1 + 80000270: 03fe9e93 slli t4,t4,0x3f + 80000274: 03200193 li gp,50 + 80000278: 17df1e63 bne t5,t4,800003f4 <fail> + +000000008000027c <test_51>: + 8000027c: fff00093 li ra,-1 + 80000280: 02709f13 slli t5,ra,0x27 + 80000284: fff00e9b addiw t4,zero,-1 + 80000288: 027e9e93 slli t4,t4,0x27 + 8000028c: 03300193 li gp,51 + 80000290: 17df1263 bne t5,t4,800003f4 <fail> + +0000000080000294 <test_52>: + 80000294: 212120b7 lui ra,0x21212 + 80000298: 1210809b addiw ra,ra,289 + 8000029c: 02b09f13 slli t5,ra,0x2b + 800002a0: 00012eb7 lui t4,0x12 + 800002a4: 121e8e9b addiw t4,t4,289 + 800002a8: 02be9e93 slli t4,t4,0x2b + 800002ac: 03400193 li gp,52 + 800002b0: 15df1263 bne t5,t4,800003f4 <fail> + +00000000800002b4 <test_17>: + 800002b4: 00100093 li ra,1 + 800002b8: 00709093 slli ra,ra,0x7 + 800002bc: 08000e93 li t4,128 + 800002c0: 01100193 li gp,17 + 800002c4: 13d09863 bne ra,t4,800003f4 <fail> + +00000000800002c8 <test_18>: + 800002c8: 00000213 li tp,0 + 800002cc: 00100093 li ra,1 + 800002d0: 00709f13 slli t5,ra,0x7 + 800002d4: 000f0313 mv t1,t5 + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5216e3 bne tp,t0,800002cc <test_18+0x4> + 800002e4: 08000e93 li t4,128 + 800002e8: 01200193 li gp,18 + 800002ec: 11d31463 bne t1,t4,800003f4 <fail> + +00000000800002f0 <test_19>: + 800002f0: 00000213 li tp,0 + 800002f4: 00100093 li ra,1 + 800002f8: 00e09f13 slli t5,ra,0xe + 800002fc: 00000013 nop + 80000300: 000f0313 mv t1,t5 + 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000308: 00200293 li t0,2 + 8000030c: fe5214e3 bne tp,t0,800002f4 <test_19+0x4> + 80000310: 00004eb7 lui t4,0x4 + 80000314: 01300193 li gp,19 + 80000318: 0dd31e63 bne t1,t4,800003f4 <fail> + +000000008000031c <test_20>: + 8000031c: 00000213 li tp,0 + 80000320: 00100093 li ra,1 + 80000324: 01f09f13 slli t5,ra,0x1f + 80000328: 00000013 nop + 8000032c: 00000013 nop + 80000330: 000f0313 mv t1,t5 + 80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000338: 00200293 li t0,2 + 8000033c: fe5212e3 bne tp,t0,80000320 <test_20+0x4> + 80000340: 00100e9b addiw t4,zero,1 + 80000344: 01fe9e93 slli t4,t4,0x1f + 80000348: 01400193 li gp,20 + 8000034c: 0bd31463 bne t1,t4,800003f4 <fail> + +0000000080000350 <test_21>: + 80000350: 00000213 li tp,0 + 80000354: 00100093 li ra,1 + 80000358: 00709f13 slli t5,ra,0x7 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5218e3 bne tp,t0,80000354 <test_21+0x4> + 80000368: 08000e93 li t4,128 + 8000036c: 01500193 li gp,21 + 80000370: 09df1263 bne t5,t4,800003f4 <fail> + +0000000080000374 <test_22>: + 80000374: 00000213 li tp,0 + 80000378: 00100093 li ra,1 + 8000037c: 00000013 nop + 80000380: 00e09f13 slli t5,ra,0xe + 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000388: 00200293 li t0,2 + 8000038c: fe5216e3 bne tp,t0,80000378 <test_22+0x4> + 80000390: 00004eb7 lui t4,0x4 + 80000394: 01600193 li gp,22 + 80000398: 05df1e63 bne t5,t4,800003f4 <fail> + +000000008000039c <test_23>: + 8000039c: 00000213 li tp,0 + 800003a0: 00100093 li ra,1 + 800003a4: 00000013 nop + 800003a8: 00000013 nop + 800003ac: 01f09f13 slli t5,ra,0x1f + 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b4: 00200293 li t0,2 + 800003b8: fe5214e3 bne tp,t0,800003a0 <test_23+0x4> + 800003bc: 00100e9b addiw t4,zero,1 + 800003c0: 01fe9e93 slli t4,t4,0x1f + 800003c4: 01700193 li gp,23 + 800003c8: 03df1663 bne t5,t4,800003f4 <fail> + +00000000800003cc <test_24>: + 800003cc: 01f01093 slli ra,zero,0x1f + 800003d0: 00000e93 li t4,0 + 800003d4: 01800193 li gp,24 + 800003d8: 01d09e63 bne ra,t4,800003f4 <fail> + +00000000800003dc <test_25>: + 800003dc: 02100093 li ra,33 + 800003e0: 01409013 slli zero,ra,0x14 + 800003e4: 00000e93 li t4,0 + 800003e8: 01900193 li gp,25 + 800003ec: 01d01463 bne zero,t4,800003f4 <fail> + 800003f0: 00301c63 bne zero,gp,80000408 <pass> + +00000000800003f4 <fail>: + 800003f4: 0ff0000f fence + 800003f8: 00018063 beqz gp,800003f8 <fail+0x4> + 800003fc: 00119193 slli gp,gp,0x1 + 80000400: 0011e193 ori gp,gp,1 + 80000404: 00000073 ecall + +0000000080000408 <pass>: + 80000408: 0ff0000f fence + 8000040c: 00100193 li gp,1 80000410: 00000073 ecall - -0000000080000414 <pass>: - 80000414: 0ff0000f fence - 80000418: 00100193 li gp,1 - 8000041c: 00000073 ecall - 80000420: c0001073 unimp + 80000414: c0001073 unimp + 80000418: 0000 unimp + 8000041a: 0000 unimp + 8000041c: 0000 unimp + 8000041e: 0000 unimp + 80000420: 0000 unimp + 80000422: 0000 unimp 80000424: 0000 unimp 80000426: 0000 unimp 80000428: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-slli.elf b/test/riscv/tests/rv64ui-p-slli.elf Binary files differindex 12c898f3..5214f29b 100755..100644 --- a/test/riscv/tests/rv64ui-p-slli.elf +++ b/test/riscv/tests/rv64ui-p-slli.elf diff --git a/test/riscv/tests/rv64ui-p-slliw.elf b/test/riscv/tests/rv64ui-p-slliw.elf Binary files differindex b8046e69..556a77e0 100755..100644 --- a/test/riscv/tests/rv64ui-p-slliw.elf +++ b/test/riscv/tests/rv64ui-p-slliw.elf diff --git a/test/riscv/tests/rv64ui-p-sllw.elf b/test/riscv/tests/rv64ui-p-sllw.elf Binary files differindex b722e66c..4a1c421d 100755..100644 --- a/test/riscv/tests/rv64ui-p-sllw.elf +++ b/test/riscv/tests/rv64ui-p-sllw.elf diff --git a/test/riscv/tests/rv64ui-p-slt.elf b/test/riscv/tests/rv64ui-p-slt.elf Binary files differindex d5e3ee14..eef5e47c 100755..100644 --- a/test/riscv/tests/rv64ui-p-slt.elf +++ b/test/riscv/tests/rv64ui-p-slt.elf diff --git a/test/riscv/tests/rv64ui-p-slti.elf b/test/riscv/tests/rv64ui-p-slti.elf Binary files differindex 3dbb9dcf..190f81fd 100755..100644 --- a/test/riscv/tests/rv64ui-p-slti.elf +++ b/test/riscv/tests/rv64ui-p-slti.elf diff --git a/test/riscv/tests/rv64ui-p-sltiu.elf b/test/riscv/tests/rv64ui-p-sltiu.elf Binary files differindex 9eb7628a..8347ab89 100755..100644 --- a/test/riscv/tests/rv64ui-p-sltiu.elf +++ b/test/riscv/tests/rv64ui-p-sltiu.elf diff --git a/test/riscv/tests/rv64ui-p-sltu.elf b/test/riscv/tests/rv64ui-p-sltu.elf Binary files differindex 2c63f0bd..a1ef113c 100755..100644 --- a/test/riscv/tests/rv64ui-p-sltu.elf +++ b/test/riscv/tests/rv64ui-p-sltu.elf diff --git a/test/riscv/tests/rv64ui-p-sra.elf b/test/riscv/tests/rv64ui-p-sra.elf Binary files differindex 9ed528bd..f03501d4 100755..100644 --- a/test/riscv/tests/rv64ui-p-sra.elf +++ b/test/riscv/tests/rv64ui-p-sra.elf diff --git a/test/riscv/tests/rv64ui-p-srai.elf b/test/riscv/tests/rv64ui-p-srai.elf Binary files differindex 4ffa0b72..c670ee92 100755..100644 --- a/test/riscv/tests/rv64ui-p-srai.elf +++ b/test/riscv/tests/rv64ui-p-srai.elf diff --git a/test/riscv/tests/rv64ui-p-sraiw.elf b/test/riscv/tests/rv64ui-p-sraiw.elf Binary files differindex 34dfe773..e4cab284 100755..100644 --- a/test/riscv/tests/rv64ui-p-sraiw.elf +++ b/test/riscv/tests/rv64ui-p-sraiw.elf diff --git a/test/riscv/tests/rv64ui-p-sraw.elf b/test/riscv/tests/rv64ui-p-sraw.elf Binary files differindex ec7baca6..40d2f2c4 100755..100644 --- a/test/riscv/tests/rv64ui-p-sraw.elf +++ b/test/riscv/tests/rv64ui-p-sraw.elf diff --git a/test/riscv/tests/rv64ui-p-srl.elf b/test/riscv/tests/rv64ui-p-srl.elf Binary files differindex 2da2e0ba..5abd6a01 100755..100644 --- a/test/riscv/tests/rv64ui-p-srl.elf +++ b/test/riscv/tests/rv64ui-p-srl.elf diff --git a/test/riscv/tests/rv64ui-p-srli.elf b/test/riscv/tests/rv64ui-p-srli.elf Binary files differindex 73d7db18..6e2f7948 100755..100644 --- a/test/riscv/tests/rv64ui-p-srli.elf +++ b/test/riscv/tests/rv64ui-p-srli.elf diff --git a/test/riscv/tests/rv64ui-p-srliw.elf b/test/riscv/tests/rv64ui-p-srliw.elf Binary files differindex 2dc12254..70758a3c 100755..100644 --- a/test/riscv/tests/rv64ui-p-srliw.elf +++ b/test/riscv/tests/rv64ui-p-srliw.elf diff --git a/test/riscv/tests/rv64ui-p-srlw.elf b/test/riscv/tests/rv64ui-p-srlw.elf Binary files differindex 04a9c213..d1758021 100755..100644 --- a/test/riscv/tests/rv64ui-p-srlw.elf +++ b/test/riscv/tests/rv64ui-p-srlw.elf diff --git a/test/riscv/tests/rv64ui-p-sub.elf b/test/riscv/tests/rv64ui-p-sub.elf Binary files differindex 04699b73..ea64efd5 100755..100644 --- a/test/riscv/tests/rv64ui-p-sub.elf +++ b/test/riscv/tests/rv64ui-p-sub.elf diff --git a/test/riscv/tests/rv64ui-p-subw.elf b/test/riscv/tests/rv64ui-p-subw.elf Binary files differindex 569998ee..fd876f50 100755..100644 --- a/test/riscv/tests/rv64ui-p-subw.elf +++ b/test/riscv/tests/rv64ui-p-subw.elf diff --git a/test/riscv/tests/rv64ui-p-sw.elf b/test/riscv/tests/rv64ui-p-sw.elf Binary files differindex 0b7daaa8..fa60dda4 100755..100644 --- a/test/riscv/tests/rv64ui-p-sw.elf +++ b/test/riscv/tests/rv64ui-p-sw.elf diff --git a/test/riscv/tests/rv64ui-p-xor.elf b/test/riscv/tests/rv64ui-p-xor.elf Binary files differindex e610fc9c..0466245a 100755..100644 --- a/test/riscv/tests/rv64ui-p-xor.elf +++ b/test/riscv/tests/rv64ui-p-xor.elf diff --git a/test/riscv/tests/rv64ui-p-xori.elf b/test/riscv/tests/rv64ui-p-xori.elf Binary files differindex 4e8f1fd3..fe522aff 100755..100644 --- a/test/riscv/tests/rv64ui-p-xori.elf +++ b/test/riscv/tests/rv64ui-p-xori.elf diff --git a/test/riscv/tests/rv64ui-v-add.dump b/test/riscv/tests/rv64ui-v-add.dump new file mode 100644 index 00000000..8598d2b6 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-add.dump @@ -0,0 +1,1229 @@ + +rv64ui-v-add: 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,sbadaddr + 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 <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: 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: b8068693 addi a3,a3,-1152 # 80002fd8 <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: bb460613 addi a2,a2,-1100 # 80003068 <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: 00001617 auipc a2,0x1 + 80002508: b7c60613 addi a2,a2,-1156 # 80003080 <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: 00001697 auipc a3,0x1 + 80002558: acc68693 addi a3,a3,-1332 # 80003020 <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: 00001697 auipc a3,0x1 + 80002674: ae868693 addi a3,a3,-1304 # 80003158 <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: 00001617 auipc a2,0x1 + 800026cc: a6860613 addi a2,a2,-1432 # 80003130 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 99c68693 addi a3,a3,-1636 # 80003188 <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: 00001697 auipc a3,0x1 + 80002840: 8bc68693 addi a3,a3,-1860 # 800030f8 <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: 00001697 auipc a3,0x1 + 80002878: 84c68693 addi a3,a3,-1972 # 800030c0 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 0f1557b7 lui a5,0xf155 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 1b078793 addi a5,a5,432 # f1551b0 <_start-0x70eaae50> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 00208f33 add t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4fdf1063 bne t5,t4,80002fbc <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 00208f33 add t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 4ddf1463 bne t5,t4,80002fbc <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 00208f33 add t5,ra,sp + 80002b04: 00a00e93 li t4,10 + 80002b08: 00400193 li gp,4 + 80002b0c: 4bdf1863 bne t5,t4,80002fbc <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 00208f33 add t5,ra,sp + 80002b1c: ffff8eb7 lui t4,0xffff8 + 80002b20: 00500193 li gp,5 + 80002b24: 49df1c63 bne t5,t4,80002fbc <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 00208f33 add t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 49df1063 bne t5,t4,80002fbc <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 00208f33 add t5,ra,sp + 80002b4c: ffff0eb7 lui t4,0xffff0 + 80002b50: fffe8e9b addiw t4,t4,-1 + 80002b54: 00fe9e93 slli t4,t4,0xf + 80002b58: 00700193 li gp,7 + 80002b5c: 47df1063 bne t5,t4,80002fbc <fail> + +0000000080002b60 <test_8>: + 80002b60: 00000093 li ra,0 + 80002b64: 00008137 lui sp,0x8 + 80002b68: fff1011b addiw sp,sp,-1 + 80002b6c: 00208f33 add t5,ra,sp + 80002b70: 00008eb7 lui t4,0x8 + 80002b74: fffe8e9b addiw t4,t4,-1 + 80002b78: 00800193 li gp,8 + 80002b7c: 45df1063 bne t5,t4,80002fbc <fail> + +0000000080002b80 <test_9>: + 80002b80: 800000b7 lui ra,0x80000 + 80002b84: fff0809b addiw ra,ra,-1 + 80002b88: 00000113 li sp,0 + 80002b8c: 00208f33 add t5,ra,sp + 80002b90: 80000eb7 lui t4,0x80000 + 80002b94: fffe8e9b addiw t4,t4,-1 + 80002b98: 00900193 li gp,9 + 80002b9c: 43df1063 bne t5,t4,80002fbc <fail> + +0000000080002ba0 <test_10>: + 80002ba0: 800000b7 lui ra,0x80000 + 80002ba4: fff0809b addiw ra,ra,-1 + 80002ba8: 00008137 lui sp,0x8 + 80002bac: fff1011b addiw sp,sp,-1 + 80002bb0: 00208f33 add t5,ra,sp + 80002bb4: 00010eb7 lui t4,0x10 + 80002bb8: 001e8e9b addiw t4,t4,1 + 80002bbc: 00fe9e93 slli t4,t4,0xf + 80002bc0: ffee8e93 addi t4,t4,-2 # fffe <_start-0x7fff0002> + 80002bc4: 00a00193 li gp,10 + 80002bc8: 3fdf1a63 bne t5,t4,80002fbc <fail> + +0000000080002bcc <test_11>: + 80002bcc: 800000b7 lui ra,0x80000 + 80002bd0: 00008137 lui sp,0x8 + 80002bd4: fff1011b addiw sp,sp,-1 + 80002bd8: 00208f33 add t5,ra,sp + 80002bdc: 80008eb7 lui t4,0x80008 + 80002be0: fffe8e9b addiw t4,t4,-1 + 80002be4: 00b00193 li gp,11 + 80002be8: 3ddf1a63 bne t5,t4,80002fbc <fail> + +0000000080002bec <test_12>: + 80002bec: 800000b7 lui ra,0x80000 + 80002bf0: fff0809b addiw ra,ra,-1 + 80002bf4: ffff8137 lui sp,0xffff8 + 80002bf8: 00208f33 add t5,ra,sp + 80002bfc: 7fff8eb7 lui t4,0x7fff8 + 80002c00: fffe8e9b addiw t4,t4,-1 + 80002c04: 00c00193 li gp,12 + 80002c08: 3bdf1a63 bne t5,t4,80002fbc <fail> + +0000000080002c0c <test_13>: + 80002c0c: 00000093 li ra,0 + 80002c10: fff00113 li sp,-1 + 80002c14: 00208f33 add t5,ra,sp + 80002c18: fff00e93 li t4,-1 + 80002c1c: 00d00193 li gp,13 + 80002c20: 39df1e63 bne t5,t4,80002fbc <fail> + +0000000080002c24 <test_14>: + 80002c24: fff00093 li ra,-1 + 80002c28: 00100113 li sp,1 + 80002c2c: 00208f33 add t5,ra,sp + 80002c30: 00000e93 li t4,0 + 80002c34: 00e00193 li gp,14 + 80002c38: 39df1263 bne t5,t4,80002fbc <fail> + +0000000080002c3c <test_15>: + 80002c3c: fff00093 li ra,-1 + 80002c40: fff00113 li sp,-1 + 80002c44: 00208f33 add t5,ra,sp + 80002c48: ffe00e93 li t4,-2 + 80002c4c: 00f00193 li gp,15 + 80002c50: 37df1663 bne t5,t4,80002fbc <fail> + +0000000080002c54 <test_16>: + 80002c54: 00100093 li ra,1 + 80002c58: 80000137 lui sp,0x80000 + 80002c5c: fff1011b addiw sp,sp,-1 + 80002c60: 00208f33 add t5,ra,sp + 80002c64: 00100e9b addiw t4,zero,1 + 80002c68: 01fe9e93 slli t4,t4,0x1f + 80002c6c: 01000193 li gp,16 + 80002c70: 35df1663 bne t5,t4,80002fbc <fail> + +0000000080002c74 <test_17>: + 80002c74: 00d00093 li ra,13 + 80002c78: 00b00113 li sp,11 + 80002c7c: 002080b3 add ra,ra,sp + 80002c80: 01800e93 li t4,24 + 80002c84: 01100193 li gp,17 + 80002c88: 33d09a63 bne ra,t4,80002fbc <fail> + +0000000080002c8c <test_18>: + 80002c8c: 00e00093 li ra,14 + 80002c90: 00b00113 li sp,11 + 80002c94: 00208133 add sp,ra,sp + 80002c98: 01900e93 li t4,25 + 80002c9c: 01200193 li gp,18 + 80002ca0: 31d11e63 bne sp,t4,80002fbc <fail> + +0000000080002ca4 <test_19>: + 80002ca4: 00d00093 li ra,13 + 80002ca8: 001080b3 add ra,ra,ra + 80002cac: 01a00e93 li t4,26 + 80002cb0: 01300193 li gp,19 + 80002cb4: 31d09463 bne ra,t4,80002fbc <fail> + +0000000080002cb8 <test_20>: + 80002cb8: 00000213 li tp,0 + 80002cbc: 00d00093 li ra,13 + 80002cc0: 00b00113 li sp,11 + 80002cc4: 00208f33 add t5,ra,sp + 80002cc8: 000f0313 mv t1,t5 + 80002ccc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd0: 00200293 li t0,2 + 80002cd4: fe5214e3 bne tp,t0,80002cbc <test_20+0x4> + 80002cd8: 01800e93 li t4,24 + 80002cdc: 01400193 li gp,20 + 80002ce0: 2dd31e63 bne t1,t4,80002fbc <fail> + +0000000080002ce4 <test_21>: + 80002ce4: 00000213 li tp,0 + 80002ce8: 00e00093 li ra,14 + 80002cec: 00b00113 li sp,11 + 80002cf0: 00208f33 add t5,ra,sp + 80002cf4: 00000013 nop + 80002cf8: 000f0313 mv t1,t5 + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fe5212e3 bne tp,t0,80002ce8 <test_21+0x4> + 80002d08: 01900e93 li t4,25 + 80002d0c: 01500193 li gp,21 + 80002d10: 2bd31663 bne t1,t4,80002fbc <fail> + +0000000080002d14 <test_22>: + 80002d14: 00000213 li tp,0 + 80002d18: 00f00093 li ra,15 + 80002d1c: 00b00113 li sp,11 + 80002d20: 00208f33 add t5,ra,sp + 80002d24: 00000013 nop + 80002d28: 00000013 nop + 80002d2c: 000f0313 mv t1,t5 + 80002d30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d34: 00200293 li t0,2 + 80002d38: fe5210e3 bne tp,t0,80002d18 <test_22+0x4> + 80002d3c: 01a00e93 li t4,26 + 80002d40: 01600193 li gp,22 + 80002d44: 27d31c63 bne t1,t4,80002fbc <fail> + +0000000080002d48 <test_23>: + 80002d48: 00000213 li tp,0 + 80002d4c: 00d00093 li ra,13 + 80002d50: 00b00113 li sp,11 + 80002d54: 00208f33 add t5,ra,sp + 80002d58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d5c: 00200293 li t0,2 + 80002d60: fe5216e3 bne tp,t0,80002d4c <test_23+0x4> + 80002d64: 01800e93 li t4,24 + 80002d68: 01700193 li gp,23 + 80002d6c: 25df1863 bne t5,t4,80002fbc <fail> + +0000000080002d70 <test_24>: + 80002d70: 00000213 li tp,0 + 80002d74: 00e00093 li ra,14 + 80002d78: 00b00113 li sp,11 + 80002d7c: 00000013 nop + 80002d80: 00208f33 add t5,ra,sp + 80002d84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d88: 00200293 li t0,2 + 80002d8c: fe5214e3 bne tp,t0,80002d74 <test_24+0x4> + 80002d90: 01900e93 li t4,25 + 80002d94: 01800193 li gp,24 + 80002d98: 23df1263 bne t5,t4,80002fbc <fail> + +0000000080002d9c <test_25>: + 80002d9c: 00000213 li tp,0 + 80002da0: 00f00093 li ra,15 + 80002da4: 00b00113 li sp,11 + 80002da8: 00000013 nop + 80002dac: 00000013 nop + 80002db0: 00208f33 add t5,ra,sp + 80002db4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db8: 00200293 li t0,2 + 80002dbc: fe5212e3 bne tp,t0,80002da0 <test_25+0x4> + 80002dc0: 01a00e93 li t4,26 + 80002dc4: 01900193 li gp,25 + 80002dc8: 1fdf1a63 bne t5,t4,80002fbc <fail> + +0000000080002dcc <test_26>: + 80002dcc: 00000213 li tp,0 + 80002dd0: 00d00093 li ra,13 + 80002dd4: 00000013 nop + 80002dd8: 00b00113 li sp,11 + 80002ddc: 00208f33 add t5,ra,sp + 80002de0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de4: 00200293 li t0,2 + 80002de8: fe5214e3 bne tp,t0,80002dd0 <test_26+0x4> + 80002dec: 01800e93 li t4,24 + 80002df0: 01a00193 li gp,26 + 80002df4: 1ddf1463 bne t5,t4,80002fbc <fail> + +0000000080002df8 <test_27>: + 80002df8: 00000213 li tp,0 + 80002dfc: 00e00093 li ra,14 + 80002e00: 00000013 nop + 80002e04: 00b00113 li sp,11 + 80002e08: 00000013 nop + 80002e0c: 00208f33 add t5,ra,sp + 80002e10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e14: 00200293 li t0,2 + 80002e18: fe5212e3 bne tp,t0,80002dfc <test_27+0x4> + 80002e1c: 01900e93 li t4,25 + 80002e20: 01b00193 li gp,27 + 80002e24: 19df1c63 bne t5,t4,80002fbc <fail> + +0000000080002e28 <test_28>: + 80002e28: 00000213 li tp,0 + 80002e2c: 00f00093 li ra,15 + 80002e30: 00000013 nop + 80002e34: 00000013 nop + 80002e38: 00b00113 li sp,11 + 80002e3c: 00208f33 add t5,ra,sp + 80002e40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e44: 00200293 li t0,2 + 80002e48: fe5212e3 bne tp,t0,80002e2c <test_28+0x4> + 80002e4c: 01a00e93 li t4,26 + 80002e50: 01c00193 li gp,28 + 80002e54: 17df1463 bne t5,t4,80002fbc <fail> + +0000000080002e58 <test_29>: + 80002e58: 00000213 li tp,0 + 80002e5c: 00b00113 li sp,11 + 80002e60: 00d00093 li ra,13 + 80002e64: 00208f33 add t5,ra,sp + 80002e68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e6c: 00200293 li t0,2 + 80002e70: fe5216e3 bne tp,t0,80002e5c <test_29+0x4> + 80002e74: 01800e93 li t4,24 + 80002e78: 01d00193 li gp,29 + 80002e7c: 15df1063 bne t5,t4,80002fbc <fail> + +0000000080002e80 <test_30>: + 80002e80: 00000213 li tp,0 + 80002e84: 00b00113 li sp,11 + 80002e88: 00e00093 li ra,14 + 80002e8c: 00000013 nop + 80002e90: 00208f33 add t5,ra,sp + 80002e94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e98: 00200293 li t0,2 + 80002e9c: fe5214e3 bne tp,t0,80002e84 <test_30+0x4> + 80002ea0: 01900e93 li t4,25 + 80002ea4: 01e00193 li gp,30 + 80002ea8: 11df1a63 bne t5,t4,80002fbc <fail> + +0000000080002eac <test_31>: + 80002eac: 00000213 li tp,0 + 80002eb0: 00b00113 li sp,11 + 80002eb4: 00f00093 li ra,15 + 80002eb8: 00000013 nop + 80002ebc: 00000013 nop + 80002ec0: 00208f33 add t5,ra,sp + 80002ec4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec8: 00200293 li t0,2 + 80002ecc: fe5212e3 bne tp,t0,80002eb0 <test_31+0x4> + 80002ed0: 01a00e93 li t4,26 + 80002ed4: 01f00193 li gp,31 + 80002ed8: 0fdf1263 bne t5,t4,80002fbc <fail> + +0000000080002edc <test_32>: + 80002edc: 00000213 li tp,0 + 80002ee0: 00b00113 li sp,11 + 80002ee4: 00000013 nop + 80002ee8: 00d00093 li ra,13 + 80002eec: 00208f33 add t5,ra,sp + 80002ef0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ef4: 00200293 li t0,2 + 80002ef8: fe5214e3 bne tp,t0,80002ee0 <test_32+0x4> + 80002efc: 01800e93 li t4,24 + 80002f00: 02000193 li gp,32 + 80002f04: 0bdf1c63 bne t5,t4,80002fbc <fail> + +0000000080002f08 <test_33>: + 80002f08: 00000213 li tp,0 + 80002f0c: 00b00113 li sp,11 + 80002f10: 00000013 nop + 80002f14: 00e00093 li ra,14 + 80002f18: 00000013 nop + 80002f1c: 00208f33 add t5,ra,sp + 80002f20: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f24: 00200293 li t0,2 + 80002f28: fe5212e3 bne tp,t0,80002f0c <test_33+0x4> + 80002f2c: 01900e93 li t4,25 + 80002f30: 02100193 li gp,33 + 80002f34: 09df1463 bne t5,t4,80002fbc <fail> + +0000000080002f38 <test_34>: + 80002f38: 00000213 li tp,0 + 80002f3c: 00b00113 li sp,11 + 80002f40: 00000013 nop + 80002f44: 00000013 nop + 80002f48: 00f00093 li ra,15 + 80002f4c: 00208f33 add t5,ra,sp + 80002f50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f54: 00200293 li t0,2 + 80002f58: fe5212e3 bne tp,t0,80002f3c <test_34+0x4> + 80002f5c: 01a00e93 li t4,26 + 80002f60: 02200193 li gp,34 + 80002f64: 05df1c63 bne t5,t4,80002fbc <fail> + +0000000080002f68 <test_35>: + 80002f68: 00f00093 li ra,15 + 80002f6c: 00100133 add sp,zero,ra + 80002f70: 00f00e93 li t4,15 + 80002f74: 02300193 li gp,35 + 80002f78: 05d11263 bne sp,t4,80002fbc <fail> + +0000000080002f7c <test_36>: + 80002f7c: 02000093 li ra,32 + 80002f80: 00008133 add sp,ra,zero + 80002f84: 02000e93 li t4,32 + 80002f88: 02400193 li gp,36 + 80002f8c: 03d11863 bne sp,t4,80002fbc <fail> + +0000000080002f90 <test_37>: + 80002f90: 000000b3 add ra,zero,zero + 80002f94: 00000e93 li t4,0 + 80002f98: 02500193 li gp,37 + 80002f9c: 03d09063 bne ra,t4,80002fbc <fail> + +0000000080002fa0 <test_38>: + 80002fa0: 01000093 li ra,16 + 80002fa4: 01e00113 li sp,30 + 80002fa8: 00208033 add zero,ra,sp + 80002fac: 00000e93 li t4,0 + 80002fb0: 02600193 li gp,38 + 80002fb4: 01d01463 bne zero,t4,80002fbc <fail> + 80002fb8: 00301a63 bne zero,gp,80002fcc <pass> + +0000000080002fbc <fail>: + 80002fbc: 00119513 slli a0,gp,0x1 + 80002fc0: 00050063 beqz a0,80002fc0 <fail+0x4> + 80002fc4: 00156513 ori a0,a0,1 + 80002fc8: 00000073 ecall + +0000000080002fcc <pass>: + 80002fcc: 00100513 li a0,1 + 80002fd0: 00000073 ecall + 80002fd4: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-add.elf b/test/riscv/tests/rv64ui-v-add.elf Binary files differnew file mode 100644 index 00000000..d60d87a8 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-add.elf diff --git a/test/riscv/tests/rv64ui-v-addi.dump b/test/riscv/tests/rv64ui-v-addi.dump new file mode 100644 index 00000000..6c453f70 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addi.dump @@ -0,0 +1,1051 @@ + +rv64ui-v-addi: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 92068693 addi a3,a3,-1760 # 80002d78 <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: 95460613 addi a2,a2,-1708 # 80002e08 <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: 00001617 auipc a2,0x1 + 80002508: 91c60613 addi a2,a2,-1764 # 80002e20 <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: 00001697 auipc a3,0x1 + 80002558: 86c68693 addi a3,a3,-1940 # 80002dc0 <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: 00001697 auipc a3,0x1 + 80002674: 88868693 addi a3,a3,-1912 # 80002ef8 <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: 00001617 auipc a2,0x1 + 800026cc: 80860613 addi a2,a2,-2040 # 80002ed0 <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: 73c68693 addi a3,a3,1852 # 80002f28 <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: 65c68693 addi a3,a3,1628 # 80002e98 <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: 5ec68693 addi a3,a3,1516 # 80002e60 <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: 01000793 li a5,16 + 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: 04f557b7 lui a5,0x4f55 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 5a178793 addi a5,a5,1441 # 4f555a1 <_start-0x7b0aaa5f> + 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: 00000093 li ra,0 + 80002acc: 00008f13 mv t5,ra + 80002ad0: 00000e93 li t4,0 + 80002ad4: 00200193 li gp,2 + 80002ad8: 29df1263 bne t5,t4,80002d5c <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 00108f13 addi t5,ra,1 + 80002ae4: 00200e93 li t4,2 + 80002ae8: 00300193 li gp,3 + 80002aec: 27df1863 bne t5,t4,80002d5c <fail> + +0000000080002af0 <test_4>: + 80002af0: 00300093 li ra,3 + 80002af4: 00708f13 addi t5,ra,7 + 80002af8: 00a00e93 li t4,10 + 80002afc: 00400193 li gp,4 + 80002b00: 25df1e63 bne t5,t4,80002d5c <fail> + +0000000080002b04 <test_5>: + 80002b04: 00000093 li ra,0 + 80002b08: 80008f13 addi t5,ra,-2048 + 80002b0c: 80000e93 li t4,-2048 + 80002b10: 00500193 li gp,5 + 80002b14: 25df1463 bne t5,t4,80002d5c <fail> + +0000000080002b18 <test_6>: + 80002b18: 800000b7 lui ra,0x80000 + 80002b1c: 00008f13 mv t5,ra + 80002b20: 80000eb7 lui t4,0x80000 + 80002b24: 00600193 li gp,6 + 80002b28: 23df1a63 bne t5,t4,80002d5c <fail> + +0000000080002b2c <test_7>: + 80002b2c: 800000b7 lui ra,0x80000 + 80002b30: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffff8010> + 80002b34: fff00e9b addiw t4,zero,-1 + 80002b38: 01fe9e93 slli t4,t4,0x1f + 80002b3c: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffff8010> + 80002b40: 00700193 li gp,7 + 80002b44: 21df1c63 bne t5,t4,80002d5c <fail> + +0000000080002b48 <test_8>: + 80002b48: 00000093 li ra,0 + 80002b4c: 7ff08f13 addi t5,ra,2047 + 80002b50: 7ff00e93 li t4,2047 + 80002b54: 00800193 li gp,8 + 80002b58: 21df1263 bne t5,t4,80002d5c <fail> + +0000000080002b5c <test_9>: + 80002b5c: 800000b7 lui ra,0x80000 + 80002b60: fff0809b addiw ra,ra,-1 + 80002b64: 00008f13 mv t5,ra + 80002b68: 80000eb7 lui t4,0x80000 + 80002b6c: fffe8e9b addiw t4,t4,-1 + 80002b70: 00900193 li gp,9 + 80002b74: 1fdf1463 bne t5,t4,80002d5c <fail> + +0000000080002b78 <test_10>: + 80002b78: 800000b7 lui ra,0x80000 + 80002b7c: fff0809b addiw ra,ra,-1 + 80002b80: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffff900f> + 80002b84: 00100e9b addiw t4,zero,1 + 80002b88: 01fe9e93 slli t4,t4,0x1f + 80002b8c: 7fee8e93 addi t4,t4,2046 # ffffffff800007fe <_end+0xfffffffeffff900e> + 80002b90: 00a00193 li gp,10 + 80002b94: 1ddf1463 bne t5,t4,80002d5c <fail> + +0000000080002b98 <test_11>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffff900f> + 80002ba0: 80000eb7 lui t4,0x80000 + 80002ba4: 7ffe8e9b addiw t4,t4,2047 + 80002ba8: 00b00193 li gp,11 + 80002bac: 1bdf1863 bne t5,t4,80002d5c <fail> + +0000000080002bb0 <test_12>: + 80002bb0: 800000b7 lui ra,0x80000 + 80002bb4: fff0809b addiw ra,ra,-1 + 80002bb8: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffff8010> + 80002bbc: 7ffffeb7 lui t4,0x7ffff + 80002bc0: 7ffe8e9b addiw t4,t4,2047 + 80002bc4: 00c00193 li gp,12 + 80002bc8: 19df1a63 bne t5,t4,80002d5c <fail> + +0000000080002bcc <test_13>: + 80002bcc: 00000093 li ra,0 + 80002bd0: fff08f13 addi t5,ra,-1 + 80002bd4: fff00e93 li t4,-1 + 80002bd8: 00d00193 li gp,13 + 80002bdc: 19df1063 bne t5,t4,80002d5c <fail> + +0000000080002be0 <test_14>: + 80002be0: fff00093 li ra,-1 + 80002be4: 00108f13 addi t5,ra,1 + 80002be8: 00000e93 li t4,0 + 80002bec: 00e00193 li gp,14 + 80002bf0: 17df1663 bne t5,t4,80002d5c <fail> + +0000000080002bf4 <test_15>: + 80002bf4: fff00093 li ra,-1 + 80002bf8: fff08f13 addi t5,ra,-1 + 80002bfc: ffe00e93 li t4,-2 + 80002c00: 00f00193 li gp,15 + 80002c04: 15df1c63 bne t5,t4,80002d5c <fail> + +0000000080002c08 <test_16>: + 80002c08: 800000b7 lui ra,0x80000 + 80002c0c: fff0809b addiw ra,ra,-1 + 80002c10: 00108f13 addi t5,ra,1 # ffffffff80000001 <_end+0xfffffffeffff8811> + 80002c14: 00100e9b addiw t4,zero,1 + 80002c18: 01fe9e93 slli t4,t4,0x1f + 80002c1c: 01000193 li gp,16 + 80002c20: 13df1e63 bne t5,t4,80002d5c <fail> + +0000000080002c24 <test_17>: + 80002c24: 00d00093 li ra,13 + 80002c28: 00b08093 addi ra,ra,11 + 80002c2c: 01800e93 li t4,24 + 80002c30: 01100193 li gp,17 + 80002c34: 13d09463 bne ra,t4,80002d5c <fail> + +0000000080002c38 <test_18>: + 80002c38: 00000213 li tp,0 + 80002c3c: 00d00093 li ra,13 + 80002c40: 00b08f13 addi t5,ra,11 + 80002c44: 000f0313 mv t1,t5 + 80002c48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c4c: 00200293 li t0,2 + 80002c50: fe5216e3 bne tp,t0,80002c3c <test_18+0x4> + 80002c54: 01800e93 li t4,24 + 80002c58: 01200193 li gp,18 + 80002c5c: 11d31063 bne t1,t4,80002d5c <fail> + +0000000080002c60 <test_19>: + 80002c60: 00000213 li tp,0 + 80002c64: 00d00093 li ra,13 + 80002c68: 00a08f13 addi t5,ra,10 + 80002c6c: 00000013 nop + 80002c70: 000f0313 mv t1,t5 + 80002c74: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c78: 00200293 li t0,2 + 80002c7c: fe5214e3 bne tp,t0,80002c64 <test_19+0x4> + 80002c80: 01700e93 li t4,23 + 80002c84: 01300193 li gp,19 + 80002c88: 0dd31a63 bne t1,t4,80002d5c <fail> + +0000000080002c8c <test_20>: + 80002c8c: 00000213 li tp,0 + 80002c90: 00d00093 li ra,13 + 80002c94: 00908f13 addi t5,ra,9 + 80002c98: 00000013 nop + 80002c9c: 00000013 nop + 80002ca0: 000f0313 mv t1,t5 + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5212e3 bne tp,t0,80002c90 <test_20+0x4> + 80002cb0: 01600e93 li t4,22 + 80002cb4: 01400193 li gp,20 + 80002cb8: 0bd31263 bne t1,t4,80002d5c <fail> + +0000000080002cbc <test_21>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 00d00093 li ra,13 + 80002cc4: 00b08f13 addi t5,ra,11 + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fe5218e3 bne tp,t0,80002cc0 <test_21+0x4> + 80002cd4: 01800e93 li t4,24 + 80002cd8: 01500193 li gp,21 + 80002cdc: 09df1063 bne t5,t4,80002d5c <fail> + +0000000080002ce0 <test_22>: + 80002ce0: 00000213 li tp,0 + 80002ce4: 00d00093 li ra,13 + 80002ce8: 00000013 nop + 80002cec: 00a08f13 addi t5,ra,10 + 80002cf0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf4: 00200293 li t0,2 + 80002cf8: fe5216e3 bne tp,t0,80002ce4 <test_22+0x4> + 80002cfc: 01700e93 li t4,23 + 80002d00: 01600193 li gp,22 + 80002d04: 05df1c63 bne t5,t4,80002d5c <fail> + +0000000080002d08 <test_23>: + 80002d08: 00000213 li tp,0 + 80002d0c: 00d00093 li ra,13 + 80002d10: 00000013 nop + 80002d14: 00000013 nop + 80002d18: 00908f13 addi t5,ra,9 + 80002d1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d20: 00200293 li t0,2 + 80002d24: fe5214e3 bne tp,t0,80002d0c <test_23+0x4> + 80002d28: 01600e93 li t4,22 + 80002d2c: 01700193 li gp,23 + 80002d30: 03df1663 bne t5,t4,80002d5c <fail> + +0000000080002d34 <test_24>: + 80002d34: 02000093 li ra,32 + 80002d38: 02000e93 li t4,32 + 80002d3c: 01800193 li gp,24 + 80002d40: 01d09e63 bne ra,t4,80002d5c <fail> + +0000000080002d44 <test_25>: + 80002d44: 02100093 li ra,33 + 80002d48: 03208013 addi zero,ra,50 + 80002d4c: 00000e93 li t4,0 + 80002d50: 01900193 li gp,25 + 80002d54: 01d01463 bne zero,t4,80002d5c <fail> + 80002d58: 00301a63 bne zero,gp,80002d6c <pass> + +0000000080002d5c <fail>: + 80002d5c: 00119513 slli a0,gp,0x1 + 80002d60: 00050063 beqz a0,80002d60 <fail+0x4> + 80002d64: 00156513 ori a0,a0,1 + 80002d68: 00000073 ecall + +0000000080002d6c <pass>: + 80002d6c: 00100513 li a0,1 + 80002d70: 00000073 ecall + 80002d74: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-addi.elf b/test/riscv/tests/rv64ui-v-addi.elf Binary files differnew file mode 100644 index 00000000..28d8b889 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addi.elf diff --git a/test/riscv/tests/rv64ui-v-addiw.dump b/test/riscv/tests/rv64ui-v-addiw.dump new file mode 100644 index 00000000..d152915b --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addiw.dump @@ -0,0 +1,1048 @@ + +rv64ui-v-addiw: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 91868693 addi a3,a3,-1768 # 80002d70 <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: 94c60613 addi a2,a2,-1716 # 80002e00 <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: 91460613 addi a2,a2,-1772 # 80002e18 <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: 86468693 addi a3,a3,-1948 # 80002db8 <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: 88068693 addi a3,a3,-1920 # 80002ef0 <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: 80060613 addi a2,a2,-2048 # 80002ec8 <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: 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: 73468693 addi a3,a3,1844 # 80002f20 <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: 65468693 addi a3,a3,1620 # 80002e90 <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: 5e468693 addi a3,a3,1508 # 80002e58 <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: 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: 00d00793 li a5,13 + 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: 04c6e7b7 lui a5,0x4c6e + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 45678793 addi a5,a5,1110 # 4c6e456 <_start-0x7b391baa> + 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: 00000093 li ra,0 + 80002acc: 00008f1b sext.w t5,ra + 80002ad0: 00000e93 li t4,0 + 80002ad4: 00200193 li gp,2 + 80002ad8: 27df1c63 bne t5,t4,80002d50 <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 00108f1b addiw t5,ra,1 + 80002ae4: 00200e93 li t4,2 + 80002ae8: 00300193 li gp,3 + 80002aec: 27df1263 bne t5,t4,80002d50 <fail> + +0000000080002af0 <test_4>: + 80002af0: 00300093 li ra,3 + 80002af4: 00708f1b addiw t5,ra,7 + 80002af8: 00a00e93 li t4,10 + 80002afc: 00400193 li gp,4 + 80002b00: 25df1863 bne t5,t4,80002d50 <fail> + +0000000080002b04 <test_5>: + 80002b04: 00000093 li ra,0 + 80002b08: 80008f1b addiw t5,ra,-2048 + 80002b0c: 80000e93 li t4,-2048 + 80002b10: 00500193 li gp,5 + 80002b14: 23df1e63 bne t5,t4,80002d50 <fail> + +0000000080002b18 <test_6>: + 80002b18: 800000b7 lui ra,0x80000 + 80002b1c: 00008f1b sext.w t5,ra + 80002b20: 80000eb7 lui t4,0x80000 + 80002b24: 00600193 li gp,6 + 80002b28: 23df1463 bne t5,t4,80002d50 <fail> + +0000000080002b2c <test_7>: + 80002b2c: 800000b7 lui ra,0x80000 + 80002b30: 80008f1b addiw t5,ra,-2048 + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 800e8e9b addiw t4,t4,-2048 + 80002b3c: 00700193 li gp,7 + 80002b40: 21df1863 bne t5,t4,80002d50 <fail> + +0000000080002b44 <test_8>: + 80002b44: 00000093 li ra,0 + 80002b48: 7ff08f1b addiw t5,ra,2047 + 80002b4c: 7ff00e93 li t4,2047 + 80002b50: 00800193 li gp,8 + 80002b54: 1fdf1e63 bne t5,t4,80002d50 <fail> + +0000000080002b58 <test_9>: + 80002b58: 800000b7 lui ra,0x80000 + 80002b5c: fff0809b addiw ra,ra,-1 + 80002b60: 00008f1b sext.w t5,ra + 80002b64: 80000eb7 lui t4,0x80000 + 80002b68: fffe8e9b addiw t4,t4,-1 + 80002b6c: 00900193 li gp,9 + 80002b70: 1fdf1063 bne t5,t4,80002d50 <fail> + +0000000080002b74 <test_10>: + 80002b74: 800000b7 lui ra,0x80000 + 80002b78: fff0809b addiw ra,ra,-1 + 80002b7c: 7ff08f1b addiw t5,ra,2047 + 80002b80: 80000eb7 lui t4,0x80000 + 80002b84: 7fee8e9b addiw t4,t4,2046 + 80002b88: 00a00193 li gp,10 + 80002b8c: 1ddf1263 bne t5,t4,80002d50 <fail> + +0000000080002b90 <test_11>: + 80002b90: 800000b7 lui ra,0x80000 + 80002b94: 7ff08f1b addiw t5,ra,2047 + 80002b98: 80000eb7 lui t4,0x80000 + 80002b9c: 7ffe8e9b addiw t4,t4,2047 + 80002ba0: 00b00193 li gp,11 + 80002ba4: 1bdf1663 bne t5,t4,80002d50 <fail> + +0000000080002ba8 <test_12>: + 80002ba8: 800000b7 lui ra,0x80000 + 80002bac: fff0809b addiw ra,ra,-1 + 80002bb0: 80008f1b addiw t5,ra,-2048 + 80002bb4: 7ffffeb7 lui t4,0x7ffff + 80002bb8: 7ffe8e9b addiw t4,t4,2047 + 80002bbc: 00c00193 li gp,12 + 80002bc0: 19df1863 bne t5,t4,80002d50 <fail> + +0000000080002bc4 <test_13>: + 80002bc4: 00000093 li ra,0 + 80002bc8: fff08f1b addiw t5,ra,-1 + 80002bcc: fff00e93 li t4,-1 + 80002bd0: 00d00193 li gp,13 + 80002bd4: 17df1e63 bne t5,t4,80002d50 <fail> + +0000000080002bd8 <test_14>: + 80002bd8: fff00093 li ra,-1 + 80002bdc: 00108f1b addiw t5,ra,1 + 80002be0: 00000e93 li t4,0 + 80002be4: 00e00193 li gp,14 + 80002be8: 17df1463 bne t5,t4,80002d50 <fail> + +0000000080002bec <test_15>: + 80002bec: fff00093 li ra,-1 + 80002bf0: fff08f1b addiw t5,ra,-1 + 80002bf4: ffe00e93 li t4,-2 + 80002bf8: 00f00193 li gp,15 + 80002bfc: 15df1a63 bne t5,t4,80002d50 <fail> + +0000000080002c00 <test_16>: + 80002c00: 800000b7 lui ra,0x80000 + 80002c04: fff0809b addiw ra,ra,-1 + 80002c08: 00108f1b addiw t5,ra,1 + 80002c0c: 80000eb7 lui t4,0x80000 + 80002c10: 01000193 li gp,16 + 80002c14: 13df1e63 bne t5,t4,80002d50 <fail> + +0000000080002c18 <test_17>: + 80002c18: 00d00093 li ra,13 + 80002c1c: 00b0809b addiw ra,ra,11 + 80002c20: 01800e93 li t4,24 + 80002c24: 01100193 li gp,17 + 80002c28: 13d09463 bne ra,t4,80002d50 <fail> + +0000000080002c2c <test_18>: + 80002c2c: 00000213 li tp,0 + 80002c30: 00d00093 li ra,13 + 80002c34: 00b08f1b addiw t5,ra,11 + 80002c38: 000f0313 mv t1,t5 + 80002c3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c40: 00200293 li t0,2 + 80002c44: fe5216e3 bne tp,t0,80002c30 <test_18+0x4> + 80002c48: 01800e93 li t4,24 + 80002c4c: 01200193 li gp,18 + 80002c50: 11d31063 bne t1,t4,80002d50 <fail> + +0000000080002c54 <test_19>: + 80002c54: 00000213 li tp,0 + 80002c58: 00d00093 li ra,13 + 80002c5c: 00a08f1b addiw t5,ra,10 + 80002c60: 00000013 nop + 80002c64: 000f0313 mv t1,t5 + 80002c68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c6c: 00200293 li t0,2 + 80002c70: fe5214e3 bne tp,t0,80002c58 <test_19+0x4> + 80002c74: 01700e93 li t4,23 + 80002c78: 01300193 li gp,19 + 80002c7c: 0dd31a63 bne t1,t4,80002d50 <fail> + +0000000080002c80 <test_20>: + 80002c80: 00000213 li tp,0 + 80002c84: 00d00093 li ra,13 + 80002c88: 00908f1b addiw t5,ra,9 + 80002c8c: 00000013 nop + 80002c90: 00000013 nop + 80002c94: 000f0313 mv t1,t5 + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5212e3 bne tp,t0,80002c84 <test_20+0x4> + 80002ca4: 01600e93 li t4,22 + 80002ca8: 01400193 li gp,20 + 80002cac: 0bd31263 bne t1,t4,80002d50 <fail> + +0000000080002cb0 <test_21>: + 80002cb0: 00000213 li tp,0 + 80002cb4: 00d00093 li ra,13 + 80002cb8: 00b08f1b addiw t5,ra,11 + 80002cbc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc0: 00200293 li t0,2 + 80002cc4: fe5218e3 bne tp,t0,80002cb4 <test_21+0x4> + 80002cc8: 01800e93 li t4,24 + 80002ccc: 01500193 li gp,21 + 80002cd0: 09df1063 bne t5,t4,80002d50 <fail> + +0000000080002cd4 <test_22>: + 80002cd4: 00000213 li tp,0 + 80002cd8: 00d00093 li ra,13 + 80002cdc: 00000013 nop + 80002ce0: 00a08f1b addiw t5,ra,10 + 80002ce4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce8: 00200293 li t0,2 + 80002cec: fe5216e3 bne tp,t0,80002cd8 <test_22+0x4> + 80002cf0: 01700e93 li t4,23 + 80002cf4: 01600193 li gp,22 + 80002cf8: 05df1c63 bne t5,t4,80002d50 <fail> + +0000000080002cfc <test_23>: + 80002cfc: 00000213 li tp,0 + 80002d00: 00d00093 li ra,13 + 80002d04: 00000013 nop + 80002d08: 00000013 nop + 80002d0c: 00908f1b addiw t5,ra,9 + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fe5214e3 bne tp,t0,80002d00 <test_23+0x4> + 80002d1c: 01600e93 li t4,22 + 80002d20: 01700193 li gp,23 + 80002d24: 03df1663 bne t5,t4,80002d50 <fail> + +0000000080002d28 <test_24>: + 80002d28: 0200009b addiw ra,zero,32 + 80002d2c: 02000e93 li t4,32 + 80002d30: 01800193 li gp,24 + 80002d34: 01d09e63 bne ra,t4,80002d50 <fail> + +0000000080002d38 <test_25>: + 80002d38: 02100093 li ra,33 + 80002d3c: 0320801b addiw zero,ra,50 + 80002d40: 00000e93 li t4,0 + 80002d44: 01900193 li gp,25 + 80002d48: 01d01463 bne zero,t4,80002d50 <fail> + 80002d4c: 00301a63 bne zero,gp,80002d60 <pass> + +0000000080002d50 <fail>: + 80002d50: 00119513 slli a0,gp,0x1 + 80002d54: 00050063 beqz a0,80002d54 <fail+0x4> + 80002d58: 00156513 ori a0,a0,1 + 80002d5c: 00000073 ecall + +0000000080002d60 <pass>: + 80002d60: 00100513 li a0,1 + 80002d64: 00000073 ecall + 80002d68: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-addiw.elf b/test/riscv/tests/rv64ui-v-addiw.elf Binary files differnew file mode 100644 index 00000000..ddbea563 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addiw.elf diff --git a/test/riscv/tests/rv64ui-v-addw.dump b/test/riscv/tests/rv64ui-v-addw.dump new file mode 100644 index 00000000..838371b6 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addw.dump @@ -0,0 +1,1224 @@ + +rv64ui-v-addw: 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,sbadaddr + 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 <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: 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: b7068693 addi a3,a3,-1168 # 80002fc8 <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: ba460613 addi a2,a2,-1116 # 80003058 <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: b6c60613 addi a2,a2,-1172 # 80003070 <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: abc68693 addi a3,a3,-1348 # 80003010 <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: ad868693 addi a3,a3,-1320 # 80003148 <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: a5860613 addi a2,a2,-1448 # 80003120 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 98c68693 addi a3,a3,-1652 # 80003178 <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: 8ac68693 addi a3,a3,-1876 # 800030e8 <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: 83c68693 addi a3,a3,-1988 # 800030b0 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 00800793 li a5,8 + 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: 04c367b7 lui a5,0x4c36 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 29178793 addi a5,a5,657 # 4c36291 <_start-0x7b3c9d6f> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 00208f3b addw t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4ddf1663 bne t5,t4,80002fa8 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 00208f3b addw t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 4bdf1a63 bne t5,t4,80002fa8 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 00208f3b addw t5,ra,sp + 80002b04: 00a00e93 li t4,10 + 80002b08: 00400193 li gp,4 + 80002b0c: 49df1e63 bne t5,t4,80002fa8 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 00208f3b addw t5,ra,sp + 80002b1c: ffff8eb7 lui t4,0xffff8 + 80002b20: 00500193 li gp,5 + 80002b24: 49df1263 bne t5,t4,80002fa8 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 00208f3b addw t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 47df1663 bne t5,t4,80002fa8 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 00208f3b addw t5,ra,sp + 80002b4c: 7fff8eb7 lui t4,0x7fff8 + 80002b50: 00700193 li gp,7 + 80002b54: 45df1a63 bne t5,t4,80002fa8 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00000093 li ra,0 + 80002b5c: 00008137 lui sp,0x8 + 80002b60: fff1011b addiw sp,sp,-1 + 80002b64: 00208f3b addw t5,ra,sp + 80002b68: 00008eb7 lui t4,0x8 + 80002b6c: fffe8e9b addiw t4,t4,-1 + 80002b70: 00800193 li gp,8 + 80002b74: 43df1a63 bne t5,t4,80002fa8 <fail> + +0000000080002b78 <test_9>: + 80002b78: 800000b7 lui ra,0x80000 + 80002b7c: fff0809b addiw ra,ra,-1 + 80002b80: 00000113 li sp,0 + 80002b84: 00208f3b addw t5,ra,sp + 80002b88: 80000eb7 lui t4,0x80000 + 80002b8c: fffe8e9b addiw t4,t4,-1 + 80002b90: 00900193 li gp,9 + 80002b94: 41df1a63 bne t5,t4,80002fa8 <fail> + +0000000080002b98 <test_10>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: fff0809b addiw ra,ra,-1 + 80002ba0: 00008137 lui sp,0x8 + 80002ba4: fff1011b addiw sp,sp,-1 + 80002ba8: 00208f3b addw t5,ra,sp + 80002bac: 80008eb7 lui t4,0x80008 + 80002bb0: ffee8e9b addiw t4,t4,-2 + 80002bb4: 00a00193 li gp,10 + 80002bb8: 3fdf1863 bne t5,t4,80002fa8 <fail> + +0000000080002bbc <test_11>: + 80002bbc: 800000b7 lui ra,0x80000 + 80002bc0: 00008137 lui sp,0x8 + 80002bc4: fff1011b addiw sp,sp,-1 + 80002bc8: 00208f3b addw t5,ra,sp + 80002bcc: 80008eb7 lui t4,0x80008 + 80002bd0: fffe8e9b addiw t4,t4,-1 + 80002bd4: 00b00193 li gp,11 + 80002bd8: 3ddf1863 bne t5,t4,80002fa8 <fail> + +0000000080002bdc <test_12>: + 80002bdc: 800000b7 lui ra,0x80000 + 80002be0: fff0809b addiw ra,ra,-1 + 80002be4: ffff8137 lui sp,0xffff8 + 80002be8: 00208f3b addw t5,ra,sp + 80002bec: 7fff8eb7 lui t4,0x7fff8 + 80002bf0: fffe8e9b addiw t4,t4,-1 + 80002bf4: 00c00193 li gp,12 + 80002bf8: 3bdf1863 bne t5,t4,80002fa8 <fail> + +0000000080002bfc <test_13>: + 80002bfc: 00000093 li ra,0 + 80002c00: fff00113 li sp,-1 + 80002c04: 00208f3b addw t5,ra,sp + 80002c08: fff00e93 li t4,-1 + 80002c0c: 00d00193 li gp,13 + 80002c10: 39df1c63 bne t5,t4,80002fa8 <fail> + +0000000080002c14 <test_14>: + 80002c14: fff00093 li ra,-1 + 80002c18: 00100113 li sp,1 + 80002c1c: 00208f3b addw t5,ra,sp + 80002c20: 00000e93 li t4,0 + 80002c24: 00e00193 li gp,14 + 80002c28: 39df1063 bne t5,t4,80002fa8 <fail> + +0000000080002c2c <test_15>: + 80002c2c: fff00093 li ra,-1 + 80002c30: fff00113 li sp,-1 + 80002c34: 00208f3b addw t5,ra,sp + 80002c38: ffe00e93 li t4,-2 + 80002c3c: 00f00193 li gp,15 + 80002c40: 37df1463 bne t5,t4,80002fa8 <fail> + +0000000080002c44 <test_16>: + 80002c44: 00100093 li ra,1 + 80002c48: 80000137 lui sp,0x80000 + 80002c4c: fff1011b addiw sp,sp,-1 + 80002c50: 00208f3b addw t5,ra,sp + 80002c54: 80000eb7 lui t4,0x80000 + 80002c58: 01000193 li gp,16 + 80002c5c: 35df1663 bne t5,t4,80002fa8 <fail> + +0000000080002c60 <test_17>: + 80002c60: 00d00093 li ra,13 + 80002c64: 00b00113 li sp,11 + 80002c68: 002080bb addw ra,ra,sp + 80002c6c: 01800e93 li t4,24 + 80002c70: 01100193 li gp,17 + 80002c74: 33d09a63 bne ra,t4,80002fa8 <fail> + +0000000080002c78 <test_18>: + 80002c78: 00e00093 li ra,14 + 80002c7c: 00b00113 li sp,11 + 80002c80: 0020813b addw sp,ra,sp + 80002c84: 01900e93 li t4,25 + 80002c88: 01200193 li gp,18 + 80002c8c: 31d11e63 bne sp,t4,80002fa8 <fail> + +0000000080002c90 <test_19>: + 80002c90: 00d00093 li ra,13 + 80002c94: 001080bb addw ra,ra,ra + 80002c98: 01a00e93 li t4,26 + 80002c9c: 01300193 li gp,19 + 80002ca0: 31d09463 bne ra,t4,80002fa8 <fail> + +0000000080002ca4 <test_20>: + 80002ca4: 00000213 li tp,0 + 80002ca8: 00d00093 li ra,13 + 80002cac: 00b00113 li sp,11 + 80002cb0: 00208f3b addw t5,ra,sp + 80002cb4: 000f0313 mv t1,t5 + 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cbc: 00200293 li t0,2 + 80002cc0: fe5214e3 bne tp,t0,80002ca8 <test_20+0x4> + 80002cc4: 01800e93 li t4,24 + 80002cc8: 01400193 li gp,20 + 80002ccc: 2dd31e63 bne t1,t4,80002fa8 <fail> + +0000000080002cd0 <test_21>: + 80002cd0: 00000213 li tp,0 + 80002cd4: 00e00093 li ra,14 + 80002cd8: 00b00113 li sp,11 + 80002cdc: 00208f3b addw t5,ra,sp + 80002ce0: 00000013 nop + 80002ce4: 000f0313 mv t1,t5 + 80002ce8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cec: 00200293 li t0,2 + 80002cf0: fe5212e3 bne tp,t0,80002cd4 <test_21+0x4> + 80002cf4: 01900e93 li t4,25 + 80002cf8: 01500193 li gp,21 + 80002cfc: 2bd31663 bne t1,t4,80002fa8 <fail> + +0000000080002d00 <test_22>: + 80002d00: 00000213 li tp,0 + 80002d04: 00f00093 li ra,15 + 80002d08: 00b00113 li sp,11 + 80002d0c: 00208f3b addw t5,ra,sp + 80002d10: 00000013 nop + 80002d14: 00000013 nop + 80002d18: 000f0313 mv t1,t5 + 80002d1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d20: 00200293 li t0,2 + 80002d24: fe5210e3 bne tp,t0,80002d04 <test_22+0x4> + 80002d28: 01a00e93 li t4,26 + 80002d2c: 01600193 li gp,22 + 80002d30: 27d31c63 bne t1,t4,80002fa8 <fail> + +0000000080002d34 <test_23>: + 80002d34: 00000213 li tp,0 + 80002d38: 00d00093 li ra,13 + 80002d3c: 00b00113 li sp,11 + 80002d40: 00208f3b addw t5,ra,sp + 80002d44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d48: 00200293 li t0,2 + 80002d4c: fe5216e3 bne tp,t0,80002d38 <test_23+0x4> + 80002d50: 01800e93 li t4,24 + 80002d54: 01700193 li gp,23 + 80002d58: 25df1863 bne t5,t4,80002fa8 <fail> + +0000000080002d5c <test_24>: + 80002d5c: 00000213 li tp,0 + 80002d60: 00e00093 li ra,14 + 80002d64: 00b00113 li sp,11 + 80002d68: 00000013 nop + 80002d6c: 00208f3b addw t5,ra,sp + 80002d70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d74: 00200293 li t0,2 + 80002d78: fe5214e3 bne tp,t0,80002d60 <test_24+0x4> + 80002d7c: 01900e93 li t4,25 + 80002d80: 01800193 li gp,24 + 80002d84: 23df1263 bne t5,t4,80002fa8 <fail> + +0000000080002d88 <test_25>: + 80002d88: 00000213 li tp,0 + 80002d8c: 00f00093 li ra,15 + 80002d90: 00b00113 li sp,11 + 80002d94: 00000013 nop + 80002d98: 00000013 nop + 80002d9c: 00208f3b addw t5,ra,sp + 80002da0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da4: 00200293 li t0,2 + 80002da8: fe5212e3 bne tp,t0,80002d8c <test_25+0x4> + 80002dac: 01a00e93 li t4,26 + 80002db0: 01900193 li gp,25 + 80002db4: 1fdf1a63 bne t5,t4,80002fa8 <fail> + +0000000080002db8 <test_26>: + 80002db8: 00000213 li tp,0 + 80002dbc: 00d00093 li ra,13 + 80002dc0: 00000013 nop + 80002dc4: 00b00113 li sp,11 + 80002dc8: 00208f3b addw t5,ra,sp + 80002dcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd0: 00200293 li t0,2 + 80002dd4: fe5214e3 bne tp,t0,80002dbc <test_26+0x4> + 80002dd8: 01800e93 li t4,24 + 80002ddc: 01a00193 li gp,26 + 80002de0: 1ddf1463 bne t5,t4,80002fa8 <fail> + +0000000080002de4 <test_27>: + 80002de4: 00000213 li tp,0 + 80002de8: 00e00093 li ra,14 + 80002dec: 00000013 nop + 80002df0: 00b00113 li sp,11 + 80002df4: 00000013 nop + 80002df8: 00208f3b addw t5,ra,sp + 80002dfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e00: 00200293 li t0,2 + 80002e04: fe5212e3 bne tp,t0,80002de8 <test_27+0x4> + 80002e08: 01900e93 li t4,25 + 80002e0c: 01b00193 li gp,27 + 80002e10: 19df1c63 bne t5,t4,80002fa8 <fail> + +0000000080002e14 <test_28>: + 80002e14: 00000213 li tp,0 + 80002e18: 00f00093 li ra,15 + 80002e1c: 00000013 nop + 80002e20: 00000013 nop + 80002e24: 00b00113 li sp,11 + 80002e28: 00208f3b addw t5,ra,sp + 80002e2c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e30: 00200293 li t0,2 + 80002e34: fe5212e3 bne tp,t0,80002e18 <test_28+0x4> + 80002e38: 01a00e93 li t4,26 + 80002e3c: 01c00193 li gp,28 + 80002e40: 17df1463 bne t5,t4,80002fa8 <fail> + +0000000080002e44 <test_29>: + 80002e44: 00000213 li tp,0 + 80002e48: 00b00113 li sp,11 + 80002e4c: 00d00093 li ra,13 + 80002e50: 00208f3b addw t5,ra,sp + 80002e54: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e58: 00200293 li t0,2 + 80002e5c: fe5216e3 bne tp,t0,80002e48 <test_29+0x4> + 80002e60: 01800e93 li t4,24 + 80002e64: 01d00193 li gp,29 + 80002e68: 15df1063 bne t5,t4,80002fa8 <fail> + +0000000080002e6c <test_30>: + 80002e6c: 00000213 li tp,0 + 80002e70: 00b00113 li sp,11 + 80002e74: 00e00093 li ra,14 + 80002e78: 00000013 nop + 80002e7c: 00208f3b addw t5,ra,sp + 80002e80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e84: 00200293 li t0,2 + 80002e88: fe5214e3 bne tp,t0,80002e70 <test_30+0x4> + 80002e8c: 01900e93 li t4,25 + 80002e90: 01e00193 li gp,30 + 80002e94: 11df1a63 bne t5,t4,80002fa8 <fail> + +0000000080002e98 <test_31>: + 80002e98: 00000213 li tp,0 + 80002e9c: 00b00113 li sp,11 + 80002ea0: 00f00093 li ra,15 + 80002ea4: 00000013 nop + 80002ea8: 00000013 nop + 80002eac: 00208f3b addw t5,ra,sp + 80002eb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb4: 00200293 li t0,2 + 80002eb8: fe5212e3 bne tp,t0,80002e9c <test_31+0x4> + 80002ebc: 01a00e93 li t4,26 + 80002ec0: 01f00193 li gp,31 + 80002ec4: 0fdf1263 bne t5,t4,80002fa8 <fail> + +0000000080002ec8 <test_32>: + 80002ec8: 00000213 li tp,0 + 80002ecc: 00b00113 li sp,11 + 80002ed0: 00000013 nop + 80002ed4: 00d00093 li ra,13 + 80002ed8: 00208f3b addw t5,ra,sp + 80002edc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee0: 00200293 li t0,2 + 80002ee4: fe5214e3 bne tp,t0,80002ecc <test_32+0x4> + 80002ee8: 01800e93 li t4,24 + 80002eec: 02000193 li gp,32 + 80002ef0: 0bdf1c63 bne t5,t4,80002fa8 <fail> + +0000000080002ef4 <test_33>: + 80002ef4: 00000213 li tp,0 + 80002ef8: 00b00113 li sp,11 + 80002efc: 00000013 nop + 80002f00: 00e00093 li ra,14 + 80002f04: 00000013 nop + 80002f08: 00208f3b addw t5,ra,sp + 80002f0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f10: 00200293 li t0,2 + 80002f14: fe5212e3 bne tp,t0,80002ef8 <test_33+0x4> + 80002f18: 01900e93 li t4,25 + 80002f1c: 02100193 li gp,33 + 80002f20: 09df1463 bne t5,t4,80002fa8 <fail> + +0000000080002f24 <test_34>: + 80002f24: 00000213 li tp,0 + 80002f28: 00b00113 li sp,11 + 80002f2c: 00000013 nop + 80002f30: 00000013 nop + 80002f34: 00f00093 li ra,15 + 80002f38: 00208f3b addw t5,ra,sp + 80002f3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f40: 00200293 li t0,2 + 80002f44: fe5212e3 bne tp,t0,80002f28 <test_34+0x4> + 80002f48: 01a00e93 li t4,26 + 80002f4c: 02200193 li gp,34 + 80002f50: 05df1c63 bne t5,t4,80002fa8 <fail> + +0000000080002f54 <test_35>: + 80002f54: 00f00093 li ra,15 + 80002f58: 0010013b addw sp,zero,ra + 80002f5c: 00f00e93 li t4,15 + 80002f60: 02300193 li gp,35 + 80002f64: 05d11263 bne sp,t4,80002fa8 <fail> + +0000000080002f68 <test_36>: + 80002f68: 02000093 li ra,32 + 80002f6c: 0000813b addw sp,ra,zero + 80002f70: 02000e93 li t4,32 + 80002f74: 02400193 li gp,36 + 80002f78: 03d11863 bne sp,t4,80002fa8 <fail> + +0000000080002f7c <test_37>: + 80002f7c: 000000bb addw ra,zero,zero + 80002f80: 00000e93 li t4,0 + 80002f84: 02500193 li gp,37 + 80002f88: 03d09063 bne ra,t4,80002fa8 <fail> + +0000000080002f8c <test_38>: + 80002f8c: 01000093 li ra,16 + 80002f90: 01e00113 li sp,30 + 80002f94: 0020803b addw zero,ra,sp + 80002f98: 00000e93 li t4,0 + 80002f9c: 02600193 li gp,38 + 80002fa0: 01d01463 bne zero,t4,80002fa8 <fail> + 80002fa4: 00301a63 bne zero,gp,80002fb8 <pass> + +0000000080002fa8 <fail>: + 80002fa8: 00119513 slli a0,gp,0x1 + 80002fac: 00050063 beqz a0,80002fac <fail+0x4> + 80002fb0: 00156513 ori a0,a0,1 + 80002fb4: 00000073 ecall + +0000000080002fb8 <pass>: + 80002fb8: 00100513 li a0,1 + 80002fbc: 00000073 ecall + 80002fc0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-addw.elf b/test/riscv/tests/rv64ui-v-addw.elf Binary files differnew file mode 100644 index 00000000..e78ff7a7 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-addw.elf diff --git a/test/riscv/tests/rv64ui-v-and.dump b/test/riscv/tests/rv64ui-v-and.dump new file mode 100644 index 00000000..063fbeb1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-and.dump @@ -0,0 +1,1232 @@ + +rv64ui-v-and: 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,sbadaddr + 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 <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: 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: be868693 addi a3,a3,-1048 # 80003040 <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: c1c60613 addi a2,a2,-996 # 800030d0 <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: be460613 addi a2,a2,-1052 # 800030e8 <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: b3468693 addi a3,a3,-1228 # 80003088 <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: b5068693 addi a3,a3,-1200 # 800031c0 <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: ad060613 addi a2,a2,-1328 # 80003198 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a0468693 addi a3,a3,-1532 # 800031f0 <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: 92468693 addi a3,a3,-1756 # 80003160 <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: 8b468693 addi a3,a3,-1868 # 80003128 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 01200793 li a5,18 + 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: 0a1787b7 lui a5,0xa178 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 4b678793 addi a5,a5,1206 # a1784b6 <_start-0x75e87b4a> + 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: 000100b7 lui ra,0x10 + 80002acc: f010809b addiw ra,ra,-255 + 80002ad0: 01009093 slli ra,ra,0x10 + 80002ad4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002ad8: 0f0f1137 lui sp,0xf0f1 + 80002adc: f0f1011b addiw sp,sp,-241 + 80002ae0: 0020ff33 and t5,ra,sp + 80002ae4: 0f001eb7 lui t4,0xf001 + 80002ae8: f00e8e9b addiw t4,t4,-256 + 80002aec: 00200193 li gp,2 + 80002af0: 53df1863 bne t5,t4,80003020 <fail> + +0000000080002af4 <test_3>: + 80002af4: 0ff010b7 lui ra,0xff01 + 80002af8: ff00809b addiw ra,ra,-16 + 80002afc: 000f1137 lui sp,0xf1 + 80002b00: f0f1011b addiw sp,sp,-241 + 80002b04: 00c11113 slli sp,sp,0xc + 80002b08: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b0c: 0020ff33 and t5,ra,sp + 80002b10: 00f00eb7 lui t4,0xf00 + 80002b14: 0f0e8e9b addiw t4,t4,240 + 80002b18: 00300193 li gp,3 + 80002b1c: 51df1263 bne t5,t4,80003020 <fail> + +0000000080002b20 <test_4>: + 80002b20: 00ff00b7 lui ra,0xff0 + 80002b24: 0ff0809b addiw ra,ra,255 + 80002b28: 0f0f1137 lui sp,0xf0f1 + 80002b2c: f0f1011b addiw sp,sp,-241 + 80002b30: 0020ff33 and t5,ra,sp + 80002b34: 000f0eb7 lui t4,0xf0 + 80002b38: 00fe8e9b addiw t4,t4,15 + 80002b3c: 00400193 li gp,4 + 80002b40: 4fdf1063 bne t5,t4,80003020 <fail> + +0000000080002b44 <test_5>: + 80002b44: 000f00b7 lui ra,0xf0 + 80002b48: 0ff0809b addiw ra,ra,255 + 80002b4c: 00c09093 slli ra,ra,0xc + 80002b50: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002b54: 000f1137 lui sp,0xf1 + 80002b58: f0f1011b addiw sp,sp,-241 + 80002b5c: 00c11113 slli sp,sp,0xc + 80002b60: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b64: 0020ff33 and t5,ra,sp + 80002b68: 000f0eb7 lui t4,0xf0 + 80002b6c: 00fe8e9b addiw t4,t4,15 + 80002b70: 00ce9e93 slli t4,t4,0xc + 80002b74: 00500193 li gp,5 + 80002b78: 4bdf1463 bne t5,t4,80003020 <fail> + +0000000080002b7c <test_6>: + 80002b7c: 000100b7 lui ra,0x10 + 80002b80: f010809b addiw ra,ra,-255 + 80002b84: 01009093 slli ra,ra,0x10 + 80002b88: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002b8c: 0f0f1137 lui sp,0xf0f1 + 80002b90: f0f1011b addiw sp,sp,-241 + 80002b94: 0020f0b3 and ra,ra,sp + 80002b98: 0f001eb7 lui t4,0xf001 + 80002b9c: f00e8e9b addiw t4,t4,-256 + 80002ba0: 00600193 li gp,6 + 80002ba4: 47d09e63 bne ra,t4,80003020 <fail> + +0000000080002ba8 <test_7>: + 80002ba8: 0ff010b7 lui ra,0xff01 + 80002bac: ff00809b addiw ra,ra,-16 + 80002bb0: 000f1137 lui sp,0xf1 + 80002bb4: f0f1011b addiw sp,sp,-241 + 80002bb8: 00c11113 slli sp,sp,0xc + 80002bbc: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002bc0: 0020f133 and sp,ra,sp + 80002bc4: 00f00eb7 lui t4,0xf00 + 80002bc8: 0f0e8e9b addiw t4,t4,240 + 80002bcc: 00700193 li gp,7 + 80002bd0: 45d11863 bne sp,t4,80003020 <fail> + +0000000080002bd4 <test_8>: + 80002bd4: 000100b7 lui ra,0x10 + 80002bd8: f010809b addiw ra,ra,-255 + 80002bdc: 01009093 slli ra,ra,0x10 + 80002be0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002be4: 0010f0b3 and ra,ra,ra + 80002be8: 00010eb7 lui t4,0x10 + 80002bec: f01e8e9b addiw t4,t4,-255 + 80002bf0: 010e9e93 slli t4,t4,0x10 + 80002bf4: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002bf8: 00800193 li gp,8 + 80002bfc: 43d09263 bne ra,t4,80003020 <fail> + +0000000080002c00 <test_9>: + 80002c00: 00000213 li tp,0 + 80002c04: 000100b7 lui ra,0x10 + 80002c08: f010809b addiw ra,ra,-255 + 80002c0c: 01009093 slli ra,ra,0x10 + 80002c10: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002c14: 0f0f1137 lui sp,0xf0f1 + 80002c18: f0f1011b addiw sp,sp,-241 + 80002c1c: 0020ff33 and t5,ra,sp + 80002c20: 000f0313 mv t1,t5 + 80002c24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c28: 00200293 li t0,2 + 80002c2c: fc521ce3 bne tp,t0,80002c04 <test_9+0x4> + 80002c30: 0f001eb7 lui t4,0xf001 + 80002c34: f00e8e9b addiw t4,t4,-256 + 80002c38: 00900193 li gp,9 + 80002c3c: 3fd31263 bne t1,t4,80003020 <fail> + +0000000080002c40 <test_10>: + 80002c40: 00000213 li tp,0 + 80002c44: 0ff010b7 lui ra,0xff01 + 80002c48: ff00809b addiw ra,ra,-16 + 80002c4c: 000f1137 lui sp,0xf1 + 80002c50: f0f1011b addiw sp,sp,-241 + 80002c54: 00c11113 slli sp,sp,0xc + 80002c58: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002c5c: 0020ff33 and t5,ra,sp + 80002c60: 00000013 nop + 80002c64: 000f0313 mv t1,t5 + 80002c68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c6c: 00200293 li t0,2 + 80002c70: fc521ae3 bne tp,t0,80002c44 <test_10+0x4> + 80002c74: 00f00eb7 lui t4,0xf00 + 80002c78: 0f0e8e9b addiw t4,t4,240 + 80002c7c: 00a00193 li gp,10 + 80002c80: 3bd31063 bne t1,t4,80003020 <fail> + +0000000080002c84 <test_11>: + 80002c84: 00000213 li tp,0 + 80002c88: 00ff00b7 lui ra,0xff0 + 80002c8c: 0ff0809b addiw ra,ra,255 + 80002c90: 0f0f1137 lui sp,0xf0f1 + 80002c94: f0f1011b addiw sp,sp,-241 + 80002c98: 0020ff33 and t5,ra,sp + 80002c9c: 00000013 nop + 80002ca0: 00000013 nop + 80002ca4: 000f0313 mv t1,t5 + 80002ca8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cac: 00200293 li t0,2 + 80002cb0: fc521ce3 bne tp,t0,80002c88 <test_11+0x4> + 80002cb4: 000f0eb7 lui t4,0xf0 + 80002cb8: 00fe8e9b addiw t4,t4,15 + 80002cbc: 00b00193 li gp,11 + 80002cc0: 37d31063 bne t1,t4,80003020 <fail> + +0000000080002cc4 <test_12>: + 80002cc4: 00000213 li tp,0 + 80002cc8: 000100b7 lui ra,0x10 + 80002ccc: f010809b addiw ra,ra,-255 + 80002cd0: 01009093 slli ra,ra,0x10 + 80002cd4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002cd8: 0f0f1137 lui sp,0xf0f1 + 80002cdc: f0f1011b addiw sp,sp,-241 + 80002ce0: 0020ff33 and t5,ra,sp + 80002ce4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce8: 00200293 li t0,2 + 80002cec: fc521ee3 bne tp,t0,80002cc8 <test_12+0x4> + 80002cf0: 0f001eb7 lui t4,0xf001 + 80002cf4: f00e8e9b addiw t4,t4,-256 + 80002cf8: 00c00193 li gp,12 + 80002cfc: 33df1263 bne t5,t4,80003020 <fail> + +0000000080002d00 <test_13>: + 80002d00: 00000213 li tp,0 + 80002d04: 0ff010b7 lui ra,0xff01 + 80002d08: ff00809b addiw ra,ra,-16 + 80002d0c: 000f1137 lui sp,0xf1 + 80002d10: f0f1011b addiw sp,sp,-241 + 80002d14: 00c11113 slli sp,sp,0xc + 80002d18: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002d1c: 00000013 nop + 80002d20: 0020ff33 and t5,ra,sp + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fc521ce3 bne tp,t0,80002d04 <test_13+0x4> + 80002d30: 00f00eb7 lui t4,0xf00 + 80002d34: 0f0e8e9b addiw t4,t4,240 + 80002d38: 00d00193 li gp,13 + 80002d3c: 2fdf1263 bne t5,t4,80003020 <fail> + +0000000080002d40 <test_14>: + 80002d40: 00000213 li tp,0 + 80002d44: 00ff00b7 lui ra,0xff0 + 80002d48: 0ff0809b addiw ra,ra,255 + 80002d4c: 0f0f1137 lui sp,0xf0f1 + 80002d50: f0f1011b addiw sp,sp,-241 + 80002d54: 00000013 nop + 80002d58: 00000013 nop + 80002d5c: 0020ff33 and t5,ra,sp + 80002d60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d64: 00200293 li t0,2 + 80002d68: fc521ee3 bne tp,t0,80002d44 <test_14+0x4> + 80002d6c: 000f0eb7 lui t4,0xf0 + 80002d70: 00fe8e9b addiw t4,t4,15 + 80002d74: 00e00193 li gp,14 + 80002d78: 2bdf1463 bne t5,t4,80003020 <fail> + +0000000080002d7c <test_15>: + 80002d7c: 00000213 li tp,0 + 80002d80: 000100b7 lui ra,0x10 + 80002d84: f010809b addiw ra,ra,-255 + 80002d88: 01009093 slli ra,ra,0x10 + 80002d8c: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002d90: 00000013 nop + 80002d94: 0f0f1137 lui sp,0xf0f1 + 80002d98: f0f1011b addiw sp,sp,-241 + 80002d9c: 0020ff33 and t5,ra,sp + 80002da0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da4: 00200293 li t0,2 + 80002da8: fc521ce3 bne tp,t0,80002d80 <test_15+0x4> + 80002dac: 0f001eb7 lui t4,0xf001 + 80002db0: f00e8e9b addiw t4,t4,-256 + 80002db4: 00f00193 li gp,15 + 80002db8: 27df1463 bne t5,t4,80003020 <fail> + +0000000080002dbc <test_16>: + 80002dbc: 00000213 li tp,0 + 80002dc0: 0ff010b7 lui ra,0xff01 + 80002dc4: ff00809b addiw ra,ra,-16 + 80002dc8: 00000013 nop + 80002dcc: 000f1137 lui sp,0xf1 + 80002dd0: f0f1011b addiw sp,sp,-241 + 80002dd4: 00c11113 slli sp,sp,0xc + 80002dd8: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002ddc: 00000013 nop + 80002de0: 0020ff33 and t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fc521ae3 bne tp,t0,80002dc0 <test_16+0x4> + 80002df0: 00f00eb7 lui t4,0xf00 + 80002df4: 0f0e8e9b addiw t4,t4,240 + 80002df8: 01000193 li gp,16 + 80002dfc: 23df1263 bne t5,t4,80003020 <fail> + +0000000080002e00 <test_17>: + 80002e00: 00000213 li tp,0 + 80002e04: 00ff00b7 lui ra,0xff0 + 80002e08: 0ff0809b addiw ra,ra,255 + 80002e0c: 00000013 nop + 80002e10: 00000013 nop + 80002e14: 0f0f1137 lui sp,0xf0f1 + 80002e18: f0f1011b addiw sp,sp,-241 + 80002e1c: 0020ff33 and t5,ra,sp + 80002e20: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e24: 00200293 li t0,2 + 80002e28: fc521ee3 bne tp,t0,80002e04 <test_17+0x4> + 80002e2c: 000f0eb7 lui t4,0xf0 + 80002e30: 00fe8e9b addiw t4,t4,15 + 80002e34: 01100193 li gp,17 + 80002e38: 1fdf1463 bne t5,t4,80003020 <fail> + +0000000080002e3c <test_18>: + 80002e3c: 00000213 li tp,0 + 80002e40: 0f0f1137 lui sp,0xf0f1 + 80002e44: f0f1011b addiw sp,sp,-241 + 80002e48: 000100b7 lui ra,0x10 + 80002e4c: f010809b addiw ra,ra,-255 + 80002e50: 01009093 slli ra,ra,0x10 + 80002e54: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002e58: 0020ff33 and t5,ra,sp + 80002e5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e60: 00200293 li t0,2 + 80002e64: fc521ee3 bne tp,t0,80002e40 <test_18+0x4> + 80002e68: 0f001eb7 lui t4,0xf001 + 80002e6c: f00e8e9b addiw t4,t4,-256 + 80002e70: 01200193 li gp,18 + 80002e74: 1bdf1663 bne t5,t4,80003020 <fail> + +0000000080002e78 <test_19>: + 80002e78: 00000213 li tp,0 + 80002e7c: 000f1137 lui sp,0xf1 + 80002e80: f0f1011b addiw sp,sp,-241 + 80002e84: 00c11113 slli sp,sp,0xc + 80002e88: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002e8c: 0ff010b7 lui ra,0xff01 + 80002e90: ff00809b addiw ra,ra,-16 + 80002e94: 00000013 nop + 80002e98: 0020ff33 and t5,ra,sp + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fc521ce3 bne tp,t0,80002e7c <test_19+0x4> + 80002ea8: 00f00eb7 lui t4,0xf00 + 80002eac: 0f0e8e9b addiw t4,t4,240 + 80002eb0: 01300193 li gp,19 + 80002eb4: 17df1663 bne t5,t4,80003020 <fail> + +0000000080002eb8 <test_20>: + 80002eb8: 00000213 li tp,0 + 80002ebc: 0f0f1137 lui sp,0xf0f1 + 80002ec0: f0f1011b addiw sp,sp,-241 + 80002ec4: 00ff00b7 lui ra,0xff0 + 80002ec8: 0ff0809b addiw ra,ra,255 + 80002ecc: 00000013 nop + 80002ed0: 00000013 nop + 80002ed4: 0020ff33 and t5,ra,sp + 80002ed8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002edc: 00200293 li t0,2 + 80002ee0: fc521ee3 bne tp,t0,80002ebc <test_20+0x4> + 80002ee4: 000f0eb7 lui t4,0xf0 + 80002ee8: 00fe8e9b addiw t4,t4,15 + 80002eec: 01400193 li gp,20 + 80002ef0: 13df1863 bne t5,t4,80003020 <fail> + +0000000080002ef4 <test_21>: + 80002ef4: 00000213 li tp,0 + 80002ef8: 0f0f1137 lui sp,0xf0f1 + 80002efc: f0f1011b addiw sp,sp,-241 + 80002f00: 00000013 nop + 80002f04: 000100b7 lui ra,0x10 + 80002f08: f010809b addiw ra,ra,-255 + 80002f0c: 01009093 slli ra,ra,0x10 + 80002f10: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002f14: 0020ff33 and t5,ra,sp + 80002f18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f1c: 00200293 li t0,2 + 80002f20: fc521ce3 bne tp,t0,80002ef8 <test_21+0x4> + 80002f24: 0f001eb7 lui t4,0xf001 + 80002f28: f00e8e9b addiw t4,t4,-256 + 80002f2c: 01500193 li gp,21 + 80002f30: 0fdf1863 bne t5,t4,80003020 <fail> + +0000000080002f34 <test_22>: + 80002f34: 00000213 li tp,0 + 80002f38: 000f1137 lui sp,0xf1 + 80002f3c: f0f1011b addiw sp,sp,-241 + 80002f40: 00c11113 slli sp,sp,0xc + 80002f44: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002f48: 00000013 nop + 80002f4c: 0ff010b7 lui ra,0xff01 + 80002f50: ff00809b addiw ra,ra,-16 + 80002f54: 00000013 nop + 80002f58: 0020ff33 and t5,ra,sp + 80002f5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f60: 00200293 li t0,2 + 80002f64: fc521ae3 bne tp,t0,80002f38 <test_22+0x4> + 80002f68: 00f00eb7 lui t4,0xf00 + 80002f6c: 0f0e8e9b addiw t4,t4,240 + 80002f70: 01600193 li gp,22 + 80002f74: 0bdf1663 bne t5,t4,80003020 <fail> + +0000000080002f78 <test_23>: + 80002f78: 00000213 li tp,0 + 80002f7c: 0f0f1137 lui sp,0xf0f1 + 80002f80: f0f1011b addiw sp,sp,-241 + 80002f84: 00000013 nop + 80002f88: 00000013 nop + 80002f8c: 00ff00b7 lui ra,0xff0 + 80002f90: 0ff0809b addiw ra,ra,255 + 80002f94: 0020ff33 and t5,ra,sp + 80002f98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f9c: 00200293 li t0,2 + 80002fa0: fc521ee3 bne tp,t0,80002f7c <test_23+0x4> + 80002fa4: 000f0eb7 lui t4,0xf0 + 80002fa8: 00fe8e9b addiw t4,t4,15 + 80002fac: 01700193 li gp,23 + 80002fb0: 07df1863 bne t5,t4,80003020 <fail> + +0000000080002fb4 <test_24>: + 80002fb4: 000100b7 lui ra,0x10 + 80002fb8: f010809b addiw ra,ra,-255 + 80002fbc: 01009093 slli ra,ra,0x10 + 80002fc0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002fc4: 00107133 and sp,zero,ra + 80002fc8: 00000e93 li t4,0 + 80002fcc: 01800193 li gp,24 + 80002fd0: 05d11863 bne sp,t4,80003020 <fail> + +0000000080002fd4 <test_25>: + 80002fd4: 00ff00b7 lui ra,0xff0 + 80002fd8: 0ff0809b addiw ra,ra,255 + 80002fdc: 0000f133 and sp,ra,zero + 80002fe0: 00000e93 li t4,0 + 80002fe4: 01900193 li gp,25 + 80002fe8: 03d11c63 bne sp,t4,80003020 <fail> + +0000000080002fec <test_26>: + 80002fec: 000070b3 and ra,zero,zero + 80002ff0: 00000e93 li t4,0 + 80002ff4: 01a00193 li gp,26 + 80002ff8: 03d09463 bne ra,t4,80003020 <fail> + +0000000080002ffc <test_27>: + 80002ffc: 111110b7 lui ra,0x11111 + 80003000: 1110809b addiw ra,ra,273 + 80003004: 22222137 lui sp,0x22222 + 80003008: 2221011b addiw sp,sp,546 + 8000300c: 0020f033 and zero,ra,sp + 80003010: 00000e93 li t4,0 + 80003014: 01b00193 li gp,27 + 80003018: 01d01463 bne zero,t4,80003020 <fail> + 8000301c: 00301a63 bne zero,gp,80003030 <pass> + +0000000080003020 <fail>: + 80003020: 00119513 slli a0,gp,0x1 + 80003024: 00050063 beqz a0,80003024 <fail+0x4> + 80003028: 00156513 ori a0,a0,1 + 8000302c: 00000073 ecall + +0000000080003030 <pass>: + 80003030: 00100513 li a0,1 + 80003034: 00000073 ecall + 80003038: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-and.elf b/test/riscv/tests/rv64ui-v-and.elf Binary files differnew file mode 100644 index 00000000..2cf4f37d --- /dev/null +++ b/test/riscv/tests/rv64ui-v-and.elf diff --git a/test/riscv/tests/rv64ui-v-andi.dump b/test/riscv/tests/rv64ui-v-andi.dump new file mode 100644 index 00000000..6503a378 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-andi.dump @@ -0,0 +1,990 @@ + +rv64ui-v-andi: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 88868693 addi a3,a3,-1912 # 80002ce0 <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: 8bc60613 addi a2,a2,-1860 # 80002d70 <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: 88460613 addi a2,a2,-1916 # 80002d88 <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: 7d468693 addi a3,a3,2004 # 80002d28 <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: 7f068693 addi a3,a3,2032 # 80002e60 <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: 77060613 addi a2,a2,1904 # 80002e38 <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: 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: 6a468693 addi a3,a3,1700 # 80002e90 <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: 5c468693 addi a3,a3,1476 # 80002e00 <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: 55468693 addi a3,a3,1364 # 80002dc8 <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: 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: 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: 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: 069897b7 lui a5,0x6989 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 68978793 addi a5,a5,1673 # 6989689 <_start-0x79676977> + 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: 000100b7 lui ra,0x10 + 80002acc: f010809b addiw ra,ra,-255 + 80002ad0: 01009093 slli ra,ra,0x10 + 80002ad4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002ad8: f0f0ff13 andi t5,ra,-241 + 80002adc: 00010eb7 lui t4,0x10 + 80002ae0: f01e8e9b addiw t4,t4,-255 + 80002ae4: 010e9e93 slli t4,t4,0x10 + 80002ae8: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002aec: 00200193 li gp,2 + 80002af0: 1ddf1863 bne t5,t4,80002cc0 <fail> + +0000000080002af4 <test_3>: + 80002af4: 0ff010b7 lui ra,0xff01 + 80002af8: ff00809b addiw ra,ra,-16 + 80002afc: 0f00ff13 andi t5,ra,240 + 80002b00: 0f000e93 li t4,240 + 80002b04: 00300193 li gp,3 + 80002b08: 1bdf1c63 bne t5,t4,80002cc0 <fail> + +0000000080002b0c <test_4>: + 80002b0c: 00ff00b7 lui ra,0xff0 + 80002b10: 0ff0809b addiw ra,ra,255 + 80002b14: 70f0ff13 andi t5,ra,1807 + 80002b18: 00f00e93 li t4,15 + 80002b1c: 00400193 li gp,4 + 80002b20: 1bdf1063 bne t5,t4,80002cc0 <fail> + +0000000080002b24 <test_5>: + 80002b24: 000f00b7 lui ra,0xf0 + 80002b28: 0ff0809b addiw ra,ra,255 + 80002b2c: 00c09093 slli ra,ra,0xc + 80002b30: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002b34: 0f00ff13 andi t5,ra,240 + 80002b38: 00000e93 li t4,0 + 80002b3c: 00500193 li gp,5 + 80002b40: 19df1063 bne t5,t4,80002cc0 <fail> + +0000000080002b44 <test_6>: + 80002b44: 000100b7 lui ra,0x10 + 80002b48: f010809b addiw ra,ra,-255 + 80002b4c: 01009093 slli ra,ra,0x10 + 80002b50: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002b54: 0f00f093 andi ra,ra,240 + 80002b58: 00000e93 li t4,0 + 80002b5c: 00600193 li gp,6 + 80002b60: 17d09063 bne ra,t4,80002cc0 <fail> + +0000000080002b64 <test_7>: + 80002b64: 00000213 li tp,0 + 80002b68: 0ff010b7 lui ra,0xff01 + 80002b6c: ff00809b addiw ra,ra,-16 + 80002b70: 70f0ff13 andi t5,ra,1807 + 80002b74: 000f0313 mv t1,t5 + 80002b78: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b7c: 00200293 li t0,2 + 80002b80: fe5214e3 bne tp,t0,80002b68 <test_7+0x4> + 80002b84: 70000e93 li t4,1792 + 80002b88: 00700193 li gp,7 + 80002b8c: 13d31a63 bne t1,t4,80002cc0 <fail> + +0000000080002b90 <test_8>: + 80002b90: 00000213 li tp,0 + 80002b94: 00ff00b7 lui ra,0xff0 + 80002b98: 0ff0809b addiw ra,ra,255 + 80002b9c: 0f00ff13 andi t5,ra,240 + 80002ba0: 00000013 nop + 80002ba4: 000f0313 mv t1,t5 + 80002ba8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bac: 00200293 li t0,2 + 80002bb0: fe5212e3 bne tp,t0,80002b94 <test_8+0x4> + 80002bb4: 0f000e93 li t4,240 + 80002bb8: 00800193 li gp,8 + 80002bbc: 11d31263 bne t1,t4,80002cc0 <fail> + +0000000080002bc0 <test_9>: + 80002bc0: 00000213 li tp,0 + 80002bc4: 000f00b7 lui ra,0xf0 + 80002bc8: 0ff0809b addiw ra,ra,255 + 80002bcc: 00c09093 slli ra,ra,0xc + 80002bd0: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002bd4: f0f0ff13 andi t5,ra,-241 + 80002bd8: 00000013 nop + 80002bdc: 00000013 nop + 80002be0: 000f0313 mv t1,t5 + 80002be4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002be8: 00200293 li t0,2 + 80002bec: fc521ce3 bne tp,t0,80002bc4 <test_9+0x4> + 80002bf0: 000f0eb7 lui t4,0xf0 + 80002bf4: 0ffe8e9b addiw t4,t4,255 + 80002bf8: 00ce9e93 slli t4,t4,0xc + 80002bfc: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002c00: 00900193 li gp,9 + 80002c04: 0bd31e63 bne t1,t4,80002cc0 <fail> + +0000000080002c08 <test_10>: + 80002c08: 00000213 li tp,0 + 80002c0c: 0ff010b7 lui ra,0xff01 + 80002c10: ff00809b addiw ra,ra,-16 + 80002c14: 70f0ff13 andi t5,ra,1807 + 80002c18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c1c: 00200293 li t0,2 + 80002c20: fe5216e3 bne tp,t0,80002c0c <test_10+0x4> + 80002c24: 70000e93 li t4,1792 + 80002c28: 00a00193 li gp,10 + 80002c2c: 09df1a63 bne t5,t4,80002cc0 <fail> + +0000000080002c30 <test_11>: + 80002c30: 00000213 li tp,0 + 80002c34: 00ff00b7 lui ra,0xff0 + 80002c38: 0ff0809b addiw ra,ra,255 + 80002c3c: 00000013 nop + 80002c40: 0f00ff13 andi t5,ra,240 + 80002c44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c48: 00200293 li t0,2 + 80002c4c: fe5214e3 bne tp,t0,80002c34 <test_11+0x4> + 80002c50: 0f000e93 li t4,240 + 80002c54: 00b00193 li gp,11 + 80002c58: 07df1463 bne t5,t4,80002cc0 <fail> + +0000000080002c5c <test_12>: + 80002c5c: 00000213 li tp,0 + 80002c60: 000f00b7 lui ra,0xf0 + 80002c64: 0ff0809b addiw ra,ra,255 + 80002c68: 00c09093 slli ra,ra,0xc + 80002c6c: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002c70: 00000013 nop + 80002c74: 00000013 nop + 80002c78: 70f0ff13 andi t5,ra,1807 + 80002c7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c80: 00200293 li t0,2 + 80002c84: fc521ee3 bne tp,t0,80002c60 <test_12+0x4> + 80002c88: 00f00e93 li t4,15 + 80002c8c: 00c00193 li gp,12 + 80002c90: 03df1863 bne t5,t4,80002cc0 <fail> + +0000000080002c94 <test_13>: + 80002c94: 0f007093 andi ra,zero,240 + 80002c98: 00000e93 li t4,0 + 80002c9c: 00d00193 li gp,13 + 80002ca0: 03d09063 bne ra,t4,80002cc0 <fail> + +0000000080002ca4 <test_14>: + 80002ca4: 00ff00b7 lui ra,0xff0 + 80002ca8: 0ff0809b addiw ra,ra,255 + 80002cac: 70f0f013 andi zero,ra,1807 + 80002cb0: 00000e93 li t4,0 + 80002cb4: 00e00193 li gp,14 + 80002cb8: 01d01463 bne zero,t4,80002cc0 <fail> + 80002cbc: 00301a63 bne zero,gp,80002cd0 <pass> + +0000000080002cc0 <fail>: + 80002cc0: 00119513 slli a0,gp,0x1 + 80002cc4: 00050063 beqz a0,80002cc4 <fail+0x4> + 80002cc8: 00156513 ori a0,a0,1 + 80002ccc: 00000073 ecall + +0000000080002cd0 <pass>: + 80002cd0: 00100513 li a0,1 + 80002cd4: 00000073 ecall + 80002cd8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-andi.elf b/test/riscv/tests/rv64ui-v-andi.elf Binary files differnew file mode 100644 index 00000000..02ec3d50 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-andi.elf diff --git a/test/riscv/tests/rv64ui-v-auipc.dump b/test/riscv/tests/rv64ui-v-auipc.dump new file mode 100644 index 00000000..bfa19dda --- /dev/null +++ b/test/riscv/tests/rv64ui-v-auipc.dump @@ -0,0 +1,859 @@ + +rv64ui-v-auipc: 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,sbadaddr + 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: 6d068693 addi a3,a3,1744 # 80002b28 <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: 70460613 addi a2,a2,1796 # 80002bb8 <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: 6cc60613 addi a2,a2,1740 # 80002bd0 <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: 61c68693 addi a3,a3,1564 # 80002b70 <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: 63868693 addi a3,a3,1592 # 80002ca8 <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: 5b860613 addi a2,a2,1464 # 80002c80 <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: 4ec68693 addi a3,a3,1260 # 80002cd8 <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: 40c68693 addi a3,a3,1036 # 80002c48 <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: 39c68693 addi a3,a3,924 # 80002c10 <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: 02a00793 li a5,42 + 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: 0962a7b7 lui a5,0x962a + 80002a70: 000805b7 lui a1,0x80 + 80002a74: af278793 addi a5,a5,-1294 # 9629af2 <_start-0x769d650e> + 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: 00002517 auipc a0,0x2 + 80002acc: 71c50513 addi a0,a0,1820 # 800051e4 <begin_signature+0x21e4> + 80002ad0: 004005ef jal a1,80002ad4 <userstart+0xc> + 80002ad4: 40b50533 sub a0,a0,a1 + 80002ad8: 00002eb7 lui t4,0x2 + 80002adc: 710e8e9b addiw t4,t4,1808 + 80002ae0: 00200193 li gp,2 + 80002ae4: 03d51463 bne a0,t4,80002b0c <fail> + +0000000080002ae8 <test_3>: + 80002ae8: ffffe517 auipc a0,0xffffe + 80002aec: 8fc50513 addi a0,a0,-1796 # 800003e4 <trap_entry+0x320> + 80002af0: 004005ef jal a1,80002af4 <test_3+0xc> + 80002af4: 40b50533 sub a0,a0,a1 + 80002af8: ffffeeb7 lui t4,0xffffe + 80002afc: 8f0e8e9b addiw t4,t4,-1808 + 80002b00: 00300193 li gp,3 + 80002b04: 01d51463 bne a0,t4,80002b0c <fail> + 80002b08: 00301a63 bne zero,gp,80002b1c <pass> + +0000000080002b0c <fail>: + 80002b0c: 00119513 slli a0,gp,0x1 + 80002b10: 00050063 beqz a0,80002b10 <fail+0x4> + 80002b14: 00156513 ori a0,a0,1 + 80002b18: 00000073 ecall + +0000000080002b1c <pass>: + 80002b1c: 00100513 li a0,1 + 80002b20: 00000073 ecall + 80002b24: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-auipc.elf b/test/riscv/tests/rv64ui-v-auipc.elf Binary files differnew file mode 100644 index 00000000..e0fc7d11 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-auipc.elf diff --git a/test/riscv/tests/rv64ui-v-beq.dump b/test/riscv/tests/rv64ui-v-beq.dump new file mode 100644 index 00000000..18ece1e2 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-beq.dump @@ -0,0 +1,1054 @@ + +rv64ui-v-beq: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 95068693 addi a3,a3,-1712 # 80002da8 <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: 98460613 addi a2,a2,-1660 # 80002e38 <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: 94c60613 addi a2,a2,-1716 # 80002e50 <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: 89c68693 addi a3,a3,-1892 # 80002df0 <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: 8b868693 addi a3,a3,-1864 # 80002f28 <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: 83860613 addi a2,a2,-1992 # 80002f00 <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: 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: 76c68693 addi a3,a3,1900 # 80002f58 <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: 68c68693 addi a3,a3,1676 # 80002ec8 <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: 61c68693 addi a3,a3,1564 # 80002e90 <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: 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: 03400793 li a5,52 + 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: 029747b7 lui a5,0x2974 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 93378793 addi a5,a5,-1741 # 2973933 <_start-0x7d68c6cd> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00000113 li sp,0 + 80002ad4: 00208663 beq ra,sp,80002ae0 <userstart+0x18> + 80002ad8: 2a301863 bne zero,gp,80002d88 <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe208ee3 beq ra,sp,80002adc <userstart+0x14> + 80002ae4: 2a301263 bne zero,gp,80002d88 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: 00100093 li ra,1 + 80002af0: 00100113 li sp,1 + 80002af4: 00208663 beq ra,sp,80002b00 <test_3+0x18> + 80002af8: 28301863 bne zero,gp,80002d88 <fail> + 80002afc: 00301663 bne zero,gp,80002b08 <test_4> + 80002b00: fe208ee3 beq ra,sp,80002afc <test_3+0x14> + 80002b04: 28301263 bne zero,gp,80002d88 <fail> + +0000000080002b08 <test_4>: + 80002b08: 00400193 li gp,4 + 80002b0c: fff00093 li ra,-1 + 80002b10: fff00113 li sp,-1 + 80002b14: 00208663 beq ra,sp,80002b20 <test_4+0x18> + 80002b18: 26301863 bne zero,gp,80002d88 <fail> + 80002b1c: 00301663 bne zero,gp,80002b28 <test_5> + 80002b20: fe208ee3 beq ra,sp,80002b1c <test_4+0x14> + 80002b24: 26301263 bne zero,gp,80002d88 <fail> + +0000000080002b28 <test_5>: + 80002b28: 00500193 li gp,5 + 80002b2c: 00000093 li ra,0 + 80002b30: 00100113 li sp,1 + 80002b34: 00208463 beq ra,sp,80002b3c <test_5+0x14> + 80002b38: 00301463 bne zero,gp,80002b40 <test_5+0x18> + 80002b3c: 24301663 bne zero,gp,80002d88 <fail> + 80002b40: fe208ee3 beq ra,sp,80002b3c <test_5+0x14> + +0000000080002b44 <test_6>: + 80002b44: 00600193 li gp,6 + 80002b48: 00100093 li ra,1 + 80002b4c: 00000113 li sp,0 + 80002b50: 00208463 beq ra,sp,80002b58 <test_6+0x14> + 80002b54: 00301463 bne zero,gp,80002b5c <test_6+0x18> + 80002b58: 22301863 bne zero,gp,80002d88 <fail> + 80002b5c: fe208ee3 beq ra,sp,80002b58 <test_6+0x14> + +0000000080002b60 <test_7>: + 80002b60: 00700193 li gp,7 + 80002b64: fff00093 li ra,-1 + 80002b68: 00100113 li sp,1 + 80002b6c: 00208463 beq ra,sp,80002b74 <test_7+0x14> + 80002b70: 00301463 bne zero,gp,80002b78 <test_7+0x18> + 80002b74: 20301a63 bne zero,gp,80002d88 <fail> + 80002b78: fe208ee3 beq ra,sp,80002b74 <test_7+0x14> + +0000000080002b7c <test_8>: + 80002b7c: 00800193 li gp,8 + 80002b80: 00100093 li ra,1 + 80002b84: fff00113 li sp,-1 + 80002b88: 00208463 beq ra,sp,80002b90 <test_8+0x14> + 80002b8c: 00301463 bne zero,gp,80002b94 <test_8+0x18> + 80002b90: 1e301c63 bne zero,gp,80002d88 <fail> + 80002b94: fe208ee3 beq ra,sp,80002b90 <test_8+0x14> + +0000000080002b98 <test_9>: + 80002b98: 00900193 li gp,9 + 80002b9c: 00000213 li tp,0 + 80002ba0: 00000093 li ra,0 + 80002ba4: fff00113 li sp,-1 + 80002ba8: 1e208063 beq ra,sp,80002d88 <fail> + 80002bac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bb0: 00200293 li t0,2 + 80002bb4: fe5216e3 bne tp,t0,80002ba0 <test_9+0x8> + +0000000080002bb8 <test_10>: + 80002bb8: 00a00193 li gp,10 + 80002bbc: 00000213 li tp,0 + 80002bc0: 00000093 li ra,0 + 80002bc4: fff00113 li sp,-1 + 80002bc8: 00000013 nop + 80002bcc: 1a208e63 beq ra,sp,80002d88 <fail> + 80002bd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd4: 00200293 li t0,2 + 80002bd8: fe5214e3 bne tp,t0,80002bc0 <test_10+0x8> + +0000000080002bdc <test_11>: + 80002bdc: 00b00193 li gp,11 + 80002be0: 00000213 li tp,0 + 80002be4: 00000093 li ra,0 + 80002be8: fff00113 li sp,-1 + 80002bec: 00000013 nop + 80002bf0: 00000013 nop + 80002bf4: 18208a63 beq ra,sp,80002d88 <fail> + 80002bf8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bfc: 00200293 li t0,2 + 80002c00: fe5212e3 bne tp,t0,80002be4 <test_11+0x8> + +0000000080002c04 <test_12>: + 80002c04: 00c00193 li gp,12 + 80002c08: 00000213 li tp,0 + 80002c0c: 00000093 li ra,0 + 80002c10: 00000013 nop + 80002c14: fff00113 li sp,-1 + 80002c18: 16208863 beq ra,sp,80002d88 <fail> + 80002c1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c20: 00200293 li t0,2 + 80002c24: fe5214e3 bne tp,t0,80002c0c <test_12+0x8> + +0000000080002c28 <test_13>: + 80002c28: 00d00193 li gp,13 + 80002c2c: 00000213 li tp,0 + 80002c30: 00000093 li ra,0 + 80002c34: 00000013 nop + 80002c38: fff00113 li sp,-1 + 80002c3c: 00000013 nop + 80002c40: 14208463 beq ra,sp,80002d88 <fail> + 80002c44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c48: 00200293 li t0,2 + 80002c4c: fe5212e3 bne tp,t0,80002c30 <test_13+0x8> + +0000000080002c50 <test_14>: + 80002c50: 00e00193 li gp,14 + 80002c54: 00000213 li tp,0 + 80002c58: 00000093 li ra,0 + 80002c5c: 00000013 nop + 80002c60: 00000013 nop + 80002c64: fff00113 li sp,-1 + 80002c68: 12208063 beq ra,sp,80002d88 <fail> + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5212e3 bne tp,t0,80002c58 <test_14+0x8> + +0000000080002c78 <test_15>: + 80002c78: 00f00193 li gp,15 + 80002c7c: 00000213 li tp,0 + 80002c80: 00000093 li ra,0 + 80002c84: fff00113 li sp,-1 + 80002c88: 10208063 beq ra,sp,80002d88 <fail> + 80002c8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c90: 00200293 li t0,2 + 80002c94: fe5216e3 bne tp,t0,80002c80 <test_15+0x8> + +0000000080002c98 <test_16>: + 80002c98: 01000193 li gp,16 + 80002c9c: 00000213 li tp,0 + 80002ca0: 00000093 li ra,0 + 80002ca4: fff00113 li sp,-1 + 80002ca8: 00000013 nop + 80002cac: 0c208e63 beq ra,sp,80002d88 <fail> + 80002cb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cb4: 00200293 li t0,2 + 80002cb8: fe5214e3 bne tp,t0,80002ca0 <test_16+0x8> + +0000000080002cbc <test_17>: + 80002cbc: 01100193 li gp,17 + 80002cc0: 00000213 li tp,0 + 80002cc4: 00000093 li ra,0 + 80002cc8: fff00113 li sp,-1 + 80002ccc: 00000013 nop + 80002cd0: 00000013 nop + 80002cd4: 0a208a63 beq ra,sp,80002d88 <fail> + 80002cd8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cdc: 00200293 li t0,2 + 80002ce0: fe5212e3 bne tp,t0,80002cc4 <test_17+0x8> + +0000000080002ce4 <test_18>: + 80002ce4: 01200193 li gp,18 + 80002ce8: 00000213 li tp,0 + 80002cec: 00000093 li ra,0 + 80002cf0: 00000013 nop + 80002cf4: fff00113 li sp,-1 + 80002cf8: 08208863 beq ra,sp,80002d88 <fail> + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fe5214e3 bne tp,t0,80002cec <test_18+0x8> + +0000000080002d08 <test_19>: + 80002d08: 01300193 li gp,19 + 80002d0c: 00000213 li tp,0 + 80002d10: 00000093 li ra,0 + 80002d14: 00000013 nop + 80002d18: fff00113 li sp,-1 + 80002d1c: 00000013 nop + 80002d20: 06208463 beq ra,sp,80002d88 <fail> + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5212e3 bne tp,t0,80002d10 <test_19+0x8> + +0000000080002d30 <test_20>: + 80002d30: 01400193 li gp,20 + 80002d34: 00000213 li tp,0 + 80002d38: 00000093 li ra,0 + 80002d3c: 00000013 nop + 80002d40: 00000013 nop + 80002d44: fff00113 li sp,-1 + 80002d48: 04208063 beq ra,sp,80002d88 <fail> + 80002d4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d50: 00200293 li t0,2 + 80002d54: fe5212e3 bne tp,t0,80002d38 <test_20+0x8> + +0000000080002d58 <test_21>: + 80002d58: 00100093 li ra,1 + 80002d5c: 00000a63 beqz zero,80002d70 <test_21+0x18> + 80002d60: 00108093 addi ra,ra,1 + 80002d64: 00108093 addi ra,ra,1 + 80002d68: 00108093 addi ra,ra,1 + 80002d6c: 00108093 addi ra,ra,1 + 80002d70: 00108093 addi ra,ra,1 + 80002d74: 00108093 addi ra,ra,1 + 80002d78: 00300e93 li t4,3 + 80002d7c: 01500193 li gp,21 + 80002d80: 01d09463 bne ra,t4,80002d88 <fail> + 80002d84: 00301a63 bne zero,gp,80002d98 <pass> + +0000000080002d88 <fail>: + 80002d88: 00119513 slli a0,gp,0x1 + 80002d8c: 00050063 beqz a0,80002d8c <fail+0x4> + 80002d90: 00156513 ori a0,a0,1 + 80002d94: 00000073 ecall + +0000000080002d98 <pass>: + 80002d98: 00100513 li a0,1 + 80002d9c: 00000073 ecall + 80002da0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-beq.elf b/test/riscv/tests/rv64ui-v-beq.elf Binary files differnew file mode 100644 index 00000000..a64100b1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-beq.elf diff --git a/test/riscv/tests/rv64ui-v-bge.dump b/test/riscv/tests/rv64ui-v-bge.dump new file mode 100644 index 00000000..58215260 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bge.dump @@ -0,0 +1,1084 @@ + +rv64ui-v-bge: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 9b068693 addi a3,a3,-1616 # 80002e08 <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: 9e460613 addi a2,a2,-1564 # 80002e98 <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: 9ac60613 addi a2,a2,-1620 # 80002eb0 <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: 8fc68693 addi a3,a3,-1796 # 80002e50 <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: 91868693 addi a3,a3,-1768 # 80002f88 <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: 89860613 addi a2,a2,-1896 # 80002f60 <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: 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: 7cc68693 addi a3,a3,1996 # 80002fb8 <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: 6ec68693 addi a3,a3,1772 # 80002f28 <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: 67c68693 addi a3,a3,1660 # 80002ef0 <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: 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: 01f00793 li a5,31 + 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: 05e177b7 lui a5,0x5e17 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 4f578793 addi a5,a5,1269 # 5e174f5 <_start-0x7a1e8b0b> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00000113 li sp,0 + 80002ad4: 0020d663 ble sp,ra,80002ae0 <userstart+0x18> + 80002ad8: 30301863 bne zero,gp,80002de8 <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe20dee3 ble sp,ra,80002adc <userstart+0x14> + 80002ae4: 30301263 bne zero,gp,80002de8 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: 00100093 li ra,1 + 80002af0: 00100113 li sp,1 + 80002af4: 0020d663 ble sp,ra,80002b00 <test_3+0x18> + 80002af8: 2e301863 bne zero,gp,80002de8 <fail> + 80002afc: 00301663 bne zero,gp,80002b08 <test_4> + 80002b00: fe20dee3 ble sp,ra,80002afc <test_3+0x14> + 80002b04: 2e301263 bne zero,gp,80002de8 <fail> + +0000000080002b08 <test_4>: + 80002b08: 00400193 li gp,4 + 80002b0c: fff00093 li ra,-1 + 80002b10: fff00113 li sp,-1 + 80002b14: 0020d663 ble sp,ra,80002b20 <test_4+0x18> + 80002b18: 2c301863 bne zero,gp,80002de8 <fail> + 80002b1c: 00301663 bne zero,gp,80002b28 <test_5> + 80002b20: fe20dee3 ble sp,ra,80002b1c <test_4+0x14> + 80002b24: 2c301263 bne zero,gp,80002de8 <fail> + +0000000080002b28 <test_5>: + 80002b28: 00500193 li gp,5 + 80002b2c: 00100093 li ra,1 + 80002b30: 00000113 li sp,0 + 80002b34: 0020d663 ble sp,ra,80002b40 <test_5+0x18> + 80002b38: 2a301863 bne zero,gp,80002de8 <fail> + 80002b3c: 00301663 bne zero,gp,80002b48 <test_6> + 80002b40: fe20dee3 ble sp,ra,80002b3c <test_5+0x14> + 80002b44: 2a301263 bne zero,gp,80002de8 <fail> + +0000000080002b48 <test_6>: + 80002b48: 00600193 li gp,6 + 80002b4c: 00100093 li ra,1 + 80002b50: fff00113 li sp,-1 + 80002b54: 0020d663 ble sp,ra,80002b60 <test_6+0x18> + 80002b58: 28301863 bne zero,gp,80002de8 <fail> + 80002b5c: 00301663 bne zero,gp,80002b68 <test_7> + 80002b60: fe20dee3 ble sp,ra,80002b5c <test_6+0x14> + 80002b64: 28301263 bne zero,gp,80002de8 <fail> + +0000000080002b68 <test_7>: + 80002b68: 00700193 li gp,7 + 80002b6c: fff00093 li ra,-1 + 80002b70: ffe00113 li sp,-2 + 80002b74: 0020d663 ble sp,ra,80002b80 <test_7+0x18> + 80002b78: 26301863 bne zero,gp,80002de8 <fail> + 80002b7c: 00301663 bne zero,gp,80002b88 <test_8> + 80002b80: fe20dee3 ble sp,ra,80002b7c <test_7+0x14> + 80002b84: 26301263 bne zero,gp,80002de8 <fail> + +0000000080002b88 <test_8>: + 80002b88: 00800193 li gp,8 + 80002b8c: 00000093 li ra,0 + 80002b90: 00100113 li sp,1 + 80002b94: 0020d463 ble sp,ra,80002b9c <test_8+0x14> + 80002b98: 00301463 bne zero,gp,80002ba0 <test_8+0x18> + 80002b9c: 24301663 bne zero,gp,80002de8 <fail> + 80002ba0: fe20dee3 ble sp,ra,80002b9c <test_8+0x14> + +0000000080002ba4 <test_9>: + 80002ba4: 00900193 li gp,9 + 80002ba8: fff00093 li ra,-1 + 80002bac: 00100113 li sp,1 + 80002bb0: 0020d463 ble sp,ra,80002bb8 <test_9+0x14> + 80002bb4: 00301463 bne zero,gp,80002bbc <test_9+0x18> + 80002bb8: 22301863 bne zero,gp,80002de8 <fail> + 80002bbc: fe20dee3 ble sp,ra,80002bb8 <test_9+0x14> + +0000000080002bc0 <test_10>: + 80002bc0: 00a00193 li gp,10 + 80002bc4: ffe00093 li ra,-2 + 80002bc8: fff00113 li sp,-1 + 80002bcc: 0020d463 ble sp,ra,80002bd4 <test_10+0x14> + 80002bd0: 00301463 bne zero,gp,80002bd8 <test_10+0x18> + 80002bd4: 20301a63 bne zero,gp,80002de8 <fail> + 80002bd8: fe20dee3 ble sp,ra,80002bd4 <test_10+0x14> + +0000000080002bdc <test_11>: + 80002bdc: 00b00193 li gp,11 + 80002be0: ffe00093 li ra,-2 + 80002be4: 00100113 li sp,1 + 80002be8: 0020d463 ble sp,ra,80002bf0 <test_11+0x14> + 80002bec: 00301463 bne zero,gp,80002bf4 <test_11+0x18> + 80002bf0: 1e301c63 bne zero,gp,80002de8 <fail> + 80002bf4: fe20dee3 ble sp,ra,80002bf0 <test_11+0x14> + +0000000080002bf8 <test_12>: + 80002bf8: 00c00193 li gp,12 + 80002bfc: 00000213 li tp,0 + 80002c00: fff00093 li ra,-1 + 80002c04: 00000113 li sp,0 + 80002c08: 1e20d063 ble sp,ra,80002de8 <fail> + 80002c0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c10: 00200293 li t0,2 + 80002c14: fe5216e3 bne tp,t0,80002c00 <test_12+0x8> + +0000000080002c18 <test_13>: + 80002c18: 00d00193 li gp,13 + 80002c1c: 00000213 li tp,0 + 80002c20: fff00093 li ra,-1 + 80002c24: 00000113 li sp,0 + 80002c28: 00000013 nop + 80002c2c: 1a20de63 ble sp,ra,80002de8 <fail> + 80002c30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c34: 00200293 li t0,2 + 80002c38: fe5214e3 bne tp,t0,80002c20 <test_13+0x8> + +0000000080002c3c <test_14>: + 80002c3c: 00e00193 li gp,14 + 80002c40: 00000213 li tp,0 + 80002c44: fff00093 li ra,-1 + 80002c48: 00000113 li sp,0 + 80002c4c: 00000013 nop + 80002c50: 00000013 nop + 80002c54: 1820da63 ble sp,ra,80002de8 <fail> + 80002c58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c5c: 00200293 li t0,2 + 80002c60: fe5212e3 bne tp,t0,80002c44 <test_14+0x8> + +0000000080002c64 <test_15>: + 80002c64: 00f00193 li gp,15 + 80002c68: 00000213 li tp,0 + 80002c6c: fff00093 li ra,-1 + 80002c70: 00000013 nop + 80002c74: 00000113 li sp,0 + 80002c78: 1620d863 ble sp,ra,80002de8 <fail> + 80002c7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c80: 00200293 li t0,2 + 80002c84: fe5214e3 bne tp,t0,80002c6c <test_15+0x8> + +0000000080002c88 <test_16>: + 80002c88: 01000193 li gp,16 + 80002c8c: 00000213 li tp,0 + 80002c90: fff00093 li ra,-1 + 80002c94: 00000013 nop + 80002c98: 00000113 li sp,0 + 80002c9c: 00000013 nop + 80002ca0: 1420d463 ble sp,ra,80002de8 <fail> + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5212e3 bne tp,t0,80002c90 <test_16+0x8> + +0000000080002cb0 <test_17>: + 80002cb0: 01100193 li gp,17 + 80002cb4: 00000213 li tp,0 + 80002cb8: fff00093 li ra,-1 + 80002cbc: 00000013 nop + 80002cc0: 00000013 nop + 80002cc4: 00000113 li sp,0 + 80002cc8: 1220d063 ble sp,ra,80002de8 <fail> + 80002ccc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd0: 00200293 li t0,2 + 80002cd4: fe5212e3 bne tp,t0,80002cb8 <test_17+0x8> + +0000000080002cd8 <test_18>: + 80002cd8: 01200193 li gp,18 + 80002cdc: 00000213 li tp,0 + 80002ce0: fff00093 li ra,-1 + 80002ce4: 00000113 li sp,0 + 80002ce8: 1020d063 ble sp,ra,80002de8 <fail> + 80002cec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf0: 00200293 li t0,2 + 80002cf4: fe5216e3 bne tp,t0,80002ce0 <test_18+0x8> + +0000000080002cf8 <test_19>: + 80002cf8: 01300193 li gp,19 + 80002cfc: 00000213 li tp,0 + 80002d00: fff00093 li ra,-1 + 80002d04: 00000113 li sp,0 + 80002d08: 00000013 nop + 80002d0c: 0c20de63 ble sp,ra,80002de8 <fail> + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fe5214e3 bne tp,t0,80002d00 <test_19+0x8> + +0000000080002d1c <test_20>: + 80002d1c: 01400193 li gp,20 + 80002d20: 00000213 li tp,0 + 80002d24: fff00093 li ra,-1 + 80002d28: 00000113 li sp,0 + 80002d2c: 00000013 nop + 80002d30: 00000013 nop + 80002d34: 0a20da63 ble sp,ra,80002de8 <fail> + 80002d38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d3c: 00200293 li t0,2 + 80002d40: fe5212e3 bne tp,t0,80002d24 <test_20+0x8> + +0000000080002d44 <test_21>: + 80002d44: 01500193 li gp,21 + 80002d48: 00000213 li tp,0 + 80002d4c: fff00093 li ra,-1 + 80002d50: 00000013 nop + 80002d54: 00000113 li sp,0 + 80002d58: 0820d863 ble sp,ra,80002de8 <fail> + 80002d5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d60: 00200293 li t0,2 + 80002d64: fe5214e3 bne tp,t0,80002d4c <test_21+0x8> + +0000000080002d68 <test_22>: + 80002d68: 01600193 li gp,22 + 80002d6c: 00000213 li tp,0 + 80002d70: fff00093 li ra,-1 + 80002d74: 00000013 nop + 80002d78: 00000113 li sp,0 + 80002d7c: 00000013 nop + 80002d80: 0620d463 ble sp,ra,80002de8 <fail> + 80002d84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d88: 00200293 li t0,2 + 80002d8c: fe5212e3 bne tp,t0,80002d70 <test_22+0x8> + +0000000080002d90 <test_23>: + 80002d90: 01700193 li gp,23 + 80002d94: 00000213 li tp,0 + 80002d98: fff00093 li ra,-1 + 80002d9c: 00000013 nop + 80002da0: 00000013 nop + 80002da4: 00000113 li sp,0 + 80002da8: 0420d063 ble sp,ra,80002de8 <fail> + 80002dac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db0: 00200293 li t0,2 + 80002db4: fe5212e3 bne tp,t0,80002d98 <test_23+0x8> + +0000000080002db8 <test_24>: + 80002db8: 00100093 li ra,1 + 80002dbc: 0000da63 bgez ra,80002dd0 <test_24+0x18> + 80002dc0: 00108093 addi ra,ra,1 + 80002dc4: 00108093 addi ra,ra,1 + 80002dc8: 00108093 addi ra,ra,1 + 80002dcc: 00108093 addi ra,ra,1 + 80002dd0: 00108093 addi ra,ra,1 + 80002dd4: 00108093 addi ra,ra,1 + 80002dd8: 00300e93 li t4,3 + 80002ddc: 01800193 li gp,24 + 80002de0: 01d09463 bne ra,t4,80002de8 <fail> + 80002de4: 00301a63 bne zero,gp,80002df8 <pass> + +0000000080002de8 <fail>: + 80002de8: 00119513 slli a0,gp,0x1 + 80002dec: 00050063 beqz a0,80002dec <fail+0x4> + 80002df0: 00156513 ori a0,a0,1 + 80002df4: 00000073 ecall + +0000000080002df8 <pass>: + 80002df8: 00100513 li a0,1 + 80002dfc: 00000073 ecall + 80002e00: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-bge.elf b/test/riscv/tests/rv64ui-v-bge.elf Binary files differnew file mode 100644 index 00000000..74af9d1f --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bge.elf diff --git a/test/riscv/tests/rv64ui-v-bgeu.dump b/test/riscv/tests/rv64ui-v-bgeu.dump new file mode 100644 index 00000000..9544e42f --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bgeu.dump @@ -0,0 +1,1138 @@ + +rv64ui-v-bgeu: 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,sbadaddr + 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 <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: 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: a8868693 addi a3,a3,-1400 # 80002ee0 <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: abc60613 addi a2,a2,-1348 # 80002f70 <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: a8460613 addi a2,a2,-1404 # 80002f88 <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: 9d468693 addi a3,a3,-1580 # 80002f28 <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: 9f068693 addi a3,a3,-1552 # 80003060 <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: 97060613 addi a2,a2,-1680 # 80003038 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 8a468693 addi a3,a3,-1884 # 80003090 <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: 7c468693 addi a3,a3,1988 # 80003000 <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: 75468693 addi a3,a3,1876 # 80002fc8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 03d00793 li a5,61 + 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: 02e567b7 lui a5,0x2e56 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: eb078793 addi a5,a5,-336 # 2e55eb0 <_start-0x7d1aa150> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00000113 li sp,0 + 80002ad4: 0020f663 bleu sp,ra,80002ae0 <userstart+0x18> + 80002ad8: 3e301463 bne zero,gp,80002ec0 <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe20fee3 bleu sp,ra,80002adc <userstart+0x14> + 80002ae4: 3c301e63 bne zero,gp,80002ec0 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: 00100093 li ra,1 + 80002af0: 00100113 li sp,1 + 80002af4: 0020f663 bleu sp,ra,80002b00 <test_3+0x18> + 80002af8: 3c301463 bne zero,gp,80002ec0 <fail> + 80002afc: 00301663 bne zero,gp,80002b08 <test_4> + 80002b00: fe20fee3 bleu sp,ra,80002afc <test_3+0x14> + 80002b04: 3a301e63 bne zero,gp,80002ec0 <fail> + +0000000080002b08 <test_4>: + 80002b08: 00400193 li gp,4 + 80002b0c: 0010009b addiw ra,zero,1 + 80002b10: 02009093 slli ra,ra,0x20 + 80002b14: fff08093 addi ra,ra,-1 + 80002b18: 0010011b addiw sp,zero,1 + 80002b1c: 02011113 slli sp,sp,0x20 + 80002b20: fff10113 addi sp,sp,-1 + 80002b24: 0020f663 bleu sp,ra,80002b30 <test_4+0x28> + 80002b28: 38301c63 bne zero,gp,80002ec0 <fail> + 80002b2c: 00301663 bne zero,gp,80002b38 <test_5> + 80002b30: fe20fee3 bleu sp,ra,80002b2c <test_4+0x24> + 80002b34: 38301663 bne zero,gp,80002ec0 <fail> + +0000000080002b38 <test_5>: + 80002b38: 00500193 li gp,5 + 80002b3c: 00100093 li ra,1 + 80002b40: 00000113 li sp,0 + 80002b44: 0020f663 bleu sp,ra,80002b50 <test_5+0x18> + 80002b48: 36301c63 bne zero,gp,80002ec0 <fail> + 80002b4c: 00301663 bne zero,gp,80002b58 <test_6> + 80002b50: fe20fee3 bleu sp,ra,80002b4c <test_5+0x14> + 80002b54: 36301663 bne zero,gp,80002ec0 <fail> + +0000000080002b58 <test_6>: + 80002b58: 00600193 li gp,6 + 80002b5c: 0010009b addiw ra,zero,1 + 80002b60: 02009093 slli ra,ra,0x20 + 80002b64: fff08093 addi ra,ra,-1 + 80002b68: 0010011b addiw sp,zero,1 + 80002b6c: 02011113 slli sp,sp,0x20 + 80002b70: ffe10113 addi sp,sp,-2 + 80002b74: 0020f663 bleu sp,ra,80002b80 <test_6+0x28> + 80002b78: 34301463 bne zero,gp,80002ec0 <fail> + 80002b7c: 00301663 bne zero,gp,80002b88 <test_7> + 80002b80: fe20fee3 bleu sp,ra,80002b7c <test_6+0x24> + 80002b84: 32301e63 bne zero,gp,80002ec0 <fail> + +0000000080002b88 <test_7>: + 80002b88: 00700193 li gp,7 + 80002b8c: 0010009b addiw ra,zero,1 + 80002b90: 02009093 slli ra,ra,0x20 + 80002b94: fff08093 addi ra,ra,-1 + 80002b98: 00000113 li sp,0 + 80002b9c: 0020f663 bleu sp,ra,80002ba8 <test_7+0x20> + 80002ba0: 32301063 bne zero,gp,80002ec0 <fail> + 80002ba4: 00301663 bne zero,gp,80002bb0 <test_8> + 80002ba8: fe20fee3 bleu sp,ra,80002ba4 <test_7+0x1c> + 80002bac: 30301a63 bne zero,gp,80002ec0 <fail> + +0000000080002bb0 <test_8>: + 80002bb0: 00800193 li gp,8 + 80002bb4: 00000093 li ra,0 + 80002bb8: 00100113 li sp,1 + 80002bbc: 0020f463 bleu sp,ra,80002bc4 <test_8+0x14> + 80002bc0: 00301463 bne zero,gp,80002bc8 <test_8+0x18> + 80002bc4: 2e301e63 bne zero,gp,80002ec0 <fail> + 80002bc8: fe20fee3 bleu sp,ra,80002bc4 <test_8+0x14> + +0000000080002bcc <test_9>: + 80002bcc: 00900193 li gp,9 + 80002bd0: 0010009b addiw ra,zero,1 + 80002bd4: 02009093 slli ra,ra,0x20 + 80002bd8: ffe08093 addi ra,ra,-2 + 80002bdc: 0010011b addiw sp,zero,1 + 80002be0: 02011113 slli sp,sp,0x20 + 80002be4: fff10113 addi sp,sp,-1 + 80002be8: 0020f463 bleu sp,ra,80002bf0 <test_9+0x24> + 80002bec: 00301463 bne zero,gp,80002bf4 <test_9+0x28> + 80002bf0: 2c301863 bne zero,gp,80002ec0 <fail> + 80002bf4: fe20fee3 bleu sp,ra,80002bf0 <test_9+0x24> + +0000000080002bf8 <test_10>: + 80002bf8: 00a00193 li gp,10 + 80002bfc: 00000093 li ra,0 + 80002c00: 0010011b addiw sp,zero,1 + 80002c04: 02011113 slli sp,sp,0x20 + 80002c08: fff10113 addi sp,sp,-1 + 80002c0c: 0020f463 bleu sp,ra,80002c14 <test_10+0x1c> + 80002c10: 00301463 bne zero,gp,80002c18 <test_10+0x20> + 80002c14: 2a301663 bne zero,gp,80002ec0 <fail> + 80002c18: fe20fee3 bleu sp,ra,80002c14 <test_10+0x1c> + +0000000080002c1c <test_11>: + 80002c1c: 00b00193 li gp,11 + 80002c20: 800000b7 lui ra,0x80000 + 80002c24: fff0809b addiw ra,ra,-1 + 80002c28: 0010011b addiw sp,zero,1 + 80002c2c: 01f11113 slli sp,sp,0x1f + 80002c30: 0020f463 bleu sp,ra,80002c38 <test_11+0x1c> + 80002c34: 00301463 bne zero,gp,80002c3c <test_11+0x20> + 80002c38: 28301463 bne zero,gp,80002ec0 <fail> + 80002c3c: fe20fee3 bleu sp,ra,80002c38 <test_11+0x1c> + +0000000080002c40 <test_12>: + 80002c40: 00c00193 li gp,12 + 80002c44: 00000213 li tp,0 + 80002c48: 00f0009b addiw ra,zero,15 + 80002c4c: 01c09093 slli ra,ra,0x1c + 80002c50: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffff780f> + 80002c54: 00f0011b addiw sp,zero,15 + 80002c58: 01c11113 slli sp,sp,0x1c + 80002c5c: 2620f263 bleu sp,ra,80002ec0 <fail> + 80002c60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c64: 00200293 li t0,2 + 80002c68: fe5210e3 bne tp,t0,80002c48 <test_12+0x8> + +0000000080002c6c <test_13>: + 80002c6c: 00d00193 li gp,13 + 80002c70: 00000213 li tp,0 + 80002c74: 00f0009b addiw ra,zero,15 + 80002c78: 01c09093 slli ra,ra,0x1c + 80002c7c: fff08093 addi ra,ra,-1 + 80002c80: 00f0011b addiw sp,zero,15 + 80002c84: 01c11113 slli sp,sp,0x1c + 80002c88: 00000013 nop + 80002c8c: 2220fa63 bleu sp,ra,80002ec0 <fail> + 80002c90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c94: 00200293 li t0,2 + 80002c98: fc521ee3 bne tp,t0,80002c74 <test_13+0x8> + +0000000080002c9c <test_14>: + 80002c9c: 00e00193 li gp,14 + 80002ca0: 00000213 li tp,0 + 80002ca4: 00f0009b addiw ra,zero,15 + 80002ca8: 01c09093 slli ra,ra,0x1c + 80002cac: fff08093 addi ra,ra,-1 + 80002cb0: 00f0011b addiw sp,zero,15 + 80002cb4: 01c11113 slli sp,sp,0x1c + 80002cb8: 00000013 nop + 80002cbc: 00000013 nop + 80002cc0: 2020f063 bleu sp,ra,80002ec0 <fail> + 80002cc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc8: 00200293 li t0,2 + 80002ccc: fc521ce3 bne tp,t0,80002ca4 <test_14+0x8> + +0000000080002cd0 <test_15>: + 80002cd0: 00f00193 li gp,15 + 80002cd4: 00000213 li tp,0 + 80002cd8: 00f0009b addiw ra,zero,15 + 80002cdc: 01c09093 slli ra,ra,0x1c + 80002ce0: fff08093 addi ra,ra,-1 + 80002ce4: 00000013 nop + 80002ce8: 00f0011b addiw sp,zero,15 + 80002cec: 01c11113 slli sp,sp,0x1c + 80002cf0: 1c20f863 bleu sp,ra,80002ec0 <fail> + 80002cf4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf8: 00200293 li t0,2 + 80002cfc: fc521ee3 bne tp,t0,80002cd8 <test_15+0x8> + +0000000080002d00 <test_16>: + 80002d00: 01000193 li gp,16 + 80002d04: 00000213 li tp,0 + 80002d08: 00f0009b addiw ra,zero,15 + 80002d0c: 01c09093 slli ra,ra,0x1c + 80002d10: fff08093 addi ra,ra,-1 + 80002d14: 00000013 nop + 80002d18: 00f0011b addiw sp,zero,15 + 80002d1c: 01c11113 slli sp,sp,0x1c + 80002d20: 00000013 nop + 80002d24: 1820fe63 bleu sp,ra,80002ec0 <fail> + 80002d28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d2c: 00200293 li t0,2 + 80002d30: fc521ce3 bne tp,t0,80002d08 <test_16+0x8> + +0000000080002d34 <test_17>: + 80002d34: 01100193 li gp,17 + 80002d38: 00000213 li tp,0 + 80002d3c: 00f0009b addiw ra,zero,15 + 80002d40: 01c09093 slli ra,ra,0x1c + 80002d44: fff08093 addi ra,ra,-1 + 80002d48: 00000013 nop + 80002d4c: 00000013 nop + 80002d50: 00f0011b addiw sp,zero,15 + 80002d54: 01c11113 slli sp,sp,0x1c + 80002d58: 1620f463 bleu sp,ra,80002ec0 <fail> + 80002d5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d60: 00200293 li t0,2 + 80002d64: fc521ce3 bne tp,t0,80002d3c <test_17+0x8> + +0000000080002d68 <test_18>: + 80002d68: 01200193 li gp,18 + 80002d6c: 00000213 li tp,0 + 80002d70: 00f0009b addiw ra,zero,15 + 80002d74: 01c09093 slli ra,ra,0x1c + 80002d78: fff08093 addi ra,ra,-1 + 80002d7c: 00f0011b addiw sp,zero,15 + 80002d80: 01c11113 slli sp,sp,0x1c + 80002d84: 1220fe63 bleu sp,ra,80002ec0 <fail> + 80002d88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d8c: 00200293 li t0,2 + 80002d90: fe5210e3 bne tp,t0,80002d70 <test_18+0x8> + +0000000080002d94 <test_19>: + 80002d94: 01300193 li gp,19 + 80002d98: 00000213 li tp,0 + 80002d9c: 00f0009b addiw ra,zero,15 + 80002da0: 01c09093 slli ra,ra,0x1c + 80002da4: fff08093 addi ra,ra,-1 + 80002da8: 00f0011b addiw sp,zero,15 + 80002dac: 01c11113 slli sp,sp,0x1c + 80002db0: 00000013 nop + 80002db4: 1020f663 bleu sp,ra,80002ec0 <fail> + 80002db8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dbc: 00200293 li t0,2 + 80002dc0: fc521ee3 bne tp,t0,80002d9c <test_19+0x8> + +0000000080002dc4 <test_20>: + 80002dc4: 01400193 li gp,20 + 80002dc8: 00000213 li tp,0 + 80002dcc: 00f0009b addiw ra,zero,15 + 80002dd0: 01c09093 slli ra,ra,0x1c + 80002dd4: fff08093 addi ra,ra,-1 + 80002dd8: 00f0011b addiw sp,zero,15 + 80002ddc: 01c11113 slli sp,sp,0x1c + 80002de0: 00000013 nop + 80002de4: 00000013 nop + 80002de8: 0c20fc63 bleu sp,ra,80002ec0 <fail> + 80002dec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002df0: 00200293 li t0,2 + 80002df4: fc521ce3 bne tp,t0,80002dcc <test_20+0x8> + +0000000080002df8 <test_21>: + 80002df8: 01500193 li gp,21 + 80002dfc: 00000213 li tp,0 + 80002e00: 00f0009b addiw ra,zero,15 + 80002e04: 01c09093 slli ra,ra,0x1c + 80002e08: fff08093 addi ra,ra,-1 + 80002e0c: 00000013 nop + 80002e10: 00f0011b addiw sp,zero,15 + 80002e14: 01c11113 slli sp,sp,0x1c + 80002e18: 0a20f463 bleu sp,ra,80002ec0 <fail> + 80002e1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e20: 00200293 li t0,2 + 80002e24: fc521ee3 bne tp,t0,80002e00 <test_21+0x8> + +0000000080002e28 <test_22>: + 80002e28: 01600193 li gp,22 + 80002e2c: 00000213 li tp,0 + 80002e30: 00f0009b addiw ra,zero,15 + 80002e34: 01c09093 slli ra,ra,0x1c + 80002e38: fff08093 addi ra,ra,-1 + 80002e3c: 00000013 nop + 80002e40: 00f0011b addiw sp,zero,15 + 80002e44: 01c11113 slli sp,sp,0x1c + 80002e48: 00000013 nop + 80002e4c: 0620fa63 bleu sp,ra,80002ec0 <fail> + 80002e50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e54: 00200293 li t0,2 + 80002e58: fc521ce3 bne tp,t0,80002e30 <test_22+0x8> + +0000000080002e5c <test_23>: + 80002e5c: 01700193 li gp,23 + 80002e60: 00000213 li tp,0 + 80002e64: 00f0009b addiw ra,zero,15 + 80002e68: 01c09093 slli ra,ra,0x1c + 80002e6c: fff08093 addi ra,ra,-1 + 80002e70: 00000013 nop + 80002e74: 00000013 nop + 80002e78: 00f0011b addiw sp,zero,15 + 80002e7c: 01c11113 slli sp,sp,0x1c + 80002e80: 0420f063 bleu sp,ra,80002ec0 <fail> + 80002e84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e88: 00200293 li t0,2 + 80002e8c: fc521ce3 bne tp,t0,80002e64 <test_23+0x8> + +0000000080002e90 <test_24>: + 80002e90: 00100093 li ra,1 + 80002e94: 0000fa63 bleu zero,ra,80002ea8 <test_24+0x18> + 80002e98: 00108093 addi ra,ra,1 + 80002e9c: 00108093 addi ra,ra,1 + 80002ea0: 00108093 addi ra,ra,1 + 80002ea4: 00108093 addi ra,ra,1 + 80002ea8: 00108093 addi ra,ra,1 + 80002eac: 00108093 addi ra,ra,1 + 80002eb0: 00300e93 li t4,3 + 80002eb4: 01800193 li gp,24 + 80002eb8: 01d09463 bne ra,t4,80002ec0 <fail> + 80002ebc: 00301a63 bne zero,gp,80002ed0 <pass> + +0000000080002ec0 <fail>: + 80002ec0: 00119513 slli a0,gp,0x1 + 80002ec4: 00050063 beqz a0,80002ec4 <fail+0x4> + 80002ec8: 00156513 ori a0,a0,1 + 80002ecc: 00000073 ecall + +0000000080002ed0 <pass>: + 80002ed0: 00100513 li a0,1 + 80002ed4: 00000073 ecall + 80002ed8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-bgeu.elf b/test/riscv/tests/rv64ui-v-bgeu.elf Binary files differnew file mode 100644 index 00000000..469b8175 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bgeu.elf diff --git a/test/riscv/tests/rv64ui-v-blt.dump b/test/riscv/tests/rv64ui-v-blt.dump new file mode 100644 index 00000000..c0eaae64 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-blt.dump @@ -0,0 +1,1054 @@ + +rv64ui-v-blt: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 95068693 addi a3,a3,-1712 # 80002da8 <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: 98460613 addi a2,a2,-1660 # 80002e38 <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: 94c60613 addi a2,a2,-1716 # 80002e50 <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: 89c68693 addi a3,a3,-1892 # 80002df0 <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: 8b868693 addi a3,a3,-1864 # 80002f28 <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: 83860613 addi a2,a2,-1992 # 80002f00 <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: 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: 76c68693 addi a3,a3,1900 # 80002f58 <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: 68c68693 addi a3,a3,1676 # 80002ec8 <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: 61c68693 addi a3,a3,1564 # 80002e90 <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: 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: 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: 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: 01a3a7b7 lui a5,0x1a3a + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b4178793 addi a5,a5,-1215 # 1a39b41 <_start-0x7e5c64bf> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00100113 li sp,1 + 80002ad4: 0020c663 blt ra,sp,80002ae0 <userstart+0x18> + 80002ad8: 2a301863 bne zero,gp,80002d88 <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe20cee3 blt ra,sp,80002adc <userstart+0x14> + 80002ae4: 2a301263 bne zero,gp,80002d88 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: fff00093 li ra,-1 + 80002af0: 00100113 li sp,1 + 80002af4: 0020c663 blt ra,sp,80002b00 <test_3+0x18> + 80002af8: 28301863 bne zero,gp,80002d88 <fail> + 80002afc: 00301663 bne zero,gp,80002b08 <test_4> + 80002b00: fe20cee3 blt ra,sp,80002afc <test_3+0x14> + 80002b04: 28301263 bne zero,gp,80002d88 <fail> + +0000000080002b08 <test_4>: + 80002b08: 00400193 li gp,4 + 80002b0c: ffe00093 li ra,-2 + 80002b10: fff00113 li sp,-1 + 80002b14: 0020c663 blt ra,sp,80002b20 <test_4+0x18> + 80002b18: 26301863 bne zero,gp,80002d88 <fail> + 80002b1c: 00301663 bne zero,gp,80002b28 <test_5> + 80002b20: fe20cee3 blt ra,sp,80002b1c <test_4+0x14> + 80002b24: 26301263 bne zero,gp,80002d88 <fail> + +0000000080002b28 <test_5>: + 80002b28: 00500193 li gp,5 + 80002b2c: 00100093 li ra,1 + 80002b30: 00000113 li sp,0 + 80002b34: 0020c463 blt ra,sp,80002b3c <test_5+0x14> + 80002b38: 00301463 bne zero,gp,80002b40 <test_5+0x18> + 80002b3c: 24301663 bne zero,gp,80002d88 <fail> + 80002b40: fe20cee3 blt ra,sp,80002b3c <test_5+0x14> + +0000000080002b44 <test_6>: + 80002b44: 00600193 li gp,6 + 80002b48: 00100093 li ra,1 + 80002b4c: fff00113 li sp,-1 + 80002b50: 0020c463 blt ra,sp,80002b58 <test_6+0x14> + 80002b54: 00301463 bne zero,gp,80002b5c <test_6+0x18> + 80002b58: 22301863 bne zero,gp,80002d88 <fail> + 80002b5c: fe20cee3 blt ra,sp,80002b58 <test_6+0x14> + +0000000080002b60 <test_7>: + 80002b60: 00700193 li gp,7 + 80002b64: fff00093 li ra,-1 + 80002b68: ffe00113 li sp,-2 + 80002b6c: 0020c463 blt ra,sp,80002b74 <test_7+0x14> + 80002b70: 00301463 bne zero,gp,80002b78 <test_7+0x18> + 80002b74: 20301a63 bne zero,gp,80002d88 <fail> + 80002b78: fe20cee3 blt ra,sp,80002b74 <test_7+0x14> + +0000000080002b7c <test_8>: + 80002b7c: 00800193 li gp,8 + 80002b80: 00100093 li ra,1 + 80002b84: ffe00113 li sp,-2 + 80002b88: 0020c463 blt ra,sp,80002b90 <test_8+0x14> + 80002b8c: 00301463 bne zero,gp,80002b94 <test_8+0x18> + 80002b90: 1e301c63 bne zero,gp,80002d88 <fail> + 80002b94: fe20cee3 blt ra,sp,80002b90 <test_8+0x14> + +0000000080002b98 <test_9>: + 80002b98: 00900193 li gp,9 + 80002b9c: 00000213 li tp,0 + 80002ba0: 00000093 li ra,0 + 80002ba4: fff00113 li sp,-1 + 80002ba8: 1e20c063 blt ra,sp,80002d88 <fail> + 80002bac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bb0: 00200293 li t0,2 + 80002bb4: fe5216e3 bne tp,t0,80002ba0 <test_9+0x8> + +0000000080002bb8 <test_10>: + 80002bb8: 00a00193 li gp,10 + 80002bbc: 00000213 li tp,0 + 80002bc0: 00000093 li ra,0 + 80002bc4: fff00113 li sp,-1 + 80002bc8: 00000013 nop + 80002bcc: 1a20ce63 blt ra,sp,80002d88 <fail> + 80002bd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd4: 00200293 li t0,2 + 80002bd8: fe5214e3 bne tp,t0,80002bc0 <test_10+0x8> + +0000000080002bdc <test_11>: + 80002bdc: 00b00193 li gp,11 + 80002be0: 00000213 li tp,0 + 80002be4: 00000093 li ra,0 + 80002be8: fff00113 li sp,-1 + 80002bec: 00000013 nop + 80002bf0: 00000013 nop + 80002bf4: 1820ca63 blt ra,sp,80002d88 <fail> + 80002bf8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bfc: 00200293 li t0,2 + 80002c00: fe5212e3 bne tp,t0,80002be4 <test_11+0x8> + +0000000080002c04 <test_12>: + 80002c04: 00c00193 li gp,12 + 80002c08: 00000213 li tp,0 + 80002c0c: 00000093 li ra,0 + 80002c10: 00000013 nop + 80002c14: fff00113 li sp,-1 + 80002c18: 1620c863 blt ra,sp,80002d88 <fail> + 80002c1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c20: 00200293 li t0,2 + 80002c24: fe5214e3 bne tp,t0,80002c0c <test_12+0x8> + +0000000080002c28 <test_13>: + 80002c28: 00d00193 li gp,13 + 80002c2c: 00000213 li tp,0 + 80002c30: 00000093 li ra,0 + 80002c34: 00000013 nop + 80002c38: fff00113 li sp,-1 + 80002c3c: 00000013 nop + 80002c40: 1420c463 blt ra,sp,80002d88 <fail> + 80002c44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c48: 00200293 li t0,2 + 80002c4c: fe5212e3 bne tp,t0,80002c30 <test_13+0x8> + +0000000080002c50 <test_14>: + 80002c50: 00e00193 li gp,14 + 80002c54: 00000213 li tp,0 + 80002c58: 00000093 li ra,0 + 80002c5c: 00000013 nop + 80002c60: 00000013 nop + 80002c64: fff00113 li sp,-1 + 80002c68: 1220c063 blt ra,sp,80002d88 <fail> + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5212e3 bne tp,t0,80002c58 <test_14+0x8> + +0000000080002c78 <test_15>: + 80002c78: 00f00193 li gp,15 + 80002c7c: 00000213 li tp,0 + 80002c80: 00000093 li ra,0 + 80002c84: fff00113 li sp,-1 + 80002c88: 1020c063 blt ra,sp,80002d88 <fail> + 80002c8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c90: 00200293 li t0,2 + 80002c94: fe5216e3 bne tp,t0,80002c80 <test_15+0x8> + +0000000080002c98 <test_16>: + 80002c98: 01000193 li gp,16 + 80002c9c: 00000213 li tp,0 + 80002ca0: 00000093 li ra,0 + 80002ca4: fff00113 li sp,-1 + 80002ca8: 00000013 nop + 80002cac: 0c20ce63 blt ra,sp,80002d88 <fail> + 80002cb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cb4: 00200293 li t0,2 + 80002cb8: fe5214e3 bne tp,t0,80002ca0 <test_16+0x8> + +0000000080002cbc <test_17>: + 80002cbc: 01100193 li gp,17 + 80002cc0: 00000213 li tp,0 + 80002cc4: 00000093 li ra,0 + 80002cc8: fff00113 li sp,-1 + 80002ccc: 00000013 nop + 80002cd0: 00000013 nop + 80002cd4: 0a20ca63 blt ra,sp,80002d88 <fail> + 80002cd8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cdc: 00200293 li t0,2 + 80002ce0: fe5212e3 bne tp,t0,80002cc4 <test_17+0x8> + +0000000080002ce4 <test_18>: + 80002ce4: 01200193 li gp,18 + 80002ce8: 00000213 li tp,0 + 80002cec: 00000093 li ra,0 + 80002cf0: 00000013 nop + 80002cf4: fff00113 li sp,-1 + 80002cf8: 0820c863 blt ra,sp,80002d88 <fail> + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fe5214e3 bne tp,t0,80002cec <test_18+0x8> + +0000000080002d08 <test_19>: + 80002d08: 01300193 li gp,19 + 80002d0c: 00000213 li tp,0 + 80002d10: 00000093 li ra,0 + 80002d14: 00000013 nop + 80002d18: fff00113 li sp,-1 + 80002d1c: 00000013 nop + 80002d20: 0620c463 blt ra,sp,80002d88 <fail> + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5212e3 bne tp,t0,80002d10 <test_19+0x8> + +0000000080002d30 <test_20>: + 80002d30: 01400193 li gp,20 + 80002d34: 00000213 li tp,0 + 80002d38: 00000093 li ra,0 + 80002d3c: 00000013 nop + 80002d40: 00000013 nop + 80002d44: fff00113 li sp,-1 + 80002d48: 0420c063 blt ra,sp,80002d88 <fail> + 80002d4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d50: 00200293 li t0,2 + 80002d54: fe5212e3 bne tp,t0,80002d38 <test_20+0x8> + +0000000080002d58 <test_21>: + 80002d58: 00100093 li ra,1 + 80002d5c: 00104a63 bgtz ra,80002d70 <test_21+0x18> + 80002d60: 00108093 addi ra,ra,1 + 80002d64: 00108093 addi ra,ra,1 + 80002d68: 00108093 addi ra,ra,1 + 80002d6c: 00108093 addi ra,ra,1 + 80002d70: 00108093 addi ra,ra,1 + 80002d74: 00108093 addi ra,ra,1 + 80002d78: 00300e93 li t4,3 + 80002d7c: 01500193 li gp,21 + 80002d80: 01d09463 bne ra,t4,80002d88 <fail> + 80002d84: 00301a63 bne zero,gp,80002d98 <pass> + +0000000080002d88 <fail>: + 80002d88: 00119513 slli a0,gp,0x1 + 80002d8c: 00050063 beqz a0,80002d8c <fail+0x4> + 80002d90: 00156513 ori a0,a0,1 + 80002d94: 00000073 ecall + +0000000080002d98 <pass>: + 80002d98: 00100513 li a0,1 + 80002d9c: 00000073 ecall + 80002da0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-blt.elf b/test/riscv/tests/rv64ui-v-blt.elf Binary files differnew file mode 100644 index 00000000..1232ebb1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-blt.elf diff --git a/test/riscv/tests/rv64ui-v-bltu.dump b/test/riscv/tests/rv64ui-v-bltu.dump new file mode 100644 index 00000000..bf46506a --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bltu.dump @@ -0,0 +1,1104 @@ + +rv64ui-v-bltu: 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,sbadaddr + 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 <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: 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: a1868693 addi a3,a3,-1512 # 80002e70 <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: a4c60613 addi a2,a2,-1460 # 80002f00 <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: a1460613 addi a2,a2,-1516 # 80002f18 <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: 96468693 addi a3,a3,-1692 # 80002eb8 <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: 98068693 addi a3,a3,-1664 # 80002ff0 <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: 90060613 addi a2,a2,-1792 # 80002fc8 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 83468693 addi a3,a3,-1996 # 80003020 <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: 75468693 addi a3,a3,1876 # 80002f90 <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: 6e468693 addi a3,a3,1764 # 80002f58 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 03800793 li a5,56 + 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: 09c3b7b7 lui a5,0x9c3b + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 9db78793 addi a5,a5,-1573 # 9c3a9db <_start-0x763c5625> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00100113 li sp,1 + 80002ad4: 0020e663 bltu ra,sp,80002ae0 <userstart+0x18> + 80002ad8: 36301c63 bne zero,gp,80002e50 <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe20eee3 bltu ra,sp,80002adc <userstart+0x14> + 80002ae4: 36301663 bne zero,gp,80002e50 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: 0010009b addiw ra,zero,1 + 80002af0: 02009093 slli ra,ra,0x20 + 80002af4: ffe08093 addi ra,ra,-2 + 80002af8: 0010011b addiw sp,zero,1 + 80002afc: 02011113 slli sp,sp,0x20 + 80002b00: fff10113 addi sp,sp,-1 + 80002b04: 0020e663 bltu ra,sp,80002b10 <test_3+0x28> + 80002b08: 34301463 bne zero,gp,80002e50 <fail> + 80002b0c: 00301663 bne zero,gp,80002b18 <test_4> + 80002b10: fe20eee3 bltu ra,sp,80002b0c <test_3+0x24> + 80002b14: 32301e63 bne zero,gp,80002e50 <fail> + +0000000080002b18 <test_4>: + 80002b18: 00400193 li gp,4 + 80002b1c: 00000093 li ra,0 + 80002b20: 0010011b addiw sp,zero,1 + 80002b24: 02011113 slli sp,sp,0x20 + 80002b28: fff10113 addi sp,sp,-1 + 80002b2c: 0020e663 bltu ra,sp,80002b38 <test_4+0x20> + 80002b30: 32301063 bne zero,gp,80002e50 <fail> + 80002b34: 00301663 bne zero,gp,80002b40 <test_5> + 80002b38: fe20eee3 bltu ra,sp,80002b34 <test_4+0x1c> + 80002b3c: 30301a63 bne zero,gp,80002e50 <fail> + +0000000080002b40 <test_5>: + 80002b40: 00500193 li gp,5 + 80002b44: 00100093 li ra,1 + 80002b48: 00000113 li sp,0 + 80002b4c: 0020e463 bltu ra,sp,80002b54 <test_5+0x14> + 80002b50: 00301463 bne zero,gp,80002b58 <test_5+0x18> + 80002b54: 2e301e63 bne zero,gp,80002e50 <fail> + 80002b58: fe20eee3 bltu ra,sp,80002b54 <test_5+0x14> + +0000000080002b5c <test_6>: + 80002b5c: 00600193 li gp,6 + 80002b60: 0010009b addiw ra,zero,1 + 80002b64: 02009093 slli ra,ra,0x20 + 80002b68: fff08093 addi ra,ra,-1 + 80002b6c: 0010011b addiw sp,zero,1 + 80002b70: 02011113 slli sp,sp,0x20 + 80002b74: ffe10113 addi sp,sp,-2 + 80002b78: 0020e463 bltu ra,sp,80002b80 <test_6+0x24> + 80002b7c: 00301463 bne zero,gp,80002b84 <test_6+0x28> + 80002b80: 2c301863 bne zero,gp,80002e50 <fail> + 80002b84: fe20eee3 bltu ra,sp,80002b80 <test_6+0x24> + +0000000080002b88 <test_7>: + 80002b88: 00700193 li gp,7 + 80002b8c: 0010009b addiw ra,zero,1 + 80002b90: 02009093 slli ra,ra,0x20 + 80002b94: fff08093 addi ra,ra,-1 + 80002b98: 00000113 li sp,0 + 80002b9c: 0020e463 bltu ra,sp,80002ba4 <test_7+0x1c> + 80002ba0: 00301463 bne zero,gp,80002ba8 <test_7+0x20> + 80002ba4: 2a301663 bne zero,gp,80002e50 <fail> + 80002ba8: fe20eee3 bltu ra,sp,80002ba4 <test_7+0x1c> + +0000000080002bac <test_8>: + 80002bac: 00800193 li gp,8 + 80002bb0: 0010009b addiw ra,zero,1 + 80002bb4: 01f09093 slli ra,ra,0x1f + 80002bb8: 80000137 lui sp,0x80000 + 80002bbc: fff1011b addiw sp,sp,-1 + 80002bc0: 0020e463 bltu ra,sp,80002bc8 <test_8+0x1c> + 80002bc4: 00301463 bne zero,gp,80002bcc <test_8+0x20> + 80002bc8: 28301463 bne zero,gp,80002e50 <fail> + 80002bcc: fe20eee3 bltu ra,sp,80002bc8 <test_8+0x1c> + +0000000080002bd0 <test_9>: + 80002bd0: 00900193 li gp,9 + 80002bd4: 00000213 li tp,0 + 80002bd8: 00f0009b addiw ra,zero,15 + 80002bdc: 01c09093 slli ra,ra,0x1c + 80002be0: 00f0011b addiw sp,zero,15 + 80002be4: 01c11113 slli sp,sp,0x1c + 80002be8: fff10113 addi sp,sp,-1 # ffffffff7fffffff <_end+0xfffffffeffff780f> + 80002bec: 2620e263 bltu ra,sp,80002e50 <fail> + 80002bf0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bf4: 00200293 li t0,2 + 80002bf8: fe5210e3 bne tp,t0,80002bd8 <test_9+0x8> + +0000000080002bfc <test_10>: + 80002bfc: 00a00193 li gp,10 + 80002c00: 00000213 li tp,0 + 80002c04: 00f0009b addiw ra,zero,15 + 80002c08: 01c09093 slli ra,ra,0x1c + 80002c0c: 00f0011b addiw sp,zero,15 + 80002c10: 01c11113 slli sp,sp,0x1c + 80002c14: fff10113 addi sp,sp,-1 + 80002c18: 00000013 nop + 80002c1c: 2220ea63 bltu ra,sp,80002e50 <fail> + 80002c20: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c24: 00200293 li t0,2 + 80002c28: fc521ee3 bne tp,t0,80002c04 <test_10+0x8> + +0000000080002c2c <test_11>: + 80002c2c: 00b00193 li gp,11 + 80002c30: 00000213 li tp,0 + 80002c34: 00f0009b addiw ra,zero,15 + 80002c38: 01c09093 slli ra,ra,0x1c + 80002c3c: 00f0011b addiw sp,zero,15 + 80002c40: 01c11113 slli sp,sp,0x1c + 80002c44: fff10113 addi sp,sp,-1 + 80002c48: 00000013 nop + 80002c4c: 00000013 nop + 80002c50: 2020e063 bltu ra,sp,80002e50 <fail> + 80002c54: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c58: 00200293 li t0,2 + 80002c5c: fc521ce3 bne tp,t0,80002c34 <test_11+0x8> + +0000000080002c60 <test_12>: + 80002c60: 00c00193 li gp,12 + 80002c64: 00000213 li tp,0 + 80002c68: 00f0009b addiw ra,zero,15 + 80002c6c: 01c09093 slli ra,ra,0x1c + 80002c70: 00000013 nop + 80002c74: 00f0011b addiw sp,zero,15 + 80002c78: 01c11113 slli sp,sp,0x1c + 80002c7c: fff10113 addi sp,sp,-1 + 80002c80: 1c20e863 bltu ra,sp,80002e50 <fail> + 80002c84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c88: 00200293 li t0,2 + 80002c8c: fc521ee3 bne tp,t0,80002c68 <test_12+0x8> + +0000000080002c90 <test_13>: + 80002c90: 00d00193 li gp,13 + 80002c94: 00000213 li tp,0 + 80002c98: 00f0009b addiw ra,zero,15 + 80002c9c: 01c09093 slli ra,ra,0x1c + 80002ca0: 00000013 nop + 80002ca4: 00f0011b addiw sp,zero,15 + 80002ca8: 01c11113 slli sp,sp,0x1c + 80002cac: fff10113 addi sp,sp,-1 + 80002cb0: 00000013 nop + 80002cb4: 1820ee63 bltu ra,sp,80002e50 <fail> + 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cbc: 00200293 li t0,2 + 80002cc0: fc521ce3 bne tp,t0,80002c98 <test_13+0x8> + +0000000080002cc4 <test_14>: + 80002cc4: 00e00193 li gp,14 + 80002cc8: 00000213 li tp,0 + 80002ccc: 00f0009b addiw ra,zero,15 + 80002cd0: 01c09093 slli ra,ra,0x1c + 80002cd4: 00000013 nop + 80002cd8: 00000013 nop + 80002cdc: 00f0011b addiw sp,zero,15 + 80002ce0: 01c11113 slli sp,sp,0x1c + 80002ce4: fff10113 addi sp,sp,-1 + 80002ce8: 1620e463 bltu ra,sp,80002e50 <fail> + 80002cec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf0: 00200293 li t0,2 + 80002cf4: fc521ce3 bne tp,t0,80002ccc <test_14+0x8> + +0000000080002cf8 <test_15>: + 80002cf8: 00f00193 li gp,15 + 80002cfc: 00000213 li tp,0 + 80002d00: 00f0009b addiw ra,zero,15 + 80002d04: 01c09093 slli ra,ra,0x1c + 80002d08: 00f0011b addiw sp,zero,15 + 80002d0c: 01c11113 slli sp,sp,0x1c + 80002d10: fff10113 addi sp,sp,-1 + 80002d14: 1220ee63 bltu ra,sp,80002e50 <fail> + 80002d18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d1c: 00200293 li t0,2 + 80002d20: fe5210e3 bne tp,t0,80002d00 <test_15+0x8> + +0000000080002d24 <test_16>: + 80002d24: 01000193 li gp,16 + 80002d28: 00000213 li tp,0 + 80002d2c: 00f0009b addiw ra,zero,15 + 80002d30: 01c09093 slli ra,ra,0x1c + 80002d34: 00f0011b addiw sp,zero,15 + 80002d38: 01c11113 slli sp,sp,0x1c + 80002d3c: fff10113 addi sp,sp,-1 + 80002d40: 00000013 nop + 80002d44: 1020e663 bltu ra,sp,80002e50 <fail> + 80002d48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d4c: 00200293 li t0,2 + 80002d50: fc521ee3 bne tp,t0,80002d2c <test_16+0x8> + +0000000080002d54 <test_17>: + 80002d54: 01100193 li gp,17 + 80002d58: 00000213 li tp,0 + 80002d5c: 00f0009b addiw ra,zero,15 + 80002d60: 01c09093 slli ra,ra,0x1c + 80002d64: 00f0011b addiw sp,zero,15 + 80002d68: 01c11113 slli sp,sp,0x1c + 80002d6c: fff10113 addi sp,sp,-1 + 80002d70: 00000013 nop + 80002d74: 00000013 nop + 80002d78: 0c20ec63 bltu ra,sp,80002e50 <fail> + 80002d7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d80: 00200293 li t0,2 + 80002d84: fc521ce3 bne tp,t0,80002d5c <test_17+0x8> + +0000000080002d88 <test_18>: + 80002d88: 01200193 li gp,18 + 80002d8c: 00000213 li tp,0 + 80002d90: 00f0009b addiw ra,zero,15 + 80002d94: 01c09093 slli ra,ra,0x1c + 80002d98: 00000013 nop + 80002d9c: 00f0011b addiw sp,zero,15 + 80002da0: 01c11113 slli sp,sp,0x1c + 80002da4: fff10113 addi sp,sp,-1 + 80002da8: 0a20e463 bltu ra,sp,80002e50 <fail> + 80002dac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db0: 00200293 li t0,2 + 80002db4: fc521ee3 bne tp,t0,80002d90 <test_18+0x8> + +0000000080002db8 <test_19>: + 80002db8: 01300193 li gp,19 + 80002dbc: 00000213 li tp,0 + 80002dc0: 00f0009b addiw ra,zero,15 + 80002dc4: 01c09093 slli ra,ra,0x1c + 80002dc8: 00000013 nop + 80002dcc: 00f0011b addiw sp,zero,15 + 80002dd0: 01c11113 slli sp,sp,0x1c + 80002dd4: fff10113 addi sp,sp,-1 + 80002dd8: 00000013 nop + 80002ddc: 0620ea63 bltu ra,sp,80002e50 <fail> + 80002de0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de4: 00200293 li t0,2 + 80002de8: fc521ce3 bne tp,t0,80002dc0 <test_19+0x8> + +0000000080002dec <test_20>: + 80002dec: 01400193 li gp,20 + 80002df0: 00000213 li tp,0 + 80002df4: 00f0009b addiw ra,zero,15 + 80002df8: 01c09093 slli ra,ra,0x1c + 80002dfc: 00000013 nop + 80002e00: 00000013 nop + 80002e04: 00f0011b addiw sp,zero,15 + 80002e08: 01c11113 slli sp,sp,0x1c + 80002e0c: fff10113 addi sp,sp,-1 + 80002e10: 0420e063 bltu ra,sp,80002e50 <fail> + 80002e14: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e18: 00200293 li t0,2 + 80002e1c: fc521ce3 bne tp,t0,80002df4 <test_20+0x8> + +0000000080002e20 <test_21>: + 80002e20: 00100093 li ra,1 + 80002e24: 00106a63 bltu zero,ra,80002e38 <test_21+0x18> + 80002e28: 00108093 addi ra,ra,1 + 80002e2c: 00108093 addi ra,ra,1 + 80002e30: 00108093 addi ra,ra,1 + 80002e34: 00108093 addi ra,ra,1 + 80002e38: 00108093 addi ra,ra,1 + 80002e3c: 00108093 addi ra,ra,1 + 80002e40: 00300e93 li t4,3 + 80002e44: 01500193 li gp,21 + 80002e48: 01d09463 bne ra,t4,80002e50 <fail> + 80002e4c: 00301a63 bne zero,gp,80002e60 <pass> + +0000000080002e50 <fail>: + 80002e50: 00119513 slli a0,gp,0x1 + 80002e54: 00050063 beqz a0,80002e54 <fail+0x4> + 80002e58: 00156513 ori a0,a0,1 + 80002e5c: 00000073 ecall + +0000000080002e60 <pass>: + 80002e60: 00100513 li a0,1 + 80002e64: 00000073 ecall + 80002e68: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-bltu.elf b/test/riscv/tests/rv64ui-v-bltu.elf Binary files differnew file mode 100644 index 00000000..4109accb --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bltu.elf diff --git a/test/riscv/tests/rv64ui-v-bne.dump b/test/riscv/tests/rv64ui-v-bne.dump new file mode 100644 index 00000000..63ec2886 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bne.dump @@ -0,0 +1,1055 @@ + +rv64ui-v-bne: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 95068693 addi a3,a3,-1712 # 80002da8 <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: 98460613 addi a2,a2,-1660 # 80002e38 <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: 00001617 auipc a2,0x1 + 80002508: 94c60613 addi a2,a2,-1716 # 80002e50 <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: 00001697 auipc a3,0x1 + 80002558: 89c68693 addi a3,a3,-1892 # 80002df0 <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: 00001697 auipc a3,0x1 + 80002674: 8b868693 addi a3,a3,-1864 # 80002f28 <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: 00001617 auipc a2,0x1 + 800026cc: 83860613 addi a2,a2,-1992 # 80002f00 <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: 76c68693 addi a3,a3,1900 # 80002f58 <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: 68c68693 addi a3,a3,1676 # 80002ec8 <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: 61c68693 addi a3,a3,1564 # 80002e90 <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: 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: 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: 0802e7b7 lui a5,0x802e + 80002a70: 000805b7 lui a1,0x80 + 80002a74: d7978793 addi a5,a5,-647 # 802dd79 <_start-0x77fd2287> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 00100113 li sp,1 + 80002ad4: 00209663 bne ra,sp,80002ae0 <userstart+0x18> + 80002ad8: 2a301a63 bne zero,gp,80002d8c <fail> + 80002adc: 00301663 bne zero,gp,80002ae8 <test_3> + 80002ae0: fe209ee3 bne ra,sp,80002adc <userstart+0x14> + 80002ae4: 2a301463 bne zero,gp,80002d8c <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00300193 li gp,3 + 80002aec: 00100093 li ra,1 + 80002af0: 00000113 li sp,0 + 80002af4: 00209663 bne ra,sp,80002b00 <test_3+0x18> + 80002af8: 28301a63 bne zero,gp,80002d8c <fail> + 80002afc: 00301663 bne zero,gp,80002b08 <test_4> + 80002b00: fe209ee3 bne ra,sp,80002afc <test_3+0x14> + 80002b04: 28301463 bne zero,gp,80002d8c <fail> + +0000000080002b08 <test_4>: + 80002b08: 00400193 li gp,4 + 80002b0c: fff00093 li ra,-1 + 80002b10: 00100113 li sp,1 + 80002b14: 00209663 bne ra,sp,80002b20 <test_4+0x18> + 80002b18: 26301a63 bne zero,gp,80002d8c <fail> + 80002b1c: 00301663 bne zero,gp,80002b28 <test_5> + 80002b20: fe209ee3 bne ra,sp,80002b1c <test_4+0x14> + 80002b24: 26301463 bne zero,gp,80002d8c <fail> + +0000000080002b28 <test_5>: + 80002b28: 00500193 li gp,5 + 80002b2c: 00100093 li ra,1 + 80002b30: fff00113 li sp,-1 + 80002b34: 00209663 bne ra,sp,80002b40 <test_5+0x18> + 80002b38: 24301a63 bne zero,gp,80002d8c <fail> + 80002b3c: 00301663 bne zero,gp,80002b48 <test_6> + 80002b40: fe209ee3 bne ra,sp,80002b3c <test_5+0x14> + 80002b44: 24301463 bne zero,gp,80002d8c <fail> + +0000000080002b48 <test_6>: + 80002b48: 00600193 li gp,6 + 80002b4c: 00000093 li ra,0 + 80002b50: 00000113 li sp,0 + 80002b54: 00209463 bne ra,sp,80002b5c <test_6+0x14> + 80002b58: 00301463 bne zero,gp,80002b60 <test_6+0x18> + 80002b5c: 22301863 bne zero,gp,80002d8c <fail> + 80002b60: fe209ee3 bne ra,sp,80002b5c <test_6+0x14> + +0000000080002b64 <test_7>: + 80002b64: 00700193 li gp,7 + 80002b68: 00100093 li ra,1 + 80002b6c: 00100113 li sp,1 + 80002b70: 00209463 bne ra,sp,80002b78 <test_7+0x14> + 80002b74: 00301463 bne zero,gp,80002b7c <test_7+0x18> + 80002b78: 20301a63 bne zero,gp,80002d8c <fail> + 80002b7c: fe209ee3 bne ra,sp,80002b78 <test_7+0x14> + +0000000080002b80 <test_8>: + 80002b80: 00800193 li gp,8 + 80002b84: fff00093 li ra,-1 + 80002b88: fff00113 li sp,-1 + 80002b8c: 00209463 bne ra,sp,80002b94 <test_8+0x14> + 80002b90: 00301463 bne zero,gp,80002b98 <test_8+0x18> + 80002b94: 1e301c63 bne zero,gp,80002d8c <fail> + 80002b98: fe209ee3 bne ra,sp,80002b94 <test_8+0x14> + +0000000080002b9c <test_9>: + 80002b9c: 00900193 li gp,9 + 80002ba0: 00000213 li tp,0 + 80002ba4: 00000093 li ra,0 + 80002ba8: 00000113 li sp,0 + 80002bac: 1e209063 bne ra,sp,80002d8c <fail> + 80002bb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bb4: 00200293 li t0,2 + 80002bb8: fe5216e3 bne tp,t0,80002ba4 <test_9+0x8> + +0000000080002bbc <test_10>: + 80002bbc: 00a00193 li gp,10 + 80002bc0: 00000213 li tp,0 + 80002bc4: 00000093 li ra,0 + 80002bc8: 00000113 li sp,0 + 80002bcc: 00000013 nop + 80002bd0: 1a209e63 bne ra,sp,80002d8c <fail> + 80002bd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd8: 00200293 li t0,2 + 80002bdc: fe5214e3 bne tp,t0,80002bc4 <test_10+0x8> + +0000000080002be0 <test_11>: + 80002be0: 00b00193 li gp,11 + 80002be4: 00000213 li tp,0 + 80002be8: 00000093 li ra,0 + 80002bec: 00000113 li sp,0 + 80002bf0: 00000013 nop + 80002bf4: 00000013 nop + 80002bf8: 18209a63 bne ra,sp,80002d8c <fail> + 80002bfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c00: 00200293 li t0,2 + 80002c04: fe5212e3 bne tp,t0,80002be8 <test_11+0x8> + +0000000080002c08 <test_12>: + 80002c08: 00c00193 li gp,12 + 80002c0c: 00000213 li tp,0 + 80002c10: 00000093 li ra,0 + 80002c14: 00000013 nop + 80002c18: 00000113 li sp,0 + 80002c1c: 16209863 bne ra,sp,80002d8c <fail> + 80002c20: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c24: 00200293 li t0,2 + 80002c28: fe5214e3 bne tp,t0,80002c10 <test_12+0x8> + +0000000080002c2c <test_13>: + 80002c2c: 00d00193 li gp,13 + 80002c30: 00000213 li tp,0 + 80002c34: 00000093 li ra,0 + 80002c38: 00000013 nop + 80002c3c: 00000113 li sp,0 + 80002c40: 00000013 nop + 80002c44: 14209463 bne ra,sp,80002d8c <fail> + 80002c48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c4c: 00200293 li t0,2 + 80002c50: fe5212e3 bne tp,t0,80002c34 <test_13+0x8> + +0000000080002c54 <test_14>: + 80002c54: 00e00193 li gp,14 + 80002c58: 00000213 li tp,0 + 80002c5c: 00000093 li ra,0 + 80002c60: 00000013 nop + 80002c64: 00000013 nop + 80002c68: 00000113 li sp,0 + 80002c6c: 12209063 bne ra,sp,80002d8c <fail> + 80002c70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c74: 00200293 li t0,2 + 80002c78: fe5212e3 bne tp,t0,80002c5c <test_14+0x8> + +0000000080002c7c <test_15>: + 80002c7c: 00f00193 li gp,15 + 80002c80: 00000213 li tp,0 + 80002c84: 00000093 li ra,0 + 80002c88: 00000113 li sp,0 + 80002c8c: 10209063 bne ra,sp,80002d8c <fail> + 80002c90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c94: 00200293 li t0,2 + 80002c98: fe5216e3 bne tp,t0,80002c84 <test_15+0x8> + +0000000080002c9c <test_16>: + 80002c9c: 01000193 li gp,16 + 80002ca0: 00000213 li tp,0 + 80002ca4: 00000093 li ra,0 + 80002ca8: 00000113 li sp,0 + 80002cac: 00000013 nop + 80002cb0: 0c209e63 bne ra,sp,80002d8c <fail> + 80002cb4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cb8: 00200293 li t0,2 + 80002cbc: fe5214e3 bne tp,t0,80002ca4 <test_16+0x8> + +0000000080002cc0 <test_17>: + 80002cc0: 01100193 li gp,17 + 80002cc4: 00000213 li tp,0 + 80002cc8: 00000093 li ra,0 + 80002ccc: 00000113 li sp,0 + 80002cd0: 00000013 nop + 80002cd4: 00000013 nop + 80002cd8: 0a209a63 bne ra,sp,80002d8c <fail> + 80002cdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce0: 00200293 li t0,2 + 80002ce4: fe5212e3 bne tp,t0,80002cc8 <test_17+0x8> + +0000000080002ce8 <test_18>: + 80002ce8: 01200193 li gp,18 + 80002cec: 00000213 li tp,0 + 80002cf0: 00000093 li ra,0 + 80002cf4: 00000013 nop + 80002cf8: 00000113 li sp,0 + 80002cfc: 08209863 bne ra,sp,80002d8c <fail> + 80002d00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d04: 00200293 li t0,2 + 80002d08: fe5214e3 bne tp,t0,80002cf0 <test_18+0x8> + +0000000080002d0c <test_19>: + 80002d0c: 01300193 li gp,19 + 80002d10: 00000213 li tp,0 + 80002d14: 00000093 li ra,0 + 80002d18: 00000013 nop + 80002d1c: 00000113 li sp,0 + 80002d20: 00000013 nop + 80002d24: 06209463 bne ra,sp,80002d8c <fail> + 80002d28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d2c: 00200293 li t0,2 + 80002d30: fe5212e3 bne tp,t0,80002d14 <test_19+0x8> + +0000000080002d34 <test_20>: + 80002d34: 01400193 li gp,20 + 80002d38: 00000213 li tp,0 + 80002d3c: 00000093 li ra,0 + 80002d40: 00000013 nop + 80002d44: 00000013 nop + 80002d48: 00000113 li sp,0 + 80002d4c: 04209063 bne ra,sp,80002d8c <fail> + 80002d50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d54: 00200293 li t0,2 + 80002d58: fe5212e3 bne tp,t0,80002d3c <test_20+0x8> + +0000000080002d5c <test_21>: + 80002d5c: 00100093 li ra,1 + 80002d60: 00009a63 bnez ra,80002d74 <test_21+0x18> + 80002d64: 00108093 addi ra,ra,1 + 80002d68: 00108093 addi ra,ra,1 + 80002d6c: 00108093 addi ra,ra,1 + 80002d70: 00108093 addi ra,ra,1 + 80002d74: 00108093 addi ra,ra,1 + 80002d78: 00108093 addi ra,ra,1 + 80002d7c: 00300e93 li t4,3 + 80002d80: 01500193 li gp,21 + 80002d84: 01d09463 bne ra,t4,80002d8c <fail> + 80002d88: 00301a63 bne zero,gp,80002d9c <pass> + +0000000080002d8c <fail>: + 80002d8c: 00119513 slli a0,gp,0x1 + 80002d90: 00050063 beqz a0,80002d90 <fail+0x4> + 80002d94: 00156513 ori a0,a0,1 + 80002d98: 00000073 ecall + +0000000080002d9c <pass>: + 80002d9c: 00100513 li a0,1 + 80002da0: 00000073 ecall + 80002da4: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-bne.elf b/test/riscv/tests/rv64ui-v-bne.elf Binary files differnew file mode 100644 index 00000000..fa480bf2 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-bne.elf diff --git a/test/riscv/tests/rv64ui-v-fence_i.dump b/test/riscv/tests/rv64ui-v-fence_i.dump new file mode 100644 index 00000000..b559930c --- /dev/null +++ b/test/riscv/tests/rv64ui-v-fence_i.dump @@ -0,0 +1,959 @@ + +rv64ui-v-fence_i: 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: ad050513 addi a0,a0,-1328 # 80002b00 <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,sbadaddr + 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: 7d868693 addi a3,a3,2008 # 80002c30 <pass+0x48> + 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: 80c60613 addi a2,a2,-2036 # 80002cc0 <pass+0xd8> + 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: 7d460613 addi a2,a2,2004 # 80002cd8 <pass+0xf0> + 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: 72468693 addi a3,a3,1828 # 80002c78 <pass+0x90> + 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: 74068693 addi a3,a3,1856 # 80002db0 <pass+0x1c8> + 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: 6c060613 addi a2,a2,1728 # 80002d88 <pass+0x1a0> + 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: 5f468693 addi a3,a3,1524 # 80002de0 <pass+0x1f8> + 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: 51468693 addi a3,a3,1300 # 80002d50 <pass+0x168> + 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: 4a468693 addi a3,a3,1188 # 80002d18 <pass+0x130> + 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: 03300793 li a5,51 + 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: 032fe7b7 lui a5,0x32fe + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 19f78793 addi a5,a5,415 # 32fe19f <_start-0x7cd01e61> + 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> + 80002ac8: 0000 unimp + 80002aca: 0000 unimp + 80002acc: 0000 unimp + 80002ace: 0000 unimp + 80002ad0: 0000 unimp + 80002ad2: 0000 unimp + 80002ad4: 0000 unimp + 80002ad6: 0000 unimp + 80002ad8: 0000 unimp + 80002ada: 0000 unimp + 80002adc: 0000 unimp + 80002ade: 0000 unimp + 80002ae0: 0000 unimp + 80002ae2: 0000 unimp + 80002ae4: 0000 unimp + 80002ae6: 0000 unimp + 80002ae8: 0000 unimp + 80002aea: 0000 unimp + 80002aec: 0000 unimp + 80002aee: 0000 unimp + 80002af0: 0000 unimp + 80002af2: 0000 unimp + 80002af4: 0000 unimp + 80002af6: 0000 unimp + 80002af8: 0000 unimp + 80002afa: 0000 unimp + 80002afc: 0000 unimp + 80002afe: 0000 unimp + +0000000080002b00 <userstart>: + 80002b00: 06f00693 li a3,111 + 80002b04: 00000517 auipc a0,0x0 + 80002b08: 4fc51503 lh a0,1276(a0) # 80003000 <begin_signature> + 80002b0c: 00000597 auipc a1,0x0 + 80002b10: 4f659583 lh a1,1270(a1) # 80003002 <begin_signature+0x2> + 80002b14: 00000013 nop + 80002b18: 00000013 nop + 80002b1c: 00000013 nop + 80002b20: 00000013 nop + 80002b24: 00000013 nop + 80002b28: 00000013 nop + 80002b2c: 00000013 nop + 80002b30: 00000013 nop + 80002b34: 00000013 nop + 80002b38: 00000013 nop + 80002b3c: 00000013 nop + 80002b40: 00000297 auipc t0,0x0 + 80002b44: 00a29a23 sh a0,20(t0) # 80002b54 <userstart+0x54> + 80002b48: 00000297 auipc t0,0x0 + 80002b4c: 00b29723 sh a1,14(t0) # 80002b56 <userstart+0x56> + 80002b50: 0000100f fence.i + 80002b54: 0de68693 addi a3,a3,222 + +0000000080002b58 <test_2>: + 80002b58: 00000013 nop + 80002b5c: 1bc00e93 li t4,444 + 80002b60: 00200193 li gp,2 + 80002b64: 07d69a63 bne a3,t4,80002bd8 <fail> + 80002b68: 06400713 li a4,100 + 80002b6c: fff70713 addi a4,a4,-1 + 80002b70: fe071ee3 bnez a4,80002b6c <test_2+0x14> + 80002b74: 00000297 auipc t0,0x0 + 80002b78: 04a29623 sh a0,76(t0) # 80002bc0 <test_2+0x68> + 80002b7c: 00000297 auipc t0,0x0 + 80002b80: 04b29323 sh a1,70(t0) # 80002bc2 <test_2+0x6a> + 80002b84: 0000100f fence.i + 80002b88: 00000013 nop + 80002b8c: 00000013 nop + 80002b90: 00000013 nop + 80002b94: 00000013 nop + 80002b98: 00000013 nop + 80002b9c: 00000013 nop + 80002ba0: 00000013 nop + 80002ba4: 00000013 nop + 80002ba8: 00000013 nop + 80002bac: 00000013 nop + 80002bb0: 00000013 nop + 80002bb4: 00000013 nop + 80002bb8: 00000013 nop + 80002bbc: 00000013 nop + 80002bc0: 22b68693 addi a3,a3,555 + +0000000080002bc4 <test_3>: + 80002bc4: 00000013 nop + 80002bc8: 30900e93 li t4,777 + 80002bcc: 00300193 li gp,3 + 80002bd0: 01d69463 bne a3,t4,80002bd8 <fail> + 80002bd4: 00301a63 bne zero,gp,80002be8 <pass> + +0000000080002bd8 <fail>: + 80002bd8: 00119513 slli a0,gp,0x1 + 80002bdc: 00050063 beqz a0,80002bdc <fail+0x4> + 80002be0: 00156513 ori a0,a0,1 + 80002be4: 00000073 ecall + +0000000080002be8 <pass>: + 80002be8: 00100513 li a0,1 + 80002bec: 00000073 ecall + 80002bf0: c0001073 unimp + 80002bf4: 0000 unimp + 80002bf6: 0000 unimp + 80002bf8: 0000 unimp + 80002bfa: 0000 unimp + 80002bfc: 0000 unimp + 80002bfe: 0000 unimp + 80002c00: 0000 unimp + 80002c02: 0000 unimp + 80002c04: 0000 unimp + 80002c06: 0000 unimp + 80002c08: 0000 unimp + 80002c0a: 0000 unimp + 80002c0c: 0000 unimp + 80002c0e: 0000 unimp + 80002c10: 0000 unimp + 80002c12: 0000 unimp + 80002c14: 0000 unimp + 80002c16: 0000 unimp + 80002c18: 0000 unimp + 80002c1a: 0000 unimp + 80002c1c: 0000 unimp + 80002c1e: 0000 unimp + 80002c20: 0000 unimp + 80002c22: 0000 unimp + 80002c24: 0000 unimp + 80002c26: 0000 unimp + 80002c28: 0000 unimp + 80002c2a: 0000 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 14d68693 addi a3,a3,333 diff --git a/test/riscv/tests/rv64ui-v-fence_i.elf b/test/riscv/tests/rv64ui-v-fence_i.elf Binary files differnew file mode 100644 index 00000000..5ab09908 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-fence_i.elf diff --git a/test/riscv/tests/rv64ui-v-jal.dump b/test/riscv/tests/rv64ui-v-jal.dump new file mode 100644 index 00000000..a22031d1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-jal.dump @@ -0,0 +1,867 @@ + +rv64ui-v-jal: 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,sbadaddr + 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: 6e068693 addi a3,a3,1760 # 80002b38 <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: 71460613 addi a2,a2,1812 # 80002bc8 <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: 6dc60613 addi a2,a2,1756 # 80002be0 <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: 62c68693 addi a3,a3,1580 # 80002b80 <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: 64868693 addi a3,a3,1608 # 80002cb8 <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: 5c860613 addi a2,a2,1480 # 80002c90 <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: 4fc68693 addi a3,a3,1276 # 80002ce8 <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: 41c68693 addi a3,a3,1052 # 80002c58 <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: 3ac68693 addi a3,a3,940 # 80002c20 <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: 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: 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: 0e1d97b7 lui a5,0xe1d9 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ad378793 addi a5,a5,-1325 # e1d8ad3 <_start-0x71e2752d> + 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: 00200193 li gp,2 + 80002acc: 00000093 li ra,0 + 80002ad0: 0100026f jal tp,80002ae0 <target_2> + +0000000080002ad4 <linkaddr_2>: + 80002ad4: 00000013 nop + 80002ad8: 00000013 nop + 80002adc: 0400006f j 80002b1c <fail> + +0000000080002ae0 <target_2>: + 80002ae0: 00000117 auipc sp,0x0 + 80002ae4: ff410113 addi sp,sp,-12 # 80002ad4 <linkaddr_2> + 80002ae8: 02411a63 bne sp,tp,80002b1c <fail> + +0000000080002aec <test_3>: + 80002aec: 00100093 li ra,1 + 80002af0: 0140006f j 80002b04 <test_3+0x18> + 80002af4: 00108093 addi ra,ra,1 + 80002af8: 00108093 addi ra,ra,1 + 80002afc: 00108093 addi ra,ra,1 + 80002b00: 00108093 addi ra,ra,1 + 80002b04: 00108093 addi ra,ra,1 + 80002b08: 00108093 addi ra,ra,1 + 80002b0c: 00300e93 li t4,3 + 80002b10: 00300193 li gp,3 + 80002b14: 01d09463 bne ra,t4,80002b1c <fail> + 80002b18: 00301a63 bne zero,gp,80002b2c <pass> + +0000000080002b1c <fail>: + 80002b1c: 00119513 slli a0,gp,0x1 + 80002b20: 00050063 beqz a0,80002b20 <fail+0x4> + 80002b24: 00156513 ori a0,a0,1 + 80002b28: 00000073 ecall + +0000000080002b2c <pass>: + 80002b2c: 00100513 li a0,1 + 80002b30: 00000073 ecall + 80002b34: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-jal.elf b/test/riscv/tests/rv64ui-v-jal.elf Binary files differnew file mode 100644 index 00000000..82efaa89 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-jal.elf diff --git a/test/riscv/tests/rv64ui-v-jalr.dump b/test/riscv/tests/rv64ui-v-jalr.dump new file mode 100644 index 00000000..4b43b163 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-jalr.dump @@ -0,0 +1,905 @@ + +rv64ui-v-jalr: 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,sbadaddr + 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: 76068693 addi a3,a3,1888 # 80002bb8 <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: 79460613 addi a2,a2,1940 # 80002c48 <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: 75c60613 addi a2,a2,1884 # 80002c60 <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: 6ac68693 addi a3,a3,1708 # 80002c00 <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: 6c868693 addi a3,a3,1736 # 80002d38 <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: 64860613 addi a2,a2,1608 # 80002d10 <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: 57c68693 addi a3,a3,1404 # 80002d68 <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: 49c68693 addi a3,a3,1180 # 80002cd8 <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: 42c68693 addi a3,a3,1068 # 80002ca0 <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: 01600793 li a5,22 + 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: 044267b7 lui a5,0x4426 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 9b478793 addi a5,a5,-1612 # 44259b4 <_start-0x7bbda64c> + 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: 00200193 li gp,2 + 80002acc: 00000293 li t0,0 + 80002ad0: 00000317 auipc t1,0x0 + 80002ad4: 01030313 addi t1,t1,16 # 80002ae0 <target_2> + 80002ad8: 000302e7 jalr t0,t1 + +0000000080002adc <linkaddr_2>: + 80002adc: 0c00006f j 80002b9c <fail> + +0000000080002ae0 <target_2>: + 80002ae0: 00000317 auipc t1,0x0 + 80002ae4: ffc30313 addi t1,t1,-4 # 80002adc <linkaddr_2> + 80002ae8: 0a629a63 bne t0,t1,80002b9c <fail> + +0000000080002aec <test_4>: + 80002aec: 00400193 li gp,4 + 80002af0: 00000213 li tp,0 + 80002af4: 00000317 auipc t1,0x0 + 80002af8: 01030313 addi t1,t1,16 # 80002b04 <test_4+0x18> + 80002afc: 000309e7 jalr s3,t1 + 80002b00: 08301e63 bne zero,gp,80002b9c <fail> + 80002b04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b08: 00200293 li t0,2 + 80002b0c: fe5214e3 bne tp,t0,80002af4 <test_4+0x8> + +0000000080002b10 <test_5>: + 80002b10: 00500193 li gp,5 + 80002b14: 00000213 li tp,0 + 80002b18: 00000317 auipc t1,0x0 + 80002b1c: 01430313 addi t1,t1,20 # 80002b2c <test_5+0x1c> + 80002b20: 00000013 nop + 80002b24: 000309e7 jalr s3,t1 + 80002b28: 06301a63 bne zero,gp,80002b9c <fail> + 80002b2c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b30: 00200293 li t0,2 + 80002b34: fe5212e3 bne tp,t0,80002b18 <test_5+0x8> + +0000000080002b38 <test_6>: + 80002b38: 00600193 li gp,6 + 80002b3c: 00000213 li tp,0 + 80002b40: 00000317 auipc t1,0x0 + 80002b44: 01830313 addi t1,t1,24 # 80002b58 <test_6+0x20> + 80002b48: 00000013 nop + 80002b4c: 00000013 nop + 80002b50: 000309e7 jalr s3,t1 + 80002b54: 04301463 bne zero,gp,80002b9c <fail> + 80002b58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b5c: 00200293 li t0,2 + 80002b60: fe5210e3 bne tp,t0,80002b40 <test_6+0x8> + +0000000080002b64 <test_7>: + 80002b64: 00100293 li t0,1 + 80002b68: 00000317 auipc t1,0x0 + 80002b6c: 01c30313 addi t1,t1,28 # 80002b84 <test_7+0x20> + 80002b70: ffc30067 jr -4(t1) + 80002b74: 00128293 addi t0,t0,1 + 80002b78: 00128293 addi t0,t0,1 + 80002b7c: 00128293 addi t0,t0,1 + 80002b80: 00128293 addi t0,t0,1 + 80002b84: 00128293 addi t0,t0,1 + 80002b88: 00128293 addi t0,t0,1 + 80002b8c: 00400e93 li t4,4 + 80002b90: 00700193 li gp,7 + 80002b94: 01d29463 bne t0,t4,80002b9c <fail> + 80002b98: 00301a63 bne zero,gp,80002bac <pass> + +0000000080002b9c <fail>: + 80002b9c: 00119513 slli a0,gp,0x1 + 80002ba0: 00050063 beqz a0,80002ba0 <fail+0x4> + 80002ba4: 00156513 ori a0,a0,1 + 80002ba8: 00000073 ecall + +0000000080002bac <pass>: + 80002bac: 00100513 li a0,1 + 80002bb0: 00000073 ecall + 80002bb4: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-jalr.elf b/test/riscv/tests/rv64ui-v-jalr.elf Binary files differnew file mode 100644 index 00000000..80442747 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-jalr.elf diff --git a/test/riscv/tests/rv64ui-v-lb.dump b/test/riscv/tests/rv64ui-v-lb.dump new file mode 100644 index 00000000..fc9d680e --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lb.dump @@ -0,0 +1,1037 @@ + +rv64ui-v-lb: 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,sbadaddr + 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: 8d868693 addi a3,a3,-1832 # 80002d30 <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: 90c60613 addi a2,a2,-1780 # 80002dc0 <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: 00001617 auipc a2,0x1 + 80002508: 8d460613 addi a2,a2,-1836 # 80002dd8 <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: 00001697 auipc a3,0x1 + 80002558: 82468693 addi a3,a3,-2012 # 80002d78 <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: 00001697 auipc a3,0x1 + 80002674: 84068693 addi a3,a3,-1984 # 80002eb0 <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: 7c060613 addi a2,a2,1984 # 80002e88 <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: 6f468693 addi a3,a3,1780 # 80002ee0 <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: 61468693 addi a3,a3,1556 # 80002e50 <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: 5a468693 addi a3,a3,1444 # 80002e18 <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: 00600793 li a5,6 + 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: 0c1067b7 lui a5,0xc106 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 32278793 addi a5,a5,802 # c106322 <_start-0x73ef9cde> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 00008f03 lb t5,0(ra) + 80002ad4: fff00e93 li t4,-1 + 80002ad8: 00200193 li gp,2 + 80002adc: 23df1c63 bne t5,t4,80002d14 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00000097 auipc ra,0x0 + 80002ae4: 52008093 addi ra,ra,1312 # 80003000 <begin_signature> + 80002ae8: 00108f03 lb t5,1(ra) + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 23df1063 bne t5,t4,80002d14 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00000097 auipc ra,0x0 + 80002afc: 50808093 addi ra,ra,1288 # 80003000 <begin_signature> + 80002b00: 00208f03 lb t5,2(ra) + 80002b04: ff000e93 li t4,-16 + 80002b08: 00400193 li gp,4 + 80002b0c: 21df1463 bne t5,t4,80002d14 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000097 auipc ra,0x0 + 80002b14: 4f008093 addi ra,ra,1264 # 80003000 <begin_signature> + 80002b18: 00308f03 lb t5,3(ra) + 80002b1c: 00f00e93 li t4,15 + 80002b20: 00500193 li gp,5 + 80002b24: 1fdf1863 bne t5,t4,80002d14 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00000097 auipc ra,0x0 + 80002b2c: 4db08093 addi ra,ra,1243 # 80003003 <tdat4> + 80002b30: ffd08f03 lb t5,-3(ra) + 80002b34: fff00e93 li t4,-1 + 80002b38: 00600193 li gp,6 + 80002b3c: 1ddf1c63 bne t5,t4,80002d14 <fail> + +0000000080002b40 <test_7>: + 80002b40: 00000097 auipc ra,0x0 + 80002b44: 4c308093 addi ra,ra,1219 # 80003003 <tdat4> + 80002b48: ffe08f03 lb t5,-2(ra) + 80002b4c: 00000e93 li t4,0 + 80002b50: 00700193 li gp,7 + 80002b54: 1ddf1063 bne t5,t4,80002d14 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00000097 auipc ra,0x0 + 80002b5c: 4ab08093 addi ra,ra,1195 # 80003003 <tdat4> + 80002b60: fff08f03 lb t5,-1(ra) + 80002b64: ff000e93 li t4,-16 + 80002b68: 00800193 li gp,8 + 80002b6c: 1bdf1463 bne t5,t4,80002d14 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00000097 auipc ra,0x0 + 80002b74: 49308093 addi ra,ra,1171 # 80003003 <tdat4> + 80002b78: 00008f03 lb t5,0(ra) + 80002b7c: 00f00e93 li t4,15 + 80002b80: 00900193 li gp,9 + 80002b84: 19df1863 bne t5,t4,80002d14 <fail> + +0000000080002b88 <test_10>: + 80002b88: 00000097 auipc ra,0x0 + 80002b8c: 47808093 addi ra,ra,1144 # 80003000 <begin_signature> + 80002b90: fe008093 addi ra,ra,-32 + 80002b94: 02008283 lb t0,32(ra) + 80002b98: fff00e93 li t4,-1 + 80002b9c: 00a00193 li gp,10 + 80002ba0: 17d29a63 bne t0,t4,80002d14 <fail> + +0000000080002ba4 <test_11>: + 80002ba4: 00000097 auipc ra,0x0 + 80002ba8: 45c08093 addi ra,ra,1116 # 80003000 <begin_signature> + 80002bac: ffa08093 addi ra,ra,-6 + 80002bb0: 00708283 lb t0,7(ra) + 80002bb4: 00000e93 li t4,0 + 80002bb8: 00b00193 li gp,11 + 80002bbc: 15d29c63 bne t0,t4,80002d14 <fail> + +0000000080002bc0 <test_12>: + 80002bc0: 00c00193 li gp,12 + 80002bc4: 00000213 li tp,0 + 80002bc8: 00000097 auipc ra,0x0 + 80002bcc: 43908093 addi ra,ra,1081 # 80003001 <tdat2> + 80002bd0: 00108f03 lb t5,1(ra) + 80002bd4: 000f0313 mv t1,t5 + 80002bd8: ff000e93 li t4,-16 + 80002bdc: 13d31c63 bne t1,t4,80002d14 <fail> + 80002be0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002be4: 00200293 li t0,2 + 80002be8: fe5210e3 bne tp,t0,80002bc8 <test_12+0x8> + +0000000080002bec <test_13>: + 80002bec: 00d00193 li gp,13 + 80002bf0: 00000213 li tp,0 + 80002bf4: 00000097 auipc ra,0x0 + 80002bf8: 40e08093 addi ra,ra,1038 # 80003002 <tdat3> + 80002bfc: 00108f03 lb t5,1(ra) + 80002c00: 00000013 nop + 80002c04: 000f0313 mv t1,t5 + 80002c08: 00f00e93 li t4,15 + 80002c0c: 11d31463 bne t1,t4,80002d14 <fail> + 80002c10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c14: 00200293 li t0,2 + 80002c18: fc521ee3 bne tp,t0,80002bf4 <test_13+0x8> + +0000000080002c1c <test_14>: + 80002c1c: 00e00193 li gp,14 + 80002c20: 00000213 li tp,0 + 80002c24: 00000097 auipc ra,0x0 + 80002c28: 3dc08093 addi ra,ra,988 # 80003000 <begin_signature> + 80002c2c: 00108f03 lb t5,1(ra) + 80002c30: 00000013 nop + 80002c34: 00000013 nop + 80002c38: 000f0313 mv t1,t5 + 80002c3c: 00000e93 li t4,0 + 80002c40: 0dd31a63 bne t1,t4,80002d14 <fail> + 80002c44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c48: 00200293 li t0,2 + 80002c4c: fc521ce3 bne tp,t0,80002c24 <test_14+0x8> + +0000000080002c50 <test_15>: + 80002c50: 00f00193 li gp,15 + 80002c54: 00000213 li tp,0 + 80002c58: 00000097 auipc ra,0x0 + 80002c5c: 3a908093 addi ra,ra,937 # 80003001 <tdat2> + 80002c60: 00108f03 lb t5,1(ra) + 80002c64: ff000e93 li t4,-16 + 80002c68: 0bdf1663 bne t5,t4,80002d14 <fail> + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5212e3 bne tp,t0,80002c58 <test_15+0x8> + +0000000080002c78 <test_16>: + 80002c78: 01000193 li gp,16 + 80002c7c: 00000213 li tp,0 + 80002c80: 00000097 auipc ra,0x0 + 80002c84: 38208093 addi ra,ra,898 # 80003002 <tdat3> + 80002c88: 00000013 nop + 80002c8c: 00108f03 lb t5,1(ra) + 80002c90: 00f00e93 li t4,15 + 80002c94: 09df1063 bne t5,t4,80002d14 <fail> + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5210e3 bne tp,t0,80002c80 <test_16+0x8> + +0000000080002ca4 <test_17>: + 80002ca4: 01100193 li gp,17 + 80002ca8: 00000213 li tp,0 + 80002cac: 00000097 auipc ra,0x0 + 80002cb0: 35408093 addi ra,ra,852 # 80003000 <begin_signature> + 80002cb4: 00000013 nop + 80002cb8: 00000013 nop + 80002cbc: 00108f03 lb t5,1(ra) + 80002cc0: 00000e93 li t4,0 + 80002cc4: 05df1863 bne t5,t4,80002d14 <fail> + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fc521ee3 bne tp,t0,80002cac <test_17+0x8> + +0000000080002cd4 <test_18>: + 80002cd4: 00000297 auipc t0,0x0 + 80002cd8: 32c28293 addi t0,t0,812 # 80003000 <begin_signature> + 80002cdc: 00028103 lb sp,0(t0) + 80002ce0: 00200113 li sp,2 + 80002ce4: 00200e93 li t4,2 + 80002ce8: 01200193 li gp,18 + 80002cec: 03d11463 bne sp,t4,80002d14 <fail> + +0000000080002cf0 <test_19>: + 80002cf0: 00000297 auipc t0,0x0 + 80002cf4: 31028293 addi t0,t0,784 # 80003000 <begin_signature> + 80002cf8: 00028103 lb sp,0(t0) + 80002cfc: 00000013 nop + 80002d00: 00200113 li sp,2 + 80002d04: 00200e93 li t4,2 + 80002d08: 01300193 li gp,19 + 80002d0c: 01d11463 bne sp,t4,80002d14 <fail> + 80002d10: 00301a63 bne zero,gp,80002d24 <pass> + +0000000080002d14 <fail>: + 80002d14: 00119513 slli a0,gp,0x1 + 80002d18: 00050063 beqz a0,80002d18 <fail+0x4> + 80002d1c: 00156513 ori a0,a0,1 + 80002d20: 00000073 ecall + +0000000080002d24 <pass>: + 80002d24: 00100513 li a0,1 + 80002d28: 00000073 ecall + 80002d2c: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 0xff + +0000000080003001 <tdat2>: + 80003001: sd s0,32(s0) + +0000000080003002 <tdat3>: + 80003002: addi a2,sp,988 + +0000000080003003 <tdat4>: + 80003003: 0f Address 0x0000000080003003 is out of bounds. + + 80003007: diff --git a/test/riscv/tests/rv64ui-v-lb.elf b/test/riscv/tests/rv64ui-v-lb.elf Binary files differnew file mode 100644 index 00000000..438c0905 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lb.elf diff --git a/test/riscv/tests/rv64ui-v-lbu.dump b/test/riscv/tests/rv64ui-v-lbu.dump new file mode 100644 index 00000000..8de55fb8 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lbu.dump @@ -0,0 +1,1037 @@ + +rv64ui-v-lbu: 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,sbadaddr + 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: 8d868693 addi a3,a3,-1832 # 80002d30 <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: 90c60613 addi a2,a2,-1780 # 80002dc0 <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: 00001617 auipc a2,0x1 + 80002508: 8d460613 addi a2,a2,-1836 # 80002dd8 <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: 00001697 auipc a3,0x1 + 80002558: 82468693 addi a3,a3,-2012 # 80002d78 <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: 00001697 auipc a3,0x1 + 80002674: 84068693 addi a3,a3,-1984 # 80002eb0 <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: 7c060613 addi a2,a2,1984 # 80002e88 <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: 6f468693 addi a3,a3,1780 # 80002ee0 <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: 61468693 addi a3,a3,1556 # 80002e50 <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: 5a468693 addi a3,a3,1444 # 80002e18 <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: 00d00793 li a5,13 + 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: 04c8f7b7 lui a5,0x4c8f + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 8a478793 addi a5,a5,-1884 # 4c8e8a4 <_start-0x7b37175c> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 0000cf03 lbu t5,0(ra) + 80002ad4: 0ff00e93 li t4,255 + 80002ad8: 00200193 li gp,2 + 80002adc: 23df1c63 bne t5,t4,80002d14 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00000097 auipc ra,0x0 + 80002ae4: 52008093 addi ra,ra,1312 # 80003000 <begin_signature> + 80002ae8: 0010cf03 lbu t5,1(ra) + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 23df1063 bne t5,t4,80002d14 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00000097 auipc ra,0x0 + 80002afc: 50808093 addi ra,ra,1288 # 80003000 <begin_signature> + 80002b00: 0020cf03 lbu t5,2(ra) + 80002b04: 0f000e93 li t4,240 + 80002b08: 00400193 li gp,4 + 80002b0c: 21df1463 bne t5,t4,80002d14 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000097 auipc ra,0x0 + 80002b14: 4f008093 addi ra,ra,1264 # 80003000 <begin_signature> + 80002b18: 0030cf03 lbu t5,3(ra) + 80002b1c: 00f00e93 li t4,15 + 80002b20: 00500193 li gp,5 + 80002b24: 1fdf1863 bne t5,t4,80002d14 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00000097 auipc ra,0x0 + 80002b2c: 4db08093 addi ra,ra,1243 # 80003003 <tdat4> + 80002b30: ffd0cf03 lbu t5,-3(ra) + 80002b34: 0ff00e93 li t4,255 + 80002b38: 00600193 li gp,6 + 80002b3c: 1ddf1c63 bne t5,t4,80002d14 <fail> + +0000000080002b40 <test_7>: + 80002b40: 00000097 auipc ra,0x0 + 80002b44: 4c308093 addi ra,ra,1219 # 80003003 <tdat4> + 80002b48: ffe0cf03 lbu t5,-2(ra) + 80002b4c: 00000e93 li t4,0 + 80002b50: 00700193 li gp,7 + 80002b54: 1ddf1063 bne t5,t4,80002d14 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00000097 auipc ra,0x0 + 80002b5c: 4ab08093 addi ra,ra,1195 # 80003003 <tdat4> + 80002b60: fff0cf03 lbu t5,-1(ra) + 80002b64: 0f000e93 li t4,240 + 80002b68: 00800193 li gp,8 + 80002b6c: 1bdf1463 bne t5,t4,80002d14 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00000097 auipc ra,0x0 + 80002b74: 49308093 addi ra,ra,1171 # 80003003 <tdat4> + 80002b78: 0000cf03 lbu t5,0(ra) + 80002b7c: 00f00e93 li t4,15 + 80002b80: 00900193 li gp,9 + 80002b84: 19df1863 bne t5,t4,80002d14 <fail> + +0000000080002b88 <test_10>: + 80002b88: 00000097 auipc ra,0x0 + 80002b8c: 47808093 addi ra,ra,1144 # 80003000 <begin_signature> + 80002b90: fe008093 addi ra,ra,-32 + 80002b94: 0200c283 lbu t0,32(ra) + 80002b98: 0ff00e93 li t4,255 + 80002b9c: 00a00193 li gp,10 + 80002ba0: 17d29a63 bne t0,t4,80002d14 <fail> + +0000000080002ba4 <test_11>: + 80002ba4: 00000097 auipc ra,0x0 + 80002ba8: 45c08093 addi ra,ra,1116 # 80003000 <begin_signature> + 80002bac: ffa08093 addi ra,ra,-6 + 80002bb0: 0070c283 lbu t0,7(ra) + 80002bb4: 00000e93 li t4,0 + 80002bb8: 00b00193 li gp,11 + 80002bbc: 15d29c63 bne t0,t4,80002d14 <fail> + +0000000080002bc0 <test_12>: + 80002bc0: 00c00193 li gp,12 + 80002bc4: 00000213 li tp,0 + 80002bc8: 00000097 auipc ra,0x0 + 80002bcc: 43908093 addi ra,ra,1081 # 80003001 <tdat2> + 80002bd0: 0010cf03 lbu t5,1(ra) + 80002bd4: 000f0313 mv t1,t5 + 80002bd8: 0f000e93 li t4,240 + 80002bdc: 13d31c63 bne t1,t4,80002d14 <fail> + 80002be0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002be4: 00200293 li t0,2 + 80002be8: fe5210e3 bne tp,t0,80002bc8 <test_12+0x8> + +0000000080002bec <test_13>: + 80002bec: 00d00193 li gp,13 + 80002bf0: 00000213 li tp,0 + 80002bf4: 00000097 auipc ra,0x0 + 80002bf8: 40e08093 addi ra,ra,1038 # 80003002 <tdat3> + 80002bfc: 0010cf03 lbu t5,1(ra) + 80002c00: 00000013 nop + 80002c04: 000f0313 mv t1,t5 + 80002c08: 00f00e93 li t4,15 + 80002c0c: 11d31463 bne t1,t4,80002d14 <fail> + 80002c10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c14: 00200293 li t0,2 + 80002c18: fc521ee3 bne tp,t0,80002bf4 <test_13+0x8> + +0000000080002c1c <test_14>: + 80002c1c: 00e00193 li gp,14 + 80002c20: 00000213 li tp,0 + 80002c24: 00000097 auipc ra,0x0 + 80002c28: 3dc08093 addi ra,ra,988 # 80003000 <begin_signature> + 80002c2c: 0010cf03 lbu t5,1(ra) + 80002c30: 00000013 nop + 80002c34: 00000013 nop + 80002c38: 000f0313 mv t1,t5 + 80002c3c: 00000e93 li t4,0 + 80002c40: 0dd31a63 bne t1,t4,80002d14 <fail> + 80002c44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c48: 00200293 li t0,2 + 80002c4c: fc521ce3 bne tp,t0,80002c24 <test_14+0x8> + +0000000080002c50 <test_15>: + 80002c50: 00f00193 li gp,15 + 80002c54: 00000213 li tp,0 + 80002c58: 00000097 auipc ra,0x0 + 80002c5c: 3a908093 addi ra,ra,937 # 80003001 <tdat2> + 80002c60: 0010cf03 lbu t5,1(ra) + 80002c64: 0f000e93 li t4,240 + 80002c68: 0bdf1663 bne t5,t4,80002d14 <fail> + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5212e3 bne tp,t0,80002c58 <test_15+0x8> + +0000000080002c78 <test_16>: + 80002c78: 01000193 li gp,16 + 80002c7c: 00000213 li tp,0 + 80002c80: 00000097 auipc ra,0x0 + 80002c84: 38208093 addi ra,ra,898 # 80003002 <tdat3> + 80002c88: 00000013 nop + 80002c8c: 0010cf03 lbu t5,1(ra) + 80002c90: 00f00e93 li t4,15 + 80002c94: 09df1063 bne t5,t4,80002d14 <fail> + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5210e3 bne tp,t0,80002c80 <test_16+0x8> + +0000000080002ca4 <test_17>: + 80002ca4: 01100193 li gp,17 + 80002ca8: 00000213 li tp,0 + 80002cac: 00000097 auipc ra,0x0 + 80002cb0: 35408093 addi ra,ra,852 # 80003000 <begin_signature> + 80002cb4: 00000013 nop + 80002cb8: 00000013 nop + 80002cbc: 0010cf03 lbu t5,1(ra) + 80002cc0: 00000e93 li t4,0 + 80002cc4: 05df1863 bne t5,t4,80002d14 <fail> + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fc521ee3 bne tp,t0,80002cac <test_17+0x8> + +0000000080002cd4 <test_18>: + 80002cd4: 00000297 auipc t0,0x0 + 80002cd8: 32c28293 addi t0,t0,812 # 80003000 <begin_signature> + 80002cdc: 0002c103 lbu sp,0(t0) + 80002ce0: 00200113 li sp,2 + 80002ce4: 00200e93 li t4,2 + 80002ce8: 01200193 li gp,18 + 80002cec: 03d11463 bne sp,t4,80002d14 <fail> + +0000000080002cf0 <test_19>: + 80002cf0: 00000297 auipc t0,0x0 + 80002cf4: 31028293 addi t0,t0,784 # 80003000 <begin_signature> + 80002cf8: 0002c103 lbu sp,0(t0) + 80002cfc: 00000013 nop + 80002d00: 00200113 li sp,2 + 80002d04: 00200e93 li t4,2 + 80002d08: 01300193 li gp,19 + 80002d0c: 01d11463 bne sp,t4,80002d14 <fail> + 80002d10: 00301a63 bne zero,gp,80002d24 <pass> + +0000000080002d14 <fail>: + 80002d14: 00119513 slli a0,gp,0x1 + 80002d18: 00050063 beqz a0,80002d18 <fail+0x4> + 80002d1c: 00156513 ori a0,a0,1 + 80002d20: 00000073 ecall + +0000000080002d24 <pass>: + 80002d24: 00100513 li a0,1 + 80002d28: 00000073 ecall + 80002d2c: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 0xff + +0000000080003001 <tdat2>: + 80003001: sd s0,32(s0) + +0000000080003002 <tdat3>: + 80003002: addi a2,sp,988 + +0000000080003003 <tdat4>: + 80003003: 0f Address 0x0000000080003003 is out of bounds. + + 80003007: diff --git a/test/riscv/tests/rv64ui-v-lbu.elf b/test/riscv/tests/rv64ui-v-lbu.elf Binary files differnew file mode 100644 index 00000000..2f2023bb --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lbu.elf diff --git a/test/riscv/tests/rv64ui-v-ld.dump b/test/riscv/tests/rv64ui-v-ld.dump new file mode 100644 index 00000000..3d8b640c --- /dev/null +++ b/test/riscv/tests/rv64ui-v-ld.dump @@ -0,0 +1,1141 @@ + +rv64ui-v-ld: 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,sbadaddr + 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: a5868693 addi a3,a3,-1448 # 80002eb0 <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: a8c60613 addi a2,a2,-1396 # 80002f40 <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: 00001617 auipc a2,0x1 + 80002508: a5460613 addi a2,a2,-1452 # 80002f58 <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: 00001697 auipc a3,0x1 + 80002558: 9a468693 addi a3,a3,-1628 # 80002ef8 <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: 00001697 auipc a3,0x1 + 80002674: 9c068693 addi a3,a3,-1600 # 80003030 <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: 00001617 auipc a2,0x1 + 800026cc: 94060613 addi a2,a2,-1728 # 80003008 <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: 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: 87468693 addi a3,a3,-1932 # 80003060 <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: 79468693 addi a3,a3,1940 # 80002fd0 <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: 72468693 addi a3,a3,1828 # 80002f98 <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: 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: 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: 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: 055417b7 lui a5,0x5541 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b2578793 addi a5,a5,-1243 # 5540b25 <_start-0x7aabf4db> + 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: 00001097 auipc ra,0x1 + 80002acc: 53808093 addi ra,ra,1336 # 80004000 <begin_signature> + 80002ad0: 0000bf03 ld t5,0(ra) + 80002ad4: 00ff0eb7 lui t4,0xff0 + 80002ad8: 0ffe8e9b addiw t4,t4,255 + 80002adc: 010e9e93 slli t4,t4,0x10 + 80002ae0: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 80002ae4: 010e9e93 slli t4,t4,0x10 + 80002ae8: 0ffe8e93 addi t4,t4,255 + 80002aec: 00200193 li gp,2 + 80002af0: 3bdf1263 bne t5,t4,80002e94 <fail> + +0000000080002af4 <test_3>: + 80002af4: 00001097 auipc ra,0x1 + 80002af8: 50c08093 addi ra,ra,1292 # 80004000 <begin_signature> + 80002afc: 0080bf03 ld t5,8(ra) + 80002b00: ff010eb7 lui t4,0xff010 + 80002b04: f01e8e9b addiw t4,t4,-255 + 80002b08: 010e9e93 slli t4,t4,0x10 + 80002b0c: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f006711> + 80002b10: 010e9e93 slli t4,t4,0x10 + 80002b14: f00e8e93 addi t4,t4,-256 + 80002b18: 00300193 li gp,3 + 80002b1c: 37df1c63 bne t5,t4,80002e94 <fail> + +0000000080002b20 <test_4>: + 80002b20: 00001097 auipc ra,0x1 + 80002b24: 4e008093 addi ra,ra,1248 # 80004000 <begin_signature> + 80002b28: 0100bf03 ld t5,16(ra) + 80002b2c: 00010eb7 lui t4,0x10 + 80002b30: f01e8e9b addiw t4,t4,-255 + 80002b34: 010e9e93 slli t4,t4,0x10 + 80002b38: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80002b3c: 010e9e93 slli t4,t4,0x10 + 80002b40: f01e8e93 addi t4,t4,-255 + 80002b44: 00ce9e93 slli t4,t4,0xc + 80002b48: ff0e8e93 addi t4,t4,-16 + 80002b4c: 00400193 li gp,4 + 80002b50: 35df1263 bne t5,t4,80002e94 <fail> + +0000000080002b54 <test_5>: + 80002b54: 00001097 auipc ra,0x1 + 80002b58: 4ac08093 addi ra,ra,1196 # 80004000 <begin_signature> + 80002b5c: 0180bf03 ld t5,24(ra) + 80002b60: ffff0eb7 lui t4,0xffff0 + 80002b64: 0ffe8e9b addiw t4,t4,255 + 80002b68: 010e9e93 slli t4,t4,0x10 + 80002b6c: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffe690f> + 80002b70: 010e9e93 slli t4,t4,0x10 + 80002b74: 0ffe8e93 addi t4,t4,255 + 80002b78: 00ce9e93 slli t4,t4,0xc + 80002b7c: 00fe8e93 addi t4,t4,15 + 80002b80: 00500193 li gp,5 + 80002b84: 31df1863 bne t5,t4,80002e94 <fail> + +0000000080002b88 <test_6>: + 80002b88: 00001097 auipc ra,0x1 + 80002b8c: 49008093 addi ra,ra,1168 # 80004018 <tdat4> + 80002b90: fe80bf03 ld t5,-24(ra) + 80002b94: 00ff0eb7 lui t4,0xff0 + 80002b98: 0ffe8e9b addiw t4,t4,255 + 80002b9c: 010e9e93 slli t4,t4,0x10 + 80002ba0: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 80002ba4: 010e9e93 slli t4,t4,0x10 + 80002ba8: 0ffe8e93 addi t4,t4,255 + 80002bac: 00600193 li gp,6 + 80002bb0: 2fdf1263 bne t5,t4,80002e94 <fail> + +0000000080002bb4 <test_7>: + 80002bb4: 00001097 auipc ra,0x1 + 80002bb8: 46408093 addi ra,ra,1124 # 80004018 <tdat4> + 80002bbc: ff00bf03 ld t5,-16(ra) + 80002bc0: ff010eb7 lui t4,0xff010 + 80002bc4: f01e8e9b addiw t4,t4,-255 + 80002bc8: 010e9e93 slli t4,t4,0x10 + 80002bcc: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f006711> + 80002bd0: 010e9e93 slli t4,t4,0x10 + 80002bd4: f00e8e93 addi t4,t4,-256 + 80002bd8: 00700193 li gp,7 + 80002bdc: 2bdf1c63 bne t5,t4,80002e94 <fail> + +0000000080002be0 <test_8>: + 80002be0: 00001097 auipc ra,0x1 + 80002be4: 43808093 addi ra,ra,1080 # 80004018 <tdat4> + 80002be8: ff80bf03 ld t5,-8(ra) + 80002bec: 00010eb7 lui t4,0x10 + 80002bf0: f01e8e9b addiw t4,t4,-255 + 80002bf4: 010e9e93 slli t4,t4,0x10 + 80002bf8: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80002bfc: 010e9e93 slli t4,t4,0x10 + 80002c00: f01e8e93 addi t4,t4,-255 + 80002c04: 00ce9e93 slli t4,t4,0xc + 80002c08: ff0e8e93 addi t4,t4,-16 + 80002c0c: 00800193 li gp,8 + 80002c10: 29df1263 bne t5,t4,80002e94 <fail> + +0000000080002c14 <test_9>: + 80002c14: 00001097 auipc ra,0x1 + 80002c18: 40408093 addi ra,ra,1028 # 80004018 <tdat4> + 80002c1c: 0000bf03 ld t5,0(ra) + 80002c20: ffff0eb7 lui t4,0xffff0 + 80002c24: 0ffe8e9b addiw t4,t4,255 + 80002c28: 010e9e93 slli t4,t4,0x10 + 80002c2c: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffe690f> + 80002c30: 010e9e93 slli t4,t4,0x10 + 80002c34: 0ffe8e93 addi t4,t4,255 + 80002c38: 00ce9e93 slli t4,t4,0xc + 80002c3c: 00fe8e93 addi t4,t4,15 + 80002c40: 00900193 li gp,9 + 80002c44: 25df1863 bne t5,t4,80002e94 <fail> + +0000000080002c48 <test_10>: + 80002c48: 00001097 auipc ra,0x1 + 80002c4c: 3b808093 addi ra,ra,952 # 80004000 <begin_signature> + 80002c50: fe008093 addi ra,ra,-32 + 80002c54: 0200b283 ld t0,32(ra) + 80002c58: 00ff0eb7 lui t4,0xff0 + 80002c5c: 0ffe8e9b addiw t4,t4,255 + 80002c60: 010e9e93 slli t4,t4,0x10 + 80002c64: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 80002c68: 010e9e93 slli t4,t4,0x10 + 80002c6c: 0ffe8e93 addi t4,t4,255 + 80002c70: 00a00193 li gp,10 + 80002c74: 23d29063 bne t0,t4,80002e94 <fail> + +0000000080002c78 <test_11>: + 80002c78: 00001097 auipc ra,0x1 + 80002c7c: 38808093 addi ra,ra,904 # 80004000 <begin_signature> + 80002c80: ffd08093 addi ra,ra,-3 + 80002c84: 00b0b283 ld t0,11(ra) + 80002c88: ff010eb7 lui t4,0xff010 + 80002c8c: f01e8e9b addiw t4,t4,-255 + 80002c90: 010e9e93 slli t4,t4,0x10 + 80002c94: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f006711> + 80002c98: 010e9e93 slli t4,t4,0x10 + 80002c9c: f00e8e93 addi t4,t4,-256 + 80002ca0: 00b00193 li gp,11 + 80002ca4: 1fd29863 bne t0,t4,80002e94 <fail> + +0000000080002ca8 <test_12>: + 80002ca8: 00c00193 li gp,12 + 80002cac: 00000213 li tp,0 + 80002cb0: 00001097 auipc ra,0x1 + 80002cb4: 35808093 addi ra,ra,856 # 80004008 <tdat2> + 80002cb8: 0080bf03 ld t5,8(ra) + 80002cbc: 000f0313 mv t1,t5 + 80002cc0: 00010eb7 lui t4,0x10 + 80002cc4: f01e8e9b addiw t4,t4,-255 + 80002cc8: 010e9e93 slli t4,t4,0x10 + 80002ccc: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80002cd0: 010e9e93 slli t4,t4,0x10 + 80002cd4: f01e8e93 addi t4,t4,-255 + 80002cd8: 00ce9e93 slli t4,t4,0xc + 80002cdc: ff0e8e93 addi t4,t4,-16 + 80002ce0: 1bd31a63 bne t1,t4,80002e94 <fail> + 80002ce4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce8: 00200293 li t0,2 + 80002cec: fc5212e3 bne tp,t0,80002cb0 <test_12+0x8> + +0000000080002cf0 <test_13>: + 80002cf0: 00d00193 li gp,13 + 80002cf4: 00000213 li tp,0 + 80002cf8: 00001097 auipc ra,0x1 + 80002cfc: 31808093 addi ra,ra,792 # 80004010 <tdat3> + 80002d00: 0080bf03 ld t5,8(ra) + 80002d04: 00000013 nop + 80002d08: 000f0313 mv t1,t5 + 80002d0c: ffff0eb7 lui t4,0xffff0 + 80002d10: 0ffe8e9b addiw t4,t4,255 + 80002d14: 010e9e93 slli t4,t4,0x10 + 80002d18: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffe690f> + 80002d1c: 010e9e93 slli t4,t4,0x10 + 80002d20: 0ffe8e93 addi t4,t4,255 + 80002d24: 00ce9e93 slli t4,t4,0xc + 80002d28: 00fe8e93 addi t4,t4,15 + 80002d2c: 17d31463 bne t1,t4,80002e94 <fail> + 80002d30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d34: 00200293 li t0,2 + 80002d38: fc5210e3 bne tp,t0,80002cf8 <test_13+0x8> + +0000000080002d3c <test_14>: + 80002d3c: 00e00193 li gp,14 + 80002d40: 00000213 li tp,0 + 80002d44: 00001097 auipc ra,0x1 + 80002d48: 2bc08093 addi ra,ra,700 # 80004000 <begin_signature> + 80002d4c: 0080bf03 ld t5,8(ra) + 80002d50: 00000013 nop + 80002d54: 00000013 nop + 80002d58: 000f0313 mv t1,t5 + 80002d5c: ff010eb7 lui t4,0xff010 + 80002d60: f01e8e9b addiw t4,t4,-255 + 80002d64: 010e9e93 slli t4,t4,0x10 + 80002d68: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f006711> + 80002d6c: 010e9e93 slli t4,t4,0x10 + 80002d70: f00e8e93 addi t4,t4,-256 + 80002d74: 13d31063 bne t1,t4,80002e94 <fail> + 80002d78: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d7c: 00200293 li t0,2 + 80002d80: fc5212e3 bne tp,t0,80002d44 <test_14+0x8> + +0000000080002d84 <test_15>: + 80002d84: 00f00193 li gp,15 + 80002d88: 00000213 li tp,0 + 80002d8c: 00001097 auipc ra,0x1 + 80002d90: 27c08093 addi ra,ra,636 # 80004008 <tdat2> + 80002d94: 0080bf03 ld t5,8(ra) + 80002d98: 00010eb7 lui t4,0x10 + 80002d9c: f01e8e9b addiw t4,t4,-255 + 80002da0: 010e9e93 slli t4,t4,0x10 + 80002da4: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80002da8: 010e9e93 slli t4,t4,0x10 + 80002dac: f01e8e93 addi t4,t4,-255 + 80002db0: 00ce9e93 slli t4,t4,0xc + 80002db4: ff0e8e93 addi t4,t4,-16 + 80002db8: 0ddf1e63 bne t5,t4,80002e94 <fail> + 80002dbc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dc0: 00200293 li t0,2 + 80002dc4: fc5214e3 bne tp,t0,80002d8c <test_15+0x8> + +0000000080002dc8 <test_16>: + 80002dc8: 01000193 li gp,16 + 80002dcc: 00000213 li tp,0 + 80002dd0: 00001097 auipc ra,0x1 + 80002dd4: 24008093 addi ra,ra,576 # 80004010 <tdat3> + 80002dd8: 00000013 nop + 80002ddc: 0080bf03 ld t5,8(ra) + 80002de0: ffff0eb7 lui t4,0xffff0 + 80002de4: 0ffe8e9b addiw t4,t4,255 + 80002de8: 010e9e93 slli t4,t4,0x10 + 80002dec: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffe690f> + 80002df0: 010e9e93 slli t4,t4,0x10 + 80002df4: 0ffe8e93 addi t4,t4,255 + 80002df8: 00ce9e93 slli t4,t4,0xc + 80002dfc: 00fe8e93 addi t4,t4,15 + 80002e00: 09df1a63 bne t5,t4,80002e94 <fail> + 80002e04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e08: 00200293 li t0,2 + 80002e0c: fc5212e3 bne tp,t0,80002dd0 <test_16+0x8> + +0000000080002e10 <test_17>: + 80002e10: 01100193 li gp,17 + 80002e14: 00000213 li tp,0 + 80002e18: 00001097 auipc ra,0x1 + 80002e1c: 1e808093 addi ra,ra,488 # 80004000 <begin_signature> + 80002e20: 00000013 nop + 80002e24: 00000013 nop + 80002e28: 0080bf03 ld t5,8(ra) + 80002e2c: ff010eb7 lui t4,0xff010 + 80002e30: f01e8e9b addiw t4,t4,-255 + 80002e34: 010e9e93 slli t4,t4,0x10 + 80002e38: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f006711> + 80002e3c: 010e9e93 slli t4,t4,0x10 + 80002e40: f00e8e93 addi t4,t4,-256 + 80002e44: 05df1863 bne t5,t4,80002e94 <fail> + 80002e48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e4c: 00200293 li t0,2 + 80002e50: fc5214e3 bne tp,t0,80002e18 <test_17+0x8> + +0000000080002e54 <test_18>: + 80002e54: 00001297 auipc t0,0x1 + 80002e58: 1ac28293 addi t0,t0,428 # 80004000 <begin_signature> + 80002e5c: 0002b103 ld sp,0(t0) + 80002e60: 00200113 li sp,2 + 80002e64: 00200e93 li t4,2 + 80002e68: 01200193 li gp,18 + 80002e6c: 03d11463 bne sp,t4,80002e94 <fail> + +0000000080002e70 <test_19>: + 80002e70: 00001297 auipc t0,0x1 + 80002e74: 19028293 addi t0,t0,400 # 80004000 <begin_signature> + 80002e78: 0002b103 ld sp,0(t0) + 80002e7c: 00000013 nop + 80002e80: 00200113 li sp,2 + 80002e84: 00200e93 li t4,2 + 80002e88: 01300193 li gp,19 + 80002e8c: 01d11463 bne sp,t4,80002e94 <fail> + 80002e90: 00301a63 bne zero,gp,80002ea4 <pass> + +0000000080002e94 <fail>: + 80002e94: 00119513 slli a0,gp,0x1 + 80002e98: 00050063 beqz a0,80002e98 <fail+0x4> + 80002e9c: 00156513 ori a0,a0,1 + 80002ea0: 00000073 ecall + +0000000080002ea4 <pass>: + 80002ea4: 00100513 li a0,1 + 80002ea8: 00000073 ecall + 80002eac: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <begin_signature>: + 80004000: 00ff 0xff + 80004002: 00ff 0xff + 80004004: 00ff 0xff + 80004006: 00ff 0xff + +0000000080004008 <tdat2>: + 80004008: ff00 sd s0,56(a4) + 8000400a: ff00 sd s0,56(a4) + 8000400c: ff00 sd s0,56(a4) + 8000400e: ff00 sd s0,56(a4) + +0000000080004010 <tdat3>: + 80004010: 0ff0 addi a2,sp,988 + 80004012: 0ff0 addi a2,sp,988 + 80004014: 0ff0 addi a2,sp,988 + 80004016: 0ff0 addi a2,sp,988 + +0000000080004018 <tdat4>: + 80004018: f00ff00f 0xf00ff00f + 8000401c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-v-ld.elf b/test/riscv/tests/rv64ui-v-ld.elf Binary files differnew file mode 100644 index 00000000..29406988 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-ld.elf diff --git a/test/riscv/tests/rv64ui-v-lh.dump b/test/riscv/tests/rv64ui-v-lh.dump new file mode 100644 index 00000000..50f2fddc --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lh.dump @@ -0,0 +1,1043 @@ + +rv64ui-v-lh: 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,sbadaddr + 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: 8f868693 addi a3,a3,-1800 # 80002d50 <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: 92c60613 addi a2,a2,-1748 # 80002de0 <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: 00001617 auipc a2,0x1 + 80002508: 8f460613 addi a2,a2,-1804 # 80002df8 <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: 00001697 auipc a3,0x1 + 80002558: 84468693 addi a3,a3,-1980 # 80002d98 <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: 00001697 auipc a3,0x1 + 80002674: 86068693 addi a3,a3,-1952 # 80002ed0 <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: 7e060613 addi a2,a2,2016 # 80002ea8 <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: 71468693 addi a3,a3,1812 # 80002f00 <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: 63468693 addi a3,a3,1588 # 80002e70 <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: 5c468693 addi a3,a3,1476 # 80002e38 <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: 00700793 li a5,7 + 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: 039687b7 lui a5,0x3968 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c8378793 addi a5,a5,-893 # 3967c83 <_start-0x7c69837d> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 00009f03 lh t5,0(ra) + 80002ad4: 0ff00e93 li t4,255 + 80002ad8: 00200193 li gp,2 + 80002adc: 25df1c63 bne t5,t4,80002d34 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00000097 auipc ra,0x0 + 80002ae4: 52008093 addi ra,ra,1312 # 80003000 <begin_signature> + 80002ae8: 00209f03 lh t5,2(ra) + 80002aec: f0000e93 li t4,-256 + 80002af0: 00300193 li gp,3 + 80002af4: 25df1063 bne t5,t4,80002d34 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00000097 auipc ra,0x0 + 80002afc: 50808093 addi ra,ra,1288 # 80003000 <begin_signature> + 80002b00: 00409f03 lh t5,4(ra) + 80002b04: 00001eb7 lui t4,0x1 + 80002b08: ff0e8e9b addiw t4,t4,-16 + 80002b0c: 00400193 li gp,4 + 80002b10: 23df1263 bne t5,t4,80002d34 <fail> + +0000000080002b14 <test_5>: + 80002b14: 00000097 auipc ra,0x0 + 80002b18: 4ec08093 addi ra,ra,1260 # 80003000 <begin_signature> + 80002b1c: 00609f03 lh t5,6(ra) + 80002b20: fffffeb7 lui t4,0xfffff + 80002b24: 00fe8e9b addiw t4,t4,15 + 80002b28: 00500193 li gp,5 + 80002b2c: 21df1463 bne t5,t4,80002d34 <fail> + +0000000080002b30 <test_6>: + 80002b30: 00000097 auipc ra,0x0 + 80002b34: 4d608093 addi ra,ra,1238 # 80003006 <tdat4> + 80002b38: ffa09f03 lh t5,-6(ra) + 80002b3c: 0ff00e93 li t4,255 + 80002b40: 00600193 li gp,6 + 80002b44: 1fdf1863 bne t5,t4,80002d34 <fail> + +0000000080002b48 <test_7>: + 80002b48: 00000097 auipc ra,0x0 + 80002b4c: 4be08093 addi ra,ra,1214 # 80003006 <tdat4> + 80002b50: ffc09f03 lh t5,-4(ra) + 80002b54: f0000e93 li t4,-256 + 80002b58: 00700193 li gp,7 + 80002b5c: 1ddf1c63 bne t5,t4,80002d34 <fail> + +0000000080002b60 <test_8>: + 80002b60: 00000097 auipc ra,0x0 + 80002b64: 4a608093 addi ra,ra,1190 # 80003006 <tdat4> + 80002b68: ffe09f03 lh t5,-2(ra) + 80002b6c: 00001eb7 lui t4,0x1 + 80002b70: ff0e8e9b addiw t4,t4,-16 + 80002b74: 00800193 li gp,8 + 80002b78: 1bdf1e63 bne t5,t4,80002d34 <fail> + +0000000080002b7c <test_9>: + 80002b7c: 00000097 auipc ra,0x0 + 80002b80: 48a08093 addi ra,ra,1162 # 80003006 <tdat4> + 80002b84: 00009f03 lh t5,0(ra) + 80002b88: fffffeb7 lui t4,0xfffff + 80002b8c: 00fe8e9b addiw t4,t4,15 + 80002b90: 00900193 li gp,9 + 80002b94: 1bdf1063 bne t5,t4,80002d34 <fail> + +0000000080002b98 <test_10>: + 80002b98: 00000097 auipc ra,0x0 + 80002b9c: 46808093 addi ra,ra,1128 # 80003000 <begin_signature> + 80002ba0: fe008093 addi ra,ra,-32 + 80002ba4: 02009283 lh t0,32(ra) + 80002ba8: 0ff00e93 li t4,255 + 80002bac: 00a00193 li gp,10 + 80002bb0: 19d29263 bne t0,t4,80002d34 <fail> + +0000000080002bb4 <test_11>: + 80002bb4: 00000097 auipc ra,0x0 + 80002bb8: 44c08093 addi ra,ra,1100 # 80003000 <begin_signature> + 80002bbc: ffb08093 addi ra,ra,-5 + 80002bc0: 00709283 lh t0,7(ra) + 80002bc4: f0000e93 li t4,-256 + 80002bc8: 00b00193 li gp,11 + 80002bcc: 17d29463 bne t0,t4,80002d34 <fail> + +0000000080002bd0 <test_12>: + 80002bd0: 00c00193 li gp,12 + 80002bd4: 00000213 li tp,0 + 80002bd8: 00000097 auipc ra,0x0 + 80002bdc: 42a08093 addi ra,ra,1066 # 80003002 <tdat2> + 80002be0: 00209f03 lh t5,2(ra) + 80002be4: 000f0313 mv t1,t5 + 80002be8: 00001eb7 lui t4,0x1 + 80002bec: ff0e8e9b addiw t4,t4,-16 + 80002bf0: 15d31263 bne t1,t4,80002d34 <fail> + 80002bf4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bf8: 00200293 li t0,2 + 80002bfc: fc521ee3 bne tp,t0,80002bd8 <test_12+0x8> + +0000000080002c00 <test_13>: + 80002c00: 00d00193 li gp,13 + 80002c04: 00000213 li tp,0 + 80002c08: 00000097 auipc ra,0x0 + 80002c0c: 3fc08093 addi ra,ra,1020 # 80003004 <tdat3> + 80002c10: 00209f03 lh t5,2(ra) + 80002c14: 00000013 nop + 80002c18: 000f0313 mv t1,t5 + 80002c1c: fffffeb7 lui t4,0xfffff + 80002c20: 00fe8e9b addiw t4,t4,15 + 80002c24: 11d31863 bne t1,t4,80002d34 <fail> + 80002c28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c2c: 00200293 li t0,2 + 80002c30: fc521ce3 bne tp,t0,80002c08 <test_13+0x8> + +0000000080002c34 <test_14>: + 80002c34: 00e00193 li gp,14 + 80002c38: 00000213 li tp,0 + 80002c3c: 00000097 auipc ra,0x0 + 80002c40: 3c408093 addi ra,ra,964 # 80003000 <begin_signature> + 80002c44: 00209f03 lh t5,2(ra) + 80002c48: 00000013 nop + 80002c4c: 00000013 nop + 80002c50: 000f0313 mv t1,t5 + 80002c54: f0000e93 li t4,-256 + 80002c58: 0dd31e63 bne t1,t4,80002d34 <fail> + 80002c5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c60: 00200293 li t0,2 + 80002c64: fc521ce3 bne tp,t0,80002c3c <test_14+0x8> + +0000000080002c68 <test_15>: + 80002c68: 00f00193 li gp,15 + 80002c6c: 00000213 li tp,0 + 80002c70: 00000097 auipc ra,0x0 + 80002c74: 39208093 addi ra,ra,914 # 80003002 <tdat2> + 80002c78: 00209f03 lh t5,2(ra) + 80002c7c: 00001eb7 lui t4,0x1 + 80002c80: ff0e8e9b addiw t4,t4,-16 + 80002c84: 0bdf1863 bne t5,t4,80002d34 <fail> + 80002c88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c8c: 00200293 li t0,2 + 80002c90: fe5210e3 bne tp,t0,80002c70 <test_15+0x8> + +0000000080002c94 <test_16>: + 80002c94: 01000193 li gp,16 + 80002c98: 00000213 li tp,0 + 80002c9c: 00000097 auipc ra,0x0 + 80002ca0: 36808093 addi ra,ra,872 # 80003004 <tdat3> + 80002ca4: 00000013 nop + 80002ca8: 00209f03 lh t5,2(ra) + 80002cac: fffffeb7 lui t4,0xfffff + 80002cb0: 00fe8e9b addiw t4,t4,15 + 80002cb4: 09df1063 bne t5,t4,80002d34 <fail> + 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cbc: 00200293 li t0,2 + 80002cc0: fc521ee3 bne tp,t0,80002c9c <test_16+0x8> + +0000000080002cc4 <test_17>: + 80002cc4: 01100193 li gp,17 + 80002cc8: 00000213 li tp,0 + 80002ccc: 00000097 auipc ra,0x0 + 80002cd0: 33408093 addi ra,ra,820 # 80003000 <begin_signature> + 80002cd4: 00000013 nop + 80002cd8: 00000013 nop + 80002cdc: 00209f03 lh t5,2(ra) + 80002ce0: f0000e93 li t4,-256 + 80002ce4: 05df1863 bne t5,t4,80002d34 <fail> + 80002ce8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cec: 00200293 li t0,2 + 80002cf0: fc521ee3 bne tp,t0,80002ccc <test_17+0x8> + +0000000080002cf4 <test_18>: + 80002cf4: 00000297 auipc t0,0x0 + 80002cf8: 30c28293 addi t0,t0,780 # 80003000 <begin_signature> + 80002cfc: 00029103 lh sp,0(t0) + 80002d00: 00200113 li sp,2 + 80002d04: 00200e93 li t4,2 + 80002d08: 01200193 li gp,18 + 80002d0c: 03d11463 bne sp,t4,80002d34 <fail> + +0000000080002d10 <test_19>: + 80002d10: 00000297 auipc t0,0x0 + 80002d14: 2f028293 addi t0,t0,752 # 80003000 <begin_signature> + 80002d18: 00029103 lh sp,0(t0) + 80002d1c: 00000013 nop + 80002d20: 00200113 li sp,2 + 80002d24: 00200e93 li t4,2 + 80002d28: 01300193 li gp,19 + 80002d2c: 01d11463 bne sp,t4,80002d34 <fail> + 80002d30: 00301a63 bne zero,gp,80002d44 <pass> + +0000000080002d34 <fail>: + 80002d34: 00119513 slli a0,gp,0x1 + 80002d38: 00050063 beqz a0,80002d38 <fail+0x4> + 80002d3c: 00156513 ori a0,a0,1 + 80002d40: 00000073 ecall + +0000000080002d44 <pass>: + 80002d44: 00100513 li a0,1 + 80002d48: 00000073 ecall + 80002d4c: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 00ff 0xff + +0000000080003002 <tdat2>: + 80003002: ff00 sd s0,56(a4) + +0000000080003004 <tdat3>: + 80003004: 0ff0 addi a2,sp,988 + +0000000080003006 <tdat4>: + 80003006: 0xf00f diff --git a/test/riscv/tests/rv64ui-v-lh.elf b/test/riscv/tests/rv64ui-v-lh.elf Binary files differnew file mode 100644 index 00000000..7d91368b --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lh.elf diff --git a/test/riscv/tests/rv64ui-v-lhu.dump b/test/riscv/tests/rv64ui-v-lhu.dump new file mode 100644 index 00000000..45585fe4 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lhu.dump @@ -0,0 +1,1048 @@ + +rv64ui-v-lhu: 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,sbadaddr + 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: 91068693 addi a3,a3,-1776 # 80002d68 <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: 94460613 addi a2,a2,-1724 # 80002df8 <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: 90c60613 addi a2,a2,-1780 # 80002e10 <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: 85c68693 addi a3,a3,-1956 # 80002db0 <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: 87868693 addi a3,a3,-1928 # 80002ee8 <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: 7f860613 addi a2,a2,2040 # 80002ec0 <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: 72c68693 addi a3,a3,1836 # 80002f18 <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: 64c68693 addi a3,a3,1612 # 80002e88 <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: 5dc68693 addi a3,a3,1500 # 80002e50 <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: 03b00793 li a5,59 + 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: 007667b7 lui a5,0x766 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: efb78793 addi a5,a5,-261 # 765efb <_start-0x7f89a105> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 0000df03 lhu t5,0(ra) + 80002ad4: 0ff00e93 li t4,255 + 80002ad8: 00200193 li gp,2 + 80002adc: 27df1663 bne t5,t4,80002d48 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00000097 auipc ra,0x0 + 80002ae4: 52008093 addi ra,ra,1312 # 80003000 <begin_signature> + 80002ae8: 0020df03 lhu t5,2(ra) + 80002aec: 00010eb7 lui t4,0x10 + 80002af0: f00e8e9b addiw t4,t4,-256 + 80002af4: 00300193 li gp,3 + 80002af8: 25df1863 bne t5,t4,80002d48 <fail> + +0000000080002afc <test_4>: + 80002afc: 00000097 auipc ra,0x0 + 80002b00: 50408093 addi ra,ra,1284 # 80003000 <begin_signature> + 80002b04: 0040df03 lhu t5,4(ra) + 80002b08: 00001eb7 lui t4,0x1 + 80002b0c: ff0e8e9b addiw t4,t4,-16 + 80002b10: 00400193 li gp,4 + 80002b14: 23df1a63 bne t5,t4,80002d48 <fail> + +0000000080002b18 <test_5>: + 80002b18: 00000097 auipc ra,0x0 + 80002b1c: 4e808093 addi ra,ra,1256 # 80003000 <begin_signature> + 80002b20: 0060df03 lhu t5,6(ra) + 80002b24: 0000feb7 lui t4,0xf + 80002b28: 00fe8e9b addiw t4,t4,15 + 80002b2c: 00500193 li gp,5 + 80002b30: 21df1c63 bne t5,t4,80002d48 <fail> + +0000000080002b34 <test_6>: + 80002b34: 00000097 auipc ra,0x0 + 80002b38: 4d208093 addi ra,ra,1234 # 80003006 <tdat4> + 80002b3c: ffa0df03 lhu t5,-6(ra) + 80002b40: 0ff00e93 li t4,255 + 80002b44: 00600193 li gp,6 + 80002b48: 21df1063 bne t5,t4,80002d48 <fail> + +0000000080002b4c <test_7>: + 80002b4c: 00000097 auipc ra,0x0 + 80002b50: 4ba08093 addi ra,ra,1210 # 80003006 <tdat4> + 80002b54: ffc0df03 lhu t5,-4(ra) + 80002b58: 00010eb7 lui t4,0x10 + 80002b5c: f00e8e9b addiw t4,t4,-256 + 80002b60: 00700193 li gp,7 + 80002b64: 1fdf1263 bne t5,t4,80002d48 <fail> + +0000000080002b68 <test_8>: + 80002b68: 00000097 auipc ra,0x0 + 80002b6c: 49e08093 addi ra,ra,1182 # 80003006 <tdat4> + 80002b70: ffe0df03 lhu t5,-2(ra) + 80002b74: 00001eb7 lui t4,0x1 + 80002b78: ff0e8e9b addiw t4,t4,-16 + 80002b7c: 00800193 li gp,8 + 80002b80: 1ddf1463 bne t5,t4,80002d48 <fail> + +0000000080002b84 <test_9>: + 80002b84: 00000097 auipc ra,0x0 + 80002b88: 48208093 addi ra,ra,1154 # 80003006 <tdat4> + 80002b8c: 0000df03 lhu t5,0(ra) + 80002b90: 0000feb7 lui t4,0xf + 80002b94: 00fe8e9b addiw t4,t4,15 + 80002b98: 00900193 li gp,9 + 80002b9c: 1bdf1663 bne t5,t4,80002d48 <fail> + +0000000080002ba0 <test_10>: + 80002ba0: 00000097 auipc ra,0x0 + 80002ba4: 46008093 addi ra,ra,1120 # 80003000 <begin_signature> + 80002ba8: fe008093 addi ra,ra,-32 + 80002bac: 0200d283 lhu t0,32(ra) + 80002bb0: 0ff00e93 li t4,255 + 80002bb4: 00a00193 li gp,10 + 80002bb8: 19d29863 bne t0,t4,80002d48 <fail> + +0000000080002bbc <test_11>: + 80002bbc: 00000097 auipc ra,0x0 + 80002bc0: 44408093 addi ra,ra,1092 # 80003000 <begin_signature> + 80002bc4: ffb08093 addi ra,ra,-5 + 80002bc8: 0070d283 lhu t0,7(ra) + 80002bcc: 00010eb7 lui t4,0x10 + 80002bd0: f00e8e9b addiw t4,t4,-256 + 80002bd4: 00b00193 li gp,11 + 80002bd8: 17d29863 bne t0,t4,80002d48 <fail> + +0000000080002bdc <test_12>: + 80002bdc: 00c00193 li gp,12 + 80002be0: 00000213 li tp,0 + 80002be4: 00000097 auipc ra,0x0 + 80002be8: 41e08093 addi ra,ra,1054 # 80003002 <tdat2> + 80002bec: 0020df03 lhu t5,2(ra) + 80002bf0: 000f0313 mv t1,t5 + 80002bf4: 00001eb7 lui t4,0x1 + 80002bf8: ff0e8e9b addiw t4,t4,-16 + 80002bfc: 15d31663 bne t1,t4,80002d48 <fail> + 80002c00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c04: 00200293 li t0,2 + 80002c08: fc521ee3 bne tp,t0,80002be4 <test_12+0x8> + +0000000080002c0c <test_13>: + 80002c0c: 00d00193 li gp,13 + 80002c10: 00000213 li tp,0 + 80002c14: 00000097 auipc ra,0x0 + 80002c18: 3f008093 addi ra,ra,1008 # 80003004 <tdat3> + 80002c1c: 0020df03 lhu t5,2(ra) + 80002c20: 00000013 nop + 80002c24: 000f0313 mv t1,t5 + 80002c28: 0000feb7 lui t4,0xf + 80002c2c: 00fe8e9b addiw t4,t4,15 + 80002c30: 11d31c63 bne t1,t4,80002d48 <fail> + 80002c34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c38: 00200293 li t0,2 + 80002c3c: fc521ce3 bne tp,t0,80002c14 <test_13+0x8> + +0000000080002c40 <test_14>: + 80002c40: 00e00193 li gp,14 + 80002c44: 00000213 li tp,0 + 80002c48: 00000097 auipc ra,0x0 + 80002c4c: 3b808093 addi ra,ra,952 # 80003000 <begin_signature> + 80002c50: 0020df03 lhu t5,2(ra) + 80002c54: 00000013 nop + 80002c58: 00000013 nop + 80002c5c: 000f0313 mv t1,t5 + 80002c60: 00010eb7 lui t4,0x10 + 80002c64: f00e8e9b addiw t4,t4,-256 + 80002c68: 0fd31063 bne t1,t4,80002d48 <fail> + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fc521ae3 bne tp,t0,80002c48 <test_14+0x8> + +0000000080002c78 <test_15>: + 80002c78: 00f00193 li gp,15 + 80002c7c: 00000213 li tp,0 + 80002c80: 00000097 auipc ra,0x0 + 80002c84: 38208093 addi ra,ra,898 # 80003002 <tdat2> + 80002c88: 0020df03 lhu t5,2(ra) + 80002c8c: 00001eb7 lui t4,0x1 + 80002c90: ff0e8e9b addiw t4,t4,-16 + 80002c94: 0bdf1a63 bne t5,t4,80002d48 <fail> + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5210e3 bne tp,t0,80002c80 <test_15+0x8> + +0000000080002ca4 <test_16>: + 80002ca4: 01000193 li gp,16 + 80002ca8: 00000213 li tp,0 + 80002cac: 00000097 auipc ra,0x0 + 80002cb0: 35808093 addi ra,ra,856 # 80003004 <tdat3> + 80002cb4: 00000013 nop + 80002cb8: 0020df03 lhu t5,2(ra) + 80002cbc: 0000feb7 lui t4,0xf + 80002cc0: 00fe8e9b addiw t4,t4,15 + 80002cc4: 09df1263 bne t5,t4,80002d48 <fail> + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fc521ee3 bne tp,t0,80002cac <test_16+0x8> + +0000000080002cd4 <test_17>: + 80002cd4: 01100193 li gp,17 + 80002cd8: 00000213 li tp,0 + 80002cdc: 00000097 auipc ra,0x0 + 80002ce0: 32408093 addi ra,ra,804 # 80003000 <begin_signature> + 80002ce4: 00000013 nop + 80002ce8: 00000013 nop + 80002cec: 0020df03 lhu t5,2(ra) + 80002cf0: 00010eb7 lui t4,0x10 + 80002cf4: f00e8e9b addiw t4,t4,-256 + 80002cf8: 05df1863 bne t5,t4,80002d48 <fail> + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fc521ce3 bne tp,t0,80002cdc <test_17+0x8> + +0000000080002d08 <test_18>: + 80002d08: 00000297 auipc t0,0x0 + 80002d0c: 2f828293 addi t0,t0,760 # 80003000 <begin_signature> + 80002d10: 0002d103 lhu sp,0(t0) + 80002d14: 00200113 li sp,2 + 80002d18: 00200e93 li t4,2 + 80002d1c: 01200193 li gp,18 + 80002d20: 03d11463 bne sp,t4,80002d48 <fail> + +0000000080002d24 <test_19>: + 80002d24: 00000297 auipc t0,0x0 + 80002d28: 2dc28293 addi t0,t0,732 # 80003000 <begin_signature> + 80002d2c: 0002d103 lhu sp,0(t0) + 80002d30: 00000013 nop + 80002d34: 00200113 li sp,2 + 80002d38: 00200e93 li t4,2 + 80002d3c: 01300193 li gp,19 + 80002d40: 01d11463 bne sp,t4,80002d48 <fail> + 80002d44: 00301a63 bne zero,gp,80002d58 <pass> + +0000000080002d48 <fail>: + 80002d48: 00119513 slli a0,gp,0x1 + 80002d4c: 00050063 beqz a0,80002d4c <fail+0x4> + 80002d50: 00156513 ori a0,a0,1 + 80002d54: 00000073 ecall + +0000000080002d58 <pass>: + 80002d58: 00100513 li a0,1 + 80002d5c: 00000073 ecall + 80002d60: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 00ff 0xff + +0000000080003002 <tdat2>: + 80003002: ff00 sd s0,56(a4) + +0000000080003004 <tdat3>: + 80003004: 0ff0 addi a2,sp,988 + +0000000080003006 <tdat4>: + 80003006: 0xf00f diff --git a/test/riscv/tests/rv64ui-v-lhu.elf b/test/riscv/tests/rv64ui-v-lhu.elf Binary files differnew file mode 100644 index 00000000..af1ebeec --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lhu.elf diff --git a/test/riscv/tests/rv64ui-v-lui.dump b/test/riscv/tests/rv64ui-v-lui.dump new file mode 100644 index 00000000..6de22b61 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lui.dump @@ -0,0 +1,872 @@ + +rv64ui-v-lui: 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,sbadaddr + 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: 6f068693 addi a3,a3,1776 # 80002b48 <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: 72460613 addi a2,a2,1828 # 80002bd8 <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: 6ec60613 addi a2,a2,1772 # 80002bf0 <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: 63c68693 addi a3,a3,1596 # 80002b90 <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: 65868693 addi a3,a3,1624 # 80002cc8 <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: 5d860613 addi a2,a2,1496 # 80002ca0 <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: 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: 50c68693 addi a3,a3,1292 # 80002cf8 <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: 42c68693 addi a3,a3,1068 # 80002c68 <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: 3bc68693 addi a3,a3,956 # 80002c30 <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: 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: 00e00793 li a5,14 + 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: 0caa87b7 lui a5,0xcaa8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 51978793 addi a5,a5,1305 # caa8519 <_start-0x73557ae7> + 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: 000000b7 lui ra,0x0 + 80002acc: 00000e93 li t4,0 + 80002ad0: 00200193 li gp,2 + 80002ad4: 05d09a63 bne ra,t4,80002b28 <fail> + +0000000080002ad8 <test_3>: + 80002ad8: fffff0b7 lui ra,0xfffff + 80002adc: 4010d093 srai ra,ra,0x1 + 80002ae0: 80000e93 li t4,-2048 + 80002ae4: 00300193 li gp,3 + 80002ae8: 05d09063 bne ra,t4,80002b28 <fail> + +0000000080002aec <test_4>: + 80002aec: 7ffff0b7 lui ra,0x7ffff + 80002af0: 4140d093 srai ra,ra,0x14 + 80002af4: 7ff00e93 li t4,2047 + 80002af8: 00400193 li gp,4 + 80002afc: 03d09663 bne ra,t4,80002b28 <fail> + +0000000080002b00 <test_5>: + 80002b00: 800000b7 lui ra,0x80000 + 80002b04: 4140d093 srai ra,ra,0x14 + 80002b08: 80000e93 li t4,-2048 + 80002b0c: 00500193 li gp,5 + 80002b10: 01d09c63 bne ra,t4,80002b28 <fail> + +0000000080002b14 <test_6>: + 80002b14: 80000037 lui zero,0x80000 + 80002b18: 00000e93 li t4,0 + 80002b1c: 00600193 li gp,6 + 80002b20: 01d01463 bne zero,t4,80002b28 <fail> + 80002b24: 00301a63 bne zero,gp,80002b38 <pass> + +0000000080002b28 <fail>: + 80002b28: 00119513 slli a0,gp,0x1 + 80002b2c: 00050063 beqz a0,80002b2c <fail+0x4> + 80002b30: 00156513 ori a0,a0,1 + 80002b34: 00000073 ecall + +0000000080002b38 <pass>: + 80002b38: 00100513 li a0,1 + 80002b3c: 00000073 ecall + 80002b40: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-lui.elf b/test/riscv/tests/rv64ui-v-lui.elf Binary files differnew file mode 100644 index 00000000..3cab9504 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lui.elf diff --git a/test/riscv/tests/rv64ui-v-lw.dump b/test/riscv/tests/rv64ui-v-lw.dump new file mode 100644 index 00000000..4208d276 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lw.dump @@ -0,0 +1,1054 @@ + +rv64ui-v-lw: 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,sbadaddr + 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: 91868693 addi a3,a3,-1768 # 80002d70 <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: 94c60613 addi a2,a2,-1716 # 80002e00 <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: 00001617 auipc a2,0x1 + 80002508: 91460613 addi a2,a2,-1772 # 80002e18 <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: 00001697 auipc a3,0x1 + 80002558: 86468693 addi a3,a3,-1948 # 80002db8 <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: 00001697 auipc a3,0x1 + 80002674: 88068693 addi a3,a3,-1920 # 80002ef0 <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: 00001617 auipc a2,0x1 + 800026cc: 80060613 addi a2,a2,-2048 # 80002ec8 <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: 73468693 addi a3,a3,1844 # 80002f20 <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: 65468693 addi a3,a3,1620 # 80002e90 <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: 5e468693 addi a3,a3,1508 # 80002e58 <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: 00800793 li a5,8 + 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: 03dd47b7 lui a5,0x3dd4 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ebd78793 addi a5,a5,-323 # 3dd3ebd <_start-0x7c22c143> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 0000af03 lw t5,0(ra) + 80002ad4: 00ff0eb7 lui t4,0xff0 + 80002ad8: 0ffe8e9b addiw t4,t4,255 + 80002adc: 00200193 li gp,2 + 80002ae0: 27df1a63 bne t5,t4,80002d54 <fail> + +0000000080002ae4 <test_3>: + 80002ae4: 00000097 auipc ra,0x0 + 80002ae8: 51c08093 addi ra,ra,1308 # 80003000 <begin_signature> + 80002aec: 0040af03 lw t5,4(ra) + 80002af0: ff010eb7 lui t4,0xff010 + 80002af4: f00e8e9b addiw t4,t4,-256 + 80002af8: 00300193 li gp,3 + 80002afc: 25df1c63 bne t5,t4,80002d54 <fail> + +0000000080002b00 <test_4>: + 80002b00: 00000097 auipc ra,0x0 + 80002b04: 50008093 addi ra,ra,1280 # 80003000 <begin_signature> + 80002b08: 0080af03 lw t5,8(ra) + 80002b0c: 0ff01eb7 lui t4,0xff01 + 80002b10: ff0e8e9b addiw t4,t4,-16 + 80002b14: 00400193 li gp,4 + 80002b18: 23df1e63 bne t5,t4,80002d54 <fail> + +0000000080002b1c <test_5>: + 80002b1c: 00000097 auipc ra,0x0 + 80002b20: 4e408093 addi ra,ra,1252 # 80003000 <begin_signature> + 80002b24: 00c0af03 lw t5,12(ra) + 80002b28: f00ffeb7 lui t4,0xf00ff + 80002b2c: 00fe8e9b addiw t4,t4,15 + 80002b30: 00500193 li gp,5 + 80002b34: 23df1063 bne t5,t4,80002d54 <fail> + +0000000080002b38 <test_6>: + 80002b38: 00000097 auipc ra,0x0 + 80002b3c: 4d408093 addi ra,ra,1236 # 8000300c <tdat4> + 80002b40: ff40af03 lw t5,-12(ra) + 80002b44: 00ff0eb7 lui t4,0xff0 + 80002b48: 0ffe8e9b addiw t4,t4,255 + 80002b4c: 00600193 li gp,6 + 80002b50: 21df1263 bne t5,t4,80002d54 <fail> + +0000000080002b54 <test_7>: + 80002b54: 00000097 auipc ra,0x0 + 80002b58: 4b808093 addi ra,ra,1208 # 8000300c <tdat4> + 80002b5c: ff80af03 lw t5,-8(ra) + 80002b60: ff010eb7 lui t4,0xff010 + 80002b64: f00e8e9b addiw t4,t4,-256 + 80002b68: 00700193 li gp,7 + 80002b6c: 1fdf1463 bne t5,t4,80002d54 <fail> + +0000000080002b70 <test_8>: + 80002b70: 00000097 auipc ra,0x0 + 80002b74: 49c08093 addi ra,ra,1180 # 8000300c <tdat4> + 80002b78: ffc0af03 lw t5,-4(ra) + 80002b7c: 0ff01eb7 lui t4,0xff01 + 80002b80: ff0e8e9b addiw t4,t4,-16 + 80002b84: 00800193 li gp,8 + 80002b88: 1ddf1663 bne t5,t4,80002d54 <fail> + +0000000080002b8c <test_9>: + 80002b8c: 00000097 auipc ra,0x0 + 80002b90: 48008093 addi ra,ra,1152 # 8000300c <tdat4> + 80002b94: 0000af03 lw t5,0(ra) + 80002b98: f00ffeb7 lui t4,0xf00ff + 80002b9c: 00fe8e9b addiw t4,t4,15 + 80002ba0: 00900193 li gp,9 + 80002ba4: 1bdf1863 bne t5,t4,80002d54 <fail> + +0000000080002ba8 <test_10>: + 80002ba8: 00000097 auipc ra,0x0 + 80002bac: 45808093 addi ra,ra,1112 # 80003000 <begin_signature> + 80002bb0: fe008093 addi ra,ra,-32 + 80002bb4: 0200a283 lw t0,32(ra) + 80002bb8: 00ff0eb7 lui t4,0xff0 + 80002bbc: 0ffe8e9b addiw t4,t4,255 + 80002bc0: 00a00193 li gp,10 + 80002bc4: 19d29863 bne t0,t4,80002d54 <fail> + +0000000080002bc8 <test_11>: + 80002bc8: 00000097 auipc ra,0x0 + 80002bcc: 43808093 addi ra,ra,1080 # 80003000 <begin_signature> + 80002bd0: ffd08093 addi ra,ra,-3 + 80002bd4: 0070a283 lw t0,7(ra) + 80002bd8: ff010eb7 lui t4,0xff010 + 80002bdc: f00e8e9b addiw t4,t4,-256 + 80002be0: 00b00193 li gp,11 + 80002be4: 17d29863 bne t0,t4,80002d54 <fail> + +0000000080002be8 <test_12>: + 80002be8: 00c00193 li gp,12 + 80002bec: 00000213 li tp,0 + 80002bf0: 00000097 auipc ra,0x0 + 80002bf4: 41408093 addi ra,ra,1044 # 80003004 <tdat2> + 80002bf8: 0040af03 lw t5,4(ra) + 80002bfc: 000f0313 mv t1,t5 + 80002c00: 0ff01eb7 lui t4,0xff01 + 80002c04: ff0e8e9b addiw t4,t4,-16 + 80002c08: 15d31663 bne t1,t4,80002d54 <fail> + 80002c0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c10: 00200293 li t0,2 + 80002c14: fc521ee3 bne tp,t0,80002bf0 <test_12+0x8> + +0000000080002c18 <test_13>: + 80002c18: 00d00193 li gp,13 + 80002c1c: 00000213 li tp,0 + 80002c20: 00000097 auipc ra,0x0 + 80002c24: 3e808093 addi ra,ra,1000 # 80003008 <tdat3> + 80002c28: 0040af03 lw t5,4(ra) + 80002c2c: 00000013 nop + 80002c30: 000f0313 mv t1,t5 + 80002c34: f00ffeb7 lui t4,0xf00ff + 80002c38: 00fe8e9b addiw t4,t4,15 + 80002c3c: 11d31c63 bne t1,t4,80002d54 <fail> + 80002c40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c44: 00200293 li t0,2 + 80002c48: fc521ce3 bne tp,t0,80002c20 <test_13+0x8> + +0000000080002c4c <test_14>: + 80002c4c: 00e00193 li gp,14 + 80002c50: 00000213 li tp,0 + 80002c54: 00000097 auipc ra,0x0 + 80002c58: 3ac08093 addi ra,ra,940 # 80003000 <begin_signature> + 80002c5c: 0040af03 lw t5,4(ra) + 80002c60: 00000013 nop + 80002c64: 00000013 nop + 80002c68: 000f0313 mv t1,t5 + 80002c6c: ff010eb7 lui t4,0xff010 + 80002c70: f00e8e9b addiw t4,t4,-256 + 80002c74: 0fd31063 bne t1,t4,80002d54 <fail> + 80002c78: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c7c: 00200293 li t0,2 + 80002c80: fc521ae3 bne tp,t0,80002c54 <test_14+0x8> + +0000000080002c84 <test_15>: + 80002c84: 00f00193 li gp,15 + 80002c88: 00000213 li tp,0 + 80002c8c: 00000097 auipc ra,0x0 + 80002c90: 37808093 addi ra,ra,888 # 80003004 <tdat2> + 80002c94: 0040af03 lw t5,4(ra) + 80002c98: 0ff01eb7 lui t4,0xff01 + 80002c9c: ff0e8e9b addiw t4,t4,-16 + 80002ca0: 0bdf1a63 bne t5,t4,80002d54 <fail> + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5210e3 bne tp,t0,80002c8c <test_15+0x8> + +0000000080002cb0 <test_16>: + 80002cb0: 01000193 li gp,16 + 80002cb4: 00000213 li tp,0 + 80002cb8: 00000097 auipc ra,0x0 + 80002cbc: 35008093 addi ra,ra,848 # 80003008 <tdat3> + 80002cc0: 00000013 nop + 80002cc4: 0040af03 lw t5,4(ra) + 80002cc8: f00ffeb7 lui t4,0xf00ff + 80002ccc: 00fe8e9b addiw t4,t4,15 + 80002cd0: 09df1263 bne t5,t4,80002d54 <fail> + 80002cd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd8: 00200293 li t0,2 + 80002cdc: fc521ee3 bne tp,t0,80002cb8 <test_16+0x8> + +0000000080002ce0 <test_17>: + 80002ce0: 01100193 li gp,17 + 80002ce4: 00000213 li tp,0 + 80002ce8: 00000097 auipc ra,0x0 + 80002cec: 31808093 addi ra,ra,792 # 80003000 <begin_signature> + 80002cf0: 00000013 nop + 80002cf4: 00000013 nop + 80002cf8: 0040af03 lw t5,4(ra) + 80002cfc: ff010eb7 lui t4,0xff010 + 80002d00: f00e8e9b addiw t4,t4,-256 + 80002d04: 05df1863 bne t5,t4,80002d54 <fail> + 80002d08: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d0c: 00200293 li t0,2 + 80002d10: fc521ce3 bne tp,t0,80002ce8 <test_17+0x8> + +0000000080002d14 <test_18>: + 80002d14: 00000297 auipc t0,0x0 + 80002d18: 2ec28293 addi t0,t0,748 # 80003000 <begin_signature> + 80002d1c: 0002a103 lw sp,0(t0) + 80002d20: 00200113 li sp,2 + 80002d24: 00200e93 li t4,2 + 80002d28: 01200193 li gp,18 + 80002d2c: 03d11463 bne sp,t4,80002d54 <fail> + +0000000080002d30 <test_19>: + 80002d30: 00000297 auipc t0,0x0 + 80002d34: 2d028293 addi t0,t0,720 # 80003000 <begin_signature> + 80002d38: 0002a103 lw sp,0(t0) + 80002d3c: 00000013 nop + 80002d40: 00200113 li sp,2 + 80002d44: 00200e93 li t4,2 + 80002d48: 01300193 li gp,19 + 80002d4c: 01d11463 bne sp,t4,80002d54 <fail> + 80002d50: 00301a63 bne zero,gp,80002d64 <pass> + +0000000080002d54 <fail>: + 80002d54: 00119513 slli a0,gp,0x1 + 80002d58: 00050063 beqz a0,80002d58 <fail+0x4> + 80002d5c: 00156513 ori a0,a0,1 + 80002d60: 00000073 ecall + +0000000080002d64 <pass>: + 80002d64: 00100513 li a0,1 + 80002d68: 00000073 ecall + 80002d6c: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 00ff 0xff + 80003002: 00ff 0xff + +0000000080003004 <tdat2>: + 80003004: ff00 sd s0,56(a4) + 80003006: ff00 sd s0,56(a4) + +0000000080003008 <tdat3>: + 80003008: 0ff0 addi a2,sp,988 + 8000300a: 0ff0 addi a2,sp,988 + +000000008000300c <tdat4>: + 8000300c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-v-lw.elf b/test/riscv/tests/rv64ui-v-lw.elf Binary files differnew file mode 100644 index 00000000..d73403be --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lw.elf diff --git a/test/riscv/tests/rv64ui-v-lwu.dump b/test/riscv/tests/rv64ui-v-lwu.dump new file mode 100644 index 00000000..aa0fb7d0 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lwu.dump @@ -0,0 +1,1072 @@ + +rv64ui-v-lwu: 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,sbadaddr + 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: 96068693 addi a3,a3,-1696 # 80002db8 <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: 99460613 addi a2,a2,-1644 # 80002e48 <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: 00001617 auipc a2,0x1 + 80002508: 95c60613 addi a2,a2,-1700 # 80002e60 <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: 00001697 auipc a3,0x1 + 80002558: 8ac68693 addi a3,a3,-1876 # 80002e00 <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: 00001697 auipc a3,0x1 + 80002674: 8c868693 addi a3,a3,-1848 # 80002f38 <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: 00001617 auipc a2,0x1 + 800026cc: 84860613 addi a2,a2,-1976 # 80002f10 <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: 77c68693 addi a3,a3,1916 # 80002f68 <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: 69c68693 addi a3,a3,1692 # 80002ed8 <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: 62c68693 addi a3,a3,1580 # 80002ea0 <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: 00200793 li a5,2 + 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: 046f07b7 lui a5,0x46f0 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b8378793 addi a5,a5,-1149 # 46efb83 <_start-0x7b91047d> + 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: 00000097 auipc ra,0x0 + 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature> + 80002ad0: 0000ef03 lwu t5,0(ra) + 80002ad4: 00ff0eb7 lui t4,0xff0 + 80002ad8: 0ffe8e9b addiw t4,t4,255 + 80002adc: 00200193 li gp,2 + 80002ae0: 2bdf1e63 bne t5,t4,80002d9c <fail> + +0000000080002ae4 <test_3>: + 80002ae4: 00000097 auipc ra,0x0 + 80002ae8: 51c08093 addi ra,ra,1308 # 80003000 <begin_signature> + 80002aec: 0040ef03 lwu t5,4(ra) + 80002af0: 00010eb7 lui t4,0x10 + 80002af4: f01e8e9b addiw t4,t4,-255 + 80002af8: 010e9e93 slli t4,t4,0x10 + 80002afc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002b00: 00300193 li gp,3 + 80002b04: 29df1c63 bne t5,t4,80002d9c <fail> + +0000000080002b08 <test_4>: + 80002b08: 00000097 auipc ra,0x0 + 80002b0c: 4f808093 addi ra,ra,1272 # 80003000 <begin_signature> + 80002b10: 0080ef03 lwu t5,8(ra) + 80002b14: 0ff01eb7 lui t4,0xff01 + 80002b18: ff0e8e9b addiw t4,t4,-16 + 80002b1c: 00400193 li gp,4 + 80002b20: 27df1e63 bne t5,t4,80002d9c <fail> + +0000000080002b24 <test_5>: + 80002b24: 00000097 auipc ra,0x0 + 80002b28: 4dc08093 addi ra,ra,1244 # 80003000 <begin_signature> + 80002b2c: 00c0ef03 lwu t5,12(ra) + 80002b30: 000f0eb7 lui t4,0xf0 + 80002b34: 0ffe8e9b addiw t4,t4,255 + 80002b38: 00ce9e93 slli t4,t4,0xc + 80002b3c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002b40: 00500193 li gp,5 + 80002b44: 25df1c63 bne t5,t4,80002d9c <fail> + +0000000080002b48 <test_6>: + 80002b48: 00000097 auipc ra,0x0 + 80002b4c: 4c408093 addi ra,ra,1220 # 8000300c <tdat4> + 80002b50: ff40ef03 lwu t5,-12(ra) + 80002b54: 00ff0eb7 lui t4,0xff0 + 80002b58: 0ffe8e9b addiw t4,t4,255 + 80002b5c: 00600193 li gp,6 + 80002b60: 23df1e63 bne t5,t4,80002d9c <fail> + +0000000080002b64 <test_7>: + 80002b64: 00000097 auipc ra,0x0 + 80002b68: 4a808093 addi ra,ra,1192 # 8000300c <tdat4> + 80002b6c: ff80ef03 lwu t5,-8(ra) + 80002b70: 00010eb7 lui t4,0x10 + 80002b74: f01e8e9b addiw t4,t4,-255 + 80002b78: 010e9e93 slli t4,t4,0x10 + 80002b7c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002b80: 00700193 li gp,7 + 80002b84: 21df1c63 bne t5,t4,80002d9c <fail> + +0000000080002b88 <test_8>: + 80002b88: 00000097 auipc ra,0x0 + 80002b8c: 48408093 addi ra,ra,1156 # 8000300c <tdat4> + 80002b90: ffc0ef03 lwu t5,-4(ra) + 80002b94: 0ff01eb7 lui t4,0xff01 + 80002b98: ff0e8e9b addiw t4,t4,-16 + 80002b9c: 00800193 li gp,8 + 80002ba0: 1fdf1e63 bne t5,t4,80002d9c <fail> + +0000000080002ba4 <test_9>: + 80002ba4: 00000097 auipc ra,0x0 + 80002ba8: 46808093 addi ra,ra,1128 # 8000300c <tdat4> + 80002bac: 0000ef03 lwu t5,0(ra) + 80002bb0: 000f0eb7 lui t4,0xf0 + 80002bb4: 0ffe8e9b addiw t4,t4,255 + 80002bb8: 00ce9e93 slli t4,t4,0xc + 80002bbc: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002bc0: 00900193 li gp,9 + 80002bc4: 1ddf1c63 bne t5,t4,80002d9c <fail> + +0000000080002bc8 <test_10>: + 80002bc8: 00000097 auipc ra,0x0 + 80002bcc: 43808093 addi ra,ra,1080 # 80003000 <begin_signature> + 80002bd0: fe008093 addi ra,ra,-32 + 80002bd4: 0200e283 lwu t0,32(ra) + 80002bd8: 00ff0eb7 lui t4,0xff0 + 80002bdc: 0ffe8e9b addiw t4,t4,255 + 80002be0: 00a00193 li gp,10 + 80002be4: 1bd29c63 bne t0,t4,80002d9c <fail> + +0000000080002be8 <test_11>: + 80002be8: 00000097 auipc ra,0x0 + 80002bec: 41808093 addi ra,ra,1048 # 80003000 <begin_signature> + 80002bf0: ffd08093 addi ra,ra,-3 + 80002bf4: 0070e283 lwu t0,7(ra) + 80002bf8: 00010eb7 lui t4,0x10 + 80002bfc: f01e8e9b addiw t4,t4,-255 + 80002c00: 010e9e93 slli t4,t4,0x10 + 80002c04: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002c08: 00b00193 li gp,11 + 80002c0c: 19d29863 bne t0,t4,80002d9c <fail> + +0000000080002c10 <test_12>: + 80002c10: 00c00193 li gp,12 + 80002c14: 00000213 li tp,0 + 80002c18: 00000097 auipc ra,0x0 + 80002c1c: 3ec08093 addi ra,ra,1004 # 80003004 <tdat2> + 80002c20: 0040ef03 lwu t5,4(ra) + 80002c24: 000f0313 mv t1,t5 + 80002c28: 0ff01eb7 lui t4,0xff01 + 80002c2c: ff0e8e9b addiw t4,t4,-16 + 80002c30: 17d31663 bne t1,t4,80002d9c <fail> + 80002c34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c38: 00200293 li t0,2 + 80002c3c: fc521ee3 bne tp,t0,80002c18 <test_12+0x8> + +0000000080002c40 <test_13>: + 80002c40: 00d00193 li gp,13 + 80002c44: 00000213 li tp,0 + 80002c48: 00000097 auipc ra,0x0 + 80002c4c: 3c008093 addi ra,ra,960 # 80003008 <tdat3> + 80002c50: 0040ef03 lwu t5,4(ra) + 80002c54: 00000013 nop + 80002c58: 000f0313 mv t1,t5 + 80002c5c: 000f0eb7 lui t4,0xf0 + 80002c60: 0ffe8e9b addiw t4,t4,255 + 80002c64: 00ce9e93 slli t4,t4,0xc + 80002c68: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002c6c: 13d31863 bne t1,t4,80002d9c <fail> + 80002c70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c74: 00200293 li t0,2 + 80002c78: fc5218e3 bne tp,t0,80002c48 <test_13+0x8> + +0000000080002c7c <test_14>: + 80002c7c: 00e00193 li gp,14 + 80002c80: 00000213 li tp,0 + 80002c84: 00000097 auipc ra,0x0 + 80002c88: 37c08093 addi ra,ra,892 # 80003000 <begin_signature> + 80002c8c: 0040ef03 lwu t5,4(ra) + 80002c90: 00000013 nop + 80002c94: 00000013 nop + 80002c98: 000f0313 mv t1,t5 + 80002c9c: 00010eb7 lui t4,0x10 + 80002ca0: f01e8e9b addiw t4,t4,-255 + 80002ca4: 010e9e93 slli t4,t4,0x10 + 80002ca8: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002cac: 0fd31863 bne t1,t4,80002d9c <fail> + 80002cb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cb4: 00200293 li t0,2 + 80002cb8: fc5216e3 bne tp,t0,80002c84 <test_14+0x8> + +0000000080002cbc <test_15>: + 80002cbc: 00f00193 li gp,15 + 80002cc0: 00000213 li tp,0 + 80002cc4: 00000097 auipc ra,0x0 + 80002cc8: 34008093 addi ra,ra,832 # 80003004 <tdat2> + 80002ccc: 0040ef03 lwu t5,4(ra) + 80002cd0: 0ff01eb7 lui t4,0xff01 + 80002cd4: ff0e8e9b addiw t4,t4,-16 + 80002cd8: 0ddf1263 bne t5,t4,80002d9c <fail> + 80002cdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce0: 00200293 li t0,2 + 80002ce4: fe5210e3 bne tp,t0,80002cc4 <test_15+0x8> + +0000000080002ce8 <test_16>: + 80002ce8: 01000193 li gp,16 + 80002cec: 00000213 li tp,0 + 80002cf0: 00000097 auipc ra,0x0 + 80002cf4: 31808093 addi ra,ra,792 # 80003008 <tdat3> + 80002cf8: 00000013 nop + 80002cfc: 0040ef03 lwu t5,4(ra) + 80002d00: 000f0eb7 lui t4,0xf0 + 80002d04: 0ffe8e9b addiw t4,t4,255 + 80002d08: 00ce9e93 slli t4,t4,0xc + 80002d0c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002d10: 09df1663 bne t5,t4,80002d9c <fail> + 80002d14: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d18: 00200293 li t0,2 + 80002d1c: fc521ae3 bne tp,t0,80002cf0 <test_16+0x8> + +0000000080002d20 <test_17>: + 80002d20: 01100193 li gp,17 + 80002d24: 00000213 li tp,0 + 80002d28: 00000097 auipc ra,0x0 + 80002d2c: 2d808093 addi ra,ra,728 # 80003000 <begin_signature> + 80002d30: 00000013 nop + 80002d34: 00000013 nop + 80002d38: 0040ef03 lwu t5,4(ra) + 80002d3c: 00010eb7 lui t4,0x10 + 80002d40: f01e8e9b addiw t4,t4,-255 + 80002d44: 010e9e93 slli t4,t4,0x10 + 80002d48: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002d4c: 05df1863 bne t5,t4,80002d9c <fail> + 80002d50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d54: 00200293 li t0,2 + 80002d58: fc5218e3 bne tp,t0,80002d28 <test_17+0x8> + +0000000080002d5c <test_18>: + 80002d5c: 00000297 auipc t0,0x0 + 80002d60: 2a428293 addi t0,t0,676 # 80003000 <begin_signature> + 80002d64: 0002e103 lwu sp,0(t0) + 80002d68: 00200113 li sp,2 + 80002d6c: 00200e93 li t4,2 + 80002d70: 01200193 li gp,18 + 80002d74: 03d11463 bne sp,t4,80002d9c <fail> + +0000000080002d78 <test_19>: + 80002d78: 00000297 auipc t0,0x0 + 80002d7c: 28828293 addi t0,t0,648 # 80003000 <begin_signature> + 80002d80: 0002e103 lwu sp,0(t0) + 80002d84: 00000013 nop + 80002d88: 00200113 li sp,2 + 80002d8c: 00200e93 li t4,2 + 80002d90: 01300193 li gp,19 + 80002d94: 01d11463 bne sp,t4,80002d9c <fail> + 80002d98: 00301a63 bne zero,gp,80002dac <pass> + +0000000080002d9c <fail>: + 80002d9c: 00119513 slli a0,gp,0x1 + 80002da0: 00050063 beqz a0,80002da0 <fail+0x4> + 80002da4: 00156513 ori a0,a0,1 + 80002da8: 00000073 ecall + +0000000080002dac <pass>: + 80002dac: 00100513 li a0,1 + 80002db0: 00000073 ecall + 80002db4: c0001073 unimp + +Disassembly of section .data: + +0000000080003000 <begin_signature>: + 80003000: 00ff 0xff + 80003002: 00ff 0xff + +0000000080003004 <tdat2>: + 80003004: ff00 sd s0,56(a4) + 80003006: ff00 sd s0,56(a4) + +0000000080003008 <tdat3>: + 80003008: 0ff0 addi a2,sp,988 + 8000300a: 0ff0 addi a2,sp,988 + +000000008000300c <tdat4>: + 8000300c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-v-lwu.elf b/test/riscv/tests/rv64ui-v-lwu.elf Binary files differnew file mode 100644 index 00000000..2cd5e0bd --- /dev/null +++ b/test/riscv/tests/rv64ui-v-lwu.elf diff --git a/test/riscv/tests/rv64ui-v-or.dump b/test/riscv/tests/rv64ui-v-or.dump new file mode 100644 index 00000000..c5e0940a --- /dev/null +++ b/test/riscv/tests/rv64ui-v-or.dump @@ -0,0 +1,1265 @@ + +rv64ui-v-or: 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,sbadaddr + 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 <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: 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: c6868693 addi a3,a3,-920 # 800030c0 <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: c9c60613 addi a2,a2,-868 # 80003150 <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: 00001617 auipc a2,0x1 + 80002508: c6460613 addi a2,a2,-924 # 80003168 <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: 00001697 auipc a3,0x1 + 80002558: bb468693 addi a3,a3,-1100 # 80003108 <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: 00001697 auipc a3,0x1 + 80002674: bd068693 addi a3,a3,-1072 # 80003240 <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: 00001617 auipc a2,0x1 + 800026cc: b5060613 addi a2,a2,-1200 # 80003218 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a8468693 addi a3,a3,-1404 # 80003270 <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: 00001697 auipc a3,0x1 + 80002840: 9a468693 addi a3,a3,-1628 # 800031e0 <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: 00001697 auipc a3,0x1 + 80002878: 93468693 addi a3,a3,-1740 # 800031a8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 03800793 li a5,56 + 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: 039357b7 lui a5,0x3935 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f5d78793 addi a5,a5,-163 # 3934f5d <_start-0x7c6cb0a3> + 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: 000100b7 lui ra,0x10 + 80002acc: f010809b addiw ra,ra,-255 + 80002ad0: 01009093 slli ra,ra,0x10 + 80002ad4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002ad8: 0f0f1137 lui sp,0xf0f1 + 80002adc: f0f1011b addiw sp,sp,-241 + 80002ae0: 0020ef33 or t5,ra,sp + 80002ae4: 00001eb7 lui t4,0x1 + 80002ae8: ff1e8e9b addiw t4,t4,-15 + 80002aec: 014e9e93 slli t4,t4,0x14 + 80002af0: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002af4: 00200193 li gp,2 + 80002af8: 5bdf1663 bne t5,t4,800030a4 <fail> + +0000000080002afc <test_3>: + 80002afc: 0ff010b7 lui ra,0xff01 + 80002b00: ff00809b addiw ra,ra,-16 + 80002b04: 000f1137 lui sp,0xf1 + 80002b08: f0f1011b addiw sp,sp,-241 + 80002b0c: 00c11113 slli sp,sp,0xc + 80002b10: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b14: 0020ef33 or t5,ra,sp + 80002b18: 00010eb7 lui t4,0x10 + 80002b1c: ff1e8e9b addiw t4,t4,-15 + 80002b20: 010e9e93 slli t4,t4,0x10 + 80002b24: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002b28: 00300193 li gp,3 + 80002b2c: 57df1c63 bne t5,t4,800030a4 <fail> + +0000000080002b30 <test_4>: + 80002b30: 00ff00b7 lui ra,0xff0 + 80002b34: 0ff0809b addiw ra,ra,255 + 80002b38: 0f0f1137 lui sp,0xf0f1 + 80002b3c: f0f1011b addiw sp,sp,-241 + 80002b40: 0020ef33 or t5,ra,sp + 80002b44: 0fff1eb7 lui t4,0xfff1 + 80002b48: fffe8e9b addiw t4,t4,-1 + 80002b4c: 00400193 li gp,4 + 80002b50: 55df1a63 bne t5,t4,800030a4 <fail> + +0000000080002b54 <test_5>: + 80002b54: 000f00b7 lui ra,0xf0 + 80002b58: 0ff0809b addiw ra,ra,255 + 80002b5c: 00c09093 slli ra,ra,0xc + 80002b60: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002b64: 000f1137 lui sp,0xf1 + 80002b68: f0f1011b addiw sp,sp,-241 + 80002b6c: 00c11113 slli sp,sp,0xc + 80002b70: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b74: 0020ef33 or t5,ra,sp + 80002b78: 000f1eb7 lui t4,0xf1 + 80002b7c: fffe8e9b addiw t4,t4,-1 + 80002b80: 00ce9e93 slli t4,t4,0xc + 80002b84: 0ffe8e93 addi t4,t4,255 # f10ff <_start-0x7ff0ef01> + 80002b88: 00500193 li gp,5 + 80002b8c: 51df1c63 bne t5,t4,800030a4 <fail> + +0000000080002b90 <test_6>: + 80002b90: 000100b7 lui ra,0x10 + 80002b94: f010809b addiw ra,ra,-255 + 80002b98: 01009093 slli ra,ra,0x10 + 80002b9c: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002ba0: 0f0f1137 lui sp,0xf0f1 + 80002ba4: f0f1011b addiw sp,sp,-241 + 80002ba8: 0020e0b3 or ra,ra,sp + 80002bac: 00001eb7 lui t4,0x1 + 80002bb0: ff1e8e9b addiw t4,t4,-15 + 80002bb4: 014e9e93 slli t4,t4,0x14 + 80002bb8: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002bbc: 00600193 li gp,6 + 80002bc0: 4fd09263 bne ra,t4,800030a4 <fail> + +0000000080002bc4 <test_7>: + 80002bc4: 000100b7 lui ra,0x10 + 80002bc8: f010809b addiw ra,ra,-255 + 80002bcc: 01009093 slli ra,ra,0x10 + 80002bd0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002bd4: 0f0f1137 lui sp,0xf0f1 + 80002bd8: f0f1011b addiw sp,sp,-241 + 80002bdc: 0020e133 or sp,ra,sp + 80002be0: 00001eb7 lui t4,0x1 + 80002be4: ff1e8e9b addiw t4,t4,-15 + 80002be8: 014e9e93 slli t4,t4,0x14 + 80002bec: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002bf0: 00700193 li gp,7 + 80002bf4: 4bd11863 bne sp,t4,800030a4 <fail> + +0000000080002bf8 <test_8>: + 80002bf8: 000100b7 lui ra,0x10 + 80002bfc: f010809b addiw ra,ra,-255 + 80002c00: 01009093 slli ra,ra,0x10 + 80002c04: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002c08: 0010e0b3 or ra,ra,ra + 80002c0c: 00010eb7 lui t4,0x10 + 80002c10: f01e8e9b addiw t4,t4,-255 + 80002c14: 010e9e93 slli t4,t4,0x10 + 80002c18: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002c1c: 00800193 li gp,8 + 80002c20: 49d09263 bne ra,t4,800030a4 <fail> + +0000000080002c24 <test_9>: + 80002c24: 00000213 li tp,0 + 80002c28: 000100b7 lui ra,0x10 + 80002c2c: f010809b addiw ra,ra,-255 + 80002c30: 01009093 slli ra,ra,0x10 + 80002c34: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002c38: 0f0f1137 lui sp,0xf0f1 + 80002c3c: f0f1011b addiw sp,sp,-241 + 80002c40: 0020ef33 or t5,ra,sp + 80002c44: 000f0313 mv t1,t5 + 80002c48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c4c: 00200293 li t0,2 + 80002c50: fc521ce3 bne tp,t0,80002c28 <test_9+0x4> + 80002c54: 00001eb7 lui t4,0x1 + 80002c58: ff1e8e9b addiw t4,t4,-15 + 80002c5c: 014e9e93 slli t4,t4,0x14 + 80002c60: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002c64: 00900193 li gp,9 + 80002c68: 43d31e63 bne t1,t4,800030a4 <fail> + +0000000080002c6c <test_10>: + 80002c6c: 00000213 li tp,0 + 80002c70: 0ff010b7 lui ra,0xff01 + 80002c74: ff00809b addiw ra,ra,-16 + 80002c78: 000f1137 lui sp,0xf1 + 80002c7c: f0f1011b addiw sp,sp,-241 + 80002c80: 00c11113 slli sp,sp,0xc + 80002c84: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002c88: 0020ef33 or t5,ra,sp + 80002c8c: 00000013 nop + 80002c90: 000f0313 mv t1,t5 + 80002c94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c98: 00200293 li t0,2 + 80002c9c: fc521ae3 bne tp,t0,80002c70 <test_10+0x4> + 80002ca0: 00010eb7 lui t4,0x10 + 80002ca4: ff1e8e9b addiw t4,t4,-15 + 80002ca8: 010e9e93 slli t4,t4,0x10 + 80002cac: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002cb0: 00a00193 li gp,10 + 80002cb4: 3fd31863 bne t1,t4,800030a4 <fail> + +0000000080002cb8 <test_11>: + 80002cb8: 00000213 li tp,0 + 80002cbc: 00ff00b7 lui ra,0xff0 + 80002cc0: 0ff0809b addiw ra,ra,255 + 80002cc4: 0f0f1137 lui sp,0xf0f1 + 80002cc8: f0f1011b addiw sp,sp,-241 + 80002ccc: 0020ef33 or t5,ra,sp + 80002cd0: 00000013 nop + 80002cd4: 00000013 nop + 80002cd8: 000f0313 mv t1,t5 + 80002cdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce0: 00200293 li t0,2 + 80002ce4: fc521ce3 bne tp,t0,80002cbc <test_11+0x4> + 80002ce8: 0fff1eb7 lui t4,0xfff1 + 80002cec: fffe8e9b addiw t4,t4,-1 + 80002cf0: 00b00193 li gp,11 + 80002cf4: 3bd31863 bne t1,t4,800030a4 <fail> + +0000000080002cf8 <test_12>: + 80002cf8: 00000213 li tp,0 + 80002cfc: 000100b7 lui ra,0x10 + 80002d00: f010809b addiw ra,ra,-255 + 80002d04: 01009093 slli ra,ra,0x10 + 80002d08: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002d0c: 0f0f1137 lui sp,0xf0f1 + 80002d10: f0f1011b addiw sp,sp,-241 + 80002d14: 0020ef33 or t5,ra,sp + 80002d18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d1c: 00200293 li t0,2 + 80002d20: fc521ee3 bne tp,t0,80002cfc <test_12+0x4> + 80002d24: 00001eb7 lui t4,0x1 + 80002d28: ff1e8e9b addiw t4,t4,-15 + 80002d2c: 014e9e93 slli t4,t4,0x14 + 80002d30: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002d34: 00c00193 li gp,12 + 80002d38: 37df1663 bne t5,t4,800030a4 <fail> + +0000000080002d3c <test_13>: + 80002d3c: 00000213 li tp,0 + 80002d40: 0ff010b7 lui ra,0xff01 + 80002d44: ff00809b addiw ra,ra,-16 + 80002d48: 000f1137 lui sp,0xf1 + 80002d4c: f0f1011b addiw sp,sp,-241 + 80002d50: 00c11113 slli sp,sp,0xc + 80002d54: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002d58: 00000013 nop + 80002d5c: 0020ef33 or t5,ra,sp + 80002d60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d64: 00200293 li t0,2 + 80002d68: fc521ce3 bne tp,t0,80002d40 <test_13+0x4> + 80002d6c: 00010eb7 lui t4,0x10 + 80002d70: ff1e8e9b addiw t4,t4,-15 + 80002d74: 010e9e93 slli t4,t4,0x10 + 80002d78: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002d7c: 00d00193 li gp,13 + 80002d80: 33df1263 bne t5,t4,800030a4 <fail> + +0000000080002d84 <test_14>: + 80002d84: 00000213 li tp,0 + 80002d88: 00ff00b7 lui ra,0xff0 + 80002d8c: 0ff0809b addiw ra,ra,255 + 80002d90: 0f0f1137 lui sp,0xf0f1 + 80002d94: f0f1011b addiw sp,sp,-241 + 80002d98: 00000013 nop + 80002d9c: 00000013 nop + 80002da0: 0020ef33 or t5,ra,sp + 80002da4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da8: 00200293 li t0,2 + 80002dac: fc521ee3 bne tp,t0,80002d88 <test_14+0x4> + 80002db0: 0fff1eb7 lui t4,0xfff1 + 80002db4: fffe8e9b addiw t4,t4,-1 + 80002db8: 00e00193 li gp,14 + 80002dbc: 2fdf1463 bne t5,t4,800030a4 <fail> + +0000000080002dc0 <test_15>: + 80002dc0: 00000213 li tp,0 + 80002dc4: 000100b7 lui ra,0x10 + 80002dc8: f010809b addiw ra,ra,-255 + 80002dcc: 01009093 slli ra,ra,0x10 + 80002dd0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002dd4: 00000013 nop + 80002dd8: 0f0f1137 lui sp,0xf0f1 + 80002ddc: f0f1011b addiw sp,sp,-241 + 80002de0: 0020ef33 or t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fc521ce3 bne tp,t0,80002dc4 <test_15+0x4> + 80002df0: 00001eb7 lui t4,0x1 + 80002df4: ff1e8e9b addiw t4,t4,-15 + 80002df8: 014e9e93 slli t4,t4,0x14 + 80002dfc: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002e00: 00f00193 li gp,15 + 80002e04: 2bdf1063 bne t5,t4,800030a4 <fail> + +0000000080002e08 <test_16>: + 80002e08: 00000213 li tp,0 + 80002e0c: 0ff010b7 lui ra,0xff01 + 80002e10: ff00809b addiw ra,ra,-16 + 80002e14: 00000013 nop + 80002e18: 000f1137 lui sp,0xf1 + 80002e1c: f0f1011b addiw sp,sp,-241 + 80002e20: 00c11113 slli sp,sp,0xc + 80002e24: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002e28: 00000013 nop + 80002e2c: 0020ef33 or t5,ra,sp + 80002e30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e34: 00200293 li t0,2 + 80002e38: fc521ae3 bne tp,t0,80002e0c <test_16+0x4> + 80002e3c: 00010eb7 lui t4,0x10 + 80002e40: ff1e8e9b addiw t4,t4,-15 + 80002e44: 010e9e93 slli t4,t4,0x10 + 80002e48: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002e4c: 01000193 li gp,16 + 80002e50: 25df1a63 bne t5,t4,800030a4 <fail> + +0000000080002e54 <test_17>: + 80002e54: 00000213 li tp,0 + 80002e58: 00ff00b7 lui ra,0xff0 + 80002e5c: 0ff0809b addiw ra,ra,255 + 80002e60: 00000013 nop + 80002e64: 00000013 nop + 80002e68: 0f0f1137 lui sp,0xf0f1 + 80002e6c: f0f1011b addiw sp,sp,-241 + 80002e70: 0020ef33 or t5,ra,sp + 80002e74: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e78: 00200293 li t0,2 + 80002e7c: fc521ee3 bne tp,t0,80002e58 <test_17+0x4> + 80002e80: 0fff1eb7 lui t4,0xfff1 + 80002e84: fffe8e9b addiw t4,t4,-1 + 80002e88: 01100193 li gp,17 + 80002e8c: 21df1c63 bne t5,t4,800030a4 <fail> + +0000000080002e90 <test_18>: + 80002e90: 00000213 li tp,0 + 80002e94: 0f0f1137 lui sp,0xf0f1 + 80002e98: f0f1011b addiw sp,sp,-241 + 80002e9c: 000100b7 lui ra,0x10 + 80002ea0: f010809b addiw ra,ra,-255 + 80002ea4: 01009093 slli ra,ra,0x10 + 80002ea8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002eac: 0020ef33 or t5,ra,sp + 80002eb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb4: 00200293 li t0,2 + 80002eb8: fc521ee3 bne tp,t0,80002e94 <test_18+0x4> + 80002ebc: 00001eb7 lui t4,0x1 + 80002ec0: ff1e8e9b addiw t4,t4,-15 + 80002ec4: 014e9e93 slli t4,t4,0x14 + 80002ec8: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002ecc: 01200193 li gp,18 + 80002ed0: 1ddf1a63 bne t5,t4,800030a4 <fail> + +0000000080002ed4 <test_19>: + 80002ed4: 00000213 li tp,0 + 80002ed8: 000f1137 lui sp,0xf1 + 80002edc: f0f1011b addiw sp,sp,-241 + 80002ee0: 00c11113 slli sp,sp,0xc + 80002ee4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002ee8: 0ff010b7 lui ra,0xff01 + 80002eec: ff00809b addiw ra,ra,-16 + 80002ef0: 00000013 nop + 80002ef4: 0020ef33 or t5,ra,sp + 80002ef8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002efc: 00200293 li t0,2 + 80002f00: fc521ce3 bne tp,t0,80002ed8 <test_19+0x4> + 80002f04: 00010eb7 lui t4,0x10 + 80002f08: ff1e8e9b addiw t4,t4,-15 + 80002f0c: 010e9e93 slli t4,t4,0x10 + 80002f10: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002f14: 01300193 li gp,19 + 80002f18: 19df1663 bne t5,t4,800030a4 <fail> + +0000000080002f1c <test_20>: + 80002f1c: 00000213 li tp,0 + 80002f20: 0f0f1137 lui sp,0xf0f1 + 80002f24: f0f1011b addiw sp,sp,-241 + 80002f28: 00ff00b7 lui ra,0xff0 + 80002f2c: 0ff0809b addiw ra,ra,255 + 80002f30: 00000013 nop + 80002f34: 00000013 nop + 80002f38: 0020ef33 or t5,ra,sp + 80002f3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f40: 00200293 li t0,2 + 80002f44: fc521ee3 bne tp,t0,80002f20 <test_20+0x4> + 80002f48: 0fff1eb7 lui t4,0xfff1 + 80002f4c: fffe8e9b addiw t4,t4,-1 + 80002f50: 01400193 li gp,20 + 80002f54: 15df1863 bne t5,t4,800030a4 <fail> + +0000000080002f58 <test_21>: + 80002f58: 00000213 li tp,0 + 80002f5c: 0f0f1137 lui sp,0xf0f1 + 80002f60: f0f1011b addiw sp,sp,-241 + 80002f64: 00000013 nop + 80002f68: 000100b7 lui ra,0x10 + 80002f6c: f010809b addiw ra,ra,-255 + 80002f70: 01009093 slli ra,ra,0x10 + 80002f74: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002f78: 0020ef33 or t5,ra,sp + 80002f7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f80: 00200293 li t0,2 + 80002f84: fc521ce3 bne tp,t0,80002f5c <test_21+0x4> + 80002f88: 00001eb7 lui t4,0x1 + 80002f8c: ff1e8e9b addiw t4,t4,-15 + 80002f90: 014e9e93 slli t4,t4,0x14 + 80002f94: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80002f98: 01500193 li gp,21 + 80002f9c: 11df1463 bne t5,t4,800030a4 <fail> + +0000000080002fa0 <test_22>: + 80002fa0: 00000213 li tp,0 + 80002fa4: 000f1137 lui sp,0xf1 + 80002fa8: f0f1011b addiw sp,sp,-241 + 80002fac: 00c11113 slli sp,sp,0xc + 80002fb0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002fb4: 00000013 nop + 80002fb8: 0ff010b7 lui ra,0xff01 + 80002fbc: ff00809b addiw ra,ra,-16 + 80002fc0: 00000013 nop + 80002fc4: 0020ef33 or t5,ra,sp + 80002fc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fcc: 00200293 li t0,2 + 80002fd0: fc521ae3 bne tp,t0,80002fa4 <test_22+0x4> + 80002fd4: 00010eb7 lui t4,0x10 + 80002fd8: ff1e8e9b addiw t4,t4,-15 + 80002fdc: 010e9e93 slli t4,t4,0x10 + 80002fe0: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002fe4: 01600193 li gp,22 + 80002fe8: 0bdf1e63 bne t5,t4,800030a4 <fail> + +0000000080002fec <test_23>: + 80002fec: 00000213 li tp,0 + 80002ff0: 0f0f1137 lui sp,0xf0f1 + 80002ff4: f0f1011b addiw sp,sp,-241 + 80002ff8: 00000013 nop + 80002ffc: 00000013 nop + 80003000: 00ff00b7 lui ra,0xff0 + 80003004: 0ff0809b addiw ra,ra,255 + 80003008: 0020ef33 or t5,ra,sp + 8000300c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003010: 00200293 li t0,2 + 80003014: fc521ee3 bne tp,t0,80002ff0 <test_23+0x4> + 80003018: 0fff1eb7 lui t4,0xfff1 + 8000301c: fffe8e9b addiw t4,t4,-1 + 80003020: 01700193 li gp,23 + 80003024: 09df1063 bne t5,t4,800030a4 <fail> + +0000000080003028 <test_24>: + 80003028: 000100b7 lui ra,0x10 + 8000302c: f010809b addiw ra,ra,-255 + 80003030: 01009093 slli ra,ra,0x10 + 80003034: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80003038: 00106133 or sp,zero,ra + 8000303c: 00010eb7 lui t4,0x10 + 80003040: f01e8e9b addiw t4,t4,-255 + 80003044: 010e9e93 slli t4,t4,0x10 + 80003048: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000304c: 01800193 li gp,24 + 80003050: 05d11a63 bne sp,t4,800030a4 <fail> + +0000000080003054 <test_25>: + 80003054: 00ff00b7 lui ra,0xff0 + 80003058: 0ff0809b addiw ra,ra,255 + 8000305c: 0000e133 or sp,ra,zero + 80003060: 00ff0eb7 lui t4,0xff0 + 80003064: 0ffe8e9b addiw t4,t4,255 + 80003068: 01900193 li gp,25 + 8000306c: 03d11c63 bne sp,t4,800030a4 <fail> + +0000000080003070 <test_26>: + 80003070: 000060b3 or ra,zero,zero + 80003074: 00000e93 li t4,0 + 80003078: 01a00193 li gp,26 + 8000307c: 03d09463 bne ra,t4,800030a4 <fail> + +0000000080003080 <test_27>: + 80003080: 111110b7 lui ra,0x11111 + 80003084: 1110809b addiw ra,ra,273 + 80003088: 22222137 lui sp,0x22222 + 8000308c: 2221011b addiw sp,sp,546 + 80003090: 0020e033 or zero,ra,sp + 80003094: 00000e93 li t4,0 + 80003098: 01b00193 li gp,27 + 8000309c: 01d01463 bne zero,t4,800030a4 <fail> + 800030a0: 00301a63 bne zero,gp,800030b4 <pass> + +00000000800030a4 <fail>: + 800030a4: 00119513 slli a0,gp,0x1 + 800030a8: 00050063 beqz a0,800030a8 <fail+0x4> + 800030ac: 00156513 ori a0,a0,1 + 800030b0: 00000073 ecall + +00000000800030b4 <pass>: + 800030b4: 00100513 li a0,1 + 800030b8: 00000073 ecall + 800030bc: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-or.elf b/test/riscv/tests/rv64ui-v-or.elf Binary files differnew file mode 100644 index 00000000..cf601403 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-or.elf diff --git a/test/riscv/tests/rv64ui-v-ori.dump b/test/riscv/tests/rv64ui-v-ori.dump new file mode 100644 index 00000000..9b536c5f --- /dev/null +++ b/test/riscv/tests/rv64ui-v-ori.dump @@ -0,0 +1,987 @@ + +rv64ui-v-ori: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 87868693 addi a3,a3,-1928 # 80002cd0 <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: 8ac60613 addi a2,a2,-1876 # 80002d60 <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: 00001617 auipc a2,0x1 + 80002508: 87460613 addi a2,a2,-1932 # 80002d78 <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: 7c468693 addi a3,a3,1988 # 80002d18 <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: 7e068693 addi a3,a3,2016 # 80002e50 <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: 76060613 addi a2,a2,1888 # 80002e28 <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: 69468693 addi a3,a3,1684 # 80002e80 <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: 5b468693 addi a3,a3,1460 # 80002df0 <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: 54468693 addi a3,a3,1348 # 80002db8 <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: 00d00793 li a5,13 + 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: 0a6287b7 lui a5,0xa628 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a5878793 addi a5,a5,-1448 # a627a58 <_start-0x759d85a8> + 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: ff0100b7 lui ra,0xff010 + 80002acc: f000809b addiw ra,ra,-256 + 80002ad0: f0f0ef13 ori t5,ra,-241 + 80002ad4: f0f00e93 li t4,-241 + 80002ad8: 00200193 li gp,2 + 80002adc: 1ddf1c63 bne t5,t4,80002cb4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 0ff010b7 lui ra,0xff01 + 80002ae4: ff00809b addiw ra,ra,-16 + 80002ae8: 0f00ef13 ori t5,ra,240 + 80002aec: 0ff01eb7 lui t4,0xff01 + 80002af0: ff0e8e9b addiw t4,t4,-16 + 80002af4: 00300193 li gp,3 + 80002af8: 1bdf1e63 bne t5,t4,80002cb4 <fail> + +0000000080002afc <test_4>: + 80002afc: 00ff00b7 lui ra,0xff0 + 80002b00: 0ff0809b addiw ra,ra,255 + 80002b04: 70f0ef13 ori t5,ra,1807 + 80002b08: 00ff0eb7 lui t4,0xff0 + 80002b0c: 7ffe8e9b addiw t4,t4,2047 + 80002b10: 00400193 li gp,4 + 80002b14: 1bdf1063 bne t5,t4,80002cb4 <fail> + +0000000080002b18 <test_5>: + 80002b18: f00ff0b7 lui ra,0xf00ff + 80002b1c: 00f0809b addiw ra,ra,15 + 80002b20: 0f00ef13 ori t5,ra,240 + 80002b24: f00ffeb7 lui t4,0xf00ff + 80002b28: 0ffe8e9b addiw t4,t4,255 + 80002b2c: 00500193 li gp,5 + 80002b30: 19df1263 bne t5,t4,80002cb4 <fail> + +0000000080002b34 <test_6>: + 80002b34: 000100b7 lui ra,0x10 + 80002b38: f010809b addiw ra,ra,-255 + 80002b3c: 01009093 slli ra,ra,0x10 + 80002b40: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002b44: 0f00e093 ori ra,ra,240 + 80002b48: 00010eb7 lui t4,0x10 + 80002b4c: f01e8e9b addiw t4,t4,-255 + 80002b50: 010e9e93 slli t4,t4,0x10 + 80002b54: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80002b58: 00600193 li gp,6 + 80002b5c: 15d09c63 bne ra,t4,80002cb4 <fail> + +0000000080002b60 <test_7>: + 80002b60: 00000213 li tp,0 + 80002b64: 0ff010b7 lui ra,0xff01 + 80002b68: ff00809b addiw ra,ra,-16 + 80002b6c: 0f00ef13 ori t5,ra,240 + 80002b70: 000f0313 mv t1,t5 + 80002b74: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b78: 00200293 li t0,2 + 80002b7c: fe5214e3 bne tp,t0,80002b64 <test_7+0x4> + 80002b80: 0ff01eb7 lui t4,0xff01 + 80002b84: ff0e8e9b addiw t4,t4,-16 + 80002b88: 00700193 li gp,7 + 80002b8c: 13d31463 bne t1,t4,80002cb4 <fail> + +0000000080002b90 <test_8>: + 80002b90: 00000213 li tp,0 + 80002b94: 00ff00b7 lui ra,0xff0 + 80002b98: 0ff0809b addiw ra,ra,255 + 80002b9c: 70f0ef13 ori t5,ra,1807 + 80002ba0: 00000013 nop + 80002ba4: 000f0313 mv t1,t5 + 80002ba8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bac: 00200293 li t0,2 + 80002bb0: fe5212e3 bne tp,t0,80002b94 <test_8+0x4> + 80002bb4: 00ff0eb7 lui t4,0xff0 + 80002bb8: 7ffe8e9b addiw t4,t4,2047 + 80002bbc: 00800193 li gp,8 + 80002bc0: 0fd31a63 bne t1,t4,80002cb4 <fail> + +0000000080002bc4 <test_9>: + 80002bc4: 00000213 li tp,0 + 80002bc8: f00ff0b7 lui ra,0xf00ff + 80002bcc: 00f0809b addiw ra,ra,15 + 80002bd0: 0f00ef13 ori t5,ra,240 + 80002bd4: 00000013 nop + 80002bd8: 00000013 nop + 80002bdc: 000f0313 mv t1,t5 + 80002be0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002be4: 00200293 li t0,2 + 80002be8: fe5210e3 bne tp,t0,80002bc8 <test_9+0x4> + 80002bec: f00ffeb7 lui t4,0xf00ff + 80002bf0: 0ffe8e9b addiw t4,t4,255 + 80002bf4: 00900193 li gp,9 + 80002bf8: 0bd31e63 bne t1,t4,80002cb4 <fail> + +0000000080002bfc <test_10>: + 80002bfc: 00000213 li tp,0 + 80002c00: 0ff010b7 lui ra,0xff01 + 80002c04: ff00809b addiw ra,ra,-16 + 80002c08: 0f00ef13 ori t5,ra,240 + 80002c0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c10: 00200293 li t0,2 + 80002c14: fe5216e3 bne tp,t0,80002c00 <test_10+0x4> + 80002c18: 0ff01eb7 lui t4,0xff01 + 80002c1c: ff0e8e9b addiw t4,t4,-16 + 80002c20: 00a00193 li gp,10 + 80002c24: 09df1863 bne t5,t4,80002cb4 <fail> + +0000000080002c28 <test_11>: + 80002c28: 00000213 li tp,0 + 80002c2c: 00ff00b7 lui ra,0xff0 + 80002c30: 0ff0809b addiw ra,ra,255 + 80002c34: 00000013 nop + 80002c38: f0f0ef13 ori t5,ra,-241 + 80002c3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c40: 00200293 li t0,2 + 80002c44: fe5214e3 bne tp,t0,80002c2c <test_11+0x4> + 80002c48: fff00e93 li t4,-1 + 80002c4c: 00b00193 li gp,11 + 80002c50: 07df1263 bne t5,t4,80002cb4 <fail> + +0000000080002c54 <test_12>: + 80002c54: 00000213 li tp,0 + 80002c58: f00ff0b7 lui ra,0xf00ff + 80002c5c: 00f0809b addiw ra,ra,15 + 80002c60: 00000013 nop + 80002c64: 00000013 nop + 80002c68: 0f00ef13 ori t5,ra,240 + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5212e3 bne tp,t0,80002c58 <test_12+0x4> + 80002c78: f00ffeb7 lui t4,0xf00ff + 80002c7c: 0ffe8e9b addiw t4,t4,255 + 80002c80: 00c00193 li gp,12 + 80002c84: 03df1863 bne t5,t4,80002cb4 <fail> + +0000000080002c88 <test_13>: + 80002c88: 0f006093 ori ra,zero,240 + 80002c8c: 0f000e93 li t4,240 + 80002c90: 00d00193 li gp,13 + 80002c94: 03d09063 bne ra,t4,80002cb4 <fail> + +0000000080002c98 <test_14>: + 80002c98: 00ff00b7 lui ra,0xff0 + 80002c9c: 0ff0809b addiw ra,ra,255 + 80002ca0: 70f0e013 ori zero,ra,1807 + 80002ca4: 00000e93 li t4,0 + 80002ca8: 00e00193 li gp,14 + 80002cac: 01d01463 bne zero,t4,80002cb4 <fail> + 80002cb0: 00301a63 bne zero,gp,80002cc4 <pass> + +0000000080002cb4 <fail>: + 80002cb4: 00119513 slli a0,gp,0x1 + 80002cb8: 00050063 beqz a0,80002cb8 <fail+0x4> + 80002cbc: 00156513 ori a0,a0,1 + 80002cc0: 00000073 ecall + +0000000080002cc4 <pass>: + 80002cc4: 00100513 li a0,1 + 80002cc8: 00000073 ecall + 80002ccc: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-ori.elf b/test/riscv/tests/rv64ui-v-ori.elf Binary files differnew file mode 100644 index 00000000..db589c1d --- /dev/null +++ b/test/riscv/tests/rv64ui-v-ori.elf diff --git a/test/riscv/tests/rv64ui-v-sb.dump b/test/riscv/tests/rv64ui-v-sb.dump new file mode 100644 index 00000000..52b1645b --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sb.dump @@ -0,0 +1,1169 @@ + +rv64ui-v-sb: 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,sbadaddr + 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: a8068693 addi a3,a3,-1408 # 80002ed8 <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: ab460613 addi a2,a2,-1356 # 80002f68 <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: 00001617 auipc a2,0x1 + 80002508: a7c60613 addi a2,a2,-1412 # 80002f80 <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: 00001697 auipc a3,0x1 + 80002558: 9cc68693 addi a3,a3,-1588 # 80002f20 <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: 00001697 auipc a3,0x1 + 80002674: 9e868693 addi a3,a3,-1560 # 80003058 <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: 00001617 auipc a2,0x1 + 800026cc: 96860613 addi a2,a2,-1688 # 80003030 <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: 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: 89c68693 addi a3,a3,-1892 # 80003088 <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: 7bc68693 addi a3,a3,1980 # 80002ff8 <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: 74c68693 addi a3,a3,1868 # 80002fc0 <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: 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: 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: 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: 061a97b7 lui a5,0x61a9 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 7fc78793 addi a5,a5,2044 # 61a97fc <_start-0x79e56804> + 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: 00001097 auipc ra,0x1 + 80002acc: 53808093 addi ra,ra,1336 # 80004000 <begin_signature> + 80002ad0: faa00113 li sp,-86 + 80002ad4: 00208023 sb sp,0(ra) + 80002ad8: 00008f03 lb t5,0(ra) + 80002adc: faa00e93 li t4,-86 + 80002ae0: 00200193 li gp,2 + 80002ae4: 3ddf1c63 bne t5,t4,80002ebc <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00001097 auipc ra,0x1 + 80002aec: 51808093 addi ra,ra,1304 # 80004000 <begin_signature> + 80002af0: 00000113 li sp,0 + 80002af4: 002080a3 sb sp,1(ra) + 80002af8: 00108f03 lb t5,1(ra) + 80002afc: 00000e93 li t4,0 + 80002b00: 00300193 li gp,3 + 80002b04: 3bdf1c63 bne t5,t4,80002ebc <fail> + +0000000080002b08 <test_4>: + 80002b08: 00001097 auipc ra,0x1 + 80002b0c: 4f808093 addi ra,ra,1272 # 80004000 <begin_signature> + 80002b10: fffff137 lui sp,0xfffff + 80002b14: fa01011b addiw sp,sp,-96 + 80002b18: 00208123 sb sp,2(ra) + 80002b1c: 00209f03 lh t5,2(ra) + 80002b20: fffffeb7 lui t4,0xfffff + 80002b24: fa0e8e9b addiw t4,t4,-96 + 80002b28: 00400193 li gp,4 + 80002b2c: 39df1863 bne t5,t4,80002ebc <fail> + +0000000080002b30 <test_5>: + 80002b30: 00001097 auipc ra,0x1 + 80002b34: 4d008093 addi ra,ra,1232 # 80004000 <begin_signature> + 80002b38: 00a00113 li sp,10 + 80002b3c: 002081a3 sb sp,3(ra) + 80002b40: 00308f03 lb t5,3(ra) + 80002b44: 00a00e93 li t4,10 + 80002b48: 00500193 li gp,5 + 80002b4c: 37df1863 bne t5,t4,80002ebc <fail> + +0000000080002b50 <test_6>: + 80002b50: 00001097 auipc ra,0x1 + 80002b54: 4b708093 addi ra,ra,1207 # 80004007 <tdat8> + 80002b58: faa00113 li sp,-86 + 80002b5c: fe208ea3 sb sp,-3(ra) + 80002b60: ffd08f03 lb t5,-3(ra) + 80002b64: faa00e93 li t4,-86 + 80002b68: 00600193 li gp,6 + 80002b6c: 35df1863 bne t5,t4,80002ebc <fail> + +0000000080002b70 <test_7>: + 80002b70: 00001097 auipc ra,0x1 + 80002b74: 49708093 addi ra,ra,1175 # 80004007 <tdat8> + 80002b78: 00000113 li sp,0 + 80002b7c: fe208f23 sb sp,-2(ra) + 80002b80: ffe08f03 lb t5,-2(ra) + 80002b84: 00000e93 li t4,0 + 80002b88: 00700193 li gp,7 + 80002b8c: 33df1863 bne t5,t4,80002ebc <fail> + +0000000080002b90 <test_8>: + 80002b90: 00001097 auipc ra,0x1 + 80002b94: 47708093 addi ra,ra,1143 # 80004007 <tdat8> + 80002b98: fa000113 li sp,-96 + 80002b9c: fe208fa3 sb sp,-1(ra) + 80002ba0: fff08f03 lb t5,-1(ra) + 80002ba4: fa000e93 li t4,-96 + 80002ba8: 00800193 li gp,8 + 80002bac: 31df1863 bne t5,t4,80002ebc <fail> + +0000000080002bb0 <test_9>: + 80002bb0: 00001097 auipc ra,0x1 + 80002bb4: 45708093 addi ra,ra,1111 # 80004007 <tdat8> + 80002bb8: 00a00113 li sp,10 + 80002bbc: 00208023 sb sp,0(ra) + 80002bc0: 00008f03 lb t5,0(ra) + 80002bc4: 00a00e93 li t4,10 + 80002bc8: 00900193 li gp,9 + 80002bcc: 2fdf1863 bne t5,t4,80002ebc <fail> + +0000000080002bd0 <test_10>: + 80002bd0: 00001097 auipc ra,0x1 + 80002bd4: 43808093 addi ra,ra,1080 # 80004008 <tdat9> + 80002bd8: 12345137 lui sp,0x12345 + 80002bdc: 6781011b addiw sp,sp,1656 + 80002be0: fe008213 addi tp,ra,-32 + 80002be4: 02220023 sb sp,32(tp) # 20 <_start-0x7fffffe0> + 80002be8: 00008283 lb t0,0(ra) + 80002bec: 07800e93 li t4,120 + 80002bf0: 00a00193 li gp,10 + 80002bf4: 2dd29463 bne t0,t4,80002ebc <fail> + +0000000080002bf8 <test_11>: + 80002bf8: 00001097 auipc ra,0x1 + 80002bfc: 41008093 addi ra,ra,1040 # 80004008 <tdat9> + 80002c00: 00003137 lui sp,0x3 + 80002c04: 0981011b addiw sp,sp,152 + 80002c08: ffa08093 addi ra,ra,-6 + 80002c0c: 002083a3 sb sp,7(ra) + 80002c10: 00001217 auipc tp,0x1 + 80002c14: 3f920213 addi tp,tp,1017 # 80004009 <tdat10> + 80002c18: 00020283 lb t0,0(tp) # 0 <_start-0x80000000> + 80002c1c: f9800e93 li t4,-104 + 80002c20: 00b00193 li gp,11 + 80002c24: 29d29c63 bne t0,t4,80002ebc <fail> + +0000000080002c28 <test_12>: + 80002c28: 00c00193 li gp,12 + 80002c2c: 00000213 li tp,0 + 80002c30: fdd00093 li ra,-35 + 80002c34: 00001117 auipc sp,0x1 + 80002c38: 3cc10113 addi sp,sp,972 # 80004000 <begin_signature> + 80002c3c: 00110023 sb ra,0(sp) + 80002c40: 00010f03 lb t5,0(sp) + 80002c44: fdd00e93 li t4,-35 + 80002c48: 27df1a63 bne t5,t4,80002ebc <fail> + 80002c4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c50: 00200293 li t0,2 + 80002c54: fc521ee3 bne tp,t0,80002c30 <test_12+0x8> + +0000000080002c58 <test_13>: + 80002c58: 00d00193 li gp,13 + 80002c5c: 00000213 li tp,0 + 80002c60: fcd00093 li ra,-51 + 80002c64: 00001117 auipc sp,0x1 + 80002c68: 39c10113 addi sp,sp,924 # 80004000 <begin_signature> + 80002c6c: 00000013 nop + 80002c70: 001100a3 sb ra,1(sp) + 80002c74: 00110f03 lb t5,1(sp) + 80002c78: fcd00e93 li t4,-51 + 80002c7c: 25df1063 bne t5,t4,80002ebc <fail> + 80002c80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c84: 00200293 li t0,2 + 80002c88: fc521ce3 bne tp,t0,80002c60 <test_13+0x8> + +0000000080002c8c <test_14>: + 80002c8c: 00e00193 li gp,14 + 80002c90: 00000213 li tp,0 + 80002c94: fcc00093 li ra,-52 + 80002c98: 00001117 auipc sp,0x1 + 80002c9c: 36810113 addi sp,sp,872 # 80004000 <begin_signature> + 80002ca0: 00000013 nop + 80002ca4: 00000013 nop + 80002ca8: 00110123 sb ra,2(sp) + 80002cac: 00210f03 lb t5,2(sp) + 80002cb0: fcc00e93 li t4,-52 + 80002cb4: 21df1463 bne t5,t4,80002ebc <fail> + 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cbc: 00200293 li t0,2 + 80002cc0: fc521ae3 bne tp,t0,80002c94 <test_14+0x8> + +0000000080002cc4 <test_15>: + 80002cc4: 00f00193 li gp,15 + 80002cc8: 00000213 li tp,0 + 80002ccc: fbc00093 li ra,-68 + 80002cd0: 00000013 nop + 80002cd4: 00001117 auipc sp,0x1 + 80002cd8: 32c10113 addi sp,sp,812 # 80004000 <begin_signature> + 80002cdc: 001101a3 sb ra,3(sp) + 80002ce0: 00310f03 lb t5,3(sp) + 80002ce4: fbc00e93 li t4,-68 + 80002ce8: 1ddf1a63 bne t5,t4,80002ebc <fail> + 80002cec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf0: 00200293 li t0,2 + 80002cf4: fc521ce3 bne tp,t0,80002ccc <test_15+0x8> + +0000000080002cf8 <test_16>: + 80002cf8: 01000193 li gp,16 + 80002cfc: 00000213 li tp,0 + 80002d00: fbb00093 li ra,-69 + 80002d04: 00000013 nop + 80002d08: 00001117 auipc sp,0x1 + 80002d0c: 2f810113 addi sp,sp,760 # 80004000 <begin_signature> + 80002d10: 00000013 nop + 80002d14: 00110223 sb ra,4(sp) + 80002d18: 00410f03 lb t5,4(sp) + 80002d1c: fbb00e93 li t4,-69 + 80002d20: 19df1e63 bne t5,t4,80002ebc <fail> + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fc521ae3 bne tp,t0,80002d00 <test_16+0x8> + +0000000080002d30 <test_17>: + 80002d30: 01100193 li gp,17 + 80002d34: 00000213 li tp,0 + 80002d38: fab00093 li ra,-85 + 80002d3c: 00000013 nop + 80002d40: 00000013 nop + 80002d44: 00001117 auipc sp,0x1 + 80002d48: 2bc10113 addi sp,sp,700 # 80004000 <begin_signature> + 80002d4c: 001102a3 sb ra,5(sp) + 80002d50: 00510f03 lb t5,5(sp) + 80002d54: fab00e93 li t4,-85 + 80002d58: 17df1263 bne t5,t4,80002ebc <fail> + 80002d5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d60: 00200293 li t0,2 + 80002d64: fc521ae3 bne tp,t0,80002d38 <test_17+0x8> + +0000000080002d68 <test_18>: + 80002d68: 01200193 li gp,18 + 80002d6c: 00000213 li tp,0 + 80002d70: 00001117 auipc sp,0x1 + 80002d74: 29010113 addi sp,sp,656 # 80004000 <begin_signature> + 80002d78: 03300093 li ra,51 + 80002d7c: 00110023 sb ra,0(sp) + 80002d80: 00010f03 lb t5,0(sp) + 80002d84: 03300e93 li t4,51 + 80002d88: 13df1a63 bne t5,t4,80002ebc <fail> + 80002d8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d90: 00200293 li t0,2 + 80002d94: fc521ee3 bne tp,t0,80002d70 <test_18+0x8> + +0000000080002d98 <test_19>: + 80002d98: 01300193 li gp,19 + 80002d9c: 00000213 li tp,0 + 80002da0: 00001117 auipc sp,0x1 + 80002da4: 26010113 addi sp,sp,608 # 80004000 <begin_signature> + 80002da8: 02300093 li ra,35 + 80002dac: 00000013 nop + 80002db0: 001100a3 sb ra,1(sp) + 80002db4: 00110f03 lb t5,1(sp) + 80002db8: 02300e93 li t4,35 + 80002dbc: 11df1063 bne t5,t4,80002ebc <fail> + 80002dc0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dc4: 00200293 li t0,2 + 80002dc8: fc521ce3 bne tp,t0,80002da0 <test_19+0x8> + +0000000080002dcc <test_20>: + 80002dcc: 01400193 li gp,20 + 80002dd0: 00000213 li tp,0 + 80002dd4: 00001117 auipc sp,0x1 + 80002dd8: 22c10113 addi sp,sp,556 # 80004000 <begin_signature> + 80002ddc: 02200093 li ra,34 + 80002de0: 00000013 nop + 80002de4: 00000013 nop + 80002de8: 00110123 sb ra,2(sp) + 80002dec: 00210f03 lb t5,2(sp) + 80002df0: 02200e93 li t4,34 + 80002df4: 0ddf1463 bne t5,t4,80002ebc <fail> + 80002df8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dfc: 00200293 li t0,2 + 80002e00: fc521ae3 bne tp,t0,80002dd4 <test_20+0x8> + +0000000080002e04 <test_21>: + 80002e04: 01500193 li gp,21 + 80002e08: 00000213 li tp,0 + 80002e0c: 00001117 auipc sp,0x1 + 80002e10: 1f410113 addi sp,sp,500 # 80004000 <begin_signature> + 80002e14: 00000013 nop + 80002e18: 01200093 li ra,18 + 80002e1c: 001101a3 sb ra,3(sp) + 80002e20: 00310f03 lb t5,3(sp) + 80002e24: 01200e93 li t4,18 + 80002e28: 09df1a63 bne t5,t4,80002ebc <fail> + 80002e2c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e30: 00200293 li t0,2 + 80002e34: fc521ce3 bne tp,t0,80002e0c <test_21+0x8> + +0000000080002e38 <test_22>: + 80002e38: 01600193 li gp,22 + 80002e3c: 00000213 li tp,0 + 80002e40: 00001117 auipc sp,0x1 + 80002e44: 1c010113 addi sp,sp,448 # 80004000 <begin_signature> + 80002e48: 00000013 nop + 80002e4c: 01100093 li ra,17 + 80002e50: 00000013 nop + 80002e54: 00110223 sb ra,4(sp) + 80002e58: 00410f03 lb t5,4(sp) + 80002e5c: 01100e93 li t4,17 + 80002e60: 05df1e63 bne t5,t4,80002ebc <fail> + 80002e64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e68: 00200293 li t0,2 + 80002e6c: fc521ae3 bne tp,t0,80002e40 <test_22+0x8> + +0000000080002e70 <test_23>: + 80002e70: 01700193 li gp,23 + 80002e74: 00000213 li tp,0 + 80002e78: 00001117 auipc sp,0x1 + 80002e7c: 18810113 addi sp,sp,392 # 80004000 <begin_signature> + 80002e80: 00000013 nop + 80002e84: 00000013 nop + 80002e88: 00100093 li ra,1 + 80002e8c: 001102a3 sb ra,5(sp) + 80002e90: 00510f03 lb t5,5(sp) + 80002e94: 00100e93 li t4,1 + 80002e98: 03df1263 bne t5,t4,80002ebc <fail> + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fc521ae3 bne tp,t0,80002e78 <test_23+0x8> + 80002ea8: 0ef00513 li a0,239 + 80002eac: 00001597 auipc a1,0x1 + 80002eb0: 15458593 addi a1,a1,340 # 80004000 <begin_signature> + 80002eb4: 00a581a3 sb a0,3(a1) + 80002eb8: 00301a63 bne zero,gp,80002ecc <pass> + +0000000080002ebc <fail>: + 80002ebc: 00119513 slli a0,gp,0x1 + 80002ec0: 00050063 beqz a0,80002ec0 <fail+0x4> + 80002ec4: 00156513 ori a0,a0,1 + 80002ec8: 00000073 ecall + +0000000080002ecc <pass>: + 80002ecc: 00100513 li a0,1 + 80002ed0: 00000073 ecall + 80002ed4: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <begin_signature>: + 80004000: jal t6,800026fe <handle_trap+0x162> + +0000000080004001 <tdat2>: + 80004001: jal t6,800026ff <handle_trap+0x163> + +0000000080004002 <tdat3>: + 80004002: jal t6,80002700 <handle_trap+0x164> + +0000000080004003 <tdat4>: + 80004003: jal t6,80002701 <handle_trap+0x165> + +0000000080004004 <tdat5>: + 80004004: jal t6,80002702 <handle_trap+0x166> + +0000000080004005 <tdat6>: + 80004005: jal t6,80002703 <handle_trap+0x167> + +0000000080004006 <tdat7>: + 80004006: jal t6,80002704 <handle_trap+0x168> + +0000000080004007 <tdat8>: + 80004007: jal t6,80012007 <_end+0x8817> + +0000000080004008 <tdat9>: + 80004008: jal t6,80012008 <_end+0x8818> + +0000000080004009 <tdat10>: + 80004009: ef Address 0x0000000080004009 is out of bounds. + + 8000400d: diff --git a/test/riscv/tests/rv64ui-v-sb.elf b/test/riscv/tests/rv64ui-v-sb.elf Binary files differnew file mode 100644 index 00000000..72d0ab55 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sb.elf diff --git a/test/riscv/tests/rv64ui-v-sd.dump b/test/riscv/tests/rv64ui-v-sd.dump new file mode 100644 index 00000000..3fc62989 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sd.dump @@ -0,0 +1,1325 @@ + +rv64ui-v-sd: 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,sbadaddr + 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: cd068693 addi a3,a3,-816 # 80003128 <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: d0460613 addi a2,a2,-764 # 800031b8 <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: 00001617 auipc a2,0x1 + 80002508: ccc60613 addi a2,a2,-820 # 800031d0 <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: 00001697 auipc a3,0x1 + 80002558: c1c68693 addi a3,a3,-996 # 80003170 <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: 00001697 auipc a3,0x1 + 80002674: c3868693 addi a3,a3,-968 # 800032a8 <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: 00001617 auipc a2,0x1 + 800026cc: bb860613 addi a2,a2,-1096 # 80003280 <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: 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: aec68693 addi a3,a3,-1300 # 800032d8 <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: 00001697 auipc a3,0x1 + 80002840: a0c68693 addi a3,a3,-1524 # 80003248 <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: 00001697 auipc a3,0x1 + 80002878: 99c68693 addi a3,a3,-1636 # 80003210 <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: 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: 036b47b7 lui a5,0x36b4 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c8578793 addi a5,a5,-891 # 36b3c85 <_start-0x7c94c37b> + 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: 00001097 auipc ra,0x1 + 80002acc: 53808093 addi ra,ra,1336 # 80004000 <begin_signature> + 80002ad0: 00550137 lui sp,0x550 + 80002ad4: 0551011b addiw sp,sp,85 + 80002ad8: 01011113 slli sp,sp,0x10 + 80002adc: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab> + 80002ae0: 01111113 slli sp,sp,0x11 + 80002ae4: 0aa10113 addi sp,sp,170 + 80002ae8: 0020b023 sd sp,0(ra) + 80002aec: 0000bf03 ld t5,0(ra) + 80002af0: 00550eb7 lui t4,0x550 + 80002af4: 055e8e9b addiw t4,t4,85 + 80002af8: 010e9e93 slli t4,t4,0x10 + 80002afc: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab> + 80002b00: 011e9e93 slli t4,t4,0x11 + 80002b04: 0aae8e93 addi t4,t4,170 + 80002b08: 00200193 li gp,2 + 80002b0c: 61df1063 bne t5,t4,8000310c <fail> + +0000000080002b10 <test_3>: + 80002b10: 00001097 auipc ra,0x1 + 80002b14: 4f008093 addi ra,ra,1264 # 80004000 <begin_signature> + 80002b18: ffd50137 lui sp,0xffd50 + 80002b1c: 0551011b addiw sp,sp,85 + 80002b20: 01011113 slli sp,sp,0x10 + 80002b24: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd46865> + 80002b28: 00d11113 slli sp,sp,0xd + 80002b2c: 00b10113 addi sp,sp,11 + 80002b30: 00c11113 slli sp,sp,0xc + 80002b34: a0010113 addi sp,sp,-1536 + 80002b38: 0020b423 sd sp,8(ra) + 80002b3c: 0080bf03 ld t5,8(ra) + 80002b40: ffd50eb7 lui t4,0xffd50 + 80002b44: 055e8e9b addiw t4,t4,85 + 80002b48: 010e9e93 slli t4,t4,0x10 + 80002b4c: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd46865> + 80002b50: 00de9e93 slli t4,t4,0xd + 80002b54: 00be8e93 addi t4,t4,11 + 80002b58: 00ce9e93 slli t4,t4,0xc + 80002b5c: a00e8e93 addi t4,t4,-1536 + 80002b60: 00300193 li gp,3 + 80002b64: 5bdf1463 bne t5,t4,8000310c <fail> + +0000000080002b68 <test_4>: + 80002b68: 00001097 auipc ra,0x1 + 80002b6c: 49808093 addi ra,ra,1176 # 80004000 <begin_signature> + 80002b70: 00550137 lui sp,0x550 + 80002b74: 0551011b addiw sp,sp,85 + 80002b78: 00d11113 slli sp,sp,0xd + 80002b7c: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5> + 80002b80: 00c11113 slli sp,sp,0xc + 80002b84: a0110113 addi sp,sp,-1535 + 80002b88: 00c11113 slli sp,sp,0xc + 80002b8c: aa010113 addi sp,sp,-1376 + 80002b90: 0020b823 sd sp,16(ra) + 80002b94: 0100bf03 ld t5,16(ra) + 80002b98: 00550eb7 lui t4,0x550 + 80002b9c: 055e8e9b addiw t4,t4,85 + 80002ba0: 00de9e93 slli t4,t4,0xd + 80002ba4: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5> + 80002ba8: 00ce9e93 slli t4,t4,0xc + 80002bac: a01e8e93 addi t4,t4,-1535 + 80002bb0: 00ce9e93 slli t4,t4,0xc + 80002bb4: aa0e8e93 addi t4,t4,-1376 + 80002bb8: 00400193 li gp,4 + 80002bbc: 55df1863 bne t5,t4,8000310c <fail> + +0000000080002bc0 <test_5>: + 80002bc0: 00001097 auipc ra,0x1 + 80002bc4: 44008093 addi ra,ra,1088 # 80004000 <begin_signature> + 80002bc8: fffd0137 lui sp,0xfffd0 + 80002bcc: 0551011b addiw sp,sp,85 + 80002bd0: 01011113 slli sp,sp,0x10 + 80002bd4: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffc6865> + 80002bd8: 01011113 slli sp,sp,0x10 + 80002bdc: 05510113 addi sp,sp,85 + 80002be0: 00d11113 slli sp,sp,0xd + 80002be4: 00a10113 addi sp,sp,10 + 80002be8: 0020bc23 sd sp,24(ra) + 80002bec: 0180bf03 ld t5,24(ra) + 80002bf0: fffd0eb7 lui t4,0xfffd0 + 80002bf4: 055e8e9b addiw t4,t4,85 + 80002bf8: 010e9e93 slli t4,t4,0x10 + 80002bfc: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffc6865> + 80002c00: 010e9e93 slli t4,t4,0x10 + 80002c04: 055e8e93 addi t4,t4,85 + 80002c08: 00de9e93 slli t4,t4,0xd + 80002c0c: 00ae8e93 addi t4,t4,10 + 80002c10: 00500193 li gp,5 + 80002c14: 4fdf1c63 bne t5,t4,8000310c <fail> + +0000000080002c18 <test_6>: + 80002c18: 00001097 auipc ra,0x1 + 80002c1c: 42008093 addi ra,ra,1056 # 80004038 <tdat8> + 80002c20: 00550137 lui sp,0x550 + 80002c24: 0551011b addiw sp,sp,85 + 80002c28: 01011113 slli sp,sp,0x10 + 80002c2c: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab> + 80002c30: 01111113 slli sp,sp,0x11 + 80002c34: 0aa10113 addi sp,sp,170 + 80002c38: fe20b423 sd sp,-24(ra) + 80002c3c: fe80bf03 ld t5,-24(ra) + 80002c40: 00550eb7 lui t4,0x550 + 80002c44: 055e8e9b addiw t4,t4,85 + 80002c48: 010e9e93 slli t4,t4,0x10 + 80002c4c: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab> + 80002c50: 011e9e93 slli t4,t4,0x11 + 80002c54: 0aae8e93 addi t4,t4,170 + 80002c58: 00600193 li gp,6 + 80002c5c: 4bdf1863 bne t5,t4,8000310c <fail> + +0000000080002c60 <test_7>: + 80002c60: 00001097 auipc ra,0x1 + 80002c64: 3d808093 addi ra,ra,984 # 80004038 <tdat8> + 80002c68: ffd50137 lui sp,0xffd50 + 80002c6c: 0551011b addiw sp,sp,85 + 80002c70: 01011113 slli sp,sp,0x10 + 80002c74: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd46865> + 80002c78: 00d11113 slli sp,sp,0xd + 80002c7c: 00b10113 addi sp,sp,11 + 80002c80: 00c11113 slli sp,sp,0xc + 80002c84: a0010113 addi sp,sp,-1536 + 80002c88: fe20b823 sd sp,-16(ra) + 80002c8c: ff00bf03 ld t5,-16(ra) + 80002c90: ffd50eb7 lui t4,0xffd50 + 80002c94: 055e8e9b addiw t4,t4,85 + 80002c98: 010e9e93 slli t4,t4,0x10 + 80002c9c: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd46865> + 80002ca0: 00de9e93 slli t4,t4,0xd + 80002ca4: 00be8e93 addi t4,t4,11 + 80002ca8: 00ce9e93 slli t4,t4,0xc + 80002cac: a00e8e93 addi t4,t4,-1536 + 80002cb0: 00700193 li gp,7 + 80002cb4: 45df1c63 bne t5,t4,8000310c <fail> + +0000000080002cb8 <test_8>: + 80002cb8: 00001097 auipc ra,0x1 + 80002cbc: 38008093 addi ra,ra,896 # 80004038 <tdat8> + 80002cc0: 00550137 lui sp,0x550 + 80002cc4: 0551011b addiw sp,sp,85 + 80002cc8: 00d11113 slli sp,sp,0xd + 80002ccc: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5> + 80002cd0: 00c11113 slli sp,sp,0xc + 80002cd4: a0110113 addi sp,sp,-1535 + 80002cd8: 00c11113 slli sp,sp,0xc + 80002cdc: aa010113 addi sp,sp,-1376 + 80002ce0: fe20bc23 sd sp,-8(ra) + 80002ce4: ff80bf03 ld t5,-8(ra) + 80002ce8: 00550eb7 lui t4,0x550 + 80002cec: 055e8e9b addiw t4,t4,85 + 80002cf0: 00de9e93 slli t4,t4,0xd + 80002cf4: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5> + 80002cf8: 00ce9e93 slli t4,t4,0xc + 80002cfc: a01e8e93 addi t4,t4,-1535 + 80002d00: 00ce9e93 slli t4,t4,0xc + 80002d04: aa0e8e93 addi t4,t4,-1376 + 80002d08: 00800193 li gp,8 + 80002d0c: 41df1063 bne t5,t4,8000310c <fail> + +0000000080002d10 <test_9>: + 80002d10: 00001097 auipc ra,0x1 + 80002d14: 32808093 addi ra,ra,808 # 80004038 <tdat8> + 80002d18: fffd0137 lui sp,0xfffd0 + 80002d1c: 0551011b addiw sp,sp,85 + 80002d20: 01011113 slli sp,sp,0x10 + 80002d24: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffc6865> + 80002d28: 01011113 slli sp,sp,0x10 + 80002d2c: 05510113 addi sp,sp,85 + 80002d30: 00d11113 slli sp,sp,0xd + 80002d34: 00a10113 addi sp,sp,10 + 80002d38: 0020b023 sd sp,0(ra) + 80002d3c: 0000bf03 ld t5,0(ra) + 80002d40: fffd0eb7 lui t4,0xfffd0 + 80002d44: 055e8e9b addiw t4,t4,85 + 80002d48: 010e9e93 slli t4,t4,0x10 + 80002d4c: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffc6865> + 80002d50: 010e9e93 slli t4,t4,0x10 + 80002d54: 055e8e93 addi t4,t4,85 + 80002d58: 00de9e93 slli t4,t4,0xd + 80002d5c: 00ae8e93 addi t4,t4,10 + 80002d60: 00900193 li gp,9 + 80002d64: 3bdf1463 bne t5,t4,8000310c <fail> + +0000000080002d68 <test_10>: + 80002d68: 00001097 auipc ra,0x1 + 80002d6c: 2d808093 addi ra,ra,728 # 80004040 <tdat9> + 80002d70: 00247137 lui sp,0x247 + 80002d74: 8ad1011b addiw sp,sp,-1875 + 80002d78: 00e11113 slli sp,sp,0xe + 80002d7c: c0910113 addi sp,sp,-1015 # 246c09 <_start-0x7fdb93f7> + 80002d80: 00d11113 slli sp,sp,0xd + 80002d84: 34510113 addi sp,sp,837 + 80002d88: 00c11113 slli sp,sp,0xc + 80002d8c: 67810113 addi sp,sp,1656 + 80002d90: fe008213 addi tp,ra,-32 + 80002d94: 02223023 sd sp,32(tp) # 20 <_start-0x7fffffe0> + 80002d98: 0000b283 ld t0,0(ra) + 80002d9c: 00247eb7 lui t4,0x247 + 80002da0: 8ade8e9b addiw t4,t4,-1875 + 80002da4: 00ee9e93 slli t4,t4,0xe + 80002da8: c09e8e93 addi t4,t4,-1015 # 246c09 <_start-0x7fdb93f7> + 80002dac: 00de9e93 slli t4,t4,0xd + 80002db0: 345e8e93 addi t4,t4,837 + 80002db4: 00ce9e93 slli t4,t4,0xc + 80002db8: 678e8e93 addi t4,t4,1656 + 80002dbc: 00a00193 li gp,10 + 80002dc0: 35d29663 bne t0,t4,8000310c <fail> + +0000000080002dc4 <test_11>: + 80002dc4: 00001097 auipc ra,0x1 + 80002dc8: 27c08093 addi ra,ra,636 # 80004040 <tdat9> + 80002dcc: 00b04137 lui sp,0xb04 + 80002dd0: 2611011b addiw sp,sp,609 + 80002dd4: 00c11113 slli sp,sp,0xc + 80002dd8: 30b10113 addi sp,sp,779 # b0430b <_start-0x7f4fbcf5> + 80002ddc: 00f11113 slli sp,sp,0xf + 80002de0: 21310113 addi sp,sp,531 + 80002de4: 00c11113 slli sp,sp,0xc + 80002de8: 09810113 addi sp,sp,152 + 80002dec: ffd08093 addi ra,ra,-3 + 80002df0: 0020b5a3 sd sp,11(ra) + 80002df4: 00001217 auipc tp,0x1 + 80002df8: 25420213 addi tp,tp,596 # 80004048 <tdat10> + 80002dfc: 00023283 ld t0,0(tp) # 0 <_start-0x80000000> + 80002e00: 00b04eb7 lui t4,0xb04 + 80002e04: 261e8e9b addiw t4,t4,609 + 80002e08: 00ce9e93 slli t4,t4,0xc + 80002e0c: 30be8e93 addi t4,t4,779 # b0430b <_start-0x7f4fbcf5> + 80002e10: 00fe9e93 slli t4,t4,0xf + 80002e14: 213e8e93 addi t4,t4,531 + 80002e18: 00ce9e93 slli t4,t4,0xc + 80002e1c: 098e8e93 addi t4,t4,152 + 80002e20: 00b00193 li gp,11 + 80002e24: 2fd29463 bne t0,t4,8000310c <fail> + +0000000080002e28 <test_12>: + 80002e28: 00c00193 li gp,12 + 80002e2c: 00000213 li tp,0 + 80002e30: 0abbd0b7 lui ra,0xabbd + 80002e34: cdd0809b addiw ra,ra,-803 + 80002e38: 00001117 auipc sp,0x1 + 80002e3c: 1c810113 addi sp,sp,456 # 80004000 <begin_signature> + 80002e40: 00113023 sd ra,0(sp) + 80002e44: 00013f03 ld t5,0(sp) + 80002e48: 0abbdeb7 lui t4,0xabbd + 80002e4c: cdde8e9b addiw t4,t4,-803 + 80002e50: 2bdf1e63 bne t5,t4,8000310c <fail> + 80002e54: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e58: 00200293 li t0,2 + 80002e5c: fc521ae3 bne tp,t0,80002e30 <test_12+0x8> + +0000000080002e60 <test_13>: + 80002e60: 00d00193 li gp,13 + 80002e64: 00000213 li tp,0 + 80002e68: 0aabc0b7 lui ra,0xaabc + 80002e6c: ccd0809b addiw ra,ra,-819 + 80002e70: 00001117 auipc sp,0x1 + 80002e74: 19010113 addi sp,sp,400 # 80004000 <begin_signature> + 80002e78: 00000013 nop + 80002e7c: 00113423 sd ra,8(sp) + 80002e80: 00813f03 ld t5,8(sp) + 80002e84: 0aabceb7 lui t4,0xaabc + 80002e88: ccde8e9b addiw t4,t4,-819 + 80002e8c: 29df1063 bne t5,t4,8000310c <fail> + 80002e90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e94: 00200293 li t0,2 + 80002e98: fc5218e3 bne tp,t0,80002e68 <test_13+0x8> + +0000000080002e9c <test_14>: + 80002e9c: 00e00193 li gp,14 + 80002ea0: 00000213 li tp,0 + 80002ea4: 0daac0b7 lui ra,0xdaac + 80002ea8: bcc0809b addiw ra,ra,-1076 + 80002eac: 00001117 auipc sp,0x1 + 80002eb0: 15410113 addi sp,sp,340 # 80004000 <begin_signature> + 80002eb4: 00000013 nop + 80002eb8: 00000013 nop + 80002ebc: 00113823 sd ra,16(sp) + 80002ec0: 01013f03 ld t5,16(sp) + 80002ec4: 0daaceb7 lui t4,0xdaac + 80002ec8: bcce8e9b addiw t4,t4,-1076 + 80002ecc: 25df1063 bne t5,t4,8000310c <fail> + 80002ed0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ed4: 00200293 li t0,2 + 80002ed8: fc5216e3 bne tp,t0,80002ea4 <test_14+0x8> + +0000000080002edc <test_15>: + 80002edc: 00f00193 li gp,15 + 80002ee0: 00000213 li tp,0 + 80002ee4: 0ddab0b7 lui ra,0xddab + 80002ee8: bbc0809b addiw ra,ra,-1092 + 80002eec: 00000013 nop + 80002ef0: 00001117 auipc sp,0x1 + 80002ef4: 11010113 addi sp,sp,272 # 80004000 <begin_signature> + 80002ef8: 00113c23 sd ra,24(sp) + 80002efc: 01813f03 ld t5,24(sp) + 80002f00: 0ddabeb7 lui t4,0xddab + 80002f04: bbce8e9b addiw t4,t4,-1092 + 80002f08: 21df1263 bne t5,t4,8000310c <fail> + 80002f0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f10: 00200293 li t0,2 + 80002f14: fc5218e3 bne tp,t0,80002ee4 <test_15+0x8> + +0000000080002f18 <test_16>: + 80002f18: 01000193 li gp,16 + 80002f1c: 00000213 li tp,0 + 80002f20: 0cddb0b7 lui ra,0xcddb + 80002f24: abb0809b addiw ra,ra,-1349 + 80002f28: 00000013 nop + 80002f2c: 00001117 auipc sp,0x1 + 80002f30: 0d410113 addi sp,sp,212 # 80004000 <begin_signature> + 80002f34: 00000013 nop + 80002f38: 02113023 sd ra,32(sp) + 80002f3c: 02013f03 ld t5,32(sp) + 80002f40: 0cddbeb7 lui t4,0xcddb + 80002f44: abbe8e9b addiw t4,t4,-1349 + 80002f48: 1ddf1263 bne t5,t4,8000310c <fail> + 80002f4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f50: 00200293 li t0,2 + 80002f54: fc5216e3 bne tp,t0,80002f20 <test_16+0x8> + +0000000080002f58 <test_17>: + 80002f58: 01100193 li gp,17 + 80002f5c: 00000213 li tp,0 + 80002f60: 0ccde0b7 lui ra,0xccde + 80002f64: aab0809b addiw ra,ra,-1365 + 80002f68: 00000013 nop + 80002f6c: 00000013 nop + 80002f70: 00001117 auipc sp,0x1 + 80002f74: 09010113 addi sp,sp,144 # 80004000 <begin_signature> + 80002f78: 02113423 sd ra,40(sp) + 80002f7c: 02813f03 ld t5,40(sp) + 80002f80: 0ccdeeb7 lui t4,0xccde + 80002f84: aabe8e9b addiw t4,t4,-1365 + 80002f88: 19df1263 bne t5,t4,8000310c <fail> + 80002f8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f90: 00200293 li t0,2 + 80002f94: fc5216e3 bne tp,t0,80002f60 <test_17+0x8> + +0000000080002f98 <test_18>: + 80002f98: 01200193 li gp,18 + 80002f9c: 00000213 li tp,0 + 80002fa0: 00001117 auipc sp,0x1 + 80002fa4: 06010113 addi sp,sp,96 # 80004000 <begin_signature> + 80002fa8: 001120b7 lui ra,0x112 + 80002fac: 2330809b addiw ra,ra,563 + 80002fb0: 00113023 sd ra,0(sp) + 80002fb4: 00013f03 ld t5,0(sp) + 80002fb8: 00112eb7 lui t4,0x112 + 80002fbc: 233e8e9b addiw t4,t4,563 + 80002fc0: 15df1663 bne t5,t4,8000310c <fail> + 80002fc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fc8: 00200293 li t0,2 + 80002fcc: fc521ae3 bne tp,t0,80002fa0 <test_18+0x8> + +0000000080002fd0 <test_19>: + 80002fd0: 01300193 li gp,19 + 80002fd4: 00000213 li tp,0 + 80002fd8: 00001117 auipc sp,0x1 + 80002fdc: 02810113 addi sp,sp,40 # 80004000 <begin_signature> + 80002fe0: 300110b7 lui ra,0x30011 + 80002fe4: 2230809b addiw ra,ra,547 + 80002fe8: 00000013 nop + 80002fec: 00113423 sd ra,8(sp) + 80002ff0: 00813f03 ld t5,8(sp) + 80002ff4: 30011eb7 lui t4,0x30011 + 80002ff8: 223e8e9b addiw t4,t4,547 + 80002ffc: 11df1863 bne t5,t4,8000310c <fail> + 80003000: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003004: 00200293 li t0,2 + 80003008: fc5218e3 bne tp,t0,80002fd8 <test_19+0x8> + +000000008000300c <test_20>: + 8000300c: 01400193 li gp,20 + 80003010: 00000213 li tp,0 + 80003014: 00001117 auipc sp,0x1 + 80003018: fec10113 addi sp,sp,-20 # 80004000 <begin_signature> + 8000301c: 330010b7 lui ra,0x33001 + 80003020: 1220809b addiw ra,ra,290 + 80003024: 00000013 nop + 80003028: 00000013 nop + 8000302c: 00113823 sd ra,16(sp) + 80003030: 01013f03 ld t5,16(sp) + 80003034: 33001eb7 lui t4,0x33001 + 80003038: 122e8e9b addiw t4,t4,290 + 8000303c: 0ddf1863 bne t5,t4,8000310c <fail> + 80003040: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003044: 00200293 li t0,2 + 80003048: fc5216e3 bne tp,t0,80003014 <test_20+0x8> + +000000008000304c <test_21>: + 8000304c: 01500193 li gp,21 + 80003050: 00000213 li tp,0 + 80003054: 00001117 auipc sp,0x1 + 80003058: fac10113 addi sp,sp,-84 # 80004000 <begin_signature> + 8000305c: 00000013 nop + 80003060: 233000b7 lui ra,0x23300 + 80003064: 1120809b addiw ra,ra,274 + 80003068: 00113c23 sd ra,24(sp) + 8000306c: 01813f03 ld t5,24(sp) + 80003070: 23300eb7 lui t4,0x23300 + 80003074: 112e8e9b addiw t4,t4,274 + 80003078: 09df1a63 bne t5,t4,8000310c <fail> + 8000307c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003080: 00200293 li t0,2 + 80003084: fc5218e3 bne tp,t0,80003054 <test_21+0x8> + +0000000080003088 <test_22>: + 80003088: 01600193 li gp,22 + 8000308c: 00000213 li tp,0 + 80003090: 00001117 auipc sp,0x1 + 80003094: f7010113 addi sp,sp,-144 # 80004000 <begin_signature> + 80003098: 00000013 nop + 8000309c: 223300b7 lui ra,0x22330 + 800030a0: 0110809b addiw ra,ra,17 + 800030a4: 00000013 nop + 800030a8: 02113023 sd ra,32(sp) + 800030ac: 02013f03 ld t5,32(sp) + 800030b0: 22330eb7 lui t4,0x22330 + 800030b4: 011e8e9b addiw t4,t4,17 + 800030b8: 05df1a63 bne t5,t4,8000310c <fail> + 800030bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800030c0: 00200293 li t0,2 + 800030c4: fc5216e3 bne tp,t0,80003090 <test_22+0x8> + +00000000800030c8 <test_23>: + 800030c8: 01700193 li gp,23 + 800030cc: 00000213 li tp,0 + 800030d0: 00001117 auipc sp,0x1 + 800030d4: f3010113 addi sp,sp,-208 # 80004000 <begin_signature> + 800030d8: 00000013 nop + 800030dc: 00000013 nop + 800030e0: 122330b7 lui ra,0x12233 + 800030e4: 0010809b addiw ra,ra,1 + 800030e8: 02113423 sd ra,40(sp) + 800030ec: 02813f03 ld t5,40(sp) + 800030f0: 12233eb7 lui t4,0x12233 + 800030f4: 001e8e9b addiw t4,t4,1 + 800030f8: 01df1a63 bne t5,t4,8000310c <fail> + 800030fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003100: 00200293 li t0,2 + 80003104: fc5216e3 bne tp,t0,800030d0 <test_23+0x8> + 80003108: 00301a63 bne zero,gp,8000311c <pass> + +000000008000310c <fail>: + 8000310c: 00119513 slli a0,gp,0x1 + 80003110: 00050063 beqz a0,80003110 <fail+0x4> + 80003114: 00156513 ori a0,a0,1 + 80003118: 00000073 ecall + +000000008000311c <pass>: + 8000311c: 00100513 li a0,1 + 80003120: 00000073 ecall + 80003124: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <begin_signature>: + 80004000: deadbeef jal t4,7ffdf5ea <_start-0x20a16> + 80004004: deadbeef jal t4,7ffdf5ee <_start-0x20a12> + +0000000080004008 <tdat2>: + 80004008: deadbeef jal t4,7ffdf5f2 <_start-0x20a0e> + 8000400c: deadbeef jal t4,7ffdf5f6 <_start-0x20a0a> + +0000000080004010 <tdat3>: + 80004010: deadbeef jal t4,7ffdf5fa <_start-0x20a06> + 80004014: deadbeef jal t4,7ffdf5fe <_start-0x20a02> + +0000000080004018 <tdat4>: + 80004018: deadbeef jal t4,7ffdf602 <_start-0x209fe> + 8000401c: deadbeef jal t4,7ffdf606 <_start-0x209fa> + +0000000080004020 <tdat5>: + 80004020: deadbeef jal t4,7ffdf60a <_start-0x209f6> + 80004024: deadbeef jal t4,7ffdf60e <_start-0x209f2> + +0000000080004028 <tdat6>: + 80004028: deadbeef jal t4,7ffdf612 <_start-0x209ee> + 8000402c: deadbeef jal t4,7ffdf616 <_start-0x209ea> + +0000000080004030 <tdat7>: + 80004030: deadbeef jal t4,7ffdf61a <_start-0x209e6> + 80004034: deadbeef jal t4,7ffdf61e <_start-0x209e2> + +0000000080004038 <tdat8>: + 80004038: deadbeef jal t4,7ffdf622 <_start-0x209de> + 8000403c: deadbeef jal t4,7ffdf626 <_start-0x209da> + +0000000080004040 <tdat9>: + 80004040: deadbeef jal t4,7ffdf62a <_start-0x209d6> + 80004044: deadbeef jal t4,7ffdf62e <_start-0x209d2> + +0000000080004048 <tdat10>: + 80004048: deadbeef jal t4,7ffdf632 <_start-0x209ce> + 8000404c: deadbeef jal t4,7ffdf636 <_start-0x209ca> diff --git a/test/riscv/tests/rv64ui-v-sd.elf b/test/riscv/tests/rv64ui-v-sd.elf Binary files differnew file mode 100644 index 00000000..b1660db0 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sd.elf diff --git a/test/riscv/tests/rv64ui-v-sh.dump b/test/riscv/tests/rv64ui-v-sh.dump new file mode 100644 index 00000000..62862d9e --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sh.dump @@ -0,0 +1,1200 @@ + +rv64ui-v-sh: 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,sbadaddr + 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: b0868693 addi a3,a3,-1272 # 80002f60 <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: b3c60613 addi a2,a2,-1220 # 80002ff0 <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: b0460613 addi a2,a2,-1276 # 80003008 <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: a5468693 addi a3,a3,-1452 # 80002fa8 <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: a7068693 addi a3,a3,-1424 # 800030e0 <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: 9f060613 addi a2,a2,-1552 # 800030b8 <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: 92468693 addi a3,a3,-1756 # 80003110 <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: 84468693 addi a3,a3,-1980 # 80003080 <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: 7d468693 addi a3,a3,2004 # 80003048 <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: 03300793 li a5,51 + 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: 0adbd7b7 lui a5,0xadbd + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 91078793 addi a5,a5,-1776 # adbc910 <_start-0x752436f0> + 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: 00001097 auipc ra,0x1 + 80002acc: 53808093 addi ra,ra,1336 # 80004000 <begin_signature> + 80002ad0: 0aa00113 li sp,170 + 80002ad4: 00209023 sh sp,0(ra) + 80002ad8: 00009f03 lh t5,0(ra) + 80002adc: 0aa00e93 li t4,170 + 80002ae0: 00200193 li gp,2 + 80002ae4: 45df1e63 bne t5,t4,80002f40 <fail> + +0000000080002ae8 <test_3>: + 80002ae8: 00001097 auipc ra,0x1 + 80002aec: 51808093 addi ra,ra,1304 # 80004000 <begin_signature> + 80002af0: ffffb137 lui sp,0xffffb + 80002af4: a001011b addiw sp,sp,-1536 + 80002af8: 00209123 sh sp,2(ra) + 80002afc: 00209f03 lh t5,2(ra) + 80002b00: ffffbeb7 lui t4,0xffffb + 80002b04: a00e8e9b addiw t4,t4,-1536 + 80002b08: 00300193 li gp,3 + 80002b0c: 43df1a63 bne t5,t4,80002f40 <fail> + +0000000080002b10 <test_4>: + 80002b10: 00001097 auipc ra,0x1 + 80002b14: 4f008093 addi ra,ra,1264 # 80004000 <begin_signature> + 80002b18: beef1137 lui sp,0xbeef1 + 80002b1c: aa01011b addiw sp,sp,-1376 + 80002b20: 00209223 sh sp,4(ra) + 80002b24: 0040af03 lw t5,4(ra) + 80002b28: beef1eb7 lui t4,0xbeef1 + 80002b2c: aa0e8e9b addiw t4,t4,-1376 + 80002b30: 00400193 li gp,4 + 80002b34: 41df1663 bne t5,t4,80002f40 <fail> + +0000000080002b38 <test_5>: + 80002b38: 00001097 auipc ra,0x1 + 80002b3c: 4c808093 addi ra,ra,1224 # 80004000 <begin_signature> + 80002b40: ffffa137 lui sp,0xffffa + 80002b44: 00a1011b addiw sp,sp,10 + 80002b48: 00209323 sh sp,6(ra) + 80002b4c: 00609f03 lh t5,6(ra) + 80002b50: ffffaeb7 lui t4,0xffffa + 80002b54: 00ae8e9b addiw t4,t4,10 + 80002b58: 00500193 li gp,5 + 80002b5c: 3fdf1263 bne t5,t4,80002f40 <fail> + +0000000080002b60 <test_6>: + 80002b60: 00001097 auipc ra,0x1 + 80002b64: 4ae08093 addi ra,ra,1198 # 8000400e <tdat8> + 80002b68: 0aa00113 li sp,170 + 80002b6c: fe209d23 sh sp,-6(ra) + 80002b70: ffa09f03 lh t5,-6(ra) + 80002b74: 0aa00e93 li t4,170 + 80002b78: 00600193 li gp,6 + 80002b7c: 3ddf1263 bne t5,t4,80002f40 <fail> + +0000000080002b80 <test_7>: + 80002b80: 00001097 auipc ra,0x1 + 80002b84: 48e08093 addi ra,ra,1166 # 8000400e <tdat8> + 80002b88: ffffb137 lui sp,0xffffb + 80002b8c: a001011b addiw sp,sp,-1536 + 80002b90: fe209e23 sh sp,-4(ra) + 80002b94: ffc09f03 lh t5,-4(ra) + 80002b98: ffffbeb7 lui t4,0xffffb + 80002b9c: a00e8e9b addiw t4,t4,-1536 + 80002ba0: 00700193 li gp,7 + 80002ba4: 39df1e63 bne t5,t4,80002f40 <fail> + +0000000080002ba8 <test_8>: + 80002ba8: 00001097 auipc ra,0x1 + 80002bac: 46608093 addi ra,ra,1126 # 8000400e <tdat8> + 80002bb0: 00001137 lui sp,0x1 + 80002bb4: aa01011b addiw sp,sp,-1376 + 80002bb8: fe209f23 sh sp,-2(ra) + 80002bbc: ffe09f03 lh t5,-2(ra) + 80002bc0: 00001eb7 lui t4,0x1 + 80002bc4: aa0e8e9b addiw t4,t4,-1376 + 80002bc8: 00800193 li gp,8 + 80002bcc: 37df1a63 bne t5,t4,80002f40 <fail> + +0000000080002bd0 <test_9>: + 80002bd0: 00001097 auipc ra,0x1 + 80002bd4: 43e08093 addi ra,ra,1086 # 8000400e <tdat8> + 80002bd8: ffffa137 lui sp,0xffffa + 80002bdc: 00a1011b addiw sp,sp,10 + 80002be0: 00209023 sh sp,0(ra) + 80002be4: 00009f03 lh t5,0(ra) + 80002be8: ffffaeb7 lui t4,0xffffa + 80002bec: 00ae8e9b addiw t4,t4,10 + 80002bf0: 00900193 li gp,9 + 80002bf4: 35df1663 bne t5,t4,80002f40 <fail> + +0000000080002bf8 <test_10>: + 80002bf8: 00001097 auipc ra,0x1 + 80002bfc: 41808093 addi ra,ra,1048 # 80004010 <tdat9> + 80002c00: 12345137 lui sp,0x12345 + 80002c04: 6781011b addiw sp,sp,1656 + 80002c08: fe008213 addi tp,ra,-32 + 80002c0c: 02221023 sh sp,32(tp) # 20 <_start-0x7fffffe0> + 80002c10: 00009283 lh t0,0(ra) + 80002c14: 00005eb7 lui t4,0x5 + 80002c18: 678e8e9b addiw t4,t4,1656 + 80002c1c: 00a00193 li gp,10 + 80002c20: 33d29063 bne t0,t4,80002f40 <fail> + +0000000080002c24 <test_11>: + 80002c24: 00001097 auipc ra,0x1 + 80002c28: 3ec08093 addi ra,ra,1004 # 80004010 <tdat9> + 80002c2c: 00003137 lui sp,0x3 + 80002c30: 0981011b addiw sp,sp,152 + 80002c34: ffb08093 addi ra,ra,-5 + 80002c38: 002093a3 sh sp,7(ra) + 80002c3c: 00001217 auipc tp,0x1 + 80002c40: 3d620213 addi tp,tp,982 # 80004012 <tdat10> + 80002c44: 00021283 lh t0,0(tp) # 0 <_start-0x80000000> + 80002c48: 00003eb7 lui t4,0x3 + 80002c4c: 098e8e9b addiw t4,t4,152 + 80002c50: 00b00193 li gp,11 + 80002c54: 2fd29663 bne t0,t4,80002f40 <fail> + +0000000080002c58 <test_12>: + 80002c58: 00c00193 li gp,12 + 80002c5c: 00000213 li tp,0 + 80002c60: ffffd0b7 lui ra,0xffffd + 80002c64: cdd0809b addiw ra,ra,-803 + 80002c68: 00001117 auipc sp,0x1 + 80002c6c: 39810113 addi sp,sp,920 # 80004000 <begin_signature> + 80002c70: 00111023 sh ra,0(sp) + 80002c74: 00011f03 lh t5,0(sp) + 80002c78: ffffdeb7 lui t4,0xffffd + 80002c7c: cdde8e9b addiw t4,t4,-803 + 80002c80: 2ddf1063 bne t5,t4,80002f40 <fail> + 80002c84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c88: 00200293 li t0,2 + 80002c8c: fc521ae3 bne tp,t0,80002c60 <test_12+0x8> + +0000000080002c90 <test_13>: + 80002c90: 00d00193 li gp,13 + 80002c94: 00000213 li tp,0 + 80002c98: ffffc0b7 lui ra,0xffffc + 80002c9c: ccd0809b addiw ra,ra,-819 + 80002ca0: 00001117 auipc sp,0x1 + 80002ca4: 36010113 addi sp,sp,864 # 80004000 <begin_signature> + 80002ca8: 00000013 nop + 80002cac: 00111123 sh ra,2(sp) + 80002cb0: 00211f03 lh t5,2(sp) + 80002cb4: ffffceb7 lui t4,0xffffc + 80002cb8: ccde8e9b addiw t4,t4,-819 + 80002cbc: 29df1263 bne t5,t4,80002f40 <fail> + 80002cc0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc4: 00200293 li t0,2 + 80002cc8: fc5218e3 bne tp,t0,80002c98 <test_13+0x8> + +0000000080002ccc <test_14>: + 80002ccc: 00e00193 li gp,14 + 80002cd0: 00000213 li tp,0 + 80002cd4: ffffc0b7 lui ra,0xffffc + 80002cd8: bcc0809b addiw ra,ra,-1076 + 80002cdc: 00001117 auipc sp,0x1 + 80002ce0: 32410113 addi sp,sp,804 # 80004000 <begin_signature> + 80002ce4: 00000013 nop + 80002ce8: 00000013 nop + 80002cec: 00111223 sh ra,4(sp) + 80002cf0: 00411f03 lh t5,4(sp) + 80002cf4: ffffceb7 lui t4,0xffffc + 80002cf8: bcce8e9b addiw t4,t4,-1076 + 80002cfc: 25df1263 bne t5,t4,80002f40 <fail> + 80002d00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d04: 00200293 li t0,2 + 80002d08: fc5216e3 bne tp,t0,80002cd4 <test_14+0x8> + +0000000080002d0c <test_15>: + 80002d0c: 00f00193 li gp,15 + 80002d10: 00000213 li tp,0 + 80002d14: ffffb0b7 lui ra,0xffffb + 80002d18: bbc0809b addiw ra,ra,-1092 + 80002d1c: 00000013 nop + 80002d20: 00001117 auipc sp,0x1 + 80002d24: 2e010113 addi sp,sp,736 # 80004000 <begin_signature> + 80002d28: 00111323 sh ra,6(sp) + 80002d2c: 00611f03 lh t5,6(sp) + 80002d30: ffffbeb7 lui t4,0xffffb + 80002d34: bbce8e9b addiw t4,t4,-1092 + 80002d38: 21df1463 bne t5,t4,80002f40 <fail> + 80002d3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d40: 00200293 li t0,2 + 80002d44: fc5218e3 bne tp,t0,80002d14 <test_15+0x8> + +0000000080002d48 <test_16>: + 80002d48: 01000193 li gp,16 + 80002d4c: 00000213 li tp,0 + 80002d50: ffffb0b7 lui ra,0xffffb + 80002d54: abb0809b addiw ra,ra,-1349 + 80002d58: 00000013 nop + 80002d5c: 00001117 auipc sp,0x1 + 80002d60: 2a410113 addi sp,sp,676 # 80004000 <begin_signature> + 80002d64: 00000013 nop + 80002d68: 00111423 sh ra,8(sp) + 80002d6c: 00811f03 lh t5,8(sp) + 80002d70: ffffbeb7 lui t4,0xffffb + 80002d74: abbe8e9b addiw t4,t4,-1349 + 80002d78: 1ddf1463 bne t5,t4,80002f40 <fail> + 80002d7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d80: 00200293 li t0,2 + 80002d84: fc5216e3 bne tp,t0,80002d50 <test_16+0x8> + +0000000080002d88 <test_17>: + 80002d88: 01100193 li gp,17 + 80002d8c: 00000213 li tp,0 + 80002d90: ffffe0b7 lui ra,0xffffe + 80002d94: aab0809b addiw ra,ra,-1365 + 80002d98: 00000013 nop + 80002d9c: 00000013 nop + 80002da0: 00001117 auipc sp,0x1 + 80002da4: 26010113 addi sp,sp,608 # 80004000 <begin_signature> + 80002da8: 00111523 sh ra,10(sp) + 80002dac: 00a11f03 lh t5,10(sp) + 80002db0: ffffeeb7 lui t4,0xffffe + 80002db4: aabe8e9b addiw t4,t4,-1365 + 80002db8: 19df1463 bne t5,t4,80002f40 <fail> + 80002dbc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dc0: 00200293 li t0,2 + 80002dc4: fc5216e3 bne tp,t0,80002d90 <test_17+0x8> + +0000000080002dc8 <test_18>: + 80002dc8: 01200193 li gp,18 + 80002dcc: 00000213 li tp,0 + 80002dd0: 00001117 auipc sp,0x1 + 80002dd4: 23010113 addi sp,sp,560 # 80004000 <begin_signature> + 80002dd8: 000020b7 lui ra,0x2 + 80002ddc: 2330809b addiw ra,ra,563 + 80002de0: 00111023 sh ra,0(sp) + 80002de4: 00011f03 lh t5,0(sp) + 80002de8: 00002eb7 lui t4,0x2 + 80002dec: 233e8e9b addiw t4,t4,563 + 80002df0: 15df1863 bne t5,t4,80002f40 <fail> + 80002df4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002df8: 00200293 li t0,2 + 80002dfc: fc521ae3 bne tp,t0,80002dd0 <test_18+0x8> + +0000000080002e00 <test_19>: + 80002e00: 01300193 li gp,19 + 80002e04: 00000213 li tp,0 + 80002e08: 00001117 auipc sp,0x1 + 80002e0c: 1f810113 addi sp,sp,504 # 80004000 <begin_signature> + 80002e10: 000010b7 lui ra,0x1 + 80002e14: 2230809b addiw ra,ra,547 + 80002e18: 00000013 nop + 80002e1c: 00111123 sh ra,2(sp) + 80002e20: 00211f03 lh t5,2(sp) + 80002e24: 00001eb7 lui t4,0x1 + 80002e28: 223e8e9b addiw t4,t4,547 + 80002e2c: 11df1a63 bne t5,t4,80002f40 <fail> + 80002e30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e34: 00200293 li t0,2 + 80002e38: fc5218e3 bne tp,t0,80002e08 <test_19+0x8> + +0000000080002e3c <test_20>: + 80002e3c: 01400193 li gp,20 + 80002e40: 00000213 li tp,0 + 80002e44: 00001117 auipc sp,0x1 + 80002e48: 1bc10113 addi sp,sp,444 # 80004000 <begin_signature> + 80002e4c: 000010b7 lui ra,0x1 + 80002e50: 1220809b addiw ra,ra,290 + 80002e54: 00000013 nop + 80002e58: 00000013 nop + 80002e5c: 00111223 sh ra,4(sp) + 80002e60: 00411f03 lh t5,4(sp) + 80002e64: 00001eb7 lui t4,0x1 + 80002e68: 122e8e9b addiw t4,t4,290 + 80002e6c: 0ddf1a63 bne t5,t4,80002f40 <fail> + 80002e70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e74: 00200293 li t0,2 + 80002e78: fc5216e3 bne tp,t0,80002e44 <test_20+0x8> + +0000000080002e7c <test_21>: + 80002e7c: 01500193 li gp,21 + 80002e80: 00000213 li tp,0 + 80002e84: 00001117 auipc sp,0x1 + 80002e88: 17c10113 addi sp,sp,380 # 80004000 <begin_signature> + 80002e8c: 00000013 nop + 80002e90: 11200093 li ra,274 + 80002e94: 00111323 sh ra,6(sp) + 80002e98: 00611f03 lh t5,6(sp) + 80002e9c: 11200e93 li t4,274 + 80002ea0: 0bdf1063 bne t5,t4,80002f40 <fail> + 80002ea4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea8: 00200293 li t0,2 + 80002eac: fc521ce3 bne tp,t0,80002e84 <test_21+0x8> + +0000000080002eb0 <test_22>: + 80002eb0: 01600193 li gp,22 + 80002eb4: 00000213 li tp,0 + 80002eb8: 00001117 auipc sp,0x1 + 80002ebc: 14810113 addi sp,sp,328 # 80004000 <begin_signature> + 80002ec0: 00000013 nop + 80002ec4: 01100093 li ra,17 + 80002ec8: 00000013 nop + 80002ecc: 00111423 sh ra,8(sp) + 80002ed0: 00811f03 lh t5,8(sp) + 80002ed4: 01100e93 li t4,17 + 80002ed8: 07df1463 bne t5,t4,80002f40 <fail> + 80002edc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee0: 00200293 li t0,2 + 80002ee4: fc521ae3 bne tp,t0,80002eb8 <test_22+0x8> + +0000000080002ee8 <test_23>: + 80002ee8: 01700193 li gp,23 + 80002eec: 00000213 li tp,0 + 80002ef0: 00001117 auipc sp,0x1 + 80002ef4: 11010113 addi sp,sp,272 # 80004000 <begin_signature> + 80002ef8: 00000013 nop + 80002efc: 00000013 nop + 80002f00: 000030b7 lui ra,0x3 + 80002f04: 0010809b addiw ra,ra,1 + 80002f08: 00111523 sh ra,10(sp) + 80002f0c: 00a11f03 lh t5,10(sp) + 80002f10: 00003eb7 lui t4,0x3 + 80002f14: 001e8e9b addiw t4,t4,1 + 80002f18: 03df1463 bne t5,t4,80002f40 <fail> + 80002f1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f20: 00200293 li t0,2 + 80002f24: fc5216e3 bne tp,t0,80002ef0 <test_23+0x8> + 80002f28: 0000c537 lui a0,0xc + 80002f2c: eef5051b addiw a0,a0,-273 + 80002f30: 00001597 auipc a1,0x1 + 80002f34: 0d058593 addi a1,a1,208 # 80004000 <begin_signature> + 80002f38: 00a59323 sh a0,6(a1) + 80002f3c: 00301a63 bne zero,gp,80002f50 <pass> + +0000000080002f40 <fail>: + 80002f40: 00119513 slli a0,gp,0x1 + 80002f44: 00050063 beqz a0,80002f44 <fail+0x4> + 80002f48: 00156513 ori a0,a0,1 + 80002f4c: 00000073 ecall + +0000000080002f50 <pass>: + 80002f50: 00100513 li a0,1 + 80002f54: 00000073 ecall + 80002f58: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <begin_signature>: + 80004000: jal t4,7ffff3ee <_start-0xc12> + +0000000080004002 <tdat2>: + 80004002: jal t4,7ffff3f0 <_start-0xc10> + +0000000080004004 <tdat3>: + 80004004: jal t4,7ffff3f2 <_start-0xc0e> + +0000000080004006 <tdat4>: + 80004006: jal t4,7ffff3f4 <_start-0xc0c> + +0000000080004008 <tdat5>: + 80004008: jal t4,7ffff3f6 <_start-0xc0a> + +000000008000400a <tdat6>: + 8000400a: jal t4,7ffff3f8 <_start-0xc08> + +000000008000400c <tdat7>: + 8000400c: jal t4,7ffff3fa <_start-0xc06> + +000000008000400e <tdat8>: + 8000400e: jal t4,7ffff3fc <_start-0xc04> + +0000000080004010 <tdat9>: + 80004010: jal t4,7ffff3fe <_start-0xc02> + +0000000080004012 <tdat10>: + 80004012: jal t4,8000f012 <_end+0x5822> diff --git a/test/riscv/tests/rv64ui-v-sh.elf b/test/riscv/tests/rv64ui-v-sh.elf Binary files differnew file mode 100644 index 00000000..a3a67da2 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sh.elf diff --git a/test/riscv/tests/rv64ui-v-simple.dump b/test/riscv/tests/rv64ui-v-simple.dump new file mode 100644 index 00000000..0c3cc1cc --- /dev/null +++ b/test/riscv/tests/rv64ui-v-simple.dump @@ -0,0 +1,832 @@ + +rv64ui-v-simple: 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,sbadaddr + 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: 68068693 addi a3,a3,1664 # 80002ad8 <userstart+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: 6b460613 addi a2,a2,1716 # 80002b68 <userstart+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: 67c60613 addi a2,a2,1660 # 80002b80 <userstart+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: 5cc68693 addi a3,a3,1484 # 80002b20 <userstart+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: 5e868693 addi a3,a3,1512 # 80002c58 <userstart+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: 56860613 addi a2,a2,1384 # 80002c30 <userstart+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: 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: 49c68693 addi a3,a3,1180 # 80002c88 <userstart+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: 3bc68693 addi a3,a3,956 # 80002bf8 <userstart+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: 34c68693 addi a3,a3,844 # 80002bc0 <userstart+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: 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: 03000793 li a5,48 + 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: 07a657b7 lui a5,0x7a65 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: bab78793 addi a5,a5,-1109 # 7a64bab <_start-0x7859b455> + 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: 00100513 li a0,1 + 80002acc: 00000073 ecall + 80002ad0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-simple.elf b/test/riscv/tests/rv64ui-v-simple.elf Binary files differnew file mode 100644 index 00000000..04140b00 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-simple.elf diff --git a/test/riscv/tests/rv64ui-v-sll.dump b/test/riscv/tests/rv64ui-v-sll.dump new file mode 100644 index 00000000..6b4b00b0 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sll.dump @@ -0,0 +1,1315 @@ + +rv64ui-v-sll: 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,sbadaddr + 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 <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: 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: c9868693 addi a3,a3,-872 # 800030f0 <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: ccc60613 addi a2,a2,-820 # 80003180 <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: 00001617 auipc a2,0x1 + 80002508: c9460613 addi a2,a2,-876 # 80003198 <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: 00001697 auipc a3,0x1 + 80002558: be468693 addi a3,a3,-1052 # 80003138 <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: 00001697 auipc a3,0x1 + 80002674: c0068693 addi a3,a3,-1024 # 80003270 <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: 00001617 auipc a2,0x1 + 800026cc: b8060613 addi a2,a2,-1152 # 80003248 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: ab468693 addi a3,a3,-1356 # 800032a0 <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: 00001697 auipc a3,0x1 + 80002840: 9d468693 addi a3,a3,-1580 # 80003210 <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: 00001697 auipc a3,0x1 + 80002878: 96468693 addi a3,a3,-1692 # 800031d8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 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: 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: 063c27b7 lui a5,0x63c2 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 9ad78793 addi a5,a5,-1619 # 63c19ad <_start-0x79c3e653> + 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: 00100093 li ra,1 + 80002acc: 00000113 li sp,0 + 80002ad0: 00209f33 sll t5,ra,sp + 80002ad4: 00100e93 li t4,1 + 80002ad8: 00200193 li gp,2 + 80002adc: 5fdf1c63 bne t5,t4,800030d4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 00209f33 sll t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 5fdf1063 bne t5,t4,800030d4 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00100093 li ra,1 + 80002afc: 00700113 li sp,7 + 80002b00: 00209f33 sll t5,ra,sp + 80002b04: 08000e93 li t4,128 + 80002b08: 00400193 li gp,4 + 80002b0c: 5ddf1463 bne t5,t4,800030d4 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00100093 li ra,1 + 80002b14: 00e00113 li sp,14 + 80002b18: 00209f33 sll t5,ra,sp + 80002b1c: 00004eb7 lui t4,0x4 + 80002b20: 00500193 li gp,5 + 80002b24: 5bdf1863 bne t5,t4,800030d4 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00100093 li ra,1 + 80002b2c: 01f00113 li sp,31 + 80002b30: 00209f33 sll t5,ra,sp + 80002b34: 00100e9b addiw t4,zero,1 + 80002b38: 01fe9e93 slli t4,t4,0x1f + 80002b3c: 00600193 li gp,6 + 80002b40: 59df1a63 bne t5,t4,800030d4 <fail> + +0000000080002b44 <test_7>: + 80002b44: fff00093 li ra,-1 + 80002b48: 00000113 li sp,0 + 80002b4c: 00209f33 sll t5,ra,sp + 80002b50: fff00e93 li t4,-1 + 80002b54: 00700193 li gp,7 + 80002b58: 57df1e63 bne t5,t4,800030d4 <fail> + +0000000080002b5c <test_8>: + 80002b5c: fff00093 li ra,-1 + 80002b60: 00100113 li sp,1 + 80002b64: 00209f33 sll t5,ra,sp + 80002b68: ffe00e93 li t4,-2 + 80002b6c: 00800193 li gp,8 + 80002b70: 57df1263 bne t5,t4,800030d4 <fail> + +0000000080002b74 <test_9>: + 80002b74: fff00093 li ra,-1 + 80002b78: 00700113 li sp,7 + 80002b7c: 00209f33 sll t5,ra,sp + 80002b80: f8000e93 li t4,-128 + 80002b84: 00900193 li gp,9 + 80002b88: 55df1663 bne t5,t4,800030d4 <fail> + +0000000080002b8c <test_10>: + 80002b8c: fff00093 li ra,-1 + 80002b90: 00e00113 li sp,14 + 80002b94: 00209f33 sll t5,ra,sp + 80002b98: ffffceb7 lui t4,0xffffc + 80002b9c: 00a00193 li gp,10 + 80002ba0: 53df1a63 bne t5,t4,800030d4 <fail> + +0000000080002ba4 <test_11>: + 80002ba4: fff00093 li ra,-1 + 80002ba8: 01f00113 li sp,31 + 80002bac: 00209f33 sll t5,ra,sp + 80002bb0: 80000eb7 lui t4,0x80000 + 80002bb4: 00b00193 li gp,11 + 80002bb8: 51df1e63 bne t5,t4,800030d4 <fail> + +0000000080002bbc <test_12>: + 80002bbc: 212120b7 lui ra,0x21212 + 80002bc0: 1210809b addiw ra,ra,289 + 80002bc4: 00000113 li sp,0 + 80002bc8: 00209f33 sll t5,ra,sp + 80002bcc: 21212eb7 lui t4,0x21212 + 80002bd0: 121e8e9b addiw t4,t4,289 + 80002bd4: 00c00193 li gp,12 + 80002bd8: 4fdf1e63 bne t5,t4,800030d4 <fail> + +0000000080002bdc <test_13>: + 80002bdc: 212120b7 lui ra,0x21212 + 80002be0: 1210809b addiw ra,ra,289 + 80002be4: 00100113 li sp,1 + 80002be8: 00209f33 sll t5,ra,sp + 80002bec: 42424eb7 lui t4,0x42424 + 80002bf0: 242e8e9b addiw t4,t4,578 + 80002bf4: 00d00193 li gp,13 + 80002bf8: 4ddf1e63 bne t5,t4,800030d4 <fail> + +0000000080002bfc <test_14>: + 80002bfc: 212120b7 lui ra,0x21212 + 80002c00: 1210809b addiw ra,ra,289 + 80002c04: 00700113 li sp,7 + 80002c08: 00209f33 sll t5,ra,sp + 80002c0c: 01091eb7 lui t4,0x1091 + 80002c10: 909e8e9b addiw t4,t4,-1783 + 80002c14: 00ce9e93 slli t4,t4,0xc + 80002c18: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 80002c1c: 00e00193 li gp,14 + 80002c20: 4bdf1a63 bne t5,t4,800030d4 <fail> + +0000000080002c24 <test_15>: + 80002c24: 212120b7 lui ra,0x21212 + 80002c28: 1210809b addiw ra,ra,289 + 80002c2c: 00e00113 li sp,14 + 80002c30: 00209f33 sll t5,ra,sp + 80002c34: 21212eb7 lui t4,0x21212 + 80002c38: 121e8e9b addiw t4,t4,289 + 80002c3c: 00ee9e93 slli t4,t4,0xe + 80002c40: 00f00193 li gp,15 + 80002c44: 49df1863 bne t5,t4,800030d4 <fail> + +0000000080002c48 <test_16>: + 80002c48: 212120b7 lui ra,0x21212 + 80002c4c: 1210809b addiw ra,ra,289 + 80002c50: 01f00113 li sp,31 + 80002c54: 00209f33 sll t5,ra,sp + 80002c58: 21212eb7 lui t4,0x21212 + 80002c5c: 121e8e9b addiw t4,t4,289 + 80002c60: 01fe9e93 slli t4,t4,0x1f + 80002c64: 01000193 li gp,16 + 80002c68: 47df1663 bne t5,t4,800030d4 <fail> + +0000000080002c6c <test_17>: + 80002c6c: 212120b7 lui ra,0x21212 + 80002c70: 1210809b addiw ra,ra,289 + 80002c74: fc000113 li sp,-64 + 80002c78: 00209f33 sll t5,ra,sp + 80002c7c: 21212eb7 lui t4,0x21212 + 80002c80: 121e8e9b addiw t4,t4,289 + 80002c84: 01100193 li gp,17 + 80002c88: 45df1663 bne t5,t4,800030d4 <fail> + +0000000080002c8c <test_18>: + 80002c8c: 212120b7 lui ra,0x21212 + 80002c90: 1210809b addiw ra,ra,289 + 80002c94: fc100113 li sp,-63 + 80002c98: 00209f33 sll t5,ra,sp + 80002c9c: 42424eb7 lui t4,0x42424 + 80002ca0: 242e8e9b addiw t4,t4,578 + 80002ca4: 01200193 li gp,18 + 80002ca8: 43df1663 bne t5,t4,800030d4 <fail> + +0000000080002cac <test_19>: + 80002cac: 212120b7 lui ra,0x21212 + 80002cb0: 1210809b addiw ra,ra,289 + 80002cb4: fc700113 li sp,-57 + 80002cb8: 00209f33 sll t5,ra,sp + 80002cbc: 01091eb7 lui t4,0x1091 + 80002cc0: 909e8e9b addiw t4,t4,-1783 + 80002cc4: 00ce9e93 slli t4,t4,0xc + 80002cc8: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 80002ccc: 01300193 li gp,19 + 80002cd0: 41df1263 bne t5,t4,800030d4 <fail> + +0000000080002cd4 <test_20>: + 80002cd4: 212120b7 lui ra,0x21212 + 80002cd8: 1210809b addiw ra,ra,289 + 80002cdc: fce00113 li sp,-50 + 80002ce0: 00209f33 sll t5,ra,sp + 80002ce4: 21212eb7 lui t4,0x21212 + 80002ce8: 121e8e9b addiw t4,t4,289 + 80002cec: 00ee9e93 slli t4,t4,0xe + 80002cf0: 01400193 li gp,20 + 80002cf4: 3fdf1063 bne t5,t4,800030d4 <fail> + +0000000080002cf8 <test_21>: + 80002cf8: 212120b7 lui ra,0x21212 + 80002cfc: 1210809b addiw ra,ra,289 + 80002d00: fff00113 li sp,-1 + 80002d04: 00209f33 sll t5,ra,sp + 80002d08: fff00e9b addiw t4,zero,-1 + 80002d0c: 03fe9e93 slli t4,t4,0x3f + 80002d10: 01500193 li gp,21 + 80002d14: 3ddf1063 bne t5,t4,800030d4 <fail> + +0000000080002d18 <test_50>: + 80002d18: 00100093 li ra,1 + 80002d1c: 03f00113 li sp,63 + 80002d20: 00209f33 sll t5,ra,sp + 80002d24: fff00e9b addiw t4,zero,-1 + 80002d28: 03fe9e93 slli t4,t4,0x3f + 80002d2c: 03200193 li gp,50 + 80002d30: 3bdf1263 bne t5,t4,800030d4 <fail> + +0000000080002d34 <test_51>: + 80002d34: fff00093 li ra,-1 + 80002d38: 02700113 li sp,39 + 80002d3c: 00209f33 sll t5,ra,sp + 80002d40: fff00e9b addiw t4,zero,-1 + 80002d44: 027e9e93 slli t4,t4,0x27 + 80002d48: 03300193 li gp,51 + 80002d4c: 39df1463 bne t5,t4,800030d4 <fail> + +0000000080002d50 <test_52>: + 80002d50: 212120b7 lui ra,0x21212 + 80002d54: 1210809b addiw ra,ra,289 + 80002d58: 02b00113 li sp,43 + 80002d5c: 00209f33 sll t5,ra,sp + 80002d60: 00012eb7 lui t4,0x12 + 80002d64: 121e8e9b addiw t4,t4,289 + 80002d68: 02be9e93 slli t4,t4,0x2b + 80002d6c: 03400193 li gp,52 + 80002d70: 37df1263 bne t5,t4,800030d4 <fail> + +0000000080002d74 <test_22>: + 80002d74: 00100093 li ra,1 + 80002d78: 00700113 li sp,7 + 80002d7c: 002090b3 sll ra,ra,sp + 80002d80: 08000e93 li t4,128 + 80002d84: 01600193 li gp,22 + 80002d88: 35d09663 bne ra,t4,800030d4 <fail> + +0000000080002d8c <test_23>: + 80002d8c: 00100093 li ra,1 + 80002d90: 00e00113 li sp,14 + 80002d94: 00209133 sll sp,ra,sp + 80002d98: 00004eb7 lui t4,0x4 + 80002d9c: 01700193 li gp,23 + 80002da0: 33d11a63 bne sp,t4,800030d4 <fail> + +0000000080002da4 <test_24>: + 80002da4: 00300093 li ra,3 + 80002da8: 001090b3 sll ra,ra,ra + 80002dac: 01800e93 li t4,24 + 80002db0: 01800193 li gp,24 + 80002db4: 33d09063 bne ra,t4,800030d4 <fail> + +0000000080002db8 <test_25>: + 80002db8: 00000213 li tp,0 + 80002dbc: 00100093 li ra,1 + 80002dc0: 00700113 li sp,7 + 80002dc4: 00209f33 sll t5,ra,sp + 80002dc8: 000f0313 mv t1,t5 + 80002dcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd0: 00200293 li t0,2 + 80002dd4: fe5214e3 bne tp,t0,80002dbc <test_25+0x4> + 80002dd8: 08000e93 li t4,128 + 80002ddc: 01900193 li gp,25 + 80002de0: 2fd31a63 bne t1,t4,800030d4 <fail> + +0000000080002de4 <test_26>: + 80002de4: 00000213 li tp,0 + 80002de8: 00100093 li ra,1 + 80002dec: 00e00113 li sp,14 + 80002df0: 00209f33 sll t5,ra,sp + 80002df4: 00000013 nop + 80002df8: 000f0313 mv t1,t5 + 80002dfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e00: 00200293 li t0,2 + 80002e04: fe5212e3 bne tp,t0,80002de8 <test_26+0x4> + 80002e08: 00004eb7 lui t4,0x4 + 80002e0c: 01a00193 li gp,26 + 80002e10: 2dd31263 bne t1,t4,800030d4 <fail> + +0000000080002e14 <test_27>: + 80002e14: 00000213 li tp,0 + 80002e18: 00100093 li ra,1 + 80002e1c: 01f00113 li sp,31 + 80002e20: 00209f33 sll t5,ra,sp + 80002e24: 00000013 nop + 80002e28: 00000013 nop + 80002e2c: 000f0313 mv t1,t5 + 80002e30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e34: 00200293 li t0,2 + 80002e38: fe5210e3 bne tp,t0,80002e18 <test_27+0x4> + 80002e3c: 00100e9b addiw t4,zero,1 + 80002e40: 01fe9e93 slli t4,t4,0x1f + 80002e44: 01b00193 li gp,27 + 80002e48: 29d31663 bne t1,t4,800030d4 <fail> + +0000000080002e4c <test_28>: + 80002e4c: 00000213 li tp,0 + 80002e50: 00100093 li ra,1 + 80002e54: 00700113 li sp,7 + 80002e58: 00209f33 sll t5,ra,sp + 80002e5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e60: 00200293 li t0,2 + 80002e64: fe5216e3 bne tp,t0,80002e50 <test_28+0x4> + 80002e68: 08000e93 li t4,128 + 80002e6c: 01c00193 li gp,28 + 80002e70: 27df1263 bne t5,t4,800030d4 <fail> + +0000000080002e74 <test_29>: + 80002e74: 00000213 li tp,0 + 80002e78: 00100093 li ra,1 + 80002e7c: 00e00113 li sp,14 + 80002e80: 00000013 nop + 80002e84: 00209f33 sll t5,ra,sp + 80002e88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e8c: 00200293 li t0,2 + 80002e90: fe5214e3 bne tp,t0,80002e78 <test_29+0x4> + 80002e94: 00004eb7 lui t4,0x4 + 80002e98: 01d00193 li gp,29 + 80002e9c: 23df1c63 bne t5,t4,800030d4 <fail> + +0000000080002ea0 <test_30>: + 80002ea0: 00000213 li tp,0 + 80002ea4: 00100093 li ra,1 + 80002ea8: 01f00113 li sp,31 + 80002eac: 00000013 nop + 80002eb0: 00000013 nop + 80002eb4: 00209f33 sll t5,ra,sp + 80002eb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ebc: 00200293 li t0,2 + 80002ec0: fe5212e3 bne tp,t0,80002ea4 <test_30+0x4> + 80002ec4: 00100e9b addiw t4,zero,1 + 80002ec8: 01fe9e93 slli t4,t4,0x1f + 80002ecc: 01e00193 li gp,30 + 80002ed0: 21df1263 bne t5,t4,800030d4 <fail> + +0000000080002ed4 <test_31>: + 80002ed4: 00000213 li tp,0 + 80002ed8: 00100093 li ra,1 + 80002edc: 00000013 nop + 80002ee0: 00700113 li sp,7 + 80002ee4: 00209f33 sll t5,ra,sp + 80002ee8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eec: 00200293 li t0,2 + 80002ef0: fe5214e3 bne tp,t0,80002ed8 <test_31+0x4> + 80002ef4: 08000e93 li t4,128 + 80002ef8: 01f00193 li gp,31 + 80002efc: 1ddf1c63 bne t5,t4,800030d4 <fail> + +0000000080002f00 <test_32>: + 80002f00: 00000213 li tp,0 + 80002f04: 00100093 li ra,1 + 80002f08: 00000013 nop + 80002f0c: 00e00113 li sp,14 + 80002f10: 00000013 nop + 80002f14: 00209f33 sll t5,ra,sp + 80002f18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f1c: 00200293 li t0,2 + 80002f20: fe5212e3 bne tp,t0,80002f04 <test_32+0x4> + 80002f24: 00004eb7 lui t4,0x4 + 80002f28: 02000193 li gp,32 + 80002f2c: 1bdf1463 bne t5,t4,800030d4 <fail> + +0000000080002f30 <test_33>: + 80002f30: 00000213 li tp,0 + 80002f34: 00100093 li ra,1 + 80002f38: 00000013 nop + 80002f3c: 00000013 nop + 80002f40: 01f00113 li sp,31 + 80002f44: 00209f33 sll t5,ra,sp + 80002f48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f4c: 00200293 li t0,2 + 80002f50: fe5212e3 bne tp,t0,80002f34 <test_33+0x4> + 80002f54: 00100e9b addiw t4,zero,1 + 80002f58: 01fe9e93 slli t4,t4,0x1f + 80002f5c: 02100193 li gp,33 + 80002f60: 17df1a63 bne t5,t4,800030d4 <fail> + +0000000080002f64 <test_34>: + 80002f64: 00000213 li tp,0 + 80002f68: 00700113 li sp,7 + 80002f6c: 00100093 li ra,1 + 80002f70: 00209f33 sll t5,ra,sp + 80002f74: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f78: 00200293 li t0,2 + 80002f7c: fe5216e3 bne tp,t0,80002f68 <test_34+0x4> + 80002f80: 08000e93 li t4,128 + 80002f84: 02200193 li gp,34 + 80002f88: 15df1663 bne t5,t4,800030d4 <fail> + +0000000080002f8c <test_35>: + 80002f8c: 00000213 li tp,0 + 80002f90: 00e00113 li sp,14 + 80002f94: 00100093 li ra,1 + 80002f98: 00000013 nop + 80002f9c: 00209f33 sll t5,ra,sp + 80002fa0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fa4: 00200293 li t0,2 + 80002fa8: fe5214e3 bne tp,t0,80002f90 <test_35+0x4> + 80002fac: 00004eb7 lui t4,0x4 + 80002fb0: 02300193 li gp,35 + 80002fb4: 13df1063 bne t5,t4,800030d4 <fail> + +0000000080002fb8 <test_36>: + 80002fb8: 00000213 li tp,0 + 80002fbc: 01f00113 li sp,31 + 80002fc0: 00100093 li ra,1 + 80002fc4: 00000013 nop + 80002fc8: 00000013 nop + 80002fcc: 00209f33 sll t5,ra,sp + 80002fd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fd4: 00200293 li t0,2 + 80002fd8: fe5212e3 bne tp,t0,80002fbc <test_36+0x4> + 80002fdc: 00100e9b addiw t4,zero,1 + 80002fe0: 01fe9e93 slli t4,t4,0x1f + 80002fe4: 02400193 li gp,36 + 80002fe8: 0fdf1663 bne t5,t4,800030d4 <fail> + +0000000080002fec <test_37>: + 80002fec: 00000213 li tp,0 + 80002ff0: 00700113 li sp,7 + 80002ff4: 00000013 nop + 80002ff8: 00100093 li ra,1 + 80002ffc: 00209f33 sll t5,ra,sp + 80003000: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003004: 00200293 li t0,2 + 80003008: fe5214e3 bne tp,t0,80002ff0 <test_37+0x4> + 8000300c: 08000e93 li t4,128 + 80003010: 02500193 li gp,37 + 80003014: 0ddf1063 bne t5,t4,800030d4 <fail> + +0000000080003018 <test_38>: + 80003018: 00000213 li tp,0 + 8000301c: 00e00113 li sp,14 + 80003020: 00000013 nop + 80003024: 00100093 li ra,1 + 80003028: 00000013 nop + 8000302c: 00209f33 sll t5,ra,sp + 80003030: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003034: 00200293 li t0,2 + 80003038: fe5212e3 bne tp,t0,8000301c <test_38+0x4> + 8000303c: 00004eb7 lui t4,0x4 + 80003040: 02600193 li gp,38 + 80003044: 09df1863 bne t5,t4,800030d4 <fail> + +0000000080003048 <test_39>: + 80003048: 00000213 li tp,0 + 8000304c: 01f00113 li sp,31 + 80003050: 00000013 nop + 80003054: 00000013 nop + 80003058: 00100093 li ra,1 + 8000305c: 00209f33 sll t5,ra,sp + 80003060: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003064: 00200293 li t0,2 + 80003068: fe5212e3 bne tp,t0,8000304c <test_39+0x4> + 8000306c: 00100e9b addiw t4,zero,1 + 80003070: 01fe9e93 slli t4,t4,0x1f + 80003074: 02700193 li gp,39 + 80003078: 05df1e63 bne t5,t4,800030d4 <fail> + +000000008000307c <test_40>: + 8000307c: 00f00093 li ra,15 + 80003080: 00101133 sll sp,zero,ra + 80003084: 00000e93 li t4,0 + 80003088: 02800193 li gp,40 + 8000308c: 05d11463 bne sp,t4,800030d4 <fail> + +0000000080003090 <test_41>: + 80003090: 02000093 li ra,32 + 80003094: 00009133 sll sp,ra,zero + 80003098: 02000e93 li t4,32 + 8000309c: 02900193 li gp,41 + 800030a0: 03d11a63 bne sp,t4,800030d4 <fail> + +00000000800030a4 <test_42>: + 800030a4: 000010b3 sll ra,zero,zero + 800030a8: 00000e93 li t4,0 + 800030ac: 02a00193 li gp,42 + 800030b0: 03d09263 bne ra,t4,800030d4 <fail> + +00000000800030b4 <test_43>: + 800030b4: 40000093 li ra,1024 + 800030b8: 00001137 lui sp,0x1 + 800030bc: 8001011b addiw sp,sp,-2048 + 800030c0: 00209033 sll zero,ra,sp + 800030c4: 00000e93 li t4,0 + 800030c8: 02b00193 li gp,43 + 800030cc: 01d01463 bne zero,t4,800030d4 <fail> + 800030d0: 00301a63 bne zero,gp,800030e4 <pass> + +00000000800030d4 <fail>: + 800030d4: 00119513 slli a0,gp,0x1 + 800030d8: 00050063 beqz a0,800030d8 <fail+0x4> + 800030dc: 00156513 ori a0,a0,1 + 800030e0: 00000073 ecall + +00000000800030e4 <pass>: + 800030e4: 00100513 li a0,1 + 800030e8: 00000073 ecall + 800030ec: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sll.elf b/test/riscv/tests/rv64ui-v-sll.elf Binary files differnew file mode 100644 index 00000000..a32b39ed --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sll.elf diff --git a/test/riscv/tests/rv64ui-v-slli.dump b/test/riscv/tests/rv64ui-v-slli.dump new file mode 100644 index 00000000..2808442b --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slli.dump @@ -0,0 +1,1082 @@ + +rv64ui-v-slli: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 98868693 addi a3,a3,-1656 # 80002de0 <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: 9bc60613 addi a2,a2,-1604 # 80002e70 <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: 98460613 addi a2,a2,-1660 # 80002e88 <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: 8d468693 addi a3,a3,-1836 # 80002e28 <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: 8f068693 addi a3,a3,-1808 # 80002f60 <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: 87060613 addi a2,a2,-1936 # 80002f38 <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: 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: 7a468693 addi a3,a3,1956 # 80002f90 <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: 6c468693 addi a3,a3,1732 # 80002f00 <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: 65468693 addi a3,a3,1620 # 80002ec8 <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: 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: 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: 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: 0f9957b7 lui a5,0xf995 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 0d278793 addi a5,a5,210 # f9950d2 <_start-0x7066af2e> + 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: 00100093 li ra,1 + 80002acc: 00009f13 slli t5,ra,0x0 + 80002ad0: 00100e93 li t4,1 + 80002ad4: 00200193 li gp,2 + 80002ad8: 2fdf1463 bne t5,t4,80002dc0 <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 00109f13 slli t5,ra,0x1 + 80002ae4: 00200e93 li t4,2 + 80002ae8: 00300193 li gp,3 + 80002aec: 2ddf1a63 bne t5,t4,80002dc0 <fail> + +0000000080002af0 <test_4>: + 80002af0: 00100093 li ra,1 + 80002af4: 00709f13 slli t5,ra,0x7 + 80002af8: 08000e93 li t4,128 + 80002afc: 00400193 li gp,4 + 80002b00: 2ddf1063 bne t5,t4,80002dc0 <fail> + +0000000080002b04 <test_5>: + 80002b04: 00100093 li ra,1 + 80002b08: 00e09f13 slli t5,ra,0xe + 80002b0c: 00004eb7 lui t4,0x4 + 80002b10: 00500193 li gp,5 + 80002b14: 2bdf1663 bne t5,t4,80002dc0 <fail> + +0000000080002b18 <test_6>: + 80002b18: 00100093 li ra,1 + 80002b1c: 01f09f13 slli t5,ra,0x1f + 80002b20: 00100e9b addiw t4,zero,1 + 80002b24: 01fe9e93 slli t4,t4,0x1f + 80002b28: 00600193 li gp,6 + 80002b2c: 29df1a63 bne t5,t4,80002dc0 <fail> + +0000000080002b30 <test_7>: + 80002b30: fff00093 li ra,-1 + 80002b34: 00009f13 slli t5,ra,0x0 + 80002b38: fff00e93 li t4,-1 + 80002b3c: 00700193 li gp,7 + 80002b40: 29df1063 bne t5,t4,80002dc0 <fail> + +0000000080002b44 <test_8>: + 80002b44: fff00093 li ra,-1 + 80002b48: 00109f13 slli t5,ra,0x1 + 80002b4c: ffe00e93 li t4,-2 + 80002b50: 00800193 li gp,8 + 80002b54: 27df1663 bne t5,t4,80002dc0 <fail> + +0000000080002b58 <test_9>: + 80002b58: fff00093 li ra,-1 + 80002b5c: 00709f13 slli t5,ra,0x7 + 80002b60: f8000e93 li t4,-128 + 80002b64: 00900193 li gp,9 + 80002b68: 25df1c63 bne t5,t4,80002dc0 <fail> + +0000000080002b6c <test_10>: + 80002b6c: fff00093 li ra,-1 + 80002b70: 00e09f13 slli t5,ra,0xe + 80002b74: ffffceb7 lui t4,0xffffc + 80002b78: 00a00193 li gp,10 + 80002b7c: 25df1263 bne t5,t4,80002dc0 <fail> + +0000000080002b80 <test_11>: + 80002b80: fff00093 li ra,-1 + 80002b84: 01f09f13 slli t5,ra,0x1f + 80002b88: 80000eb7 lui t4,0x80000 + 80002b8c: 00b00193 li gp,11 + 80002b90: 23df1863 bne t5,t4,80002dc0 <fail> + +0000000080002b94 <test_12>: + 80002b94: 212120b7 lui ra,0x21212 + 80002b98: 1210809b addiw ra,ra,289 + 80002b9c: 00009f13 slli t5,ra,0x0 + 80002ba0: 21212eb7 lui t4,0x21212 + 80002ba4: 121e8e9b addiw t4,t4,289 + 80002ba8: 00c00193 li gp,12 + 80002bac: 21df1a63 bne t5,t4,80002dc0 <fail> + +0000000080002bb0 <test_13>: + 80002bb0: 212120b7 lui ra,0x21212 + 80002bb4: 1210809b addiw ra,ra,289 + 80002bb8: 00109f13 slli t5,ra,0x1 + 80002bbc: 42424eb7 lui t4,0x42424 + 80002bc0: 242e8e9b addiw t4,t4,578 + 80002bc4: 00d00193 li gp,13 + 80002bc8: 1fdf1c63 bne t5,t4,80002dc0 <fail> + +0000000080002bcc <test_14>: + 80002bcc: 212120b7 lui ra,0x21212 + 80002bd0: 1210809b addiw ra,ra,289 + 80002bd4: 00709f13 slli t5,ra,0x7 + 80002bd8: 01091eb7 lui t4,0x1091 + 80002bdc: 909e8e9b addiw t4,t4,-1783 + 80002be0: 00ce9e93 slli t4,t4,0xc + 80002be4: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 80002be8: 00e00193 li gp,14 + 80002bec: 1ddf1a63 bne t5,t4,80002dc0 <fail> + +0000000080002bf0 <test_15>: + 80002bf0: 212120b7 lui ra,0x21212 + 80002bf4: 1210809b addiw ra,ra,289 + 80002bf8: 00e09f13 slli t5,ra,0xe + 80002bfc: 21212eb7 lui t4,0x21212 + 80002c00: 121e8e9b addiw t4,t4,289 + 80002c04: 00ee9e93 slli t4,t4,0xe + 80002c08: 00f00193 li gp,15 + 80002c0c: 1bdf1a63 bne t5,t4,80002dc0 <fail> + +0000000080002c10 <test_16>: + 80002c10: 212120b7 lui ra,0x21212 + 80002c14: 1210809b addiw ra,ra,289 + 80002c18: 01f09f13 slli t5,ra,0x1f + 80002c1c: 21212eb7 lui t4,0x21212 + 80002c20: 121e8e9b addiw t4,t4,289 + 80002c24: 01fe9e93 slli t4,t4,0x1f + 80002c28: 01000193 li gp,16 + 80002c2c: 19df1a63 bne t5,t4,80002dc0 <fail> + +0000000080002c30 <test_50>: + 80002c30: 00100093 li ra,1 + 80002c34: 03f09f13 slli t5,ra,0x3f + 80002c38: fff00e9b addiw t4,zero,-1 + 80002c3c: 03fe9e93 slli t4,t4,0x3f + 80002c40: 03200193 li gp,50 + 80002c44: 17df1e63 bne t5,t4,80002dc0 <fail> + +0000000080002c48 <test_51>: + 80002c48: fff00093 li ra,-1 + 80002c4c: 02709f13 slli t5,ra,0x27 + 80002c50: fff00e9b addiw t4,zero,-1 + 80002c54: 027e9e93 slli t4,t4,0x27 + 80002c58: 03300193 li gp,51 + 80002c5c: 17df1263 bne t5,t4,80002dc0 <fail> + +0000000080002c60 <test_52>: + 80002c60: 212120b7 lui ra,0x21212 + 80002c64: 1210809b addiw ra,ra,289 + 80002c68: 02b09f13 slli t5,ra,0x2b + 80002c6c: 00012eb7 lui t4,0x12 + 80002c70: 121e8e9b addiw t4,t4,289 + 80002c74: 02be9e93 slli t4,t4,0x2b + 80002c78: 03400193 li gp,52 + 80002c7c: 15df1263 bne t5,t4,80002dc0 <fail> + +0000000080002c80 <test_17>: + 80002c80: 00100093 li ra,1 + 80002c84: 00709093 slli ra,ra,0x7 + 80002c88: 08000e93 li t4,128 + 80002c8c: 01100193 li gp,17 + 80002c90: 13d09863 bne ra,t4,80002dc0 <fail> + +0000000080002c94 <test_18>: + 80002c94: 00000213 li tp,0 + 80002c98: 00100093 li ra,1 + 80002c9c: 00709f13 slli t5,ra,0x7 + 80002ca0: 000f0313 mv t1,t5 + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5216e3 bne tp,t0,80002c98 <test_18+0x4> + 80002cb0: 08000e93 li t4,128 + 80002cb4: 01200193 li gp,18 + 80002cb8: 11d31463 bne t1,t4,80002dc0 <fail> + +0000000080002cbc <test_19>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 00100093 li ra,1 + 80002cc4: 00e09f13 slli t5,ra,0xe + 80002cc8: 00000013 nop + 80002ccc: 000f0313 mv t1,t5 + 80002cd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd4: 00200293 li t0,2 + 80002cd8: fe5214e3 bne tp,t0,80002cc0 <test_19+0x4> + 80002cdc: 00004eb7 lui t4,0x4 + 80002ce0: 01300193 li gp,19 + 80002ce4: 0dd31e63 bne t1,t4,80002dc0 <fail> + +0000000080002ce8 <test_20>: + 80002ce8: 00000213 li tp,0 + 80002cec: 00100093 li ra,1 + 80002cf0: 01f09f13 slli t5,ra,0x1f + 80002cf4: 00000013 nop + 80002cf8: 00000013 nop + 80002cfc: 000f0313 mv t1,t5 + 80002d00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d04: 00200293 li t0,2 + 80002d08: fe5212e3 bne tp,t0,80002cec <test_20+0x4> + 80002d0c: 00100e9b addiw t4,zero,1 + 80002d10: 01fe9e93 slli t4,t4,0x1f + 80002d14: 01400193 li gp,20 + 80002d18: 0bd31463 bne t1,t4,80002dc0 <fail> + +0000000080002d1c <test_21>: + 80002d1c: 00000213 li tp,0 + 80002d20: 00100093 li ra,1 + 80002d24: 00709f13 slli t5,ra,0x7 + 80002d28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d2c: 00200293 li t0,2 + 80002d30: fe5218e3 bne tp,t0,80002d20 <test_21+0x4> + 80002d34: 08000e93 li t4,128 + 80002d38: 01500193 li gp,21 + 80002d3c: 09df1263 bne t5,t4,80002dc0 <fail> + +0000000080002d40 <test_22>: + 80002d40: 00000213 li tp,0 + 80002d44: 00100093 li ra,1 + 80002d48: 00000013 nop + 80002d4c: 00e09f13 slli t5,ra,0xe + 80002d50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d54: 00200293 li t0,2 + 80002d58: fe5216e3 bne tp,t0,80002d44 <test_22+0x4> + 80002d5c: 00004eb7 lui t4,0x4 + 80002d60: 01600193 li gp,22 + 80002d64: 05df1e63 bne t5,t4,80002dc0 <fail> + +0000000080002d68 <test_23>: + 80002d68: 00000213 li tp,0 + 80002d6c: 00100093 li ra,1 + 80002d70: 00000013 nop + 80002d74: 00000013 nop + 80002d78: 01f09f13 slli t5,ra,0x1f + 80002d7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d80: 00200293 li t0,2 + 80002d84: fe5214e3 bne tp,t0,80002d6c <test_23+0x4> + 80002d88: 00100e9b addiw t4,zero,1 + 80002d8c: 01fe9e93 slli t4,t4,0x1f + 80002d90: 01700193 li gp,23 + 80002d94: 03df1663 bne t5,t4,80002dc0 <fail> + +0000000080002d98 <test_24>: + 80002d98: 01f01093 slli ra,zero,0x1f + 80002d9c: 00000e93 li t4,0 + 80002da0: 01800193 li gp,24 + 80002da4: 01d09e63 bne ra,t4,80002dc0 <fail> + +0000000080002da8 <test_25>: + 80002da8: 02100093 li ra,33 + 80002dac: 01409013 slli zero,ra,0x14 + 80002db0: 00000e93 li t4,0 + 80002db4: 01900193 li gp,25 + 80002db8: 01d01463 bne zero,t4,80002dc0 <fail> + 80002dbc: 00301a63 bne zero,gp,80002dd0 <pass> + +0000000080002dc0 <fail>: + 80002dc0: 00119513 slli a0,gp,0x1 + 80002dc4: 00050063 beqz a0,80002dc4 <fail+0x4> + 80002dc8: 00156513 ori a0,a0,1 + 80002dcc: 00000073 ecall + +0000000080002dd0 <pass>: + 80002dd0: 00100513 li a0,1 + 80002dd4: 00000073 ecall + 80002dd8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-slli.elf b/test/riscv/tests/rv64ui-v-slli.elf Binary files differnew file mode 100644 index 00000000..2b9e327a --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slli.elf diff --git a/test/riscv/tests/rv64ui-v-slliw.dump b/test/riscv/tests/rv64ui-v-slliw.dump new file mode 100644 index 00000000..25efc0d9 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slliw.dump @@ -0,0 +1,1047 @@ + +rv64ui-v-slliw: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 91068693 addi a3,a3,-1776 # 80002d68 <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: 94460613 addi a2,a2,-1724 # 80002df8 <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: 00001617 auipc a2,0x1 + 80002508: 90c60613 addi a2,a2,-1780 # 80002e10 <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: 00001697 auipc a3,0x1 + 80002558: 85c68693 addi a3,a3,-1956 # 80002db0 <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: 00001697 auipc a3,0x1 + 80002674: 87868693 addi a3,a3,-1928 # 80002ee8 <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: 7f860613 addi a2,a2,2040 # 80002ec0 <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: 72c68693 addi a3,a3,1836 # 80002f18 <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: 64c68693 addi a3,a3,1612 # 80002e88 <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: 5dc68693 addi a3,a3,1500 # 80002e50 <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: 01000793 li a5,16 + 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: 0a2947b7 lui a5,0xa294 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: def78793 addi a5,a5,-529 # a293def <_start-0x75d6c211> + 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: 00100093 li ra,1 + 80002acc: 00009f1b slliw t5,ra,0x0 + 80002ad0: 00100e93 li t4,1 + 80002ad4: 00200193 li gp,2 + 80002ad8: 27df1a63 bne t5,t4,80002d4c <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 00109f1b slliw t5,ra,0x1 + 80002ae4: 00200e93 li t4,2 + 80002ae8: 00300193 li gp,3 + 80002aec: 27df1063 bne t5,t4,80002d4c <fail> + +0000000080002af0 <test_4>: + 80002af0: 00100093 li ra,1 + 80002af4: 00709f1b slliw t5,ra,0x7 + 80002af8: 08000e93 li t4,128 + 80002afc: 00400193 li gp,4 + 80002b00: 25df1663 bne t5,t4,80002d4c <fail> + +0000000080002b04 <test_5>: + 80002b04: 00100093 li ra,1 + 80002b08: 00e09f1b slliw t5,ra,0xe + 80002b0c: 00004eb7 lui t4,0x4 + 80002b10: 00500193 li gp,5 + 80002b14: 23df1c63 bne t5,t4,80002d4c <fail> + +0000000080002b18 <test_6>: + 80002b18: 00100093 li ra,1 + 80002b1c: 01f09f1b slliw t5,ra,0x1f + 80002b20: 80000eb7 lui t4,0x80000 + 80002b24: 00600193 li gp,6 + 80002b28: 23df1263 bne t5,t4,80002d4c <fail> + +0000000080002b2c <test_7>: + 80002b2c: fff00093 li ra,-1 + 80002b30: 00009f1b slliw t5,ra,0x0 + 80002b34: fff00e93 li t4,-1 + 80002b38: 00700193 li gp,7 + 80002b3c: 21df1863 bne t5,t4,80002d4c <fail> + +0000000080002b40 <test_8>: + 80002b40: fff00093 li ra,-1 + 80002b44: 00109f1b slliw t5,ra,0x1 + 80002b48: ffe00e93 li t4,-2 + 80002b4c: 00800193 li gp,8 + 80002b50: 1fdf1e63 bne t5,t4,80002d4c <fail> + +0000000080002b54 <test_9>: + 80002b54: fff00093 li ra,-1 + 80002b58: 00709f1b slliw t5,ra,0x7 + 80002b5c: f8000e93 li t4,-128 + 80002b60: 00900193 li gp,9 + 80002b64: 1fdf1463 bne t5,t4,80002d4c <fail> + +0000000080002b68 <test_10>: + 80002b68: fff00093 li ra,-1 + 80002b6c: 00e09f1b slliw t5,ra,0xe + 80002b70: ffffceb7 lui t4,0xffffc + 80002b74: 00a00193 li gp,10 + 80002b78: 1ddf1a63 bne t5,t4,80002d4c <fail> + +0000000080002b7c <test_11>: + 80002b7c: fff00093 li ra,-1 + 80002b80: 01f09f1b slliw t5,ra,0x1f + 80002b84: 80000eb7 lui t4,0x80000 + 80002b88: 00b00193 li gp,11 + 80002b8c: 1ddf1063 bne t5,t4,80002d4c <fail> + +0000000080002b90 <test_12>: + 80002b90: 212120b7 lui ra,0x21212 + 80002b94: 1210809b addiw ra,ra,289 + 80002b98: 00009f1b slliw t5,ra,0x0 + 80002b9c: 21212eb7 lui t4,0x21212 + 80002ba0: 121e8e9b addiw t4,t4,289 + 80002ba4: 00c00193 li gp,12 + 80002ba8: 1bdf1263 bne t5,t4,80002d4c <fail> + +0000000080002bac <test_13>: + 80002bac: 212120b7 lui ra,0x21212 + 80002bb0: 1210809b addiw ra,ra,289 + 80002bb4: 00109f1b slliw t5,ra,0x1 + 80002bb8: 42424eb7 lui t4,0x42424 + 80002bbc: 242e8e9b addiw t4,t4,578 + 80002bc0: 00d00193 li gp,13 + 80002bc4: 19df1463 bne t5,t4,80002d4c <fail> + +0000000080002bc8 <test_14>: + 80002bc8: 212120b7 lui ra,0x21212 + 80002bcc: 1210809b addiw ra,ra,289 + 80002bd0: 00709f1b slliw t5,ra,0x7 + 80002bd4: 90909eb7 lui t4,0x90909 + 80002bd8: 080e8e9b addiw t4,t4,128 + 80002bdc: 00e00193 li gp,14 + 80002be0: 17df1663 bne t5,t4,80002d4c <fail> + +0000000080002be4 <test_15>: + 80002be4: 212120b7 lui ra,0x21212 + 80002be8: 1210809b addiw ra,ra,289 + 80002bec: 00e09f1b slliw t5,ra,0xe + 80002bf0: 48484eb7 lui t4,0x48484 + 80002bf4: 00f00193 li gp,15 + 80002bf8: 15df1a63 bne t5,t4,80002d4c <fail> + +0000000080002bfc <test_16>: + 80002bfc: 212120b7 lui ra,0x21212 + 80002c00: 1210809b addiw ra,ra,289 + 80002c04: 01f09f1b slliw t5,ra,0x1f + 80002c08: 80000eb7 lui t4,0x80000 + 80002c0c: 01000193 li gp,16 + 80002c10: 13df1e63 bne t5,t4,80002d4c <fail> + +0000000080002c14 <test_17>: + 80002c14: 00100093 li ra,1 + 80002c18: 0070909b slliw ra,ra,0x7 + 80002c1c: 08000e93 li t4,128 + 80002c20: 01100193 li gp,17 + 80002c24: 13d09463 bne ra,t4,80002d4c <fail> + +0000000080002c28 <test_18>: + 80002c28: 00000213 li tp,0 + 80002c2c: 00100093 li ra,1 + 80002c30: 00709f1b slliw t5,ra,0x7 + 80002c34: 000f0313 mv t1,t5 + 80002c38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c3c: 00200293 li t0,2 + 80002c40: fe5216e3 bne tp,t0,80002c2c <test_18+0x4> + 80002c44: 08000e93 li t4,128 + 80002c48: 01200193 li gp,18 + 80002c4c: 11d31063 bne t1,t4,80002d4c <fail> + +0000000080002c50 <test_19>: + 80002c50: 00000213 li tp,0 + 80002c54: 00100093 li ra,1 + 80002c58: 00e09f1b slliw t5,ra,0xe + 80002c5c: 00000013 nop + 80002c60: 000f0313 mv t1,t5 + 80002c64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c68: 00200293 li t0,2 + 80002c6c: fe5214e3 bne tp,t0,80002c54 <test_19+0x4> + 80002c70: 00004eb7 lui t4,0x4 + 80002c74: 01300193 li gp,19 + 80002c78: 0dd31a63 bne t1,t4,80002d4c <fail> + +0000000080002c7c <test_20>: + 80002c7c: 00000213 li tp,0 + 80002c80: 00100093 li ra,1 + 80002c84: 01f09f1b slliw t5,ra,0x1f + 80002c88: 00000013 nop + 80002c8c: 00000013 nop + 80002c90: 000f0313 mv t1,t5 + 80002c94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c98: 00200293 li t0,2 + 80002c9c: fe5212e3 bne tp,t0,80002c80 <test_20+0x4> + 80002ca0: 80000eb7 lui t4,0x80000 + 80002ca4: 01400193 li gp,20 + 80002ca8: 0bd31263 bne t1,t4,80002d4c <fail> + +0000000080002cac <test_21>: + 80002cac: 00000213 li tp,0 + 80002cb0: 00100093 li ra,1 + 80002cb4: 00709f1b slliw t5,ra,0x7 + 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cbc: 00200293 li t0,2 + 80002cc0: fe5218e3 bne tp,t0,80002cb0 <test_21+0x4> + 80002cc4: 08000e93 li t4,128 + 80002cc8: 01500193 li gp,21 + 80002ccc: 09df1063 bne t5,t4,80002d4c <fail> + +0000000080002cd0 <test_22>: + 80002cd0: 00000213 li tp,0 + 80002cd4: 00100093 li ra,1 + 80002cd8: 00000013 nop + 80002cdc: 00e09f1b slliw t5,ra,0xe + 80002ce0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce4: 00200293 li t0,2 + 80002ce8: fe5216e3 bne tp,t0,80002cd4 <test_22+0x4> + 80002cec: 00004eb7 lui t4,0x4 + 80002cf0: 01600193 li gp,22 + 80002cf4: 05df1c63 bne t5,t4,80002d4c <fail> + +0000000080002cf8 <test_23>: + 80002cf8: 00000213 li tp,0 + 80002cfc: 00100093 li ra,1 + 80002d00: 00000013 nop + 80002d04: 00000013 nop + 80002d08: 01f09f1b slliw t5,ra,0x1f + 80002d0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d10: 00200293 li t0,2 + 80002d14: fe5214e3 bne tp,t0,80002cfc <test_23+0x4> + 80002d18: 80000eb7 lui t4,0x80000 + 80002d1c: 01700193 li gp,23 + 80002d20: 03df1663 bne t5,t4,80002d4c <fail> + +0000000080002d24 <test_24>: + 80002d24: 01f0109b slliw ra,zero,0x1f + 80002d28: 00000e93 li t4,0 + 80002d2c: 01800193 li gp,24 + 80002d30: 01d09e63 bne ra,t4,80002d4c <fail> + +0000000080002d34 <test_25>: + 80002d34: 01f00093 li ra,31 + 80002d38: 01c0901b slliw zero,ra,0x1c + 80002d3c: 00000e93 li t4,0 + 80002d40: 01900193 li gp,25 + 80002d44: 01d01463 bne zero,t4,80002d4c <fail> + 80002d48: 00301a63 bne zero,gp,80002d5c <pass> + +0000000080002d4c <fail>: + 80002d4c: 00119513 slli a0,gp,0x1 + 80002d50: 00050063 beqz a0,80002d50 <fail+0x4> + 80002d54: 00156513 ori a0,a0,1 + 80002d58: 00000073 ecall + +0000000080002d5c <pass>: + 80002d5c: 00100513 li a0,1 + 80002d60: 00000073 ecall + 80002d64: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-slliw.elf b/test/riscv/tests/rv64ui-v-slliw.elf Binary files differnew file mode 100644 index 00000000..dd80f11c --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slliw.elf diff --git a/test/riscv/tests/rv64ui-v-sllw.dump b/test/riscv/tests/rv64ui-v-sllw.dump new file mode 100644 index 00000000..e44d86e7 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sllw.dump @@ -0,0 +1,1269 @@ + +rv64ui-v-sllw: 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,sbadaddr + 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 <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: 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: bf868693 addi a3,a3,-1032 # 80003050 <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: c2c60613 addi a2,a2,-980 # 800030e0 <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: 00001617 auipc a2,0x1 + 80002508: bf460613 addi a2,a2,-1036 # 800030f8 <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: 00001697 auipc a3,0x1 + 80002558: b4468693 addi a3,a3,-1212 # 80003098 <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: 00001697 auipc a3,0x1 + 80002674: b6068693 addi a3,a3,-1184 # 800031d0 <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: 00001617 auipc a2,0x1 + 800026cc: ae060613 addi a2,a2,-1312 # 800031a8 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a1468693 addi a3,a3,-1516 # 80003200 <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: 00001697 auipc a3,0x1 + 80002840: 93468693 addi a3,a3,-1740 # 80003170 <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: 00001697 auipc a3,0x1 + 80002878: 8c468693 addi a3,a3,-1852 # 80003138 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 02f00793 li a5,47 + 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: 09afd7b7 lui a5,0x9afd + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 1b578793 addi a5,a5,437 # 9afd1b5 <_start-0x76502e4b> + 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: 00100093 li ra,1 + 80002acc: 00000113 li sp,0 + 80002ad0: 00209f3b sllw t5,ra,sp + 80002ad4: 00100e93 li t4,1 + 80002ad8: 00200193 li gp,2 + 80002adc: 55df1c63 bne t5,t4,80003034 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 00209f3b sllw t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 55df1063 bne t5,t4,80003034 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00100093 li ra,1 + 80002afc: 00700113 li sp,7 + 80002b00: 00209f3b sllw t5,ra,sp + 80002b04: 08000e93 li t4,128 + 80002b08: 00400193 li gp,4 + 80002b0c: 53df1463 bne t5,t4,80003034 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00100093 li ra,1 + 80002b14: 00e00113 li sp,14 + 80002b18: 00209f3b sllw t5,ra,sp + 80002b1c: 00004eb7 lui t4,0x4 + 80002b20: 00500193 li gp,5 + 80002b24: 51df1863 bne t5,t4,80003034 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00100093 li ra,1 + 80002b2c: 01f00113 li sp,31 + 80002b30: 00209f3b sllw t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 4fdf1c63 bne t5,t4,80003034 <fail> + +0000000080002b40 <test_7>: + 80002b40: fff00093 li ra,-1 + 80002b44: 00000113 li sp,0 + 80002b48: 00209f3b sllw t5,ra,sp + 80002b4c: fff00e93 li t4,-1 + 80002b50: 00700193 li gp,7 + 80002b54: 4fdf1063 bne t5,t4,80003034 <fail> + +0000000080002b58 <test_8>: + 80002b58: fff00093 li ra,-1 + 80002b5c: 00100113 li sp,1 + 80002b60: 00209f3b sllw t5,ra,sp + 80002b64: ffe00e93 li t4,-2 + 80002b68: 00800193 li gp,8 + 80002b6c: 4ddf1463 bne t5,t4,80003034 <fail> + +0000000080002b70 <test_9>: + 80002b70: fff00093 li ra,-1 + 80002b74: 00700113 li sp,7 + 80002b78: 00209f3b sllw t5,ra,sp + 80002b7c: f8000e93 li t4,-128 + 80002b80: 00900193 li gp,9 + 80002b84: 4bdf1863 bne t5,t4,80003034 <fail> + +0000000080002b88 <test_10>: + 80002b88: fff00093 li ra,-1 + 80002b8c: 00e00113 li sp,14 + 80002b90: 00209f3b sllw t5,ra,sp + 80002b94: ffffceb7 lui t4,0xffffc + 80002b98: 00a00193 li gp,10 + 80002b9c: 49df1c63 bne t5,t4,80003034 <fail> + +0000000080002ba0 <test_11>: + 80002ba0: fff00093 li ra,-1 + 80002ba4: 01f00113 li sp,31 + 80002ba8: 00209f3b sllw t5,ra,sp + 80002bac: 80000eb7 lui t4,0x80000 + 80002bb0: 00b00193 li gp,11 + 80002bb4: 49df1063 bne t5,t4,80003034 <fail> + +0000000080002bb8 <test_12>: + 80002bb8: 212120b7 lui ra,0x21212 + 80002bbc: 1210809b addiw ra,ra,289 + 80002bc0: 00000113 li sp,0 + 80002bc4: 00209f3b sllw t5,ra,sp + 80002bc8: 21212eb7 lui t4,0x21212 + 80002bcc: 121e8e9b addiw t4,t4,289 + 80002bd0: 00c00193 li gp,12 + 80002bd4: 47df1063 bne t5,t4,80003034 <fail> + +0000000080002bd8 <test_13>: + 80002bd8: 212120b7 lui ra,0x21212 + 80002bdc: 1210809b addiw ra,ra,289 + 80002be0: 00100113 li sp,1 + 80002be4: 00209f3b sllw t5,ra,sp + 80002be8: 42424eb7 lui t4,0x42424 + 80002bec: 242e8e9b addiw t4,t4,578 + 80002bf0: 00d00193 li gp,13 + 80002bf4: 45df1063 bne t5,t4,80003034 <fail> + +0000000080002bf8 <test_14>: + 80002bf8: 212120b7 lui ra,0x21212 + 80002bfc: 1210809b addiw ra,ra,289 + 80002c00: 00700113 li sp,7 + 80002c04: 00209f3b sllw t5,ra,sp + 80002c08: 90909eb7 lui t4,0x90909 + 80002c0c: 080e8e9b addiw t4,t4,128 + 80002c10: 00e00193 li gp,14 + 80002c14: 43df1063 bne t5,t4,80003034 <fail> + +0000000080002c18 <test_15>: + 80002c18: 212120b7 lui ra,0x21212 + 80002c1c: 1210809b addiw ra,ra,289 + 80002c20: 00e00113 li sp,14 + 80002c24: 00209f3b sllw t5,ra,sp + 80002c28: 48484eb7 lui t4,0x48484 + 80002c2c: 00f00193 li gp,15 + 80002c30: 41df1263 bne t5,t4,80003034 <fail> + +0000000080002c34 <test_16>: + 80002c34: 212120b7 lui ra,0x21212 + 80002c38: 1210809b addiw ra,ra,289 + 80002c3c: 01f00113 li sp,31 + 80002c40: 00209f3b sllw t5,ra,sp + 80002c44: 80000eb7 lui t4,0x80000 + 80002c48: 01000193 li gp,16 + 80002c4c: 3fdf1463 bne t5,t4,80003034 <fail> + +0000000080002c50 <test_17>: + 80002c50: 212120b7 lui ra,0x21212 + 80002c54: 1210809b addiw ra,ra,289 + 80002c58: fe000113 li sp,-32 + 80002c5c: 00209f3b sllw t5,ra,sp + 80002c60: 21212eb7 lui t4,0x21212 + 80002c64: 121e8e9b addiw t4,t4,289 + 80002c68: 01100193 li gp,17 + 80002c6c: 3ddf1463 bne t5,t4,80003034 <fail> + +0000000080002c70 <test_18>: + 80002c70: 212120b7 lui ra,0x21212 + 80002c74: 1210809b addiw ra,ra,289 + 80002c78: fe100113 li sp,-31 + 80002c7c: 00209f3b sllw t5,ra,sp + 80002c80: 42424eb7 lui t4,0x42424 + 80002c84: 242e8e9b addiw t4,t4,578 + 80002c88: 01200193 li gp,18 + 80002c8c: 3bdf1463 bne t5,t4,80003034 <fail> + +0000000080002c90 <test_19>: + 80002c90: 212120b7 lui ra,0x21212 + 80002c94: 1210809b addiw ra,ra,289 + 80002c98: fe700113 li sp,-25 + 80002c9c: 00209f3b sllw t5,ra,sp + 80002ca0: 90909eb7 lui t4,0x90909 + 80002ca4: 080e8e9b addiw t4,t4,128 + 80002ca8: 01300193 li gp,19 + 80002cac: 39df1463 bne t5,t4,80003034 <fail> + +0000000080002cb0 <test_20>: + 80002cb0: 212120b7 lui ra,0x21212 + 80002cb4: 1210809b addiw ra,ra,289 + 80002cb8: fee00113 li sp,-18 + 80002cbc: 00209f3b sllw t5,ra,sp + 80002cc0: 48484eb7 lui t4,0x48484 + 80002cc4: 01400193 li gp,20 + 80002cc8: 37df1663 bne t5,t4,80003034 <fail> + +0000000080002ccc <test_21>: + 80002ccc: 212120b7 lui ra,0x21212 + 80002cd0: 1210809b addiw ra,ra,289 + 80002cd4: fff00113 li sp,-1 + 80002cd8: 00209f3b sllw t5,ra,sp + 80002cdc: 80000eb7 lui t4,0x80000 + 80002ce0: 01500193 li gp,21 + 80002ce4: 35df1863 bne t5,t4,80003034 <fail> + +0000000080002ce8 <test_22>: + 80002ce8: 00100093 li ra,1 + 80002cec: 00700113 li sp,7 + 80002cf0: 002090bb sllw ra,ra,sp + 80002cf4: 08000e93 li t4,128 + 80002cf8: 01600193 li gp,22 + 80002cfc: 33d09c63 bne ra,t4,80003034 <fail> + +0000000080002d00 <test_23>: + 80002d00: 00100093 li ra,1 + 80002d04: 00e00113 li sp,14 + 80002d08: 0020913b sllw sp,ra,sp + 80002d0c: 00004eb7 lui t4,0x4 + 80002d10: 01700193 li gp,23 + 80002d14: 33d11063 bne sp,t4,80003034 <fail> + +0000000080002d18 <test_24>: + 80002d18: 00300093 li ra,3 + 80002d1c: 001090bb sllw ra,ra,ra + 80002d20: 01800e93 li t4,24 + 80002d24: 01800193 li gp,24 + 80002d28: 31d09663 bne ra,t4,80003034 <fail> + +0000000080002d2c <test_25>: + 80002d2c: 00000213 li tp,0 + 80002d30: 00100093 li ra,1 + 80002d34: 00700113 li sp,7 + 80002d38: 00209f3b sllw t5,ra,sp + 80002d3c: 000f0313 mv t1,t5 + 80002d40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d44: 00200293 li t0,2 + 80002d48: fe5214e3 bne tp,t0,80002d30 <test_25+0x4> + 80002d4c: 08000e93 li t4,128 + 80002d50: 01900193 li gp,25 + 80002d54: 2fd31063 bne t1,t4,80003034 <fail> + +0000000080002d58 <test_26>: + 80002d58: 00000213 li tp,0 + 80002d5c: 00100093 li ra,1 + 80002d60: 00e00113 li sp,14 + 80002d64: 00209f3b sllw t5,ra,sp + 80002d68: 00000013 nop + 80002d6c: 000f0313 mv t1,t5 + 80002d70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d74: 00200293 li t0,2 + 80002d78: fe5212e3 bne tp,t0,80002d5c <test_26+0x4> + 80002d7c: 00004eb7 lui t4,0x4 + 80002d80: 01a00193 li gp,26 + 80002d84: 2bd31863 bne t1,t4,80003034 <fail> + +0000000080002d88 <test_27>: + 80002d88: 00000213 li tp,0 + 80002d8c: 00100093 li ra,1 + 80002d90: 01f00113 li sp,31 + 80002d94: 00209f3b sllw t5,ra,sp + 80002d98: 00000013 nop + 80002d9c: 00000013 nop + 80002da0: 000f0313 mv t1,t5 + 80002da4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da8: 00200293 li t0,2 + 80002dac: fe5210e3 bne tp,t0,80002d8c <test_27+0x4> + 80002db0: 80000eb7 lui t4,0x80000 + 80002db4: 01b00193 li gp,27 + 80002db8: 27d31e63 bne t1,t4,80003034 <fail> + +0000000080002dbc <test_28>: + 80002dbc: 00000213 li tp,0 + 80002dc0: 00100093 li ra,1 + 80002dc4: 00700113 li sp,7 + 80002dc8: 00209f3b sllw t5,ra,sp + 80002dcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd0: 00200293 li t0,2 + 80002dd4: fe5216e3 bne tp,t0,80002dc0 <test_28+0x4> + 80002dd8: 08000e93 li t4,128 + 80002ddc: 01c00193 li gp,28 + 80002de0: 25df1a63 bne t5,t4,80003034 <fail> + +0000000080002de4 <test_29>: + 80002de4: 00000213 li tp,0 + 80002de8: 00100093 li ra,1 + 80002dec: 00e00113 li sp,14 + 80002df0: 00000013 nop + 80002df4: 00209f3b sllw t5,ra,sp + 80002df8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dfc: 00200293 li t0,2 + 80002e00: fe5214e3 bne tp,t0,80002de8 <test_29+0x4> + 80002e04: 00004eb7 lui t4,0x4 + 80002e08: 01d00193 li gp,29 + 80002e0c: 23df1463 bne t5,t4,80003034 <fail> + +0000000080002e10 <test_30>: + 80002e10: 00000213 li tp,0 + 80002e14: 00100093 li ra,1 + 80002e18: 01f00113 li sp,31 + 80002e1c: 00000013 nop + 80002e20: 00000013 nop + 80002e24: 00209f3b sllw t5,ra,sp + 80002e28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e2c: 00200293 li t0,2 + 80002e30: fe5212e3 bne tp,t0,80002e14 <test_30+0x4> + 80002e34: 80000eb7 lui t4,0x80000 + 80002e38: 01e00193 li gp,30 + 80002e3c: 1fdf1c63 bne t5,t4,80003034 <fail> + +0000000080002e40 <test_31>: + 80002e40: 00000213 li tp,0 + 80002e44: 00100093 li ra,1 + 80002e48: 00000013 nop + 80002e4c: 00700113 li sp,7 + 80002e50: 00209f3b sllw t5,ra,sp + 80002e54: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e58: 00200293 li t0,2 + 80002e5c: fe5214e3 bne tp,t0,80002e44 <test_31+0x4> + 80002e60: 08000e93 li t4,128 + 80002e64: 01f00193 li gp,31 + 80002e68: 1ddf1663 bne t5,t4,80003034 <fail> + +0000000080002e6c <test_32>: + 80002e6c: 00000213 li tp,0 + 80002e70: 00100093 li ra,1 + 80002e74: 00000013 nop + 80002e78: 00e00113 li sp,14 + 80002e7c: 00000013 nop + 80002e80: 00209f3b sllw t5,ra,sp + 80002e84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e88: 00200293 li t0,2 + 80002e8c: fe5212e3 bne tp,t0,80002e70 <test_32+0x4> + 80002e90: 00004eb7 lui t4,0x4 + 80002e94: 02000193 li gp,32 + 80002e98: 19df1e63 bne t5,t4,80003034 <fail> + +0000000080002e9c <test_33>: + 80002e9c: 00000213 li tp,0 + 80002ea0: 00100093 li ra,1 + 80002ea4: 00000013 nop + 80002ea8: 00000013 nop + 80002eac: 01f00113 li sp,31 + 80002eb0: 00209f3b sllw t5,ra,sp + 80002eb4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb8: 00200293 li t0,2 + 80002ebc: fe5212e3 bne tp,t0,80002ea0 <test_33+0x4> + 80002ec0: 80000eb7 lui t4,0x80000 + 80002ec4: 02100193 li gp,33 + 80002ec8: 17df1663 bne t5,t4,80003034 <fail> + +0000000080002ecc <test_34>: + 80002ecc: 00000213 li tp,0 + 80002ed0: 00700113 li sp,7 + 80002ed4: 00100093 li ra,1 + 80002ed8: 00209f3b sllw t5,ra,sp + 80002edc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee0: 00200293 li t0,2 + 80002ee4: fe5216e3 bne tp,t0,80002ed0 <test_34+0x4> + 80002ee8: 08000e93 li t4,128 + 80002eec: 02200193 li gp,34 + 80002ef0: 15df1263 bne t5,t4,80003034 <fail> + +0000000080002ef4 <test_35>: + 80002ef4: 00000213 li tp,0 + 80002ef8: 00e00113 li sp,14 + 80002efc: 00100093 li ra,1 + 80002f00: 00000013 nop + 80002f04: 00209f3b sllw t5,ra,sp + 80002f08: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f0c: 00200293 li t0,2 + 80002f10: fe5214e3 bne tp,t0,80002ef8 <test_35+0x4> + 80002f14: 00004eb7 lui t4,0x4 + 80002f18: 02300193 li gp,35 + 80002f1c: 11df1c63 bne t5,t4,80003034 <fail> + +0000000080002f20 <test_36>: + 80002f20: 00000213 li tp,0 + 80002f24: 01f00113 li sp,31 + 80002f28: 00100093 li ra,1 + 80002f2c: 00000013 nop + 80002f30: 00000013 nop + 80002f34: 00209f3b sllw t5,ra,sp + 80002f38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f3c: 00200293 li t0,2 + 80002f40: fe5212e3 bne tp,t0,80002f24 <test_36+0x4> + 80002f44: 80000eb7 lui t4,0x80000 + 80002f48: 02400193 li gp,36 + 80002f4c: 0fdf1463 bne t5,t4,80003034 <fail> + +0000000080002f50 <test_37>: + 80002f50: 00000213 li tp,0 + 80002f54: 00700113 li sp,7 + 80002f58: 00000013 nop + 80002f5c: 00100093 li ra,1 + 80002f60: 00209f3b sllw t5,ra,sp + 80002f64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f68: 00200293 li t0,2 + 80002f6c: fe5214e3 bne tp,t0,80002f54 <test_37+0x4> + 80002f70: 08000e93 li t4,128 + 80002f74: 02500193 li gp,37 + 80002f78: 0bdf1e63 bne t5,t4,80003034 <fail> + +0000000080002f7c <test_38>: + 80002f7c: 00000213 li tp,0 + 80002f80: 00e00113 li sp,14 + 80002f84: 00000013 nop + 80002f88: 00100093 li ra,1 + 80002f8c: 00000013 nop + 80002f90: 00209f3b sllw t5,ra,sp + 80002f94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f98: 00200293 li t0,2 + 80002f9c: fe5212e3 bne tp,t0,80002f80 <test_38+0x4> + 80002fa0: 00004eb7 lui t4,0x4 + 80002fa4: 02600193 li gp,38 + 80002fa8: 09df1663 bne t5,t4,80003034 <fail> + +0000000080002fac <test_39>: + 80002fac: 00000213 li tp,0 + 80002fb0: 01f00113 li sp,31 + 80002fb4: 00000013 nop + 80002fb8: 00000013 nop + 80002fbc: 00100093 li ra,1 + 80002fc0: 00209f3b sllw t5,ra,sp + 80002fc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fc8: 00200293 li t0,2 + 80002fcc: fe5212e3 bne tp,t0,80002fb0 <test_39+0x4> + 80002fd0: 80000eb7 lui t4,0x80000 + 80002fd4: 02700193 li gp,39 + 80002fd8: 05df1e63 bne t5,t4,80003034 <fail> + +0000000080002fdc <test_40>: + 80002fdc: 00f00093 li ra,15 + 80002fe0: 0010113b sllw sp,zero,ra + 80002fe4: 00000e93 li t4,0 + 80002fe8: 02800193 li gp,40 + 80002fec: 05d11463 bne sp,t4,80003034 <fail> + +0000000080002ff0 <test_41>: + 80002ff0: 02000093 li ra,32 + 80002ff4: 0000913b sllw sp,ra,zero + 80002ff8: 02000e93 li t4,32 + 80002ffc: 02900193 li gp,41 + 80003000: 03d11a63 bne sp,t4,80003034 <fail> + +0000000080003004 <test_42>: + 80003004: 000010bb sllw ra,zero,zero + 80003008: 00000e93 li t4,0 + 8000300c: 02a00193 li gp,42 + 80003010: 03d09263 bne ra,t4,80003034 <fail> + +0000000080003014 <test_43>: + 80003014: 40000093 li ra,1024 + 80003018: 00001137 lui sp,0x1 + 8000301c: 8001011b addiw sp,sp,-2048 + 80003020: 0020903b sllw zero,ra,sp + 80003024: 00000e93 li t4,0 + 80003028: 02b00193 li gp,43 + 8000302c: 01d01463 bne zero,t4,80003034 <fail> + 80003030: 00301a63 bne zero,gp,80003044 <pass> + +0000000080003034 <fail>: + 80003034: 00119513 slli a0,gp,0x1 + 80003038: 00050063 beqz a0,80003038 <fail+0x4> + 8000303c: 00156513 ori a0,a0,1 + 80003040: 00000073 ecall + +0000000080003044 <pass>: + 80003044: 00100513 li a0,1 + 80003048: 00000073 ecall + 8000304c: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sllw.elf b/test/riscv/tests/rv64ui-v-sllw.elf Binary files differnew file mode 100644 index 00000000..9ae693bd --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sllw.elf diff --git a/test/riscv/tests/rv64ui-v-slt.dump b/test/riscv/tests/rv64ui-v-slt.dump new file mode 100644 index 00000000..dd39ae72 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slt.dump @@ -0,0 +1,1218 @@ + +rv64ui-v-slt: 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,sbadaddr + 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 <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: 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: b5868693 addi a3,a3,-1192 # 80002fb0 <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: b8c60613 addi a2,a2,-1140 # 80003040 <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: b5460613 addi a2,a2,-1196 # 80003058 <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: aa468693 addi a3,a3,-1372 # 80002ff8 <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: ac068693 addi a3,a3,-1344 # 80003130 <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: a4060613 addi a2,a2,-1472 # 80003108 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 97468693 addi a3,a3,-1676 # 80003160 <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: 89468693 addi a3,a3,-1900 # 800030d0 <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: 82468693 addi a3,a3,-2012 # 80003098 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 00300793 li a5,3 + 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: 0c8c27b7 lui a5,0xc8c2 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a2878793 addi a5,a5,-1496 # c8c1a28 <_start-0x7373e5d8> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 0020af33 slt t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4bdf1a63 bne t5,t4,80002f90 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0020af33 slt t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 49df1e63 bne t5,t4,80002f90 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 0020af33 slt t5,ra,sp + 80002b04: 00100e93 li t4,1 + 80002b08: 00400193 li gp,4 + 80002b0c: 49df1263 bne t5,t4,80002f90 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00700093 li ra,7 + 80002b14: 00300113 li sp,3 + 80002b18: 0020af33 slt t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 47df1663 bne t5,t4,80002f90 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00000093 li ra,0 + 80002b2c: ffff8137 lui sp,0xffff8 + 80002b30: 0020af33 slt t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 45df1a63 bne t5,t4,80002f90 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: 00000113 li sp,0 + 80002b48: 0020af33 slt t5,ra,sp + 80002b4c: 00100e93 li t4,1 + 80002b50: 00700193 li gp,7 + 80002b54: 43df1e63 bne t5,t4,80002f90 <fail> + +0000000080002b58 <test_8>: + 80002b58: 800000b7 lui ra,0x80000 + 80002b5c: ffff8137 lui sp,0xffff8 + 80002b60: 0020af33 slt t5,ra,sp + 80002b64: 00100e93 li t4,1 + 80002b68: 00800193 li gp,8 + 80002b6c: 43df1263 bne t5,t4,80002f90 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00000093 li ra,0 + 80002b74: 00008137 lui sp,0x8 + 80002b78: fff1011b addiw sp,sp,-1 + 80002b7c: 0020af33 slt t5,ra,sp + 80002b80: 00100e93 li t4,1 + 80002b84: 00900193 li gp,9 + 80002b88: 41df1463 bne t5,t4,80002f90 <fail> + +0000000080002b8c <test_10>: + 80002b8c: 800000b7 lui ra,0x80000 + 80002b90: fff0809b addiw ra,ra,-1 + 80002b94: 00000113 li sp,0 + 80002b98: 0020af33 slt t5,ra,sp + 80002b9c: 00000e93 li t4,0 + 80002ba0: 00a00193 li gp,10 + 80002ba4: 3fdf1663 bne t5,t4,80002f90 <fail> + +0000000080002ba8 <test_11>: + 80002ba8: 800000b7 lui ra,0x80000 + 80002bac: fff0809b addiw ra,ra,-1 + 80002bb0: 00008137 lui sp,0x8 + 80002bb4: fff1011b addiw sp,sp,-1 + 80002bb8: 0020af33 slt t5,ra,sp + 80002bbc: 00000e93 li t4,0 + 80002bc0: 00b00193 li gp,11 + 80002bc4: 3ddf1663 bne t5,t4,80002f90 <fail> + +0000000080002bc8 <test_12>: + 80002bc8: 800000b7 lui ra,0x80000 + 80002bcc: 00008137 lui sp,0x8 + 80002bd0: fff1011b addiw sp,sp,-1 + 80002bd4: 0020af33 slt t5,ra,sp + 80002bd8: 00100e93 li t4,1 + 80002bdc: 00c00193 li gp,12 + 80002be0: 3bdf1863 bne t5,t4,80002f90 <fail> + +0000000080002be4 <test_13>: + 80002be4: 800000b7 lui ra,0x80000 + 80002be8: fff0809b addiw ra,ra,-1 + 80002bec: ffff8137 lui sp,0xffff8 + 80002bf0: 0020af33 slt t5,ra,sp + 80002bf4: 00000e93 li t4,0 + 80002bf8: 00d00193 li gp,13 + 80002bfc: 39df1a63 bne t5,t4,80002f90 <fail> + +0000000080002c00 <test_14>: + 80002c00: 00000093 li ra,0 + 80002c04: fff00113 li sp,-1 + 80002c08: 0020af33 slt t5,ra,sp + 80002c0c: 00000e93 li t4,0 + 80002c10: 00e00193 li gp,14 + 80002c14: 37df1e63 bne t5,t4,80002f90 <fail> + +0000000080002c18 <test_15>: + 80002c18: fff00093 li ra,-1 + 80002c1c: 00100113 li sp,1 + 80002c20: 0020af33 slt t5,ra,sp + 80002c24: 00100e93 li t4,1 + 80002c28: 00f00193 li gp,15 + 80002c2c: 37df1263 bne t5,t4,80002f90 <fail> + +0000000080002c30 <test_16>: + 80002c30: fff00093 li ra,-1 + 80002c34: fff00113 li sp,-1 + 80002c38: 0020af33 slt t5,ra,sp + 80002c3c: 00000e93 li t4,0 + 80002c40: 01000193 li gp,16 + 80002c44: 35df1663 bne t5,t4,80002f90 <fail> + +0000000080002c48 <test_17>: + 80002c48: 00e00093 li ra,14 + 80002c4c: 00d00113 li sp,13 + 80002c50: 0020a0b3 slt ra,ra,sp + 80002c54: 00000e93 li t4,0 + 80002c58: 01100193 li gp,17 + 80002c5c: 33d09a63 bne ra,t4,80002f90 <fail> + +0000000080002c60 <test_18>: + 80002c60: 00b00093 li ra,11 + 80002c64: 00d00113 li sp,13 + 80002c68: 0020a133 slt sp,ra,sp + 80002c6c: 00100e93 li t4,1 + 80002c70: 01200193 li gp,18 + 80002c74: 31d11e63 bne sp,t4,80002f90 <fail> + +0000000080002c78 <test_19>: + 80002c78: 00d00093 li ra,13 + 80002c7c: 0010a0b3 slt ra,ra,ra + 80002c80: 00000e93 li t4,0 + 80002c84: 01300193 li gp,19 + 80002c88: 31d09463 bne ra,t4,80002f90 <fail> + +0000000080002c8c <test_20>: + 80002c8c: 00000213 li tp,0 + 80002c90: 00b00093 li ra,11 + 80002c94: 00d00113 li sp,13 + 80002c98: 0020af33 slt t5,ra,sp + 80002c9c: 000f0313 mv t1,t5 + 80002ca0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca4: 00200293 li t0,2 + 80002ca8: fe5214e3 bne tp,t0,80002c90 <test_20+0x4> + 80002cac: 00100e93 li t4,1 + 80002cb0: 01400193 li gp,20 + 80002cb4: 2dd31e63 bne t1,t4,80002f90 <fail> + +0000000080002cb8 <test_21>: + 80002cb8: 00000213 li tp,0 + 80002cbc: 00e00093 li ra,14 + 80002cc0: 00d00113 li sp,13 + 80002cc4: 0020af33 slt t5,ra,sp + 80002cc8: 00000013 nop + 80002ccc: 000f0313 mv t1,t5 + 80002cd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd4: 00200293 li t0,2 + 80002cd8: fe5212e3 bne tp,t0,80002cbc <test_21+0x4> + 80002cdc: 00000e93 li t4,0 + 80002ce0: 01500193 li gp,21 + 80002ce4: 2bd31663 bne t1,t4,80002f90 <fail> + +0000000080002ce8 <test_22>: + 80002ce8: 00000213 li tp,0 + 80002cec: 00c00093 li ra,12 + 80002cf0: 00d00113 li sp,13 + 80002cf4: 0020af33 slt t5,ra,sp + 80002cf8: 00000013 nop + 80002cfc: 00000013 nop + 80002d00: 000f0313 mv t1,t5 + 80002d04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d08: 00200293 li t0,2 + 80002d0c: fe5210e3 bne tp,t0,80002cec <test_22+0x4> + 80002d10: 00100e93 li t4,1 + 80002d14: 01600193 li gp,22 + 80002d18: 27d31c63 bne t1,t4,80002f90 <fail> + +0000000080002d1c <test_23>: + 80002d1c: 00000213 li tp,0 + 80002d20: 00e00093 li ra,14 + 80002d24: 00d00113 li sp,13 + 80002d28: 0020af33 slt t5,ra,sp + 80002d2c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d30: 00200293 li t0,2 + 80002d34: fe5216e3 bne tp,t0,80002d20 <test_23+0x4> + 80002d38: 00000e93 li t4,0 + 80002d3c: 01700193 li gp,23 + 80002d40: 25df1863 bne t5,t4,80002f90 <fail> + +0000000080002d44 <test_24>: + 80002d44: 00000213 li tp,0 + 80002d48: 00b00093 li ra,11 + 80002d4c: 00d00113 li sp,13 + 80002d50: 00000013 nop + 80002d54: 0020af33 slt t5,ra,sp + 80002d58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d5c: 00200293 li t0,2 + 80002d60: fe5214e3 bne tp,t0,80002d48 <test_24+0x4> + 80002d64: 00100e93 li t4,1 + 80002d68: 01800193 li gp,24 + 80002d6c: 23df1263 bne t5,t4,80002f90 <fail> + +0000000080002d70 <test_25>: + 80002d70: 00000213 li tp,0 + 80002d74: 00f00093 li ra,15 + 80002d78: 00d00113 li sp,13 + 80002d7c: 00000013 nop + 80002d80: 00000013 nop + 80002d84: 0020af33 slt t5,ra,sp + 80002d88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d8c: 00200293 li t0,2 + 80002d90: fe5212e3 bne tp,t0,80002d74 <test_25+0x4> + 80002d94: 00000e93 li t4,0 + 80002d98: 01900193 li gp,25 + 80002d9c: 1fdf1a63 bne t5,t4,80002f90 <fail> + +0000000080002da0 <test_26>: + 80002da0: 00000213 li tp,0 + 80002da4: 00a00093 li ra,10 + 80002da8: 00000013 nop + 80002dac: 00d00113 li sp,13 + 80002db0: 0020af33 slt t5,ra,sp + 80002db4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db8: 00200293 li t0,2 + 80002dbc: fe5214e3 bne tp,t0,80002da4 <test_26+0x4> + 80002dc0: 00100e93 li t4,1 + 80002dc4: 01a00193 li gp,26 + 80002dc8: 1ddf1463 bne t5,t4,80002f90 <fail> + +0000000080002dcc <test_27>: + 80002dcc: 00000213 li tp,0 + 80002dd0: 01000093 li ra,16 + 80002dd4: 00000013 nop + 80002dd8: 00d00113 li sp,13 + 80002ddc: 00000013 nop + 80002de0: 0020af33 slt t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fe5212e3 bne tp,t0,80002dd0 <test_27+0x4> + 80002df0: 00000e93 li t4,0 + 80002df4: 01b00193 li gp,27 + 80002df8: 19df1c63 bne t5,t4,80002f90 <fail> + +0000000080002dfc <test_28>: + 80002dfc: 00000213 li tp,0 + 80002e00: 00900093 li ra,9 + 80002e04: 00000013 nop + 80002e08: 00000013 nop + 80002e0c: 00d00113 li sp,13 + 80002e10: 0020af33 slt t5,ra,sp + 80002e14: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e18: 00200293 li t0,2 + 80002e1c: fe5212e3 bne tp,t0,80002e00 <test_28+0x4> + 80002e20: 00100e93 li t4,1 + 80002e24: 01c00193 li gp,28 + 80002e28: 17df1463 bne t5,t4,80002f90 <fail> + +0000000080002e2c <test_29>: + 80002e2c: 00000213 li tp,0 + 80002e30: 00d00113 li sp,13 + 80002e34: 01100093 li ra,17 + 80002e38: 0020af33 slt t5,ra,sp + 80002e3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e40: 00200293 li t0,2 + 80002e44: fe5216e3 bne tp,t0,80002e30 <test_29+0x4> + 80002e48: 00000e93 li t4,0 + 80002e4c: 01d00193 li gp,29 + 80002e50: 15df1063 bne t5,t4,80002f90 <fail> + +0000000080002e54 <test_30>: + 80002e54: 00000213 li tp,0 + 80002e58: 00d00113 li sp,13 + 80002e5c: 00800093 li ra,8 + 80002e60: 00000013 nop + 80002e64: 0020af33 slt t5,ra,sp + 80002e68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e6c: 00200293 li t0,2 + 80002e70: fe5214e3 bne tp,t0,80002e58 <test_30+0x4> + 80002e74: 00100e93 li t4,1 + 80002e78: 01e00193 li gp,30 + 80002e7c: 11df1a63 bne t5,t4,80002f90 <fail> + +0000000080002e80 <test_31>: + 80002e80: 00000213 li tp,0 + 80002e84: 00d00113 li sp,13 + 80002e88: 01200093 li ra,18 + 80002e8c: 00000013 nop + 80002e90: 00000013 nop + 80002e94: 0020af33 slt t5,ra,sp + 80002e98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e9c: 00200293 li t0,2 + 80002ea0: fe5212e3 bne tp,t0,80002e84 <test_31+0x4> + 80002ea4: 00000e93 li t4,0 + 80002ea8: 01f00193 li gp,31 + 80002eac: 0fdf1263 bne t5,t4,80002f90 <fail> + +0000000080002eb0 <test_32>: + 80002eb0: 00000213 li tp,0 + 80002eb4: 00d00113 li sp,13 + 80002eb8: 00000013 nop + 80002ebc: 00700093 li ra,7 + 80002ec0: 0020af33 slt t5,ra,sp + 80002ec4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec8: 00200293 li t0,2 + 80002ecc: fe5214e3 bne tp,t0,80002eb4 <test_32+0x4> + 80002ed0: 00100e93 li t4,1 + 80002ed4: 02000193 li gp,32 + 80002ed8: 0bdf1c63 bne t5,t4,80002f90 <fail> + +0000000080002edc <test_33>: + 80002edc: 00000213 li tp,0 + 80002ee0: 00d00113 li sp,13 + 80002ee4: 00000013 nop + 80002ee8: 01300093 li ra,19 + 80002eec: 00000013 nop + 80002ef0: 0020af33 slt t5,ra,sp + 80002ef4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ef8: 00200293 li t0,2 + 80002efc: fe5212e3 bne tp,t0,80002ee0 <test_33+0x4> + 80002f00: 00000e93 li t4,0 + 80002f04: 02100193 li gp,33 + 80002f08: 09df1463 bne t5,t4,80002f90 <fail> + +0000000080002f0c <test_34>: + 80002f0c: 00000213 li tp,0 + 80002f10: 00d00113 li sp,13 + 80002f14: 00000013 nop + 80002f18: 00000013 nop + 80002f1c: 00600093 li ra,6 + 80002f20: 0020af33 slt t5,ra,sp + 80002f24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f28: 00200293 li t0,2 + 80002f2c: fe5212e3 bne tp,t0,80002f10 <test_34+0x4> + 80002f30: 00100e93 li t4,1 + 80002f34: 02200193 li gp,34 + 80002f38: 05df1c63 bne t5,t4,80002f90 <fail> + +0000000080002f3c <test_35>: + 80002f3c: fff00093 li ra,-1 + 80002f40: 00102133 sgtz sp,ra + 80002f44: 00000e93 li t4,0 + 80002f48: 02300193 li gp,35 + 80002f4c: 05d11263 bne sp,t4,80002f90 <fail> + +0000000080002f50 <test_36>: + 80002f50: fff00093 li ra,-1 + 80002f54: 0000a133 sltz sp,ra + 80002f58: 00100e93 li t4,1 + 80002f5c: 02400193 li gp,36 + 80002f60: 03d11863 bne sp,t4,80002f90 <fail> + +0000000080002f64 <test_37>: + 80002f64: 000020b3 sltz ra,zero + 80002f68: 00000e93 li t4,0 + 80002f6c: 02500193 li gp,37 + 80002f70: 03d09063 bne ra,t4,80002f90 <fail> + +0000000080002f74 <test_38>: + 80002f74: 01000093 li ra,16 + 80002f78: 01e00113 li sp,30 + 80002f7c: 0020a033 slt zero,ra,sp + 80002f80: 00000e93 li t4,0 + 80002f84: 02600193 li gp,38 + 80002f88: 01d01463 bne zero,t4,80002f90 <fail> + 80002f8c: 00301a63 bne zero,gp,80002fa0 <pass> + +0000000080002f90 <fail>: + 80002f90: 00119513 slli a0,gp,0x1 + 80002f94: 00050063 beqz a0,80002f94 <fail+0x4> + 80002f98: 00156513 ori a0,a0,1 + 80002f9c: 00000073 ecall + +0000000080002fa0 <pass>: + 80002fa0: 00100513 li a0,1 + 80002fa4: 00000073 ecall + 80002fa8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-slt.elf b/test/riscv/tests/rv64ui-v-slt.elf Binary files differnew file mode 100644 index 00000000..318b70db --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slt.elf diff --git a/test/riscv/tests/rv64ui-v-slti.dump b/test/riscv/tests/rv64ui-v-slti.dump new file mode 100644 index 00000000..56b39654 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slti.dump @@ -0,0 +1,1043 @@ + +rv64ui-v-slti: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 90068693 addi a3,a3,-1792 # 80002d58 <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: 93460613 addi a2,a2,-1740 # 80002de8 <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: 00001617 auipc a2,0x1 + 80002508: 8fc60613 addi a2,a2,-1796 # 80002e00 <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: 00001697 auipc a3,0x1 + 80002558: 84c68693 addi a3,a3,-1972 # 80002da0 <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: 00001697 auipc a3,0x1 + 80002674: 86868693 addi a3,a3,-1944 # 80002ed8 <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: 7e860613 addi a2,a2,2024 # 80002eb0 <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: 71c68693 addi a3,a3,1820 # 80002f08 <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: 63c68693 addi a3,a3,1596 # 80002e78 <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: 5cc68693 addi a3,a3,1484 # 80002e40 <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: 00800793 li a5,8 + 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: 01e147b7 lui a5,0x1e14 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 4e578793 addi a5,a5,1253 # 1e144e5 <_start-0x7e1ebb1b> + 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: 00000093 li ra,0 + 80002acc: 0000af13 slti t5,ra,0 + 80002ad0: 00000e93 li t4,0 + 80002ad4: 00200193 li gp,2 + 80002ad8: 27df1263 bne t5,t4,80002d3c <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 0010af13 slti t5,ra,1 + 80002ae4: 00000e93 li t4,0 + 80002ae8: 00300193 li gp,3 + 80002aec: 25df1863 bne t5,t4,80002d3c <fail> + +0000000080002af0 <test_4>: + 80002af0: 00300093 li ra,3 + 80002af4: 0070af13 slti t5,ra,7 + 80002af8: 00100e93 li t4,1 + 80002afc: 00400193 li gp,4 + 80002b00: 23df1e63 bne t5,t4,80002d3c <fail> + +0000000080002b04 <test_5>: + 80002b04: 00700093 li ra,7 + 80002b08: 0030af13 slti t5,ra,3 + 80002b0c: 00000e93 li t4,0 + 80002b10: 00500193 li gp,5 + 80002b14: 23df1463 bne t5,t4,80002d3c <fail> + +0000000080002b18 <test_6>: + 80002b18: 00000093 li ra,0 + 80002b1c: 8000af13 slti t5,ra,-2048 + 80002b20: 00000e93 li t4,0 + 80002b24: 00600193 li gp,6 + 80002b28: 21df1a63 bne t5,t4,80002d3c <fail> + +0000000080002b2c <test_7>: + 80002b2c: 800000b7 lui ra,0x80000 + 80002b30: 0000af13 slti t5,ra,0 + 80002b34: 00100e93 li t4,1 + 80002b38: 00700193 li gp,7 + 80002b3c: 21df1063 bne t5,t4,80002d3c <fail> + +0000000080002b40 <test_8>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: 8000af13 slti t5,ra,-2048 + 80002b48: 00100e93 li t4,1 + 80002b4c: 00800193 li gp,8 + 80002b50: 1fdf1663 bne t5,t4,80002d3c <fail> + +0000000080002b54 <test_9>: + 80002b54: 00000093 li ra,0 + 80002b58: 7ff0af13 slti t5,ra,2047 + 80002b5c: 00100e93 li t4,1 + 80002b60: 00900193 li gp,9 + 80002b64: 1ddf1c63 bne t5,t4,80002d3c <fail> + +0000000080002b68 <test_10>: + 80002b68: 800000b7 lui ra,0x80000 + 80002b6c: fff0809b addiw ra,ra,-1 + 80002b70: 0000af13 slti t5,ra,0 + 80002b74: 00000e93 li t4,0 + 80002b78: 00a00193 li gp,10 + 80002b7c: 1ddf1063 bne t5,t4,80002d3c <fail> + +0000000080002b80 <test_11>: + 80002b80: 800000b7 lui ra,0x80000 + 80002b84: fff0809b addiw ra,ra,-1 + 80002b88: 7ff0af13 slti t5,ra,2047 + 80002b8c: 00000e93 li t4,0 + 80002b90: 00b00193 li gp,11 + 80002b94: 1bdf1463 bne t5,t4,80002d3c <fail> + +0000000080002b98 <test_12>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: 7ff0af13 slti t5,ra,2047 + 80002ba0: 00100e93 li t4,1 + 80002ba4: 00c00193 li gp,12 + 80002ba8: 19df1a63 bne t5,t4,80002d3c <fail> + +0000000080002bac <test_13>: + 80002bac: 800000b7 lui ra,0x80000 + 80002bb0: fff0809b addiw ra,ra,-1 + 80002bb4: 8000af13 slti t5,ra,-2048 + 80002bb8: 00000e93 li t4,0 + 80002bbc: 00d00193 li gp,13 + 80002bc0: 17df1e63 bne t5,t4,80002d3c <fail> + +0000000080002bc4 <test_14>: + 80002bc4: 00000093 li ra,0 + 80002bc8: fff0af13 slti t5,ra,-1 + 80002bcc: 00000e93 li t4,0 + 80002bd0: 00e00193 li gp,14 + 80002bd4: 17df1463 bne t5,t4,80002d3c <fail> + +0000000080002bd8 <test_15>: + 80002bd8: fff00093 li ra,-1 + 80002bdc: 0010af13 slti t5,ra,1 + 80002be0: 00100e93 li t4,1 + 80002be4: 00f00193 li gp,15 + 80002be8: 15df1a63 bne t5,t4,80002d3c <fail> + +0000000080002bec <test_16>: + 80002bec: fff00093 li ra,-1 + 80002bf0: fff0af13 slti t5,ra,-1 + 80002bf4: 00000e93 li t4,0 + 80002bf8: 01000193 li gp,16 + 80002bfc: 15df1063 bne t5,t4,80002d3c <fail> + +0000000080002c00 <test_17>: + 80002c00: 00b00093 li ra,11 + 80002c04: 00d0a093 slti ra,ra,13 + 80002c08: 00100e93 li t4,1 + 80002c0c: 01100193 li gp,17 + 80002c10: 13d09663 bne ra,t4,80002d3c <fail> + +0000000080002c14 <test_18>: + 80002c14: 00000213 li tp,0 + 80002c18: 00f00093 li ra,15 + 80002c1c: 00a0af13 slti t5,ra,10 + 80002c20: 000f0313 mv t1,t5 + 80002c24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c28: 00200293 li t0,2 + 80002c2c: fe5216e3 bne tp,t0,80002c18 <test_18+0x4> + 80002c30: 00000e93 li t4,0 + 80002c34: 01200193 li gp,18 + 80002c38: 11d31263 bne t1,t4,80002d3c <fail> + +0000000080002c3c <test_19>: + 80002c3c: 00000213 li tp,0 + 80002c40: 00a00093 li ra,10 + 80002c44: 0100af13 slti t5,ra,16 + 80002c48: 00000013 nop + 80002c4c: 000f0313 mv t1,t5 + 80002c50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c54: 00200293 li t0,2 + 80002c58: fe5214e3 bne tp,t0,80002c40 <test_19+0x4> + 80002c5c: 00100e93 li t4,1 + 80002c60: 01300193 li gp,19 + 80002c64: 0dd31c63 bne t1,t4,80002d3c <fail> + +0000000080002c68 <test_20>: + 80002c68: 00000213 li tp,0 + 80002c6c: 01000093 li ra,16 + 80002c70: 0090af13 slti t5,ra,9 + 80002c74: 00000013 nop + 80002c78: 00000013 nop + 80002c7c: 000f0313 mv t1,t5 + 80002c80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c84: 00200293 li t0,2 + 80002c88: fe5212e3 bne tp,t0,80002c6c <test_20+0x4> + 80002c8c: 00000e93 li t4,0 + 80002c90: 01400193 li gp,20 + 80002c94: 0bd31463 bne t1,t4,80002d3c <fail> + +0000000080002c98 <test_21>: + 80002c98: 00000213 li tp,0 + 80002c9c: 00b00093 li ra,11 + 80002ca0: 00f0af13 slti t5,ra,15 + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5218e3 bne tp,t0,80002c9c <test_21+0x4> + 80002cb0: 00100e93 li t4,1 + 80002cb4: 01500193 li gp,21 + 80002cb8: 09df1263 bne t5,t4,80002d3c <fail> + +0000000080002cbc <test_22>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 01100093 li ra,17 + 80002cc4: 00000013 nop + 80002cc8: 0080af13 slti t5,ra,8 + 80002ccc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd0: 00200293 li t0,2 + 80002cd4: fe5216e3 bne tp,t0,80002cc0 <test_22+0x4> + 80002cd8: 00000e93 li t4,0 + 80002cdc: 01600193 li gp,22 + 80002ce0: 05df1e63 bne t5,t4,80002d3c <fail> + +0000000080002ce4 <test_23>: + 80002ce4: 00000213 li tp,0 + 80002ce8: 00c00093 li ra,12 + 80002cec: 00000013 nop + 80002cf0: 00000013 nop + 80002cf4: 00e0af13 slti t5,ra,14 + 80002cf8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cfc: 00200293 li t0,2 + 80002d00: fe5214e3 bne tp,t0,80002ce8 <test_23+0x4> + 80002d04: 00100e93 li t4,1 + 80002d08: 01700193 li gp,23 + 80002d0c: 03df1863 bne t5,t4,80002d3c <fail> + +0000000080002d10 <test_24>: + 80002d10: fff02093 slti ra,zero,-1 + 80002d14: 00000e93 li t4,0 + 80002d18: 01800193 li gp,24 + 80002d1c: 03d09063 bne ra,t4,80002d3c <fail> + +0000000080002d20 <test_25>: + 80002d20: 00ff00b7 lui ra,0xff0 + 80002d24: 0ff0809b addiw ra,ra,255 + 80002d28: fff0a013 slti zero,ra,-1 + 80002d2c: 00000e93 li t4,0 + 80002d30: 01900193 li gp,25 + 80002d34: 01d01463 bne zero,t4,80002d3c <fail> + 80002d38: 00301a63 bne zero,gp,80002d4c <pass> + +0000000080002d3c <fail>: + 80002d3c: 00119513 slli a0,gp,0x1 + 80002d40: 00050063 beqz a0,80002d40 <fail+0x4> + 80002d44: 00156513 ori a0,a0,1 + 80002d48: 00000073 ecall + +0000000080002d4c <pass>: + 80002d4c: 00100513 li a0,1 + 80002d50: 00000073 ecall + 80002d54: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-slti.elf b/test/riscv/tests/rv64ui-v-slti.elf Binary files differnew file mode 100644 index 00000000..477b7049 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-slti.elf diff --git a/test/riscv/tests/rv64ui-v-sltiu.dump b/test/riscv/tests/rv64ui-v-sltiu.dump new file mode 100644 index 00000000..98f8b1a5 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sltiu.dump @@ -0,0 +1,1043 @@ + +rv64ui-v-sltiu: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 90068693 addi a3,a3,-1792 # 80002d58 <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: 93460613 addi a2,a2,-1740 # 80002de8 <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: 00001617 auipc a2,0x1 + 80002508: 8fc60613 addi a2,a2,-1796 # 80002e00 <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: 00001697 auipc a3,0x1 + 80002558: 84c68693 addi a3,a3,-1972 # 80002da0 <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: 00001697 auipc a3,0x1 + 80002674: 86868693 addi a3,a3,-1944 # 80002ed8 <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: 7e860613 addi a2,a2,2024 # 80002eb0 <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: 71c68693 addi a3,a3,1820 # 80002f08 <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: 63c68693 addi a3,a3,1596 # 80002e78 <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: 5cc68693 addi a3,a3,1484 # 80002e40 <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: 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: 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: 04ec47b7 lui a5,0x4ec4 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b3078793 addi a5,a5,-1232 # 4ec3b30 <_start-0x7b13c4d0> + 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: 00000093 li ra,0 + 80002acc: 0000bf13 sltiu t5,ra,0 + 80002ad0: 00000e93 li t4,0 + 80002ad4: 00200193 li gp,2 + 80002ad8: 27df1263 bne t5,t4,80002d3c <fail> + +0000000080002adc <test_3>: + 80002adc: 00100093 li ra,1 + 80002ae0: 0010bf13 seqz t5,ra + 80002ae4: 00000e93 li t4,0 + 80002ae8: 00300193 li gp,3 + 80002aec: 25df1863 bne t5,t4,80002d3c <fail> + +0000000080002af0 <test_4>: + 80002af0: 00300093 li ra,3 + 80002af4: 0070bf13 sltiu t5,ra,7 + 80002af8: 00100e93 li t4,1 + 80002afc: 00400193 li gp,4 + 80002b00: 23df1e63 bne t5,t4,80002d3c <fail> + +0000000080002b04 <test_5>: + 80002b04: 00700093 li ra,7 + 80002b08: 0030bf13 sltiu t5,ra,3 + 80002b0c: 00000e93 li t4,0 + 80002b10: 00500193 li gp,5 + 80002b14: 23df1463 bne t5,t4,80002d3c <fail> + +0000000080002b18 <test_6>: + 80002b18: 00000093 li ra,0 + 80002b1c: 8000bf13 sltiu t5,ra,-2048 + 80002b20: 00100e93 li t4,1 + 80002b24: 00600193 li gp,6 + 80002b28: 21df1a63 bne t5,t4,80002d3c <fail> + +0000000080002b2c <test_7>: + 80002b2c: 800000b7 lui ra,0x80000 + 80002b30: 0000bf13 sltiu t5,ra,0 + 80002b34: 00000e93 li t4,0 + 80002b38: 00700193 li gp,7 + 80002b3c: 21df1063 bne t5,t4,80002d3c <fail> + +0000000080002b40 <test_8>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: 8000bf13 sltiu t5,ra,-2048 + 80002b48: 00100e93 li t4,1 + 80002b4c: 00800193 li gp,8 + 80002b50: 1fdf1663 bne t5,t4,80002d3c <fail> + +0000000080002b54 <test_9>: + 80002b54: 00000093 li ra,0 + 80002b58: 7ff0bf13 sltiu t5,ra,2047 + 80002b5c: 00100e93 li t4,1 + 80002b60: 00900193 li gp,9 + 80002b64: 1ddf1c63 bne t5,t4,80002d3c <fail> + +0000000080002b68 <test_10>: + 80002b68: 800000b7 lui ra,0x80000 + 80002b6c: fff0809b addiw ra,ra,-1 + 80002b70: 0000bf13 sltiu t5,ra,0 + 80002b74: 00000e93 li t4,0 + 80002b78: 00a00193 li gp,10 + 80002b7c: 1ddf1063 bne t5,t4,80002d3c <fail> + +0000000080002b80 <test_11>: + 80002b80: 800000b7 lui ra,0x80000 + 80002b84: fff0809b addiw ra,ra,-1 + 80002b88: 7ff0bf13 sltiu t5,ra,2047 + 80002b8c: 00000e93 li t4,0 + 80002b90: 00b00193 li gp,11 + 80002b94: 1bdf1463 bne t5,t4,80002d3c <fail> + +0000000080002b98 <test_12>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: 7ff0bf13 sltiu t5,ra,2047 + 80002ba0: 00000e93 li t4,0 + 80002ba4: 00c00193 li gp,12 + 80002ba8: 19df1a63 bne t5,t4,80002d3c <fail> + +0000000080002bac <test_13>: + 80002bac: 800000b7 lui ra,0x80000 + 80002bb0: fff0809b addiw ra,ra,-1 + 80002bb4: 8000bf13 sltiu t5,ra,-2048 + 80002bb8: 00100e93 li t4,1 + 80002bbc: 00d00193 li gp,13 + 80002bc0: 17df1e63 bne t5,t4,80002d3c <fail> + +0000000080002bc4 <test_14>: + 80002bc4: 00000093 li ra,0 + 80002bc8: fff0bf13 sltiu t5,ra,-1 + 80002bcc: 00100e93 li t4,1 + 80002bd0: 00e00193 li gp,14 + 80002bd4: 17df1463 bne t5,t4,80002d3c <fail> + +0000000080002bd8 <test_15>: + 80002bd8: fff00093 li ra,-1 + 80002bdc: 0010bf13 seqz t5,ra + 80002be0: 00000e93 li t4,0 + 80002be4: 00f00193 li gp,15 + 80002be8: 15df1a63 bne t5,t4,80002d3c <fail> + +0000000080002bec <test_16>: + 80002bec: fff00093 li ra,-1 + 80002bf0: fff0bf13 sltiu t5,ra,-1 + 80002bf4: 00000e93 li t4,0 + 80002bf8: 01000193 li gp,16 + 80002bfc: 15df1063 bne t5,t4,80002d3c <fail> + +0000000080002c00 <test_17>: + 80002c00: 00b00093 li ra,11 + 80002c04: 00d0b093 sltiu ra,ra,13 + 80002c08: 00100e93 li t4,1 + 80002c0c: 01100193 li gp,17 + 80002c10: 13d09663 bne ra,t4,80002d3c <fail> + +0000000080002c14 <test_18>: + 80002c14: 00000213 li tp,0 + 80002c18: 00f00093 li ra,15 + 80002c1c: 00a0bf13 sltiu t5,ra,10 + 80002c20: 000f0313 mv t1,t5 + 80002c24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c28: 00200293 li t0,2 + 80002c2c: fe5216e3 bne tp,t0,80002c18 <test_18+0x4> + 80002c30: 00000e93 li t4,0 + 80002c34: 01200193 li gp,18 + 80002c38: 11d31263 bne t1,t4,80002d3c <fail> + +0000000080002c3c <test_19>: + 80002c3c: 00000213 li tp,0 + 80002c40: 00a00093 li ra,10 + 80002c44: 0100bf13 sltiu t5,ra,16 + 80002c48: 00000013 nop + 80002c4c: 000f0313 mv t1,t5 + 80002c50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c54: 00200293 li t0,2 + 80002c58: fe5214e3 bne tp,t0,80002c40 <test_19+0x4> + 80002c5c: 00100e93 li t4,1 + 80002c60: 01300193 li gp,19 + 80002c64: 0dd31c63 bne t1,t4,80002d3c <fail> + +0000000080002c68 <test_20>: + 80002c68: 00000213 li tp,0 + 80002c6c: 01000093 li ra,16 + 80002c70: 0090bf13 sltiu t5,ra,9 + 80002c74: 00000013 nop + 80002c78: 00000013 nop + 80002c7c: 000f0313 mv t1,t5 + 80002c80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c84: 00200293 li t0,2 + 80002c88: fe5212e3 bne tp,t0,80002c6c <test_20+0x4> + 80002c8c: 00000e93 li t4,0 + 80002c90: 01400193 li gp,20 + 80002c94: 0bd31463 bne t1,t4,80002d3c <fail> + +0000000080002c98 <test_21>: + 80002c98: 00000213 li tp,0 + 80002c9c: 00b00093 li ra,11 + 80002ca0: 00f0bf13 sltiu t5,ra,15 + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5218e3 bne tp,t0,80002c9c <test_21+0x4> + 80002cb0: 00100e93 li t4,1 + 80002cb4: 01500193 li gp,21 + 80002cb8: 09df1263 bne t5,t4,80002d3c <fail> + +0000000080002cbc <test_22>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 01100093 li ra,17 + 80002cc4: 00000013 nop + 80002cc8: 0080bf13 sltiu t5,ra,8 + 80002ccc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd0: 00200293 li t0,2 + 80002cd4: fe5216e3 bne tp,t0,80002cc0 <test_22+0x4> + 80002cd8: 00000e93 li t4,0 + 80002cdc: 01600193 li gp,22 + 80002ce0: 05df1e63 bne t5,t4,80002d3c <fail> + +0000000080002ce4 <test_23>: + 80002ce4: 00000213 li tp,0 + 80002ce8: 00c00093 li ra,12 + 80002cec: 00000013 nop + 80002cf0: 00000013 nop + 80002cf4: 00e0bf13 sltiu t5,ra,14 + 80002cf8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cfc: 00200293 li t0,2 + 80002d00: fe5214e3 bne tp,t0,80002ce8 <test_23+0x4> + 80002d04: 00100e93 li t4,1 + 80002d08: 01700193 li gp,23 + 80002d0c: 03df1863 bne t5,t4,80002d3c <fail> + +0000000080002d10 <test_24>: + 80002d10: fff03093 sltiu ra,zero,-1 + 80002d14: 00100e93 li t4,1 + 80002d18: 01800193 li gp,24 + 80002d1c: 03d09063 bne ra,t4,80002d3c <fail> + +0000000080002d20 <test_25>: + 80002d20: 00ff00b7 lui ra,0xff0 + 80002d24: 0ff0809b addiw ra,ra,255 + 80002d28: fff0b013 sltiu zero,ra,-1 + 80002d2c: 00000e93 li t4,0 + 80002d30: 01900193 li gp,25 + 80002d34: 01d01463 bne zero,t4,80002d3c <fail> + 80002d38: 00301a63 bne zero,gp,80002d4c <pass> + +0000000080002d3c <fail>: + 80002d3c: 00119513 slli a0,gp,0x1 + 80002d40: 00050063 beqz a0,80002d40 <fail+0x4> + 80002d44: 00156513 ori a0,a0,1 + 80002d48: 00000073 ecall + +0000000080002d4c <pass>: + 80002d4c: 00100513 li a0,1 + 80002d50: 00000073 ecall + 80002d54: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sltiu.elf b/test/riscv/tests/rv64ui-v-sltiu.elf Binary files differnew file mode 100644 index 00000000..197c5002 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sltiu.elf diff --git a/test/riscv/tests/rv64ui-v-sltu.dump b/test/riscv/tests/rv64ui-v-sltu.dump new file mode 100644 index 00000000..281d657f --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sltu.dump @@ -0,0 +1,1235 @@ + +rv64ui-v-sltu: 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,sbadaddr + 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 <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: 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: b9868693 addi a3,a3,-1128 # 80002ff0 <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: bcc60613 addi a2,a2,-1076 # 80003080 <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: 00001617 auipc a2,0x1 + 80002508: b9460613 addi a2,a2,-1132 # 80003098 <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: 00001697 auipc a3,0x1 + 80002558: ae468693 addi a3,a3,-1308 # 80003038 <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: 00001697 auipc a3,0x1 + 80002674: b0068693 addi a3,a3,-1280 # 80003170 <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: 00001617 auipc a2,0x1 + 800026cc: a8060613 addi a2,a2,-1408 # 80003148 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 9b468693 addi a3,a3,-1612 # 800031a0 <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: 00001697 auipc a3,0x1 + 80002840: 8d468693 addi a3,a3,-1836 # 80003110 <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: 00001697 auipc a3,0x1 + 80002878: 86468693 addi a3,a3,-1948 # 800030d8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 00c00793 li a5,12 + 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: 069e57b7 lui a5,0x69e5 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 8d578793 addi a5,a5,-1835 # 69e48d5 <_start-0x7961b72b> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 0020bf33 sltu t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4fdf1c63 bne t5,t4,80002fd4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0020bf33 sltu t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 4fdf1063 bne t5,t4,80002fd4 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 0020bf33 sltu t5,ra,sp + 80002b04: 00100e93 li t4,1 + 80002b08: 00400193 li gp,4 + 80002b0c: 4ddf1463 bne t5,t4,80002fd4 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00700093 li ra,7 + 80002b14: 00300113 li sp,3 + 80002b18: 0020bf33 sltu t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 4bdf1863 bne t5,t4,80002fd4 <fail> + +0000000080002b28 <test_6>: + 80002b28: 00000093 li ra,0 + 80002b2c: 00020137 lui sp,0x20 + 80002b30: fff1011b addiw sp,sp,-1 + 80002b34: 00f11113 slli sp,sp,0xf + 80002b38: 0020bf33 sltu t5,ra,sp + 80002b3c: 00100e93 li t4,1 + 80002b40: 00600193 li gp,6 + 80002b44: 49df1863 bne t5,t4,80002fd4 <fail> + +0000000080002b48 <test_7>: + 80002b48: 0010009b addiw ra,zero,1 + 80002b4c: 01f09093 slli ra,ra,0x1f + 80002b50: 00000113 li sp,0 + 80002b54: 0020bf33 sltu t5,ra,sp + 80002b58: 00000e93 li t4,0 + 80002b5c: 00700193 li gp,7 + 80002b60: 47df1a63 bne t5,t4,80002fd4 <fail> + +0000000080002b64 <test_8>: + 80002b64: 0010009b addiw ra,zero,1 + 80002b68: 01f09093 slli ra,ra,0x1f + 80002b6c: 00020137 lui sp,0x20 + 80002b70: fff1011b addiw sp,sp,-1 + 80002b74: 00f11113 slli sp,sp,0xf + 80002b78: 0020bf33 sltu t5,ra,sp + 80002b7c: 00100e93 li t4,1 + 80002b80: 00800193 li gp,8 + 80002b84: 45df1863 bne t5,t4,80002fd4 <fail> + +0000000080002b88 <test_9>: + 80002b88: 00000093 li ra,0 + 80002b8c: 00008137 lui sp,0x8 + 80002b90: fff1011b addiw sp,sp,-1 + 80002b94: 0020bf33 sltu t5,ra,sp + 80002b98: 00100e93 li t4,1 + 80002b9c: 00900193 li gp,9 + 80002ba0: 43df1a63 bne t5,t4,80002fd4 <fail> + +0000000080002ba4 <test_10>: + 80002ba4: 800000b7 lui ra,0x80000 + 80002ba8: fff0809b addiw ra,ra,-1 + 80002bac: 00000113 li sp,0 + 80002bb0: 0020bf33 sltu t5,ra,sp + 80002bb4: 00000e93 li t4,0 + 80002bb8: 00a00193 li gp,10 + 80002bbc: 41df1c63 bne t5,t4,80002fd4 <fail> + +0000000080002bc0 <test_11>: + 80002bc0: 800000b7 lui ra,0x80000 + 80002bc4: fff0809b addiw ra,ra,-1 + 80002bc8: 00008137 lui sp,0x8 + 80002bcc: fff1011b addiw sp,sp,-1 + 80002bd0: 0020bf33 sltu t5,ra,sp + 80002bd4: 00000e93 li t4,0 + 80002bd8: 00b00193 li gp,11 + 80002bdc: 3fdf1c63 bne t5,t4,80002fd4 <fail> + +0000000080002be0 <test_12>: + 80002be0: 0010009b addiw ra,zero,1 + 80002be4: 01f09093 slli ra,ra,0x1f + 80002be8: 00008137 lui sp,0x8 + 80002bec: fff1011b addiw sp,sp,-1 + 80002bf0: 0020bf33 sltu t5,ra,sp + 80002bf4: 00000e93 li t4,0 + 80002bf8: 00c00193 li gp,12 + 80002bfc: 3ddf1c63 bne t5,t4,80002fd4 <fail> + +0000000080002c00 <test_13>: + 80002c00: 800000b7 lui ra,0x80000 + 80002c04: fff0809b addiw ra,ra,-1 + 80002c08: 00020137 lui sp,0x20 + 80002c0c: fff1011b addiw sp,sp,-1 + 80002c10: 00f11113 slli sp,sp,0xf + 80002c14: 0020bf33 sltu t5,ra,sp + 80002c18: 00100e93 li t4,1 + 80002c1c: 00d00193 li gp,13 + 80002c20: 3bdf1a63 bne t5,t4,80002fd4 <fail> + +0000000080002c24 <test_14>: + 80002c24: 00000093 li ra,0 + 80002c28: 0010011b addiw sp,zero,1 + 80002c2c: 02011113 slli sp,sp,0x20 + 80002c30: fff10113 addi sp,sp,-1 # 1ffff <_start-0x7ffe0001> + 80002c34: 0020bf33 sltu t5,ra,sp + 80002c38: 00100e93 li t4,1 + 80002c3c: 00e00193 li gp,14 + 80002c40: 39df1a63 bne t5,t4,80002fd4 <fail> + +0000000080002c44 <test_15>: + 80002c44: 0010009b addiw ra,zero,1 + 80002c48: 02009093 slli ra,ra,0x20 + 80002c4c: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffff780f> + 80002c50: 00100113 li sp,1 + 80002c54: 0020bf33 sltu t5,ra,sp + 80002c58: 00000e93 li t4,0 + 80002c5c: 00f00193 li gp,15 + 80002c60: 37df1a63 bne t5,t4,80002fd4 <fail> + +0000000080002c64 <test_16>: + 80002c64: 0010009b addiw ra,zero,1 + 80002c68: 02009093 slli ra,ra,0x20 + 80002c6c: fff08093 addi ra,ra,-1 + 80002c70: 0010011b addiw sp,zero,1 + 80002c74: 02011113 slli sp,sp,0x20 + 80002c78: fff10113 addi sp,sp,-1 + 80002c7c: 0020bf33 sltu t5,ra,sp + 80002c80: 00000e93 li t4,0 + 80002c84: 01000193 li gp,16 + 80002c88: 35df1663 bne t5,t4,80002fd4 <fail> + +0000000080002c8c <test_17>: + 80002c8c: 00e00093 li ra,14 + 80002c90: 00d00113 li sp,13 + 80002c94: 0020b0b3 sltu ra,ra,sp + 80002c98: 00000e93 li t4,0 + 80002c9c: 01100193 li gp,17 + 80002ca0: 33d09a63 bne ra,t4,80002fd4 <fail> + +0000000080002ca4 <test_18>: + 80002ca4: 00b00093 li ra,11 + 80002ca8: 00d00113 li sp,13 + 80002cac: 0020b133 sltu sp,ra,sp + 80002cb0: 00100e93 li t4,1 + 80002cb4: 01200193 li gp,18 + 80002cb8: 31d11e63 bne sp,t4,80002fd4 <fail> + +0000000080002cbc <test_19>: + 80002cbc: 00d00093 li ra,13 + 80002cc0: 0010b0b3 sltu ra,ra,ra + 80002cc4: 00000e93 li t4,0 + 80002cc8: 01300193 li gp,19 + 80002ccc: 31d09463 bne ra,t4,80002fd4 <fail> + +0000000080002cd0 <test_20>: + 80002cd0: 00000213 li tp,0 + 80002cd4: 00b00093 li ra,11 + 80002cd8: 00d00113 li sp,13 + 80002cdc: 0020bf33 sltu t5,ra,sp + 80002ce0: 000f0313 mv t1,t5 + 80002ce4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce8: 00200293 li t0,2 + 80002cec: fe5214e3 bne tp,t0,80002cd4 <test_20+0x4> + 80002cf0: 00100e93 li t4,1 + 80002cf4: 01400193 li gp,20 + 80002cf8: 2dd31e63 bne t1,t4,80002fd4 <fail> + +0000000080002cfc <test_21>: + 80002cfc: 00000213 li tp,0 + 80002d00: 00e00093 li ra,14 + 80002d04: 00d00113 li sp,13 + 80002d08: 0020bf33 sltu t5,ra,sp + 80002d0c: 00000013 nop + 80002d10: 000f0313 mv t1,t5 + 80002d14: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d18: 00200293 li t0,2 + 80002d1c: fe5212e3 bne tp,t0,80002d00 <test_21+0x4> + 80002d20: 00000e93 li t4,0 + 80002d24: 01500193 li gp,21 + 80002d28: 2bd31663 bne t1,t4,80002fd4 <fail> + +0000000080002d2c <test_22>: + 80002d2c: 00000213 li tp,0 + 80002d30: 00c00093 li ra,12 + 80002d34: 00d00113 li sp,13 + 80002d38: 0020bf33 sltu t5,ra,sp + 80002d3c: 00000013 nop + 80002d40: 00000013 nop + 80002d44: 000f0313 mv t1,t5 + 80002d48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d4c: 00200293 li t0,2 + 80002d50: fe5210e3 bne tp,t0,80002d30 <test_22+0x4> + 80002d54: 00100e93 li t4,1 + 80002d58: 01600193 li gp,22 + 80002d5c: 27d31c63 bne t1,t4,80002fd4 <fail> + +0000000080002d60 <test_23>: + 80002d60: 00000213 li tp,0 + 80002d64: 00e00093 li ra,14 + 80002d68: 00d00113 li sp,13 + 80002d6c: 0020bf33 sltu t5,ra,sp + 80002d70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d74: 00200293 li t0,2 + 80002d78: fe5216e3 bne tp,t0,80002d64 <test_23+0x4> + 80002d7c: 00000e93 li t4,0 + 80002d80: 01700193 li gp,23 + 80002d84: 25df1863 bne t5,t4,80002fd4 <fail> + +0000000080002d88 <test_24>: + 80002d88: 00000213 li tp,0 + 80002d8c: 00b00093 li ra,11 + 80002d90: 00d00113 li sp,13 + 80002d94: 00000013 nop + 80002d98: 0020bf33 sltu t5,ra,sp + 80002d9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da0: 00200293 li t0,2 + 80002da4: fe5214e3 bne tp,t0,80002d8c <test_24+0x4> + 80002da8: 00100e93 li t4,1 + 80002dac: 01800193 li gp,24 + 80002db0: 23df1263 bne t5,t4,80002fd4 <fail> + +0000000080002db4 <test_25>: + 80002db4: 00000213 li tp,0 + 80002db8: 00f00093 li ra,15 + 80002dbc: 00d00113 li sp,13 + 80002dc0: 00000013 nop + 80002dc4: 00000013 nop + 80002dc8: 0020bf33 sltu t5,ra,sp + 80002dcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd0: 00200293 li t0,2 + 80002dd4: fe5212e3 bne tp,t0,80002db8 <test_25+0x4> + 80002dd8: 00000e93 li t4,0 + 80002ddc: 01900193 li gp,25 + 80002de0: 1fdf1a63 bne t5,t4,80002fd4 <fail> + +0000000080002de4 <test_26>: + 80002de4: 00000213 li tp,0 + 80002de8: 00a00093 li ra,10 + 80002dec: 00000013 nop + 80002df0: 00d00113 li sp,13 + 80002df4: 0020bf33 sltu t5,ra,sp + 80002df8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dfc: 00200293 li t0,2 + 80002e00: fe5214e3 bne tp,t0,80002de8 <test_26+0x4> + 80002e04: 00100e93 li t4,1 + 80002e08: 01a00193 li gp,26 + 80002e0c: 1ddf1463 bne t5,t4,80002fd4 <fail> + +0000000080002e10 <test_27>: + 80002e10: 00000213 li tp,0 + 80002e14: 01000093 li ra,16 + 80002e18: 00000013 nop + 80002e1c: 00d00113 li sp,13 + 80002e20: 00000013 nop + 80002e24: 0020bf33 sltu t5,ra,sp + 80002e28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e2c: 00200293 li t0,2 + 80002e30: fe5212e3 bne tp,t0,80002e14 <test_27+0x4> + 80002e34: 00000e93 li t4,0 + 80002e38: 01b00193 li gp,27 + 80002e3c: 19df1c63 bne t5,t4,80002fd4 <fail> + +0000000080002e40 <test_28>: + 80002e40: 00000213 li tp,0 + 80002e44: 00900093 li ra,9 + 80002e48: 00000013 nop + 80002e4c: 00000013 nop + 80002e50: 00d00113 li sp,13 + 80002e54: 0020bf33 sltu t5,ra,sp + 80002e58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e5c: 00200293 li t0,2 + 80002e60: fe5212e3 bne tp,t0,80002e44 <test_28+0x4> + 80002e64: 00100e93 li t4,1 + 80002e68: 01c00193 li gp,28 + 80002e6c: 17df1463 bne t5,t4,80002fd4 <fail> + +0000000080002e70 <test_29>: + 80002e70: 00000213 li tp,0 + 80002e74: 00d00113 li sp,13 + 80002e78: 01100093 li ra,17 + 80002e7c: 0020bf33 sltu t5,ra,sp + 80002e80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e84: 00200293 li t0,2 + 80002e88: fe5216e3 bne tp,t0,80002e74 <test_29+0x4> + 80002e8c: 00000e93 li t4,0 + 80002e90: 01d00193 li gp,29 + 80002e94: 15df1063 bne t5,t4,80002fd4 <fail> + +0000000080002e98 <test_30>: + 80002e98: 00000213 li tp,0 + 80002e9c: 00d00113 li sp,13 + 80002ea0: 00800093 li ra,8 + 80002ea4: 00000013 nop + 80002ea8: 0020bf33 sltu t5,ra,sp + 80002eac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb0: 00200293 li t0,2 + 80002eb4: fe5214e3 bne tp,t0,80002e9c <test_30+0x4> + 80002eb8: 00100e93 li t4,1 + 80002ebc: 01e00193 li gp,30 + 80002ec0: 11df1a63 bne t5,t4,80002fd4 <fail> + +0000000080002ec4 <test_31>: + 80002ec4: 00000213 li tp,0 + 80002ec8: 00d00113 li sp,13 + 80002ecc: 01200093 li ra,18 + 80002ed0: 00000013 nop + 80002ed4: 00000013 nop + 80002ed8: 0020bf33 sltu t5,ra,sp + 80002edc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee0: 00200293 li t0,2 + 80002ee4: fe5212e3 bne tp,t0,80002ec8 <test_31+0x4> + 80002ee8: 00000e93 li t4,0 + 80002eec: 01f00193 li gp,31 + 80002ef0: 0fdf1263 bne t5,t4,80002fd4 <fail> + +0000000080002ef4 <test_32>: + 80002ef4: 00000213 li tp,0 + 80002ef8: 00d00113 li sp,13 + 80002efc: 00000013 nop + 80002f00: 00700093 li ra,7 + 80002f04: 0020bf33 sltu t5,ra,sp + 80002f08: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f0c: 00200293 li t0,2 + 80002f10: fe5214e3 bne tp,t0,80002ef8 <test_32+0x4> + 80002f14: 00100e93 li t4,1 + 80002f18: 02000193 li gp,32 + 80002f1c: 0bdf1c63 bne t5,t4,80002fd4 <fail> + +0000000080002f20 <test_33>: + 80002f20: 00000213 li tp,0 + 80002f24: 00d00113 li sp,13 + 80002f28: 00000013 nop + 80002f2c: 01300093 li ra,19 + 80002f30: 00000013 nop + 80002f34: 0020bf33 sltu t5,ra,sp + 80002f38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f3c: 00200293 li t0,2 + 80002f40: fe5212e3 bne tp,t0,80002f24 <test_33+0x4> + 80002f44: 00000e93 li t4,0 + 80002f48: 02100193 li gp,33 + 80002f4c: 09df1463 bne t5,t4,80002fd4 <fail> + +0000000080002f50 <test_34>: + 80002f50: 00000213 li tp,0 + 80002f54: 00d00113 li sp,13 + 80002f58: 00000013 nop + 80002f5c: 00000013 nop + 80002f60: 00600093 li ra,6 + 80002f64: 0020bf33 sltu t5,ra,sp + 80002f68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f6c: 00200293 li t0,2 + 80002f70: fe5212e3 bne tp,t0,80002f54 <test_34+0x4> + 80002f74: 00100e93 li t4,1 + 80002f78: 02200193 li gp,34 + 80002f7c: 05df1c63 bne t5,t4,80002fd4 <fail> + +0000000080002f80 <test_35>: + 80002f80: fff00093 li ra,-1 + 80002f84: 00103133 snez sp,ra + 80002f88: 00100e93 li t4,1 + 80002f8c: 02300193 li gp,35 + 80002f90: 05d11263 bne sp,t4,80002fd4 <fail> + +0000000080002f94 <test_36>: + 80002f94: fff00093 li ra,-1 + 80002f98: 0000b133 sltu sp,ra,zero + 80002f9c: 00000e93 li t4,0 + 80002fa0: 02400193 li gp,36 + 80002fa4: 03d11863 bne sp,t4,80002fd4 <fail> + +0000000080002fa8 <test_37>: + 80002fa8: 000030b3 snez ra,zero + 80002fac: 00000e93 li t4,0 + 80002fb0: 02500193 li gp,37 + 80002fb4: 03d09063 bne ra,t4,80002fd4 <fail> + +0000000080002fb8 <test_38>: + 80002fb8: 01000093 li ra,16 + 80002fbc: 01e00113 li sp,30 + 80002fc0: 0020b033 sltu zero,ra,sp + 80002fc4: 00000e93 li t4,0 + 80002fc8: 02600193 li gp,38 + 80002fcc: 01d01463 bne zero,t4,80002fd4 <fail> + 80002fd0: 00301a63 bne zero,gp,80002fe4 <pass> + +0000000080002fd4 <fail>: + 80002fd4: 00119513 slli a0,gp,0x1 + 80002fd8: 00050063 beqz a0,80002fd8 <fail+0x4> + 80002fdc: 00156513 ori a0,a0,1 + 80002fe0: 00000073 ecall + +0000000080002fe4 <pass>: + 80002fe4: 00100513 li a0,1 + 80002fe8: 00000073 ecall + 80002fec: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sltu.elf b/test/riscv/tests/rv64ui-v-sltu.elf Binary files differnew file mode 100644 index 00000000..0bd9f902 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sltu.elf diff --git a/test/riscv/tests/rv64ui-v-sra.dump b/test/riscv/tests/rv64ui-v-sra.dump new file mode 100644 index 00000000..37705cb9 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sra.dump @@ -0,0 +1,1281 @@ + +rv64ui-v-sra: 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,sbadaddr + 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 <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: 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: c2868693 addi a3,a3,-984 # 80003080 <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: c5c60613 addi a2,a2,-932 # 80003110 <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: 00001617 auipc a2,0x1 + 80002508: c2460613 addi a2,a2,-988 # 80003128 <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: 00001697 auipc a3,0x1 + 80002558: b7468693 addi a3,a3,-1164 # 800030c8 <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: 00001697 auipc a3,0x1 + 80002674: b9068693 addi a3,a3,-1136 # 80003200 <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: 00001617 auipc a2,0x1 + 800026cc: b1060613 addi a2,a2,-1264 # 800031d8 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a4468693 addi a3,a3,-1468 # 80003230 <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: 00001697 auipc a3,0x1 + 80002840: 96468693 addi a3,a3,-1692 # 800031a0 <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: 00001697 auipc a3,0x1 + 80002878: 8f468693 addi a3,a3,-1804 # 80003168 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 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: 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: 0a2f77b7 lui a5,0xa2f7 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 09e78793 addi a5,a5,158 # a2f709e <_start-0x75d08f62> + 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: 800000b7 lui ra,0x80000 + 80002acc: 00000113 li sp,0 + 80002ad0: 4020df33 sra t5,ra,sp + 80002ad4: 80000eb7 lui t4,0x80000 + 80002ad8: 00200193 li gp,2 + 80002adc: 59df1463 bne t5,t4,80003064 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 800000b7 lui ra,0x80000 + 80002ae4: 00100113 li sp,1 + 80002ae8: 4020df33 sra t5,ra,sp + 80002aec: c0000eb7 lui t4,0xc0000 + 80002af0: 00300193 li gp,3 + 80002af4: 57df1863 bne t5,t4,80003064 <fail> + +0000000080002af8 <test_4>: + 80002af8: 800000b7 lui ra,0x80000 + 80002afc: 00700113 li sp,7 + 80002b00: 4020df33 sra t5,ra,sp + 80002b04: ff000eb7 lui t4,0xff000 + 80002b08: 00400193 li gp,4 + 80002b0c: 55df1c63 bne t5,t4,80003064 <fail> + +0000000080002b10 <test_5>: + 80002b10: 800000b7 lui ra,0x80000 + 80002b14: 00e00113 li sp,14 + 80002b18: 4020df33 sra t5,ra,sp + 80002b1c: fffe0eb7 lui t4,0xfffe0 + 80002b20: 00500193 li gp,5 + 80002b24: 55df1063 bne t5,t4,80003064 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 0010809b addiw ra,ra,1 + 80002b30: 01f00113 li sp,31 + 80002b34: 4020df33 sra t5,ra,sp + 80002b38: fff00e93 li t4,-1 + 80002b3c: 00600193 li gp,6 + 80002b40: 53df1263 bne t5,t4,80003064 <fail> + +0000000080002b44 <test_7>: + 80002b44: 800000b7 lui ra,0x80000 + 80002b48: fff0809b addiw ra,ra,-1 + 80002b4c: 00000113 li sp,0 + 80002b50: 4020df33 sra t5,ra,sp + 80002b54: 80000eb7 lui t4,0x80000 + 80002b58: fffe8e9b addiw t4,t4,-1 + 80002b5c: 00700193 li gp,7 + 80002b60: 51df1263 bne t5,t4,80003064 <fail> + +0000000080002b64 <test_8>: + 80002b64: 800000b7 lui ra,0x80000 + 80002b68: fff0809b addiw ra,ra,-1 + 80002b6c: 00100113 li sp,1 + 80002b70: 4020df33 sra t5,ra,sp + 80002b74: 40000eb7 lui t4,0x40000 + 80002b78: fffe8e9b addiw t4,t4,-1 + 80002b7c: 00800193 li gp,8 + 80002b80: 4fdf1263 bne t5,t4,80003064 <fail> + +0000000080002b84 <test_9>: + 80002b84: 800000b7 lui ra,0x80000 + 80002b88: fff0809b addiw ra,ra,-1 + 80002b8c: 00700113 li sp,7 + 80002b90: 4020df33 sra t5,ra,sp + 80002b94: 01000eb7 lui t4,0x1000 + 80002b98: fffe8e9b addiw t4,t4,-1 + 80002b9c: 00900193 li gp,9 + 80002ba0: 4ddf1263 bne t5,t4,80003064 <fail> + +0000000080002ba4 <test_10>: + 80002ba4: 800000b7 lui ra,0x80000 + 80002ba8: fff0809b addiw ra,ra,-1 + 80002bac: 00e00113 li sp,14 + 80002bb0: 4020df33 sra t5,ra,sp + 80002bb4: 00020eb7 lui t4,0x20 + 80002bb8: fffe8e9b addiw t4,t4,-1 + 80002bbc: 00a00193 li gp,10 + 80002bc0: 4bdf1263 bne t5,t4,80003064 <fail> + +0000000080002bc4 <test_11>: + 80002bc4: 800000b7 lui ra,0x80000 + 80002bc8: fff0809b addiw ra,ra,-1 + 80002bcc: 01f00113 li sp,31 + 80002bd0: 4020df33 sra t5,ra,sp + 80002bd4: 00000e93 li t4,0 + 80002bd8: 00b00193 li gp,11 + 80002bdc: 49df1463 bne t5,t4,80003064 <fail> + +0000000080002be0 <test_12>: + 80002be0: 818180b7 lui ra,0x81818 + 80002be4: 1810809b addiw ra,ra,385 + 80002be8: 00000113 li sp,0 + 80002bec: 4020df33 sra t5,ra,sp + 80002bf0: 81818eb7 lui t4,0x81818 + 80002bf4: 181e8e9b addiw t4,t4,385 + 80002bf8: 00c00193 li gp,12 + 80002bfc: 47df1463 bne t5,t4,80003064 <fail> + +0000000080002c00 <test_13>: + 80002c00: 818180b7 lui ra,0x81818 + 80002c04: 1810809b addiw ra,ra,385 + 80002c08: 00100113 li sp,1 + 80002c0c: 4020df33 sra t5,ra,sp + 80002c10: c0c0ceb7 lui t4,0xc0c0c + 80002c14: 0c0e8e9b addiw t4,t4,192 + 80002c18: 00d00193 li gp,13 + 80002c1c: 45df1463 bne t5,t4,80003064 <fail> + +0000000080002c20 <test_14>: + 80002c20: 818180b7 lui ra,0x81818 + 80002c24: 1810809b addiw ra,ra,385 + 80002c28: 00700113 li sp,7 + 80002c2c: 4020df33 sra t5,ra,sp + 80002c30: ff030eb7 lui t4,0xff030 + 80002c34: 303e8e9b addiw t4,t4,771 + 80002c38: 00e00193 li gp,14 + 80002c3c: 43df1463 bne t5,t4,80003064 <fail> + +0000000080002c40 <test_15>: + 80002c40: 818180b7 lui ra,0x81818 + 80002c44: 1810809b addiw ra,ra,385 + 80002c48: 00e00113 li sp,14 + 80002c4c: 4020df33 sra t5,ra,sp + 80002c50: fffe0eb7 lui t4,0xfffe0 + 80002c54: 606e8e9b addiw t4,t4,1542 + 80002c58: 00f00193 li gp,15 + 80002c5c: 41df1463 bne t5,t4,80003064 <fail> + +0000000080002c60 <test_16>: + 80002c60: 818180b7 lui ra,0x81818 + 80002c64: 1810809b addiw ra,ra,385 + 80002c68: 01f00113 li sp,31 + 80002c6c: 4020df33 sra t5,ra,sp + 80002c70: fff00e93 li t4,-1 + 80002c74: 01000193 li gp,16 + 80002c78: 3fdf1663 bne t5,t4,80003064 <fail> + +0000000080002c7c <test_17>: + 80002c7c: 818180b7 lui ra,0x81818 + 80002c80: 1810809b addiw ra,ra,385 + 80002c84: fc000113 li sp,-64 + 80002c88: 4020df33 sra t5,ra,sp + 80002c8c: 81818eb7 lui t4,0x81818 + 80002c90: 181e8e9b addiw t4,t4,385 + 80002c94: 01100193 li gp,17 + 80002c98: 3ddf1663 bne t5,t4,80003064 <fail> + +0000000080002c9c <test_18>: + 80002c9c: 818180b7 lui ra,0x81818 + 80002ca0: 1810809b addiw ra,ra,385 + 80002ca4: fc100113 li sp,-63 + 80002ca8: 4020df33 sra t5,ra,sp + 80002cac: c0c0ceb7 lui t4,0xc0c0c + 80002cb0: 0c0e8e9b addiw t4,t4,192 + 80002cb4: 01200193 li gp,18 + 80002cb8: 3bdf1663 bne t5,t4,80003064 <fail> + +0000000080002cbc <test_19>: + 80002cbc: 818180b7 lui ra,0x81818 + 80002cc0: 1810809b addiw ra,ra,385 + 80002cc4: fc700113 li sp,-57 + 80002cc8: 4020df33 sra t5,ra,sp + 80002ccc: ff030eb7 lui t4,0xff030 + 80002cd0: 303e8e9b addiw t4,t4,771 + 80002cd4: 01300193 li gp,19 + 80002cd8: 39df1663 bne t5,t4,80003064 <fail> + +0000000080002cdc <test_20>: + 80002cdc: 818180b7 lui ra,0x81818 + 80002ce0: 1810809b addiw ra,ra,385 + 80002ce4: fce00113 li sp,-50 + 80002ce8: 4020df33 sra t5,ra,sp + 80002cec: fffe0eb7 lui t4,0xfffe0 + 80002cf0: 606e8e9b addiw t4,t4,1542 + 80002cf4: 01400193 li gp,20 + 80002cf8: 37df1663 bne t5,t4,80003064 <fail> + +0000000080002cfc <test_21>: + 80002cfc: 818180b7 lui ra,0x81818 + 80002d00: 1810809b addiw ra,ra,385 + 80002d04: fff00113 li sp,-1 + 80002d08: 4020df33 sra t5,ra,sp + 80002d0c: fff00e93 li t4,-1 + 80002d10: 01500193 li gp,21 + 80002d14: 35df1863 bne t5,t4,80003064 <fail> + +0000000080002d18 <test_22>: + 80002d18: 800000b7 lui ra,0x80000 + 80002d1c: 00700113 li sp,7 + 80002d20: 4020d0b3 sra ra,ra,sp + 80002d24: ff000eb7 lui t4,0xff000 + 80002d28: 01600193 li gp,22 + 80002d2c: 33d09c63 bne ra,t4,80003064 <fail> + +0000000080002d30 <test_23>: + 80002d30: 800000b7 lui ra,0x80000 + 80002d34: 00e00113 li sp,14 + 80002d38: 4020d133 sra sp,ra,sp + 80002d3c: fffe0eb7 lui t4,0xfffe0 + 80002d40: 01700193 li gp,23 + 80002d44: 33d11063 bne sp,t4,80003064 <fail> + +0000000080002d48 <test_24>: + 80002d48: 00700093 li ra,7 + 80002d4c: 4010d0b3 sra ra,ra,ra + 80002d50: 00000e93 li t4,0 + 80002d54: 01800193 li gp,24 + 80002d58: 31d09663 bne ra,t4,80003064 <fail> + +0000000080002d5c <test_25>: + 80002d5c: 00000213 li tp,0 + 80002d60: 800000b7 lui ra,0x80000 + 80002d64: 00700113 li sp,7 + 80002d68: 4020df33 sra t5,ra,sp + 80002d6c: 000f0313 mv t1,t5 + 80002d70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d74: 00200293 li t0,2 + 80002d78: fe5214e3 bne tp,t0,80002d60 <test_25+0x4> + 80002d7c: ff000eb7 lui t4,0xff000 + 80002d80: 01900193 li gp,25 + 80002d84: 2fd31063 bne t1,t4,80003064 <fail> + +0000000080002d88 <test_26>: + 80002d88: 00000213 li tp,0 + 80002d8c: 800000b7 lui ra,0x80000 + 80002d90: 00e00113 li sp,14 + 80002d94: 4020df33 sra t5,ra,sp + 80002d98: 00000013 nop + 80002d9c: 000f0313 mv t1,t5 + 80002da0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da4: 00200293 li t0,2 + 80002da8: fe5212e3 bne tp,t0,80002d8c <test_26+0x4> + 80002dac: fffe0eb7 lui t4,0xfffe0 + 80002db0: 01a00193 li gp,26 + 80002db4: 2bd31863 bne t1,t4,80003064 <fail> + +0000000080002db8 <test_27>: + 80002db8: 00000213 li tp,0 + 80002dbc: 800000b7 lui ra,0x80000 + 80002dc0: 01f00113 li sp,31 + 80002dc4: 4020df33 sra t5,ra,sp + 80002dc8: 00000013 nop + 80002dcc: 00000013 nop + 80002dd0: 000f0313 mv t1,t5 + 80002dd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd8: 00200293 li t0,2 + 80002ddc: fe5210e3 bne tp,t0,80002dbc <test_27+0x4> + 80002de0: fff00e93 li t4,-1 + 80002de4: 01b00193 li gp,27 + 80002de8: 27d31e63 bne t1,t4,80003064 <fail> + +0000000080002dec <test_28>: + 80002dec: 00000213 li tp,0 + 80002df0: 800000b7 lui ra,0x80000 + 80002df4: 00700113 li sp,7 + 80002df8: 4020df33 sra t5,ra,sp + 80002dfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e00: 00200293 li t0,2 + 80002e04: fe5216e3 bne tp,t0,80002df0 <test_28+0x4> + 80002e08: ff000eb7 lui t4,0xff000 + 80002e0c: 01c00193 li gp,28 + 80002e10: 25df1a63 bne t5,t4,80003064 <fail> + +0000000080002e14 <test_29>: + 80002e14: 00000213 li tp,0 + 80002e18: 800000b7 lui ra,0x80000 + 80002e1c: 00e00113 li sp,14 + 80002e20: 00000013 nop + 80002e24: 4020df33 sra t5,ra,sp + 80002e28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e2c: 00200293 li t0,2 + 80002e30: fe5214e3 bne tp,t0,80002e18 <test_29+0x4> + 80002e34: fffe0eb7 lui t4,0xfffe0 + 80002e38: 01d00193 li gp,29 + 80002e3c: 23df1463 bne t5,t4,80003064 <fail> + +0000000080002e40 <test_30>: + 80002e40: 00000213 li tp,0 + 80002e44: 800000b7 lui ra,0x80000 + 80002e48: 01f00113 li sp,31 + 80002e4c: 00000013 nop + 80002e50: 00000013 nop + 80002e54: 4020df33 sra t5,ra,sp + 80002e58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e5c: 00200293 li t0,2 + 80002e60: fe5212e3 bne tp,t0,80002e44 <test_30+0x4> + 80002e64: fff00e93 li t4,-1 + 80002e68: 01e00193 li gp,30 + 80002e6c: 1fdf1c63 bne t5,t4,80003064 <fail> + +0000000080002e70 <test_31>: + 80002e70: 00000213 li tp,0 + 80002e74: 800000b7 lui ra,0x80000 + 80002e78: 00000013 nop + 80002e7c: 00700113 li sp,7 + 80002e80: 4020df33 sra t5,ra,sp + 80002e84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e88: 00200293 li t0,2 + 80002e8c: fe5214e3 bne tp,t0,80002e74 <test_31+0x4> + 80002e90: ff000eb7 lui t4,0xff000 + 80002e94: 01f00193 li gp,31 + 80002e98: 1ddf1663 bne t5,t4,80003064 <fail> + +0000000080002e9c <test_32>: + 80002e9c: 00000213 li tp,0 + 80002ea0: 800000b7 lui ra,0x80000 + 80002ea4: 00000013 nop + 80002ea8: 00e00113 li sp,14 + 80002eac: 00000013 nop + 80002eb0: 4020df33 sra t5,ra,sp + 80002eb4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb8: 00200293 li t0,2 + 80002ebc: fe5212e3 bne tp,t0,80002ea0 <test_32+0x4> + 80002ec0: fffe0eb7 lui t4,0xfffe0 + 80002ec4: 02000193 li gp,32 + 80002ec8: 19df1e63 bne t5,t4,80003064 <fail> + +0000000080002ecc <test_33>: + 80002ecc: 00000213 li tp,0 + 80002ed0: 800000b7 lui ra,0x80000 + 80002ed4: 00000013 nop + 80002ed8: 00000013 nop + 80002edc: 01f00113 li sp,31 + 80002ee0: 4020df33 sra t5,ra,sp + 80002ee4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee8: 00200293 li t0,2 + 80002eec: fe5212e3 bne tp,t0,80002ed0 <test_33+0x4> + 80002ef0: fff00e93 li t4,-1 + 80002ef4: 02100193 li gp,33 + 80002ef8: 17df1663 bne t5,t4,80003064 <fail> + +0000000080002efc <test_34>: + 80002efc: 00000213 li tp,0 + 80002f00: 00700113 li sp,7 + 80002f04: 800000b7 lui ra,0x80000 + 80002f08: 4020df33 sra t5,ra,sp + 80002f0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f10: 00200293 li t0,2 + 80002f14: fe5216e3 bne tp,t0,80002f00 <test_34+0x4> + 80002f18: ff000eb7 lui t4,0xff000 + 80002f1c: 02200193 li gp,34 + 80002f20: 15df1263 bne t5,t4,80003064 <fail> + +0000000080002f24 <test_35>: + 80002f24: 00000213 li tp,0 + 80002f28: 00e00113 li sp,14 + 80002f2c: 800000b7 lui ra,0x80000 + 80002f30: 00000013 nop + 80002f34: 4020df33 sra t5,ra,sp + 80002f38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f3c: 00200293 li t0,2 + 80002f40: fe5214e3 bne tp,t0,80002f28 <test_35+0x4> + 80002f44: fffe0eb7 lui t4,0xfffe0 + 80002f48: 02300193 li gp,35 + 80002f4c: 11df1c63 bne t5,t4,80003064 <fail> + +0000000080002f50 <test_36>: + 80002f50: 00000213 li tp,0 + 80002f54: 01f00113 li sp,31 + 80002f58: 800000b7 lui ra,0x80000 + 80002f5c: 00000013 nop + 80002f60: 00000013 nop + 80002f64: 4020df33 sra t5,ra,sp + 80002f68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f6c: 00200293 li t0,2 + 80002f70: fe5212e3 bne tp,t0,80002f54 <test_36+0x4> + 80002f74: fff00e93 li t4,-1 + 80002f78: 02400193 li gp,36 + 80002f7c: 0fdf1463 bne t5,t4,80003064 <fail> + +0000000080002f80 <test_37>: + 80002f80: 00000213 li tp,0 + 80002f84: 00700113 li sp,7 + 80002f88: 00000013 nop + 80002f8c: 800000b7 lui ra,0x80000 + 80002f90: 4020df33 sra t5,ra,sp + 80002f94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f98: 00200293 li t0,2 + 80002f9c: fe5214e3 bne tp,t0,80002f84 <test_37+0x4> + 80002fa0: ff000eb7 lui t4,0xff000 + 80002fa4: 02500193 li gp,37 + 80002fa8: 0bdf1e63 bne t5,t4,80003064 <fail> + +0000000080002fac <test_38>: + 80002fac: 00000213 li tp,0 + 80002fb0: 00e00113 li sp,14 + 80002fb4: 00000013 nop + 80002fb8: 800000b7 lui ra,0x80000 + 80002fbc: 00000013 nop + 80002fc0: 4020df33 sra t5,ra,sp + 80002fc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fc8: 00200293 li t0,2 + 80002fcc: fe5212e3 bne tp,t0,80002fb0 <test_38+0x4> + 80002fd0: fffe0eb7 lui t4,0xfffe0 + 80002fd4: 02600193 li gp,38 + 80002fd8: 09df1663 bne t5,t4,80003064 <fail> + +0000000080002fdc <test_39>: + 80002fdc: 00000213 li tp,0 + 80002fe0: 01f00113 li sp,31 + 80002fe4: 00000013 nop + 80002fe8: 00000013 nop + 80002fec: 800000b7 lui ra,0x80000 + 80002ff0: 4020df33 sra t5,ra,sp + 80002ff4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ff8: 00200293 li t0,2 + 80002ffc: fe5212e3 bne tp,t0,80002fe0 <test_39+0x4> + 80003000: fff00e93 li t4,-1 + 80003004: 02700193 li gp,39 + 80003008: 05df1e63 bne t5,t4,80003064 <fail> + +000000008000300c <test_40>: + 8000300c: 00f00093 li ra,15 + 80003010: 40105133 sra sp,zero,ra + 80003014: 00000e93 li t4,0 + 80003018: 02800193 li gp,40 + 8000301c: 05d11463 bne sp,t4,80003064 <fail> + +0000000080003020 <test_41>: + 80003020: 02000093 li ra,32 + 80003024: 4000d133 sra sp,ra,zero + 80003028: 02000e93 li t4,32 + 8000302c: 02900193 li gp,41 + 80003030: 03d11a63 bne sp,t4,80003064 <fail> + +0000000080003034 <test_42>: + 80003034: 400050b3 sra ra,zero,zero + 80003038: 00000e93 li t4,0 + 8000303c: 02a00193 li gp,42 + 80003040: 03d09263 bne ra,t4,80003064 <fail> + +0000000080003044 <test_43>: + 80003044: 40000093 li ra,1024 + 80003048: 00001137 lui sp,0x1 + 8000304c: 8001011b addiw sp,sp,-2048 + 80003050: 4020d033 sra zero,ra,sp + 80003054: 00000e93 li t4,0 + 80003058: 02b00193 li gp,43 + 8000305c: 01d01463 bne zero,t4,80003064 <fail> + 80003060: 00301a63 bne zero,gp,80003074 <pass> + +0000000080003064 <fail>: + 80003064: 00119513 slli a0,gp,0x1 + 80003068: 00050063 beqz a0,80003068 <fail+0x4> + 8000306c: 00156513 ori a0,a0,1 + 80003070: 00000073 ecall + +0000000080003074 <pass>: + 80003074: 00100513 li a0,1 + 80003078: 00000073 ecall + 8000307c: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sra.elf b/test/riscv/tests/rv64ui-v-sra.elf Binary files differnew file mode 100644 index 00000000..bfbb9dc1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sra.elf diff --git a/test/riscv/tests/rv64ui-v-srai.dump b/test/riscv/tests/rv64ui-v-srai.dump new file mode 100644 index 00000000..8926e559 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srai.dump @@ -0,0 +1,1062 @@ + +rv64ui-v-srai: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 95068693 addi a3,a3,-1712 # 80002da8 <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: 98460613 addi a2,a2,-1660 # 80002e38 <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: 94c60613 addi a2,a2,-1716 # 80002e50 <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: 89c68693 addi a3,a3,-1892 # 80002df0 <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: 8b868693 addi a3,a3,-1864 # 80002f28 <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: 83860613 addi a2,a2,-1992 # 80002f00 <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: 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: 76c68693 addi a3,a3,1900 # 80002f58 <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: 68c68693 addi a3,a3,1676 # 80002ec8 <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: 61c68693 addi a3,a3,1564 # 80002e90 <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: 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: 00400793 li a5,4 + 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: 00a547b7 lui a5,0xa54 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f8778793 addi a5,a5,-121 # a53f87 <_start-0x7f5ac079> + 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: fff0009b addiw ra,zero,-1 + 80002acc: 02709093 slli ra,ra,0x27 + 80002ad0: 4000df13 srai t5,ra,0x0 + 80002ad4: fff00e9b addiw t4,zero,-1 + 80002ad8: 027e9e93 slli t4,t4,0x27 + 80002adc: 00200193 li gp,2 + 80002ae0: 2bdf1463 bne t5,t4,80002d88 <fail> + +0000000080002ae4 <test_3>: + 80002ae4: 800000b7 lui ra,0x80000 + 80002ae8: 4010df13 srai t5,ra,0x1 + 80002aec: c0000eb7 lui t4,0xc0000 + 80002af0: 00300193 li gp,3 + 80002af4: 29df1a63 bne t5,t4,80002d88 <fail> + +0000000080002af8 <test_4>: + 80002af8: 800000b7 lui ra,0x80000 + 80002afc: 4070df13 srai t5,ra,0x7 + 80002b00: ff000eb7 lui t4,0xff000 + 80002b04: 00400193 li gp,4 + 80002b08: 29df1063 bne t5,t4,80002d88 <fail> + +0000000080002b0c <test_5>: + 80002b0c: 800000b7 lui ra,0x80000 + 80002b10: 40e0df13 srai t5,ra,0xe + 80002b14: fffe0eb7 lui t4,0xfffe0 + 80002b18: 00500193 li gp,5 + 80002b1c: 27df1663 bne t5,t4,80002d88 <fail> + +0000000080002b20 <test_6>: + 80002b20: 800000b7 lui ra,0x80000 + 80002b24: 0010809b addiw ra,ra,1 + 80002b28: 41f0df13 srai t5,ra,0x1f + 80002b2c: fff00e93 li t4,-1 + 80002b30: 00600193 li gp,6 + 80002b34: 25df1a63 bne t5,t4,80002d88 <fail> + +0000000080002b38 <test_7>: + 80002b38: 800000b7 lui ra,0x80000 + 80002b3c: fff0809b addiw ra,ra,-1 + 80002b40: 4000df13 srai t5,ra,0x0 + 80002b44: 80000eb7 lui t4,0x80000 + 80002b48: fffe8e9b addiw t4,t4,-1 + 80002b4c: 00700193 li gp,7 + 80002b50: 23df1c63 bne t5,t4,80002d88 <fail> + +0000000080002b54 <test_8>: + 80002b54: 800000b7 lui ra,0x80000 + 80002b58: fff0809b addiw ra,ra,-1 + 80002b5c: 4010df13 srai t5,ra,0x1 + 80002b60: 40000eb7 lui t4,0x40000 + 80002b64: fffe8e9b addiw t4,t4,-1 + 80002b68: 00800193 li gp,8 + 80002b6c: 21df1e63 bne t5,t4,80002d88 <fail> + +0000000080002b70 <test_9>: + 80002b70: 800000b7 lui ra,0x80000 + 80002b74: fff0809b addiw ra,ra,-1 + 80002b78: 4070df13 srai t5,ra,0x7 + 80002b7c: 01000eb7 lui t4,0x1000 + 80002b80: fffe8e9b addiw t4,t4,-1 + 80002b84: 00900193 li gp,9 + 80002b88: 21df1063 bne t5,t4,80002d88 <fail> + +0000000080002b8c <test_10>: + 80002b8c: 800000b7 lui ra,0x80000 + 80002b90: fff0809b addiw ra,ra,-1 + 80002b94: 40e0df13 srai t5,ra,0xe + 80002b98: 00020eb7 lui t4,0x20 + 80002b9c: fffe8e9b addiw t4,t4,-1 + 80002ba0: 00a00193 li gp,10 + 80002ba4: 1fdf1263 bne t5,t4,80002d88 <fail> + +0000000080002ba8 <test_11>: + 80002ba8: 800000b7 lui ra,0x80000 + 80002bac: fff0809b addiw ra,ra,-1 + 80002bb0: 41f0df13 srai t5,ra,0x1f + 80002bb4: 00000e93 li t4,0 + 80002bb8: 00b00193 li gp,11 + 80002bbc: 1ddf1663 bne t5,t4,80002d88 <fail> + +0000000080002bc0 <test_12>: + 80002bc0: 818180b7 lui ra,0x81818 + 80002bc4: 1810809b addiw ra,ra,385 + 80002bc8: 4000df13 srai t5,ra,0x0 + 80002bcc: 81818eb7 lui t4,0x81818 + 80002bd0: 181e8e9b addiw t4,t4,385 + 80002bd4: 00c00193 li gp,12 + 80002bd8: 1bdf1863 bne t5,t4,80002d88 <fail> + +0000000080002bdc <test_13>: + 80002bdc: 818180b7 lui ra,0x81818 + 80002be0: 1810809b addiw ra,ra,385 + 80002be4: 4010df13 srai t5,ra,0x1 + 80002be8: c0c0ceb7 lui t4,0xc0c0c + 80002bec: 0c0e8e9b addiw t4,t4,192 + 80002bf0: 00d00193 li gp,13 + 80002bf4: 19df1a63 bne t5,t4,80002d88 <fail> + +0000000080002bf8 <test_14>: + 80002bf8: 818180b7 lui ra,0x81818 + 80002bfc: 1810809b addiw ra,ra,385 + 80002c00: 4070df13 srai t5,ra,0x7 + 80002c04: ff030eb7 lui t4,0xff030 + 80002c08: 303e8e9b addiw t4,t4,771 + 80002c0c: 00e00193 li gp,14 + 80002c10: 17df1c63 bne t5,t4,80002d88 <fail> + +0000000080002c14 <test_15>: + 80002c14: 818180b7 lui ra,0x81818 + 80002c18: 1810809b addiw ra,ra,385 + 80002c1c: 40e0df13 srai t5,ra,0xe + 80002c20: fffe0eb7 lui t4,0xfffe0 + 80002c24: 606e8e9b addiw t4,t4,1542 + 80002c28: 00f00193 li gp,15 + 80002c2c: 15df1e63 bne t5,t4,80002d88 <fail> + +0000000080002c30 <test_16>: + 80002c30: 818180b7 lui ra,0x81818 + 80002c34: 1810809b addiw ra,ra,385 + 80002c38: 41f0df13 srai t5,ra,0x1f + 80002c3c: fff00e93 li t4,-1 + 80002c40: 01000193 li gp,16 + 80002c44: 15df1263 bne t5,t4,80002d88 <fail> + +0000000080002c48 <test_17>: + 80002c48: 800000b7 lui ra,0x80000 + 80002c4c: 4070d093 srai ra,ra,0x7 + 80002c50: ff000eb7 lui t4,0xff000 + 80002c54: 01100193 li gp,17 + 80002c58: 13d09863 bne ra,t4,80002d88 <fail> + +0000000080002c5c <test_18>: + 80002c5c: 00000213 li tp,0 + 80002c60: 800000b7 lui ra,0x80000 + 80002c64: 4070df13 srai t5,ra,0x7 + 80002c68: 000f0313 mv t1,t5 + 80002c6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c70: 00200293 li t0,2 + 80002c74: fe5216e3 bne tp,t0,80002c60 <test_18+0x4> + 80002c78: ff000eb7 lui t4,0xff000 + 80002c7c: 01200193 li gp,18 + 80002c80: 11d31463 bne t1,t4,80002d88 <fail> + +0000000080002c84 <test_19>: + 80002c84: 00000213 li tp,0 + 80002c88: 800000b7 lui ra,0x80000 + 80002c8c: 40e0df13 srai t5,ra,0xe + 80002c90: 00000013 nop + 80002c94: 000f0313 mv t1,t5 + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5214e3 bne tp,t0,80002c88 <test_19+0x4> + 80002ca4: fffe0eb7 lui t4,0xfffe0 + 80002ca8: 01300193 li gp,19 + 80002cac: 0dd31e63 bne t1,t4,80002d88 <fail> + +0000000080002cb0 <test_20>: + 80002cb0: 00000213 li tp,0 + 80002cb4: 800000b7 lui ra,0x80000 + 80002cb8: 0010809b addiw ra,ra,1 + 80002cbc: 41f0df13 srai t5,ra,0x1f + 80002cc0: 00000013 nop + 80002cc4: 00000013 nop + 80002cc8: 000f0313 mv t1,t5 + 80002ccc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd0: 00200293 li t0,2 + 80002cd4: fe5210e3 bne tp,t0,80002cb4 <test_20+0x4> + 80002cd8: fff00e93 li t4,-1 + 80002cdc: 01400193 li gp,20 + 80002ce0: 0bd31463 bne t1,t4,80002d88 <fail> + +0000000080002ce4 <test_21>: + 80002ce4: 00000213 li tp,0 + 80002ce8: 800000b7 lui ra,0x80000 + 80002cec: 4070df13 srai t5,ra,0x7 + 80002cf0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf4: 00200293 li t0,2 + 80002cf8: fe5218e3 bne tp,t0,80002ce8 <test_21+0x4> + 80002cfc: ff000eb7 lui t4,0xff000 + 80002d00: 01500193 li gp,21 + 80002d04: 09df1263 bne t5,t4,80002d88 <fail> + +0000000080002d08 <test_22>: + 80002d08: 00000213 li tp,0 + 80002d0c: 800000b7 lui ra,0x80000 + 80002d10: 00000013 nop + 80002d14: 40e0df13 srai t5,ra,0xe + 80002d18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d1c: 00200293 li t0,2 + 80002d20: fe5216e3 bne tp,t0,80002d0c <test_22+0x4> + 80002d24: fffe0eb7 lui t4,0xfffe0 + 80002d28: 01600193 li gp,22 + 80002d2c: 05df1e63 bne t5,t4,80002d88 <fail> + +0000000080002d30 <test_23>: + 80002d30: 00000213 li tp,0 + 80002d34: 800000b7 lui ra,0x80000 + 80002d38: 0010809b addiw ra,ra,1 + 80002d3c: 00000013 nop + 80002d40: 00000013 nop + 80002d44: 41f0df13 srai t5,ra,0x1f + 80002d48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d4c: 00200293 li t0,2 + 80002d50: fe5212e3 bne tp,t0,80002d34 <test_23+0x4> + 80002d54: fff00e93 li t4,-1 + 80002d58: 01700193 li gp,23 + 80002d5c: 03df1663 bne t5,t4,80002d88 <fail> + +0000000080002d60 <test_24>: + 80002d60: 40405093 srai ra,zero,0x4 + 80002d64: 00000e93 li t4,0 + 80002d68: 01800193 li gp,24 + 80002d6c: 01d09e63 bne ra,t4,80002d88 <fail> + +0000000080002d70 <test_25>: + 80002d70: 02100093 li ra,33 + 80002d74: 40a0d013 srai zero,ra,0xa + 80002d78: 00000e93 li t4,0 + 80002d7c: 01900193 li gp,25 + 80002d80: 01d01463 bne zero,t4,80002d88 <fail> + 80002d84: 00301a63 bne zero,gp,80002d98 <pass> + +0000000080002d88 <fail>: + 80002d88: 00119513 slli a0,gp,0x1 + 80002d8c: 00050063 beqz a0,80002d8c <fail+0x4> + 80002d90: 00156513 ori a0,a0,1 + 80002d94: 00000073 ecall + +0000000080002d98 <pass>: + 80002d98: 00100513 li a0,1 + 80002d9c: 00000073 ecall + 80002da0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-srai.elf b/test/riscv/tests/rv64ui-v-srai.elf Binary files differnew file mode 100644 index 00000000..a84338f4 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srai.elf diff --git a/test/riscv/tests/rv64ui-v-sraiw.dump b/test/riscv/tests/rv64ui-v-sraiw.dump new file mode 100644 index 00000000..276de6b8 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sraiw.dump @@ -0,0 +1,1076 @@ + +rv64ui-v-sraiw: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 97868693 addi a3,a3,-1672 # 80002dd0 <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: 9ac60613 addi a2,a2,-1620 # 80002e60 <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: 97460613 addi a2,a2,-1676 # 80002e78 <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: 8c468693 addi a3,a3,-1852 # 80002e18 <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: 8e068693 addi a3,a3,-1824 # 80002f50 <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: 86060613 addi a2,a2,-1952 # 80002f28 <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: 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: 79468693 addi a3,a3,1940 # 80002f80 <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: 6b468693 addi a3,a3,1716 # 80002ef0 <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: 64468693 addi a3,a3,1604 # 80002eb8 <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: 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: 00800793 li a5,8 + 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: 0e8fe7b7 lui a5,0xe8fe + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ca478793 addi a5,a5,-860 # e8fdca4 <_start-0x7170235c> + 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: 800000b7 lui ra,0x80000 + 80002acc: 4000df1b sraiw t5,ra,0x0 + 80002ad0: 80000eb7 lui t4,0x80000 + 80002ad4: 00200193 li gp,2 + 80002ad8: 2ddf1c63 bne t5,t4,80002db0 <fail> + +0000000080002adc <test_3>: + 80002adc: 800000b7 lui ra,0x80000 + 80002ae0: 4010df1b sraiw t5,ra,0x1 + 80002ae4: c0000eb7 lui t4,0xc0000 + 80002ae8: 00300193 li gp,3 + 80002aec: 2ddf1263 bne t5,t4,80002db0 <fail> + +0000000080002af0 <test_4>: + 80002af0: 800000b7 lui ra,0x80000 + 80002af4: 4070df1b sraiw t5,ra,0x7 + 80002af8: ff000eb7 lui t4,0xff000 + 80002afc: 00400193 li gp,4 + 80002b00: 2bdf1863 bne t5,t4,80002db0 <fail> + +0000000080002b04 <test_5>: + 80002b04: 800000b7 lui ra,0x80000 + 80002b08: 40e0df1b sraiw t5,ra,0xe + 80002b0c: fffe0eb7 lui t4,0xfffe0 + 80002b10: 00500193 li gp,5 + 80002b14: 29df1e63 bne t5,t4,80002db0 <fail> + +0000000080002b18 <test_6>: + 80002b18: 800000b7 lui ra,0x80000 + 80002b1c: 0010809b addiw ra,ra,1 + 80002b20: 41f0df1b sraiw t5,ra,0x1f + 80002b24: fff00e93 li t4,-1 + 80002b28: 00600193 li gp,6 + 80002b2c: 29df1263 bne t5,t4,80002db0 <fail> + +0000000080002b30 <test_7>: + 80002b30: 800000b7 lui ra,0x80000 + 80002b34: fff0809b addiw ra,ra,-1 + 80002b38: 4000df1b sraiw t5,ra,0x0 + 80002b3c: 80000eb7 lui t4,0x80000 + 80002b40: fffe8e9b addiw t4,t4,-1 + 80002b44: 00700193 li gp,7 + 80002b48: 27df1463 bne t5,t4,80002db0 <fail> + +0000000080002b4c <test_8>: + 80002b4c: 800000b7 lui ra,0x80000 + 80002b50: fff0809b addiw ra,ra,-1 + 80002b54: 4010df1b sraiw t5,ra,0x1 + 80002b58: 40000eb7 lui t4,0x40000 + 80002b5c: fffe8e9b addiw t4,t4,-1 + 80002b60: 00800193 li gp,8 + 80002b64: 25df1663 bne t5,t4,80002db0 <fail> + +0000000080002b68 <test_9>: + 80002b68: 800000b7 lui ra,0x80000 + 80002b6c: fff0809b addiw ra,ra,-1 + 80002b70: 4070df1b sraiw t5,ra,0x7 + 80002b74: 01000eb7 lui t4,0x1000 + 80002b78: fffe8e9b addiw t4,t4,-1 + 80002b7c: 00900193 li gp,9 + 80002b80: 23df1863 bne t5,t4,80002db0 <fail> + +0000000080002b84 <test_10>: + 80002b84: 800000b7 lui ra,0x80000 + 80002b88: fff0809b addiw ra,ra,-1 + 80002b8c: 40e0df1b sraiw t5,ra,0xe + 80002b90: 00020eb7 lui t4,0x20 + 80002b94: fffe8e9b addiw t4,t4,-1 + 80002b98: 00a00193 li gp,10 + 80002b9c: 21df1a63 bne t5,t4,80002db0 <fail> + +0000000080002ba0 <test_11>: + 80002ba0: 800000b7 lui ra,0x80000 + 80002ba4: fff0809b addiw ra,ra,-1 + 80002ba8: 41f0df1b sraiw t5,ra,0x1f + 80002bac: 00000e93 li t4,0 + 80002bb0: 00b00193 li gp,11 + 80002bb4: 1fdf1e63 bne t5,t4,80002db0 <fail> + +0000000080002bb8 <test_12>: + 80002bb8: 818180b7 lui ra,0x81818 + 80002bbc: 1810809b addiw ra,ra,385 + 80002bc0: 4000df1b sraiw t5,ra,0x0 + 80002bc4: 81818eb7 lui t4,0x81818 + 80002bc8: 181e8e9b addiw t4,t4,385 + 80002bcc: 00c00193 li gp,12 + 80002bd0: 1fdf1063 bne t5,t4,80002db0 <fail> + +0000000080002bd4 <test_13>: + 80002bd4: 818180b7 lui ra,0x81818 + 80002bd8: 1810809b addiw ra,ra,385 + 80002bdc: 4010df1b sraiw t5,ra,0x1 + 80002be0: c0c0ceb7 lui t4,0xc0c0c + 80002be4: 0c0e8e9b addiw t4,t4,192 + 80002be8: 00d00193 li gp,13 + 80002bec: 1ddf1263 bne t5,t4,80002db0 <fail> + +0000000080002bf0 <test_14>: + 80002bf0: 818180b7 lui ra,0x81818 + 80002bf4: 1810809b addiw ra,ra,385 + 80002bf8: 4070df1b sraiw t5,ra,0x7 + 80002bfc: ff030eb7 lui t4,0xff030 + 80002c00: 303e8e9b addiw t4,t4,771 + 80002c04: 00e00193 li gp,14 + 80002c08: 1bdf1463 bne t5,t4,80002db0 <fail> + +0000000080002c0c <test_15>: + 80002c0c: 818180b7 lui ra,0x81818 + 80002c10: 1810809b addiw ra,ra,385 + 80002c14: 40e0df1b sraiw t5,ra,0xe + 80002c18: fffe0eb7 lui t4,0xfffe0 + 80002c1c: 606e8e9b addiw t4,t4,1542 + 80002c20: 00f00193 li gp,15 + 80002c24: 19df1663 bne t5,t4,80002db0 <fail> + +0000000080002c28 <test_16>: + 80002c28: 818180b7 lui ra,0x81818 + 80002c2c: 1810809b addiw ra,ra,385 + 80002c30: 41f0df1b sraiw t5,ra,0x1f + 80002c34: fff00e93 li t4,-1 + 80002c38: 01000193 li gp,16 + 80002c3c: 17df1a63 bne t5,t4,80002db0 <fail> + +0000000080002c40 <test_17>: + 80002c40: 800000b7 lui ra,0x80000 + 80002c44: 4070d09b sraiw ra,ra,0x7 + 80002c48: ff000eb7 lui t4,0xff000 + 80002c4c: 01100193 li gp,17 + 80002c50: 17d09063 bne ra,t4,80002db0 <fail> + +0000000080002c54 <test_18>: + 80002c54: 00000213 li tp,0 + 80002c58: 800000b7 lui ra,0x80000 + 80002c5c: 4070df1b sraiw t5,ra,0x7 + 80002c60: 000f0313 mv t1,t5 + 80002c64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c68: 00200293 li t0,2 + 80002c6c: fe5216e3 bne tp,t0,80002c58 <test_18+0x4> + 80002c70: ff000eb7 lui t4,0xff000 + 80002c74: 01200193 li gp,18 + 80002c78: 13d31c63 bne t1,t4,80002db0 <fail> + +0000000080002c7c <test_19>: + 80002c7c: 00000213 li tp,0 + 80002c80: 800000b7 lui ra,0x80000 + 80002c84: 40e0df1b sraiw t5,ra,0xe + 80002c88: 00000013 nop + 80002c8c: 000f0313 mv t1,t5 + 80002c90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c94: 00200293 li t0,2 + 80002c98: fe5214e3 bne tp,t0,80002c80 <test_19+0x4> + 80002c9c: fffe0eb7 lui t4,0xfffe0 + 80002ca0: 01300193 li gp,19 + 80002ca4: 11d31663 bne t1,t4,80002db0 <fail> + +0000000080002ca8 <test_20>: + 80002ca8: 00000213 li tp,0 + 80002cac: 800000b7 lui ra,0x80000 + 80002cb0: 0010809b addiw ra,ra,1 + 80002cb4: 41f0df1b sraiw t5,ra,0x1f + 80002cb8: 00000013 nop + 80002cbc: 00000013 nop + 80002cc0: 000f0313 mv t1,t5 + 80002cc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc8: 00200293 li t0,2 + 80002ccc: fe5210e3 bne tp,t0,80002cac <test_20+0x4> + 80002cd0: fff00e93 li t4,-1 + 80002cd4: 01400193 li gp,20 + 80002cd8: 0dd31c63 bne t1,t4,80002db0 <fail> + +0000000080002cdc <test_21>: + 80002cdc: 00000213 li tp,0 + 80002ce0: 800000b7 lui ra,0x80000 + 80002ce4: 4070df1b sraiw t5,ra,0x7 + 80002ce8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cec: 00200293 li t0,2 + 80002cf0: fe5218e3 bne tp,t0,80002ce0 <test_21+0x4> + 80002cf4: ff000eb7 lui t4,0xff000 + 80002cf8: 01500193 li gp,21 + 80002cfc: 0bdf1a63 bne t5,t4,80002db0 <fail> + +0000000080002d00 <test_22>: + 80002d00: 00000213 li tp,0 + 80002d04: 800000b7 lui ra,0x80000 + 80002d08: 00000013 nop + 80002d0c: 40e0df1b sraiw t5,ra,0xe + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fe5216e3 bne tp,t0,80002d04 <test_22+0x4> + 80002d1c: fffe0eb7 lui t4,0xfffe0 + 80002d20: 01600193 li gp,22 + 80002d24: 09df1663 bne t5,t4,80002db0 <fail> + +0000000080002d28 <test_23>: + 80002d28: 00000213 li tp,0 + 80002d2c: 800000b7 lui ra,0x80000 + 80002d30: 0010809b addiw ra,ra,1 + 80002d34: 00000013 nop + 80002d38: 00000013 nop + 80002d3c: 41f0df1b sraiw t5,ra,0x1f + 80002d40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d44: 00200293 li t0,2 + 80002d48: fe5212e3 bne tp,t0,80002d2c <test_23+0x4> + 80002d4c: fff00e93 li t4,-1 + 80002d50: 01700193 li gp,23 + 80002d54: 05df1e63 bne t5,t4,80002db0 <fail> + +0000000080002d58 <test_24>: + 80002d58: 41f0509b sraiw ra,zero,0x1f + 80002d5c: 00000e93 li t4,0 + 80002d60: 01800193 li gp,24 + 80002d64: 05d09663 bne ra,t4,80002db0 <fail> + +0000000080002d68 <test_25>: + 80002d68: 01f00093 li ra,31 + 80002d6c: 41c0d01b sraiw zero,ra,0x1c + 80002d70: 00000e93 li t4,0 + 80002d74: 01900193 li gp,25 + 80002d78: 03d01c63 bne zero,t4,80002db0 <fail> + +0000000080002d7c <test_26>: + 80002d7c: 0070009b addiw ra,zero,7 + 80002d80: 03509093 slli ra,ra,0x35 + 80002d84: 41c0df1b sraiw t5,ra,0x1c + 80002d88: 00000e93 li t4,0 + 80002d8c: 01a00193 li gp,26 + 80002d90: 03df1063 bne t5,t4,80002db0 <fail> + +0000000080002d94 <test_27>: + 80002d94: 00f0009b addiw ra,zero,15 + 80002d98: 01c09093 slli ra,ra,0x1c + 80002d9c: 4040df1b sraiw t5,ra,0x4 + 80002da0: ff000eb7 lui t4,0xff000 + 80002da4: 01b00193 li gp,27 + 80002da8: 01df1463 bne t5,t4,80002db0 <fail> + 80002dac: 00301a63 bne zero,gp,80002dc0 <pass> + +0000000080002db0 <fail>: + 80002db0: 00119513 slli a0,gp,0x1 + 80002db4: 00050063 beqz a0,80002db4 <fail+0x4> + 80002db8: 00156513 ori a0,a0,1 + 80002dbc: 00000073 ecall + +0000000080002dc0 <pass>: + 80002dc0: 00100513 li a0,1 + 80002dc4: 00000073 ecall + 80002dc8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sraiw.elf b/test/riscv/tests/rv64ui-v-sraiw.elf Binary files differnew file mode 100644 index 00000000..9a16cd8e --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sraiw.elf diff --git a/test/riscv/tests/rv64ui-v-sraw.dump b/test/riscv/tests/rv64ui-v-sraw.dump new file mode 100644 index 00000000..a2eaf367 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sraw.dump @@ -0,0 +1,1281 @@ + +rv64ui-v-sraw: 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,sbadaddr + 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 <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: 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: c2868693 addi a3,a3,-984 # 80003080 <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: c5c60613 addi a2,a2,-932 # 80003110 <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: 00001617 auipc a2,0x1 + 80002508: c2460613 addi a2,a2,-988 # 80003128 <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: 00001697 auipc a3,0x1 + 80002558: b7468693 addi a3,a3,-1164 # 800030c8 <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: 00001697 auipc a3,0x1 + 80002674: b9068693 addi a3,a3,-1136 # 80003200 <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: 00001617 auipc a2,0x1 + 800026cc: b1060613 addi a2,a2,-1264 # 800031d8 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a4468693 addi a3,a3,-1468 # 80003230 <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: 00001697 auipc a3,0x1 + 80002840: 96468693 addi a3,a3,-1692 # 800031a0 <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: 00001697 auipc a3,0x1 + 80002878: 8f468693 addi a3,a3,-1804 # 80003168 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 03400793 li a5,52 + 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: 077137b7 lui a5,0x7713 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 07b78793 addi a5,a5,123 # 771307b <_start-0x788ecf85> + 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: 800000b7 lui ra,0x80000 + 80002acc: 00000113 li sp,0 + 80002ad0: 4020df3b sraw t5,ra,sp + 80002ad4: 80000eb7 lui t4,0x80000 + 80002ad8: 00200193 li gp,2 + 80002adc: 59df1463 bne t5,t4,80003064 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 800000b7 lui ra,0x80000 + 80002ae4: 00100113 li sp,1 + 80002ae8: 4020df3b sraw t5,ra,sp + 80002aec: c0000eb7 lui t4,0xc0000 + 80002af0: 00300193 li gp,3 + 80002af4: 57df1863 bne t5,t4,80003064 <fail> + +0000000080002af8 <test_4>: + 80002af8: 800000b7 lui ra,0x80000 + 80002afc: 00700113 li sp,7 + 80002b00: 4020df3b sraw t5,ra,sp + 80002b04: ff000eb7 lui t4,0xff000 + 80002b08: 00400193 li gp,4 + 80002b0c: 55df1c63 bne t5,t4,80003064 <fail> + +0000000080002b10 <test_5>: + 80002b10: 800000b7 lui ra,0x80000 + 80002b14: 00e00113 li sp,14 + 80002b18: 4020df3b sraw t5,ra,sp + 80002b1c: fffe0eb7 lui t4,0xfffe0 + 80002b20: 00500193 li gp,5 + 80002b24: 55df1063 bne t5,t4,80003064 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 0010809b addiw ra,ra,1 + 80002b30: 01f00113 li sp,31 + 80002b34: 4020df3b sraw t5,ra,sp + 80002b38: fff00e93 li t4,-1 + 80002b3c: 00600193 li gp,6 + 80002b40: 53df1263 bne t5,t4,80003064 <fail> + +0000000080002b44 <test_7>: + 80002b44: 800000b7 lui ra,0x80000 + 80002b48: fff0809b addiw ra,ra,-1 + 80002b4c: 00000113 li sp,0 + 80002b50: 4020df3b sraw t5,ra,sp + 80002b54: 80000eb7 lui t4,0x80000 + 80002b58: fffe8e9b addiw t4,t4,-1 + 80002b5c: 00700193 li gp,7 + 80002b60: 51df1263 bne t5,t4,80003064 <fail> + +0000000080002b64 <test_8>: + 80002b64: 800000b7 lui ra,0x80000 + 80002b68: fff0809b addiw ra,ra,-1 + 80002b6c: 00100113 li sp,1 + 80002b70: 4020df3b sraw t5,ra,sp + 80002b74: 40000eb7 lui t4,0x40000 + 80002b78: fffe8e9b addiw t4,t4,-1 + 80002b7c: 00800193 li gp,8 + 80002b80: 4fdf1263 bne t5,t4,80003064 <fail> + +0000000080002b84 <test_9>: + 80002b84: 800000b7 lui ra,0x80000 + 80002b88: fff0809b addiw ra,ra,-1 + 80002b8c: 00700113 li sp,7 + 80002b90: 4020df3b sraw t5,ra,sp + 80002b94: 01000eb7 lui t4,0x1000 + 80002b98: fffe8e9b addiw t4,t4,-1 + 80002b9c: 00900193 li gp,9 + 80002ba0: 4ddf1263 bne t5,t4,80003064 <fail> + +0000000080002ba4 <test_10>: + 80002ba4: 800000b7 lui ra,0x80000 + 80002ba8: fff0809b addiw ra,ra,-1 + 80002bac: 00e00113 li sp,14 + 80002bb0: 4020df3b sraw t5,ra,sp + 80002bb4: 00020eb7 lui t4,0x20 + 80002bb8: fffe8e9b addiw t4,t4,-1 + 80002bbc: 00a00193 li gp,10 + 80002bc0: 4bdf1263 bne t5,t4,80003064 <fail> + +0000000080002bc4 <test_11>: + 80002bc4: 800000b7 lui ra,0x80000 + 80002bc8: fff0809b addiw ra,ra,-1 + 80002bcc: 01f00113 li sp,31 + 80002bd0: 4020df3b sraw t5,ra,sp + 80002bd4: 00000e93 li t4,0 + 80002bd8: 00b00193 li gp,11 + 80002bdc: 49df1463 bne t5,t4,80003064 <fail> + +0000000080002be0 <test_12>: + 80002be0: 818180b7 lui ra,0x81818 + 80002be4: 1810809b addiw ra,ra,385 + 80002be8: 00000113 li sp,0 + 80002bec: 4020df3b sraw t5,ra,sp + 80002bf0: 81818eb7 lui t4,0x81818 + 80002bf4: 181e8e9b addiw t4,t4,385 + 80002bf8: 00c00193 li gp,12 + 80002bfc: 47df1463 bne t5,t4,80003064 <fail> + +0000000080002c00 <test_13>: + 80002c00: 818180b7 lui ra,0x81818 + 80002c04: 1810809b addiw ra,ra,385 + 80002c08: 00100113 li sp,1 + 80002c0c: 4020df3b sraw t5,ra,sp + 80002c10: c0c0ceb7 lui t4,0xc0c0c + 80002c14: 0c0e8e9b addiw t4,t4,192 + 80002c18: 00d00193 li gp,13 + 80002c1c: 45df1463 bne t5,t4,80003064 <fail> + +0000000080002c20 <test_14>: + 80002c20: 818180b7 lui ra,0x81818 + 80002c24: 1810809b addiw ra,ra,385 + 80002c28: 00700113 li sp,7 + 80002c2c: 4020df3b sraw t5,ra,sp + 80002c30: ff030eb7 lui t4,0xff030 + 80002c34: 303e8e9b addiw t4,t4,771 + 80002c38: 00e00193 li gp,14 + 80002c3c: 43df1463 bne t5,t4,80003064 <fail> + +0000000080002c40 <test_15>: + 80002c40: 818180b7 lui ra,0x81818 + 80002c44: 1810809b addiw ra,ra,385 + 80002c48: 00e00113 li sp,14 + 80002c4c: 4020df3b sraw t5,ra,sp + 80002c50: fffe0eb7 lui t4,0xfffe0 + 80002c54: 606e8e9b addiw t4,t4,1542 + 80002c58: 00f00193 li gp,15 + 80002c5c: 41df1463 bne t5,t4,80003064 <fail> + +0000000080002c60 <test_16>: + 80002c60: 818180b7 lui ra,0x81818 + 80002c64: 1810809b addiw ra,ra,385 + 80002c68: 01f00113 li sp,31 + 80002c6c: 4020df3b sraw t5,ra,sp + 80002c70: fff00e93 li t4,-1 + 80002c74: 01000193 li gp,16 + 80002c78: 3fdf1663 bne t5,t4,80003064 <fail> + +0000000080002c7c <test_17>: + 80002c7c: 818180b7 lui ra,0x81818 + 80002c80: 1810809b addiw ra,ra,385 + 80002c84: fe000113 li sp,-32 + 80002c88: 4020df3b sraw t5,ra,sp + 80002c8c: 81818eb7 lui t4,0x81818 + 80002c90: 181e8e9b addiw t4,t4,385 + 80002c94: 01100193 li gp,17 + 80002c98: 3ddf1663 bne t5,t4,80003064 <fail> + +0000000080002c9c <test_18>: + 80002c9c: 818180b7 lui ra,0x81818 + 80002ca0: 1810809b addiw ra,ra,385 + 80002ca4: fe100113 li sp,-31 + 80002ca8: 4020df3b sraw t5,ra,sp + 80002cac: c0c0ceb7 lui t4,0xc0c0c + 80002cb0: 0c0e8e9b addiw t4,t4,192 + 80002cb4: 01200193 li gp,18 + 80002cb8: 3bdf1663 bne t5,t4,80003064 <fail> + +0000000080002cbc <test_19>: + 80002cbc: 818180b7 lui ra,0x81818 + 80002cc0: 1810809b addiw ra,ra,385 + 80002cc4: fe700113 li sp,-25 + 80002cc8: 4020df3b sraw t5,ra,sp + 80002ccc: ff030eb7 lui t4,0xff030 + 80002cd0: 303e8e9b addiw t4,t4,771 + 80002cd4: 01300193 li gp,19 + 80002cd8: 39df1663 bne t5,t4,80003064 <fail> + +0000000080002cdc <test_20>: + 80002cdc: 818180b7 lui ra,0x81818 + 80002ce0: 1810809b addiw ra,ra,385 + 80002ce4: fee00113 li sp,-18 + 80002ce8: 4020df3b sraw t5,ra,sp + 80002cec: fffe0eb7 lui t4,0xfffe0 + 80002cf0: 606e8e9b addiw t4,t4,1542 + 80002cf4: 01400193 li gp,20 + 80002cf8: 37df1663 bne t5,t4,80003064 <fail> + +0000000080002cfc <test_21>: + 80002cfc: 818180b7 lui ra,0x81818 + 80002d00: 1810809b addiw ra,ra,385 + 80002d04: fff00113 li sp,-1 + 80002d08: 4020df3b sraw t5,ra,sp + 80002d0c: fff00e93 li t4,-1 + 80002d10: 01500193 li gp,21 + 80002d14: 35df1863 bne t5,t4,80003064 <fail> + +0000000080002d18 <test_22>: + 80002d18: 800000b7 lui ra,0x80000 + 80002d1c: 00700113 li sp,7 + 80002d20: 4020d0bb sraw ra,ra,sp + 80002d24: ff000eb7 lui t4,0xff000 + 80002d28: 01600193 li gp,22 + 80002d2c: 33d09c63 bne ra,t4,80003064 <fail> + +0000000080002d30 <test_23>: + 80002d30: 800000b7 lui ra,0x80000 + 80002d34: 00e00113 li sp,14 + 80002d38: 4020d13b sraw sp,ra,sp + 80002d3c: fffe0eb7 lui t4,0xfffe0 + 80002d40: 01700193 li gp,23 + 80002d44: 33d11063 bne sp,t4,80003064 <fail> + +0000000080002d48 <test_24>: + 80002d48: 00700093 li ra,7 + 80002d4c: 4010d0bb sraw ra,ra,ra + 80002d50: 00000e93 li t4,0 + 80002d54: 01800193 li gp,24 + 80002d58: 31d09663 bne ra,t4,80003064 <fail> + +0000000080002d5c <test_25>: + 80002d5c: 00000213 li tp,0 + 80002d60: 800000b7 lui ra,0x80000 + 80002d64: 00700113 li sp,7 + 80002d68: 4020df3b sraw t5,ra,sp + 80002d6c: 000f0313 mv t1,t5 + 80002d70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d74: 00200293 li t0,2 + 80002d78: fe5214e3 bne tp,t0,80002d60 <test_25+0x4> + 80002d7c: ff000eb7 lui t4,0xff000 + 80002d80: 01900193 li gp,25 + 80002d84: 2fd31063 bne t1,t4,80003064 <fail> + +0000000080002d88 <test_26>: + 80002d88: 00000213 li tp,0 + 80002d8c: 800000b7 lui ra,0x80000 + 80002d90: 00e00113 li sp,14 + 80002d94: 4020df3b sraw t5,ra,sp + 80002d98: 00000013 nop + 80002d9c: 000f0313 mv t1,t5 + 80002da0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da4: 00200293 li t0,2 + 80002da8: fe5212e3 bne tp,t0,80002d8c <test_26+0x4> + 80002dac: fffe0eb7 lui t4,0xfffe0 + 80002db0: 01a00193 li gp,26 + 80002db4: 2bd31863 bne t1,t4,80003064 <fail> + +0000000080002db8 <test_27>: + 80002db8: 00000213 li tp,0 + 80002dbc: 800000b7 lui ra,0x80000 + 80002dc0: 01f00113 li sp,31 + 80002dc4: 4020df3b sraw t5,ra,sp + 80002dc8: 00000013 nop + 80002dcc: 00000013 nop + 80002dd0: 000f0313 mv t1,t5 + 80002dd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd8: 00200293 li t0,2 + 80002ddc: fe5210e3 bne tp,t0,80002dbc <test_27+0x4> + 80002de0: fff00e93 li t4,-1 + 80002de4: 01b00193 li gp,27 + 80002de8: 27d31e63 bne t1,t4,80003064 <fail> + +0000000080002dec <test_28>: + 80002dec: 00000213 li tp,0 + 80002df0: 800000b7 lui ra,0x80000 + 80002df4: 00700113 li sp,7 + 80002df8: 4020df3b sraw t5,ra,sp + 80002dfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e00: 00200293 li t0,2 + 80002e04: fe5216e3 bne tp,t0,80002df0 <test_28+0x4> + 80002e08: ff000eb7 lui t4,0xff000 + 80002e0c: 01c00193 li gp,28 + 80002e10: 25df1a63 bne t5,t4,80003064 <fail> + +0000000080002e14 <test_29>: + 80002e14: 00000213 li tp,0 + 80002e18: 800000b7 lui ra,0x80000 + 80002e1c: 00e00113 li sp,14 + 80002e20: 00000013 nop + 80002e24: 4020df3b sraw t5,ra,sp + 80002e28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e2c: 00200293 li t0,2 + 80002e30: fe5214e3 bne tp,t0,80002e18 <test_29+0x4> + 80002e34: fffe0eb7 lui t4,0xfffe0 + 80002e38: 01d00193 li gp,29 + 80002e3c: 23df1463 bne t5,t4,80003064 <fail> + +0000000080002e40 <test_30>: + 80002e40: 00000213 li tp,0 + 80002e44: 800000b7 lui ra,0x80000 + 80002e48: 01f00113 li sp,31 + 80002e4c: 00000013 nop + 80002e50: 00000013 nop + 80002e54: 4020df3b sraw t5,ra,sp + 80002e58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e5c: 00200293 li t0,2 + 80002e60: fe5212e3 bne tp,t0,80002e44 <test_30+0x4> + 80002e64: fff00e93 li t4,-1 + 80002e68: 01e00193 li gp,30 + 80002e6c: 1fdf1c63 bne t5,t4,80003064 <fail> + +0000000080002e70 <test_31>: + 80002e70: 00000213 li tp,0 + 80002e74: 800000b7 lui ra,0x80000 + 80002e78: 00000013 nop + 80002e7c: 00700113 li sp,7 + 80002e80: 4020df3b sraw t5,ra,sp + 80002e84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e88: 00200293 li t0,2 + 80002e8c: fe5214e3 bne tp,t0,80002e74 <test_31+0x4> + 80002e90: ff000eb7 lui t4,0xff000 + 80002e94: 01f00193 li gp,31 + 80002e98: 1ddf1663 bne t5,t4,80003064 <fail> + +0000000080002e9c <test_32>: + 80002e9c: 00000213 li tp,0 + 80002ea0: 800000b7 lui ra,0x80000 + 80002ea4: 00000013 nop + 80002ea8: 00e00113 li sp,14 + 80002eac: 00000013 nop + 80002eb0: 4020df3b sraw t5,ra,sp + 80002eb4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002eb8: 00200293 li t0,2 + 80002ebc: fe5212e3 bne tp,t0,80002ea0 <test_32+0x4> + 80002ec0: fffe0eb7 lui t4,0xfffe0 + 80002ec4: 02000193 li gp,32 + 80002ec8: 19df1e63 bne t5,t4,80003064 <fail> + +0000000080002ecc <test_33>: + 80002ecc: 00000213 li tp,0 + 80002ed0: 800000b7 lui ra,0x80000 + 80002ed4: 00000013 nop + 80002ed8: 00000013 nop + 80002edc: 01f00113 li sp,31 + 80002ee0: 4020df3b sraw t5,ra,sp + 80002ee4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee8: 00200293 li t0,2 + 80002eec: fe5212e3 bne tp,t0,80002ed0 <test_33+0x4> + 80002ef0: fff00e93 li t4,-1 + 80002ef4: 02100193 li gp,33 + 80002ef8: 17df1663 bne t5,t4,80003064 <fail> + +0000000080002efc <test_34>: + 80002efc: 00000213 li tp,0 + 80002f00: 00700113 li sp,7 + 80002f04: 800000b7 lui ra,0x80000 + 80002f08: 4020df3b sraw t5,ra,sp + 80002f0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f10: 00200293 li t0,2 + 80002f14: fe5216e3 bne tp,t0,80002f00 <test_34+0x4> + 80002f18: ff000eb7 lui t4,0xff000 + 80002f1c: 02200193 li gp,34 + 80002f20: 15df1263 bne t5,t4,80003064 <fail> + +0000000080002f24 <test_35>: + 80002f24: 00000213 li tp,0 + 80002f28: 00e00113 li sp,14 + 80002f2c: 800000b7 lui ra,0x80000 + 80002f30: 00000013 nop + 80002f34: 4020df3b sraw t5,ra,sp + 80002f38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f3c: 00200293 li t0,2 + 80002f40: fe5214e3 bne tp,t0,80002f28 <test_35+0x4> + 80002f44: fffe0eb7 lui t4,0xfffe0 + 80002f48: 02300193 li gp,35 + 80002f4c: 11df1c63 bne t5,t4,80003064 <fail> + +0000000080002f50 <test_36>: + 80002f50: 00000213 li tp,0 + 80002f54: 01f00113 li sp,31 + 80002f58: 800000b7 lui ra,0x80000 + 80002f5c: 00000013 nop + 80002f60: 00000013 nop + 80002f64: 4020df3b sraw t5,ra,sp + 80002f68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f6c: 00200293 li t0,2 + 80002f70: fe5212e3 bne tp,t0,80002f54 <test_36+0x4> + 80002f74: fff00e93 li t4,-1 + 80002f78: 02400193 li gp,36 + 80002f7c: 0fdf1463 bne t5,t4,80003064 <fail> + +0000000080002f80 <test_37>: + 80002f80: 00000213 li tp,0 + 80002f84: 00700113 li sp,7 + 80002f88: 00000013 nop + 80002f8c: 800000b7 lui ra,0x80000 + 80002f90: 4020df3b sraw t5,ra,sp + 80002f94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f98: 00200293 li t0,2 + 80002f9c: fe5214e3 bne tp,t0,80002f84 <test_37+0x4> + 80002fa0: ff000eb7 lui t4,0xff000 + 80002fa4: 02500193 li gp,37 + 80002fa8: 0bdf1e63 bne t5,t4,80003064 <fail> + +0000000080002fac <test_38>: + 80002fac: 00000213 li tp,0 + 80002fb0: 00e00113 li sp,14 + 80002fb4: 00000013 nop + 80002fb8: 800000b7 lui ra,0x80000 + 80002fbc: 00000013 nop + 80002fc0: 4020df3b sraw t5,ra,sp + 80002fc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fc8: 00200293 li t0,2 + 80002fcc: fe5212e3 bne tp,t0,80002fb0 <test_38+0x4> + 80002fd0: fffe0eb7 lui t4,0xfffe0 + 80002fd4: 02600193 li gp,38 + 80002fd8: 09df1663 bne t5,t4,80003064 <fail> + +0000000080002fdc <test_39>: + 80002fdc: 00000213 li tp,0 + 80002fe0: 01f00113 li sp,31 + 80002fe4: 00000013 nop + 80002fe8: 00000013 nop + 80002fec: 800000b7 lui ra,0x80000 + 80002ff0: 4020df3b sraw t5,ra,sp + 80002ff4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ff8: 00200293 li t0,2 + 80002ffc: fe5212e3 bne tp,t0,80002fe0 <test_39+0x4> + 80003000: fff00e93 li t4,-1 + 80003004: 02700193 li gp,39 + 80003008: 05df1e63 bne t5,t4,80003064 <fail> + +000000008000300c <test_40>: + 8000300c: 00f00093 li ra,15 + 80003010: 4010513b sraw sp,zero,ra + 80003014: 00000e93 li t4,0 + 80003018: 02800193 li gp,40 + 8000301c: 05d11463 bne sp,t4,80003064 <fail> + +0000000080003020 <test_41>: + 80003020: 02000093 li ra,32 + 80003024: 4000d13b sraw sp,ra,zero + 80003028: 02000e93 li t4,32 + 8000302c: 02900193 li gp,41 + 80003030: 03d11a63 bne sp,t4,80003064 <fail> + +0000000080003034 <test_42>: + 80003034: 400050bb sraw ra,zero,zero + 80003038: 00000e93 li t4,0 + 8000303c: 02a00193 li gp,42 + 80003040: 03d09263 bne ra,t4,80003064 <fail> + +0000000080003044 <test_43>: + 80003044: 40000093 li ra,1024 + 80003048: 00001137 lui sp,0x1 + 8000304c: 8001011b addiw sp,sp,-2048 + 80003050: 4020d03b sraw zero,ra,sp + 80003054: 00000e93 li t4,0 + 80003058: 02b00193 li gp,43 + 8000305c: 01d01463 bne zero,t4,80003064 <fail> + 80003060: 00301a63 bne zero,gp,80003074 <pass> + +0000000080003064 <fail>: + 80003064: 00119513 slli a0,gp,0x1 + 80003068: 00050063 beqz a0,80003068 <fail+0x4> + 8000306c: 00156513 ori a0,a0,1 + 80003070: 00000073 ecall + +0000000080003074 <pass>: + 80003074: 00100513 li a0,1 + 80003078: 00000073 ecall + 8000307c: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sraw.elf b/test/riscv/tests/rv64ui-v-sraw.elf Binary files differnew file mode 100644 index 00000000..8894a1c3 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sraw.elf diff --git a/test/riscv/tests/rv64ui-v-srl.dump b/test/riscv/tests/rv64ui-v-srl.dump new file mode 100644 index 00000000..1fb24ac1 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srl.dump @@ -0,0 +1,1308 @@ + +rv64ui-v-srl: 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,sbadaddr + 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 <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: 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: c9868693 addi a3,a3,-872 # 800030f0 <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: ccc60613 addi a2,a2,-820 # 80003180 <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: c9460613 addi a2,a2,-876 # 80003198 <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: be468693 addi a3,a3,-1052 # 80003138 <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: c0068693 addi a3,a3,-1024 # 80003270 <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: b8060613 addi a2,a2,-1152 # 80003248 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: ab468693 addi a3,a3,-1356 # 800032a0 <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: 9d468693 addi a3,a3,-1580 # 80003210 <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: 96468693 addi a3,a3,-1692 # 800031d8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 02700793 li a5,39 + 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: 01e8a7b7 lui a5,0x1e8a + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 84078793 addi a5,a5,-1984 # 1e89840 <_start-0x7e1767c0> + 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: 800000b7 lui ra,0x80000 + 80002acc: 00000113 li sp,0 + 80002ad0: 0020df33 srl t5,ra,sp + 80002ad4: 80000eb7 lui t4,0x80000 + 80002ad8: 00200193 li gp,2 + 80002adc: 5fdf1a63 bne t5,t4,800030d0 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 800000b7 lui ra,0x80000 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0020df33 srl t5,ra,sp + 80002aec: 00100e9b addiw t4,zero,1 + 80002af0: 021e9e93 slli t4,t4,0x21 + 80002af4: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff780f> + 80002af8: 01ee9e93 slli t4,t4,0x1e + 80002afc: 00300193 li gp,3 + 80002b00: 5ddf1863 bne t5,t4,800030d0 <fail> + +0000000080002b04 <test_4>: + 80002b04: 800000b7 lui ra,0x80000 + 80002b08: 00700113 li sp,7 + 80002b0c: 0020df33 srl t5,ra,sp + 80002b10: 00100e9b addiw t4,zero,1 + 80002b14: 021e9e93 slli t4,t4,0x21 + 80002b18: fffe8e93 addi t4,t4,-1 + 80002b1c: 018e9e93 slli t4,t4,0x18 + 80002b20: 00400193 li gp,4 + 80002b24: 5bdf1663 bne t5,t4,800030d0 <fail> + +0000000080002b28 <test_5>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00e00113 li sp,14 + 80002b30: 0020df33 srl t5,ra,sp + 80002b34: 00100e9b addiw t4,zero,1 + 80002b38: 021e9e93 slli t4,t4,0x21 + 80002b3c: fffe8e93 addi t4,t4,-1 + 80002b40: 011e9e93 slli t4,t4,0x11 + 80002b44: 00500193 li gp,5 + 80002b48: 59df1463 bne t5,t4,800030d0 <fail> + +0000000080002b4c <test_6>: + 80002b4c: 800000b7 lui ra,0x80000 + 80002b50: 0010809b addiw ra,ra,1 + 80002b54: 01f00113 li sp,31 + 80002b58: 0020df33 srl t5,ra,sp + 80002b5c: 00100e9b addiw t4,zero,1 + 80002b60: 021e9e93 slli t4,t4,0x21 + 80002b64: fffe8e93 addi t4,t4,-1 + 80002b68: 00600193 li gp,6 + 80002b6c: 57df1263 bne t5,t4,800030d0 <fail> + +0000000080002b70 <test_7>: + 80002b70: fff00093 li ra,-1 + 80002b74: 00000113 li sp,0 + 80002b78: 0020df33 srl t5,ra,sp + 80002b7c: fff00e93 li t4,-1 + 80002b80: 00700193 li gp,7 + 80002b84: 55df1663 bne t5,t4,800030d0 <fail> + +0000000080002b88 <test_8>: + 80002b88: fff00093 li ra,-1 + 80002b8c: 00100113 li sp,1 + 80002b90: 0020df33 srl t5,ra,sp + 80002b94: fff00e9b addiw t4,zero,-1 + 80002b98: 03fe9e93 slli t4,t4,0x3f + 80002b9c: fffe8e93 addi t4,t4,-1 + 80002ba0: 00800193 li gp,8 + 80002ba4: 53df1663 bne t5,t4,800030d0 <fail> + +0000000080002ba8 <test_9>: + 80002ba8: fff00093 li ra,-1 + 80002bac: 00700113 li sp,7 + 80002bb0: 0020df33 srl t5,ra,sp + 80002bb4: 00100e9b addiw t4,zero,1 + 80002bb8: 039e9e93 slli t4,t4,0x39 + 80002bbc: fffe8e93 addi t4,t4,-1 + 80002bc0: 00900193 li gp,9 + 80002bc4: 51df1663 bne t5,t4,800030d0 <fail> + +0000000080002bc8 <test_10>: + 80002bc8: fff00093 li ra,-1 + 80002bcc: 00e00113 li sp,14 + 80002bd0: 0020df33 srl t5,ra,sp + 80002bd4: 00100e9b addiw t4,zero,1 + 80002bd8: 032e9e93 slli t4,t4,0x32 + 80002bdc: fffe8e93 addi t4,t4,-1 + 80002be0: 00a00193 li gp,10 + 80002be4: 4fdf1663 bne t5,t4,800030d0 <fail> + +0000000080002be8 <test_11>: + 80002be8: fff00093 li ra,-1 + 80002bec: 01f00113 li sp,31 + 80002bf0: 0020df33 srl t5,ra,sp + 80002bf4: 00100e9b addiw t4,zero,1 + 80002bf8: 021e9e93 slli t4,t4,0x21 + 80002bfc: fffe8e93 addi t4,t4,-1 + 80002c00: 00b00193 li gp,11 + 80002c04: 4ddf1663 bne t5,t4,800030d0 <fail> + +0000000080002c08 <test_12>: + 80002c08: 212120b7 lui ra,0x21212 + 80002c0c: 1210809b addiw ra,ra,289 + 80002c10: 00000113 li sp,0 + 80002c14: 0020df33 srl t5,ra,sp + 80002c18: 21212eb7 lui t4,0x21212 + 80002c1c: 121e8e9b addiw t4,t4,289 + 80002c20: 00c00193 li gp,12 + 80002c24: 4bdf1663 bne t5,t4,800030d0 <fail> + +0000000080002c28 <test_13>: + 80002c28: 212120b7 lui ra,0x21212 + 80002c2c: 1210809b addiw ra,ra,289 + 80002c30: 00100113 li sp,1 + 80002c34: 0020df33 srl t5,ra,sp + 80002c38: 10909eb7 lui t4,0x10909 + 80002c3c: 090e8e9b addiw t4,t4,144 + 80002c40: 00d00193 li gp,13 + 80002c44: 49df1663 bne t5,t4,800030d0 <fail> + +0000000080002c48 <test_14>: + 80002c48: 212120b7 lui ra,0x21212 + 80002c4c: 1210809b addiw ra,ra,289 + 80002c50: 00700113 li sp,7 + 80002c54: 0020df33 srl t5,ra,sp + 80002c58: 00424eb7 lui t4,0x424 + 80002c5c: 242e8e9b addiw t4,t4,578 + 80002c60: 00e00193 li gp,14 + 80002c64: 47df1663 bne t5,t4,800030d0 <fail> + +0000000080002c68 <test_15>: + 80002c68: 212120b7 lui ra,0x21212 + 80002c6c: 1210809b addiw ra,ra,289 + 80002c70: 00e00113 li sp,14 + 80002c74: 0020df33 srl t5,ra,sp + 80002c78: 00008eb7 lui t4,0x8 + 80002c7c: 484e8e9b addiw t4,t4,1156 + 80002c80: 00f00193 li gp,15 + 80002c84: 45df1663 bne t5,t4,800030d0 <fail> + +0000000080002c88 <test_16>: + 80002c88: 212120b7 lui ra,0x21212 + 80002c8c: 1210809b addiw ra,ra,289 + 80002c90: 01f00113 li sp,31 + 80002c94: 0020df33 srl t5,ra,sp + 80002c98: 00000e93 li t4,0 + 80002c9c: 01000193 li gp,16 + 80002ca0: 43df1863 bne t5,t4,800030d0 <fail> + +0000000080002ca4 <test_17>: + 80002ca4: 212120b7 lui ra,0x21212 + 80002ca8: 1210809b addiw ra,ra,289 + 80002cac: fc000113 li sp,-64 + 80002cb0: 0020df33 srl t5,ra,sp + 80002cb4: 21212eb7 lui t4,0x21212 + 80002cb8: 121e8e9b addiw t4,t4,289 + 80002cbc: 01100193 li gp,17 + 80002cc0: 41df1863 bne t5,t4,800030d0 <fail> + +0000000080002cc4 <test_18>: + 80002cc4: 212120b7 lui ra,0x21212 + 80002cc8: 1210809b addiw ra,ra,289 + 80002ccc: fc100113 li sp,-63 + 80002cd0: 0020df33 srl t5,ra,sp + 80002cd4: 10909eb7 lui t4,0x10909 + 80002cd8: 090e8e9b addiw t4,t4,144 + 80002cdc: 01200193 li gp,18 + 80002ce0: 3fdf1863 bne t5,t4,800030d0 <fail> + +0000000080002ce4 <test_19>: + 80002ce4: 212120b7 lui ra,0x21212 + 80002ce8: 1210809b addiw ra,ra,289 + 80002cec: fc700113 li sp,-57 + 80002cf0: 0020df33 srl t5,ra,sp + 80002cf4: 00424eb7 lui t4,0x424 + 80002cf8: 242e8e9b addiw t4,t4,578 + 80002cfc: 01300193 li gp,19 + 80002d00: 3ddf1863 bne t5,t4,800030d0 <fail> + +0000000080002d04 <test_20>: + 80002d04: 212120b7 lui ra,0x21212 + 80002d08: 1210809b addiw ra,ra,289 + 80002d0c: fce00113 li sp,-50 + 80002d10: 0020df33 srl t5,ra,sp + 80002d14: 00008eb7 lui t4,0x8 + 80002d18: 484e8e9b addiw t4,t4,1156 + 80002d1c: 01400193 li gp,20 + 80002d20: 3bdf1863 bne t5,t4,800030d0 <fail> + +0000000080002d24 <test_21>: + 80002d24: 212120b7 lui ra,0x21212 + 80002d28: 1210809b addiw ra,ra,289 + 80002d2c: fff00113 li sp,-1 + 80002d30: 0020df33 srl t5,ra,sp + 80002d34: 00000e93 li t4,0 + 80002d38: 01500193 li gp,21 + 80002d3c: 39df1a63 bne t5,t4,800030d0 <fail> + +0000000080002d40 <test_22>: + 80002d40: 0010009b addiw ra,zero,1 + 80002d44: 01f09093 slli ra,ra,0x1f + 80002d48: 00700113 li sp,7 + 80002d4c: 0020d0b3 srl ra,ra,sp + 80002d50: 01000eb7 lui t4,0x1000 + 80002d54: 01600193 li gp,22 + 80002d58: 37d09c63 bne ra,t4,800030d0 <fail> + +0000000080002d5c <test_23>: + 80002d5c: 0010009b addiw ra,zero,1 + 80002d60: 01f09093 slli ra,ra,0x1f + 80002d64: 00e00113 li sp,14 + 80002d68: 0020d133 srl sp,ra,sp + 80002d6c: 00020eb7 lui t4,0x20 + 80002d70: 01700193 li gp,23 + 80002d74: 35d11e63 bne sp,t4,800030d0 <fail> + +0000000080002d78 <test_24>: + 80002d78: 00700093 li ra,7 + 80002d7c: 0010d0b3 srl ra,ra,ra + 80002d80: 00000e93 li t4,0 + 80002d84: 01800193 li gp,24 + 80002d88: 35d09463 bne ra,t4,800030d0 <fail> + +0000000080002d8c <test_25>: + 80002d8c: 00000213 li tp,0 + 80002d90: 0010009b addiw ra,zero,1 + 80002d94: 01f09093 slli ra,ra,0x1f + 80002d98: 00700113 li sp,7 + 80002d9c: 0020df33 srl t5,ra,sp + 80002da0: 000f0313 mv t1,t5 + 80002da4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002da8: 00200293 li t0,2 + 80002dac: fe5212e3 bne tp,t0,80002d90 <test_25+0x4> + 80002db0: 01000eb7 lui t4,0x1000 + 80002db4: 01900193 li gp,25 + 80002db8: 31d31c63 bne t1,t4,800030d0 <fail> + +0000000080002dbc <test_26>: + 80002dbc: 00000213 li tp,0 + 80002dc0: 0010009b addiw ra,zero,1 + 80002dc4: 01f09093 slli ra,ra,0x1f + 80002dc8: 00e00113 li sp,14 + 80002dcc: 0020df33 srl t5,ra,sp + 80002dd0: 00000013 nop + 80002dd4: 000f0313 mv t1,t5 + 80002dd8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ddc: 00200293 li t0,2 + 80002de0: fe5210e3 bne tp,t0,80002dc0 <test_26+0x4> + 80002de4: 00020eb7 lui t4,0x20 + 80002de8: 01a00193 li gp,26 + 80002dec: 2fd31263 bne t1,t4,800030d0 <fail> + +0000000080002df0 <test_27>: + 80002df0: 00000213 li tp,0 + 80002df4: 0010009b addiw ra,zero,1 + 80002df8: 01f09093 slli ra,ra,0x1f + 80002dfc: 01f00113 li sp,31 + 80002e00: 0020df33 srl t5,ra,sp + 80002e04: 00000013 nop + 80002e08: 00000013 nop + 80002e0c: 000f0313 mv t1,t5 + 80002e10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e14: 00200293 li t0,2 + 80002e18: fc521ee3 bne tp,t0,80002df4 <test_27+0x4> + 80002e1c: 00100e93 li t4,1 + 80002e20: 01b00193 li gp,27 + 80002e24: 2bd31663 bne t1,t4,800030d0 <fail> + +0000000080002e28 <test_28>: + 80002e28: 00000213 li tp,0 + 80002e2c: 0010009b addiw ra,zero,1 + 80002e30: 01f09093 slli ra,ra,0x1f + 80002e34: 00700113 li sp,7 + 80002e38: 0020df33 srl t5,ra,sp + 80002e3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e40: 00200293 li t0,2 + 80002e44: fe5214e3 bne tp,t0,80002e2c <test_28+0x4> + 80002e48: 01000eb7 lui t4,0x1000 + 80002e4c: 01c00193 li gp,28 + 80002e50: 29df1063 bne t5,t4,800030d0 <fail> + +0000000080002e54 <test_29>: + 80002e54: 00000213 li tp,0 + 80002e58: 0010009b addiw ra,zero,1 + 80002e5c: 01f09093 slli ra,ra,0x1f + 80002e60: 00e00113 li sp,14 + 80002e64: 00000013 nop + 80002e68: 0020df33 srl t5,ra,sp + 80002e6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e70: 00200293 li t0,2 + 80002e74: fe5212e3 bne tp,t0,80002e58 <test_29+0x4> + 80002e78: 00020eb7 lui t4,0x20 + 80002e7c: 01d00193 li gp,29 + 80002e80: 25df1863 bne t5,t4,800030d0 <fail> + +0000000080002e84 <test_30>: + 80002e84: 00000213 li tp,0 + 80002e88: 0010009b addiw ra,zero,1 + 80002e8c: 01f09093 slli ra,ra,0x1f + 80002e90: 01f00113 li sp,31 + 80002e94: 00000013 nop + 80002e98: 00000013 nop + 80002e9c: 0020df33 srl t5,ra,sp + 80002ea0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea4: 00200293 li t0,2 + 80002ea8: fe5210e3 bne tp,t0,80002e88 <test_30+0x4> + 80002eac: 00100e93 li t4,1 + 80002eb0: 01e00193 li gp,30 + 80002eb4: 21df1e63 bne t5,t4,800030d0 <fail> + +0000000080002eb8 <test_31>: + 80002eb8: 00000213 li tp,0 + 80002ebc: 0010009b addiw ra,zero,1 + 80002ec0: 01f09093 slli ra,ra,0x1f + 80002ec4: 00000013 nop + 80002ec8: 00700113 li sp,7 + 80002ecc: 0020df33 srl t5,ra,sp + 80002ed0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ed4: 00200293 li t0,2 + 80002ed8: fe5212e3 bne tp,t0,80002ebc <test_31+0x4> + 80002edc: 01000eb7 lui t4,0x1000 + 80002ee0: 01f00193 li gp,31 + 80002ee4: 1fdf1663 bne t5,t4,800030d0 <fail> + +0000000080002ee8 <test_32>: + 80002ee8: 00000213 li tp,0 + 80002eec: 0010009b addiw ra,zero,1 + 80002ef0: 01f09093 slli ra,ra,0x1f + 80002ef4: 00000013 nop + 80002ef8: 00e00113 li sp,14 + 80002efc: 00000013 nop + 80002f00: 0020df33 srl t5,ra,sp + 80002f04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f08: 00200293 li t0,2 + 80002f0c: fe5210e3 bne tp,t0,80002eec <test_32+0x4> + 80002f10: 00020eb7 lui t4,0x20 + 80002f14: 02000193 li gp,32 + 80002f18: 1bdf1c63 bne t5,t4,800030d0 <fail> + +0000000080002f1c <test_33>: + 80002f1c: 00000213 li tp,0 + 80002f20: 0010009b addiw ra,zero,1 + 80002f24: 01f09093 slli ra,ra,0x1f + 80002f28: 00000013 nop + 80002f2c: 00000013 nop + 80002f30: 01f00113 li sp,31 + 80002f34: 0020df33 srl t5,ra,sp + 80002f38: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f3c: 00200293 li t0,2 + 80002f40: fe5210e3 bne tp,t0,80002f20 <test_33+0x4> + 80002f44: 00100e93 li t4,1 + 80002f48: 02100193 li gp,33 + 80002f4c: 19df1263 bne t5,t4,800030d0 <fail> + +0000000080002f50 <test_34>: + 80002f50: 00000213 li tp,0 + 80002f54: 00700113 li sp,7 + 80002f58: 0010009b addiw ra,zero,1 + 80002f5c: 01f09093 slli ra,ra,0x1f + 80002f60: 0020df33 srl t5,ra,sp + 80002f64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f68: 00200293 li t0,2 + 80002f6c: fe5214e3 bne tp,t0,80002f54 <test_34+0x4> + 80002f70: 01000eb7 lui t4,0x1000 + 80002f74: 02200193 li gp,34 + 80002f78: 15df1c63 bne t5,t4,800030d0 <fail> + +0000000080002f7c <test_35>: + 80002f7c: 00000213 li tp,0 + 80002f80: 00e00113 li sp,14 + 80002f84: 0010009b addiw ra,zero,1 + 80002f88: 01f09093 slli ra,ra,0x1f + 80002f8c: 00000013 nop + 80002f90: 0020df33 srl t5,ra,sp + 80002f94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f98: 00200293 li t0,2 + 80002f9c: fe5212e3 bne tp,t0,80002f80 <test_35+0x4> + 80002fa0: 00020eb7 lui t4,0x20 + 80002fa4: 02300193 li gp,35 + 80002fa8: 13df1463 bne t5,t4,800030d0 <fail> + +0000000080002fac <test_36>: + 80002fac: 00000213 li tp,0 + 80002fb0: 01f00113 li sp,31 + 80002fb4: 0010009b addiw ra,zero,1 + 80002fb8: 01f09093 slli ra,ra,0x1f + 80002fbc: 00000013 nop + 80002fc0: 00000013 nop + 80002fc4: 0020df33 srl t5,ra,sp + 80002fc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fcc: 00200293 li t0,2 + 80002fd0: fe5210e3 bne tp,t0,80002fb0 <test_36+0x4> + 80002fd4: 00100e93 li t4,1 + 80002fd8: 02400193 li gp,36 + 80002fdc: 0fdf1a63 bne t5,t4,800030d0 <fail> + +0000000080002fe0 <test_37>: + 80002fe0: 00000213 li tp,0 + 80002fe4: 00700113 li sp,7 + 80002fe8: 00000013 nop + 80002fec: 0010009b addiw ra,zero,1 + 80002ff0: 01f09093 slli ra,ra,0x1f + 80002ff4: 0020df33 srl t5,ra,sp + 80002ff8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ffc: 00200293 li t0,2 + 80003000: fe5212e3 bne tp,t0,80002fe4 <test_37+0x4> + 80003004: 01000eb7 lui t4,0x1000 + 80003008: 02500193 li gp,37 + 8000300c: 0ddf1263 bne t5,t4,800030d0 <fail> + +0000000080003010 <test_38>: + 80003010: 00000213 li tp,0 + 80003014: 00e00113 li sp,14 + 80003018: 00000013 nop + 8000301c: 0010009b addiw ra,zero,1 + 80003020: 01f09093 slli ra,ra,0x1f + 80003024: 00000013 nop + 80003028: 0020df33 srl t5,ra,sp + 8000302c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003030: 00200293 li t0,2 + 80003034: fe5210e3 bne tp,t0,80003014 <test_38+0x4> + 80003038: 00020eb7 lui t4,0x20 + 8000303c: 02600193 li gp,38 + 80003040: 09df1863 bne t5,t4,800030d0 <fail> + +0000000080003044 <test_39>: + 80003044: 00000213 li tp,0 + 80003048: 01f00113 li sp,31 + 8000304c: 00000013 nop + 80003050: 00000013 nop + 80003054: 0010009b addiw ra,zero,1 + 80003058: 01f09093 slli ra,ra,0x1f + 8000305c: 0020df33 srl t5,ra,sp + 80003060: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80003064: 00200293 li t0,2 + 80003068: fe5210e3 bne tp,t0,80003048 <test_39+0x4> + 8000306c: 00100e93 li t4,1 + 80003070: 02700193 li gp,39 + 80003074: 05df1e63 bne t5,t4,800030d0 <fail> + +0000000080003078 <test_40>: + 80003078: 00f00093 li ra,15 + 8000307c: 00105133 srl sp,zero,ra + 80003080: 00000e93 li t4,0 + 80003084: 02800193 li gp,40 + 80003088: 05d11463 bne sp,t4,800030d0 <fail> + +000000008000308c <test_41>: + 8000308c: 02000093 li ra,32 + 80003090: 0000d133 srl sp,ra,zero + 80003094: 02000e93 li t4,32 + 80003098: 02900193 li gp,41 + 8000309c: 03d11a63 bne sp,t4,800030d0 <fail> + +00000000800030a0 <test_42>: + 800030a0: 000050b3 srl ra,zero,zero + 800030a4: 00000e93 li t4,0 + 800030a8: 02a00193 li gp,42 + 800030ac: 03d09263 bne ra,t4,800030d0 <fail> + +00000000800030b0 <test_43>: + 800030b0: 40000093 li ra,1024 + 800030b4: 00001137 lui sp,0x1 + 800030b8: 8001011b addiw sp,sp,-2048 + 800030bc: 0020d033 srl zero,ra,sp + 800030c0: 00000e93 li t4,0 + 800030c4: 02b00193 li gp,43 + 800030c8: 01d01463 bne zero,t4,800030d0 <fail> + 800030cc: 00301a63 bne zero,gp,800030e0 <pass> + +00000000800030d0 <fail>: + 800030d0: 00119513 slli a0,gp,0x1 + 800030d4: 00050063 beqz a0,800030d4 <fail+0x4> + 800030d8: 00156513 ori a0,a0,1 + 800030dc: 00000073 ecall + +00000000800030e0 <pass>: + 800030e0: 00100513 li a0,1 + 800030e4: 00000073 ecall + 800030e8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-srl.elf b/test/riscv/tests/rv64ui-v-srl.elf Binary files differnew file mode 100644 index 00000000..eb8b7327 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srl.elf diff --git a/test/riscv/tests/rv64ui-v-srli.dump b/test/riscv/tests/rv64ui-v-srli.dump new file mode 100644 index 00000000..d900518e --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srli.dump @@ -0,0 +1,1077 @@ + +rv64ui-v-srli: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 98868693 addi a3,a3,-1656 # 80002de0 <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: 9bc60613 addi a2,a2,-1604 # 80002e70 <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: 00001617 auipc a2,0x1 + 80002508: 98460613 addi a2,a2,-1660 # 80002e88 <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: 00001697 auipc a3,0x1 + 80002558: 8d468693 addi a3,a3,-1836 # 80002e28 <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: 00001697 auipc a3,0x1 + 80002674: 8f068693 addi a3,a3,-1808 # 80002f60 <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: 00001617 auipc a2,0x1 + 800026cc: 87060613 addi a2,a2,-1936 # 80002f38 <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: 7a468693 addi a3,a3,1956 # 80002f90 <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: 6c468693 addi a3,a3,1732 # 80002f00 <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: 65468693 addi a3,a3,1620 # 80002ec8 <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: 0d3727b7 lui a5,0xd372 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 50c78793 addi a5,a5,1292 # d37250c <_start-0x72c8daf4> + 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: 800000b7 lui ra,0x80000 + 80002acc: 0000df13 srli t5,ra,0x0 + 80002ad0: 80000eb7 lui t4,0x80000 + 80002ad4: 00200193 li gp,2 + 80002ad8: 2fdf1663 bne t5,t4,80002dc4 <fail> + +0000000080002adc <test_3>: + 80002adc: 800000b7 lui ra,0x80000 + 80002ae0: 0010df13 srli t5,ra,0x1 + 80002ae4: 00100e9b addiw t4,zero,1 + 80002ae8: 021e9e93 slli t4,t4,0x21 + 80002aec: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff880f> + 80002af0: 01ee9e93 slli t4,t4,0x1e + 80002af4: 00300193 li gp,3 + 80002af8: 2ddf1663 bne t5,t4,80002dc4 <fail> + +0000000080002afc <test_4>: + 80002afc: 800000b7 lui ra,0x80000 + 80002b00: 0070df13 srli t5,ra,0x7 + 80002b04: 00100e9b addiw t4,zero,1 + 80002b08: 021e9e93 slli t4,t4,0x21 + 80002b0c: fffe8e93 addi t4,t4,-1 + 80002b10: 018e9e93 slli t4,t4,0x18 + 80002b14: 00400193 li gp,4 + 80002b18: 2bdf1663 bne t5,t4,80002dc4 <fail> + +0000000080002b1c <test_5>: + 80002b1c: 800000b7 lui ra,0x80000 + 80002b20: 00e0df13 srli t5,ra,0xe + 80002b24: 00100e9b addiw t4,zero,1 + 80002b28: 021e9e93 slli t4,t4,0x21 + 80002b2c: fffe8e93 addi t4,t4,-1 + 80002b30: 011e9e93 slli t4,t4,0x11 + 80002b34: 00500193 li gp,5 + 80002b38: 29df1663 bne t5,t4,80002dc4 <fail> + +0000000080002b3c <test_6>: + 80002b3c: 800000b7 lui ra,0x80000 + 80002b40: 0010809b addiw ra,ra,1 + 80002b44: 01f0df13 srli t5,ra,0x1f + 80002b48: 00100e9b addiw t4,zero,1 + 80002b4c: 021e9e93 slli t4,t4,0x21 + 80002b50: fffe8e93 addi t4,t4,-1 + 80002b54: 00600193 li gp,6 + 80002b58: 27df1663 bne t5,t4,80002dc4 <fail> + +0000000080002b5c <test_7>: + 80002b5c: fff00093 li ra,-1 + 80002b60: 0000df13 srli t5,ra,0x0 + 80002b64: fff00e93 li t4,-1 + 80002b68: 00700193 li gp,7 + 80002b6c: 25df1c63 bne t5,t4,80002dc4 <fail> + +0000000080002b70 <test_8>: + 80002b70: fff00093 li ra,-1 + 80002b74: 0010df13 srli t5,ra,0x1 + 80002b78: fff00e9b addiw t4,zero,-1 + 80002b7c: 03fe9e93 slli t4,t4,0x3f + 80002b80: fffe8e93 addi t4,t4,-1 + 80002b84: 00800193 li gp,8 + 80002b88: 23df1e63 bne t5,t4,80002dc4 <fail> + +0000000080002b8c <test_9>: + 80002b8c: fff00093 li ra,-1 + 80002b90: 0070df13 srli t5,ra,0x7 + 80002b94: 00100e9b addiw t4,zero,1 + 80002b98: 039e9e93 slli t4,t4,0x39 + 80002b9c: fffe8e93 addi t4,t4,-1 + 80002ba0: 00900193 li gp,9 + 80002ba4: 23df1063 bne t5,t4,80002dc4 <fail> + +0000000080002ba8 <test_10>: + 80002ba8: fff00093 li ra,-1 + 80002bac: 00e0df13 srli t5,ra,0xe + 80002bb0: 00100e9b addiw t4,zero,1 + 80002bb4: 032e9e93 slli t4,t4,0x32 + 80002bb8: fffe8e93 addi t4,t4,-1 + 80002bbc: 00a00193 li gp,10 + 80002bc0: 21df1263 bne t5,t4,80002dc4 <fail> + +0000000080002bc4 <test_11>: + 80002bc4: fff00093 li ra,-1 + 80002bc8: 01f0df13 srli t5,ra,0x1f + 80002bcc: 00100e9b addiw t4,zero,1 + 80002bd0: 021e9e93 slli t4,t4,0x21 + 80002bd4: fffe8e93 addi t4,t4,-1 + 80002bd8: 00b00193 li gp,11 + 80002bdc: 1fdf1463 bne t5,t4,80002dc4 <fail> + +0000000080002be0 <test_12>: + 80002be0: 212120b7 lui ra,0x21212 + 80002be4: 1210809b addiw ra,ra,289 + 80002be8: 0000df13 srli t5,ra,0x0 + 80002bec: 21212eb7 lui t4,0x21212 + 80002bf0: 121e8e9b addiw t4,t4,289 + 80002bf4: 00c00193 li gp,12 + 80002bf8: 1ddf1663 bne t5,t4,80002dc4 <fail> + +0000000080002bfc <test_13>: + 80002bfc: 212120b7 lui ra,0x21212 + 80002c00: 1210809b addiw ra,ra,289 + 80002c04: 0010df13 srli t5,ra,0x1 + 80002c08: 10909eb7 lui t4,0x10909 + 80002c0c: 090e8e9b addiw t4,t4,144 + 80002c10: 00d00193 li gp,13 + 80002c14: 1bdf1863 bne t5,t4,80002dc4 <fail> + +0000000080002c18 <test_14>: + 80002c18: 212120b7 lui ra,0x21212 + 80002c1c: 1210809b addiw ra,ra,289 + 80002c20: 0070df13 srli t5,ra,0x7 + 80002c24: 00424eb7 lui t4,0x424 + 80002c28: 242e8e9b addiw t4,t4,578 + 80002c2c: 00e00193 li gp,14 + 80002c30: 19df1a63 bne t5,t4,80002dc4 <fail> + +0000000080002c34 <test_15>: + 80002c34: 212120b7 lui ra,0x21212 + 80002c38: 1210809b addiw ra,ra,289 + 80002c3c: 00e0df13 srli t5,ra,0xe + 80002c40: 00008eb7 lui t4,0x8 + 80002c44: 484e8e9b addiw t4,t4,1156 + 80002c48: 00f00193 li gp,15 + 80002c4c: 17df1c63 bne t5,t4,80002dc4 <fail> + +0000000080002c50 <test_16>: + 80002c50: 212120b7 lui ra,0x21212 + 80002c54: 1210809b addiw ra,ra,289 + 80002c58: 01f0df13 srli t5,ra,0x1f + 80002c5c: 00000e93 li t4,0 + 80002c60: 01000193 li gp,16 + 80002c64: 17df1063 bne t5,t4,80002dc4 <fail> + +0000000080002c68 <test_17>: + 80002c68: 0010009b addiw ra,zero,1 + 80002c6c: 01f09093 slli ra,ra,0x1f + 80002c70: 0070d093 srli ra,ra,0x7 + 80002c74: 01000eb7 lui t4,0x1000 + 80002c78: 01100193 li gp,17 + 80002c7c: 15d09463 bne ra,t4,80002dc4 <fail> + +0000000080002c80 <test_18>: + 80002c80: 00000213 li tp,0 + 80002c84: 0010009b addiw ra,zero,1 + 80002c88: 01f09093 slli ra,ra,0x1f + 80002c8c: 0070df13 srli t5,ra,0x7 + 80002c90: 000f0313 mv t1,t5 + 80002c94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c98: 00200293 li t0,2 + 80002c9c: fe5214e3 bne tp,t0,80002c84 <test_18+0x4> + 80002ca0: 01000eb7 lui t4,0x1000 + 80002ca4: 01200193 li gp,18 + 80002ca8: 11d31e63 bne t1,t4,80002dc4 <fail> + +0000000080002cac <test_19>: + 80002cac: 00000213 li tp,0 + 80002cb0: 0010009b addiw ra,zero,1 + 80002cb4: 01f09093 slli ra,ra,0x1f + 80002cb8: 00e0df13 srli t5,ra,0xe + 80002cbc: 00000013 nop + 80002cc0: 000f0313 mv t1,t5 + 80002cc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc8: 00200293 li t0,2 + 80002ccc: fe5212e3 bne tp,t0,80002cb0 <test_19+0x4> + 80002cd0: 00020eb7 lui t4,0x20 + 80002cd4: 01300193 li gp,19 + 80002cd8: 0fd31663 bne t1,t4,80002dc4 <fail> + +0000000080002cdc <test_20>: + 80002cdc: 00000213 li tp,0 + 80002ce0: 0010009b addiw ra,zero,1 + 80002ce4: 01f09093 slli ra,ra,0x1f + 80002ce8: 00108093 addi ra,ra,1 # 21212001 <_start-0x5ededfff> + 80002cec: 01f0df13 srli t5,ra,0x1f + 80002cf0: 00000013 nop + 80002cf4: 00000013 nop + 80002cf8: 000f0313 mv t1,t5 + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fc521ee3 bne tp,t0,80002ce0 <test_20+0x4> + 80002d08: 00100e93 li t4,1 + 80002d0c: 01400193 li gp,20 + 80002d10: 0bd31a63 bne t1,t4,80002dc4 <fail> + +0000000080002d14 <test_21>: + 80002d14: 00000213 li tp,0 + 80002d18: 0010009b addiw ra,zero,1 + 80002d1c: 01f09093 slli ra,ra,0x1f + 80002d20: 0070df13 srli t5,ra,0x7 + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5216e3 bne tp,t0,80002d18 <test_21+0x4> + 80002d30: 01000eb7 lui t4,0x1000 + 80002d34: 01500193 li gp,21 + 80002d38: 09df1663 bne t5,t4,80002dc4 <fail> + +0000000080002d3c <test_22>: + 80002d3c: 00000213 li tp,0 + 80002d40: 0010009b addiw ra,zero,1 + 80002d44: 01f09093 slli ra,ra,0x1f + 80002d48: 00000013 nop + 80002d4c: 00e0df13 srli t5,ra,0xe + 80002d50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d54: 00200293 li t0,2 + 80002d58: fe5214e3 bne tp,t0,80002d40 <test_22+0x4> + 80002d5c: 00020eb7 lui t4,0x20 + 80002d60: 01600193 li gp,22 + 80002d64: 07df1063 bne t5,t4,80002dc4 <fail> + +0000000080002d68 <test_23>: + 80002d68: 00000213 li tp,0 + 80002d6c: 0010009b addiw ra,zero,1 + 80002d70: 01f09093 slli ra,ra,0x1f + 80002d74: 00108093 addi ra,ra,1 + 80002d78: 00000013 nop + 80002d7c: 00000013 nop + 80002d80: 01f0df13 srli t5,ra,0x1f + 80002d84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d88: 00200293 li t0,2 + 80002d8c: fe5210e3 bne tp,t0,80002d6c <test_23+0x4> + 80002d90: 00100e93 li t4,1 + 80002d94: 01700193 li gp,23 + 80002d98: 03df1663 bne t5,t4,80002dc4 <fail> + +0000000080002d9c <test_24>: + 80002d9c: 00405093 srli ra,zero,0x4 + 80002da0: 00000e93 li t4,0 + 80002da4: 01800193 li gp,24 + 80002da8: 01d09e63 bne ra,t4,80002dc4 <fail> + +0000000080002dac <test_25>: + 80002dac: 02100093 li ra,33 + 80002db0: 00a0d013 srli zero,ra,0xa + 80002db4: 00000e93 li t4,0 + 80002db8: 01900193 li gp,25 + 80002dbc: 01d01463 bne zero,t4,80002dc4 <fail> + 80002dc0: 00301a63 bne zero,gp,80002dd4 <pass> + +0000000080002dc4 <fail>: + 80002dc4: 00119513 slli a0,gp,0x1 + 80002dc8: 00050063 beqz a0,80002dc8 <fail+0x4> + 80002dcc: 00156513 ori a0,a0,1 + 80002dd0: 00000073 ecall + +0000000080002dd4 <pass>: + 80002dd4: 00100513 li a0,1 + 80002dd8: 00000073 ecall + 80002ddc: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-srli.elf b/test/riscv/tests/rv64ui-v-srli.elf Binary files differnew file mode 100644 index 00000000..4a1f2d68 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srli.elf diff --git a/test/riscv/tests/rv64ui-v-srliw.dump b/test/riscv/tests/rv64ui-v-srliw.dump new file mode 100644 index 00000000..919e1deb --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srliw.dump @@ -0,0 +1,1054 @@ + +rv64ui-v-srliw: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 93068693 addi a3,a3,-1744 # 80002d88 <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: 96460613 addi a2,a2,-1692 # 80002e18 <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: 92c60613 addi a2,a2,-1748 # 80002e30 <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: 87c68693 addi a3,a3,-1924 # 80002dd0 <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: 89868693 addi a3,a3,-1896 # 80002f08 <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: 81860613 addi a2,a2,-2024 # 80002ee0 <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: 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: 74c68693 addi a3,a3,1868 # 80002f38 <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: 66c68693 addi a3,a3,1644 # 80002ea8 <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: 5fc68693 addi a3,a3,1532 # 80002e70 <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: 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: 02200793 li a5,34 + 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: 029637b7 lui a5,0x2963 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 15178793 addi a5,a5,337 # 2963151 <_start-0x7d69ceaf> + 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: 800000b7 lui ra,0x80000 + 80002acc: 0000df1b srliw t5,ra,0x0 + 80002ad0: 80000eb7 lui t4,0x80000 + 80002ad4: 00200193 li gp,2 + 80002ad8: 29df1863 bne t5,t4,80002d68 <fail> + +0000000080002adc <test_3>: + 80002adc: 800000b7 lui ra,0x80000 + 80002ae0: 0010df1b srliw t5,ra,0x1 + 80002ae4: 40000eb7 lui t4,0x40000 + 80002ae8: 00300193 li gp,3 + 80002aec: 27df1e63 bne t5,t4,80002d68 <fail> + +0000000080002af0 <test_4>: + 80002af0: 800000b7 lui ra,0x80000 + 80002af4: 0070df1b srliw t5,ra,0x7 + 80002af8: 01000eb7 lui t4,0x1000 + 80002afc: 00400193 li gp,4 + 80002b00: 27df1463 bne t5,t4,80002d68 <fail> + +0000000080002b04 <test_5>: + 80002b04: 800000b7 lui ra,0x80000 + 80002b08: 00e0df1b srliw t5,ra,0xe + 80002b0c: 00020eb7 lui t4,0x20 + 80002b10: 00500193 li gp,5 + 80002b14: 25df1a63 bne t5,t4,80002d68 <fail> + +0000000080002b18 <test_6>: + 80002b18: 800000b7 lui ra,0x80000 + 80002b1c: 0010809b addiw ra,ra,1 + 80002b20: 01f0df1b srliw t5,ra,0x1f + 80002b24: 00100e93 li t4,1 + 80002b28: 00600193 li gp,6 + 80002b2c: 23df1e63 bne t5,t4,80002d68 <fail> + +0000000080002b30 <test_7>: + 80002b30: fff00093 li ra,-1 + 80002b34: 0000df1b srliw t5,ra,0x0 + 80002b38: fff00e93 li t4,-1 + 80002b3c: 00700193 li gp,7 + 80002b40: 23df1463 bne t5,t4,80002d68 <fail> + +0000000080002b44 <test_8>: + 80002b44: fff00093 li ra,-1 + 80002b48: 0010df1b srliw t5,ra,0x1 + 80002b4c: 80000eb7 lui t4,0x80000 + 80002b50: fffe8e9b addiw t4,t4,-1 + 80002b54: 00800193 li gp,8 + 80002b58: 21df1863 bne t5,t4,80002d68 <fail> + +0000000080002b5c <test_9>: + 80002b5c: fff00093 li ra,-1 + 80002b60: 0070df1b srliw t5,ra,0x7 + 80002b64: 02000eb7 lui t4,0x2000 + 80002b68: fffe8e9b addiw t4,t4,-1 + 80002b6c: 00900193 li gp,9 + 80002b70: 1fdf1c63 bne t5,t4,80002d68 <fail> + +0000000080002b74 <test_10>: + 80002b74: fff00093 li ra,-1 + 80002b78: 00e0df1b srliw t5,ra,0xe + 80002b7c: 00040eb7 lui t4,0x40 + 80002b80: fffe8e9b addiw t4,t4,-1 + 80002b84: 00a00193 li gp,10 + 80002b88: 1fdf1063 bne t5,t4,80002d68 <fail> + +0000000080002b8c <test_11>: + 80002b8c: fff00093 li ra,-1 + 80002b90: 01f0df1b srliw t5,ra,0x1f + 80002b94: 00100e93 li t4,1 + 80002b98: 00b00193 li gp,11 + 80002b9c: 1ddf1663 bne t5,t4,80002d68 <fail> + +0000000080002ba0 <test_12>: + 80002ba0: 212120b7 lui ra,0x21212 + 80002ba4: 1210809b addiw ra,ra,289 + 80002ba8: 0000df1b srliw t5,ra,0x0 + 80002bac: 21212eb7 lui t4,0x21212 + 80002bb0: 121e8e9b addiw t4,t4,289 + 80002bb4: 00c00193 li gp,12 + 80002bb8: 1bdf1863 bne t5,t4,80002d68 <fail> + +0000000080002bbc <test_13>: + 80002bbc: 212120b7 lui ra,0x21212 + 80002bc0: 1210809b addiw ra,ra,289 + 80002bc4: 0010df1b srliw t5,ra,0x1 + 80002bc8: 10909eb7 lui t4,0x10909 + 80002bcc: 090e8e9b addiw t4,t4,144 + 80002bd0: 00d00193 li gp,13 + 80002bd4: 19df1a63 bne t5,t4,80002d68 <fail> + +0000000080002bd8 <test_14>: + 80002bd8: 212120b7 lui ra,0x21212 + 80002bdc: 1210809b addiw ra,ra,289 + 80002be0: 0070df1b srliw t5,ra,0x7 + 80002be4: 00424eb7 lui t4,0x424 + 80002be8: 242e8e9b addiw t4,t4,578 + 80002bec: 00e00193 li gp,14 + 80002bf0: 17df1c63 bne t5,t4,80002d68 <fail> + +0000000080002bf4 <test_15>: + 80002bf4: 212120b7 lui ra,0x21212 + 80002bf8: 1210809b addiw ra,ra,289 + 80002bfc: 00e0df1b srliw t5,ra,0xe + 80002c00: 00008eb7 lui t4,0x8 + 80002c04: 484e8e9b addiw t4,t4,1156 + 80002c08: 00f00193 li gp,15 + 80002c0c: 15df1e63 bne t5,t4,80002d68 <fail> + +0000000080002c10 <test_16>: + 80002c10: 212120b7 lui ra,0x21212 + 80002c14: 1210809b addiw ra,ra,289 + 80002c18: 01f0df1b srliw t5,ra,0x1f + 80002c1c: 00000e93 li t4,0 + 80002c20: 01000193 li gp,16 + 80002c24: 15df1263 bne t5,t4,80002d68 <fail> + +0000000080002c28 <test_17>: + 80002c28: 800000b7 lui ra,0x80000 + 80002c2c: 0070d09b srliw ra,ra,0x7 + 80002c30: 01000eb7 lui t4,0x1000 + 80002c34: 01100193 li gp,17 + 80002c38: 13d09863 bne ra,t4,80002d68 <fail> + +0000000080002c3c <test_18>: + 80002c3c: 00000213 li tp,0 + 80002c40: 800000b7 lui ra,0x80000 + 80002c44: 0070df1b srliw t5,ra,0x7 + 80002c48: 000f0313 mv t1,t5 + 80002c4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c50: 00200293 li t0,2 + 80002c54: fe5216e3 bne tp,t0,80002c40 <test_18+0x4> + 80002c58: 01000eb7 lui t4,0x1000 + 80002c5c: 01200193 li gp,18 + 80002c60: 11d31463 bne t1,t4,80002d68 <fail> + +0000000080002c64 <test_19>: + 80002c64: 00000213 li tp,0 + 80002c68: 800000b7 lui ra,0x80000 + 80002c6c: 00e0df1b srliw t5,ra,0xe + 80002c70: 00000013 nop + 80002c74: 000f0313 mv t1,t5 + 80002c78: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c7c: 00200293 li t0,2 + 80002c80: fe5214e3 bne tp,t0,80002c68 <test_19+0x4> + 80002c84: 00020eb7 lui t4,0x20 + 80002c88: 01300193 li gp,19 + 80002c8c: 0dd31e63 bne t1,t4,80002d68 <fail> + +0000000080002c90 <test_20>: + 80002c90: 00000213 li tp,0 + 80002c94: 800000b7 lui ra,0x80000 + 80002c98: 0010809b addiw ra,ra,1 + 80002c9c: 01f0df1b srliw t5,ra,0x1f + 80002ca0: 00000013 nop + 80002ca4: 00000013 nop + 80002ca8: 000f0313 mv t1,t5 + 80002cac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cb0: 00200293 li t0,2 + 80002cb4: fe5210e3 bne tp,t0,80002c94 <test_20+0x4> + 80002cb8: 00100e93 li t4,1 + 80002cbc: 01400193 li gp,20 + 80002cc0: 0bd31463 bne t1,t4,80002d68 <fail> + +0000000080002cc4 <test_21>: + 80002cc4: 00000213 li tp,0 + 80002cc8: 800000b7 lui ra,0x80000 + 80002ccc: 0070df1b srliw t5,ra,0x7 + 80002cd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd4: 00200293 li t0,2 + 80002cd8: fe5218e3 bne tp,t0,80002cc8 <test_21+0x4> + 80002cdc: 01000eb7 lui t4,0x1000 + 80002ce0: 01500193 li gp,21 + 80002ce4: 09df1263 bne t5,t4,80002d68 <fail> + +0000000080002ce8 <test_22>: + 80002ce8: 00000213 li tp,0 + 80002cec: 800000b7 lui ra,0x80000 + 80002cf0: 00000013 nop + 80002cf4: 00e0df1b srliw t5,ra,0xe + 80002cf8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cfc: 00200293 li t0,2 + 80002d00: fe5216e3 bne tp,t0,80002cec <test_22+0x4> + 80002d04: 00020eb7 lui t4,0x20 + 80002d08: 01600193 li gp,22 + 80002d0c: 05df1e63 bne t5,t4,80002d68 <fail> + +0000000080002d10 <test_23>: + 80002d10: 00000213 li tp,0 + 80002d14: 800000b7 lui ra,0x80000 + 80002d18: 0010809b addiw ra,ra,1 + 80002d1c: 00000013 nop + 80002d20: 00000013 nop + 80002d24: 01f0df1b srliw t5,ra,0x1f + 80002d28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d2c: 00200293 li t0,2 + 80002d30: fe5212e3 bne tp,t0,80002d14 <test_23+0x4> + 80002d34: 00100e93 li t4,1 + 80002d38: 01700193 li gp,23 + 80002d3c: 03df1663 bne t5,t4,80002d68 <fail> + +0000000080002d40 <test_24>: + 80002d40: 01f0509b srliw ra,zero,0x1f + 80002d44: 00000e93 li t4,0 + 80002d48: 01800193 li gp,24 + 80002d4c: 01d09e63 bne ra,t4,80002d68 <fail> + +0000000080002d50 <test_25>: + 80002d50: 01f00093 li ra,31 + 80002d54: 01c0d01b srliw zero,ra,0x1c + 80002d58: 00000e93 li t4,0 + 80002d5c: 01900193 li gp,25 + 80002d60: 01d01463 bne zero,t4,80002d68 <fail> + 80002d64: 00301a63 bne zero,gp,80002d78 <pass> + +0000000080002d68 <fail>: + 80002d68: 00119513 slli a0,gp,0x1 + 80002d6c: 00050063 beqz a0,80002d6c <fail+0x4> + 80002d70: 00156513 ori a0,a0,1 + 80002d74: 00000073 ecall + +0000000080002d78 <pass>: + 80002d78: 00100513 li a0,1 + 80002d7c: 00000073 ecall + 80002d80: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-srliw.elf b/test/riscv/tests/rv64ui-v-srliw.elf Binary files differnew file mode 100644 index 00000000..eacd8701 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srliw.elf diff --git a/test/riscv/tests/rv64ui-v-srlw.dump b/test/riscv/tests/rv64ui-v-srlw.dump new file mode 100644 index 00000000..2cbf7502 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srlw.dump @@ -0,0 +1,1275 @@ + +rv64ui-v-srlw: 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,sbadaddr + 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 <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: 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: c1068693 addi a3,a3,-1008 # 80003068 <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: c4460613 addi a2,a2,-956 # 800030f8 <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: 00001617 auipc a2,0x1 + 80002508: c0c60613 addi a2,a2,-1012 # 80003110 <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: 00001697 auipc a3,0x1 + 80002558: b5c68693 addi a3,a3,-1188 # 800030b0 <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: 00001697 auipc a3,0x1 + 80002674: b7868693 addi a3,a3,-1160 # 800031e8 <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: 00001617 auipc a2,0x1 + 800026cc: af860613 addi a2,a2,-1288 # 800031c0 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a2c68693 addi a3,a3,-1492 # 80003218 <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: 00001697 auipc a3,0x1 + 80002840: 94c68693 addi a3,a3,-1716 # 80003188 <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: 00001697 auipc a3,0x1 + 80002878: 8dc68693 addi a3,a3,-1828 # 80003150 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 00800793 li a5,8 + 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: 069877b7 lui a5,0x6987 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: d1f78793 addi a5,a5,-737 # 6986d1f <_start-0x796792e1> + 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: 800000b7 lui ra,0x80000 + 80002acc: 00000113 li sp,0 + 80002ad0: 0020df3b srlw t5,ra,sp + 80002ad4: 80000eb7 lui t4,0x80000 + 80002ad8: 00200193 li gp,2 + 80002adc: 57df1863 bne t5,t4,8000304c <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 800000b7 lui ra,0x80000 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0020df3b srlw t5,ra,sp + 80002aec: 40000eb7 lui t4,0x40000 + 80002af0: 00300193 li gp,3 + 80002af4: 55df1c63 bne t5,t4,8000304c <fail> + +0000000080002af8 <test_4>: + 80002af8: 800000b7 lui ra,0x80000 + 80002afc: 00700113 li sp,7 + 80002b00: 0020df3b srlw t5,ra,sp + 80002b04: 01000eb7 lui t4,0x1000 + 80002b08: 00400193 li gp,4 + 80002b0c: 55df1063 bne t5,t4,8000304c <fail> + +0000000080002b10 <test_5>: + 80002b10: 800000b7 lui ra,0x80000 + 80002b14: 00e00113 li sp,14 + 80002b18: 0020df3b srlw t5,ra,sp + 80002b1c: 00020eb7 lui t4,0x20 + 80002b20: 00500193 li gp,5 + 80002b24: 53df1463 bne t5,t4,8000304c <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 0010809b addiw ra,ra,1 + 80002b30: 01f00113 li sp,31 + 80002b34: 0020df3b srlw t5,ra,sp + 80002b38: 00100e93 li t4,1 + 80002b3c: 00600193 li gp,6 + 80002b40: 51df1663 bne t5,t4,8000304c <fail> + +0000000080002b44 <test_7>: + 80002b44: fff00093 li ra,-1 + 80002b48: 00000113 li sp,0 + 80002b4c: 0020df3b srlw t5,ra,sp + 80002b50: fff00e93 li t4,-1 + 80002b54: 00700193 li gp,7 + 80002b58: 4fdf1a63 bne t5,t4,8000304c <fail> + +0000000080002b5c <test_8>: + 80002b5c: fff00093 li ra,-1 + 80002b60: 00100113 li sp,1 + 80002b64: 0020df3b srlw t5,ra,sp + 80002b68: 80000eb7 lui t4,0x80000 + 80002b6c: fffe8e9b addiw t4,t4,-1 + 80002b70: 00800193 li gp,8 + 80002b74: 4ddf1c63 bne t5,t4,8000304c <fail> + +0000000080002b78 <test_9>: + 80002b78: fff00093 li ra,-1 + 80002b7c: 00700113 li sp,7 + 80002b80: 0020df3b srlw t5,ra,sp + 80002b84: 02000eb7 lui t4,0x2000 + 80002b88: fffe8e9b addiw t4,t4,-1 + 80002b8c: 00900193 li gp,9 + 80002b90: 4bdf1e63 bne t5,t4,8000304c <fail> + +0000000080002b94 <test_10>: + 80002b94: fff00093 li ra,-1 + 80002b98: 00e00113 li sp,14 + 80002b9c: 0020df3b srlw t5,ra,sp + 80002ba0: 00040eb7 lui t4,0x40 + 80002ba4: fffe8e9b addiw t4,t4,-1 + 80002ba8: 00a00193 li gp,10 + 80002bac: 4bdf1063 bne t5,t4,8000304c <fail> + +0000000080002bb0 <test_11>: + 80002bb0: fff00093 li ra,-1 + 80002bb4: 01f00113 li sp,31 + 80002bb8: 0020df3b srlw t5,ra,sp + 80002bbc: 00100e93 li t4,1 + 80002bc0: 00b00193 li gp,11 + 80002bc4: 49df1463 bne t5,t4,8000304c <fail> + +0000000080002bc8 <test_12>: + 80002bc8: 212120b7 lui ra,0x21212 + 80002bcc: 1210809b addiw ra,ra,289 + 80002bd0: 00000113 li sp,0 + 80002bd4: 0020df3b srlw t5,ra,sp + 80002bd8: 21212eb7 lui t4,0x21212 + 80002bdc: 121e8e9b addiw t4,t4,289 + 80002be0: 00c00193 li gp,12 + 80002be4: 47df1463 bne t5,t4,8000304c <fail> + +0000000080002be8 <test_13>: + 80002be8: 212120b7 lui ra,0x21212 + 80002bec: 1210809b addiw ra,ra,289 + 80002bf0: 00100113 li sp,1 + 80002bf4: 0020df3b srlw t5,ra,sp + 80002bf8: 10909eb7 lui t4,0x10909 + 80002bfc: 090e8e9b addiw t4,t4,144 + 80002c00: 00d00193 li gp,13 + 80002c04: 45df1463 bne t5,t4,8000304c <fail> + +0000000080002c08 <test_14>: + 80002c08: 212120b7 lui ra,0x21212 + 80002c0c: 1210809b addiw ra,ra,289 + 80002c10: 00700113 li sp,7 + 80002c14: 0020df3b srlw t5,ra,sp + 80002c18: 00424eb7 lui t4,0x424 + 80002c1c: 242e8e9b addiw t4,t4,578 + 80002c20: 00e00193 li gp,14 + 80002c24: 43df1463 bne t5,t4,8000304c <fail> + +0000000080002c28 <test_15>: + 80002c28: 212120b7 lui ra,0x21212 + 80002c2c: 1210809b addiw ra,ra,289 + 80002c30: 00e00113 li sp,14 + 80002c34: 0020df3b srlw t5,ra,sp + 80002c38: 00008eb7 lui t4,0x8 + 80002c3c: 484e8e9b addiw t4,t4,1156 + 80002c40: 00f00193 li gp,15 + 80002c44: 41df1463 bne t5,t4,8000304c <fail> + +0000000080002c48 <test_16>: + 80002c48: 212120b7 lui ra,0x21212 + 80002c4c: 1210809b addiw ra,ra,289 + 80002c50: 01f00113 li sp,31 + 80002c54: 0020df3b srlw t5,ra,sp + 80002c58: 00000e93 li t4,0 + 80002c5c: 01000193 li gp,16 + 80002c60: 3fdf1663 bne t5,t4,8000304c <fail> + +0000000080002c64 <test_17>: + 80002c64: 212120b7 lui ra,0x21212 + 80002c68: 1210809b addiw ra,ra,289 + 80002c6c: fe000113 li sp,-32 + 80002c70: 0020df3b srlw t5,ra,sp + 80002c74: 21212eb7 lui t4,0x21212 + 80002c78: 121e8e9b addiw t4,t4,289 + 80002c7c: 01100193 li gp,17 + 80002c80: 3ddf1663 bne t5,t4,8000304c <fail> + +0000000080002c84 <test_18>: + 80002c84: 212120b7 lui ra,0x21212 + 80002c88: 1210809b addiw ra,ra,289 + 80002c8c: fe100113 li sp,-31 + 80002c90: 0020df3b srlw t5,ra,sp + 80002c94: 10909eb7 lui t4,0x10909 + 80002c98: 090e8e9b addiw t4,t4,144 + 80002c9c: 01200193 li gp,18 + 80002ca0: 3bdf1663 bne t5,t4,8000304c <fail> + +0000000080002ca4 <test_19>: + 80002ca4: 212120b7 lui ra,0x21212 + 80002ca8: 1210809b addiw ra,ra,289 + 80002cac: fe700113 li sp,-25 + 80002cb0: 0020df3b srlw t5,ra,sp + 80002cb4: 00424eb7 lui t4,0x424 + 80002cb8: 242e8e9b addiw t4,t4,578 + 80002cbc: 01300193 li gp,19 + 80002cc0: 39df1663 bne t5,t4,8000304c <fail> + +0000000080002cc4 <test_20>: + 80002cc4: 212120b7 lui ra,0x21212 + 80002cc8: 1210809b addiw ra,ra,289 + 80002ccc: fee00113 li sp,-18 + 80002cd0: 0020df3b srlw t5,ra,sp + 80002cd4: 00008eb7 lui t4,0x8 + 80002cd8: 484e8e9b addiw t4,t4,1156 + 80002cdc: 01400193 li gp,20 + 80002ce0: 37df1663 bne t5,t4,8000304c <fail> + +0000000080002ce4 <test_21>: + 80002ce4: 212120b7 lui ra,0x21212 + 80002ce8: 1210809b addiw ra,ra,289 + 80002cec: fff00113 li sp,-1 + 80002cf0: 0020df3b srlw t5,ra,sp + 80002cf4: 00000e93 li t4,0 + 80002cf8: 01500193 li gp,21 + 80002cfc: 35df1863 bne t5,t4,8000304c <fail> + +0000000080002d00 <test_22>: + 80002d00: 800000b7 lui ra,0x80000 + 80002d04: 00700113 li sp,7 + 80002d08: 0020d0bb srlw ra,ra,sp + 80002d0c: 01000eb7 lui t4,0x1000 + 80002d10: 01600193 li gp,22 + 80002d14: 33d09c63 bne ra,t4,8000304c <fail> + +0000000080002d18 <test_23>: + 80002d18: 800000b7 lui ra,0x80000 + 80002d1c: 00e00113 li sp,14 + 80002d20: 0020d13b srlw sp,ra,sp + 80002d24: 00020eb7 lui t4,0x20 + 80002d28: 01700193 li gp,23 + 80002d2c: 33d11063 bne sp,t4,8000304c <fail> + +0000000080002d30 <test_24>: + 80002d30: 00700093 li ra,7 + 80002d34: 0010d0bb srlw ra,ra,ra + 80002d38: 00000e93 li t4,0 + 80002d3c: 01800193 li gp,24 + 80002d40: 31d09663 bne ra,t4,8000304c <fail> + +0000000080002d44 <test_25>: + 80002d44: 00000213 li tp,0 + 80002d48: 800000b7 lui ra,0x80000 + 80002d4c: 00700113 li sp,7 + 80002d50: 0020df3b srlw t5,ra,sp + 80002d54: 000f0313 mv t1,t5 + 80002d58: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d5c: 00200293 li t0,2 + 80002d60: fe5214e3 bne tp,t0,80002d48 <test_25+0x4> + 80002d64: 01000eb7 lui t4,0x1000 + 80002d68: 01900193 li gp,25 + 80002d6c: 2fd31063 bne t1,t4,8000304c <fail> + +0000000080002d70 <test_26>: + 80002d70: 00000213 li tp,0 + 80002d74: 800000b7 lui ra,0x80000 + 80002d78: 00e00113 li sp,14 + 80002d7c: 0020df3b srlw t5,ra,sp + 80002d80: 00000013 nop + 80002d84: 000f0313 mv t1,t5 + 80002d88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d8c: 00200293 li t0,2 + 80002d90: fe5212e3 bne tp,t0,80002d74 <test_26+0x4> + 80002d94: 00020eb7 lui t4,0x20 + 80002d98: 01a00193 li gp,26 + 80002d9c: 2bd31863 bne t1,t4,8000304c <fail> + +0000000080002da0 <test_27>: + 80002da0: 00000213 li tp,0 + 80002da4: 800000b7 lui ra,0x80000 + 80002da8: 01f00113 li sp,31 + 80002dac: 0020df3b srlw t5,ra,sp + 80002db0: 00000013 nop + 80002db4: 00000013 nop + 80002db8: 000f0313 mv t1,t5 + 80002dbc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dc0: 00200293 li t0,2 + 80002dc4: fe5210e3 bne tp,t0,80002da4 <test_27+0x4> + 80002dc8: 00100e93 li t4,1 + 80002dcc: 01b00193 li gp,27 + 80002dd0: 27d31e63 bne t1,t4,8000304c <fail> + +0000000080002dd4 <test_28>: + 80002dd4: 00000213 li tp,0 + 80002dd8: 800000b7 lui ra,0x80000 + 80002ddc: 00700113 li sp,7 + 80002de0: 0020df3b srlw t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fe5216e3 bne tp,t0,80002dd8 <test_28+0x4> + 80002df0: 01000eb7 lui t4,0x1000 + 80002df4: 01c00193 li gp,28 + 80002df8: 25df1a63 bne t5,t4,8000304c <fail> + +0000000080002dfc <test_29>: + 80002dfc: 00000213 li tp,0 + 80002e00: 800000b7 lui ra,0x80000 + 80002e04: 00e00113 li sp,14 + 80002e08: 00000013 nop + 80002e0c: 0020df3b srlw t5,ra,sp + 80002e10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e14: 00200293 li t0,2 + 80002e18: fe5214e3 bne tp,t0,80002e00 <test_29+0x4> + 80002e1c: 00020eb7 lui t4,0x20 + 80002e20: 01d00193 li gp,29 + 80002e24: 23df1463 bne t5,t4,8000304c <fail> + +0000000080002e28 <test_30>: + 80002e28: 00000213 li tp,0 + 80002e2c: 800000b7 lui ra,0x80000 + 80002e30: 01f00113 li sp,31 + 80002e34: 00000013 nop + 80002e38: 00000013 nop + 80002e3c: 0020df3b srlw t5,ra,sp + 80002e40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e44: 00200293 li t0,2 + 80002e48: fe5212e3 bne tp,t0,80002e2c <test_30+0x4> + 80002e4c: 00100e93 li t4,1 + 80002e50: 01e00193 li gp,30 + 80002e54: 1fdf1c63 bne t5,t4,8000304c <fail> + +0000000080002e58 <test_31>: + 80002e58: 00000213 li tp,0 + 80002e5c: 800000b7 lui ra,0x80000 + 80002e60: 00000013 nop + 80002e64: 00700113 li sp,7 + 80002e68: 0020df3b srlw t5,ra,sp + 80002e6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e70: 00200293 li t0,2 + 80002e74: fe5214e3 bne tp,t0,80002e5c <test_31+0x4> + 80002e78: 01000eb7 lui t4,0x1000 + 80002e7c: 01f00193 li gp,31 + 80002e80: 1ddf1663 bne t5,t4,8000304c <fail> + +0000000080002e84 <test_32>: + 80002e84: 00000213 li tp,0 + 80002e88: 800000b7 lui ra,0x80000 + 80002e8c: 00000013 nop + 80002e90: 00e00113 li sp,14 + 80002e94: 00000013 nop + 80002e98: 0020df3b srlw t5,ra,sp + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fe5212e3 bne tp,t0,80002e88 <test_32+0x4> + 80002ea8: 00020eb7 lui t4,0x20 + 80002eac: 02000193 li gp,32 + 80002eb0: 19df1e63 bne t5,t4,8000304c <fail> + +0000000080002eb4 <test_33>: + 80002eb4: 00000213 li tp,0 + 80002eb8: 800000b7 lui ra,0x80000 + 80002ebc: 00000013 nop + 80002ec0: 00000013 nop + 80002ec4: 01f00113 li sp,31 + 80002ec8: 0020df3b srlw t5,ra,sp + 80002ecc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ed0: 00200293 li t0,2 + 80002ed4: fe5212e3 bne tp,t0,80002eb8 <test_33+0x4> + 80002ed8: 00100e93 li t4,1 + 80002edc: 02100193 li gp,33 + 80002ee0: 17df1663 bne t5,t4,8000304c <fail> + +0000000080002ee4 <test_34>: + 80002ee4: 00000213 li tp,0 + 80002ee8: 00700113 li sp,7 + 80002eec: 800000b7 lui ra,0x80000 + 80002ef0: 0020df3b srlw t5,ra,sp + 80002ef4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ef8: 00200293 li t0,2 + 80002efc: fe5216e3 bne tp,t0,80002ee8 <test_34+0x4> + 80002f00: 01000eb7 lui t4,0x1000 + 80002f04: 02200193 li gp,34 + 80002f08: 15df1263 bne t5,t4,8000304c <fail> + +0000000080002f0c <test_35>: + 80002f0c: 00000213 li tp,0 + 80002f10: 00e00113 li sp,14 + 80002f14: 800000b7 lui ra,0x80000 + 80002f18: 00000013 nop + 80002f1c: 0020df3b srlw t5,ra,sp + 80002f20: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f24: 00200293 li t0,2 + 80002f28: fe5214e3 bne tp,t0,80002f10 <test_35+0x4> + 80002f2c: 00020eb7 lui t4,0x20 + 80002f30: 02300193 li gp,35 + 80002f34: 11df1c63 bne t5,t4,8000304c <fail> + +0000000080002f38 <test_36>: + 80002f38: 00000213 li tp,0 + 80002f3c: 01f00113 li sp,31 + 80002f40: 800000b7 lui ra,0x80000 + 80002f44: 00000013 nop + 80002f48: 00000013 nop + 80002f4c: 0020df3b srlw t5,ra,sp + 80002f50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f54: 00200293 li t0,2 + 80002f58: fe5212e3 bne tp,t0,80002f3c <test_36+0x4> + 80002f5c: 00100e93 li t4,1 + 80002f60: 02400193 li gp,36 + 80002f64: 0fdf1463 bne t5,t4,8000304c <fail> + +0000000080002f68 <test_37>: + 80002f68: 00000213 li tp,0 + 80002f6c: 00700113 li sp,7 + 80002f70: 00000013 nop + 80002f74: 800000b7 lui ra,0x80000 + 80002f78: 0020df3b srlw t5,ra,sp + 80002f7c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f80: 00200293 li t0,2 + 80002f84: fe5214e3 bne tp,t0,80002f6c <test_37+0x4> + 80002f88: 01000eb7 lui t4,0x1000 + 80002f8c: 02500193 li gp,37 + 80002f90: 0bdf1e63 bne t5,t4,8000304c <fail> + +0000000080002f94 <test_38>: + 80002f94: 00000213 li tp,0 + 80002f98: 00e00113 li sp,14 + 80002f9c: 00000013 nop + 80002fa0: 800000b7 lui ra,0x80000 + 80002fa4: 00000013 nop + 80002fa8: 0020df3b srlw t5,ra,sp + 80002fac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fb0: 00200293 li t0,2 + 80002fb4: fe5212e3 bne tp,t0,80002f98 <test_38+0x4> + 80002fb8: 00020eb7 lui t4,0x20 + 80002fbc: 02600193 li gp,38 + 80002fc0: 09df1663 bne t5,t4,8000304c <fail> + +0000000080002fc4 <test_39>: + 80002fc4: 00000213 li tp,0 + 80002fc8: 01f00113 li sp,31 + 80002fcc: 00000013 nop + 80002fd0: 00000013 nop + 80002fd4: 800000b7 lui ra,0x80000 + 80002fd8: 0020df3b srlw t5,ra,sp + 80002fdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fe0: 00200293 li t0,2 + 80002fe4: fe5212e3 bne tp,t0,80002fc8 <test_39+0x4> + 80002fe8: 00100e93 li t4,1 + 80002fec: 02700193 li gp,39 + 80002ff0: 05df1e63 bne t5,t4,8000304c <fail> + +0000000080002ff4 <test_40>: + 80002ff4: 00f00093 li ra,15 + 80002ff8: 0010513b srlw sp,zero,ra + 80002ffc: 00000e93 li t4,0 + 80003000: 02800193 li gp,40 + 80003004: 05d11463 bne sp,t4,8000304c <fail> + +0000000080003008 <test_41>: + 80003008: 02000093 li ra,32 + 8000300c: 0000d13b srlw sp,ra,zero + 80003010: 02000e93 li t4,32 + 80003014: 02900193 li gp,41 + 80003018: 03d11a63 bne sp,t4,8000304c <fail> + +000000008000301c <test_42>: + 8000301c: 000050bb srlw ra,zero,zero + 80003020: 00000e93 li t4,0 + 80003024: 02a00193 li gp,42 + 80003028: 03d09263 bne ra,t4,8000304c <fail> + +000000008000302c <test_43>: + 8000302c: 40000093 li ra,1024 + 80003030: 00001137 lui sp,0x1 + 80003034: 8001011b addiw sp,sp,-2048 + 80003038: 0020d03b srlw zero,ra,sp + 8000303c: 00000e93 li t4,0 + 80003040: 02b00193 li gp,43 + 80003044: 01d01463 bne zero,t4,8000304c <fail> + 80003048: 00301a63 bne zero,gp,8000305c <pass> + +000000008000304c <fail>: + 8000304c: 00119513 slli a0,gp,0x1 + 80003050: 00050063 beqz a0,80003050 <fail+0x4> + 80003054: 00156513 ori a0,a0,1 + 80003058: 00000073 ecall + +000000008000305c <pass>: + 8000305c: 00100513 li a0,1 + 80003060: 00000073 ecall + 80003064: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-srlw.elf b/test/riscv/tests/rv64ui-v-srlw.elf Binary files differnew file mode 100644 index 00000000..87f8e6d4 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-srlw.elf diff --git a/test/riscv/tests/rv64ui-v-sub.dump b/test/riscv/tests/rv64ui-v-sub.dump new file mode 100644 index 00000000..1e59e971 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sub.dump @@ -0,0 +1,1218 @@ + +rv64ui-v-sub: 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,sbadaddr + 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 <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: 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: b6068693 addi a3,a3,-1184 # 80002fb8 <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: b9460613 addi a2,a2,-1132 # 80003048 <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: b5c60613 addi a2,a2,-1188 # 80003060 <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: aac68693 addi a3,a3,-1364 # 80003000 <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: ac868693 addi a3,a3,-1336 # 80003138 <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: a4860613 addi a2,a2,-1464 # 80003110 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 97c68693 addi a3,a3,-1668 # 80003168 <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: 89c68693 addi a3,a3,-1892 # 800030d8 <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: 82c68693 addi a3,a3,-2004 # 800030a0 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 02500793 li a5,37 + 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: 0913b7b7 lui a5,0x913b + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a7278793 addi a5,a5,-1422 # 913aa72 <_start-0x76ec558e> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 40208f33 sub t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4bdf1e63 bne t5,t4,80002f98 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 40208f33 sub t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 4bdf1263 bne t5,t4,80002f98 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 40208f33 sub t5,ra,sp + 80002b04: ffc00e93 li t4,-4 + 80002b08: 00400193 li gp,4 + 80002b0c: 49df1663 bne t5,t4,80002f98 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 40208f33 sub t5,ra,sp + 80002b1c: 00008eb7 lui t4,0x8 + 80002b20: 00500193 li gp,5 + 80002b24: 47df1a63 bne t5,t4,80002f98 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 40208f33 sub t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 45df1e63 bne t5,t4,80002f98 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 40208f33 sub t5,ra,sp + 80002b4c: 80008eb7 lui t4,0x80008 + 80002b50: 00700193 li gp,7 + 80002b54: 45df1263 bne t5,t4,80002f98 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00000093 li ra,0 + 80002b5c: 00008137 lui sp,0x8 + 80002b60: fff1011b addiw sp,sp,-1 + 80002b64: 40208f33 sub t5,ra,sp + 80002b68: ffff8eb7 lui t4,0xffff8 + 80002b6c: 001e8e9b addiw t4,t4,1 + 80002b70: 00800193 li gp,8 + 80002b74: 43df1263 bne t5,t4,80002f98 <fail> + +0000000080002b78 <test_9>: + 80002b78: 800000b7 lui ra,0x80000 + 80002b7c: fff0809b addiw ra,ra,-1 + 80002b80: 00000113 li sp,0 + 80002b84: 40208f33 sub t5,ra,sp + 80002b88: 80000eb7 lui t4,0x80000 + 80002b8c: fffe8e9b addiw t4,t4,-1 + 80002b90: 00900193 li gp,9 + 80002b94: 41df1263 bne t5,t4,80002f98 <fail> + +0000000080002b98 <test_10>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: fff0809b addiw ra,ra,-1 + 80002ba0: 00008137 lui sp,0x8 + 80002ba4: fff1011b addiw sp,sp,-1 + 80002ba8: 40208f33 sub t5,ra,sp + 80002bac: 7fff8eb7 lui t4,0x7fff8 + 80002bb0: 00a00193 li gp,10 + 80002bb4: 3fdf1263 bne t5,t4,80002f98 <fail> + +0000000080002bb8 <test_11>: + 80002bb8: 800000b7 lui ra,0x80000 + 80002bbc: 00008137 lui sp,0x8 + 80002bc0: fff1011b addiw sp,sp,-1 + 80002bc4: 40208f33 sub t5,ra,sp + 80002bc8: ffff0eb7 lui t4,0xffff0 + 80002bcc: fffe8e9b addiw t4,t4,-1 + 80002bd0: 00fe9e93 slli t4,t4,0xf + 80002bd4: 001e8e93 addi t4,t4,1 # ffffffffffff0001 <_end+0xffffffff7ffe7811> + 80002bd8: 00b00193 li gp,11 + 80002bdc: 3bdf1e63 bne t5,t4,80002f98 <fail> + +0000000080002be0 <test_12>: + 80002be0: 800000b7 lui ra,0x80000 + 80002be4: fff0809b addiw ra,ra,-1 + 80002be8: ffff8137 lui sp,0xffff8 + 80002bec: 40208f33 sub t5,ra,sp + 80002bf0: 00010eb7 lui t4,0x10 + 80002bf4: 001e8e9b addiw t4,t4,1 + 80002bf8: 00fe9e93 slli t4,t4,0xf + 80002bfc: fffe8e93 addi t4,t4,-1 # ffff <_start-0x7fff0001> + 80002c00: 00c00193 li gp,12 + 80002c04: 39df1a63 bne t5,t4,80002f98 <fail> + +0000000080002c08 <test_13>: + 80002c08: 00000093 li ra,0 + 80002c0c: fff00113 li sp,-1 + 80002c10: 40208f33 sub t5,ra,sp + 80002c14: 00100e93 li t4,1 + 80002c18: 00d00193 li gp,13 + 80002c1c: 37df1e63 bne t5,t4,80002f98 <fail> + +0000000080002c20 <test_14>: + 80002c20: fff00093 li ra,-1 + 80002c24: 00100113 li sp,1 + 80002c28: 40208f33 sub t5,ra,sp + 80002c2c: ffe00e93 li t4,-2 + 80002c30: 00e00193 li gp,14 + 80002c34: 37df1263 bne t5,t4,80002f98 <fail> + +0000000080002c38 <test_15>: + 80002c38: fff00093 li ra,-1 + 80002c3c: fff00113 li sp,-1 + 80002c40: 40208f33 sub t5,ra,sp + 80002c44: 00000e93 li t4,0 + 80002c48: 00f00193 li gp,15 + 80002c4c: 35df1663 bne t5,t4,80002f98 <fail> + +0000000080002c50 <test_16>: + 80002c50: 00d00093 li ra,13 + 80002c54: 00b00113 li sp,11 + 80002c58: 402080b3 sub ra,ra,sp + 80002c5c: 00200e93 li t4,2 + 80002c60: 01000193 li gp,16 + 80002c64: 33d09a63 bne ra,t4,80002f98 <fail> + +0000000080002c68 <test_17>: + 80002c68: 00e00093 li ra,14 + 80002c6c: 00b00113 li sp,11 + 80002c70: 40208133 sub sp,ra,sp + 80002c74: 00300e93 li t4,3 + 80002c78: 01100193 li gp,17 + 80002c7c: 31d11e63 bne sp,t4,80002f98 <fail> + +0000000080002c80 <test_18>: + 80002c80: 00d00093 li ra,13 + 80002c84: 401080b3 sub ra,ra,ra + 80002c88: 00000e93 li t4,0 + 80002c8c: 01200193 li gp,18 + 80002c90: 31d09463 bne ra,t4,80002f98 <fail> + +0000000080002c94 <test_19>: + 80002c94: 00000213 li tp,0 + 80002c98: 00d00093 li ra,13 + 80002c9c: 00b00113 li sp,11 + 80002ca0: 40208f33 sub t5,ra,sp + 80002ca4: 000f0313 mv t1,t5 + 80002ca8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cac: 00200293 li t0,2 + 80002cb0: fe5214e3 bne tp,t0,80002c98 <test_19+0x4> + 80002cb4: 00200e93 li t4,2 + 80002cb8: 01300193 li gp,19 + 80002cbc: 2dd31e63 bne t1,t4,80002f98 <fail> + +0000000080002cc0 <test_20>: + 80002cc0: 00000213 li tp,0 + 80002cc4: 00e00093 li ra,14 + 80002cc8: 00b00113 li sp,11 + 80002ccc: 40208f33 sub t5,ra,sp + 80002cd0: 00000013 nop + 80002cd4: 000f0313 mv t1,t5 + 80002cd8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cdc: 00200293 li t0,2 + 80002ce0: fe5212e3 bne tp,t0,80002cc4 <test_20+0x4> + 80002ce4: 00300e93 li t4,3 + 80002ce8: 01400193 li gp,20 + 80002cec: 2bd31663 bne t1,t4,80002f98 <fail> + +0000000080002cf0 <test_21>: + 80002cf0: 00000213 li tp,0 + 80002cf4: 00f00093 li ra,15 + 80002cf8: 00b00113 li sp,11 + 80002cfc: 40208f33 sub t5,ra,sp + 80002d00: 00000013 nop + 80002d04: 00000013 nop + 80002d08: 000f0313 mv t1,t5 + 80002d0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d10: 00200293 li t0,2 + 80002d14: fe5210e3 bne tp,t0,80002cf4 <test_21+0x4> + 80002d18: 00400e93 li t4,4 + 80002d1c: 01500193 li gp,21 + 80002d20: 27d31c63 bne t1,t4,80002f98 <fail> + +0000000080002d24 <test_22>: + 80002d24: 00000213 li tp,0 + 80002d28: 00d00093 li ra,13 + 80002d2c: 00b00113 li sp,11 + 80002d30: 40208f33 sub t5,ra,sp + 80002d34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d38: 00200293 li t0,2 + 80002d3c: fe5216e3 bne tp,t0,80002d28 <test_22+0x4> + 80002d40: 00200e93 li t4,2 + 80002d44: 01600193 li gp,22 + 80002d48: 25df1863 bne t5,t4,80002f98 <fail> + +0000000080002d4c <test_23>: + 80002d4c: 00000213 li tp,0 + 80002d50: 00e00093 li ra,14 + 80002d54: 00b00113 li sp,11 + 80002d58: 00000013 nop + 80002d5c: 40208f33 sub t5,ra,sp + 80002d60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d64: 00200293 li t0,2 + 80002d68: fe5214e3 bne tp,t0,80002d50 <test_23+0x4> + 80002d6c: 00300e93 li t4,3 + 80002d70: 01700193 li gp,23 + 80002d74: 23df1263 bne t5,t4,80002f98 <fail> + +0000000080002d78 <test_24>: + 80002d78: 00000213 li tp,0 + 80002d7c: 00f00093 li ra,15 + 80002d80: 00b00113 li sp,11 + 80002d84: 00000013 nop + 80002d88: 00000013 nop + 80002d8c: 40208f33 sub t5,ra,sp + 80002d90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d94: 00200293 li t0,2 + 80002d98: fe5212e3 bne tp,t0,80002d7c <test_24+0x4> + 80002d9c: 00400e93 li t4,4 + 80002da0: 01800193 li gp,24 + 80002da4: 1fdf1a63 bne t5,t4,80002f98 <fail> + +0000000080002da8 <test_25>: + 80002da8: 00000213 li tp,0 + 80002dac: 00d00093 li ra,13 + 80002db0: 00000013 nop + 80002db4: 00b00113 li sp,11 + 80002db8: 40208f33 sub t5,ra,sp + 80002dbc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dc0: 00200293 li t0,2 + 80002dc4: fe5214e3 bne tp,t0,80002dac <test_25+0x4> + 80002dc8: 00200e93 li t4,2 + 80002dcc: 01900193 li gp,25 + 80002dd0: 1ddf1463 bne t5,t4,80002f98 <fail> + +0000000080002dd4 <test_26>: + 80002dd4: 00000213 li tp,0 + 80002dd8: 00e00093 li ra,14 + 80002ddc: 00000013 nop + 80002de0: 00b00113 li sp,11 + 80002de4: 00000013 nop + 80002de8: 40208f33 sub t5,ra,sp + 80002dec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002df0: 00200293 li t0,2 + 80002df4: fe5212e3 bne tp,t0,80002dd8 <test_26+0x4> + 80002df8: 00300e93 li t4,3 + 80002dfc: 01a00193 li gp,26 + 80002e00: 19df1c63 bne t5,t4,80002f98 <fail> + +0000000080002e04 <test_27>: + 80002e04: 00000213 li tp,0 + 80002e08: 00f00093 li ra,15 + 80002e0c: 00000013 nop + 80002e10: 00000013 nop + 80002e14: 00b00113 li sp,11 + 80002e18: 40208f33 sub t5,ra,sp + 80002e1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e20: 00200293 li t0,2 + 80002e24: fe5212e3 bne tp,t0,80002e08 <test_27+0x4> + 80002e28: 00400e93 li t4,4 + 80002e2c: 01b00193 li gp,27 + 80002e30: 17df1463 bne t5,t4,80002f98 <fail> + +0000000080002e34 <test_28>: + 80002e34: 00000213 li tp,0 + 80002e38: 00b00113 li sp,11 + 80002e3c: 00d00093 li ra,13 + 80002e40: 40208f33 sub t5,ra,sp + 80002e44: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e48: 00200293 li t0,2 + 80002e4c: fe5216e3 bne tp,t0,80002e38 <test_28+0x4> + 80002e50: 00200e93 li t4,2 + 80002e54: 01c00193 li gp,28 + 80002e58: 15df1063 bne t5,t4,80002f98 <fail> + +0000000080002e5c <test_29>: + 80002e5c: 00000213 li tp,0 + 80002e60: 00b00113 li sp,11 + 80002e64: 00e00093 li ra,14 + 80002e68: 00000013 nop + 80002e6c: 40208f33 sub t5,ra,sp + 80002e70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e74: 00200293 li t0,2 + 80002e78: fe5214e3 bne tp,t0,80002e60 <test_29+0x4> + 80002e7c: 00300e93 li t4,3 + 80002e80: 01d00193 li gp,29 + 80002e84: 11df1a63 bne t5,t4,80002f98 <fail> + +0000000080002e88 <test_30>: + 80002e88: 00000213 li tp,0 + 80002e8c: 00b00113 li sp,11 + 80002e90: 00f00093 li ra,15 + 80002e94: 00000013 nop + 80002e98: 00000013 nop + 80002e9c: 40208f33 sub t5,ra,sp + 80002ea0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea4: 00200293 li t0,2 + 80002ea8: fe5212e3 bne tp,t0,80002e8c <test_30+0x4> + 80002eac: 00400e93 li t4,4 + 80002eb0: 01e00193 li gp,30 + 80002eb4: 0fdf1263 bne t5,t4,80002f98 <fail> + +0000000080002eb8 <test_31>: + 80002eb8: 00000213 li tp,0 + 80002ebc: 00b00113 li sp,11 + 80002ec0: 00000013 nop + 80002ec4: 00d00093 li ra,13 + 80002ec8: 40208f33 sub t5,ra,sp + 80002ecc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ed0: 00200293 li t0,2 + 80002ed4: fe5214e3 bne tp,t0,80002ebc <test_31+0x4> + 80002ed8: 00200e93 li t4,2 + 80002edc: 01f00193 li gp,31 + 80002ee0: 0bdf1c63 bne t5,t4,80002f98 <fail> + +0000000080002ee4 <test_32>: + 80002ee4: 00000213 li tp,0 + 80002ee8: 00b00113 li sp,11 + 80002eec: 00000013 nop + 80002ef0: 00e00093 li ra,14 + 80002ef4: 00000013 nop + 80002ef8: 40208f33 sub t5,ra,sp + 80002efc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f00: 00200293 li t0,2 + 80002f04: fe5212e3 bne tp,t0,80002ee8 <test_32+0x4> + 80002f08: 00300e93 li t4,3 + 80002f0c: 02000193 li gp,32 + 80002f10: 09df1463 bne t5,t4,80002f98 <fail> + +0000000080002f14 <test_33>: + 80002f14: 00000213 li tp,0 + 80002f18: 00b00113 li sp,11 + 80002f1c: 00000013 nop + 80002f20: 00000013 nop + 80002f24: 00f00093 li ra,15 + 80002f28: 40208f33 sub t5,ra,sp + 80002f2c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f30: 00200293 li t0,2 + 80002f34: fe5212e3 bne tp,t0,80002f18 <test_33+0x4> + 80002f38: 00400e93 li t4,4 + 80002f3c: 02100193 li gp,33 + 80002f40: 05df1c63 bne t5,t4,80002f98 <fail> + +0000000080002f44 <test_34>: + 80002f44: ff100093 li ra,-15 + 80002f48: 40100133 neg sp,ra + 80002f4c: 00f00e93 li t4,15 + 80002f50: 02200193 li gp,34 + 80002f54: 05d11263 bne sp,t4,80002f98 <fail> + +0000000080002f58 <test_35>: + 80002f58: 02000093 li ra,32 + 80002f5c: 40008133 sub sp,ra,zero + 80002f60: 02000e93 li t4,32 + 80002f64: 02300193 li gp,35 + 80002f68: 03d11863 bne sp,t4,80002f98 <fail> + +0000000080002f6c <test_36>: + 80002f6c: 400000b3 neg ra,zero + 80002f70: 00000e93 li t4,0 + 80002f74: 02400193 li gp,36 + 80002f78: 03d09063 bne ra,t4,80002f98 <fail> + +0000000080002f7c <test_37>: + 80002f7c: 01000093 li ra,16 + 80002f80: 01e00113 li sp,30 + 80002f84: 40208033 sub zero,ra,sp + 80002f88: 00000e93 li t4,0 + 80002f8c: 02500193 li gp,37 + 80002f90: 01d01463 bne zero,t4,80002f98 <fail> + 80002f94: 00301a63 bne zero,gp,80002fa8 <pass> + +0000000080002f98 <fail>: + 80002f98: 00119513 slli a0,gp,0x1 + 80002f9c: 00050063 beqz a0,80002f9c <fail+0x4> + 80002fa0: 00156513 ori a0,a0,1 + 80002fa4: 00000073 ecall + +0000000080002fa8 <pass>: + 80002fa8: 00100513 li a0,1 + 80002fac: 00000073 ecall + 80002fb0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-sub.elf b/test/riscv/tests/rv64ui-v-sub.elf Binary files differnew file mode 100644 index 00000000..25ce44fb --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sub.elf diff --git a/test/riscv/tests/rv64ui-v-subw.dump b/test/riscv/tests/rv64ui-v-subw.dump new file mode 100644 index 00000000..8832cb76 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-subw.dump @@ -0,0 +1,1214 @@ + +rv64ui-v-subw: 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,sbadaddr + 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 <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: 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: b5068693 addi a3,a3,-1200 # 80002fa8 <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: b8460613 addi a2,a2,-1148 # 80003038 <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: b4c60613 addi a2,a2,-1204 # 80003050 <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: a9c68693 addi a3,a3,-1380 # 80002ff0 <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: ab868693 addi a3,a3,-1352 # 80003128 <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: a3860613 addi a2,a2,-1480 # 80003100 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 96c68693 addi a3,a3,-1684 # 80003158 <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: 88c68693 addi a3,a3,-1908 # 800030c8 <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: 81c68693 addi a3,a3,-2020 # 80003090 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 02a00793 li a5,42 + 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: 0accb7b7 lui a5,0xaccb + 80002a70: 000805b7 lui a1,0x80 + 80002a74: c3078793 addi a5,a5,-976 # accac30 <_start-0x753353d0> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 40208f3b subw t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4bdf1663 bne t5,t4,80002f88 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 40208f3b subw t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 49df1a63 bne t5,t4,80002f88 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 40208f3b subw t5,ra,sp + 80002b04: ffc00e93 li t4,-4 + 80002b08: 00400193 li gp,4 + 80002b0c: 47df1e63 bne t5,t4,80002f88 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 40208f3b subw t5,ra,sp + 80002b1c: 00008eb7 lui t4,0x8 + 80002b20: 00500193 li gp,5 + 80002b24: 47df1263 bne t5,t4,80002f88 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 40208f3b subw t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 45df1663 bne t5,t4,80002f88 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 40208f3b subw t5,ra,sp + 80002b4c: 80008eb7 lui t4,0x80008 + 80002b50: 00700193 li gp,7 + 80002b54: 43df1a63 bne t5,t4,80002f88 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00000093 li ra,0 + 80002b5c: 00008137 lui sp,0x8 + 80002b60: fff1011b addiw sp,sp,-1 + 80002b64: 40208f3b subw t5,ra,sp + 80002b68: ffff8eb7 lui t4,0xffff8 + 80002b6c: 001e8e9b addiw t4,t4,1 + 80002b70: 00800193 li gp,8 + 80002b74: 41df1a63 bne t5,t4,80002f88 <fail> + +0000000080002b78 <test_9>: + 80002b78: 800000b7 lui ra,0x80000 + 80002b7c: fff0809b addiw ra,ra,-1 + 80002b80: 00000113 li sp,0 + 80002b84: 40208f3b subw t5,ra,sp + 80002b88: 80000eb7 lui t4,0x80000 + 80002b8c: fffe8e9b addiw t4,t4,-1 + 80002b90: 00900193 li gp,9 + 80002b94: 3fdf1a63 bne t5,t4,80002f88 <fail> + +0000000080002b98 <test_10>: + 80002b98: 800000b7 lui ra,0x80000 + 80002b9c: fff0809b addiw ra,ra,-1 + 80002ba0: 00008137 lui sp,0x8 + 80002ba4: fff1011b addiw sp,sp,-1 + 80002ba8: 40208f3b subw t5,ra,sp + 80002bac: 7fff8eb7 lui t4,0x7fff8 + 80002bb0: 00a00193 li gp,10 + 80002bb4: 3ddf1a63 bne t5,t4,80002f88 <fail> + +0000000080002bb8 <test_11>: + 80002bb8: 800000b7 lui ra,0x80000 + 80002bbc: 00008137 lui sp,0x8 + 80002bc0: fff1011b addiw sp,sp,-1 + 80002bc4: 40208f3b subw t5,ra,sp + 80002bc8: 7fff8eb7 lui t4,0x7fff8 + 80002bcc: 001e8e9b addiw t4,t4,1 + 80002bd0: 00b00193 li gp,11 + 80002bd4: 3bdf1a63 bne t5,t4,80002f88 <fail> + +0000000080002bd8 <test_12>: + 80002bd8: 800000b7 lui ra,0x80000 + 80002bdc: fff0809b addiw ra,ra,-1 + 80002be0: ffff8137 lui sp,0xffff8 + 80002be4: 40208f3b subw t5,ra,sp + 80002be8: 80008eb7 lui t4,0x80008 + 80002bec: fffe8e9b addiw t4,t4,-1 + 80002bf0: 00c00193 li gp,12 + 80002bf4: 39df1a63 bne t5,t4,80002f88 <fail> + +0000000080002bf8 <test_13>: + 80002bf8: 00000093 li ra,0 + 80002bfc: fff00113 li sp,-1 + 80002c00: 40208f3b subw t5,ra,sp + 80002c04: 00100e93 li t4,1 + 80002c08: 00d00193 li gp,13 + 80002c0c: 37df1e63 bne t5,t4,80002f88 <fail> + +0000000080002c10 <test_14>: + 80002c10: fff00093 li ra,-1 + 80002c14: 00100113 li sp,1 + 80002c18: 40208f3b subw t5,ra,sp + 80002c1c: ffe00e93 li t4,-2 + 80002c20: 00e00193 li gp,14 + 80002c24: 37df1263 bne t5,t4,80002f88 <fail> + +0000000080002c28 <test_15>: + 80002c28: fff00093 li ra,-1 + 80002c2c: fff00113 li sp,-1 + 80002c30: 40208f3b subw t5,ra,sp + 80002c34: 00000e93 li t4,0 + 80002c38: 00f00193 li gp,15 + 80002c3c: 35df1663 bne t5,t4,80002f88 <fail> + +0000000080002c40 <test_16>: + 80002c40: 00d00093 li ra,13 + 80002c44: 00b00113 li sp,11 + 80002c48: 402080bb subw ra,ra,sp + 80002c4c: 00200e93 li t4,2 + 80002c50: 01000193 li gp,16 + 80002c54: 33d09a63 bne ra,t4,80002f88 <fail> + +0000000080002c58 <test_17>: + 80002c58: 00e00093 li ra,14 + 80002c5c: 00b00113 li sp,11 + 80002c60: 4020813b subw sp,ra,sp + 80002c64: 00300e93 li t4,3 + 80002c68: 01100193 li gp,17 + 80002c6c: 31d11e63 bne sp,t4,80002f88 <fail> + +0000000080002c70 <test_18>: + 80002c70: 00d00093 li ra,13 + 80002c74: 401080bb subw ra,ra,ra + 80002c78: 00000e93 li t4,0 + 80002c7c: 01200193 li gp,18 + 80002c80: 31d09463 bne ra,t4,80002f88 <fail> + +0000000080002c84 <test_19>: + 80002c84: 00000213 li tp,0 + 80002c88: 00d00093 li ra,13 + 80002c8c: 00b00113 li sp,11 + 80002c90: 40208f3b subw t5,ra,sp + 80002c94: 000f0313 mv t1,t5 + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5214e3 bne tp,t0,80002c88 <test_19+0x4> + 80002ca4: 00200e93 li t4,2 + 80002ca8: 01300193 li gp,19 + 80002cac: 2dd31e63 bne t1,t4,80002f88 <fail> + +0000000080002cb0 <test_20>: + 80002cb0: 00000213 li tp,0 + 80002cb4: 00e00093 li ra,14 + 80002cb8: 00b00113 li sp,11 + 80002cbc: 40208f3b subw t5,ra,sp + 80002cc0: 00000013 nop + 80002cc4: 000f0313 mv t1,t5 + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fe5212e3 bne tp,t0,80002cb4 <test_20+0x4> + 80002cd4: 00300e93 li t4,3 + 80002cd8: 01400193 li gp,20 + 80002cdc: 2bd31663 bne t1,t4,80002f88 <fail> + +0000000080002ce0 <test_21>: + 80002ce0: 00000213 li tp,0 + 80002ce4: 00f00093 li ra,15 + 80002ce8: 00b00113 li sp,11 + 80002cec: 40208f3b subw t5,ra,sp + 80002cf0: 00000013 nop + 80002cf4: 00000013 nop + 80002cf8: 000f0313 mv t1,t5 + 80002cfc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d00: 00200293 li t0,2 + 80002d04: fe5210e3 bne tp,t0,80002ce4 <test_21+0x4> + 80002d08: 00400e93 li t4,4 + 80002d0c: 01500193 li gp,21 + 80002d10: 27d31c63 bne t1,t4,80002f88 <fail> + +0000000080002d14 <test_22>: + 80002d14: 00000213 li tp,0 + 80002d18: 00d00093 li ra,13 + 80002d1c: 00b00113 li sp,11 + 80002d20: 40208f3b subw t5,ra,sp + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5216e3 bne tp,t0,80002d18 <test_22+0x4> + 80002d30: 00200e93 li t4,2 + 80002d34: 01600193 li gp,22 + 80002d38: 25df1863 bne t5,t4,80002f88 <fail> + +0000000080002d3c <test_23>: + 80002d3c: 00000213 li tp,0 + 80002d40: 00e00093 li ra,14 + 80002d44: 00b00113 li sp,11 + 80002d48: 00000013 nop + 80002d4c: 40208f3b subw t5,ra,sp + 80002d50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d54: 00200293 li t0,2 + 80002d58: fe5214e3 bne tp,t0,80002d40 <test_23+0x4> + 80002d5c: 00300e93 li t4,3 + 80002d60: 01700193 li gp,23 + 80002d64: 23df1263 bne t5,t4,80002f88 <fail> + +0000000080002d68 <test_24>: + 80002d68: 00000213 li tp,0 + 80002d6c: 00f00093 li ra,15 + 80002d70: 00b00113 li sp,11 + 80002d74: 00000013 nop + 80002d78: 00000013 nop + 80002d7c: 40208f3b subw t5,ra,sp + 80002d80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d84: 00200293 li t0,2 + 80002d88: fe5212e3 bne tp,t0,80002d6c <test_24+0x4> + 80002d8c: 00400e93 li t4,4 + 80002d90: 01800193 li gp,24 + 80002d94: 1fdf1a63 bne t5,t4,80002f88 <fail> + +0000000080002d98 <test_25>: + 80002d98: 00000213 li tp,0 + 80002d9c: 00d00093 li ra,13 + 80002da0: 00000013 nop + 80002da4: 00b00113 li sp,11 + 80002da8: 40208f3b subw t5,ra,sp + 80002dac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db0: 00200293 li t0,2 + 80002db4: fe5214e3 bne tp,t0,80002d9c <test_25+0x4> + 80002db8: 00200e93 li t4,2 + 80002dbc: 01900193 li gp,25 + 80002dc0: 1ddf1463 bne t5,t4,80002f88 <fail> + +0000000080002dc4 <test_26>: + 80002dc4: 00000213 li tp,0 + 80002dc8: 00e00093 li ra,14 + 80002dcc: 00000013 nop + 80002dd0: 00b00113 li sp,11 + 80002dd4: 00000013 nop + 80002dd8: 40208f3b subw t5,ra,sp + 80002ddc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de0: 00200293 li t0,2 + 80002de4: fe5212e3 bne tp,t0,80002dc8 <test_26+0x4> + 80002de8: 00300e93 li t4,3 + 80002dec: 01a00193 li gp,26 + 80002df0: 19df1c63 bne t5,t4,80002f88 <fail> + +0000000080002df4 <test_27>: + 80002df4: 00000213 li tp,0 + 80002df8: 00f00093 li ra,15 + 80002dfc: 00000013 nop + 80002e00: 00000013 nop + 80002e04: 00b00113 li sp,11 + 80002e08: 40208f3b subw t5,ra,sp + 80002e0c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e10: 00200293 li t0,2 + 80002e14: fe5212e3 bne tp,t0,80002df8 <test_27+0x4> + 80002e18: 00400e93 li t4,4 + 80002e1c: 01b00193 li gp,27 + 80002e20: 17df1463 bne t5,t4,80002f88 <fail> + +0000000080002e24 <test_28>: + 80002e24: 00000213 li tp,0 + 80002e28: 00b00113 li sp,11 + 80002e2c: 00d00093 li ra,13 + 80002e30: 40208f3b subw t5,ra,sp + 80002e34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e38: 00200293 li t0,2 + 80002e3c: fe5216e3 bne tp,t0,80002e28 <test_28+0x4> + 80002e40: 00200e93 li t4,2 + 80002e44: 01c00193 li gp,28 + 80002e48: 15df1063 bne t5,t4,80002f88 <fail> + +0000000080002e4c <test_29>: + 80002e4c: 00000213 li tp,0 + 80002e50: 00b00113 li sp,11 + 80002e54: 00e00093 li ra,14 + 80002e58: 00000013 nop + 80002e5c: 40208f3b subw t5,ra,sp + 80002e60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e64: 00200293 li t0,2 + 80002e68: fe5214e3 bne tp,t0,80002e50 <test_29+0x4> + 80002e6c: 00300e93 li t4,3 + 80002e70: 01d00193 li gp,29 + 80002e74: 11df1a63 bne t5,t4,80002f88 <fail> + +0000000080002e78 <test_30>: + 80002e78: 00000213 li tp,0 + 80002e7c: 00b00113 li sp,11 + 80002e80: 00f00093 li ra,15 + 80002e84: 00000013 nop + 80002e88: 00000013 nop + 80002e8c: 40208f3b subw t5,ra,sp + 80002e90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e94: 00200293 li t0,2 + 80002e98: fe5212e3 bne tp,t0,80002e7c <test_30+0x4> + 80002e9c: 00400e93 li t4,4 + 80002ea0: 01e00193 li gp,30 + 80002ea4: 0fdf1263 bne t5,t4,80002f88 <fail> + +0000000080002ea8 <test_31>: + 80002ea8: 00000213 li tp,0 + 80002eac: 00b00113 li sp,11 + 80002eb0: 00000013 nop + 80002eb4: 00d00093 li ra,13 + 80002eb8: 40208f3b subw t5,ra,sp + 80002ebc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec0: 00200293 li t0,2 + 80002ec4: fe5214e3 bne tp,t0,80002eac <test_31+0x4> + 80002ec8: 00200e93 li t4,2 + 80002ecc: 01f00193 li gp,31 + 80002ed0: 0bdf1c63 bne t5,t4,80002f88 <fail> + +0000000080002ed4 <test_32>: + 80002ed4: 00000213 li tp,0 + 80002ed8: 00b00113 li sp,11 + 80002edc: 00000013 nop + 80002ee0: 00e00093 li ra,14 + 80002ee4: 00000013 nop + 80002ee8: 40208f3b subw t5,ra,sp + 80002eec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ef0: 00200293 li t0,2 + 80002ef4: fe5212e3 bne tp,t0,80002ed8 <test_32+0x4> + 80002ef8: 00300e93 li t4,3 + 80002efc: 02000193 li gp,32 + 80002f00: 09df1463 bne t5,t4,80002f88 <fail> + +0000000080002f04 <test_33>: + 80002f04: 00000213 li tp,0 + 80002f08: 00b00113 li sp,11 + 80002f0c: 00000013 nop + 80002f10: 00000013 nop + 80002f14: 00f00093 li ra,15 + 80002f18: 40208f3b subw t5,ra,sp + 80002f1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f20: 00200293 li t0,2 + 80002f24: fe5212e3 bne tp,t0,80002f08 <test_33+0x4> + 80002f28: 00400e93 li t4,4 + 80002f2c: 02100193 li gp,33 + 80002f30: 05df1c63 bne t5,t4,80002f88 <fail> + +0000000080002f34 <test_34>: + 80002f34: ff100093 li ra,-15 + 80002f38: 4010013b negw sp,ra + 80002f3c: 00f00e93 li t4,15 + 80002f40: 02200193 li gp,34 + 80002f44: 05d11263 bne sp,t4,80002f88 <fail> + +0000000080002f48 <test_35>: + 80002f48: 02000093 li ra,32 + 80002f4c: 4000813b subw sp,ra,zero + 80002f50: 02000e93 li t4,32 + 80002f54: 02300193 li gp,35 + 80002f58: 03d11863 bne sp,t4,80002f88 <fail> + +0000000080002f5c <test_36>: + 80002f5c: 400000bb negw ra,zero + 80002f60: 00000e93 li t4,0 + 80002f64: 02400193 li gp,36 + 80002f68: 03d09063 bne ra,t4,80002f88 <fail> + +0000000080002f6c <test_37>: + 80002f6c: 01000093 li ra,16 + 80002f70: 01e00113 li sp,30 + 80002f74: 4020803b subw zero,ra,sp + 80002f78: 00000e93 li t4,0 + 80002f7c: 02500193 li gp,37 + 80002f80: 01d01463 bne zero,t4,80002f88 <fail> + 80002f84: 00301a63 bne zero,gp,80002f98 <pass> + +0000000080002f88 <fail>: + 80002f88: 00119513 slli a0,gp,0x1 + 80002f8c: 00050063 beqz a0,80002f8c <fail+0x4> + 80002f90: 00156513 ori a0,a0,1 + 80002f94: 00000073 ecall + +0000000080002f98 <pass>: + 80002f98: 00100513 li a0,1 + 80002f9c: 00000073 ecall + 80002fa0: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-subw.elf b/test/riscv/tests/rv64ui-v-subw.elf Binary files differnew file mode 100644 index 00000000..0c451dbc --- /dev/null +++ b/test/riscv/tests/rv64ui-v-subw.elf diff --git a/test/riscv/tests/rv64ui-v-sw.dump b/test/riscv/tests/rv64ui-v-sw.dump new file mode 100644 index 00000000..60671e20 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sw.dump @@ -0,0 +1,1203 @@ + +rv64ui-v-sw: 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,sbadaddr + 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: b1068693 addi a3,a3,-1264 # 80002f68 <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: b4460613 addi a2,a2,-1212 # 80002ff8 <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: 00001617 auipc a2,0x1 + 80002508: b0c60613 addi a2,a2,-1268 # 80003010 <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: 00001697 auipc a3,0x1 + 80002558: a5c68693 addi a3,a3,-1444 # 80002fb0 <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: 00001697 auipc a3,0x1 + 80002674: a7868693 addi a3,a3,-1416 # 800030e8 <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: 00001617 auipc a2,0x1 + 800026cc: 9f860613 addi a2,a2,-1544 # 800030c0 <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: 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: 92c68693 addi a3,a3,-1748 # 80003118 <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: 00001697 auipc a3,0x1 + 80002840: 84c68693 addi a3,a3,-1972 # 80003088 <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: 7dc68693 addi a3,a3,2012 # 80003050 <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: 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: 02900793 li a5,41 + 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: 06fb17b7 lui a5,0x6fb1 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: a0a78793 addi a5,a5,-1526 # 6fb0a0a <_start-0x7904f5f6> + 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: 00001097 auipc ra,0x1 + 80002acc: 53808093 addi ra,ra,1336 # 80004000 <begin_signature> + 80002ad0: 00aa0137 lui sp,0xaa0 + 80002ad4: 0aa1011b addiw sp,sp,170 + 80002ad8: 0020a023 sw sp,0(ra) + 80002adc: 0000af03 lw t5,0(ra) + 80002ae0: 00aa0eb7 lui t4,0xaa0 + 80002ae4: 0aae8e9b addiw t4,t4,170 + 80002ae8: 00200193 li gp,2 + 80002aec: 47df1063 bne t5,t4,80002f4c <fail> + +0000000080002af0 <test_3>: + 80002af0: 00001097 auipc ra,0x1 + 80002af4: 51008093 addi ra,ra,1296 # 80004000 <begin_signature> + 80002af8: aa00b137 lui sp,0xaa00b + 80002afc: a001011b addiw sp,sp,-1536 + 80002b00: 0020a223 sw sp,4(ra) + 80002b04: 0040af03 lw t5,4(ra) + 80002b08: aa00beb7 lui t4,0xaa00b + 80002b0c: a00e8e9b addiw t4,t4,-1536 + 80002b10: 00300193 li gp,3 + 80002b14: 43df1c63 bne t5,t4,80002f4c <fail> + +0000000080002b18 <test_4>: + 80002b18: 00001097 auipc ra,0x1 + 80002b1c: 4e808093 addi ra,ra,1256 # 80004000 <begin_signature> + 80002b20: 0aa01137 lui sp,0xaa01 + 80002b24: aa01011b addiw sp,sp,-1376 + 80002b28: 0020a423 sw sp,8(ra) + 80002b2c: 0080af03 lw t5,8(ra) + 80002b30: 0aa01eb7 lui t4,0xaa01 + 80002b34: aa0e8e9b addiw t4,t4,-1376 + 80002b38: 00400193 li gp,4 + 80002b3c: 41df1863 bne t5,t4,80002f4c <fail> + +0000000080002b40 <test_5>: + 80002b40: 00001097 auipc ra,0x1 + 80002b44: 4c008093 addi ra,ra,1216 # 80004000 <begin_signature> + 80002b48: a00aa137 lui sp,0xa00aa + 80002b4c: 00a1011b addiw sp,sp,10 + 80002b50: 0020a623 sw sp,12(ra) + 80002b54: 00c0af03 lw t5,12(ra) + 80002b58: a00aaeb7 lui t4,0xa00aa + 80002b5c: 00ae8e9b addiw t4,t4,10 + 80002b60: 00500193 li gp,5 + 80002b64: 3fdf1463 bne t5,t4,80002f4c <fail> + +0000000080002b68 <test_6>: + 80002b68: 00001097 auipc ra,0x1 + 80002b6c: 4b408093 addi ra,ra,1204 # 8000401c <tdat8> + 80002b70: 00aa0137 lui sp,0xaa0 + 80002b74: 0aa1011b addiw sp,sp,170 + 80002b78: fe20aa23 sw sp,-12(ra) + 80002b7c: ff40af03 lw t5,-12(ra) + 80002b80: 00aa0eb7 lui t4,0xaa0 + 80002b84: 0aae8e9b addiw t4,t4,170 + 80002b88: 00600193 li gp,6 + 80002b8c: 3ddf1063 bne t5,t4,80002f4c <fail> + +0000000080002b90 <test_7>: + 80002b90: 00001097 auipc ra,0x1 + 80002b94: 48c08093 addi ra,ra,1164 # 8000401c <tdat8> + 80002b98: aa00b137 lui sp,0xaa00b + 80002b9c: a001011b addiw sp,sp,-1536 + 80002ba0: fe20ac23 sw sp,-8(ra) + 80002ba4: ff80af03 lw t5,-8(ra) + 80002ba8: aa00beb7 lui t4,0xaa00b + 80002bac: a00e8e9b addiw t4,t4,-1536 + 80002bb0: 00700193 li gp,7 + 80002bb4: 39df1c63 bne t5,t4,80002f4c <fail> + +0000000080002bb8 <test_8>: + 80002bb8: 00001097 auipc ra,0x1 + 80002bbc: 46408093 addi ra,ra,1124 # 8000401c <tdat8> + 80002bc0: 0aa01137 lui sp,0xaa01 + 80002bc4: aa01011b addiw sp,sp,-1376 + 80002bc8: fe20ae23 sw sp,-4(ra) + 80002bcc: ffc0af03 lw t5,-4(ra) + 80002bd0: 0aa01eb7 lui t4,0xaa01 + 80002bd4: aa0e8e9b addiw t4,t4,-1376 + 80002bd8: 00800193 li gp,8 + 80002bdc: 37df1863 bne t5,t4,80002f4c <fail> + +0000000080002be0 <test_9>: + 80002be0: 00001097 auipc ra,0x1 + 80002be4: 43c08093 addi ra,ra,1084 # 8000401c <tdat8> + 80002be8: a00aa137 lui sp,0xa00aa + 80002bec: 00a1011b addiw sp,sp,10 + 80002bf0: 0020a023 sw sp,0(ra) + 80002bf4: 0000af03 lw t5,0(ra) + 80002bf8: a00aaeb7 lui t4,0xa00aa + 80002bfc: 00ae8e9b addiw t4,t4,10 + 80002c00: 00900193 li gp,9 + 80002c04: 35df1463 bne t5,t4,80002f4c <fail> + +0000000080002c08 <test_10>: + 80002c08: 00001097 auipc ra,0x1 + 80002c0c: 41808093 addi ra,ra,1048 # 80004020 <tdat9> + 80002c10: 12345137 lui sp,0x12345 + 80002c14: 6781011b addiw sp,sp,1656 + 80002c18: fe008213 addi tp,ra,-32 + 80002c1c: 02222023 sw sp,32(tp) # 20 <_start-0x7fffffe0> + 80002c20: 0000a283 lw t0,0(ra) + 80002c24: 12345eb7 lui t4,0x12345 + 80002c28: 678e8e9b addiw t4,t4,1656 + 80002c2c: 00a00193 li gp,10 + 80002c30: 31d29e63 bne t0,t4,80002f4c <fail> + +0000000080002c34 <test_11>: + 80002c34: 00001097 auipc ra,0x1 + 80002c38: 3ec08093 addi ra,ra,1004 # 80004020 <tdat9> + 80002c3c: 58213137 lui sp,0x58213 + 80002c40: 0981011b addiw sp,sp,152 + 80002c44: ffd08093 addi ra,ra,-3 + 80002c48: 0020a3a3 sw sp,7(ra) + 80002c4c: 00001217 auipc tp,0x1 + 80002c50: 3d820213 addi tp,tp,984 # 80004024 <tdat10> + 80002c54: 00022283 lw t0,0(tp) # 0 <_start-0x80000000> + 80002c58: 58213eb7 lui t4,0x58213 + 80002c5c: 098e8e9b addiw t4,t4,152 + 80002c60: 00b00193 li gp,11 + 80002c64: 2fd29463 bne t0,t4,80002f4c <fail> + +0000000080002c68 <test_12>: + 80002c68: 00c00193 li gp,12 + 80002c6c: 00000213 li tp,0 + 80002c70: aabbd0b7 lui ra,0xaabbd + 80002c74: cdd0809b addiw ra,ra,-803 + 80002c78: 00001117 auipc sp,0x1 + 80002c7c: 38810113 addi sp,sp,904 # 80004000 <begin_signature> + 80002c80: 00112023 sw ra,0(sp) + 80002c84: 00012f03 lw t5,0(sp) + 80002c88: aabbdeb7 lui t4,0xaabbd + 80002c8c: cdde8e9b addiw t4,t4,-803 + 80002c90: 2bdf1e63 bne t5,t4,80002f4c <fail> + 80002c94: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c98: 00200293 li t0,2 + 80002c9c: fc521ae3 bne tp,t0,80002c70 <test_12+0x8> + +0000000080002ca0 <test_13>: + 80002ca0: 00d00193 li gp,13 + 80002ca4: 00000213 li tp,0 + 80002ca8: daabc0b7 lui ra,0xdaabc + 80002cac: ccd0809b addiw ra,ra,-819 + 80002cb0: 00001117 auipc sp,0x1 + 80002cb4: 35010113 addi sp,sp,848 # 80004000 <begin_signature> + 80002cb8: 00000013 nop + 80002cbc: 00112223 sw ra,4(sp) + 80002cc0: 00412f03 lw t5,4(sp) + 80002cc4: daabceb7 lui t4,0xdaabc + 80002cc8: ccde8e9b addiw t4,t4,-819 + 80002ccc: 29df1063 bne t5,t4,80002f4c <fail> + 80002cd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd4: 00200293 li t0,2 + 80002cd8: fc5218e3 bne tp,t0,80002ca8 <test_13+0x8> + +0000000080002cdc <test_14>: + 80002cdc: 00e00193 li gp,14 + 80002ce0: 00000213 li tp,0 + 80002ce4: ddaac0b7 lui ra,0xddaac + 80002ce8: bcc0809b addiw ra,ra,-1076 + 80002cec: 00001117 auipc sp,0x1 + 80002cf0: 31410113 addi sp,sp,788 # 80004000 <begin_signature> + 80002cf4: 00000013 nop + 80002cf8: 00000013 nop + 80002cfc: 00112423 sw ra,8(sp) + 80002d00: 00812f03 lw t5,8(sp) + 80002d04: ddaaceb7 lui t4,0xddaac + 80002d08: bcce8e9b addiw t4,t4,-1076 + 80002d0c: 25df1063 bne t5,t4,80002f4c <fail> + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fc5216e3 bne tp,t0,80002ce4 <test_14+0x8> + +0000000080002d1c <test_15>: + 80002d1c: 00f00193 li gp,15 + 80002d20: 00000213 li tp,0 + 80002d24: cddab0b7 lui ra,0xcddab + 80002d28: bbc0809b addiw ra,ra,-1092 + 80002d2c: 00000013 nop + 80002d30: 00001117 auipc sp,0x1 + 80002d34: 2d010113 addi sp,sp,720 # 80004000 <begin_signature> + 80002d38: 00112623 sw ra,12(sp) + 80002d3c: 00c12f03 lw t5,12(sp) + 80002d40: cddabeb7 lui t4,0xcddab + 80002d44: bbce8e9b addiw t4,t4,-1092 + 80002d48: 21df1263 bne t5,t4,80002f4c <fail> + 80002d4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d50: 00200293 li t0,2 + 80002d54: fc5218e3 bne tp,t0,80002d24 <test_15+0x8> + +0000000080002d58 <test_16>: + 80002d58: 01000193 li gp,16 + 80002d5c: 00000213 li tp,0 + 80002d60: ccddb0b7 lui ra,0xccddb + 80002d64: abb0809b addiw ra,ra,-1349 + 80002d68: 00000013 nop + 80002d6c: 00001117 auipc sp,0x1 + 80002d70: 29410113 addi sp,sp,660 # 80004000 <begin_signature> + 80002d74: 00000013 nop + 80002d78: 00112823 sw ra,16(sp) + 80002d7c: 01012f03 lw t5,16(sp) + 80002d80: ccddbeb7 lui t4,0xccddb + 80002d84: abbe8e9b addiw t4,t4,-1349 + 80002d88: 1ddf1263 bne t5,t4,80002f4c <fail> + 80002d8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d90: 00200293 li t0,2 + 80002d94: fc5216e3 bne tp,t0,80002d60 <test_16+0x8> + +0000000080002d98 <test_17>: + 80002d98: 01100193 li gp,17 + 80002d9c: 00000213 li tp,0 + 80002da0: bccde0b7 lui ra,0xbccde + 80002da4: aab0809b addiw ra,ra,-1365 + 80002da8: 00000013 nop + 80002dac: 00000013 nop + 80002db0: 00001117 auipc sp,0x1 + 80002db4: 25010113 addi sp,sp,592 # 80004000 <begin_signature> + 80002db8: 00112a23 sw ra,20(sp) + 80002dbc: 01412f03 lw t5,20(sp) + 80002dc0: bccdeeb7 lui t4,0xbccde + 80002dc4: aabe8e9b addiw t4,t4,-1365 + 80002dc8: 19df1263 bne t5,t4,80002f4c <fail> + 80002dcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd0: 00200293 li t0,2 + 80002dd4: fc5216e3 bne tp,t0,80002da0 <test_17+0x8> + +0000000080002dd8 <test_18>: + 80002dd8: 01200193 li gp,18 + 80002ddc: 00000213 li tp,0 + 80002de0: 00001117 auipc sp,0x1 + 80002de4: 22010113 addi sp,sp,544 # 80004000 <begin_signature> + 80002de8: 001120b7 lui ra,0x112 + 80002dec: 2330809b addiw ra,ra,563 + 80002df0: 00112023 sw ra,0(sp) + 80002df4: 00012f03 lw t5,0(sp) + 80002df8: 00112eb7 lui t4,0x112 + 80002dfc: 233e8e9b addiw t4,t4,563 + 80002e00: 15df1663 bne t5,t4,80002f4c <fail> + 80002e04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e08: 00200293 li t0,2 + 80002e0c: fc521ae3 bne tp,t0,80002de0 <test_18+0x8> + +0000000080002e10 <test_19>: + 80002e10: 01300193 li gp,19 + 80002e14: 00000213 li tp,0 + 80002e18: 00001117 auipc sp,0x1 + 80002e1c: 1e810113 addi sp,sp,488 # 80004000 <begin_signature> + 80002e20: 300110b7 lui ra,0x30011 + 80002e24: 2230809b addiw ra,ra,547 + 80002e28: 00000013 nop + 80002e2c: 00112223 sw ra,4(sp) + 80002e30: 00412f03 lw t5,4(sp) + 80002e34: 30011eb7 lui t4,0x30011 + 80002e38: 223e8e9b addiw t4,t4,547 + 80002e3c: 11df1863 bne t5,t4,80002f4c <fail> + 80002e40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e44: 00200293 li t0,2 + 80002e48: fc5218e3 bne tp,t0,80002e18 <test_19+0x8> + +0000000080002e4c <test_20>: + 80002e4c: 01400193 li gp,20 + 80002e50: 00000213 li tp,0 + 80002e54: 00001117 auipc sp,0x1 + 80002e58: 1ac10113 addi sp,sp,428 # 80004000 <begin_signature> + 80002e5c: 330010b7 lui ra,0x33001 + 80002e60: 1220809b addiw ra,ra,290 + 80002e64: 00000013 nop + 80002e68: 00000013 nop + 80002e6c: 00112423 sw ra,8(sp) + 80002e70: 00812f03 lw t5,8(sp) + 80002e74: 33001eb7 lui t4,0x33001 + 80002e78: 122e8e9b addiw t4,t4,290 + 80002e7c: 0ddf1863 bne t5,t4,80002f4c <fail> + 80002e80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e84: 00200293 li t0,2 + 80002e88: fc5216e3 bne tp,t0,80002e54 <test_20+0x8> + +0000000080002e8c <test_21>: + 80002e8c: 01500193 li gp,21 + 80002e90: 00000213 li tp,0 + 80002e94: 00001117 auipc sp,0x1 + 80002e98: 16c10113 addi sp,sp,364 # 80004000 <begin_signature> + 80002e9c: 00000013 nop + 80002ea0: 233000b7 lui ra,0x23300 + 80002ea4: 1120809b addiw ra,ra,274 + 80002ea8: 00112623 sw ra,12(sp) + 80002eac: 00c12f03 lw t5,12(sp) + 80002eb0: 23300eb7 lui t4,0x23300 + 80002eb4: 112e8e9b addiw t4,t4,274 + 80002eb8: 09df1a63 bne t5,t4,80002f4c <fail> + 80002ebc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec0: 00200293 li t0,2 + 80002ec4: fc5218e3 bne tp,t0,80002e94 <test_21+0x8> + +0000000080002ec8 <test_22>: + 80002ec8: 01600193 li gp,22 + 80002ecc: 00000213 li tp,0 + 80002ed0: 00001117 auipc sp,0x1 + 80002ed4: 13010113 addi sp,sp,304 # 80004000 <begin_signature> + 80002ed8: 00000013 nop + 80002edc: 223300b7 lui ra,0x22330 + 80002ee0: 0110809b addiw ra,ra,17 + 80002ee4: 00000013 nop + 80002ee8: 00112823 sw ra,16(sp) + 80002eec: 01012f03 lw t5,16(sp) + 80002ef0: 22330eb7 lui t4,0x22330 + 80002ef4: 011e8e9b addiw t4,t4,17 + 80002ef8: 05df1a63 bne t5,t4,80002f4c <fail> + 80002efc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f00: 00200293 li t0,2 + 80002f04: fc5216e3 bne tp,t0,80002ed0 <test_22+0x8> + +0000000080002f08 <test_23>: + 80002f08: 01700193 li gp,23 + 80002f0c: 00000213 li tp,0 + 80002f10: 00001117 auipc sp,0x1 + 80002f14: 0f010113 addi sp,sp,240 # 80004000 <begin_signature> + 80002f18: 00000013 nop + 80002f1c: 00000013 nop + 80002f20: 122330b7 lui ra,0x12233 + 80002f24: 0010809b addiw ra,ra,1 + 80002f28: 00112a23 sw ra,20(sp) + 80002f2c: 01412f03 lw t5,20(sp) + 80002f30: 12233eb7 lui t4,0x12233 + 80002f34: 001e8e9b addiw t4,t4,1 + 80002f38: 01df1a63 bne t5,t4,80002f4c <fail> + 80002f3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f40: 00200293 li t0,2 + 80002f44: fc5216e3 bne tp,t0,80002f10 <test_23+0x8> + 80002f48: 00301a63 bne zero,gp,80002f5c <pass> + +0000000080002f4c <fail>: + 80002f4c: 00119513 slli a0,gp,0x1 + 80002f50: 00050063 beqz a0,80002f50 <fail+0x4> + 80002f54: 00156513 ori a0,a0,1 + 80002f58: 00000073 ecall + +0000000080002f5c <pass>: + 80002f5c: 00100513 li a0,1 + 80002f60: 00000073 ecall + 80002f64: c0001073 unimp + +Disassembly of section .data: + +0000000080004000 <begin_signature>: + 80004000: deadbeef jal t4,7ffdf5ea <_start-0x20a16> + +0000000080004004 <tdat2>: + 80004004: deadbeef jal t4,7ffdf5ee <_start-0x20a12> + +0000000080004008 <tdat3>: + 80004008: deadbeef jal t4,7ffdf5f2 <_start-0x20a0e> + +000000008000400c <tdat4>: + 8000400c: deadbeef jal t4,7ffdf5f6 <_start-0x20a0a> + +0000000080004010 <tdat5>: + 80004010: deadbeef jal t4,7ffdf5fa <_start-0x20a06> + +0000000080004014 <tdat6>: + 80004014: deadbeef jal t4,7ffdf5fe <_start-0x20a02> + +0000000080004018 <tdat7>: + 80004018: deadbeef jal t4,7ffdf602 <_start-0x209fe> + +000000008000401c <tdat8>: + 8000401c: deadbeef jal t4,7ffdf606 <_start-0x209fa> + +0000000080004020 <tdat9>: + 80004020: deadbeef jal t4,7ffdf60a <_start-0x209f6> + +0000000080004024 <tdat10>: + 80004024: deadbeef jal t4,7ffdf60e <_start-0x209f2> diff --git a/test/riscv/tests/rv64ui-v-sw.elf b/test/riscv/tests/rv64ui-v-sw.elf Binary files differnew file mode 100644 index 00000000..d52322bf --- /dev/null +++ b/test/riscv/tests/rv64ui-v-sw.elf diff --git a/test/riscv/tests/rv64ui-v-xor.dump b/test/riscv/tests/rv64ui-v-xor.dump new file mode 100644 index 00000000..8b95600c --- /dev/null +++ b/test/riscv/tests/rv64ui-v-xor.dump @@ -0,0 +1,1260 @@ + +rv64ui-v-xor: 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,sbadaddr + 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 <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: 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: c5868693 addi a3,a3,-936 # 800030b0 <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: c8c60613 addi a2,a2,-884 # 80003140 <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: c5460613 addi a2,a2,-940 # 80003158 <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: ba468693 addi a3,a3,-1116 # 800030f8 <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: bc068693 addi a3,a3,-1088 # 80003230 <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: b4060613 addi a2,a2,-1216 # 80003208 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: a7468693 addi a3,a3,-1420 # 80003260 <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: 99468693 addi a3,a3,-1644 # 800031d0 <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: 92468693 addi a3,a3,-1756 # 80003198 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 02900793 li a5,41 + 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: 0c2b87b7 lui a5,0xc2b8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 9f278793 addi a5,a5,-1550 # c2b79f2 <_start-0x73d4860e> + 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: 000100b7 lui ra,0x10 + 80002acc: f010809b addiw ra,ra,-255 + 80002ad0: 01009093 slli ra,ra,0x10 + 80002ad4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002ad8: 0f0f1137 lui sp,0xf0f1 + 80002adc: f0f1011b addiw sp,sp,-241 + 80002ae0: 0020cf33 xor t5,ra,sp + 80002ae4: 000f0eb7 lui t4,0xf0 + 80002ae8: 0ffe8e9b addiw t4,t4,255 + 80002aec: 00ce9e93 slli t4,t4,0xc + 80002af0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002af4: 00200193 li gp,2 + 80002af8: 59df1c63 bne t5,t4,80003090 <fail> + +0000000080002afc <test_3>: + 80002afc: 0ff010b7 lui ra,0xff01 + 80002b00: ff00809b addiw ra,ra,-16 + 80002b04: 000f1137 lui sp,0xf1 + 80002b08: f0f1011b addiw sp,sp,-241 + 80002b0c: 00c11113 slli sp,sp,0xc + 80002b10: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b14: 0020cf33 xor t5,ra,sp + 80002b18: 00010eb7 lui t4,0x10 + 80002b1c: f01e8e9b addiw t4,t4,-255 + 80002b20: 010e9e93 slli t4,t4,0x10 + 80002b24: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002b28: 00300193 li gp,3 + 80002b2c: 57df1263 bne t5,t4,80003090 <fail> + +0000000080002b30 <test_4>: + 80002b30: 00ff00b7 lui ra,0xff0 + 80002b34: 0ff0809b addiw ra,ra,255 + 80002b38: 0f0f1137 lui sp,0xf0f1 + 80002b3c: f0f1011b addiw sp,sp,-241 + 80002b40: 0020cf33 xor t5,ra,sp + 80002b44: 0ff01eb7 lui t4,0xff01 + 80002b48: ff0e8e9b addiw t4,t4,-16 + 80002b4c: 00400193 li gp,4 + 80002b50: 55df1063 bne t5,t4,80003090 <fail> + +0000000080002b54 <test_5>: + 80002b54: 000f00b7 lui ra,0xf0 + 80002b58: 0ff0809b addiw ra,ra,255 + 80002b5c: 00c09093 slli ra,ra,0xc + 80002b60: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80002b64: 000f1137 lui sp,0xf1 + 80002b68: f0f1011b addiw sp,sp,-241 + 80002b6c: 00c11113 slli sp,sp,0xc + 80002b70: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002b74: 0020cf33 xor t5,ra,sp + 80002b78: 00ff0eb7 lui t4,0xff0 + 80002b7c: 0ffe8e9b addiw t4,t4,255 + 80002b80: 00500193 li gp,5 + 80002b84: 51df1663 bne t5,t4,80003090 <fail> + +0000000080002b88 <test_6>: + 80002b88: 000100b7 lui ra,0x10 + 80002b8c: f010809b addiw ra,ra,-255 + 80002b90: 01009093 slli ra,ra,0x10 + 80002b94: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002b98: 0f0f1137 lui sp,0xf0f1 + 80002b9c: f0f1011b addiw sp,sp,-241 + 80002ba0: 0020c0b3 xor ra,ra,sp + 80002ba4: 000f0eb7 lui t4,0xf0 + 80002ba8: 0ffe8e9b addiw t4,t4,255 + 80002bac: 00ce9e93 slli t4,t4,0xc + 80002bb0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002bb4: 00600193 li gp,6 + 80002bb8: 4dd09c63 bne ra,t4,80003090 <fail> + +0000000080002bbc <test_7>: + 80002bbc: 000100b7 lui ra,0x10 + 80002bc0: f010809b addiw ra,ra,-255 + 80002bc4: 01009093 slli ra,ra,0x10 + 80002bc8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002bcc: 0f0f1137 lui sp,0xf0f1 + 80002bd0: f0f1011b addiw sp,sp,-241 + 80002bd4: 0020c133 xor sp,ra,sp + 80002bd8: 000f0eb7 lui t4,0xf0 + 80002bdc: 0ffe8e9b addiw t4,t4,255 + 80002be0: 00ce9e93 slli t4,t4,0xc + 80002be4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002be8: 00700193 li gp,7 + 80002bec: 4bd11263 bne sp,t4,80003090 <fail> + +0000000080002bf0 <test_8>: + 80002bf0: 000100b7 lui ra,0x10 + 80002bf4: f010809b addiw ra,ra,-255 + 80002bf8: 01009093 slli ra,ra,0x10 + 80002bfc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002c00: 0010c0b3 xor ra,ra,ra + 80002c04: 00000e93 li t4,0 + 80002c08: 00800193 li gp,8 + 80002c0c: 49d09263 bne ra,t4,80003090 <fail> + +0000000080002c10 <test_9>: + 80002c10: 00000213 li tp,0 + 80002c14: 000100b7 lui ra,0x10 + 80002c18: f010809b addiw ra,ra,-255 + 80002c1c: 01009093 slli ra,ra,0x10 + 80002c20: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002c24: 0f0f1137 lui sp,0xf0f1 + 80002c28: f0f1011b addiw sp,sp,-241 + 80002c2c: 0020cf33 xor t5,ra,sp + 80002c30: 000f0313 mv t1,t5 + 80002c34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c38: 00200293 li t0,2 + 80002c3c: fc521ce3 bne tp,t0,80002c14 <test_9+0x4> + 80002c40: 000f0eb7 lui t4,0xf0 + 80002c44: 0ffe8e9b addiw t4,t4,255 + 80002c48: 00ce9e93 slli t4,t4,0xc + 80002c4c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002c50: 00900193 li gp,9 + 80002c54: 43d31e63 bne t1,t4,80003090 <fail> + +0000000080002c58 <test_10>: + 80002c58: 00000213 li tp,0 + 80002c5c: 0ff010b7 lui ra,0xff01 + 80002c60: ff00809b addiw ra,ra,-16 + 80002c64: 000f1137 lui sp,0xf1 + 80002c68: f0f1011b addiw sp,sp,-241 + 80002c6c: 00c11113 slli sp,sp,0xc + 80002c70: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002c74: 0020cf33 xor t5,ra,sp + 80002c78: 00000013 nop + 80002c7c: 000f0313 mv t1,t5 + 80002c80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c84: 00200293 li t0,2 + 80002c88: fc521ae3 bne tp,t0,80002c5c <test_10+0x4> + 80002c8c: 00010eb7 lui t4,0x10 + 80002c90: f01e8e9b addiw t4,t4,-255 + 80002c94: 010e9e93 slli t4,t4,0x10 + 80002c98: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002c9c: 00a00193 li gp,10 + 80002ca0: 3fd31863 bne t1,t4,80003090 <fail> + +0000000080002ca4 <test_11>: + 80002ca4: 00000213 li tp,0 + 80002ca8: 00ff00b7 lui ra,0xff0 + 80002cac: 0ff0809b addiw ra,ra,255 + 80002cb0: 0f0f1137 lui sp,0xf0f1 + 80002cb4: f0f1011b addiw sp,sp,-241 + 80002cb8: 0020cf33 xor t5,ra,sp + 80002cbc: 00000013 nop + 80002cc0: 00000013 nop + 80002cc4: 000f0313 mv t1,t5 + 80002cc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ccc: 00200293 li t0,2 + 80002cd0: fc521ce3 bne tp,t0,80002ca8 <test_11+0x4> + 80002cd4: 0ff01eb7 lui t4,0xff01 + 80002cd8: ff0e8e9b addiw t4,t4,-16 + 80002cdc: 00b00193 li gp,11 + 80002ce0: 3bd31863 bne t1,t4,80003090 <fail> + +0000000080002ce4 <test_12>: + 80002ce4: 00000213 li tp,0 + 80002ce8: 000100b7 lui ra,0x10 + 80002cec: f010809b addiw ra,ra,-255 + 80002cf0: 01009093 slli ra,ra,0x10 + 80002cf4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002cf8: 0f0f1137 lui sp,0xf0f1 + 80002cfc: f0f1011b addiw sp,sp,-241 + 80002d00: 0020cf33 xor t5,ra,sp + 80002d04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d08: 00200293 li t0,2 + 80002d0c: fc521ee3 bne tp,t0,80002ce8 <test_12+0x4> + 80002d10: 000f0eb7 lui t4,0xf0 + 80002d14: 0ffe8e9b addiw t4,t4,255 + 80002d18: 00ce9e93 slli t4,t4,0xc + 80002d1c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002d20: 00c00193 li gp,12 + 80002d24: 37df1663 bne t5,t4,80003090 <fail> + +0000000080002d28 <test_13>: + 80002d28: 00000213 li tp,0 + 80002d2c: 0ff010b7 lui ra,0xff01 + 80002d30: ff00809b addiw ra,ra,-16 + 80002d34: 000f1137 lui sp,0xf1 + 80002d38: f0f1011b addiw sp,sp,-241 + 80002d3c: 00c11113 slli sp,sp,0xc + 80002d40: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002d44: 00000013 nop + 80002d48: 0020cf33 xor t5,ra,sp + 80002d4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d50: 00200293 li t0,2 + 80002d54: fc521ce3 bne tp,t0,80002d2c <test_13+0x4> + 80002d58: 00010eb7 lui t4,0x10 + 80002d5c: f01e8e9b addiw t4,t4,-255 + 80002d60: 010e9e93 slli t4,t4,0x10 + 80002d64: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002d68: 00d00193 li gp,13 + 80002d6c: 33df1263 bne t5,t4,80003090 <fail> + +0000000080002d70 <test_14>: + 80002d70: 00000213 li tp,0 + 80002d74: 00ff00b7 lui ra,0xff0 + 80002d78: 0ff0809b addiw ra,ra,255 + 80002d7c: 0f0f1137 lui sp,0xf0f1 + 80002d80: f0f1011b addiw sp,sp,-241 + 80002d84: 00000013 nop + 80002d88: 00000013 nop + 80002d8c: 0020cf33 xor t5,ra,sp + 80002d90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d94: 00200293 li t0,2 + 80002d98: fc521ee3 bne tp,t0,80002d74 <test_14+0x4> + 80002d9c: 0ff01eb7 lui t4,0xff01 + 80002da0: ff0e8e9b addiw t4,t4,-16 + 80002da4: 00e00193 li gp,14 + 80002da8: 2fdf1463 bne t5,t4,80003090 <fail> + +0000000080002dac <test_15>: + 80002dac: 00000213 li tp,0 + 80002db0: 000100b7 lui ra,0x10 + 80002db4: f010809b addiw ra,ra,-255 + 80002db8: 01009093 slli ra,ra,0x10 + 80002dbc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002dc0: 00000013 nop + 80002dc4: 0f0f1137 lui sp,0xf0f1 + 80002dc8: f0f1011b addiw sp,sp,-241 + 80002dcc: 0020cf33 xor t5,ra,sp + 80002dd0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd4: 00200293 li t0,2 + 80002dd8: fc521ce3 bne tp,t0,80002db0 <test_15+0x4> + 80002ddc: 000f0eb7 lui t4,0xf0 + 80002de0: 0ffe8e9b addiw t4,t4,255 + 80002de4: 00ce9e93 slli t4,t4,0xc + 80002de8: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002dec: 00f00193 li gp,15 + 80002df0: 2bdf1063 bne t5,t4,80003090 <fail> + +0000000080002df4 <test_16>: + 80002df4: 00000213 li tp,0 + 80002df8: 0ff010b7 lui ra,0xff01 + 80002dfc: ff00809b addiw ra,ra,-16 + 80002e00: 00000013 nop + 80002e04: 000f1137 lui sp,0xf1 + 80002e08: f0f1011b addiw sp,sp,-241 + 80002e0c: 00c11113 slli sp,sp,0xc + 80002e10: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002e14: 00000013 nop + 80002e18: 0020cf33 xor t5,ra,sp + 80002e1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e20: 00200293 li t0,2 + 80002e24: fc521ae3 bne tp,t0,80002df8 <test_16+0x4> + 80002e28: 00010eb7 lui t4,0x10 + 80002e2c: f01e8e9b addiw t4,t4,-255 + 80002e30: 010e9e93 slli t4,t4,0x10 + 80002e34: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002e38: 01000193 li gp,16 + 80002e3c: 25df1a63 bne t5,t4,80003090 <fail> + +0000000080002e40 <test_17>: + 80002e40: 00000213 li tp,0 + 80002e44: 00ff00b7 lui ra,0xff0 + 80002e48: 0ff0809b addiw ra,ra,255 + 80002e4c: 00000013 nop + 80002e50: 00000013 nop + 80002e54: 0f0f1137 lui sp,0xf0f1 + 80002e58: f0f1011b addiw sp,sp,-241 + 80002e5c: 0020cf33 xor t5,ra,sp + 80002e60: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e64: 00200293 li t0,2 + 80002e68: fc521ee3 bne tp,t0,80002e44 <test_17+0x4> + 80002e6c: 0ff01eb7 lui t4,0xff01 + 80002e70: ff0e8e9b addiw t4,t4,-16 + 80002e74: 01100193 li gp,17 + 80002e78: 21df1c63 bne t5,t4,80003090 <fail> + +0000000080002e7c <test_18>: + 80002e7c: 00000213 li tp,0 + 80002e80: 0f0f1137 lui sp,0xf0f1 + 80002e84: f0f1011b addiw sp,sp,-241 + 80002e88: 000100b7 lui ra,0x10 + 80002e8c: f010809b addiw ra,ra,-255 + 80002e90: 01009093 slli ra,ra,0x10 + 80002e94: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002e98: 0020cf33 xor t5,ra,sp + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fc521ee3 bne tp,t0,80002e80 <test_18+0x4> + 80002ea8: 000f0eb7 lui t4,0xf0 + 80002eac: 0ffe8e9b addiw t4,t4,255 + 80002eb0: 00ce9e93 slli t4,t4,0xc + 80002eb4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002eb8: 01200193 li gp,18 + 80002ebc: 1ddf1a63 bne t5,t4,80003090 <fail> + +0000000080002ec0 <test_19>: + 80002ec0: 00000213 li tp,0 + 80002ec4: 000f1137 lui sp,0xf1 + 80002ec8: f0f1011b addiw sp,sp,-241 + 80002ecc: 00c11113 slli sp,sp,0xc + 80002ed0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002ed4: 0ff010b7 lui ra,0xff01 + 80002ed8: ff00809b addiw ra,ra,-16 + 80002edc: 00000013 nop + 80002ee0: 0020cf33 xor t5,ra,sp + 80002ee4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ee8: 00200293 li t0,2 + 80002eec: fc521ce3 bne tp,t0,80002ec4 <test_19+0x4> + 80002ef0: 00010eb7 lui t4,0x10 + 80002ef4: f01e8e9b addiw t4,t4,-255 + 80002ef8: 010e9e93 slli t4,t4,0x10 + 80002efc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002f00: 01300193 li gp,19 + 80002f04: 19df1663 bne t5,t4,80003090 <fail> + +0000000080002f08 <test_20>: + 80002f08: 00000213 li tp,0 + 80002f0c: 0f0f1137 lui sp,0xf0f1 + 80002f10: f0f1011b addiw sp,sp,-241 + 80002f14: 00ff00b7 lui ra,0xff0 + 80002f18: 0ff0809b addiw ra,ra,255 + 80002f1c: 00000013 nop + 80002f20: 00000013 nop + 80002f24: 0020cf33 xor t5,ra,sp + 80002f28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f2c: 00200293 li t0,2 + 80002f30: fc521ee3 bne tp,t0,80002f0c <test_20+0x4> + 80002f34: 0ff01eb7 lui t4,0xff01 + 80002f38: ff0e8e9b addiw t4,t4,-16 + 80002f3c: 01400193 li gp,20 + 80002f40: 15df1863 bne t5,t4,80003090 <fail> + +0000000080002f44 <test_21>: + 80002f44: 00000213 li tp,0 + 80002f48: 0f0f1137 lui sp,0xf0f1 + 80002f4c: f0f1011b addiw sp,sp,-241 + 80002f50: 00000013 nop + 80002f54: 000100b7 lui ra,0x10 + 80002f58: f010809b addiw ra,ra,-255 + 80002f5c: 01009093 slli ra,ra,0x10 + 80002f60: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80002f64: 0020cf33 xor t5,ra,sp + 80002f68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f6c: 00200293 li t0,2 + 80002f70: fc521ce3 bne tp,t0,80002f48 <test_21+0x4> + 80002f74: 000f0eb7 lui t4,0xf0 + 80002f78: 0ffe8e9b addiw t4,t4,255 + 80002f7c: 00ce9e93 slli t4,t4,0xc + 80002f80: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80002f84: 01500193 li gp,21 + 80002f88: 11df1463 bne t5,t4,80003090 <fail> + +0000000080002f8c <test_22>: + 80002f8c: 00000213 li tp,0 + 80002f90: 000f1137 lui sp,0xf1 + 80002f94: f0f1011b addiw sp,sp,-241 + 80002f98: 00c11113 slli sp,sp,0xc + 80002f9c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80002fa0: 00000013 nop + 80002fa4: 0ff010b7 lui ra,0xff01 + 80002fa8: ff00809b addiw ra,ra,-16 + 80002fac: 00000013 nop + 80002fb0: 0020cf33 xor t5,ra,sp + 80002fb4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002fb8: 00200293 li t0,2 + 80002fbc: fc521ae3 bne tp,t0,80002f90 <test_22+0x4> + 80002fc0: 00010eb7 lui t4,0x10 + 80002fc4: f01e8e9b addiw t4,t4,-255 + 80002fc8: 010e9e93 slli t4,t4,0x10 + 80002fcc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80002fd0: 01600193 li gp,22 + 80002fd4: 0bdf1e63 bne t5,t4,80003090 <fail> + +0000000080002fd8 <test_23>: + 80002fd8: 00000213 li tp,0 + 80002fdc: 0f0f1137 lui sp,0xf0f1 + 80002fe0: f0f1011b addiw sp,sp,-241 + 80002fe4: 00000013 nop + 80002fe8: 00000013 nop + 80002fec: 00ff00b7 lui ra,0xff0 + 80002ff0: 0ff0809b addiw ra,ra,255 + 80002ff4: 0020cf33 xor t5,ra,sp + 80002ff8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ffc: 00200293 li t0,2 + 80003000: fc521ee3 bne tp,t0,80002fdc <test_23+0x4> + 80003004: 0ff01eb7 lui t4,0xff01 + 80003008: ff0e8e9b addiw t4,t4,-16 + 8000300c: 01700193 li gp,23 + 80003010: 09df1063 bne t5,t4,80003090 <fail> + +0000000080003014 <test_24>: + 80003014: 000100b7 lui ra,0x10 + 80003018: f010809b addiw ra,ra,-255 + 8000301c: 01009093 slli ra,ra,0x10 + 80003020: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80003024: 00104133 xor sp,zero,ra + 80003028: 00010eb7 lui t4,0x10 + 8000302c: f01e8e9b addiw t4,t4,-255 + 80003030: 010e9e93 slli t4,t4,0x10 + 80003034: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80003038: 01800193 li gp,24 + 8000303c: 05d11a63 bne sp,t4,80003090 <fail> + +0000000080003040 <test_25>: + 80003040: 00ff00b7 lui ra,0xff0 + 80003044: 0ff0809b addiw ra,ra,255 + 80003048: 0000c133 xor sp,ra,zero + 8000304c: 00ff0eb7 lui t4,0xff0 + 80003050: 0ffe8e9b addiw t4,t4,255 + 80003054: 01900193 li gp,25 + 80003058: 03d11c63 bne sp,t4,80003090 <fail> + +000000008000305c <test_26>: + 8000305c: 000040b3 xor ra,zero,zero + 80003060: 00000e93 li t4,0 + 80003064: 01a00193 li gp,26 + 80003068: 03d09463 bne ra,t4,80003090 <fail> + +000000008000306c <test_27>: + 8000306c: 111110b7 lui ra,0x11111 + 80003070: 1110809b addiw ra,ra,273 + 80003074: 22222137 lui sp,0x22222 + 80003078: 2221011b addiw sp,sp,546 + 8000307c: 0020c033 xor zero,ra,sp + 80003080: 00000e93 li t4,0 + 80003084: 01b00193 li gp,27 + 80003088: 01d01463 bne zero,t4,80003090 <fail> + 8000308c: 00301a63 bne zero,gp,800030a0 <pass> + +0000000080003090 <fail>: + 80003090: 00119513 slli a0,gp,0x1 + 80003094: 00050063 beqz a0,80003094 <fail+0x4> + 80003098: 00156513 ori a0,a0,1 + 8000309c: 00000073 ecall + +00000000800030a0 <pass>: + 800030a0: 00100513 li a0,1 + 800030a4: 00000073 ecall + 800030a8: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-xor.elf b/test/riscv/tests/rv64ui-v-xor.elf Binary files differnew file mode 100644 index 00000000..151c2119 --- /dev/null +++ b/test/riscv/tests/rv64ui-v-xor.elf diff --git a/test/riscv/tests/rv64ui-v-xori.dump b/test/riscv/tests/rv64ui-v-xori.dump new file mode 100644 index 00000000..cc0d051a --- /dev/null +++ b/test/riscv/tests/rv64ui-v-xori.dump @@ -0,0 +1,985 @@ + +rv64ui-v-xori: 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,sbadaddr + 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: 00001697 auipc a3,0x1 + 8000245c: 87068693 addi a3,a3,-1936 # 80002cc8 <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: 8a460613 addi a2,a2,-1884 # 80002d58 <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: 00001617 auipc a2,0x1 + 80002508: 86c60613 addi a2,a2,-1940 # 80002d70 <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: 7bc68693 addi a3,a3,1980 # 80002d10 <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: 7d868693 addi a3,a3,2008 # 80002e48 <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: 75860613 addi a2,a2,1880 # 80002e20 <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: 68c68693 addi a3,a3,1676 # 80002e78 <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: 5ac68693 addi a3,a3,1452 # 80002de8 <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: 53c68693 addi a3,a3,1340 # 80002db0 <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: 02400793 li a5,36 + 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: 08da87b7 lui a5,0x8da8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ffc78793 addi a5,a5,-4 # 8da7ffc <_start-0x77258004> + 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: 00ff10b7 lui ra,0xff1 + 80002acc: f000809b addiw ra,ra,-256 + 80002ad0: f0f0cf13 xori t5,ra,-241 + 80002ad4: ff00feb7 lui t4,0xff00f + 80002ad8: 00fe8e9b addiw t4,t4,15 + 80002adc: 00200193 li gp,2 + 80002ae0: 1ddf1663 bne t5,t4,80002cac <fail> + +0000000080002ae4 <test_3>: + 80002ae4: 0ff010b7 lui ra,0xff01 + 80002ae8: ff00809b addiw ra,ra,-16 + 80002aec: 0f00cf13 xori t5,ra,240 + 80002af0: 0ff01eb7 lui t4,0xff01 + 80002af4: f00e8e9b addiw t4,t4,-256 + 80002af8: 00300193 li gp,3 + 80002afc: 1bdf1863 bne t5,t4,80002cac <fail> + +0000000080002b00 <test_4>: + 80002b00: 00ff10b7 lui ra,0xff1 + 80002b04: 8ff0809b addiw ra,ra,-1793 + 80002b08: 70f0cf13 xori t5,ra,1807 + 80002b0c: 00ff1eb7 lui t4,0xff1 + 80002b10: ff0e8e9b addiw t4,t4,-16 + 80002b14: 00400193 li gp,4 + 80002b18: 19df1a63 bne t5,t4,80002cac <fail> + +0000000080002b1c <test_5>: + 80002b1c: f00ff0b7 lui ra,0xf00ff + 80002b20: 00f0809b addiw ra,ra,15 + 80002b24: 0f00cf13 xori t5,ra,240 + 80002b28: f00ffeb7 lui t4,0xf00ff + 80002b2c: 0ffe8e9b addiw t4,t4,255 + 80002b30: 00500193 li gp,5 + 80002b34: 17df1c63 bne t5,t4,80002cac <fail> + +0000000080002b38 <test_6>: + 80002b38: ff00f0b7 lui ra,0xff00f + 80002b3c: 7000809b addiw ra,ra,1792 + 80002b40: 70f0c093 xori ra,ra,1807 + 80002b44: ff00feb7 lui t4,0xff00f + 80002b48: 00fe8e9b addiw t4,t4,15 + 80002b4c: 00600193 li gp,6 + 80002b50: 15d09e63 bne ra,t4,80002cac <fail> + +0000000080002b54 <test_7>: + 80002b54: 00000213 li tp,0 + 80002b58: 0ff010b7 lui ra,0xff01 + 80002b5c: ff00809b addiw ra,ra,-16 + 80002b60: 0f00cf13 xori t5,ra,240 + 80002b64: 000f0313 mv t1,t5 + 80002b68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002b6c: 00200293 li t0,2 + 80002b70: fe5214e3 bne tp,t0,80002b58 <test_7+0x4> + 80002b74: 0ff01eb7 lui t4,0xff01 + 80002b78: f00e8e9b addiw t4,t4,-256 + 80002b7c: 00700193 li gp,7 + 80002b80: 13d31663 bne t1,t4,80002cac <fail> + +0000000080002b84 <test_8>: + 80002b84: 00000213 li tp,0 + 80002b88: 00ff10b7 lui ra,0xff1 + 80002b8c: 8ff0809b addiw ra,ra,-1793 + 80002b90: 70f0cf13 xori t5,ra,1807 + 80002b94: 00000013 nop + 80002b98: 000f0313 mv t1,t5 + 80002b9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ba0: 00200293 li t0,2 + 80002ba4: fe5212e3 bne tp,t0,80002b88 <test_8+0x4> + 80002ba8: 00ff1eb7 lui t4,0xff1 + 80002bac: ff0e8e9b addiw t4,t4,-16 + 80002bb0: 00800193 li gp,8 + 80002bb4: 0fd31c63 bne t1,t4,80002cac <fail> + +0000000080002bb8 <test_9>: + 80002bb8: 00000213 li tp,0 + 80002bbc: f00ff0b7 lui ra,0xf00ff + 80002bc0: 00f0809b addiw ra,ra,15 + 80002bc4: 0f00cf13 xori t5,ra,240 + 80002bc8: 00000013 nop + 80002bcc: 00000013 nop + 80002bd0: 000f0313 mv t1,t5 + 80002bd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd8: 00200293 li t0,2 + 80002bdc: fe5210e3 bne tp,t0,80002bbc <test_9+0x4> + 80002be0: f00ffeb7 lui t4,0xf00ff + 80002be4: 0ffe8e9b addiw t4,t4,255 + 80002be8: 00900193 li gp,9 + 80002bec: 0dd31063 bne t1,t4,80002cac <fail> + +0000000080002bf0 <test_10>: + 80002bf0: 00000213 li tp,0 + 80002bf4: 0ff010b7 lui ra,0xff01 + 80002bf8: ff00809b addiw ra,ra,-16 + 80002bfc: 0f00cf13 xori t5,ra,240 + 80002c00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c04: 00200293 li t0,2 + 80002c08: fe5216e3 bne tp,t0,80002bf4 <test_10+0x4> + 80002c0c: 0ff01eb7 lui t4,0xff01 + 80002c10: f00e8e9b addiw t4,t4,-256 + 80002c14: 00a00193 li gp,10 + 80002c18: 09df1a63 bne t5,t4,80002cac <fail> + +0000000080002c1c <test_11>: + 80002c1c: 00000213 li tp,0 + 80002c20: 00ff10b7 lui ra,0xff1 + 80002c24: fff0809b addiw ra,ra,-1 + 80002c28: 00000013 nop + 80002c2c: 00f0cf13 xori t5,ra,15 + 80002c30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c34: 00200293 li t0,2 + 80002c38: fe5214e3 bne tp,t0,80002c20 <test_11+0x4> + 80002c3c: 00ff1eb7 lui t4,0xff1 + 80002c40: ff0e8e9b addiw t4,t4,-16 + 80002c44: 00b00193 li gp,11 + 80002c48: 07df1263 bne t5,t4,80002cac <fail> + +0000000080002c4c <test_12>: + 80002c4c: 00000213 li tp,0 + 80002c50: f00ff0b7 lui ra,0xf00ff + 80002c54: 00f0809b addiw ra,ra,15 + 80002c58: 00000013 nop + 80002c5c: 00000013 nop + 80002c60: 0f00cf13 xori t5,ra,240 + 80002c64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c68: 00200293 li t0,2 + 80002c6c: fe5212e3 bne tp,t0,80002c50 <test_12+0x4> + 80002c70: f00ffeb7 lui t4,0xf00ff + 80002c74: 0ffe8e9b addiw t4,t4,255 + 80002c78: 00c00193 li gp,12 + 80002c7c: 03df1863 bne t5,t4,80002cac <fail> + +0000000080002c80 <test_13>: + 80002c80: 0f004093 xori ra,zero,240 + 80002c84: 0f000e93 li t4,240 + 80002c88: 00d00193 li gp,13 + 80002c8c: 03d09063 bne ra,t4,80002cac <fail> + +0000000080002c90 <test_14>: + 80002c90: 00ff00b7 lui ra,0xff0 + 80002c94: 0ff0809b addiw ra,ra,255 + 80002c98: 70f0c013 xori zero,ra,1807 + 80002c9c: 00000e93 li t4,0 + 80002ca0: 00e00193 li gp,14 + 80002ca4: 01d01463 bne zero,t4,80002cac <fail> + 80002ca8: 00301a63 bne zero,gp,80002cbc <pass> + +0000000080002cac <fail>: + 80002cac: 00119513 slli a0,gp,0x1 + 80002cb0: 00050063 beqz a0,80002cb0 <fail+0x4> + 80002cb4: 00156513 ori a0,a0,1 + 80002cb8: 00000073 ecall + +0000000080002cbc <pass>: + 80002cbc: 00100513 li a0,1 + 80002cc0: 00000073 ecall + 80002cc4: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-v-xori.elf b/test/riscv/tests/rv64ui-v-xori.elf Binary files differnew file mode 100644 index 00000000..d716ff2e --- /dev/null +++ b/test/riscv/tests/rv64ui-v-xori.elf diff --git a/test/riscv/tests/rv64um-p-div.elf b/test/riscv/tests/rv64um-p-div.elf Binary files differindex f8df5452..d202d094 100755..100644 --- a/test/riscv/tests/rv64um-p-div.elf +++ b/test/riscv/tests/rv64um-p-div.elf diff --git a/test/riscv/tests/rv64um-p-divu.elf b/test/riscv/tests/rv64um-p-divu.elf Binary files differindex d02748e3..bef0d696 100755..100644 --- a/test/riscv/tests/rv64um-p-divu.elf +++ b/test/riscv/tests/rv64um-p-divu.elf diff --git a/test/riscv/tests/rv64um-p-divuw.elf b/test/riscv/tests/rv64um-p-divuw.elf Binary files differindex b0da149b..1d1e44fa 100755..100644 --- a/test/riscv/tests/rv64um-p-divuw.elf +++ b/test/riscv/tests/rv64um-p-divuw.elf diff --git a/test/riscv/tests/rv64um-p-divw.elf b/test/riscv/tests/rv64um-p-divw.elf Binary files differindex eb2e0f58..e39eb53d 100755..100644 --- a/test/riscv/tests/rv64um-p-divw.elf +++ b/test/riscv/tests/rv64um-p-divw.elf diff --git a/test/riscv/tests/rv64um-p-mul.elf b/test/riscv/tests/rv64um-p-mul.elf Binary files differindex 7107505a..4983abe5 100755..100644 --- a/test/riscv/tests/rv64um-p-mul.elf +++ b/test/riscv/tests/rv64um-p-mul.elf diff --git a/test/riscv/tests/rv64um-p-mulh.elf b/test/riscv/tests/rv64um-p-mulh.elf Binary files differindex f44264b4..4118cecd 100755..100644 --- a/test/riscv/tests/rv64um-p-mulh.elf +++ b/test/riscv/tests/rv64um-p-mulh.elf diff --git a/test/riscv/tests/rv64um-p-mulhsu.elf b/test/riscv/tests/rv64um-p-mulhsu.elf Binary files differindex 93efb0b3..37979feb 100755..100644 --- a/test/riscv/tests/rv64um-p-mulhsu.elf +++ b/test/riscv/tests/rv64um-p-mulhsu.elf diff --git a/test/riscv/tests/rv64um-p-mulhu.elf b/test/riscv/tests/rv64um-p-mulhu.elf Binary files differindex f2b74120..e3ae453e 100755..100644 --- a/test/riscv/tests/rv64um-p-mulhu.elf +++ b/test/riscv/tests/rv64um-p-mulhu.elf diff --git a/test/riscv/tests/rv64um-p-mulw.elf b/test/riscv/tests/rv64um-p-mulw.elf Binary files differindex 7b1242fd..9c3214c6 100755..100644 --- a/test/riscv/tests/rv64um-p-mulw.elf +++ b/test/riscv/tests/rv64um-p-mulw.elf diff --git a/test/riscv/tests/rv64um-p-rem.elf b/test/riscv/tests/rv64um-p-rem.elf Binary files differindex 55cc62b8..cfe6e6c2 100755..100644 --- a/test/riscv/tests/rv64um-p-rem.elf +++ b/test/riscv/tests/rv64um-p-rem.elf diff --git a/test/riscv/tests/rv64um-p-remu.elf b/test/riscv/tests/rv64um-p-remu.elf Binary files differindex ba6c64ac..93dcf5ed 100755..100644 --- a/test/riscv/tests/rv64um-p-remu.elf +++ b/test/riscv/tests/rv64um-p-remu.elf diff --git a/test/riscv/tests/rv64um-p-remuw.elf b/test/riscv/tests/rv64um-p-remuw.elf Binary files differindex 86cf837c..ba166ff5 100755..100644 --- a/test/riscv/tests/rv64um-p-remuw.elf +++ b/test/riscv/tests/rv64um-p-remuw.elf diff --git a/test/riscv/tests/rv64um-p-remw.elf b/test/riscv/tests/rv64um-p-remw.elf Binary files differindex 4ef57f28..55798a6e 100755..100644 --- a/test/riscv/tests/rv64um-p-remw.elf +++ b/test/riscv/tests/rv64um-p-remw.elf diff --git a/test/riscv/tests/rv64um-v-div.dump b/test/riscv/tests/rv64um-v-div.dump new file mode 100644 index 00000000..bfc4ab13 --- /dev/null +++ b/test/riscv/tests/rv64um-v-div.dump @@ -0,0 +1,916 @@ + +rv64um-v-div: 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,sbadaddr + 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: 78068693 addi a3,a3,1920 # 80002bd8 <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: 7b460613 addi a2,a2,1972 # 80002c68 <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: 77c60613 addi a2,a2,1916 # 80002c80 <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: 6cc68693 addi a3,a3,1740 # 80002c20 <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: 6e868693 addi a3,a3,1768 # 80002d58 <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: 66860613 addi a2,a2,1640 # 80002d30 <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: 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: 59c68693 addi a3,a3,1436 # 80002d88 <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: 4bc68693 addi a3,a3,1212 # 80002cf8 <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: 44c68693 addi a3,a3,1100 # 80002cc0 <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: 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: 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: 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: 07a167b7 lui a5,0x7a16 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: cc378793 addi a5,a5,-829 # 7a15cc3 <_start-0x785ea33d> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220cf33 div t5,ra,sp + 80002ad4: 00300e93 li t4,3 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1e63 bne t5,t4,80002bb8 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220cf33 div t5,ra,sp + 80002aec: ffd00e93 li t4,-3 + 80002af0: 00300193 li gp,3 + 80002af4: 0ddf1263 bne t5,t4,80002bb8 <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220cf33 div t5,ra,sp + 80002b04: ffd00e93 li t4,-3 + 80002b08: 00400193 li gp,4 + 80002b0c: 0bdf1663 bne t5,t4,80002bb8 <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220cf33 div t5,ra,sp + 80002b1c: 00300e93 li t4,3 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1a63 bne t5,t4,80002bb8 <fail> + +0000000080002b28 <test_6>: + 80002b28: fff0009b addiw ra,zero,-1 + 80002b2c: 03f09093 slli ra,ra,0x3f + 80002b30: 00100113 li sp,1 + 80002b34: 0220cf33 div t5,ra,sp + 80002b38: fff00e9b addiw t4,zero,-1 + 80002b3c: 03fe9e93 slli t4,t4,0x3f + 80002b40: 00600193 li gp,6 + 80002b44: 07df1a63 bne t5,t4,80002bb8 <fail> + +0000000080002b48 <test_7>: + 80002b48: fff0009b addiw ra,zero,-1 + 80002b4c: 03f09093 slli ra,ra,0x3f + 80002b50: fff00113 li sp,-1 + 80002b54: 0220cf33 div t5,ra,sp + 80002b58: fff00e9b addiw t4,zero,-1 + 80002b5c: 03fe9e93 slli t4,t4,0x3f + 80002b60: 00700193 li gp,7 + 80002b64: 05df1a63 bne t5,t4,80002bb8 <fail> + +0000000080002b68 <test_8>: + 80002b68: fff0009b addiw ra,zero,-1 + 80002b6c: 03f09093 slli ra,ra,0x3f + 80002b70: 00000113 li sp,0 + 80002b74: 0220cf33 div t5,ra,sp + 80002b78: fff00e93 li t4,-1 + 80002b7c: 00800193 li gp,8 + 80002b80: 03df1c63 bne t5,t4,80002bb8 <fail> + +0000000080002b84 <test_9>: + 80002b84: 00100093 li ra,1 + 80002b88: 00000113 li sp,0 + 80002b8c: 0220cf33 div t5,ra,sp + 80002b90: fff00e93 li t4,-1 + 80002b94: 00900193 li gp,9 + 80002b98: 03df1063 bne t5,t4,80002bb8 <fail> + +0000000080002b9c <test_10>: + 80002b9c: 00000093 li ra,0 + 80002ba0: 00000113 li sp,0 + 80002ba4: 0220cf33 div t5,ra,sp + 80002ba8: fff00e93 li t4,-1 + 80002bac: 00a00193 li gp,10 + 80002bb0: 01df1463 bne t5,t4,80002bb8 <fail> + 80002bb4: 00301a63 bne zero,gp,80002bc8 <pass> + +0000000080002bb8 <fail>: + 80002bb8: 00119513 slli a0,gp,0x1 + 80002bbc: 00050063 beqz a0,80002bbc <fail+0x4> + 80002bc0: 00156513 ori a0,a0,1 + 80002bc4: 00000073 ecall + +0000000080002bc8 <pass>: + 80002bc8: 00100513 li a0,1 + 80002bcc: 00000073 ecall + 80002bd0: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-div.elf b/test/riscv/tests/rv64um-v-div.elf Binary files differnew file mode 100644 index 00000000..3374b8ae --- /dev/null +++ b/test/riscv/tests/rv64um-v-div.elf diff --git a/test/riscv/tests/rv64um-v-divu.dump b/test/riscv/tests/rv64um-v-divu.dump new file mode 100644 index 00000000..68b9aab4 --- /dev/null +++ b/test/riscv/tests/rv64um-v-divu.dump @@ -0,0 +1,922 @@ + +rv64um-v-divu: 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,sbadaddr + 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: 79868693 addi a3,a3,1944 # 80002bf0 <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: 7cc60613 addi a2,a2,1996 # 80002c80 <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: 79460613 addi a2,a2,1940 # 80002c98 <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: 6e468693 addi a3,a3,1764 # 80002c38 <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: 70068693 addi a3,a3,1792 # 80002d70 <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: 68060613 addi a2,a2,1664 # 80002d48 <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: 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: 5b468693 addi a3,a3,1460 # 80002da0 <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: 4d468693 addi a3,a3,1236 # 80002d10 <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: 46468693 addi a3,a3,1124 # 80002cd8 <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: 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: 01c00793 li a5,28 + 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: 0472c7b7 lui a5,0x472c + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f1278793 addi a5,a5,-238 # 472bf12 <_start-0x7b8d40ee> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220df33 divu t5,ra,sp + 80002ad4: 00300e93 li t4,3 + 80002ad8: 00200193 li gp,2 + 80002adc: 0fdf1a63 bne t5,t4,80002bd0 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220df33 divu t5,ra,sp + 80002aec: 02aabeb7 lui t4,0x2aab + 80002af0: aabe8e9b addiw t4,t4,-1365 + 80002af4: 00ce9e93 slli t4,t4,0xc + 80002af8: aabe8e93 addi t4,t4,-1365 # 2aaaaab <_start-0x7d555555> + 80002afc: 00ce9e93 slli t4,t4,0xc + 80002b00: aabe8e93 addi t4,t4,-1365 + 80002b04: 00ce9e93 slli t4,t4,0xc + 80002b08: aa7e8e93 addi t4,t4,-1369 + 80002b0c: 00300193 li gp,3 + 80002b10: 0ddf1063 bne t5,t4,80002bd0 <fail> + +0000000080002b14 <test_4>: + 80002b14: 01400093 li ra,20 + 80002b18: ffa00113 li sp,-6 + 80002b1c: 0220df33 divu t5,ra,sp + 80002b20: 00000e93 li t4,0 + 80002b24: 00400193 li gp,4 + 80002b28: 0bdf1463 bne t5,t4,80002bd0 <fail> + +0000000080002b2c <test_5>: + 80002b2c: fec00093 li ra,-20 + 80002b30: ffa00113 li sp,-6 + 80002b34: 0220df33 divu t5,ra,sp + 80002b38: 00000e93 li t4,0 + 80002b3c: 00500193 li gp,5 + 80002b40: 09df1863 bne t5,t4,80002bd0 <fail> + +0000000080002b44 <test_6>: + 80002b44: fff0009b addiw ra,zero,-1 + 80002b48: 03f09093 slli ra,ra,0x3f + 80002b4c: 00100113 li sp,1 + 80002b50: 0220df33 divu t5,ra,sp + 80002b54: fff00e9b addiw t4,zero,-1 + 80002b58: 03fe9e93 slli t4,t4,0x3f + 80002b5c: 00600193 li gp,6 + 80002b60: 07df1863 bne t5,t4,80002bd0 <fail> + +0000000080002b64 <test_7>: + 80002b64: fff0009b addiw ra,zero,-1 + 80002b68: 03f09093 slli ra,ra,0x3f + 80002b6c: fff00113 li sp,-1 + 80002b70: 0220df33 divu t5,ra,sp + 80002b74: 00000e93 li t4,0 + 80002b78: 00700193 li gp,7 + 80002b7c: 05df1a63 bne t5,t4,80002bd0 <fail> + +0000000080002b80 <test_8>: + 80002b80: fff0009b addiw ra,zero,-1 + 80002b84: 03f09093 slli ra,ra,0x3f + 80002b88: 00000113 li sp,0 + 80002b8c: 0220df33 divu t5,ra,sp + 80002b90: fff00e93 li t4,-1 + 80002b94: 00800193 li gp,8 + 80002b98: 03df1c63 bne t5,t4,80002bd0 <fail> + +0000000080002b9c <test_9>: + 80002b9c: 00100093 li ra,1 + 80002ba0: 00000113 li sp,0 + 80002ba4: 0220df33 divu t5,ra,sp + 80002ba8: fff00e93 li t4,-1 + 80002bac: 00900193 li gp,9 + 80002bb0: 03df1063 bne t5,t4,80002bd0 <fail> + +0000000080002bb4 <test_10>: + 80002bb4: 00000093 li ra,0 + 80002bb8: 00000113 li sp,0 + 80002bbc: 0220df33 divu t5,ra,sp + 80002bc0: fff00e93 li t4,-1 + 80002bc4: 00a00193 li gp,10 + 80002bc8: 01df1463 bne t5,t4,80002bd0 <fail> + 80002bcc: 00301a63 bne zero,gp,80002be0 <pass> + +0000000080002bd0 <fail>: + 80002bd0: 00119513 slli a0,gp,0x1 + 80002bd4: 00050063 beqz a0,80002bd4 <fail+0x4> + 80002bd8: 00156513 ori a0,a0,1 + 80002bdc: 00000073 ecall + +0000000080002be0 <pass>: + 80002be0: 00100513 li a0,1 + 80002be4: 00000073 ecall + 80002be8: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-divu.elf b/test/riscv/tests/rv64um-v-divu.elf Binary files differnew file mode 100644 index 00000000..4eec5386 --- /dev/null +++ b/test/riscv/tests/rv64um-v-divu.elf diff --git a/test/riscv/tests/rv64um-v-divuw.dump b/test/riscv/tests/rv64um-v-divuw.dump new file mode 100644 index 00000000..644f517e --- /dev/null +++ b/test/riscv/tests/rv64um-v-divuw.dump @@ -0,0 +1,914 @@ + +rv64um-v-divuw: 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,sbadaddr + 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: 77868693 addi a3,a3,1912 # 80002bd0 <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: 7ac60613 addi a2,a2,1964 # 80002c60 <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: 77460613 addi a2,a2,1908 # 80002c78 <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: 6c468693 addi a3,a3,1732 # 80002c18 <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: 6e068693 addi a3,a3,1760 # 80002d50 <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: 66060613 addi a2,a2,1632 # 80002d28 <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: 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: 59468693 addi a3,a3,1428 # 80002d80 <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: 4b468693 addi a3,a3,1204 # 80002cf0 <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: 44468693 addi a3,a3,1092 # 80002cb8 <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: 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: 02f00793 li a5,47 + 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: 0a3e47b7 lui a5,0xa3e4 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 49e78793 addi a5,a5,1182 # a3e449e <_start-0x75c1bb62> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220df3b divuw t5,ra,sp + 80002ad4: 00300e93 li t4,3 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1a63 bne t5,t4,80002bb0 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 0010009b addiw ra,zero,1 + 80002ae4: 02009093 slli ra,ra,0x20 + 80002ae8: fec08093 addi ra,ra,-20 + 80002aec: 00600113 li sp,6 + 80002af0: 0220df3b divuw t5,ra,sp + 80002af4: 2aaabeb7 lui t4,0x2aaab + 80002af8: aa7e8e9b addiw t4,t4,-1369 + 80002afc: 00300193 li gp,3 + 80002b00: 0bdf1863 bne t5,t4,80002bb0 <fail> + +0000000080002b04 <test_4>: + 80002b04: 01400093 li ra,20 + 80002b08: ffa00113 li sp,-6 + 80002b0c: 0220df3b divuw t5,ra,sp + 80002b10: 00000e93 li t4,0 + 80002b14: 00400193 li gp,4 + 80002b18: 09df1c63 bne t5,t4,80002bb0 <fail> + +0000000080002b1c <test_5>: + 80002b1c: fec00093 li ra,-20 + 80002b20: ffa00113 li sp,-6 + 80002b24: 0220df3b divuw t5,ra,sp + 80002b28: 00000e93 li t4,0 + 80002b2c: 00500193 li gp,5 + 80002b30: 09df1063 bne t5,t4,80002bb0 <fail> + +0000000080002b34 <test_6>: + 80002b34: 800000b7 lui ra,0x80000 + 80002b38: 00100113 li sp,1 + 80002b3c: 0220df3b divuw t5,ra,sp + 80002b40: 80000eb7 lui t4,0x80000 + 80002b44: 00600193 li gp,6 + 80002b48: 07df1463 bne t5,t4,80002bb0 <fail> + +0000000080002b4c <test_7>: + 80002b4c: 800000b7 lui ra,0x80000 + 80002b50: fff00113 li sp,-1 + 80002b54: 0220df3b divuw t5,ra,sp + 80002b58: 00000e93 li t4,0 + 80002b5c: 00700193 li gp,7 + 80002b60: 05df1863 bne t5,t4,80002bb0 <fail> + +0000000080002b64 <test_8>: + 80002b64: 800000b7 lui ra,0x80000 + 80002b68: 00000113 li sp,0 + 80002b6c: 0220df3b divuw t5,ra,sp + 80002b70: fff00e93 li t4,-1 + 80002b74: 00800193 li gp,8 + 80002b78: 03df1c63 bne t5,t4,80002bb0 <fail> + +0000000080002b7c <test_9>: + 80002b7c: 00100093 li ra,1 + 80002b80: 00000113 li sp,0 + 80002b84: 0220df3b divuw t5,ra,sp + 80002b88: fff00e93 li t4,-1 + 80002b8c: 00900193 li gp,9 + 80002b90: 03df1063 bne t5,t4,80002bb0 <fail> + +0000000080002b94 <test_10>: + 80002b94: 00000093 li ra,0 + 80002b98: 00000113 li sp,0 + 80002b9c: 0220df3b divuw t5,ra,sp + 80002ba0: fff00e93 li t4,-1 + 80002ba4: 00a00193 li gp,10 + 80002ba8: 01df1463 bne t5,t4,80002bb0 <fail> + 80002bac: 00301a63 bne zero,gp,80002bc0 <pass> + +0000000080002bb0 <fail>: + 80002bb0: 00119513 slli a0,gp,0x1 + 80002bb4: 00050063 beqz a0,80002bb4 <fail+0x4> + 80002bb8: 00156513 ori a0,a0,1 + 80002bbc: 00000073 ecall + +0000000080002bc0 <pass>: + 80002bc0: 00100513 li a0,1 + 80002bc4: 00000073 ecall + 80002bc8: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-divuw.elf b/test/riscv/tests/rv64um-v-divuw.elf Binary files differnew file mode 100644 index 00000000..f5ae7cb1 --- /dev/null +++ b/test/riscv/tests/rv64um-v-divuw.elf diff --git a/test/riscv/tests/rv64um-v-divw.dump b/test/riscv/tests/rv64um-v-divw.dump new file mode 100644 index 00000000..e2ba647c --- /dev/null +++ b/test/riscv/tests/rv64um-v-divw.dump @@ -0,0 +1,911 @@ + +rv64um-v-divw: 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,sbadaddr + 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: 76868693 addi a3,a3,1896 # 80002bc0 <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: 79c60613 addi a2,a2,1948 # 80002c50 <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: 76460613 addi a2,a2,1892 # 80002c68 <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: 6b468693 addi a3,a3,1716 # 80002c08 <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: 6d068693 addi a3,a3,1744 # 80002d40 <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: 65060613 addi a2,a2,1616 # 80002d18 <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: 58468693 addi a3,a3,1412 # 80002d70 <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: 4a468693 addi a3,a3,1188 # 80002ce0 <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: 43468693 addi a3,a3,1076 # 80002ca8 <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: 01700793 li a5,23 + 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: 026ec7b7 lui a5,0x26ec + 80002a70: 000805b7 lui a1,0x80 + 80002a74: f8e78793 addi a5,a5,-114 # 26ebf8e <_start-0x7d914072> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220cf3b divw t5,ra,sp + 80002ad4: 00300e93 li t4,3 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1463 bne t5,t4,80002ba4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220cf3b divw t5,ra,sp + 80002aec: ffd00e93 li t4,-3 + 80002af0: 00300193 li gp,3 + 80002af4: 0bdf1863 bne t5,t4,80002ba4 <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220cf3b divw t5,ra,sp + 80002b04: ffd00e93 li t4,-3 + 80002b08: 00400193 li gp,4 + 80002b0c: 09df1c63 bne t5,t4,80002ba4 <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220cf3b divw t5,ra,sp + 80002b1c: 00300e93 li t4,3 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1063 bne t5,t4,80002ba4 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00100113 li sp,1 + 80002b30: 0220cf3b divw t5,ra,sp + 80002b34: 80000eb7 lui t4,0x80000 + 80002b38: 00600193 li gp,6 + 80002b3c: 07df1463 bne t5,t4,80002ba4 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: fff00113 li sp,-1 + 80002b48: 0220cf3b divw t5,ra,sp + 80002b4c: 80000eb7 lui t4,0x80000 + 80002b50: 00700193 li gp,7 + 80002b54: 05df1863 bne t5,t4,80002ba4 <fail> + +0000000080002b58 <test_8>: + 80002b58: 800000b7 lui ra,0x80000 + 80002b5c: 00000113 li sp,0 + 80002b60: 0220cf3b divw t5,ra,sp + 80002b64: fff00e93 li t4,-1 + 80002b68: 00800193 li gp,8 + 80002b6c: 03df1c63 bne t5,t4,80002ba4 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00100093 li ra,1 + 80002b74: 00000113 li sp,0 + 80002b78: 0220cf3b divw t5,ra,sp + 80002b7c: fff00e93 li t4,-1 + 80002b80: 00900193 li gp,9 + 80002b84: 03df1063 bne t5,t4,80002ba4 <fail> + +0000000080002b88 <test_10>: + 80002b88: 00000093 li ra,0 + 80002b8c: 00000113 li sp,0 + 80002b90: 0220cf3b divw t5,ra,sp + 80002b94: fff00e93 li t4,-1 + 80002b98: 00a00193 li gp,10 + 80002b9c: 01df1463 bne t5,t4,80002ba4 <fail> + 80002ba0: 00301a63 bne zero,gp,80002bb4 <pass> + +0000000080002ba4 <fail>: + 80002ba4: 00119513 slli a0,gp,0x1 + 80002ba8: 00050063 beqz a0,80002ba8 <fail+0x4> + 80002bac: 00156513 ori a0,a0,1 + 80002bb0: 00000073 ecall + +0000000080002bb4 <pass>: + 80002bb4: 00100513 li a0,1 + 80002bb8: 00000073 ecall + 80002bbc: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-divw.elf b/test/riscv/tests/rv64um-v-divw.elf Binary files differnew file mode 100644 index 00000000..1ecdfcfb --- /dev/null +++ b/test/riscv/tests/rv64um-v-divw.elf diff --git a/test/riscv/tests/rv64um-v-mul.dump b/test/riscv/tests/rv64um-v-mul.dump new file mode 100644 index 00000000..784ee417 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mul.dump @@ -0,0 +1,1209 @@ + +rv64um-v-mul: 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,sbadaddr + 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 <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: 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: b5868693 addi a3,a3,-1192 # 80002fb0 <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: b8c60613 addi a2,a2,-1140 # 80003040 <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: 00001617 auipc a2,0x1 + 80002508: b5460613 addi a2,a2,-1196 # 80003058 <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: 00001697 auipc a3,0x1 + 80002558: aa468693 addi a3,a3,-1372 # 80002ff8 <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: 00001697 auipc a3,0x1 + 80002674: ac068693 addi a3,a3,-1344 # 80003130 <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: 00001617 auipc a2,0x1 + 800026cc: a4060613 addi a2,a2,-1472 # 80003108 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 97468693 addi a3,a3,-1676 # 80003160 <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: 00001697 auipc a3,0x1 + 80002840: 89468693 addi a3,a3,-1900 # 800030d0 <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: 00001697 auipc a3,0x1 + 80002878: 82468693 addi a3,a3,-2012 # 80003098 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 054df7b7 lui a5,0x54df + 80002a70: 000805b7 lui a1,0x80 + 80002a74: b0278793 addi a5,a5,-1278 # 54deb02 <_start-0x7ab214fe> + 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: 000080b7 lui ra,0x8 + 80002acc: e000809b addiw ra,ra,-512 + 80002ad0: 06db7137 lui sp,0x6db7 + 80002ad4: db71011b addiw sp,sp,-585 + 80002ad8: 00c11113 slli sp,sp,0xc + 80002adc: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249> + 80002ae0: 00c11113 slli sp,sp,0xc + 80002ae4: db710113 addi sp,sp,-585 + 80002ae8: 00c11113 slli sp,sp,0xc + 80002aec: db710113 addi sp,sp,-585 + 80002af0: 02208f33 mul t5,ra,sp + 80002af4: 00001eb7 lui t4,0x1 + 80002af8: 200e8e9b addiw t4,t4,512 + 80002afc: 02000193 li gp,32 + 80002b00: 49df1a63 bne t5,t4,80002f94 <fail> + +0000000080002b04 <test_33>: + 80002b04: 000080b7 lui ra,0x8 + 80002b08: fc00809b addiw ra,ra,-64 + 80002b0c: 06db7137 lui sp,0x6db7 + 80002b10: db71011b addiw sp,sp,-585 + 80002b14: 00c11113 slli sp,sp,0xc + 80002b18: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249> + 80002b1c: 00c11113 slli sp,sp,0xc + 80002b20: db710113 addi sp,sp,-585 + 80002b24: 00c11113 slli sp,sp,0xc + 80002b28: db710113 addi sp,sp,-585 + 80002b2c: 02208f33 mul t5,ra,sp + 80002b30: 00001eb7 lui t4,0x1 + 80002b34: 240e8e9b addiw t4,t4,576 + 80002b38: 02100193 li gp,33 + 80002b3c: 45df1c63 bne t5,t4,80002f94 <fail> + +0000000080002b40 <test_2>: + 80002b40: 00000093 li ra,0 + 80002b44: 00000113 li sp,0 + 80002b48: 02208f33 mul t5,ra,sp + 80002b4c: 00000e93 li t4,0 + 80002b50: 00200193 li gp,2 + 80002b54: 45df1063 bne t5,t4,80002f94 <fail> + +0000000080002b58 <test_3>: + 80002b58: 00100093 li ra,1 + 80002b5c: 00100113 li sp,1 + 80002b60: 02208f33 mul t5,ra,sp + 80002b64: 00100e93 li t4,1 + 80002b68: 00300193 li gp,3 + 80002b6c: 43df1463 bne t5,t4,80002f94 <fail> + +0000000080002b70 <test_4>: + 80002b70: 00300093 li ra,3 + 80002b74: 00700113 li sp,7 + 80002b78: 02208f33 mul t5,ra,sp + 80002b7c: 01500e93 li t4,21 + 80002b80: 00400193 li gp,4 + 80002b84: 41df1863 bne t5,t4,80002f94 <fail> + +0000000080002b88 <test_5>: + 80002b88: 00000093 li ra,0 + 80002b8c: ffff8137 lui sp,0xffff8 + 80002b90: 02208f33 mul t5,ra,sp + 80002b94: 00000e93 li t4,0 + 80002b98: 00500193 li gp,5 + 80002b9c: 3fdf1c63 bne t5,t4,80002f94 <fail> + +0000000080002ba0 <test_6>: + 80002ba0: 800000b7 lui ra,0x80000 + 80002ba4: 00000113 li sp,0 + 80002ba8: 02208f33 mul t5,ra,sp + 80002bac: 00000e93 li t4,0 + 80002bb0: 00600193 li gp,6 + 80002bb4: 3fdf1063 bne t5,t4,80002f94 <fail> + +0000000080002bb8 <test_7>: + 80002bb8: 800000b7 lui ra,0x80000 + 80002bbc: ffff8137 lui sp,0xffff8 + 80002bc0: 02208f33 mul t5,ra,sp + 80002bc4: 00100e9b addiw t4,zero,1 + 80002bc8: 02ee9e93 slli t4,t4,0x2e + 80002bcc: 00700193 li gp,7 + 80002bd0: 3ddf1263 bne t5,t4,80002f94 <fail> + +0000000080002bd4 <test_30>: + 80002bd4: faaab0b7 lui ra,0xfaaab + 80002bd8: aab0809b addiw ra,ra,-1365 + 80002bdc: 00c09093 slli ra,ra,0xc + 80002be0: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa22bb> + 80002be4: 00c09093 slli ra,ra,0xc + 80002be8: aab08093 addi ra,ra,-1365 + 80002bec: 00c09093 slli ra,ra,0xc + 80002bf0: aab08093 addi ra,ra,-1365 + 80002bf4: 00030137 lui sp,0x30 + 80002bf8: e7d1011b addiw sp,sp,-387 + 80002bfc: 02208f33 mul t5,ra,sp + 80002c00: 00010eb7 lui t4,0x10 + 80002c04: f7fe8e9b addiw t4,t4,-129 + 80002c08: 01e00193 li gp,30 + 80002c0c: 39df1463 bne t5,t4,80002f94 <fail> + +0000000080002c10 <test_31>: + 80002c10: 000300b7 lui ra,0x30 + 80002c14: e7d0809b addiw ra,ra,-387 + 80002c18: faaab137 lui sp,0xfaaab + 80002c1c: aab1011b addiw sp,sp,-1365 + 80002c20: 00c11113 slli sp,sp,0xc + 80002c24: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa22bb> + 80002c28: 00c11113 slli sp,sp,0xc + 80002c2c: aab10113 addi sp,sp,-1365 + 80002c30: 00c11113 slli sp,sp,0xc + 80002c34: aab10113 addi sp,sp,-1365 + 80002c38: 02208f33 mul t5,ra,sp + 80002c3c: 00010eb7 lui t4,0x10 + 80002c40: f7fe8e9b addiw t4,t4,-129 + 80002c44: 01f00193 li gp,31 + 80002c48: 35df1663 bne t5,t4,80002f94 <fail> + +0000000080002c4c <test_8>: + 80002c4c: 00d00093 li ra,13 + 80002c50: 00b00113 li sp,11 + 80002c54: 022080b3 mul ra,ra,sp + 80002c58: 08f00e93 li t4,143 + 80002c5c: 00800193 li gp,8 + 80002c60: 33d09a63 bne ra,t4,80002f94 <fail> + +0000000080002c64 <test_9>: + 80002c64: 00e00093 li ra,14 + 80002c68: 00b00113 li sp,11 + 80002c6c: 02208133 mul sp,ra,sp + 80002c70: 09a00e93 li t4,154 + 80002c74: 00900193 li gp,9 + 80002c78: 31d11e63 bne sp,t4,80002f94 <fail> + +0000000080002c7c <test_10>: + 80002c7c: 00d00093 li ra,13 + 80002c80: 021080b3 mul ra,ra,ra + 80002c84: 0a900e93 li t4,169 + 80002c88: 00a00193 li gp,10 + 80002c8c: 31d09463 bne ra,t4,80002f94 <fail> + +0000000080002c90 <test_11>: + 80002c90: 00000213 li tp,0 + 80002c94: 00d00093 li ra,13 + 80002c98: 00b00113 li sp,11 + 80002c9c: 02208f33 mul t5,ra,sp + 80002ca0: 000f0313 mv t1,t5 + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5214e3 bne tp,t0,80002c94 <test_11+0x4> + 80002cb0: 08f00e93 li t4,143 + 80002cb4: 00b00193 li gp,11 + 80002cb8: 2dd31e63 bne t1,t4,80002f94 <fail> + +0000000080002cbc <test_12>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 00e00093 li ra,14 + 80002cc4: 00b00113 li sp,11 + 80002cc8: 02208f33 mul t5,ra,sp + 80002ccc: 00000013 nop + 80002cd0: 000f0313 mv t1,t5 + 80002cd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cd8: 00200293 li t0,2 + 80002cdc: fe5212e3 bne tp,t0,80002cc0 <test_12+0x4> + 80002ce0: 09a00e93 li t4,154 + 80002ce4: 00c00193 li gp,12 + 80002ce8: 2bd31663 bne t1,t4,80002f94 <fail> + +0000000080002cec <test_13>: + 80002cec: 00000213 li tp,0 + 80002cf0: 00f00093 li ra,15 + 80002cf4: 00b00113 li sp,11 + 80002cf8: 02208f33 mul t5,ra,sp + 80002cfc: 00000013 nop + 80002d00: 00000013 nop + 80002d04: 000f0313 mv t1,t5 + 80002d08: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d0c: 00200293 li t0,2 + 80002d10: fe5210e3 bne tp,t0,80002cf0 <test_13+0x4> + 80002d14: 0a500e93 li t4,165 + 80002d18: 00d00193 li gp,13 + 80002d1c: 27d31c63 bne t1,t4,80002f94 <fail> + +0000000080002d20 <test_14>: + 80002d20: 00000213 li tp,0 + 80002d24: 00d00093 li ra,13 + 80002d28: 00b00113 li sp,11 + 80002d2c: 02208f33 mul t5,ra,sp + 80002d30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d34: 00200293 li t0,2 + 80002d38: fe5216e3 bne tp,t0,80002d24 <test_14+0x4> + 80002d3c: 08f00e93 li t4,143 + 80002d40: 00e00193 li gp,14 + 80002d44: 25df1863 bne t5,t4,80002f94 <fail> + +0000000080002d48 <test_15>: + 80002d48: 00000213 li tp,0 + 80002d4c: 00e00093 li ra,14 + 80002d50: 00b00113 li sp,11 + 80002d54: 00000013 nop + 80002d58: 02208f33 mul t5,ra,sp + 80002d5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d60: 00200293 li t0,2 + 80002d64: fe5214e3 bne tp,t0,80002d4c <test_15+0x4> + 80002d68: 09a00e93 li t4,154 + 80002d6c: 00f00193 li gp,15 + 80002d70: 23df1263 bne t5,t4,80002f94 <fail> + +0000000080002d74 <test_16>: + 80002d74: 00000213 li tp,0 + 80002d78: 00f00093 li ra,15 + 80002d7c: 00b00113 li sp,11 + 80002d80: 00000013 nop + 80002d84: 00000013 nop + 80002d88: 02208f33 mul t5,ra,sp + 80002d8c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d90: 00200293 li t0,2 + 80002d94: fe5212e3 bne tp,t0,80002d78 <test_16+0x4> + 80002d98: 0a500e93 li t4,165 + 80002d9c: 01000193 li gp,16 + 80002da0: 1fdf1a63 bne t5,t4,80002f94 <fail> + +0000000080002da4 <test_17>: + 80002da4: 00000213 li tp,0 + 80002da8: 00d00093 li ra,13 + 80002dac: 00000013 nop + 80002db0: 00b00113 li sp,11 + 80002db4: 02208f33 mul t5,ra,sp + 80002db8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dbc: 00200293 li t0,2 + 80002dc0: fe5214e3 bne tp,t0,80002da8 <test_17+0x4> + 80002dc4: 08f00e93 li t4,143 + 80002dc8: 01100193 li gp,17 + 80002dcc: 1ddf1463 bne t5,t4,80002f94 <fail> + +0000000080002dd0 <test_18>: + 80002dd0: 00000213 li tp,0 + 80002dd4: 00e00093 li ra,14 + 80002dd8: 00000013 nop + 80002ddc: 00b00113 li sp,11 + 80002de0: 00000013 nop + 80002de4: 02208f33 mul t5,ra,sp + 80002de8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dec: 00200293 li t0,2 + 80002df0: fe5212e3 bne tp,t0,80002dd4 <test_18+0x4> + 80002df4: 09a00e93 li t4,154 + 80002df8: 01200193 li gp,18 + 80002dfc: 19df1c63 bne t5,t4,80002f94 <fail> + +0000000080002e00 <test_19>: + 80002e00: 00000213 li tp,0 + 80002e04: 00f00093 li ra,15 + 80002e08: 00000013 nop + 80002e0c: 00000013 nop + 80002e10: 00b00113 li sp,11 + 80002e14: 02208f33 mul t5,ra,sp + 80002e18: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e1c: 00200293 li t0,2 + 80002e20: fe5212e3 bne tp,t0,80002e04 <test_19+0x4> + 80002e24: 0a500e93 li t4,165 + 80002e28: 01300193 li gp,19 + 80002e2c: 17df1463 bne t5,t4,80002f94 <fail> + +0000000080002e30 <test_20>: + 80002e30: 00000213 li tp,0 + 80002e34: 00b00113 li sp,11 + 80002e38: 00d00093 li ra,13 + 80002e3c: 02208f33 mul t5,ra,sp + 80002e40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e44: 00200293 li t0,2 + 80002e48: fe5216e3 bne tp,t0,80002e34 <test_20+0x4> + 80002e4c: 08f00e93 li t4,143 + 80002e50: 01400193 li gp,20 + 80002e54: 15df1063 bne t5,t4,80002f94 <fail> + +0000000080002e58 <test_21>: + 80002e58: 00000213 li tp,0 + 80002e5c: 00b00113 li sp,11 + 80002e60: 00e00093 li ra,14 + 80002e64: 00000013 nop + 80002e68: 02208f33 mul t5,ra,sp + 80002e6c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e70: 00200293 li t0,2 + 80002e74: fe5214e3 bne tp,t0,80002e5c <test_21+0x4> + 80002e78: 09a00e93 li t4,154 + 80002e7c: 01500193 li gp,21 + 80002e80: 11df1a63 bne t5,t4,80002f94 <fail> + +0000000080002e84 <test_22>: + 80002e84: 00000213 li tp,0 + 80002e88: 00b00113 li sp,11 + 80002e8c: 00f00093 li ra,15 + 80002e90: 00000013 nop + 80002e94: 00000013 nop + 80002e98: 02208f33 mul t5,ra,sp + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fe5212e3 bne tp,t0,80002e88 <test_22+0x4> + 80002ea8: 0a500e93 li t4,165 + 80002eac: 01600193 li gp,22 + 80002eb0: 0fdf1263 bne t5,t4,80002f94 <fail> + +0000000080002eb4 <test_23>: + 80002eb4: 00000213 li tp,0 + 80002eb8: 00b00113 li sp,11 + 80002ebc: 00000013 nop + 80002ec0: 00d00093 li ra,13 + 80002ec4: 02208f33 mul t5,ra,sp + 80002ec8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ecc: 00200293 li t0,2 + 80002ed0: fe5214e3 bne tp,t0,80002eb8 <test_23+0x4> + 80002ed4: 08f00e93 li t4,143 + 80002ed8: 01700193 li gp,23 + 80002edc: 0bdf1c63 bne t5,t4,80002f94 <fail> + +0000000080002ee0 <test_24>: + 80002ee0: 00000213 li tp,0 + 80002ee4: 00b00113 li sp,11 + 80002ee8: 00000013 nop + 80002eec: 00e00093 li ra,14 + 80002ef0: 00000013 nop + 80002ef4: 02208f33 mul t5,ra,sp + 80002ef8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002efc: 00200293 li t0,2 + 80002f00: fe5212e3 bne tp,t0,80002ee4 <test_24+0x4> + 80002f04: 09a00e93 li t4,154 + 80002f08: 01800193 li gp,24 + 80002f0c: 09df1463 bne t5,t4,80002f94 <fail> + +0000000080002f10 <test_25>: + 80002f10: 00000213 li tp,0 + 80002f14: 00b00113 li sp,11 + 80002f18: 00000013 nop + 80002f1c: 00000013 nop + 80002f20: 00f00093 li ra,15 + 80002f24: 02208f33 mul t5,ra,sp + 80002f28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f2c: 00200293 li t0,2 + 80002f30: fe5212e3 bne tp,t0,80002f14 <test_25+0x4> + 80002f34: 0a500e93 li t4,165 + 80002f38: 01900193 li gp,25 + 80002f3c: 05df1c63 bne t5,t4,80002f94 <fail> + +0000000080002f40 <test_26>: + 80002f40: 01f00093 li ra,31 + 80002f44: 02100133 mul sp,zero,ra + 80002f48: 00000e93 li t4,0 + 80002f4c: 01a00193 li gp,26 + 80002f50: 05d11263 bne sp,t4,80002f94 <fail> + +0000000080002f54 <test_27>: + 80002f54: 02000093 li ra,32 + 80002f58: 02008133 mul sp,ra,zero + 80002f5c: 00000e93 li t4,0 + 80002f60: 01b00193 li gp,27 + 80002f64: 03d11863 bne sp,t4,80002f94 <fail> + +0000000080002f68 <test_28>: + 80002f68: 020000b3 mul ra,zero,zero + 80002f6c: 00000e93 li t4,0 + 80002f70: 01c00193 li gp,28 + 80002f74: 03d09063 bne ra,t4,80002f94 <fail> + +0000000080002f78 <test_29>: + 80002f78: 02100093 li ra,33 + 80002f7c: 02200113 li sp,34 + 80002f80: 02208033 mul zero,ra,sp + 80002f84: 00000e93 li t4,0 + 80002f88: 01d00193 li gp,29 + 80002f8c: 01d01463 bne zero,t4,80002f94 <fail> + 80002f90: 00301a63 bne zero,gp,80002fa4 <pass> + +0000000080002f94 <fail>: + 80002f94: 00119513 slli a0,gp,0x1 + 80002f98: 00050063 beqz a0,80002f98 <fail+0x4> + 80002f9c: 00156513 ori a0,a0,1 + 80002fa0: 00000073 ecall + +0000000080002fa4 <pass>: + 80002fa4: 00100513 li a0,1 + 80002fa8: 00000073 ecall + 80002fac: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-mul.elf b/test/riscv/tests/rv64um-v-mul.elf Binary files differnew file mode 100644 index 00000000..64107a2c --- /dev/null +++ b/test/riscv/tests/rv64um-v-mul.elf diff --git a/test/riscv/tests/rv64um-v-mulh.dump b/test/riscv/tests/rv64um-v-mulh.dump new file mode 100644 index 00000000..17befcd4 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulh.dump @@ -0,0 +1,1179 @@ + +rv64um-v-mulh: 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,sbadaddr + 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 <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: 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: b0068693 addi a3,a3,-1280 # 80002f58 <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: b3460613 addi a2,a2,-1228 # 80002fe8 <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: 00001617 auipc a2,0x1 + 80002508: afc60613 addi a2,a2,-1284 # 80003000 <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: 00001697 auipc a3,0x1 + 80002558: a4c68693 addi a3,a3,-1460 # 80002fa0 <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: 00001697 auipc a3,0x1 + 80002674: a6868693 addi a3,a3,-1432 # 800030d8 <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: 00001617 auipc a2,0x1 + 800026cc: 9e860613 addi a2,a2,-1560 # 800030b0 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 91c68693 addi a3,a3,-1764 # 80003108 <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: 00001697 auipc a3,0x1 + 80002840: 83c68693 addi a3,a3,-1988 # 80003078 <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: 7cc68693 addi a3,a3,1996 # 80003040 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 01700793 li a5,23 + 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: 0cb6d7b7 lui a5,0xcb6d + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 32278793 addi a5,a5,802 # cb6d322 <_start-0x73492cde> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 02209f33 mulh t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 47df1063 bne t5,t4,80002f3c <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 02209f33 mulh t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 45df1463 bne t5,t4,80002f3c <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 02209f33 mulh t5,ra,sp + 80002b04: 00000e93 li t4,0 + 80002b08: 00400193 li gp,4 + 80002b0c: 43df1863 bne t5,t4,80002f3c <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 02209f33 mulh t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 41df1c63 bne t5,t4,80002f3c <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 02209f33 mulh t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 41df1063 bne t5,t4,80002f3c <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 02209f33 mulh t5,ra,sp + 80002b4c: 00000e93 li t4,0 + 80002b50: 00700193 li gp,7 + 80002b54: 3fdf1463 bne t5,t4,80002f3c <fail> + +0000000080002b58 <test_8>: + 80002b58: 00d0009b addiw ra,zero,13 + 80002b5c: 02009093 slli ra,ra,0x20 + 80002b60: 00b0011b addiw sp,zero,11 + 80002b64: 02011113 slli sp,sp,0x20 + 80002b68: 022090b3 mulh ra,ra,sp + 80002b6c: 08f00e93 li t4,143 + 80002b70: 00800193 li gp,8 + 80002b74: 3dd09463 bne ra,t4,80002f3c <fail> + +0000000080002b78 <test_9>: + 80002b78: 0070009b addiw ra,zero,7 + 80002b7c: 02109093 slli ra,ra,0x21 + 80002b80: 00b0011b addiw sp,zero,11 + 80002b84: 02011113 slli sp,sp,0x20 + 80002b88: 02209133 mulh sp,ra,sp + 80002b8c: 09a00e93 li t4,154 + 80002b90: 00900193 li gp,9 + 80002b94: 3bd11463 bne sp,t4,80002f3c <fail> + +0000000080002b98 <test_10>: + 80002b98: 00d0009b addiw ra,zero,13 + 80002b9c: 02009093 slli ra,ra,0x20 + 80002ba0: 021090b3 mulh ra,ra,ra + 80002ba4: 0a900e93 li t4,169 + 80002ba8: 00a00193 li gp,10 + 80002bac: 39d09863 bne ra,t4,80002f3c <fail> + +0000000080002bb0 <test_11>: + 80002bb0: 00000213 li tp,0 + 80002bb4: 00d0009b addiw ra,zero,13 + 80002bb8: 02009093 slli ra,ra,0x20 + 80002bbc: 00b0011b addiw sp,zero,11 + 80002bc0: 02011113 slli sp,sp,0x20 + 80002bc4: 02209f33 mulh t5,ra,sp + 80002bc8: 000f0313 mv t1,t5 + 80002bcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd0: 00200293 li t0,2 + 80002bd4: fe5210e3 bne tp,t0,80002bb4 <test_11+0x4> + 80002bd8: 08f00e93 li t4,143 + 80002bdc: 00b00193 li gp,11 + 80002be0: 35d31e63 bne t1,t4,80002f3c <fail> + +0000000080002be4 <test_12>: + 80002be4: 00000213 li tp,0 + 80002be8: 0070009b addiw ra,zero,7 + 80002bec: 02109093 slli ra,ra,0x21 + 80002bf0: 00b0011b addiw sp,zero,11 + 80002bf4: 02011113 slli sp,sp,0x20 + 80002bf8: 02209f33 mulh t5,ra,sp + 80002bfc: 00000013 nop + 80002c00: 000f0313 mv t1,t5 + 80002c04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c08: 00200293 li t0,2 + 80002c0c: fc521ee3 bne tp,t0,80002be8 <test_12+0x4> + 80002c10: 09a00e93 li t4,154 + 80002c14: 00c00193 li gp,12 + 80002c18: 33d31263 bne t1,t4,80002f3c <fail> + +0000000080002c1c <test_13>: + 80002c1c: 00000213 li tp,0 + 80002c20: 00f0009b addiw ra,zero,15 + 80002c24: 02009093 slli ra,ra,0x20 + 80002c28: 00b0011b addiw sp,zero,11 + 80002c2c: 02011113 slli sp,sp,0x20 + 80002c30: 02209f33 mulh t5,ra,sp + 80002c34: 00000013 nop + 80002c38: 00000013 nop + 80002c3c: 000f0313 mv t1,t5 + 80002c40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c44: 00200293 li t0,2 + 80002c48: fc521ce3 bne tp,t0,80002c20 <test_13+0x4> + 80002c4c: 0a500e93 li t4,165 + 80002c50: 00d00193 li gp,13 + 80002c54: 2fd31463 bne t1,t4,80002f3c <fail> + +0000000080002c58 <test_14>: + 80002c58: 00000213 li tp,0 + 80002c5c: 00d0009b addiw ra,zero,13 + 80002c60: 02009093 slli ra,ra,0x20 + 80002c64: 00b0011b addiw sp,zero,11 + 80002c68: 02011113 slli sp,sp,0x20 + 80002c6c: 02209f33 mulh t5,ra,sp + 80002c70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c74: 00200293 li t0,2 + 80002c78: fe5212e3 bne tp,t0,80002c5c <test_14+0x4> + 80002c7c: 08f00e93 li t4,143 + 80002c80: 00e00193 li gp,14 + 80002c84: 2bdf1c63 bne t5,t4,80002f3c <fail> + +0000000080002c88 <test_15>: + 80002c88: 00000213 li tp,0 + 80002c8c: 0070009b addiw ra,zero,7 + 80002c90: 02109093 slli ra,ra,0x21 + 80002c94: 00b0011b addiw sp,zero,11 + 80002c98: 02011113 slli sp,sp,0x20 + 80002c9c: 00000013 nop + 80002ca0: 02209f33 mulh t5,ra,sp + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5210e3 bne tp,t0,80002c8c <test_15+0x4> + 80002cb0: 09a00e93 li t4,154 + 80002cb4: 00f00193 li gp,15 + 80002cb8: 29df1263 bne t5,t4,80002f3c <fail> + +0000000080002cbc <test_16>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 00f0009b addiw ra,zero,15 + 80002cc4: 02009093 slli ra,ra,0x20 + 80002cc8: 00b0011b addiw sp,zero,11 + 80002ccc: 02011113 slli sp,sp,0x20 + 80002cd0: 00000013 nop + 80002cd4: 00000013 nop + 80002cd8: 02209f33 mulh t5,ra,sp + 80002cdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce0: 00200293 li t0,2 + 80002ce4: fc521ee3 bne tp,t0,80002cc0 <test_16+0x4> + 80002ce8: 0a500e93 li t4,165 + 80002cec: 01000193 li gp,16 + 80002cf0: 25df1663 bne t5,t4,80002f3c <fail> + +0000000080002cf4 <test_17>: + 80002cf4: 00000213 li tp,0 + 80002cf8: 00d0009b addiw ra,zero,13 + 80002cfc: 02009093 slli ra,ra,0x20 + 80002d00: 00000013 nop + 80002d04: 00b0011b addiw sp,zero,11 + 80002d08: 02011113 slli sp,sp,0x20 + 80002d0c: 02209f33 mulh t5,ra,sp + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fe5210e3 bne tp,t0,80002cf8 <test_17+0x4> + 80002d1c: 08f00e93 li t4,143 + 80002d20: 01100193 li gp,17 + 80002d24: 21df1c63 bne t5,t4,80002f3c <fail> + +0000000080002d28 <test_18>: + 80002d28: 00000213 li tp,0 + 80002d2c: 0070009b addiw ra,zero,7 + 80002d30: 02109093 slli ra,ra,0x21 + 80002d34: 00000013 nop + 80002d38: 00b0011b addiw sp,zero,11 + 80002d3c: 02011113 slli sp,sp,0x20 + 80002d40: 00000013 nop + 80002d44: 02209f33 mulh t5,ra,sp + 80002d48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d4c: 00200293 li t0,2 + 80002d50: fc521ee3 bne tp,t0,80002d2c <test_18+0x4> + 80002d54: 09a00e93 li t4,154 + 80002d58: 01200193 li gp,18 + 80002d5c: 1fdf1063 bne t5,t4,80002f3c <fail> + +0000000080002d60 <test_19>: + 80002d60: 00000213 li tp,0 + 80002d64: 00f0009b addiw ra,zero,15 + 80002d68: 02009093 slli ra,ra,0x20 + 80002d6c: 00000013 nop + 80002d70: 00000013 nop + 80002d74: 00b0011b addiw sp,zero,11 + 80002d78: 02011113 slli sp,sp,0x20 + 80002d7c: 02209f33 mulh t5,ra,sp + 80002d80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d84: 00200293 li t0,2 + 80002d88: fc521ee3 bne tp,t0,80002d64 <test_19+0x4> + 80002d8c: 0a500e93 li t4,165 + 80002d90: 01300193 li gp,19 + 80002d94: 1bdf1463 bne t5,t4,80002f3c <fail> + +0000000080002d98 <test_20>: + 80002d98: 00000213 li tp,0 + 80002d9c: 00b0011b addiw sp,zero,11 + 80002da0: 02011113 slli sp,sp,0x20 + 80002da4: 00d0009b addiw ra,zero,13 + 80002da8: 02009093 slli ra,ra,0x20 + 80002dac: 02209f33 mulh t5,ra,sp + 80002db0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db4: 00200293 li t0,2 + 80002db8: fe5212e3 bne tp,t0,80002d9c <test_20+0x4> + 80002dbc: 08f00e93 li t4,143 + 80002dc0: 01400193 li gp,20 + 80002dc4: 17df1c63 bne t5,t4,80002f3c <fail> + +0000000080002dc8 <test_21>: + 80002dc8: 00000213 li tp,0 + 80002dcc: 00b0011b addiw sp,zero,11 + 80002dd0: 02011113 slli sp,sp,0x20 + 80002dd4: 0070009b addiw ra,zero,7 + 80002dd8: 02109093 slli ra,ra,0x21 + 80002ddc: 00000013 nop + 80002de0: 02209f33 mulh t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fe5210e3 bne tp,t0,80002dcc <test_21+0x4> + 80002df0: 09a00e93 li t4,154 + 80002df4: 01500193 li gp,21 + 80002df8: 15df1263 bne t5,t4,80002f3c <fail> + +0000000080002dfc <test_22>: + 80002dfc: 00000213 li tp,0 + 80002e00: 00b0011b addiw sp,zero,11 + 80002e04: 02011113 slli sp,sp,0x20 + 80002e08: 00f0009b addiw ra,zero,15 + 80002e0c: 02009093 slli ra,ra,0x20 + 80002e10: 00000013 nop + 80002e14: 00000013 nop + 80002e18: 02209f33 mulh t5,ra,sp + 80002e1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e20: 00200293 li t0,2 + 80002e24: fc521ee3 bne tp,t0,80002e00 <test_22+0x4> + 80002e28: 0a500e93 li t4,165 + 80002e2c: 01600193 li gp,22 + 80002e30: 11df1663 bne t5,t4,80002f3c <fail> + +0000000080002e34 <test_23>: + 80002e34: 00000213 li tp,0 + 80002e38: 00b0011b addiw sp,zero,11 + 80002e3c: 02011113 slli sp,sp,0x20 + 80002e40: 00000013 nop + 80002e44: 00d0009b addiw ra,zero,13 + 80002e48: 02009093 slli ra,ra,0x20 + 80002e4c: 02209f33 mulh t5,ra,sp + 80002e50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e54: 00200293 li t0,2 + 80002e58: fe5210e3 bne tp,t0,80002e38 <test_23+0x4> + 80002e5c: 08f00e93 li t4,143 + 80002e60: 01700193 li gp,23 + 80002e64: 0ddf1c63 bne t5,t4,80002f3c <fail> + +0000000080002e68 <test_24>: + 80002e68: 00000213 li tp,0 + 80002e6c: 00b0011b addiw sp,zero,11 + 80002e70: 02011113 slli sp,sp,0x20 + 80002e74: 00000013 nop + 80002e78: 0070009b addiw ra,zero,7 + 80002e7c: 02109093 slli ra,ra,0x21 + 80002e80: 00000013 nop + 80002e84: 02209f33 mulh t5,ra,sp + 80002e88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e8c: 00200293 li t0,2 + 80002e90: fc521ee3 bne tp,t0,80002e6c <test_24+0x4> + 80002e94: 09a00e93 li t4,154 + 80002e98: 01800193 li gp,24 + 80002e9c: 0bdf1063 bne t5,t4,80002f3c <fail> + +0000000080002ea0 <test_25>: + 80002ea0: 00000213 li tp,0 + 80002ea4: 00b0011b addiw sp,zero,11 + 80002ea8: 02011113 slli sp,sp,0x20 + 80002eac: 00000013 nop + 80002eb0: 00000013 nop + 80002eb4: 00f0009b addiw ra,zero,15 + 80002eb8: 02009093 slli ra,ra,0x20 + 80002ebc: 02209f33 mulh t5,ra,sp + 80002ec0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec4: 00200293 li t0,2 + 80002ec8: fc521ee3 bne tp,t0,80002ea4 <test_25+0x4> + 80002ecc: 0a500e93 li t4,165 + 80002ed0: 01900193 li gp,25 + 80002ed4: 07df1463 bne t5,t4,80002f3c <fail> + +0000000080002ed8 <test_26>: + 80002ed8: 01f0009b addiw ra,zero,31 + 80002edc: 02009093 slli ra,ra,0x20 + 80002ee0: 02101133 mulh sp,zero,ra + 80002ee4: 00000e93 li t4,0 + 80002ee8: 01a00193 li gp,26 + 80002eec: 05d11863 bne sp,t4,80002f3c <fail> + +0000000080002ef0 <test_27>: + 80002ef0: 0010009b addiw ra,zero,1 + 80002ef4: 02509093 slli ra,ra,0x25 + 80002ef8: 02009133 mulh sp,ra,zero + 80002efc: 00000e93 li t4,0 + 80002f00: 01b00193 li gp,27 + 80002f04: 03d11c63 bne sp,t4,80002f3c <fail> + +0000000080002f08 <test_28>: + 80002f08: 020010b3 mulh ra,zero,zero + 80002f0c: 00000e93 li t4,0 + 80002f10: 01c00193 li gp,28 + 80002f14: 03d09463 bne ra,t4,80002f3c <fail> + +0000000080002f18 <test_29>: + 80002f18: 0210009b addiw ra,zero,33 + 80002f1c: 02009093 slli ra,ra,0x20 + 80002f20: 0110011b addiw sp,zero,17 + 80002f24: 02111113 slli sp,sp,0x21 + 80002f28: 02209033 mulh zero,ra,sp + 80002f2c: 00000e93 li t4,0 + 80002f30: 01d00193 li gp,29 + 80002f34: 01d01463 bne zero,t4,80002f3c <fail> + 80002f38: 00301a63 bne zero,gp,80002f4c <pass> + +0000000080002f3c <fail>: + 80002f3c: 00119513 slli a0,gp,0x1 + 80002f40: 00050063 beqz a0,80002f40 <fail+0x4> + 80002f44: 00156513 ori a0,a0,1 + 80002f48: 00000073 ecall + +0000000080002f4c <pass>: + 80002f4c: 00100513 li a0,1 + 80002f50: 00000073 ecall + 80002f54: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-mulh.elf b/test/riscv/tests/rv64um-v-mulh.elf Binary files differnew file mode 100644 index 00000000..a644ac43 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulh.elf diff --git a/test/riscv/tests/rv64um-v-mulhsu.dump b/test/riscv/tests/rv64um-v-mulhsu.dump new file mode 100644 index 00000000..061224b6 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulhsu.dump @@ -0,0 +1,1179 @@ + +rv64um-v-mulhsu: 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,sbadaddr + 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 <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: 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: b0068693 addi a3,a3,-1280 # 80002f58 <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: b3460613 addi a2,a2,-1228 # 80002fe8 <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: 00001617 auipc a2,0x1 + 80002508: afc60613 addi a2,a2,-1284 # 80003000 <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: 00001697 auipc a3,0x1 + 80002558: a4c68693 addi a3,a3,-1460 # 80002fa0 <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: 00001697 auipc a3,0x1 + 80002674: a6868693 addi a3,a3,-1432 # 800030d8 <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: 00001617 auipc a2,0x1 + 800026cc: 9e860613 addi a2,a2,-1560 # 800030b0 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 91c68693 addi a3,a3,-1764 # 80003108 <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: 00001697 auipc a3,0x1 + 80002840: 83c68693 addi a3,a3,-1988 # 80003078 <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: 7cc68693 addi a3,a3,1996 # 80003040 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 01000793 li a5,16 + 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: 09a677b7 lui a5,0x9a67 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: d4078793 addi a5,a5,-704 # 9a66d40 <_start-0x765992c0> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 0220af33 mulhsu t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 47df1063 bne t5,t4,80002f3c <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0220af33 mulhsu t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 45df1463 bne t5,t4,80002f3c <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 0220af33 mulhsu t5,ra,sp + 80002b04: 00000e93 li t4,0 + 80002b08: 00400193 li gp,4 + 80002b0c: 43df1863 bne t5,t4,80002f3c <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 0220af33 mulhsu t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 41df1c63 bne t5,t4,80002f3c <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 0220af33 mulhsu t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 41df1063 bne t5,t4,80002f3c <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 0220af33 mulhsu t5,ra,sp + 80002b4c: 80000eb7 lui t4,0x80000 + 80002b50: 00700193 li gp,7 + 80002b54: 3fdf1463 bne t5,t4,80002f3c <fail> + +0000000080002b58 <test_8>: + 80002b58: 00d0009b addiw ra,zero,13 + 80002b5c: 02009093 slli ra,ra,0x20 + 80002b60: 00b0011b addiw sp,zero,11 + 80002b64: 02011113 slli sp,sp,0x20 + 80002b68: 0220a0b3 mulhsu ra,ra,sp + 80002b6c: 08f00e93 li t4,143 + 80002b70: 00800193 li gp,8 + 80002b74: 3dd09463 bne ra,t4,80002f3c <fail> + +0000000080002b78 <test_9>: + 80002b78: 0070009b addiw ra,zero,7 + 80002b7c: 02109093 slli ra,ra,0x21 + 80002b80: 00b0011b addiw sp,zero,11 + 80002b84: 02011113 slli sp,sp,0x20 + 80002b88: 0220a133 mulhsu sp,ra,sp + 80002b8c: 09a00e93 li t4,154 + 80002b90: 00900193 li gp,9 + 80002b94: 3bd11463 bne sp,t4,80002f3c <fail> + +0000000080002b98 <test_10>: + 80002b98: 00d0009b addiw ra,zero,13 + 80002b9c: 02009093 slli ra,ra,0x20 + 80002ba0: 0210a0b3 mulhsu ra,ra,ra + 80002ba4: 0a900e93 li t4,169 + 80002ba8: 00a00193 li gp,10 + 80002bac: 39d09863 bne ra,t4,80002f3c <fail> + +0000000080002bb0 <test_11>: + 80002bb0: 00000213 li tp,0 + 80002bb4: 00d0009b addiw ra,zero,13 + 80002bb8: 02009093 slli ra,ra,0x20 + 80002bbc: 00b0011b addiw sp,zero,11 + 80002bc0: 02011113 slli sp,sp,0x20 + 80002bc4: 0220af33 mulhsu t5,ra,sp + 80002bc8: 000f0313 mv t1,t5 + 80002bcc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bd0: 00200293 li t0,2 + 80002bd4: fe5210e3 bne tp,t0,80002bb4 <test_11+0x4> + 80002bd8: 08f00e93 li t4,143 + 80002bdc: 00b00193 li gp,11 + 80002be0: 35d31e63 bne t1,t4,80002f3c <fail> + +0000000080002be4 <test_12>: + 80002be4: 00000213 li tp,0 + 80002be8: 0070009b addiw ra,zero,7 + 80002bec: 02109093 slli ra,ra,0x21 + 80002bf0: 00b0011b addiw sp,zero,11 + 80002bf4: 02011113 slli sp,sp,0x20 + 80002bf8: 0220af33 mulhsu t5,ra,sp + 80002bfc: 00000013 nop + 80002c00: 000f0313 mv t1,t5 + 80002c04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c08: 00200293 li t0,2 + 80002c0c: fc521ee3 bne tp,t0,80002be8 <test_12+0x4> + 80002c10: 09a00e93 li t4,154 + 80002c14: 00c00193 li gp,12 + 80002c18: 33d31263 bne t1,t4,80002f3c <fail> + +0000000080002c1c <test_13>: + 80002c1c: 00000213 li tp,0 + 80002c20: 00f0009b addiw ra,zero,15 + 80002c24: 02009093 slli ra,ra,0x20 + 80002c28: 00b0011b addiw sp,zero,11 + 80002c2c: 02011113 slli sp,sp,0x20 + 80002c30: 0220af33 mulhsu t5,ra,sp + 80002c34: 00000013 nop + 80002c38: 00000013 nop + 80002c3c: 000f0313 mv t1,t5 + 80002c40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c44: 00200293 li t0,2 + 80002c48: fc521ce3 bne tp,t0,80002c20 <test_13+0x4> + 80002c4c: 0a500e93 li t4,165 + 80002c50: 00d00193 li gp,13 + 80002c54: 2fd31463 bne t1,t4,80002f3c <fail> + +0000000080002c58 <test_14>: + 80002c58: 00000213 li tp,0 + 80002c5c: 00d0009b addiw ra,zero,13 + 80002c60: 02009093 slli ra,ra,0x20 + 80002c64: 00b0011b addiw sp,zero,11 + 80002c68: 02011113 slli sp,sp,0x20 + 80002c6c: 0220af33 mulhsu t5,ra,sp + 80002c70: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c74: 00200293 li t0,2 + 80002c78: fe5212e3 bne tp,t0,80002c5c <test_14+0x4> + 80002c7c: 08f00e93 li t4,143 + 80002c80: 00e00193 li gp,14 + 80002c84: 2bdf1c63 bne t5,t4,80002f3c <fail> + +0000000080002c88 <test_15>: + 80002c88: 00000213 li tp,0 + 80002c8c: 0070009b addiw ra,zero,7 + 80002c90: 02109093 slli ra,ra,0x21 + 80002c94: 00b0011b addiw sp,zero,11 + 80002c98: 02011113 slli sp,sp,0x20 + 80002c9c: 00000013 nop + 80002ca0: 0220af33 mulhsu t5,ra,sp + 80002ca4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ca8: 00200293 li t0,2 + 80002cac: fe5210e3 bne tp,t0,80002c8c <test_15+0x4> + 80002cb0: 09a00e93 li t4,154 + 80002cb4: 00f00193 li gp,15 + 80002cb8: 29df1263 bne t5,t4,80002f3c <fail> + +0000000080002cbc <test_16>: + 80002cbc: 00000213 li tp,0 + 80002cc0: 00f0009b addiw ra,zero,15 + 80002cc4: 02009093 slli ra,ra,0x20 + 80002cc8: 00b0011b addiw sp,zero,11 + 80002ccc: 02011113 slli sp,sp,0x20 + 80002cd0: 00000013 nop + 80002cd4: 00000013 nop + 80002cd8: 0220af33 mulhsu t5,ra,sp + 80002cdc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ce0: 00200293 li t0,2 + 80002ce4: fc521ee3 bne tp,t0,80002cc0 <test_16+0x4> + 80002ce8: 0a500e93 li t4,165 + 80002cec: 01000193 li gp,16 + 80002cf0: 25df1663 bne t5,t4,80002f3c <fail> + +0000000080002cf4 <test_17>: + 80002cf4: 00000213 li tp,0 + 80002cf8: 00d0009b addiw ra,zero,13 + 80002cfc: 02009093 slli ra,ra,0x20 + 80002d00: 00000013 nop + 80002d04: 00b0011b addiw sp,zero,11 + 80002d08: 02011113 slli sp,sp,0x20 + 80002d0c: 0220af33 mulhsu t5,ra,sp + 80002d10: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d14: 00200293 li t0,2 + 80002d18: fe5210e3 bne tp,t0,80002cf8 <test_17+0x4> + 80002d1c: 08f00e93 li t4,143 + 80002d20: 01100193 li gp,17 + 80002d24: 21df1c63 bne t5,t4,80002f3c <fail> + +0000000080002d28 <test_18>: + 80002d28: 00000213 li tp,0 + 80002d2c: 0070009b addiw ra,zero,7 + 80002d30: 02109093 slli ra,ra,0x21 + 80002d34: 00000013 nop + 80002d38: 00b0011b addiw sp,zero,11 + 80002d3c: 02011113 slli sp,sp,0x20 + 80002d40: 00000013 nop + 80002d44: 0220af33 mulhsu t5,ra,sp + 80002d48: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d4c: 00200293 li t0,2 + 80002d50: fc521ee3 bne tp,t0,80002d2c <test_18+0x4> + 80002d54: 09a00e93 li t4,154 + 80002d58: 01200193 li gp,18 + 80002d5c: 1fdf1063 bne t5,t4,80002f3c <fail> + +0000000080002d60 <test_19>: + 80002d60: 00000213 li tp,0 + 80002d64: 00f0009b addiw ra,zero,15 + 80002d68: 02009093 slli ra,ra,0x20 + 80002d6c: 00000013 nop + 80002d70: 00000013 nop + 80002d74: 00b0011b addiw sp,zero,11 + 80002d78: 02011113 slli sp,sp,0x20 + 80002d7c: 0220af33 mulhsu t5,ra,sp + 80002d80: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d84: 00200293 li t0,2 + 80002d88: fc521ee3 bne tp,t0,80002d64 <test_19+0x4> + 80002d8c: 0a500e93 li t4,165 + 80002d90: 01300193 li gp,19 + 80002d94: 1bdf1463 bne t5,t4,80002f3c <fail> + +0000000080002d98 <test_20>: + 80002d98: 00000213 li tp,0 + 80002d9c: 00b0011b addiw sp,zero,11 + 80002da0: 02011113 slli sp,sp,0x20 + 80002da4: 00d0009b addiw ra,zero,13 + 80002da8: 02009093 slli ra,ra,0x20 + 80002dac: 0220af33 mulhsu t5,ra,sp + 80002db0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002db4: 00200293 li t0,2 + 80002db8: fe5212e3 bne tp,t0,80002d9c <test_20+0x4> + 80002dbc: 08f00e93 li t4,143 + 80002dc0: 01400193 li gp,20 + 80002dc4: 17df1c63 bne t5,t4,80002f3c <fail> + +0000000080002dc8 <test_21>: + 80002dc8: 00000213 li tp,0 + 80002dcc: 00b0011b addiw sp,zero,11 + 80002dd0: 02011113 slli sp,sp,0x20 + 80002dd4: 0070009b addiw ra,zero,7 + 80002dd8: 02109093 slli ra,ra,0x21 + 80002ddc: 00000013 nop + 80002de0: 0220af33 mulhsu t5,ra,sp + 80002de4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002de8: 00200293 li t0,2 + 80002dec: fe5210e3 bne tp,t0,80002dcc <test_21+0x4> + 80002df0: 09a00e93 li t4,154 + 80002df4: 01500193 li gp,21 + 80002df8: 15df1263 bne t5,t4,80002f3c <fail> + +0000000080002dfc <test_22>: + 80002dfc: 00000213 li tp,0 + 80002e00: 00b0011b addiw sp,zero,11 + 80002e04: 02011113 slli sp,sp,0x20 + 80002e08: 00f0009b addiw ra,zero,15 + 80002e0c: 02009093 slli ra,ra,0x20 + 80002e10: 00000013 nop + 80002e14: 00000013 nop + 80002e18: 0220af33 mulhsu t5,ra,sp + 80002e1c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e20: 00200293 li t0,2 + 80002e24: fc521ee3 bne tp,t0,80002e00 <test_22+0x4> + 80002e28: 0a500e93 li t4,165 + 80002e2c: 01600193 li gp,22 + 80002e30: 11df1663 bne t5,t4,80002f3c <fail> + +0000000080002e34 <test_23>: + 80002e34: 00000213 li tp,0 + 80002e38: 00b0011b addiw sp,zero,11 + 80002e3c: 02011113 slli sp,sp,0x20 + 80002e40: 00000013 nop + 80002e44: 00d0009b addiw ra,zero,13 + 80002e48: 02009093 slli ra,ra,0x20 + 80002e4c: 0220af33 mulhsu t5,ra,sp + 80002e50: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e54: 00200293 li t0,2 + 80002e58: fe5210e3 bne tp,t0,80002e38 <test_23+0x4> + 80002e5c: 08f00e93 li t4,143 + 80002e60: 01700193 li gp,23 + 80002e64: 0ddf1c63 bne t5,t4,80002f3c <fail> + +0000000080002e68 <test_24>: + 80002e68: 00000213 li tp,0 + 80002e6c: 00b0011b addiw sp,zero,11 + 80002e70: 02011113 slli sp,sp,0x20 + 80002e74: 00000013 nop + 80002e78: 0070009b addiw ra,zero,7 + 80002e7c: 02109093 slli ra,ra,0x21 + 80002e80: 00000013 nop + 80002e84: 0220af33 mulhsu t5,ra,sp + 80002e88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e8c: 00200293 li t0,2 + 80002e90: fc521ee3 bne tp,t0,80002e6c <test_24+0x4> + 80002e94: 09a00e93 li t4,154 + 80002e98: 01800193 li gp,24 + 80002e9c: 0bdf1063 bne t5,t4,80002f3c <fail> + +0000000080002ea0 <test_25>: + 80002ea0: 00000213 li tp,0 + 80002ea4: 00b0011b addiw sp,zero,11 + 80002ea8: 02011113 slli sp,sp,0x20 + 80002eac: 00000013 nop + 80002eb0: 00000013 nop + 80002eb4: 00f0009b addiw ra,zero,15 + 80002eb8: 02009093 slli ra,ra,0x20 + 80002ebc: 0220af33 mulhsu t5,ra,sp + 80002ec0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ec4: 00200293 li t0,2 + 80002ec8: fc521ee3 bne tp,t0,80002ea4 <test_25+0x4> + 80002ecc: 0a500e93 li t4,165 + 80002ed0: 01900193 li gp,25 + 80002ed4: 07df1463 bne t5,t4,80002f3c <fail> + +0000000080002ed8 <test_26>: + 80002ed8: 01f0009b addiw ra,zero,31 + 80002edc: 02009093 slli ra,ra,0x20 + 80002ee0: 02102133 mulhsu sp,zero,ra + 80002ee4: 00000e93 li t4,0 + 80002ee8: 01a00193 li gp,26 + 80002eec: 05d11863 bne sp,t4,80002f3c <fail> + +0000000080002ef0 <test_27>: + 80002ef0: 0010009b addiw ra,zero,1 + 80002ef4: 02509093 slli ra,ra,0x25 + 80002ef8: 0200a133 mulhsu sp,ra,zero + 80002efc: 00000e93 li t4,0 + 80002f00: 01b00193 li gp,27 + 80002f04: 03d11c63 bne sp,t4,80002f3c <fail> + +0000000080002f08 <test_28>: + 80002f08: 020020b3 mulhsu ra,zero,zero + 80002f0c: 00000e93 li t4,0 + 80002f10: 01c00193 li gp,28 + 80002f14: 03d09463 bne ra,t4,80002f3c <fail> + +0000000080002f18 <test_29>: + 80002f18: 0210009b addiw ra,zero,33 + 80002f1c: 02009093 slli ra,ra,0x20 + 80002f20: 0110011b addiw sp,zero,17 + 80002f24: 02111113 slli sp,sp,0x21 + 80002f28: 0220a033 mulhsu zero,ra,sp + 80002f2c: 00000e93 li t4,0 + 80002f30: 01d00193 li gp,29 + 80002f34: 01d01463 bne zero,t4,80002f3c <fail> + 80002f38: 00301a63 bne zero,gp,80002f4c <pass> + +0000000080002f3c <fail>: + 80002f3c: 00119513 slli a0,gp,0x1 + 80002f40: 00050063 beqz a0,80002f40 <fail+0x4> + 80002f44: 00156513 ori a0,a0,1 + 80002f48: 00000073 ecall + +0000000080002f4c <pass>: + 80002f4c: 00100513 li a0,1 + 80002f50: 00000073 ecall + 80002f54: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-mulhsu.elf b/test/riscv/tests/rv64um-v-mulhsu.elf Binary files differnew file mode 100644 index 00000000..a8afeaa1 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulhsu.elf diff --git a/test/riscv/tests/rv64um-v-mulhu.dump b/test/riscv/tests/rv64um-v-mulhu.dump new file mode 100644 index 00000000..85b66d05 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulhu.dump @@ -0,0 +1,1215 @@ + +rv64um-v-mulhu: 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,sbadaddr + 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 <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: 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: b8068693 addi a3,a3,-1152 # 80002fd8 <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: bb460613 addi a2,a2,-1100 # 80003068 <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: 00001617 auipc a2,0x1 + 80002508: b7c60613 addi a2,a2,-1156 # 80003080 <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: 00001697 auipc a3,0x1 + 80002558: acc68693 addi a3,a3,-1332 # 80003020 <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: 00001697 auipc a3,0x1 + 80002674: ae868693 addi a3,a3,-1304 # 80003158 <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: 00001617 auipc a2,0x1 + 800026cc: a6860613 addi a2,a2,-1432 # 80003130 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 99c68693 addi a3,a3,-1636 # 80003188 <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: 00001697 auipc a3,0x1 + 80002840: 8bc68693 addi a3,a3,-1860 # 800030f8 <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: 00001697 auipc a3,0x1 + 80002878: 84c68693 addi a3,a3,-1972 # 800030c0 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 03200793 li a5,50 + 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: 0c0917b7 lui a5,0xc091 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 24978793 addi a5,a5,585 # c091249 <_start-0x73f6edb7> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 0220bf33 mulhu t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 4fdf1063 bne t5,t4,80002fbc <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 0220bf33 mulhu t5,ra,sp + 80002aec: 00000e93 li t4,0 + 80002af0: 00300193 li gp,3 + 80002af4: 4ddf1463 bne t5,t4,80002fbc <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 0220bf33 mulhu t5,ra,sp + 80002b04: 00000e93 li t4,0 + 80002b08: 00400193 li gp,4 + 80002b0c: 4bdf1863 bne t5,t4,80002fbc <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 0220bf33 mulhu t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 49df1c63 bne t5,t4,80002fbc <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 0220bf33 mulhu t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 49df1063 bne t5,t4,80002fbc <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 0220bf33 mulhu t5,ra,sp + 80002b4c: ffff0eb7 lui t4,0xffff0 + 80002b50: fffe8e9b addiw t4,t4,-1 + 80002b54: 00fe9e93 slli t4,t4,0xf + 80002b58: 00700193 li gp,7 + 80002b5c: 47df1063 bne t5,t4,80002fbc <fail> + +0000000080002b60 <test_30>: + 80002b60: faaab0b7 lui ra,0xfaaab + 80002b64: aab0809b addiw ra,ra,-1365 + 80002b68: 00c09093 slli ra,ra,0xc + 80002b6c: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa22bb> + 80002b70: 00c09093 slli ra,ra,0xc + 80002b74: aab08093 addi ra,ra,-1365 + 80002b78: 00c09093 slli ra,ra,0xc + 80002b7c: aab08093 addi ra,ra,-1365 + 80002b80: 00030137 lui sp,0x30 + 80002b84: e7d1011b addiw sp,sp,-387 + 80002b88: 0220bf33 mulhu t5,ra,sp + 80002b8c: 00020eb7 lui t4,0x20 + 80002b90: efee8e9b addiw t4,t4,-258 + 80002b94: 01e00193 li gp,30 + 80002b98: 43df1263 bne t5,t4,80002fbc <fail> + +0000000080002b9c <test_31>: + 80002b9c: 000300b7 lui ra,0x30 + 80002ba0: e7d0809b addiw ra,ra,-387 + 80002ba4: faaab137 lui sp,0xfaaab + 80002ba8: aab1011b addiw sp,sp,-1365 + 80002bac: 00c11113 slli sp,sp,0xc + 80002bb0: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa22bb> + 80002bb4: 00c11113 slli sp,sp,0xc + 80002bb8: aab10113 addi sp,sp,-1365 + 80002bbc: 00c11113 slli sp,sp,0xc + 80002bc0: aab10113 addi sp,sp,-1365 + 80002bc4: 0220bf33 mulhu t5,ra,sp + 80002bc8: 00020eb7 lui t4,0x20 + 80002bcc: efee8e9b addiw t4,t4,-258 + 80002bd0: 01f00193 li gp,31 + 80002bd4: 3fdf1463 bne t5,t4,80002fbc <fail> + +0000000080002bd8 <test_8>: + 80002bd8: 00d0009b addiw ra,zero,13 + 80002bdc: 02009093 slli ra,ra,0x20 + 80002be0: 00b0011b addiw sp,zero,11 + 80002be4: 02011113 slli sp,sp,0x20 + 80002be8: 0220b0b3 mulhu ra,ra,sp + 80002bec: 08f00e93 li t4,143 + 80002bf0: 00800193 li gp,8 + 80002bf4: 3dd09463 bne ra,t4,80002fbc <fail> + +0000000080002bf8 <test_9>: + 80002bf8: 0070009b addiw ra,zero,7 + 80002bfc: 02109093 slli ra,ra,0x21 + 80002c00: 00b0011b addiw sp,zero,11 + 80002c04: 02011113 slli sp,sp,0x20 + 80002c08: 0220b133 mulhu sp,ra,sp + 80002c0c: 09a00e93 li t4,154 + 80002c10: 00900193 li gp,9 + 80002c14: 3bd11463 bne sp,t4,80002fbc <fail> + +0000000080002c18 <test_10>: + 80002c18: 00d0009b addiw ra,zero,13 + 80002c1c: 02009093 slli ra,ra,0x20 + 80002c20: 0210b0b3 mulhu ra,ra,ra + 80002c24: 0a900e93 li t4,169 + 80002c28: 00a00193 li gp,10 + 80002c2c: 39d09863 bne ra,t4,80002fbc <fail> + +0000000080002c30 <test_11>: + 80002c30: 00000213 li tp,0 + 80002c34: 00d0009b addiw ra,zero,13 + 80002c38: 02009093 slli ra,ra,0x20 + 80002c3c: 00b0011b addiw sp,zero,11 + 80002c40: 02011113 slli sp,sp,0x20 + 80002c44: 0220bf33 mulhu t5,ra,sp + 80002c48: 000f0313 mv t1,t5 + 80002c4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c50: 00200293 li t0,2 + 80002c54: fe5210e3 bne tp,t0,80002c34 <test_11+0x4> + 80002c58: 08f00e93 li t4,143 + 80002c5c: 00b00193 li gp,11 + 80002c60: 35d31e63 bne t1,t4,80002fbc <fail> + +0000000080002c64 <test_12>: + 80002c64: 00000213 li tp,0 + 80002c68: 0070009b addiw ra,zero,7 + 80002c6c: 02109093 slli ra,ra,0x21 + 80002c70: 00b0011b addiw sp,zero,11 + 80002c74: 02011113 slli sp,sp,0x20 + 80002c78: 0220bf33 mulhu t5,ra,sp + 80002c7c: 00000013 nop + 80002c80: 000f0313 mv t1,t5 + 80002c84: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c88: 00200293 li t0,2 + 80002c8c: fc521ee3 bne tp,t0,80002c68 <test_12+0x4> + 80002c90: 09a00e93 li t4,154 + 80002c94: 00c00193 li gp,12 + 80002c98: 33d31263 bne t1,t4,80002fbc <fail> + +0000000080002c9c <test_13>: + 80002c9c: 00000213 li tp,0 + 80002ca0: 00f0009b addiw ra,zero,15 + 80002ca4: 02009093 slli ra,ra,0x20 + 80002ca8: 00b0011b addiw sp,zero,11 + 80002cac: 02011113 slli sp,sp,0x20 + 80002cb0: 0220bf33 mulhu t5,ra,sp + 80002cb4: 00000013 nop + 80002cb8: 00000013 nop + 80002cbc: 000f0313 mv t1,t5 + 80002cc0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc4: 00200293 li t0,2 + 80002cc8: fc521ce3 bne tp,t0,80002ca0 <test_13+0x4> + 80002ccc: 0a500e93 li t4,165 + 80002cd0: 00d00193 li gp,13 + 80002cd4: 2fd31463 bne t1,t4,80002fbc <fail> + +0000000080002cd8 <test_14>: + 80002cd8: 00000213 li tp,0 + 80002cdc: 00d0009b addiw ra,zero,13 + 80002ce0: 02009093 slli ra,ra,0x20 + 80002ce4: 00b0011b addiw sp,zero,11 + 80002ce8: 02011113 slli sp,sp,0x20 + 80002cec: 0220bf33 mulhu t5,ra,sp + 80002cf0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf4: 00200293 li t0,2 + 80002cf8: fe5212e3 bne tp,t0,80002cdc <test_14+0x4> + 80002cfc: 08f00e93 li t4,143 + 80002d00: 00e00193 li gp,14 + 80002d04: 2bdf1c63 bne t5,t4,80002fbc <fail> + +0000000080002d08 <test_15>: + 80002d08: 00000213 li tp,0 + 80002d0c: 0070009b addiw ra,zero,7 + 80002d10: 02109093 slli ra,ra,0x21 + 80002d14: 00b0011b addiw sp,zero,11 + 80002d18: 02011113 slli sp,sp,0x20 + 80002d1c: 00000013 nop + 80002d20: 0220bf33 mulhu t5,ra,sp + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5210e3 bne tp,t0,80002d0c <test_15+0x4> + 80002d30: 09a00e93 li t4,154 + 80002d34: 00f00193 li gp,15 + 80002d38: 29df1263 bne t5,t4,80002fbc <fail> + +0000000080002d3c <test_16>: + 80002d3c: 00000213 li tp,0 + 80002d40: 00f0009b addiw ra,zero,15 + 80002d44: 02009093 slli ra,ra,0x20 + 80002d48: 00b0011b addiw sp,zero,11 + 80002d4c: 02011113 slli sp,sp,0x20 + 80002d50: 00000013 nop + 80002d54: 00000013 nop + 80002d58: 0220bf33 mulhu t5,ra,sp + 80002d5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d60: 00200293 li t0,2 + 80002d64: fc521ee3 bne tp,t0,80002d40 <test_16+0x4> + 80002d68: 0a500e93 li t4,165 + 80002d6c: 01000193 li gp,16 + 80002d70: 25df1663 bne t5,t4,80002fbc <fail> + +0000000080002d74 <test_17>: + 80002d74: 00000213 li tp,0 + 80002d78: 00d0009b addiw ra,zero,13 + 80002d7c: 02009093 slli ra,ra,0x20 + 80002d80: 00000013 nop + 80002d84: 00b0011b addiw sp,zero,11 + 80002d88: 02011113 slli sp,sp,0x20 + 80002d8c: 0220bf33 mulhu t5,ra,sp + 80002d90: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d94: 00200293 li t0,2 + 80002d98: fe5210e3 bne tp,t0,80002d78 <test_17+0x4> + 80002d9c: 08f00e93 li t4,143 + 80002da0: 01100193 li gp,17 + 80002da4: 21df1c63 bne t5,t4,80002fbc <fail> + +0000000080002da8 <test_18>: + 80002da8: 00000213 li tp,0 + 80002dac: 0070009b addiw ra,zero,7 + 80002db0: 02109093 slli ra,ra,0x21 + 80002db4: 00000013 nop + 80002db8: 00b0011b addiw sp,zero,11 + 80002dbc: 02011113 slli sp,sp,0x20 + 80002dc0: 00000013 nop + 80002dc4: 0220bf33 mulhu t5,ra,sp + 80002dc8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dcc: 00200293 li t0,2 + 80002dd0: fc521ee3 bne tp,t0,80002dac <test_18+0x4> + 80002dd4: 09a00e93 li t4,154 + 80002dd8: 01200193 li gp,18 + 80002ddc: 1fdf1063 bne t5,t4,80002fbc <fail> + +0000000080002de0 <test_19>: + 80002de0: 00000213 li tp,0 + 80002de4: 00f0009b addiw ra,zero,15 + 80002de8: 02009093 slli ra,ra,0x20 + 80002dec: 00000013 nop + 80002df0: 00000013 nop + 80002df4: 00b0011b addiw sp,zero,11 + 80002df8: 02011113 slli sp,sp,0x20 + 80002dfc: 0220bf33 mulhu t5,ra,sp + 80002e00: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e04: 00200293 li t0,2 + 80002e08: fc521ee3 bne tp,t0,80002de4 <test_19+0x4> + 80002e0c: 0a500e93 li t4,165 + 80002e10: 01300193 li gp,19 + 80002e14: 1bdf1463 bne t5,t4,80002fbc <fail> + +0000000080002e18 <test_20>: + 80002e18: 00000213 li tp,0 + 80002e1c: 00b0011b addiw sp,zero,11 + 80002e20: 02011113 slli sp,sp,0x20 + 80002e24: 00d0009b addiw ra,zero,13 + 80002e28: 02009093 slli ra,ra,0x20 + 80002e2c: 0220bf33 mulhu t5,ra,sp + 80002e30: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e34: 00200293 li t0,2 + 80002e38: fe5212e3 bne tp,t0,80002e1c <test_20+0x4> + 80002e3c: 08f00e93 li t4,143 + 80002e40: 01400193 li gp,20 + 80002e44: 17df1c63 bne t5,t4,80002fbc <fail> + +0000000080002e48 <test_21>: + 80002e48: 00000213 li tp,0 + 80002e4c: 00b0011b addiw sp,zero,11 + 80002e50: 02011113 slli sp,sp,0x20 + 80002e54: 0070009b addiw ra,zero,7 + 80002e58: 02109093 slli ra,ra,0x21 + 80002e5c: 00000013 nop + 80002e60: 0220bf33 mulhu t5,ra,sp + 80002e64: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e68: 00200293 li t0,2 + 80002e6c: fe5210e3 bne tp,t0,80002e4c <test_21+0x4> + 80002e70: 09a00e93 li t4,154 + 80002e74: 01500193 li gp,21 + 80002e78: 15df1263 bne t5,t4,80002fbc <fail> + +0000000080002e7c <test_22>: + 80002e7c: 00000213 li tp,0 + 80002e80: 00b0011b addiw sp,zero,11 + 80002e84: 02011113 slli sp,sp,0x20 + 80002e88: 00f0009b addiw ra,zero,15 + 80002e8c: 02009093 slli ra,ra,0x20 + 80002e90: 00000013 nop + 80002e94: 00000013 nop + 80002e98: 0220bf33 mulhu t5,ra,sp + 80002e9c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ea0: 00200293 li t0,2 + 80002ea4: fc521ee3 bne tp,t0,80002e80 <test_22+0x4> + 80002ea8: 0a500e93 li t4,165 + 80002eac: 01600193 li gp,22 + 80002eb0: 11df1663 bne t5,t4,80002fbc <fail> + +0000000080002eb4 <test_23>: + 80002eb4: 00000213 li tp,0 + 80002eb8: 00b0011b addiw sp,zero,11 + 80002ebc: 02011113 slli sp,sp,0x20 + 80002ec0: 00000013 nop + 80002ec4: 00d0009b addiw ra,zero,13 + 80002ec8: 02009093 slli ra,ra,0x20 + 80002ecc: 0220bf33 mulhu t5,ra,sp + 80002ed0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002ed4: 00200293 li t0,2 + 80002ed8: fe5210e3 bne tp,t0,80002eb8 <test_23+0x4> + 80002edc: 08f00e93 li t4,143 + 80002ee0: 01700193 li gp,23 + 80002ee4: 0ddf1c63 bne t5,t4,80002fbc <fail> + +0000000080002ee8 <test_24>: + 80002ee8: 00000213 li tp,0 + 80002eec: 00b0011b addiw sp,zero,11 + 80002ef0: 02011113 slli sp,sp,0x20 + 80002ef4: 00000013 nop + 80002ef8: 0070009b addiw ra,zero,7 + 80002efc: 02109093 slli ra,ra,0x21 + 80002f00: 00000013 nop + 80002f04: 0220bf33 mulhu t5,ra,sp + 80002f08: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f0c: 00200293 li t0,2 + 80002f10: fc521ee3 bne tp,t0,80002eec <test_24+0x4> + 80002f14: 09a00e93 li t4,154 + 80002f18: 01800193 li gp,24 + 80002f1c: 0bdf1063 bne t5,t4,80002fbc <fail> + +0000000080002f20 <test_25>: + 80002f20: 00000213 li tp,0 + 80002f24: 00b0011b addiw sp,zero,11 + 80002f28: 02011113 slli sp,sp,0x20 + 80002f2c: 00000013 nop + 80002f30: 00000013 nop + 80002f34: 00f0009b addiw ra,zero,15 + 80002f38: 02009093 slli ra,ra,0x20 + 80002f3c: 0220bf33 mulhu t5,ra,sp + 80002f40: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002f44: 00200293 li t0,2 + 80002f48: fc521ee3 bne tp,t0,80002f24 <test_25+0x4> + 80002f4c: 0a500e93 li t4,165 + 80002f50: 01900193 li gp,25 + 80002f54: 07df1463 bne t5,t4,80002fbc <fail> + +0000000080002f58 <test_26>: + 80002f58: 01f0009b addiw ra,zero,31 + 80002f5c: 02009093 slli ra,ra,0x20 + 80002f60: 02103133 mulhu sp,zero,ra + 80002f64: 00000e93 li t4,0 + 80002f68: 01a00193 li gp,26 + 80002f6c: 05d11863 bne sp,t4,80002fbc <fail> + +0000000080002f70 <test_27>: + 80002f70: 0010009b addiw ra,zero,1 + 80002f74: 02509093 slli ra,ra,0x25 + 80002f78: 0200b133 mulhu sp,ra,zero + 80002f7c: 00000e93 li t4,0 + 80002f80: 01b00193 li gp,27 + 80002f84: 03d11c63 bne sp,t4,80002fbc <fail> + +0000000080002f88 <test_28>: + 80002f88: 020030b3 mulhu ra,zero,zero + 80002f8c: 00000e93 li t4,0 + 80002f90: 01c00193 li gp,28 + 80002f94: 03d09463 bne ra,t4,80002fbc <fail> + +0000000080002f98 <test_29>: + 80002f98: 0210009b addiw ra,zero,33 + 80002f9c: 02009093 slli ra,ra,0x20 + 80002fa0: 0110011b addiw sp,zero,17 + 80002fa4: 02111113 slli sp,sp,0x21 + 80002fa8: 0220b033 mulhu zero,ra,sp + 80002fac: 00000e93 li t4,0 + 80002fb0: 01d00193 li gp,29 + 80002fb4: 01d01463 bne zero,t4,80002fbc <fail> + 80002fb8: 00301a63 bne zero,gp,80002fcc <pass> + +0000000080002fbc <fail>: + 80002fbc: 00119513 slli a0,gp,0x1 + 80002fc0: 00050063 beqz a0,80002fc0 <fail+0x4> + 80002fc4: 00156513 ori a0,a0,1 + 80002fc8: 00000073 ecall + +0000000080002fcc <pass>: + 80002fcc: 00100513 li a0,1 + 80002fd0: 00000073 ecall + 80002fd4: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-mulhu.elf b/test/riscv/tests/rv64um-v-mulhu.elf Binary files differnew file mode 100644 index 00000000..62759c83 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulhu.elf diff --git a/test/riscv/tests/rv64um-v-mulw.dump b/test/riscv/tests/rv64um-v-mulw.dump new file mode 100644 index 00000000..0d3598ff --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulw.dump @@ -0,0 +1,1140 @@ + +rv64um-v-mulw: 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,sbadaddr + 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 <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: 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: a6868693 addi a3,a3,-1432 # 80002ec0 <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: a9c60613 addi a2,a2,-1380 # 80002f50 <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: a6460613 addi a2,a2,-1436 # 80002f68 <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: 9b468693 addi a3,a3,-1612 # 80002f08 <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: 9d068693 addi a3,a3,-1584 # 80003040 <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: 95060613 addi a2,a2,-1712 # 80003018 <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 <begin_signature> + 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: 00001697 auipc a3,0x1 + 800027f0: 88468693 addi a3,a3,-1916 # 80003070 <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: 7a468693 addi a3,a3,1956 # 80002fe0 <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: 73468693 addi a3,a3,1844 # 80002fa8 <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 <begin_signature+0x1000> + 800028e4: 00003717 auipc a4,0x3 + 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <begin_signature+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 <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: 00001897 auipc a7,0x1 + 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <begin_signature> + 80002918: 00a79793 slli a5,a5,0xa + 8000291c: 00002697 auipc a3,0x2 + 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <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: 00001617 auipc a2,0x1 + 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <begin_signature> + 8000293c: ed010113 addi sp,sp,-304 + 80002940: 03f59813 slli a6,a1,0x3f + 80002944: 00004697 auipc a3,0x4 + 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <begin_signature+0x2ff8> + 8000294c: 00002717 auipc a4,0x2 + 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <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: 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: 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: 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: 0e99b7b7 lui a5,0xe99b + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 1b978793 addi a5,a5,441 # e99b1b9 <_start-0x71664e47> + 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: 00000093 li ra,0 + 80002acc: 00000113 li sp,0 + 80002ad0: 02208f3b mulw t5,ra,sp + 80002ad4: 00000e93 li t4,0 + 80002ad8: 00200193 li gp,2 + 80002adc: 3ddf1263 bne t5,t4,80002ea0 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: 00100093 li ra,1 + 80002ae4: 00100113 li sp,1 + 80002ae8: 02208f3b mulw t5,ra,sp + 80002aec: 00100e93 li t4,1 + 80002af0: 00300193 li gp,3 + 80002af4: 3bdf1663 bne t5,t4,80002ea0 <fail> + +0000000080002af8 <test_4>: + 80002af8: 00300093 li ra,3 + 80002afc: 00700113 li sp,7 + 80002b00: 02208f3b mulw t5,ra,sp + 80002b04: 01500e93 li t4,21 + 80002b08: 00400193 li gp,4 + 80002b0c: 39df1a63 bne t5,t4,80002ea0 <fail> + +0000000080002b10 <test_5>: + 80002b10: 00000093 li ra,0 + 80002b14: ffff8137 lui sp,0xffff8 + 80002b18: 02208f3b mulw t5,ra,sp + 80002b1c: 00000e93 li t4,0 + 80002b20: 00500193 li gp,5 + 80002b24: 37df1e63 bne t5,t4,80002ea0 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00000113 li sp,0 + 80002b30: 02208f3b mulw t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 37df1263 bne t5,t4,80002ea0 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: ffff8137 lui sp,0xffff8 + 80002b48: 02208f3b mulw t5,ra,sp + 80002b4c: 00000e93 li t4,0 + 80002b50: 00700193 li gp,7 + 80002b54: 35df1663 bne t5,t4,80002ea0 <fail> + +0000000080002b58 <test_8>: + 80002b58: 00d00093 li ra,13 + 80002b5c: 00b00113 li sp,11 + 80002b60: 022080bb mulw ra,ra,sp + 80002b64: 08f00e93 li t4,143 + 80002b68: 00800193 li gp,8 + 80002b6c: 33d09a63 bne ra,t4,80002ea0 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00e00093 li ra,14 + 80002b74: 00b00113 li sp,11 + 80002b78: 0220813b mulw sp,ra,sp + 80002b7c: 09a00e93 li t4,154 + 80002b80: 00900193 li gp,9 + 80002b84: 31d11e63 bne sp,t4,80002ea0 <fail> + +0000000080002b88 <test_10>: + 80002b88: 00d00093 li ra,13 + 80002b8c: 021080bb mulw ra,ra,ra + 80002b90: 0a900e93 li t4,169 + 80002b94: 00a00193 li gp,10 + 80002b98: 31d09463 bne ra,t4,80002ea0 <fail> + +0000000080002b9c <test_11>: + 80002b9c: 00000213 li tp,0 + 80002ba0: 00d00093 li ra,13 + 80002ba4: 00b00113 li sp,11 + 80002ba8: 02208f3b mulw t5,ra,sp + 80002bac: 000f0313 mv t1,t5 + 80002bb0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002bb4: 00200293 li t0,2 + 80002bb8: fe5214e3 bne tp,t0,80002ba0 <test_11+0x4> + 80002bbc: 08f00e93 li t4,143 + 80002bc0: 00b00193 li gp,11 + 80002bc4: 2dd31e63 bne t1,t4,80002ea0 <fail> + +0000000080002bc8 <test_12>: + 80002bc8: 00000213 li tp,0 + 80002bcc: 00e00093 li ra,14 + 80002bd0: 00b00113 li sp,11 + 80002bd4: 02208f3b mulw t5,ra,sp + 80002bd8: 00000013 nop + 80002bdc: 000f0313 mv t1,t5 + 80002be0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002be4: 00200293 li t0,2 + 80002be8: fe5212e3 bne tp,t0,80002bcc <test_12+0x4> + 80002bec: 09a00e93 li t4,154 + 80002bf0: 00c00193 li gp,12 + 80002bf4: 2bd31663 bne t1,t4,80002ea0 <fail> + +0000000080002bf8 <test_13>: + 80002bf8: 00000213 li tp,0 + 80002bfc: 00f00093 li ra,15 + 80002c00: 00b00113 li sp,11 + 80002c04: 02208f3b mulw t5,ra,sp + 80002c08: 00000013 nop + 80002c0c: 00000013 nop + 80002c10: 000f0313 mv t1,t5 + 80002c14: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c18: 00200293 li t0,2 + 80002c1c: fe5210e3 bne tp,t0,80002bfc <test_13+0x4> + 80002c20: 0a500e93 li t4,165 + 80002c24: 00d00193 li gp,13 + 80002c28: 27d31c63 bne t1,t4,80002ea0 <fail> + +0000000080002c2c <test_14>: + 80002c2c: 00000213 li tp,0 + 80002c30: 00d00093 li ra,13 + 80002c34: 00b00113 li sp,11 + 80002c38: 02208f3b mulw t5,ra,sp + 80002c3c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c40: 00200293 li t0,2 + 80002c44: fe5216e3 bne tp,t0,80002c30 <test_14+0x4> + 80002c48: 08f00e93 li t4,143 + 80002c4c: 00e00193 li gp,14 + 80002c50: 25df1863 bne t5,t4,80002ea0 <fail> + +0000000080002c54 <test_15>: + 80002c54: 00000213 li tp,0 + 80002c58: 00e00093 li ra,14 + 80002c5c: 00b00113 li sp,11 + 80002c60: 00000013 nop + 80002c64: 02208f3b mulw t5,ra,sp + 80002c68: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c6c: 00200293 li t0,2 + 80002c70: fe5214e3 bne tp,t0,80002c58 <test_15+0x4> + 80002c74: 09a00e93 li t4,154 + 80002c78: 00f00193 li gp,15 + 80002c7c: 23df1263 bne t5,t4,80002ea0 <fail> + +0000000080002c80 <test_16>: + 80002c80: 00000213 li tp,0 + 80002c84: 00f00093 li ra,15 + 80002c88: 00b00113 li sp,11 + 80002c8c: 00000013 nop + 80002c90: 00000013 nop + 80002c94: 02208f3b mulw t5,ra,sp + 80002c98: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002c9c: 00200293 li t0,2 + 80002ca0: fe5212e3 bne tp,t0,80002c84 <test_16+0x4> + 80002ca4: 0a500e93 li t4,165 + 80002ca8: 01000193 li gp,16 + 80002cac: 1fdf1a63 bne t5,t4,80002ea0 <fail> + +0000000080002cb0 <test_17>: + 80002cb0: 00000213 li tp,0 + 80002cb4: 00d00093 li ra,13 + 80002cb8: 00000013 nop + 80002cbc: 00b00113 li sp,11 + 80002cc0: 02208f3b mulw t5,ra,sp + 80002cc4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cc8: 00200293 li t0,2 + 80002ccc: fe5214e3 bne tp,t0,80002cb4 <test_17+0x4> + 80002cd0: 08f00e93 li t4,143 + 80002cd4: 01100193 li gp,17 + 80002cd8: 1ddf1463 bne t5,t4,80002ea0 <fail> + +0000000080002cdc <test_18>: + 80002cdc: 00000213 li tp,0 + 80002ce0: 00e00093 li ra,14 + 80002ce4: 00000013 nop + 80002ce8: 00b00113 li sp,11 + 80002cec: 00000013 nop + 80002cf0: 02208f3b mulw t5,ra,sp + 80002cf4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002cf8: 00200293 li t0,2 + 80002cfc: fe5212e3 bne tp,t0,80002ce0 <test_18+0x4> + 80002d00: 09a00e93 li t4,154 + 80002d04: 01200193 li gp,18 + 80002d08: 19df1c63 bne t5,t4,80002ea0 <fail> + +0000000080002d0c <test_19>: + 80002d0c: 00000213 li tp,0 + 80002d10: 00f00093 li ra,15 + 80002d14: 00000013 nop + 80002d18: 00000013 nop + 80002d1c: 00b00113 li sp,11 + 80002d20: 02208f3b mulw t5,ra,sp + 80002d24: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d28: 00200293 li t0,2 + 80002d2c: fe5212e3 bne tp,t0,80002d10 <test_19+0x4> + 80002d30: 0a500e93 li t4,165 + 80002d34: 01300193 li gp,19 + 80002d38: 17df1463 bne t5,t4,80002ea0 <fail> + +0000000080002d3c <test_20>: + 80002d3c: 00000213 li tp,0 + 80002d40: 00b00113 li sp,11 + 80002d44: 00d00093 li ra,13 + 80002d48: 02208f3b mulw t5,ra,sp + 80002d4c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d50: 00200293 li t0,2 + 80002d54: fe5216e3 bne tp,t0,80002d40 <test_20+0x4> + 80002d58: 08f00e93 li t4,143 + 80002d5c: 01400193 li gp,20 + 80002d60: 15df1063 bne t5,t4,80002ea0 <fail> + +0000000080002d64 <test_21>: + 80002d64: 00000213 li tp,0 + 80002d68: 00b00113 li sp,11 + 80002d6c: 00e00093 li ra,14 + 80002d70: 00000013 nop + 80002d74: 02208f3b mulw t5,ra,sp + 80002d78: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002d7c: 00200293 li t0,2 + 80002d80: fe5214e3 bne tp,t0,80002d68 <test_21+0x4> + 80002d84: 09a00e93 li t4,154 + 80002d88: 01500193 li gp,21 + 80002d8c: 11df1a63 bne t5,t4,80002ea0 <fail> + +0000000080002d90 <test_22>: + 80002d90: 00000213 li tp,0 + 80002d94: 00b00113 li sp,11 + 80002d98: 00f00093 li ra,15 + 80002d9c: 00000013 nop + 80002da0: 00000013 nop + 80002da4: 02208f3b mulw t5,ra,sp + 80002da8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dac: 00200293 li t0,2 + 80002db0: fe5212e3 bne tp,t0,80002d94 <test_22+0x4> + 80002db4: 0a500e93 li t4,165 + 80002db8: 01600193 li gp,22 + 80002dbc: 0fdf1263 bne t5,t4,80002ea0 <fail> + +0000000080002dc0 <test_23>: + 80002dc0: 00000213 li tp,0 + 80002dc4: 00b00113 li sp,11 + 80002dc8: 00000013 nop + 80002dcc: 00d00093 li ra,13 + 80002dd0: 02208f3b mulw t5,ra,sp + 80002dd4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002dd8: 00200293 li t0,2 + 80002ddc: fe5214e3 bne tp,t0,80002dc4 <test_23+0x4> + 80002de0: 08f00e93 li t4,143 + 80002de4: 01700193 li gp,23 + 80002de8: 0bdf1c63 bne t5,t4,80002ea0 <fail> + +0000000080002dec <test_24>: + 80002dec: 00000213 li tp,0 + 80002df0: 00b00113 li sp,11 + 80002df4: 00000013 nop + 80002df8: 00e00093 li ra,14 + 80002dfc: 00000013 nop + 80002e00: 02208f3b mulw t5,ra,sp + 80002e04: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e08: 00200293 li t0,2 + 80002e0c: fe5212e3 bne tp,t0,80002df0 <test_24+0x4> + 80002e10: 09a00e93 li t4,154 + 80002e14: 01800193 li gp,24 + 80002e18: 09df1463 bne t5,t4,80002ea0 <fail> + +0000000080002e1c <test_25>: + 80002e1c: 00000213 li tp,0 + 80002e20: 00b00113 li sp,11 + 80002e24: 00000013 nop + 80002e28: 00000013 nop + 80002e2c: 00f00093 li ra,15 + 80002e30: 02208f3b mulw t5,ra,sp + 80002e34: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80002e38: 00200293 li t0,2 + 80002e3c: fe5212e3 bne tp,t0,80002e20 <test_25+0x4> + 80002e40: 0a500e93 li t4,165 + 80002e44: 01900193 li gp,25 + 80002e48: 05df1c63 bne t5,t4,80002ea0 <fail> + +0000000080002e4c <test_26>: + 80002e4c: 01f00093 li ra,31 + 80002e50: 0210013b mulw sp,zero,ra + 80002e54: 00000e93 li t4,0 + 80002e58: 01a00193 li gp,26 + 80002e5c: 05d11263 bne sp,t4,80002ea0 <fail> + +0000000080002e60 <test_27>: + 80002e60: 02000093 li ra,32 + 80002e64: 0200813b mulw sp,ra,zero + 80002e68: 00000e93 li t4,0 + 80002e6c: 01b00193 li gp,27 + 80002e70: 03d11863 bne sp,t4,80002ea0 <fail> + +0000000080002e74 <test_28>: + 80002e74: 020000bb mulw ra,zero,zero + 80002e78: 00000e93 li t4,0 + 80002e7c: 01c00193 li gp,28 + 80002e80: 03d09063 bne ra,t4,80002ea0 <fail> + +0000000080002e84 <test_29>: + 80002e84: 02100093 li ra,33 + 80002e88: 02200113 li sp,34 + 80002e8c: 0220803b mulw zero,ra,sp + 80002e90: 00000e93 li t4,0 + 80002e94: 01d00193 li gp,29 + 80002e98: 01d01463 bne zero,t4,80002ea0 <fail> + 80002e9c: 00301a63 bne zero,gp,80002eb0 <pass> + +0000000080002ea0 <fail>: + 80002ea0: 00119513 slli a0,gp,0x1 + 80002ea4: 00050063 beqz a0,80002ea4 <fail+0x4> + 80002ea8: 00156513 ori a0,a0,1 + 80002eac: 00000073 ecall + +0000000080002eb0 <pass>: + 80002eb0: 00100513 li a0,1 + 80002eb4: 00000073 ecall + 80002eb8: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-mulw.elf b/test/riscv/tests/rv64um-v-mulw.elf Binary files differnew file mode 100644 index 00000000..bfc28b25 --- /dev/null +++ b/test/riscv/tests/rv64um-v-mulw.elf diff --git a/test/riscv/tests/rv64um-v-rem.dump b/test/riscv/tests/rv64um-v-rem.dump new file mode 100644 index 00000000..8c29a0c4 --- /dev/null +++ b/test/riscv/tests/rv64um-v-rem.dump @@ -0,0 +1,915 @@ + +rv64um-v-rem: 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,sbadaddr + 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: 77868693 addi a3,a3,1912 # 80002bd0 <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: 7ac60613 addi a2,a2,1964 # 80002c60 <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: 77460613 addi a2,a2,1908 # 80002c78 <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: 6c468693 addi a3,a3,1732 # 80002c18 <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: 6e068693 addi a3,a3,1760 # 80002d50 <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: 66060613 addi a2,a2,1632 # 80002d28 <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: 59468693 addi a3,a3,1428 # 80002d80 <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: 4b468693 addi a3,a3,1204 # 80002cf0 <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: 44468693 addi a3,a3,1092 # 80002cb8 <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: 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: 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: 03a277b7 lui a5,0x3a27 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: ea378793 addi a5,a5,-349 # 3a26ea3 <_start-0x7c5d915d> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220ef33 rem t5,ra,sp + 80002ad4: 00200e93 li t4,2 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1c63 bne t5,t4,80002bb4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220ef33 rem t5,ra,sp + 80002aec: ffe00e93 li t4,-2 + 80002af0: 00300193 li gp,3 + 80002af4: 0ddf1063 bne t5,t4,80002bb4 <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220ef33 rem t5,ra,sp + 80002b04: 00200e93 li t4,2 + 80002b08: 00400193 li gp,4 + 80002b0c: 0bdf1463 bne t5,t4,80002bb4 <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220ef33 rem t5,ra,sp + 80002b1c: ffe00e93 li t4,-2 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1863 bne t5,t4,80002bb4 <fail> + +0000000080002b28 <test_6>: + 80002b28: fff0009b addiw ra,zero,-1 + 80002b2c: 03f09093 slli ra,ra,0x3f + 80002b30: 00100113 li sp,1 + 80002b34: 0220ef33 rem t5,ra,sp + 80002b38: 00000e93 li t4,0 + 80002b3c: 00600193 li gp,6 + 80002b40: 07df1a63 bne t5,t4,80002bb4 <fail> + +0000000080002b44 <test_7>: + 80002b44: fff0009b addiw ra,zero,-1 + 80002b48: 03f09093 slli ra,ra,0x3f + 80002b4c: fff00113 li sp,-1 + 80002b50: 0220ef33 rem t5,ra,sp + 80002b54: 00000e93 li t4,0 + 80002b58: 00700193 li gp,7 + 80002b5c: 05df1c63 bne t5,t4,80002bb4 <fail> + +0000000080002b60 <test_8>: + 80002b60: fff0009b addiw ra,zero,-1 + 80002b64: 03f09093 slli ra,ra,0x3f + 80002b68: 00000113 li sp,0 + 80002b6c: 0220ef33 rem t5,ra,sp + 80002b70: fff00e9b addiw t4,zero,-1 + 80002b74: 03fe9e93 slli t4,t4,0x3f + 80002b78: 00800193 li gp,8 + 80002b7c: 03df1c63 bne t5,t4,80002bb4 <fail> + +0000000080002b80 <test_9>: + 80002b80: 00100093 li ra,1 + 80002b84: 00000113 li sp,0 + 80002b88: 0220ef33 rem t5,ra,sp + 80002b8c: 00100e93 li t4,1 + 80002b90: 00900193 li gp,9 + 80002b94: 03df1063 bne t5,t4,80002bb4 <fail> + +0000000080002b98 <test_10>: + 80002b98: 00000093 li ra,0 + 80002b9c: 00000113 li sp,0 + 80002ba0: 0220ef33 rem t5,ra,sp + 80002ba4: 00000e93 li t4,0 + 80002ba8: 00a00193 li gp,10 + 80002bac: 01df1463 bne t5,t4,80002bb4 <fail> + 80002bb0: 00301a63 bne zero,gp,80002bc4 <pass> + +0000000080002bb4 <fail>: + 80002bb4: 00119513 slli a0,gp,0x1 + 80002bb8: 00050063 beqz a0,80002bb8 <fail+0x4> + 80002bbc: 00156513 ori a0,a0,1 + 80002bc0: 00000073 ecall + +0000000080002bc4 <pass>: + 80002bc4: 00100513 li a0,1 + 80002bc8: 00000073 ecall + 80002bcc: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-rem.elf b/test/riscv/tests/rv64um-v-rem.elf Binary files differnew file mode 100644 index 00000000..9caa3b3b --- /dev/null +++ b/test/riscv/tests/rv64um-v-rem.elf diff --git a/test/riscv/tests/rv64um-v-remu.dump b/test/riscv/tests/rv64um-v-remu.dump new file mode 100644 index 00000000..01d50acb --- /dev/null +++ b/test/riscv/tests/rv64um-v-remu.dump @@ -0,0 +1,916 @@ + +rv64um-v-remu: 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,sbadaddr + 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: 78068693 addi a3,a3,1920 # 80002bd8 <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: 7b460613 addi a2,a2,1972 # 80002c68 <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: 77c60613 addi a2,a2,1916 # 80002c80 <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: 6cc68693 addi a3,a3,1740 # 80002c20 <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: 6e868693 addi a3,a3,1768 # 80002d58 <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: 66860613 addi a2,a2,1640 # 80002d30 <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: 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: 59c68693 addi a3,a3,1436 # 80002d88 <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: 4bc68693 addi a3,a3,1212 # 80002cf8 <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: 44c68693 addi a3,a3,1100 # 80002cc0 <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: 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: 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: 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: 05d337b7 lui a5,0x5d33 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 2c578793 addi a5,a5,709 # 5d332c5 <_start-0x7a2ccd3b> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220ff33 remu t5,ra,sp + 80002ad4: 00200e93 li t4,2 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1e63 bne t5,t4,80002bb8 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220ff33 remu t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 0ddf1263 bne t5,t4,80002bb8 <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220ff33 remu t5,ra,sp + 80002b04: 01400e93 li t4,20 + 80002b08: 00400193 li gp,4 + 80002b0c: 0bdf1663 bne t5,t4,80002bb8 <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220ff33 remu t5,ra,sp + 80002b1c: fec00e93 li t4,-20 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1a63 bne t5,t4,80002bb8 <fail> + +0000000080002b28 <test_6>: + 80002b28: fff0009b addiw ra,zero,-1 + 80002b2c: 03f09093 slli ra,ra,0x3f + 80002b30: 00100113 li sp,1 + 80002b34: 0220ff33 remu t5,ra,sp + 80002b38: 00000e93 li t4,0 + 80002b3c: 00600193 li gp,6 + 80002b40: 07df1c63 bne t5,t4,80002bb8 <fail> + +0000000080002b44 <test_7>: + 80002b44: fff0009b addiw ra,zero,-1 + 80002b48: 03f09093 slli ra,ra,0x3f + 80002b4c: fff00113 li sp,-1 + 80002b50: 0220ff33 remu t5,ra,sp + 80002b54: fff00e9b addiw t4,zero,-1 + 80002b58: 03fe9e93 slli t4,t4,0x3f + 80002b5c: 00700193 li gp,7 + 80002b60: 05df1c63 bne t5,t4,80002bb8 <fail> + +0000000080002b64 <test_8>: + 80002b64: fff0009b addiw ra,zero,-1 + 80002b68: 03f09093 slli ra,ra,0x3f + 80002b6c: 00000113 li sp,0 + 80002b70: 0220ff33 remu t5,ra,sp + 80002b74: fff00e9b addiw t4,zero,-1 + 80002b78: 03fe9e93 slli t4,t4,0x3f + 80002b7c: 00800193 li gp,8 + 80002b80: 03df1c63 bne t5,t4,80002bb8 <fail> + +0000000080002b84 <test_9>: + 80002b84: 00100093 li ra,1 + 80002b88: 00000113 li sp,0 + 80002b8c: 0220ff33 remu t5,ra,sp + 80002b90: 00100e93 li t4,1 + 80002b94: 00900193 li gp,9 + 80002b98: 03df1063 bne t5,t4,80002bb8 <fail> + +0000000080002b9c <test_10>: + 80002b9c: 00000093 li ra,0 + 80002ba0: 00000113 li sp,0 + 80002ba4: 0220ff33 remu t5,ra,sp + 80002ba8: 00000e93 li t4,0 + 80002bac: 00a00193 li gp,10 + 80002bb0: 01df1463 bne t5,t4,80002bb8 <fail> + 80002bb4: 00301a63 bne zero,gp,80002bc8 <pass> + +0000000080002bb8 <fail>: + 80002bb8: 00119513 slli a0,gp,0x1 + 80002bbc: 00050063 beqz a0,80002bbc <fail+0x4> + 80002bc0: 00156513 ori a0,a0,1 + 80002bc4: 00000073 ecall + +0000000080002bc8 <pass>: + 80002bc8: 00100513 li a0,1 + 80002bcc: 00000073 ecall + 80002bd0: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-remu.elf b/test/riscv/tests/rv64um-v-remu.elf Binary files differnew file mode 100644 index 00000000..26ead9d0 --- /dev/null +++ b/test/riscv/tests/rv64um-v-remu.elf diff --git a/test/riscv/tests/rv64um-v-remuw.dump b/test/riscv/tests/rv64um-v-remuw.dump new file mode 100644 index 00000000..f0688a43 --- /dev/null +++ b/test/riscv/tests/rv64um-v-remuw.dump @@ -0,0 +1,911 @@ + +rv64um-v-remuw: 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,sbadaddr + 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: 76868693 addi a3,a3,1896 # 80002bc0 <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: 79c60613 addi a2,a2,1948 # 80002c50 <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: 76460613 addi a2,a2,1892 # 80002c68 <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: 6b468693 addi a3,a3,1716 # 80002c08 <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: 6d068693 addi a3,a3,1744 # 80002d40 <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: 65060613 addi a2,a2,1616 # 80002d18 <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: 58468693 addi a3,a3,1412 # 80002d70 <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: 4a468693 addi a3,a3,1188 # 80002ce0 <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: 43468693 addi a3,a3,1076 # 80002ca8 <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: 01700793 li a5,23 + 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: 01bd87b7 lui a5,0x1bd8 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 7ed78793 addi a5,a5,2029 # 1bd87ed <_start-0x7e427813> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220ff3b remuw t5,ra,sp + 80002ad4: 00200e93 li t4,2 + 80002ad8: 00200193 li gp,2 + 80002adc: 0ddf1463 bne t5,t4,80002ba4 <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220ff3b remuw t5,ra,sp + 80002aec: 00200e93 li t4,2 + 80002af0: 00300193 li gp,3 + 80002af4: 0bdf1863 bne t5,t4,80002ba4 <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220ff3b remuw t5,ra,sp + 80002b04: 01400e93 li t4,20 + 80002b08: 00400193 li gp,4 + 80002b0c: 09df1c63 bne t5,t4,80002ba4 <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220ff3b remuw t5,ra,sp + 80002b1c: fec00e93 li t4,-20 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1063 bne t5,t4,80002ba4 <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00100113 li sp,1 + 80002b30: 0220ff3b remuw t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 07df1463 bne t5,t4,80002ba4 <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: fff00113 li sp,-1 + 80002b48: 0220ff3b remuw t5,ra,sp + 80002b4c: 80000eb7 lui t4,0x80000 + 80002b50: 00700193 li gp,7 + 80002b54: 05df1863 bne t5,t4,80002ba4 <fail> + +0000000080002b58 <test_8>: + 80002b58: 800000b7 lui ra,0x80000 + 80002b5c: 00000113 li sp,0 + 80002b60: 0220ff3b remuw t5,ra,sp + 80002b64: 80000eb7 lui t4,0x80000 + 80002b68: 00800193 li gp,8 + 80002b6c: 03df1c63 bne t5,t4,80002ba4 <fail> + +0000000080002b70 <test_9>: + 80002b70: 00100093 li ra,1 + 80002b74: 00000113 li sp,0 + 80002b78: 0220ff3b remuw t5,ra,sp + 80002b7c: 00100e93 li t4,1 + 80002b80: 00900193 li gp,9 + 80002b84: 03df1063 bne t5,t4,80002ba4 <fail> + +0000000080002b88 <test_10>: + 80002b88: 00000093 li ra,0 + 80002b8c: 00000113 li sp,0 + 80002b90: 0220ff3b remuw t5,ra,sp + 80002b94: 00000e93 li t4,0 + 80002b98: 00a00193 li gp,10 + 80002b9c: 01df1463 bne t5,t4,80002ba4 <fail> + 80002ba0: 00301a63 bne zero,gp,80002bb4 <pass> + +0000000080002ba4 <fail>: + 80002ba4: 00119513 slli a0,gp,0x1 + 80002ba8: 00050063 beqz a0,80002ba8 <fail+0x4> + 80002bac: 00156513 ori a0,a0,1 + 80002bb0: 00000073 ecall + +0000000080002bb4 <pass>: + 80002bb4: 00100513 li a0,1 + 80002bb8: 00000073 ecall + 80002bbc: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-remuw.elf b/test/riscv/tests/rv64um-v-remuw.elf Binary files differnew file mode 100644 index 00000000..795ae59c --- /dev/null +++ b/test/riscv/tests/rv64um-v-remuw.elf diff --git a/test/riscv/tests/rv64um-v-remw.dump b/test/riscv/tests/rv64um-v-remw.dump new file mode 100644 index 00000000..659d882e --- /dev/null +++ b/test/riscv/tests/rv64um-v-remw.dump @@ -0,0 +1,919 @@ + +rv64um-v-remw: 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,sbadaddr + 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: 78068693 addi a3,a3,1920 # 80002bd8 <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: 7b460613 addi a2,a2,1972 # 80002c68 <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: 77c60613 addi a2,a2,1916 # 80002c80 <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: 6cc68693 addi a3,a3,1740 # 80002c20 <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: 6e868693 addi a3,a3,1768 # 80002d58 <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: 66860613 addi a2,a2,1640 # 80002d30 <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: 59c68693 addi a3,a3,1436 # 80002d88 <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: 4bc68693 addi a3,a3,1212 # 80002cf8 <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: 44c68693 addi a3,a3,1100 # 80002cc0 <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: 03d00793 li a5,61 + 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: 0ffa37b7 lui a5,0xffa3 + 80002a70: 000805b7 lui a1,0x80 + 80002a74: 57578793 addi a5,a5,1397 # ffa3575 <_start-0x7005ca8b> + 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: 01400093 li ra,20 + 80002acc: 00600113 li sp,6 + 80002ad0: 0220ef3b remw t5,ra,sp + 80002ad4: 00200e93 li t4,2 + 80002ad8: 00200193 li gp,2 + 80002adc: 0fdf1063 bne t5,t4,80002bbc <fail> + +0000000080002ae0 <test_3>: + 80002ae0: fec00093 li ra,-20 + 80002ae4: 00600113 li sp,6 + 80002ae8: 0220ef3b remw t5,ra,sp + 80002aec: ffe00e93 li t4,-2 + 80002af0: 00300193 li gp,3 + 80002af4: 0ddf1463 bne t5,t4,80002bbc <fail> + +0000000080002af8 <test_4>: + 80002af8: 01400093 li ra,20 + 80002afc: ffa00113 li sp,-6 + 80002b00: 0220ef3b remw t5,ra,sp + 80002b04: 00200e93 li t4,2 + 80002b08: 00400193 li gp,4 + 80002b0c: 0bdf1863 bne t5,t4,80002bbc <fail> + +0000000080002b10 <test_5>: + 80002b10: fec00093 li ra,-20 + 80002b14: ffa00113 li sp,-6 + 80002b18: 0220ef3b remw t5,ra,sp + 80002b1c: ffe00e93 li t4,-2 + 80002b20: 00500193 li gp,5 + 80002b24: 09df1c63 bne t5,t4,80002bbc <fail> + +0000000080002b28 <test_6>: + 80002b28: 800000b7 lui ra,0x80000 + 80002b2c: 00100113 li sp,1 + 80002b30: 0220ef3b remw t5,ra,sp + 80002b34: 00000e93 li t4,0 + 80002b38: 00600193 li gp,6 + 80002b3c: 09df1063 bne t5,t4,80002bbc <fail> + +0000000080002b40 <test_7>: + 80002b40: 800000b7 lui ra,0x80000 + 80002b44: fff00113 li sp,-1 + 80002b48: 0220ef3b remw t5,ra,sp + 80002b4c: 00000e93 li t4,0 + 80002b50: 00700193 li gp,7 + 80002b54: 07df1463 bne t5,t4,80002bbc <fail> + +0000000080002b58 <test_8>: + 80002b58: 800000b7 lui ra,0x80000 + 80002b5c: 00000113 li sp,0 + 80002b60: 0220ef3b remw t5,ra,sp + 80002b64: 80000eb7 lui t4,0x80000 + 80002b68: 00800193 li gp,8 + 80002b6c: 05df1863 bne t5,t4,80002bbc <fail> + +0000000080002b70 <test_9>: + 80002b70: 00100093 li ra,1 + 80002b74: 00000113 li sp,0 + 80002b78: 0220ef3b remw t5,ra,sp + 80002b7c: 00100e93 li t4,1 + 80002b80: 00900193 li gp,9 + 80002b84: 03df1c63 bne t5,t4,80002bbc <fail> + +0000000080002b88 <test_10>: + 80002b88: 00000093 li ra,0 + 80002b8c: 00000113 li sp,0 + 80002b90: 0220ef3b remw t5,ra,sp + 80002b94: 00000e93 li t4,0 + 80002b98: 00a00193 li gp,10 + 80002b9c: 03df1063 bne t5,t4,80002bbc <fail> + +0000000080002ba0 <test_11>: + 80002ba0: 89700093 li ra,-1897 + 80002ba4: 00000113 li sp,0 + 80002ba8: 0220ef3b remw t5,ra,sp + 80002bac: 89700e93 li t4,-1897 + 80002bb0: 00b00193 li gp,11 + 80002bb4: 01df1463 bne t5,t4,80002bbc <fail> + 80002bb8: 00301a63 bne zero,gp,80002bcc <pass> + +0000000080002bbc <fail>: + 80002bbc: 00119513 slli a0,gp,0x1 + 80002bc0: 00050063 beqz a0,80002bc0 <fail+0x4> + 80002bc4: 00156513 ori a0,a0,1 + 80002bc8: 00000073 ecall + +0000000080002bcc <pass>: + 80002bcc: 00100513 li a0,1 + 80002bd0: 00000073 ecall + 80002bd4: c0001073 unimp diff --git a/test/riscv/tests/rv64um-v-remw.elf b/test/riscv/tests/rv64um-v-remw.elf Binary files differnew file mode 100644 index 00000000..74715363 --- /dev/null +++ b/test/riscv/tests/rv64um-v-remw.elf |
