aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2020-03-11 16:35:35 -0700
committerAndrew Waterman <andrew@sifive.com>2020-03-11 16:35:35 -0700
commit272093f3281b54cbf0a14c3ccdd3c0cb47a28fb5 (patch)
treebfb40c5cfcdb4a7dd63641cf83c6244a1f1a35fe
parentee576c08929905b07692f2e4c8a6b032752ae102 (diff)
downloadriscv-tests-272093f3281b54cbf0a14c3ccdd3c0cb47a28fb5.zip
riscv-tests-272093f3281b54cbf0a14c3ccdd3c0cb47a28fb5.tar.gz
riscv-tests-272093f3281b54cbf0a14c3ccdd3c0cb47a28fb5.tar.bz2
Add comment explaining convoluted rv64mi-p-scall behavior
-rw-r--r--isa/rv64si/scall.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/isa/rv64si/scall.S b/isa/rv64si/scall.S
index 82f202a..9956e03 100644
--- a/isa/rv64si/scall.S
+++ b/isa/rv64si/scall.S
@@ -57,6 +57,12 @@ do_scall:
TEST_PASSFAIL
+# Depending on the test environment, the M-mode version of this test might
+# not actually invoke the following handler. Instead, the usual ECALL
+# handler in the test environment might detect the CAUSE_USER_ECALL or
+# CAUSE_MACHINE_ECALL exception and mark the test as having passed.
+# Either way, we'll get the coverage we desire: such a handler must check
+# both mcause and TESTNUM, just like the following handler.
.align 2
.global stvec_handler
stvec_handler: