/////////////////////////////////////////// // ../../../imperas-riscv-tests/riscv-test-suite/rv64p/src/WALLY-MHARTID.S // dottolia@hmc.edu // Created 2021-06-15 11:27:52.358935// // Copyright (C) 2021 Harvey Mudd College & Oklahoma State University // Adapted from Imperas RISCV-TEST_SUITE // // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation // files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, // modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software // is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS // BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT // OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. /////////////////////////////////////////// #include "model_test.h" #include "arch_test.h" RVTEST_ISA("RV64I") .section .text.init .globl rvtest_entry_point rvtest_entry_point: RVMODEL_BOOT # --------------------------------------------------------------------------------------------- # address for test results la x6, wally_signature # Testcase 0 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest0 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest0: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(0) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend0: csrrw x0, mtvec, x31 sd x25, 0(x6) sd x15, 8(x6) # Testcase 2 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest2 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest2: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(0) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 0 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend2: csrrw x0, mtvec, x31 sd x25, 16(x6) sd x15, 24(x6) # Testcase 4 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest4 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest4: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend4: csrrw x0, mtvec, x31 sd x25, 32(x6) sd x15, 40(x6) # Testcase 6 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest6 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest6: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 1 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend6: csrrw x0, mtvec, x31 sd x25, 48(x6) sd x15, 56(x6) # Testcase 8 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest8 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest8: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend8: csrrw x0, mtvec, x31 sd x25, 64(x6) sd x15, 72(x6) # Testcase 10 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest10 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest10: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend10: csrrw x0, mtvec, x31 sd x25, 80(x6) sd x15, 88(x6) # Testcase 12 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest12 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest12: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend12: csrrw x0, mtvec, x31 sd x25, 96(x6) sd x15, 104(x6) # Testcase 14 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest14 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest14: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(1) csrrw x11, mhartid, x0 csrrci x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend14: csrrw x0, mtvec, x31 sd x25, 112(x6) sd x15, 120(x6) # Testcase 16 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest16 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest16: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend16: csrrw x0, mtvec, x31 sd x25, 128(x6) sd x15, 136(x6) # Testcase 18 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest18 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest18: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend18: csrrw x0, mtvec, x31 sd x25, 144(x6) sd x15, 152(x6) # Testcase 20 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest20 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest20: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend20: csrrw x0, mtvec, x31 sd x25, 160(x6) sd x15, 168(x6) # Testcase 22 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest22 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest22: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend22: csrrw x0, mtvec, x31 sd x25, 176(x6) sd x15, 184(x6) # Testcase 24 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest24 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest24: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 3 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend24: csrrw x0, mtvec, x31 sd x25, 192(x6) sd x15, 200(x6) # Testcase 26 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest26 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest26: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(2) csrrw x11, mhartid, x0 csrrci x0, mhartid, 3 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend26: csrrw x0, mtvec, x31 sd x25, 208(x6) sd x15, 216(x6) # Testcase 28 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest28 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest28: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend28: csrrw x0, mtvec, x31 sd x25, 224(x6) sd x15, 232(x6) # Testcase 30 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest30 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest30: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 31 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend30: csrrw x0, mtvec, x31 sd x25, 240(x6) sd x15, 248(x6) # Testcase 32 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest32 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest32: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend32: csrrw x0, mtvec, x31 sd x25, 256(x6) sd x15, 264(x6) # Testcase 34 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest34 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest34: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend34: csrrw x0, mtvec, x31 sd x25, 272(x6) sd x15, 280(x6) # Testcase 36 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest36 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest36: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 1 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend36: csrrw x0, mtvec, x31 sd x25, 288(x6) sd x15, 296(x6) # Testcase 38 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest38 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest38: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(31) csrrw x11, mhartid, x0 csrrci x0, mhartid, 1 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend38: csrrw x0, mtvec, x31 sd x25, 304(x6) sd x15, 312(x6) # Testcase 40 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest40 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest40: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend40: csrrw x0, mtvec, x31 sd x25, 320(x6) sd x15, 328(x6) # Testcase 42 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest42 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest42: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 0 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend42: csrrw x0, mtvec, x31 sd x25, 336(x6) sd x15, 344(x6) # Testcase 44 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest44 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest44: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend44: csrrw x0, mtvec, x31 sd x25, 352(x6) sd x15, 360(x6) # Testcase 46 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest46 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest46: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend46: csrrw x0, mtvec, x31 sd x25, 368(x6) sd x15, 376(x6) # Testcase 48 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest48 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest48: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend48: csrrw x0, mtvec, x31 sd x25, 384(x6) sd x15, 392(x6) # Testcase 50 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest50 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest50: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(32) csrrw x11, mhartid, x0 csrrci x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend50: csrrw x0, mtvec, x31 sd x25, 400(x6) sd x15, 408(x6) # Testcase 52 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest52 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest52: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend52: csrrw x0, mtvec, x31 sd x25, 416(x6) sd x15, 424(x6) # Testcase 54 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest54 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest54: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 20 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend54: csrrw x0, mtvec, x31 sd x25, 432(x6) sd x15, 440(x6) # Testcase 56 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest56 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest56: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend56: csrrw x0, mtvec, x31 sd x25, 448(x6) sd x15, 456(x6) # Testcase 58 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest58 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest58: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend58: csrrw x0, mtvec, x31 sd x25, 464(x6) sd x15, 472(x6) # Testcase 60 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest60 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest60: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 28 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend60: csrrw x0, mtvec, x31 sd x25, 480(x6) sd x15, 488(x6) # Testcase 62 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest62 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest62: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(7082823659048590612) csrrw x11, mhartid, x0 csrrci x0, mhartid, 28 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend62: csrrw x0, mtvec, x31 sd x25, 496(x6) sd x15, 504(x6) # Testcase 64 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest64 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest64: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend64: csrrw x0, mtvec, x31 sd x25, 512(x6) sd x15, 520(x6) # Testcase 66 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest66 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest66: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 30 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend66: csrrw x0, mtvec, x31 sd x25, 528(x6) sd x15, 536(x6) # Testcase 68 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest68 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest68: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend68: csrrw x0, mtvec, x31 sd x25, 544(x6) sd x15, 552(x6) # Testcase 70 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest70 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest70: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend70: csrrw x0, mtvec, x31 sd x25, 560(x6) sd x15, 568(x6) # Testcase 72 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest72 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest72: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 7 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend72: csrrw x0, mtvec, x31 sd x25, 576(x6) sd x15, 584(x6) # Testcase 74 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest74 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest74: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775806) csrrw x11, mhartid, x0 csrrci x0, mhartid, 7 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend74: csrrw x0, mtvec, x31 sd x25, 592(x6) sd x15, 600(x6) # Testcase 76 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest76 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest76: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend76: csrrw x0, mtvec, x31 sd x25, 608(x6) sd x15, 616(x6) # Testcase 78 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest78 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest78: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 31 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend78: csrrw x0, mtvec, x31 sd x25, 624(x6) sd x15, 632(x6) # Testcase 80 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest80 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest80: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend80: csrrw x0, mtvec, x31 sd x25, 640(x6) sd x15, 648(x6) # Testcase 82 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest82 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest82: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend82: csrrw x0, mtvec, x31 sd x25, 656(x6) sd x15, 664(x6) # Testcase 84 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest84 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest84: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 8 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend84: csrrw x0, mtvec, x31 sd x25, 672(x6) sd x15, 680(x6) # Testcase 86 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest86 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest86: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775807) csrrw x11, mhartid, x0 csrrci x0, mhartid, 8 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend86: csrrw x0, mtvec, x31 sd x25, 688(x6) sd x15, 696(x6) # Testcase 88 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest88 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest88: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend88: csrrw x0, mtvec, x31 sd x25, 704(x6) sd x15, 712(x6) # Testcase 90 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest90 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest90: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 0 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend90: csrrw x0, mtvec, x31 sd x25, 720(x6) sd x15, 728(x6) # Testcase 92 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest92 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest92: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend92: csrrw x0, mtvec, x31 sd x25, 736(x6) sd x15, 744(x6) # Testcase 94 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest94 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest94: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend94: csrrw x0, mtvec, x31 sd x25, 752(x6) sd x15, 760(x6) # Testcase 96 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest96 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest96: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 9 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend96: csrrw x0, mtvec, x31 sd x25, 768(x6) sd x15, 776(x6) # Testcase 98 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest98 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest98: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775808) csrrw x11, mhartid, x0 csrrci x0, mhartid, 9 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend98: csrrw x0, mtvec, x31 sd x25, 784(x6) sd x15, 792(x6) # Testcase 100 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest100 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest100: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend100: csrrw x0, mtvec, x31 sd x25, 800(x6) sd x15, 808(x6) # Testcase 102 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest102 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest102: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 1 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend102: csrrw x0, mtvec, x31 sd x25, 816(x6) sd x15, 824(x6) # Testcase 104 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest104 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest104: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend104: csrrw x0, mtvec, x31 sd x25, 832(x6) sd x15, 840(x6) # Testcase 106 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest106 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest106: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend106: csrrw x0, mtvec, x31 sd x25, 848(x6) sd x15, 856(x6) # Testcase 108 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest108 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest108: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 10 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend108: csrrw x0, mtvec, x31 sd x25, 864(x6) sd x15, 872(x6) # Testcase 110 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest110 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest110: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9223372036854775809) csrrw x11, mhartid, x0 csrrci x0, mhartid, 10 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend110: csrrw x0, mtvec, x31 sd x25, 880(x6) sd x15, 888(x6) # Testcase 112 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest112 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest112: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend112: csrrw x0, mtvec, x31 sd x25, 896(x6) sd x15, 904(x6) # Testcase 114 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest114 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest114: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend114: csrrw x0, mtvec, x31 sd x25, 912(x6) sd x15, 920(x6) # Testcase 116 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest116 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest116: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend116: csrrw x0, mtvec, x31 sd x25, 928(x6) sd x15, 936(x6) # Testcase 118 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest118 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest118: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend118: csrrw x0, mtvec, x31 sd x25, 944(x6) sd x15, 952(x6) # Testcase 120 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest120 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest120: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 20 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend120: csrrw x0, mtvec, x31 sd x25, 960(x6) sd x15, 968(x6) # Testcase 122 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest122 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest122: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(14079903813871053634) csrrw x11, mhartid, x0 csrrci x0, mhartid, 20 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend122: csrrw x0, mtvec, x31 sd x25, 976(x6) sd x15, 984(x6) # Testcase 124 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest124 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest124: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend124: csrrw x0, mtvec, x31 sd x25, 992(x6) sd x15, 1000(x6) # Testcase 126 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest126 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest126: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 30 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend126: csrrw x0, mtvec, x31 sd x25, 1008(x6) sd x15, 1016(x6) # Testcase 128 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest128 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest128: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend128: csrrw x0, mtvec, x31 sd x25, 1024(x6) sd x15, 1032(x6) # Testcase 130 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest130 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest130: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend130: csrrw x0, mtvec, x31 sd x25, 1040(x6) sd x15, 1048(x6) # Testcase 132 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest132 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest132: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 15 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend132: csrrw x0, mtvec, x31 sd x25, 1056(x6) sd x15, 1064(x6) # Testcase 134 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest134 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest134: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551614) csrrw x11, mhartid, x0 csrrci x0, mhartid, 15 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend134: csrrw x0, mtvec, x31 sd x25, 1072(x6) sd x15, 1080(x6) # Testcase 136 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest136 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest136: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend136: csrrw x0, mtvec, x31 sd x25, 1088(x6) sd x15, 1096(x6) # Testcase 138 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest138 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest138: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 31 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend138: csrrw x0, mtvec, x31 sd x25, 1104(x6) sd x15, 1112(x6) # Testcase 140 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest140 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest140: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend140: csrrw x0, mtvec, x31 sd x25, 1120(x6) sd x15, 1128(x6) # Testcase 142 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest142 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest142: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend142: csrrw x0, mtvec, x31 sd x25, 1136(x6) sd x15, 1144(x6) # Testcase 144 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest144 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest144: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 16 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend144: csrrw x0, mtvec, x31 sd x25, 1152(x6) sd x15, 1160(x6) # Testcase 146 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest146 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest146: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(18446744073709551615) csrrw x11, mhartid, x0 csrrci x0, mhartid, 16 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend146: csrrw x0, mtvec, x31 sd x25, 1168(x6) sd x15, 1176(x6) # Testcase 148 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest148 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest148: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend148: csrrw x0, mtvec, x31 sd x25, 1184(x6) sd x15, 1192(x6) # Testcase 150 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest150 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest150: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 19 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend150: csrrw x0, mtvec, x31 sd x25, 1200(x6) sd x15, 1208(x6) # Testcase 152 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest152 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest152: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend152: csrrw x0, mtvec, x31 sd x25, 1216(x6) sd x15, 1224(x6) # Testcase 154 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest154 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest154: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend154: csrrw x0, mtvec, x31 sd x25, 1232(x6) sd x15, 1240(x6) # Testcase 156 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest156 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest156: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 27 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend156: csrrw x0, mtvec, x31 sd x25, 1248(x6) sd x15, 1256(x6) # Testcase 158 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest158 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest158: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(4361594610609017651) csrrw x11, mhartid, x0 csrrci x0, mhartid, 27 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend158: csrrw x0, mtvec, x31 sd x25, 1264(x6) sd x15, 1272(x6) # Testcase 160 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest160 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest160: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend160: csrrw x0, mtvec, x31 sd x25, 1280(x6) sd x15, 1288(x6) # Testcase 162 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest162 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest162: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 26 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend162: csrrw x0, mtvec, x31 sd x25, 1296(x6) sd x15, 1304(x6) # Testcase 164 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest164 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest164: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend164: csrrw x0, mtvec, x31 sd x25, 1312(x6) sd x15, 1320(x6) # Testcase 166 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest166 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest166: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend166: csrrw x0, mtvec, x31 sd x25, 1328(x6) sd x15, 1336(x6) # Testcase 168 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest168 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest168: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend168: csrrw x0, mtvec, x31 sd x25, 1344(x6) sd x15, 1352(x6) # Testcase 170 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest170 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest170: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(9179397419557419674) csrrw x11, mhartid, x0 csrrci x0, mhartid, 13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend170: csrrw x0, mtvec, x31 sd x25, 1360(x6) sd x15, 1368(x6) # Testcase 172 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest172 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest172: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend172: csrrw x0, mtvec, x31 sd x25, 1376(x6) sd x15, 1384(x6) # Testcase 174 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest174 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest174: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 2 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend174: csrrw x0, mtvec, x31 sd x25, 1392(x6) sd x15, 1400(x6) # Testcase 176 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest176 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest176: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend176: csrrw x0, mtvec, x31 sd x25, 1408(x6) sd x15, 1416(x6) # Testcase 178 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest178 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest178: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend178: csrrw x0, mtvec, x31 sd x25, 1424(x6) sd x15, 1432(x6) # Testcase 180 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest180 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest180: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend180: csrrw x0, mtvec, x31 sd x25, 1440(x6) sd x15, 1448(x6) # Testcase 182 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest182 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest182: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(11601989081396086434) csrrw x11, mhartid, x0 csrrci x0, mhartid, 13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend182: csrrw x0, mtvec, x31 sd x25, 1456(x6) sd x15, 1464(x6) # Testcase 184 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest184 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest184: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrw x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend184: csrrw x0, mtvec, x31 sd x25, 1472(x6) sd x15, 1480(x6) # Testcase 186 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest186 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest186: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrwi x0, mhartid, 25 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend186: csrrw x0, mtvec, x31 sd x25, 1488(x6) sd x15, 1496(x6) # Testcase 188 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest188 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest188: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrs x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend188: csrrw x0, mtvec, x31 sd x25, 1504(x6) sd x15, 1512(x6) # Testcase 190 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest190 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest190: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrc x0, mhartid, x13 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend190: csrrw x0, mtvec, x31 sd x25, 1520(x6) sd x15, 1528(x6) # Testcase 192 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest192 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest192: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrsi x0, mhartid, 8 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend192: csrrw x0, mtvec, x31 sd x25, 1536(x6) sd x15, 1544(x6) # Testcase 194 csrrs x31, mtvec, x0 auipc x30, 0 addi x30, x30, 12 j _jtest194 # Machine trap vector csrrs x25, mcause, x0 csrrs x1, mepc, x0 addi x1, x1, 4 csrrw x0, mepc, x1 mret # Actual test _jtest194: csrrw x0, mtvec, x30 # Start test code li x25, 0x7BAD li x13, MASK_XLEN(8781402536572756665) csrrw x11, mhartid, x0 csrrci x0, mhartid, 8 csrrwi x12, mhartid, 0 sub x15, x11, x12 # Finished test. Reset to old mtvec _jend194: csrrw x0, mtvec, x31 sd x25, 1552(x6) sd x15, 1560(x6) # --------------------------------------------------------------------------------------------- RVMODEL_HALT RVTEST_DATA_BEGIN RVTEST_DATA_END RVMODEL_DATA_BEGIN # signature output wally_signature: .fill 196, 8, -1 #ifdef rvtest_mtrap_routine mtrap_sigptr: .fill 64*(XLEN/32),4,0xdeadbeef #endif #ifdef rvtest_gpr_save gpr_save: .fill 32*(XLEN/32),4,0xdeadbeef #endif RVMODEL_DATA_END