mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-06-28 01:32:49 -04:00
Merge pull request #1415 from jordancarlin/sail_coverage
Functional coverage from Sail + Update Sail version
This commit is contained in:
commit
24c605a9fc
47 changed files with 488 additions and 3152 deletions
|
@ -1 +1 @@
|
|||
Subproject commit b3a35bde4de3f4a25579cfa45bde0a1e3e7005a4
|
||||
Subproject commit 1afacf04ee975c6bcbc65d36e8648e96f18ea0d4
|
|
@ -259,9 +259,7 @@ string arch64priv[] = '{
|
|||
"rv64i_m/privilege/src/misalign-blt-01.S",
|
||||
"rv64i_m/privilege/src/misalign-bltu-01.S",
|
||||
"rv64i_m/privilege/src/misalign-bne-01.S",
|
||||
"rv64i_m/privilege/src/misalign-jal-01.S"
|
||||
// commented out for now because rv64gc supports Zicclsm, but Sail does not yet. Restore when Sail supports Zicclsm.
|
||||
/* -----\/----- EXCLUDED -----\/-----
|
||||
"rv64i_m/privilege/src/misalign-jal-01.S",
|
||||
"rv64i_m/privilege/src/misalign-ld-01.S",
|
||||
"rv64i_m/privilege/src/misalign-lh-01.S",
|
||||
"rv64i_m/privilege/src/misalign-lhu-01.S",
|
||||
|
@ -270,7 +268,6 @@ string arch64priv[] = '{
|
|||
"rv64i_m/privilege/src/misalign-sd-01.S",
|
||||
"rv64i_m/privilege/src/misalign-sh-01.S",
|
||||
"rv64i_m/privilege/src/misalign-sw-01.S"
|
||||
-----/\----- EXCLUDED -----/\----- */
|
||||
};
|
||||
|
||||
string arch64zifencei[] = '{
|
||||
|
|
|
@ -18,7 +18,7 @@ current_dir := $(shell pwd)
|
|||
.PHONY: all riscv-arch-test wally-riscv-arch-test clean
|
||||
all: riscv-arch-test wally-riscv-arch-test
|
||||
riscv-arch-test: arch32e arch32 arch64
|
||||
cvw-riscv-arch-test: cvw-arch32e cvw-arch32 cvw-arch64
|
||||
cvw-riscv-arch-test: cvw-arch32 cvw-arch64 # cvw-arch32e
|
||||
wally-riscv-arch-test: wally32 wally64
|
||||
|
||||
# Generate config.ini files
|
||||
|
@ -34,9 +34,10 @@ arch%: config$$*.ini | $(work_dir) $(arch_workdir)
|
|||
# Generate cvw-riscv-arch-test targets
|
||||
# Generate riscv-arch-test targets
|
||||
cvw-arch%: config$$*.ini | $(work_dir) $(cvw_arch_workdir)
|
||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(cvw_arch_dir)/riscv-test-suite/ --env=$(cvw_arch_dir)/riscv-test-suite/env --no-browser
|
||||
export COLLECT_COVERAGE=true; riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(cvw_arch_dir)/riscv-test-suite/ --env=$(cvw_arch_dir)/riscv-test-suite/env --no-browser
|
||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@ BITWIDTH=$(patsubst %32e,%32,$*)
|
||||
rsync -a $(work_dir)/$@/rv*/* $(cvw_arch_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*)) || echo "error suppressed"
|
||||
${CVW_ARCH_VERIF}/bin/trace-coverreport.py $(cvw_arch_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))
|
||||
|
||||
# Generate wally-riscv-arch-test targets
|
||||
wally%: config$$*.ini | $(work_dir) $(wally_workdir)
|
||||
|
|
|
@ -25,6 +25,7 @@ class sail_cSim(pluginTemplate):
|
|||
'64' : os.path.join(config['PATH'] if 'PATH' in config else "","riscv_sim_rv64d")}
|
||||
self.isa_spec = os.path.abspath(config['ispec']) if 'ispec' in config else ''
|
||||
self.platform_spec = os.path.abspath(config['pspec']) if 'ispec' in config else ''
|
||||
# self.coverage_file = os.path.abspath(config['coverage']) if 'coverage' in config else ''
|
||||
self.make = config['make'] if 'make' in config else 'make'
|
||||
logger.debug("SAIL CSim plugin initialised using the following configuration.")
|
||||
for entry in config:
|
||||
|
@ -45,7 +46,6 @@ class sail_cSim(pluginTemplate):
|
|||
ispec = utils.load_yaml(isa_yaml)['hart0']
|
||||
self.xlen = ('64' if 64 in ispec['supported_xlen'] else '32')
|
||||
self.isa = 'rv' + self.xlen
|
||||
self.sailargs = ' --pmp-count=16 --pmp-grain=0 ' # Hardcode pmp-count and pmp-grain for now. Make configurable later once Sail has easier configuration
|
||||
self.compile_cmd = self.compile_cmd+' -mabi='+('lp64 ' if 64 in ispec['supported_xlen'] else ('ilp32e ' if "E" in ispec["ISA"] else 'ilp32 '))
|
||||
if "I" in ispec["ISA"]:
|
||||
self.isa += 'i'
|
||||
|
@ -61,8 +61,6 @@ class sail_cSim(pluginTemplate):
|
|||
self.isa += 'f'
|
||||
if "D" in ispec["ISA"]:
|
||||
self.isa += 'd'
|
||||
if "Zcb" in ispec["ISA"]: # for some strange reason, Sail requires a command line argument to enable Zcb
|
||||
self.sailargs += "--enable-zcb"
|
||||
if "Q" in ispec["ISA"]:
|
||||
self.isa += 'q'
|
||||
objdump = "riscv64-unknown-elf-objdump"
|
||||
|
@ -86,6 +84,13 @@ class sail_cSim(pluginTemplate):
|
|||
os.remove(self.work_dir+ "/Makefile." + self.name[:-1])
|
||||
make = utils.makeUtil(makefilePath=os.path.join(self.work_dir, "Makefile." + self.name[:-1]))
|
||||
make.makeCommand = self.make + ' -j' + self.num_jobs
|
||||
|
||||
# TODO: This bit is temporary until riscof properly copies over the coverage file
|
||||
self.coverage_file = f"{self.pluginpath}/../spike/coverage_rv{self.xlen}gc.svh"
|
||||
# Copy coverage file to wkdir
|
||||
cov_copy_command = f'cp {self.coverage_file} {self.work_dir}/coverage.svh;'
|
||||
os.system(cov_copy_command)
|
||||
|
||||
for file in testList:
|
||||
testentry = testList[file]
|
||||
test = testentry['test_path']
|
||||
|
@ -109,24 +114,19 @@ class sail_cSim(pluginTemplate):
|
|||
reference_output = re.sub("/src/","/references/", re.sub(".S",".reference_output", test))
|
||||
execute += f'cut -c-{8:g} {reference_output} > {sig_file}' #use cut to remove comments when copying
|
||||
else:
|
||||
execute += self.sail_exe[self.xlen] + ' -z268435455 -i --trace=step ' + self.sailargs + f' --test-signature={sig_file} {elf} > {test_name}.log 2>&1;'
|
||||
execute += self.sail_exe[self.xlen] + f' --config {self.pluginpath}/rv{self.xlen}gc.json --trace=step --test-signature={sig_file} {elf} > {test_name}.log 2>&1;'
|
||||
|
||||
cov_str = ' '
|
||||
for label in testentry['coverage_labels']:
|
||||
cov_str+=' -l '+label
|
||||
# Coverage
|
||||
if (os.environ.get('COLLECT_COVERAGE') == "true"): # TODO: update this to take a proper flag from riscof, not use env vars
|
||||
# Generate trace from sail log
|
||||
cvw_arch_verif_dir = os.getenv('CVW_ARCH_VERIF') # TODO: update this to not depend on env var
|
||||
trace_command = f'{cvw_arch_verif_dir}/bin/sail-parse.py {test_name}.log {test_name}.trace;'
|
||||
execute += trace_command
|
||||
|
||||
if cgf_file is not None:
|
||||
coverage_cmd = 'riscv_isac --verbose info coverage -d \
|
||||
-t {}.log --parser-name c_sail -o coverage.rpt \
|
||||
--sig-label begin_signature end_signature \
|
||||
--test-label rvtest_code_begin rvtest_code_end \
|
||||
-e ref.elf -c {} -x{} {};'.format(\
|
||||
test_name, ' -c '.join(cgf_file), self.xlen, cov_str)
|
||||
else:
|
||||
coverage_cmd = ''
|
||||
|
||||
|
||||
execute+=coverage_cmd
|
||||
# Generate ucdb coverage file
|
||||
questa_do_file = f'{cvw_arch_verif_dir}/bin/cvw-arch-verif.do'
|
||||
coverage_command = f'vsim -c -do "do {questa_do_file} {test_dir} {test_name} {cvw_arch_verif_dir}/fcov {self.work_dir}";'
|
||||
execute += coverage_command
|
||||
|
||||
make.add_target(execute)
|
||||
# make.execute_all(self.work_dir)
|
||||
|
|
221
tests/riscof/sail_cSim/rv32gc.json
Normal file
221
tests/riscof/sail_cSim/rv32gc.json
Normal file
|
@ -0,0 +1,221 @@
|
|||
{
|
||||
"base": {
|
||||
"writable_misa": false,
|
||||
"writable_fiom": true,
|
||||
"writable_hpm_counters": {
|
||||
"len": 32,
|
||||
"value": "0xFFFF_FFFF"
|
||||
},
|
||||
"mtval_has_illegal_instruction_bits": true
|
||||
},
|
||||
"memory": {
|
||||
"pmp": {
|
||||
"grain": 0,
|
||||
"count": 16
|
||||
},
|
||||
"misaligned": {
|
||||
"supported": false,
|
||||
"byte_by_byte": false,
|
||||
"order_decreasing": false,
|
||||
"allowed_within_exp": 0
|
||||
},
|
||||
"translation": {
|
||||
"dirty_update": false
|
||||
}
|
||||
},
|
||||
"platform": {
|
||||
"vendorid": 1538,
|
||||
"archid": 36,
|
||||
"impid": 256,
|
||||
"hartid": 0,
|
||||
"reset_vector": 4096,
|
||||
"cache_block_size_exp": 6,
|
||||
"ram": {
|
||||
"base": 2147483648,
|
||||
"size": 2147483648
|
||||
},
|
||||
"rom": {
|
||||
"base": 4096,
|
||||
"size": 4096
|
||||
},
|
||||
"clint": {
|
||||
"base": 33554432,
|
||||
"size": 786432
|
||||
},
|
||||
"instructions_per_tick": 2,
|
||||
"wfi_is_nop": true
|
||||
},
|
||||
"extensions": {
|
||||
"M": {
|
||||
"supported": true
|
||||
},
|
||||
"A": {
|
||||
"supported": true
|
||||
},
|
||||
"FD": {
|
||||
"supported": true
|
||||
},
|
||||
"V": {
|
||||
"supported": false,
|
||||
"vlen_exp": 9,
|
||||
"elen_exp": 6,
|
||||
"vl_use_ceil": false
|
||||
},
|
||||
"B": {
|
||||
"supported": true
|
||||
},
|
||||
"S": {
|
||||
"supported": true
|
||||
},
|
||||
"U": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicbom": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicboz": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicond": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicntr": {
|
||||
"supported": true
|
||||
},
|
||||
"Zifencei": {
|
||||
"supported": true
|
||||
},
|
||||
"Zihpm": {
|
||||
"supported": true
|
||||
},
|
||||
"Zimop": {
|
||||
"supported": false
|
||||
},
|
||||
"Zmmul": {
|
||||
"supported": false
|
||||
},
|
||||
"Zaamo": {
|
||||
"supported": false
|
||||
},
|
||||
"Zabha": {
|
||||
"supported": false
|
||||
},
|
||||
"Zalrsc": {
|
||||
"supported": false
|
||||
},
|
||||
"Zfa": {
|
||||
"supported": true
|
||||
},
|
||||
"Zfh": {
|
||||
"supported": true
|
||||
},
|
||||
"Zfhmin": {
|
||||
"supported": false
|
||||
},
|
||||
"Zfinx": {
|
||||
"supported": false
|
||||
},
|
||||
"Zca": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcf": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcd": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcb": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcmop": {
|
||||
"supported": false
|
||||
},
|
||||
"Zba": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbs": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbc": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkb": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkc": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkx": {
|
||||
"supported": true
|
||||
},
|
||||
"Zknd": {
|
||||
"supported": true
|
||||
},
|
||||
"Zkne": {
|
||||
"supported": true
|
||||
},
|
||||
"Zknh": {
|
||||
"supported": true
|
||||
},
|
||||
"Zkr": {
|
||||
"supported": false
|
||||
},
|
||||
"Zksed": {
|
||||
"supported": false
|
||||
},
|
||||
"Zksh": {
|
||||
"supported": false
|
||||
},
|
||||
"Zhinx": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvbb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvkb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvbc": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvknha": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvknhb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvksh": {
|
||||
"supported": false
|
||||
},
|
||||
"Sscofpmf": {
|
||||
"supported": false
|
||||
},
|
||||
"Smcntrpmf": {
|
||||
"supported": false
|
||||
},
|
||||
"Sstc": {
|
||||
"supported": true
|
||||
},
|
||||
"Svinval": {
|
||||
"supported": true
|
||||
},
|
||||
"Svbare": {
|
||||
"supported": true
|
||||
},
|
||||
"Sv32": {
|
||||
"supported": true
|
||||
},
|
||||
"Sv39": {
|
||||
"supported": false
|
||||
},
|
||||
"Sv48": {
|
||||
"supported": false
|
||||
},
|
||||
"Sv57": {
|
||||
"supported": false
|
||||
}
|
||||
}
|
||||
}
|
221
tests/riscof/sail_cSim/rv64gc.json
Normal file
221
tests/riscof/sail_cSim/rv64gc.json
Normal file
|
@ -0,0 +1,221 @@
|
|||
{
|
||||
"base": {
|
||||
"writable_misa": false,
|
||||
"writable_fiom": true,
|
||||
"writable_hpm_counters": {
|
||||
"len": 32,
|
||||
"value": "0xFFFF_FFFF"
|
||||
},
|
||||
"mtval_has_illegal_instruction_bits": true
|
||||
},
|
||||
"memory": {
|
||||
"pmp": {
|
||||
"grain": 0,
|
||||
"count": 16
|
||||
},
|
||||
"misaligned": {
|
||||
"supported": true,
|
||||
"byte_by_byte": false,
|
||||
"order_decreasing": false,
|
||||
"allowed_within_exp": 0
|
||||
},
|
||||
"translation": {
|
||||
"dirty_update": false
|
||||
}
|
||||
},
|
||||
"platform": {
|
||||
"vendorid": 1538,
|
||||
"archid": 36,
|
||||
"impid": 256,
|
||||
"hartid": 0,
|
||||
"reset_vector": 4096,
|
||||
"cache_block_size_exp": 6,
|
||||
"ram": {
|
||||
"base": 2147483648,
|
||||
"size": 2147483648
|
||||
},
|
||||
"rom": {
|
||||
"base": 4096,
|
||||
"size": 4096
|
||||
},
|
||||
"clint": {
|
||||
"base": 33554432,
|
||||
"size": 786432
|
||||
},
|
||||
"instructions_per_tick": 2,
|
||||
"wfi_is_nop": true
|
||||
},
|
||||
"extensions": {
|
||||
"M": {
|
||||
"supported": true
|
||||
},
|
||||
"A": {
|
||||
"supported": true
|
||||
},
|
||||
"FD": {
|
||||
"supported": true
|
||||
},
|
||||
"V": {
|
||||
"supported": false,
|
||||
"vlen_exp": 9,
|
||||
"elen_exp": 6,
|
||||
"vl_use_ceil": false
|
||||
},
|
||||
"B": {
|
||||
"supported": true
|
||||
},
|
||||
"S": {
|
||||
"supported": true
|
||||
},
|
||||
"U": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicbom": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicboz": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicond": {
|
||||
"supported": true
|
||||
},
|
||||
"Zicntr": {
|
||||
"supported": true
|
||||
},
|
||||
"Zifencei": {
|
||||
"supported": true
|
||||
},
|
||||
"Zihpm": {
|
||||
"supported": true
|
||||
},
|
||||
"Zimop": {
|
||||
"supported": false
|
||||
},
|
||||
"Zmmul": {
|
||||
"supported": false
|
||||
},
|
||||
"Zaamo": {
|
||||
"supported": false
|
||||
},
|
||||
"Zabha": {
|
||||
"supported": false
|
||||
},
|
||||
"Zalrsc": {
|
||||
"supported": false
|
||||
},
|
||||
"Zfa": {
|
||||
"supported": true
|
||||
},
|
||||
"Zfh": {
|
||||
"supported": true
|
||||
},
|
||||
"Zfhmin": {
|
||||
"supported": false
|
||||
},
|
||||
"Zfinx": {
|
||||
"supported": false
|
||||
},
|
||||
"Zca": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcf": {
|
||||
"supported": false
|
||||
},
|
||||
"Zcd": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcb": {
|
||||
"supported": true
|
||||
},
|
||||
"Zcmop": {
|
||||
"supported": false
|
||||
},
|
||||
"Zba": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbs": {
|
||||
"supported": false
|
||||
},
|
||||
"Zbc": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkb": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkc": {
|
||||
"supported": true
|
||||
},
|
||||
"Zbkx": {
|
||||
"supported": true
|
||||
},
|
||||
"Zknd": {
|
||||
"supported": true
|
||||
},
|
||||
"Zkne": {
|
||||
"supported": true
|
||||
},
|
||||
"Zknh": {
|
||||
"supported": true
|
||||
},
|
||||
"Zkr": {
|
||||
"supported": false
|
||||
},
|
||||
"Zksed": {
|
||||
"supported": false
|
||||
},
|
||||
"Zksh": {
|
||||
"supported": false
|
||||
},
|
||||
"Zhinx": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvbb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvkb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvbc": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvknha": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvknhb": {
|
||||
"supported": false
|
||||
},
|
||||
"Zvksh": {
|
||||
"supported": false
|
||||
},
|
||||
"Sscofpmf": {
|
||||
"supported": false
|
||||
},
|
||||
"Smcntrpmf": {
|
||||
"supported": false
|
||||
},
|
||||
"Sstc": {
|
||||
"supported": true
|
||||
},
|
||||
"Svinval": {
|
||||
"supported": true
|
||||
},
|
||||
"Svbare": {
|
||||
"supported": true
|
||||
},
|
||||
"Sv32": {
|
||||
"supported": false
|
||||
},
|
||||
"Sv39": {
|
||||
"supported": true
|
||||
},
|
||||
"Sv48": {
|
||||
"supported": true
|
||||
},
|
||||
"Sv57": {
|
||||
"supported": false
|
||||
}
|
||||
}
|
||||
}
|
1
tests/riscof/spike/coverage_rv32gc.svh
Symbolic link
1
tests/riscof/spike/coverage_rv32gc.svh
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../config/rv32gc/coverage.svh
|
1
tests/riscof/spike/coverage_rv64gc.svh
Symbolic link
1
tests/riscof/spike/coverage_rv64gc.svh
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../config/rv64gc/coverage.svh
|
|
@ -196,7 +196,7 @@ class spike(pluginTemplate):
|
|||
reference_output = re.sub("/src/","/references/", re.sub(".S",".reference_output", test))
|
||||
simcmd = f'cut -c-{8:g} {reference_output} > {sig_file}' #use cut to remove comments when copying
|
||||
else:
|
||||
simcmd = self.dut_exe + f' --isa={self.isa} +signature={sig_file} +signature-granularity=4 {elf}'
|
||||
simcmd = self.dut_exe + f' {"--misaligned" if self.xlen == "64" else ""} --isa={self.isa} +signature={sig_file} +signature-granularity=4 {elf}'
|
||||
else:
|
||||
simcmd = 'echo "NO RUN"'
|
||||
|
||||
|
|
|
@ -1,188 +0,0 @@
|
|||
deadbeef # begin_signature
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
00000000 # destination 1
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000 # destination 2
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
ffffffff # signature The test writes -1 for correct answers and the a positive integer for incorrect copies.
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
0bad0bad
|
||||
0bad0bad
|
|
@ -1,410 +0,0 @@
|
|||
0000000b # Test 5.2.3.6: ecall from going to S mode from M mode
|
||||
00000002 # S mode write to mstatush with illegal instruction
|
||||
00000002 # S mode read from mstatush with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to menvcfgh with illegal instruction
|
||||
00000002 # S mode read from menvcfgh with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mseccfgh with illegal instruction
|
||||
00000002 # S mode read from mseccfgh with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpcfg1 with illegal instruction
|
||||
00000002 # S mode read from pmpcfg1 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpcfg3 with illegal instruction
|
||||
00000002 # S mode read from pmpcfg3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mcycleh with illegal instruction
|
||||
00000002 # S mode read from mcycleh with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to minstreth with illegal instruction
|
||||
00000002 # S mode read from minstreth with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter3h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter3h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter4h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter4h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter5h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter5h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter6h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter6h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter7h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter7h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter8h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter8h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter9h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter9h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter10h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter10h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter11h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter11h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter12h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter12h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter13h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter13h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter14h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter14h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter15h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter15h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter16h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter16h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter17h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter17h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter18h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter18h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter19h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter19h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter20h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter20h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter21h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter21h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter22h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter22h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter23h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter23h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter24h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter24h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter25h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter25h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter26h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter26h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter27h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter27h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter28h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter28h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter29h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter29h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter30h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter30h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter31h with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter31h with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mvendorid with illegal instruction
|
||||
00000002 # S mode read from mvendorid with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to marchid with illegal instruction
|
||||
00000002 # S mode read from marchid with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mimpid with illegal instruction
|
||||
00000002 # S mode read from mimpid with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhartid with illegal instruction
|
||||
00000002 # S mode read from mhartid with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mconfigptr with illegal instruction
|
||||
00000002 # S mode read from mconfigptr with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mstatus with illegal instruction
|
||||
00000002 # S mode read from mstatus with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mstatush with illegal instruction
|
||||
00000002 # S mode read from mstatush with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to misa with illegal instruction
|
||||
00000002 # S mode read from misa with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to medeleg with illegal instruction
|
||||
00000002 # S mode read from medeleg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mideleg with illegal instruction
|
||||
00000002 # S mode read from mideleg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mie with illegal instruction
|
||||
00000002 # S mode read from mie with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mtvec with illegal instruction
|
||||
00000002 # S mode read from mtvec with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mcounteren with illegal instruction
|
||||
00000002 # S mode read from mcounteren with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mscratch with illegal instruction
|
||||
00000002 # S mode read from mscratch with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mepc with illegal instruction
|
||||
00000002 # S mode read from mepc with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mcause with illegal instruction
|
||||
00000002 # S mode read from mcause with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mtval with illegal instruction
|
||||
00000002 # S mode read from mtval with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mip with illegal instruction
|
||||
00000002 # S mode read from mip with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to menvcfg with illegal instruction
|
||||
00000002 # S mode read from menvcfg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to menvcfgh with illegal instruction
|
||||
00000002 # S mode read from menvcfgh with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mseccfg with illegal instruction
|
||||
00000002 # S mode read from mseccfg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpcfg0 with illegal instruction
|
||||
00000002 # S mode read from pmpcfg0 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpcfg2 with illegal instruction
|
||||
00000002 # S mode read from pmpcfg2 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr0 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr0 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr1 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr1 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr2 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr2 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr3 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr4 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr5 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr6 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr7 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr8 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr9 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr10 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr11 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr12 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr13 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr14 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to pmpaddr15 with illegal instruction
|
||||
00000002 # S mode read from pmpaddr15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mcycle with illegal instruction
|
||||
00000002 # S mode read from mcycle with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to minstret with illegal instruction
|
||||
00000002 # S mode read from minstret with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter3 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter4 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter5 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter6 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter7 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter8 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter9 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter10 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter11 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter12 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter13 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter14 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter15 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter16 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter16 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter17 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter17 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter18 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter18 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter19 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter19 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter20 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter20 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter21 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter21 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter22 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter22 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter23 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter23 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter24 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter24 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter25 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter25 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter26 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter26 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter27 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter27 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter28 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter28 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter29 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter29 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter30 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter30 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmcounter31 with illegal instruction
|
||||
00000002 # S mode read from mhpmcounter31 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mcountinhibit with illegal instruction
|
||||
00000002 # S mode read from mcountinhibit with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent3 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent4 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent5 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent6 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent7 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent8 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent9 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent10 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent11 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent12 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent13 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent14 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent15 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent16 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent16 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent17 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent17 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent18 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent18 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent19 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent19 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent20 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent20 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent21 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent21 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent22 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent22 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent23 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent23 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent24 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent24 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent25 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent25 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent26 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent26 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent27 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent27 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent28 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent28 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent29 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent29 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent30 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent30 with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mhpmevent31 with illegal instruction
|
||||
00000002 # S mode read from mhpmevent31 with illegal instruction
|
||||
00000bad
|
||||
00000009 # ecall from terminating tess from S mode
|
|
@ -1,335 +0,0 @@
|
|||
0000000b # Test 5.2.3.6: ecall from going to U mode from M mode
|
||||
00000002 # U mode write to sstatus with illegal instruction
|
||||
00000002 # U mode read from sstatus with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to sie with illegal instruction
|
||||
00000002 # U mode read from sie with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to stvec with illegal instruction
|
||||
00000002 # U mode read from stvec with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to scounteren with illegal instruction
|
||||
00000002 # U mode read from scounteren with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to sscratch with illegal instruction
|
||||
00000002 # U mode read from sscratch with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to sepc with illegal instruction
|
||||
00000002 # U mode read from sepc with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to scause with illegal instruction
|
||||
00000002 # U mode read from scause with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to stval with illegal instruction
|
||||
00000002 # U mode read from stval with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to sip with illegal instruction
|
||||
00000002 # U mode read from sip with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to satp with illegal instruction
|
||||
00000002 # U mode read from satp with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mvendorid with illegal instruction
|
||||
00000002 # U mode read from mvendorid with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to marchid with illegal instruction
|
||||
00000002 # U mode read from marchid with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mimpid with illegal instruction
|
||||
00000002 # U mode read from mimpid with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhartid with illegal instruction
|
||||
00000002 # U mode read from mhartid with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mconfigptr with illegal instruction
|
||||
00000002 # S mode read from mconfigptr with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mstatus with illegal instruction
|
||||
00000002 # U mode read from mstatus with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mstatush with illegal instruction
|
||||
00000002 # U mode read from mstatush with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to misa with illegal instruction
|
||||
00000002 # U mode read from misa with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to medeleg with illegal instruction
|
||||
00000002 # U mode read from medeleg with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mideleg with illegal instruction
|
||||
00000002 # U mode read from mideleg with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mie with illegal instruction
|
||||
00000002 # U mode read from mie with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mtvec with illegal instruction
|
||||
00000002 # U mode read from mtvec with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mcounteren with illegal instruction
|
||||
00000002 # U mode read from mcounteren with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mscratch with illegal instruction
|
||||
00000002 # U mode read from mscratch with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mepc with illegal instruction
|
||||
00000002 # U mode read from mepc with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mcause with illegal instruction
|
||||
00000002 # U mode read from mcause with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mtval with illegal instruction
|
||||
00000002 # U mode read from mtval with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mip with illegal instruction
|
||||
00000002 # U mode read from mip with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to menvcfg with illegal instruction
|
||||
00000002 # S mode read from menvcfg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to menvcfgh with illegal instruction
|
||||
00000002 # S mode read from menvcfgh with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to mseccfg with illegal instruction
|
||||
00000002 # S mode read from mseccfg with illegal instruction
|
||||
00000bad
|
||||
00000002 # S mode write to senvcfg with illegal instruction
|
||||
00000002 # S mode read from senvcfg with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpcfg0 with illegal instruction
|
||||
00000002 # U mode read from pmpcfg0 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpcfg2 with illegal instruction
|
||||
00000002 # U mode read from pmpcfg2 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr0 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr0 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr1 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr1 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr2 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr2 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr3 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr4 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr5 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr6 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr7 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr8 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr9 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr10 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr11 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr12 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr13 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr14 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to pmpaddr15 with illegal instruction
|
||||
00000002 # U mode read from pmpaddr15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mcycle with illegal instruction
|
||||
00000002 # U mode read from mcycle with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to minstret with illegal instruction
|
||||
00000002 # U mode read from minstret with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter3 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter4 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter5 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter6 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter7 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter8 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter9 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter10 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter11 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter12 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter13 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter14 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter15 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter16 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter16 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter17 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter17 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter18 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter18 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter19 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter19 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter20 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter20 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter21 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter21 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter22 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter22 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter23 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter23 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter24 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter24 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter25 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter25 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter26 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter26 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter27 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter27 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter28 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter28 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter29 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter29 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter30 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter30 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmcounter31 with illegal instruction
|
||||
00000002 # U mode read from mhpmcounter31 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mcountinhibit with illegal instruction
|
||||
00000002 # U mode read from mcountinhibit with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent3 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent3 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent4 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent4 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent5 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent5 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent6 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent6 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent7 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent7 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent8 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent8 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent9 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent9 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent10 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent10 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent11 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent11 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent12 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent12 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent13 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent13 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent14 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent14 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent15 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent15 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent16 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent16 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent17 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent17 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent18 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent18 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent19 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent19 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent20 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent20 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent21 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent21 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent22 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent22 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent23 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent23 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent24 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent24 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent25 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent25 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent26 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent26 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent27 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent27 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent28 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent28 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent29 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent29 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent30 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent30 with illegal instruction
|
||||
00000bad
|
||||
00000002 # U mode write to mhpmevent31 with illegal instruction
|
||||
00000002 # U mode read from mhpmevent31 with illegal instruction
|
||||
00000bad
|
||||
00000008 # ecall from terminating tests in U mode
|
|
@ -1,12 +0,0 @@
|
|||
00000002 # Test 5.2.3.1: write to read-only CSR failed with illegal instruction
|
||||
00000011 # confirm read-only permissions of mvendorid
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000011 # confirm read-only permissions of marchid
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000011 # confirm read-only permissions of mimpid
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000011 # confirm read-only permissions of mhartid
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000011 # confirm read-only permissions of mconfigptr
|
||||
0000000b # ecall from terminating tests in M mode
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
00000111 # Test 5.3.2.2: successful read of nonzero misa
|
||||
0000000b # ecall from terminating tests in machine mode
|
|
@ -1,29 +0,0 @@
|
|||
0fffffff
|
||||
20040000
|
||||
2004003f
|
||||
20040080
|
||||
20040084
|
||||
200400c0
|
||||
2004013f
|
||||
2fffffff
|
||||
0009001f
|
||||
0018900c
|
||||
1f000000
|
||||
0018900c
|
||||
200400c0
|
||||
00000005
|
||||
00000bad
|
||||
00600dbb
|
||||
0000000b
|
||||
00600d15
|
||||
00600d02
|
||||
00600d12
|
||||
00000007
|
||||
00600daa
|
||||
00000007
|
||||
00000005
|
||||
00000bad
|
||||
00000001
|
||||
00000bad
|
||||
00000111
|
||||
00000009
|
|
@ -1,3 +0,0 @@
|
|||
0000000b # Test *** Number: Ecall from going from M mode to S mode
|
||||
00000001 # Instruction access fault (was illegal instruction) from turning on virtual memory with invalid satp address
|
||||
00000009 # ecall from ending tests in S mode.
|
|
@ -1,6 +0,0 @@
|
|||
00002000 # read SD = 0, FS = 01
|
||||
80006000 # read SD = 1, FS = 11
|
||||
00004000 # read written SD = 1, FS = 10
|
||||
80006000 # read SD = 1, FS = 11
|
||||
00000002 # mcause from attempting fmv with status.FS cleared
|
||||
0000000b # mcause from M mode ecall from test termination
|
|
@ -1,9 +0,0 @@
|
|||
0000000b # test 5.3.1.6: mcause for ecall from going to S mode from M mode
|
||||
00000000 # mtval of ecall (*** defined to be zero for now)
|
||||
00001800 # masked out mstatus.MPP = 11, mstatus.MPIE = 0, and mstatus.MIE = 0
|
||||
00000002 # mcause for illegal sret instruction due to status.tsr bit being set.
|
||||
10200073 # mtval of illegal instruction (illegal instruction's machine code)
|
||||
00000800 # masked out mstatus.MPP = 01, mstatus.MPIE = 0, and mstatus.MIE = 0
|
||||
00000009 # mcause from S mode ecall from test termination
|
||||
00000000 # mtval of ecall (*** defined to be zero for now)
|
||||
00000800 # masked out mstatus.MPP = 01, mstatus.MPIE = 0, and mstatus.MIE = 0
|
|
@ -31,7 +31,7 @@ rvtest_entry_point:
|
|||
RVMODEL_BOOT
|
||||
RVTEST_CODE_BEGIN
|
||||
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",cbo.zero)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",cbo.zero)
|
||||
|
||||
RVMODEL_IO_WRITE_STR(x31, "# Test Begin\n")
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",csr-permission-s)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",csr-permission-s)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",csr-permission-u)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",csr-permission-u)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True; def NO_SAIL=True;",minfo)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",minfo)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",misa)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",misa)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr_Zifencei")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",pmp)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",pmp)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-32.h"
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True; def TEST_CASE_1=True;def NO_SAIL=True;",satp-invalid)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True; def TEST_CASE_1=True;",satp-invalid)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32IAF_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*A.*F.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",status-fp-enabled)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*A.*F.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",status-fp-enabled)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-32.h"
|
||||
|
||||
RVTEST_ISA("RV32I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;def NO_SAIL=True;",trap-sret)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*32.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True;def TEST_CASE_1=True;",trap-sret)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -1,204 +0,0 @@
|
|||
deadbeef # begin_signature
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
00000000 # destination 1
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000 # destination 2
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
ffffffff # signature The test writes -1 for correct answers and the a positive integer for incorrect copies.
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
0bad0bad
|
||||
0bad0bad
|
||||
0bad0bad
|
||||
0bad0bad
|
|
@ -1,592 +0,0 @@
|
|||
0000000b # Test 5.2.3.6: ecall from going to S mode from M mode
|
||||
00000000
|
||||
00000002 # S mode write to mvendorid with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mvendorid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to marchid with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from marchid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mimpid with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mimpid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhartid with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhartid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mconfigptr with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mconfigptr with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mstatus with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mstatus with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to misa with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from misa with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to medeleg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from medeleg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mideleg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mideleg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mie with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mie with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mtvec with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mtvec with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mcounteren with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mcounteren with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mscratch with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mscratch with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mepc with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mepc with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mcause with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mcause with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mtval with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mtval with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mip with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mip with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to menvcfg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from menvcfg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mseccfg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mseccfg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpcfg0 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpcfg0 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpcfg2 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpcfg2 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr0 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr0 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr1 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr1 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr2 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr2 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr3 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr4 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr5 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr6 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr7 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr8 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr9 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr10 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr11 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr12 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr13 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr14 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to pmpaddr15 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from pmpaddr15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mcycle with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mcycle with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to minstret with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from minstret with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter3 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter4 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter5 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter6 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter7 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter8 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter9 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter10 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter11 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter12 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter13 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter14 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter15 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter16 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter16 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter17 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter17 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter18 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter18 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter19 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter19 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter20 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter20 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter21 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter21 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter22 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter22 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter23 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter23 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter24 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter24 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter25 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter25 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter26 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter26 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter27 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter27 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter28 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter28 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter29 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter29 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter30 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter30 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmcounter31 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmcounter31 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mcountinhibit with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mcountinhibit with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent3 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent4 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent5 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent6 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent7 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent8 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent9 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent10 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent11 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent12 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent13 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent14 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent15 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent16 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent16 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent17 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent17 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent18 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent18 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent19 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent19 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent20 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent20 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent21 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent21 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent22 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent22 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent23 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent23 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent24 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent24 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent25 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent25 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent26 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent26 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent27 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent27 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent28 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent28 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent29 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent29 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent30 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent30 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mhpmevent31 with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mhpmevent31 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000009 # ecall from terminating tess from S mode
|
||||
00000000
|
|
@ -1,652 +0,0 @@
|
|||
0000000b # Test 5.2.3.6: ecall from going to U mode from M mode
|
||||
00000000
|
||||
00000002 # U mode write to sstatus with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from sstatus with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to sie with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from sie with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to stvec with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from stvec with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to scounteren with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from scounteren with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to sscratch with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from sscratch with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to sepc with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from sepc with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to scause with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from scause with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to stval with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from stval with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to sip with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from sip with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to satp with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from satp with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mvendorid with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mvendorid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to marchid with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from marchid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mimpid with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mimpid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhartid with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhartid with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mconfigptr with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mconfigptr with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mstatus with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mstatus with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to misa with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from misa with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to medeleg with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from medeleg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mideleg with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mideleg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mie with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mie with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mtvec with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mtvec with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mcounteren with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mcounteren with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mscratch with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mscratch with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mepc with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mepc with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mcause with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mcause with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mtval with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mtval with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mip with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mip with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to menvcfg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from menvcfg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # S mode write to mseccfg with illegal instruction
|
||||
00000000
|
||||
00000002 # S mode read from mseccfg with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpcfg0 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpcfg0 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpcfg2 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpcfg2 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr0 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr0 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr1 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr1 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr2 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr2 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr3 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr4 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr5 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr6 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr7 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr8 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr9 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr10 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr11 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr12 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr13 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr14 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to pmpaddr15 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from pmpaddr15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mcycle with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mcycle with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to minstret with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from minstret with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter3 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter4 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter5 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter6 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter7 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter8 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter9 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter10 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter11 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter12 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter13 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter14 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter15 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter16 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter16 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter17 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter17 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter18 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter18 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter19 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter19 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter20 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter20 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter21 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter21 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter22 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter22 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter23 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter23 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter24 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter24 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter25 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter25 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter26 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter26 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter27 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter27 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter28 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter28 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter29 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter29 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter30 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter30 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmcounter31 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmcounter31 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mcountinhibit with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mcountinhibit with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent3 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent3 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent4 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent4 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent5 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent5 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent6 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent6 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent7 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent7 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent8 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent8 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent9 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent9 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent10 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent10 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent11 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent11 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent12 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent12 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent13 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent13 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent14 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent14 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent15 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent15 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent16 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent16 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent17 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent17 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent18 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent18 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent19 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent19 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent20 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent20 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent21 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent21 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent22 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent22 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent23 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent23 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent24 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent24 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent25 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent25 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent26 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent26 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent27 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent27 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent28 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent28 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent29 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent29 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent30 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent30 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000002 # U mode write to mhpmevent31 with illegal instruction
|
||||
00000000
|
||||
00000002 # U mode read from mhpmevent31 with illegal instruction
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000008 # ecall from terminating tests in U mode
|
||||
00000000
|
|
@ -1,22 +0,0 @@
|
|||
00000002 # Test 5.2.3.1: write to read-only CSR failed with illegal instruction
|
||||
00000000
|
||||
00000011 # confirm read-only permissions of mvendorid
|
||||
00000000
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000000
|
||||
00000011 # confirm read-only permissions of marchid
|
||||
00000000
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000000
|
||||
00000011 # confirm read-only permissions of mimpid
|
||||
00000000
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000000
|
||||
00000011 # confirm read-only permissions of mhartid
|
||||
00000000
|
||||
00000002 # write to read-only CSR failed with illegal instruction
|
||||
00000000
|
||||
00000011 # confirm read-only permissions of mconfigptr
|
||||
00000000
|
||||
0000000b # ecall from terminating tests in M mode
|
||||
00000000
|
|
@ -1,4 +0,0 @@
|
|||
00000111 # Test 5.3.2.2: successful read of nonzero misa
|
||||
00000000
|
||||
0000000b # ecall from terminating tests in machine mode
|
||||
00000000
|
|
@ -1,560 +0,0 @@
|
|||
03020100 # ByteDstData
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13021110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33023130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53025150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73027170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100 # Half0DstData
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13021110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33023130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53025150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73027170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
020100ef # Half1DstData
|
||||
06050403
|
||||
0a090807
|
||||
0e0d0c0b
|
||||
0211100f
|
||||
16151413
|
||||
1a191817
|
||||
1e1d1c1b
|
||||
2221201f
|
||||
26252423
|
||||
2a292827
|
||||
2e2d2c2b
|
||||
0231302f
|
||||
36353433
|
||||
3a393837
|
||||
3e3d3c3b
|
||||
4241403f
|
||||
46454443
|
||||
4a494847
|
||||
4e4d4c4b
|
||||
0251504f
|
||||
56555453
|
||||
5a595857
|
||||
5e5d5c5b
|
||||
6261605f
|
||||
66656463
|
||||
6a696867
|
||||
6e6d6c6b
|
||||
0271706f
|
||||
76757473
|
||||
7a797877
|
||||
7e7d7c7b
|
||||
deadbe7f
|
||||
deadbeef
|
||||
03020100 # Word0DstData
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13021110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33023130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53025150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73027170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
020100ef # Word1DstData
|
||||
06050403
|
||||
0a090807
|
||||
0e0d0c0b
|
||||
0211100f
|
||||
16151413
|
||||
1a191817
|
||||
1e1d1c1b
|
||||
2221201f
|
||||
26252423
|
||||
2a292827
|
||||
2e2d2c2b
|
||||
0231302f
|
||||
36353433
|
||||
3a393837
|
||||
3e3d3c3b
|
||||
4241403f
|
||||
46454443
|
||||
4a494847
|
||||
4e4d4c4b
|
||||
0251504f
|
||||
56555453
|
||||
5a595857
|
||||
5e5d5c5b
|
||||
6261605f
|
||||
66656463
|
||||
6a696867
|
||||
6e6d6c6b
|
||||
0271706f
|
||||
76757473
|
||||
7a797877
|
||||
7e7d7c7b
|
||||
deadbe7f
|
||||
deadbeef
|
||||
0100beef # Word2DstData
|
||||
05040302
|
||||
09080706
|
||||
0d0c0b0a
|
||||
11100f0e
|
||||
15141302
|
||||
19181716
|
||||
1d1c1b1a
|
||||
21201f1e
|
||||
25242322
|
||||
29282726
|
||||
2d2c2b2a
|
||||
31302f2e
|
||||
35343302
|
||||
39383736
|
||||
3d3c3b3a
|
||||
41403f3e
|
||||
45444342
|
||||
49484746
|
||||
4d4c4b4a
|
||||
51504f4e
|
||||
55545302
|
||||
59585756
|
||||
5d5c5b5a
|
||||
61605f5e
|
||||
65646362
|
||||
69686766
|
||||
6d6c6b6a
|
||||
71706f6e
|
||||
75747302
|
||||
79787776
|
||||
7d7c7b7a
|
||||
dead7f7e
|
||||
deadbeef
|
||||
00adbeef # Word3DstData
|
||||
04030201
|
||||
08070605
|
||||
0c0b0a09
|
||||
100f0e0d
|
||||
14130211
|
||||
18171615
|
||||
1c1b1a19
|
||||
201f1e1d
|
||||
24232221
|
||||
28272625
|
||||
2c2b2a29
|
||||
302f2e2d
|
||||
34330231
|
||||
38373635
|
||||
3c3b3a39
|
||||
403f3e3d
|
||||
44434241
|
||||
48474645
|
||||
4c4b4a49
|
||||
504f4e4d
|
||||
54530251
|
||||
58575655
|
||||
5c5b5a59
|
||||
605f5e5d
|
||||
64636261
|
||||
68676665
|
||||
6c6b6a69
|
||||
706f6e6d
|
||||
74730271
|
||||
78777675
|
||||
7c7b7a79
|
||||
de7f7e7d
|
||||
deadbeef
|
||||
03020100 # Double0DstData
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13021110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33023130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53025150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73027170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
020100ef # Double1DstData
|
||||
06050403
|
||||
0a090807
|
||||
0e0d0c0b
|
||||
0211100f
|
||||
16151413
|
||||
1a191817
|
||||
1e1d1c1b
|
||||
2221201f
|
||||
26252423
|
||||
2a292827
|
||||
2e2d2c2b
|
||||
0231302f
|
||||
36353433
|
||||
3a393837
|
||||
3e3d3c3b
|
||||
4241403f
|
||||
46454443
|
||||
4a494847
|
||||
4e4d4c4b
|
||||
0251504f
|
||||
56555453
|
||||
5a595857
|
||||
5e5d5c5b
|
||||
6261605f
|
||||
66656463
|
||||
6a696867
|
||||
6e6d6c6b
|
||||
0271706f
|
||||
76757473
|
||||
7a797877
|
||||
7e7d7c7b
|
||||
deadbe7f
|
||||
deadbeef
|
||||
0100beef # Double2DstData
|
||||
05040302
|
||||
09080706
|
||||
0d0c0b0a
|
||||
11100f0e
|
||||
15141302
|
||||
19181716
|
||||
1d1c1b1a
|
||||
21201f1e
|
||||
25242322
|
||||
29282726
|
||||
2d2c2b2a
|
||||
31302f2e
|
||||
35343302
|
||||
39383736
|
||||
3d3c3b3a
|
||||
41403f3e
|
||||
45444342
|
||||
49484746
|
||||
4d4c4b4a
|
||||
51504f4e
|
||||
55545302
|
||||
59585756
|
||||
5d5c5b5a
|
||||
61605f5e
|
||||
65646362
|
||||
69686766
|
||||
6d6c6b6a
|
||||
71706f6e
|
||||
75747302
|
||||
79787776
|
||||
7d7c7b7a
|
||||
dead7f7e
|
||||
deadbeef
|
||||
00adbeef # Double3DstData
|
||||
04030201
|
||||
08070605
|
||||
0c0b0a09
|
||||
100f0e0d
|
||||
14130211
|
||||
18171615
|
||||
1c1b1a19
|
||||
201f1e1d
|
||||
24232221
|
||||
28272625
|
||||
2c2b2a29
|
||||
302f2e2d
|
||||
34330231
|
||||
38373635
|
||||
3c3b3a39
|
||||
403f3e3d
|
||||
44434241
|
||||
48474645
|
||||
4c4b4a49
|
||||
504f4e4d
|
||||
54530251
|
||||
58575655
|
||||
5c5b5a59
|
||||
605f5e5d
|
||||
64636261
|
||||
68676665
|
||||
6c6b6a69
|
||||
706f6e6d
|
||||
74730271
|
||||
78777675
|
||||
7c7b7a79
|
||||
de7f7e7d
|
||||
deadbeef
|
||||
deadbeef # Double4DstData
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13021110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33023130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53025150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73027170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
deadbeef
|
||||
deadbeef # Double5DstData
|
||||
020100ef
|
||||
06050403
|
||||
0a090807
|
||||
0e0d0c0b
|
||||
0211100f
|
||||
16151413
|
||||
1a191817
|
||||
1e1d1c1b
|
||||
2221201f
|
||||
26252423
|
||||
2a292827
|
||||
2e2d2c2b
|
||||
0231302f
|
||||
36353433
|
||||
3a393837
|
||||
3e3d3c3b
|
||||
4241403f
|
||||
46454443
|
||||
4a494847
|
||||
4e4d4c4b
|
||||
0251504f
|
||||
56555453
|
||||
5a595857
|
||||
5e5d5c5b
|
||||
6261605f
|
||||
66656463
|
||||
6a696867
|
||||
6e6d6c6b
|
||||
0271706f
|
||||
76757473
|
||||
7a797877
|
||||
7e7d7c7b
|
||||
deadbe7f
|
||||
deadbeef # Double6DstData
|
||||
0100beef
|
||||
05040302
|
||||
09080706
|
||||
0d0c0b0a
|
||||
11100f0e
|
||||
15141302
|
||||
19181716
|
||||
1d1c1b1a
|
||||
21201f1e
|
||||
25242322
|
||||
29282726
|
||||
2d2c2b2a
|
||||
31302f2e
|
||||
35343302
|
||||
39383736
|
||||
3d3c3b3a
|
||||
41403f3e
|
||||
45444342
|
||||
49484746
|
||||
4d4c4b4a
|
||||
51504f4e
|
||||
55545302
|
||||
59585756
|
||||
5d5c5b5a
|
||||
61605f5e
|
||||
65646362
|
||||
69686766
|
||||
6d6c6b6a
|
||||
71706f6e
|
||||
75747302
|
||||
79787776
|
||||
7d7c7b7a
|
||||
dead7f7e
|
||||
deadbeef # Double7DstData
|
||||
00adbeef
|
||||
04030201
|
||||
08070605
|
||||
0c0b0a09
|
||||
100f0e0d
|
||||
14130211
|
||||
18171615
|
||||
1c1b1a19
|
||||
201f1e1d
|
||||
24232221
|
||||
28272625
|
||||
2c2b2a29
|
||||
302f2e2d
|
||||
34330231
|
||||
38373635
|
||||
3c3b3a39
|
||||
403f3e3d
|
||||
44434241
|
||||
48474645
|
||||
4c4b4a49
|
||||
504f4e4d
|
||||
54530251
|
||||
58575655
|
||||
5c5b5a59
|
||||
605f5e5d
|
||||
64636261
|
||||
68676665
|
||||
6c6b6a69
|
||||
706f6e6d
|
||||
74730271
|
||||
78777675
|
||||
7c7b7a79
|
||||
de7f7e7d
|
||||
ffffffff #signature
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
ffffffff
|
||||
000000ff
|
||||
00000000
|
|
@ -1,56 +0,0 @@
|
|||
0fffffff # Test 12.3.2.2.1: writeback of value written to PMPADDR0
|
||||
00000000
|
||||
20040000 # writeback of value written to PMPADDR1
|
||||
00000000
|
||||
2004003f # writeback of value written to PMPADDR2
|
||||
00000000
|
||||
20040080 # writeback of value written to PMPADDR3
|
||||
00000000
|
||||
20040084 # writeback of value written to PMPADDR4
|
||||
00000000
|
||||
200400c0 # writeback of value written to PMPADDR5
|
||||
00000000
|
||||
2004013f # writeback of value written to PMPADDR6
|
||||
00000000
|
||||
2fffffff # writeback of value written to PMPADDR15
|
||||
00000000
|
||||
0009001f # writeback of value written to PMPCFG0
|
||||
0018900c
|
||||
00000000 # writeback of value written to PMPCFG2
|
||||
1f000000
|
||||
0009001f # old value of PMPCFG0 after failed write to locked out region
|
||||
0018900c
|
||||
200400c0 # old value of PMPADDR5 after failed write to locked out region
|
||||
00000000
|
||||
00000005 # Test 12.3.2.2.2: read test with access fault to region with L=1, R=0
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00600dbb # read test success from region with L=X=W=R=0
|
||||
00000000
|
||||
0000000b # Test 12.3.2.2.3: ecall from going to S mode from M mode
|
||||
00000000
|
||||
00600d15 # read test success from RW range (confirming previous write)
|
||||
00000000
|
||||
00600d02 # read test success from outside the edge of a read only range
|
||||
00000000
|
||||
00600d12 # read test success from outside the other edge of a read only range
|
||||
00000000
|
||||
00000007 # write test with access fault in read only range
|
||||
00000000
|
||||
00600daa # read success from read only range
|
||||
00000000
|
||||
00000007 # write test with access fault in no-access range
|
||||
00000000
|
||||
00000005 # read test with access fault in no-access range
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000001 # execute test with access fault in no-execute range
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000111 # execute success when X=1
|
||||
00000000
|
||||
00000009 # ecall from terminating tests in S mode
|
||||
00000000
|
|
@ -1,6 +0,0 @@
|
|||
0000000b # Test *** Number: Ecall from going from M mode to S mode
|
||||
00000000
|
||||
00000001 # Instruction access fault from turning on virtual memory with invalid satp address
|
||||
00000000
|
||||
00000009 # ecall from ending tests in S mode.
|
||||
00000000
|
|
@ -1,12 +0,0 @@
|
|||
00002000 # read SD = 0, FS = 01
|
||||
00000000
|
||||
00006000 # read SD = 1, FS = 11
|
||||
80000000
|
||||
00004000 # read written SD = 1, FS = 10
|
||||
00000000
|
||||
00006000 # read SD = 1, FS = 11
|
||||
80000000
|
||||
00000002 # mcause from attempting fmv with status.FS cleared
|
||||
00000000
|
||||
0000000b # mcause from M mode ecall from test termination
|
||||
00000000
|
|
@ -1,4 +0,0 @@
|
|||
00000000 # Test *** Number : Read out SXL, UXL of mstatus as 2 and 2 for 64 bit systems
|
||||
0000000a
|
||||
0000000b # ecall from ending tests in M mode
|
||||
00000000
|
|
@ -31,7 +31,7 @@ rvtest_entry_point:
|
|||
RVMODEL_BOOT
|
||||
RVTEST_CODE_BEGIN
|
||||
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",cbo.zero)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",cbo.zero)
|
||||
|
||||
RVMODEL_IO_WRITE_STR(x31, "# Test Begin\n")
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-64.h"
|
||||
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",csr-permission-s)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",csr-permission-s)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-64.h"
|
||||
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",csr-permission-u)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",csr-permission-u)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-64.h"
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",minfo)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",minfo)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-64.h"
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",misa)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",misa)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ rvtest_entry_point:
|
|||
RVMODEL_BOOT
|
||||
RVTEST_CODE_BEGIN
|
||||
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",ld)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",ld)
|
||||
|
||||
# This test checks the misaligned load and stores work correctly and across D$ line spills.
|
||||
# The general approach is to
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-64.h"
|
||||
RVTEST_ISA("RV64I_Zicsr_Zifencei")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",pmp)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",pmp)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-64.h"
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True; def TEST_CASE_1=True;def NO_SAIL=True;",satp-invalid)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*); def Drvtest_mtrap_routine=True; def TEST_CASE_1=True;",satp-invalid)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "WALLY-TEST-LIB-64.h"
|
||||
RVTEST_ISA("RV64IAF_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*A.*F.*);def TEST_CASE_1=True;def NO_SAIL=True;",status-fp-enabled)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*A.*F.*);def TEST_CASE_1=True;",status-fp-enabled)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "WALLY-TEST-LIB-64.h"
|
||||
|
||||
RVTEST_ISA("RV64I_Zicsr")
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;def NO_SAIL=True;",xlen)
|
||||
RVTEST_CASE(0,"//check ISA:=regex(.*64.*);check ISA:=regex(.*I.*);def TEST_CASE_1=True;",xlen)
|
||||
|
||||
INIT_TESTS
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue