From 12b2baff827707f6934e71b6f1623f423fe08e1d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 18 Jan 2024 17:33:59 -0800 Subject: [PATCH 1/2] add coverage of sfence.inval.ir instruction and fix sret coverage --- tests/coverage/priv.S | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/coverage/priv.S b/tests/coverage/priv.S index aa9c8b50b..dcf56e14a 100644 --- a/tests/coverage/priv.S +++ b/tests/coverage/priv.S @@ -297,6 +297,16 @@ sretdone: wfi + + + # Test uncovered privdec instructions + # exercise sfence.inval.ir instruction + .word 0x18100073 + + # exercise sret with rs1 not 0 + .word 0x102F8073 + + j done From 82d9467eeaf10135548b491e4224b5d5e0b638ec Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 18 Jan 2024 19:29:16 -0800 Subject: [PATCH 2/2] Add coverage of FIOM in different privelege modes --- tests/coverage/csrwrites.S | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/coverage/csrwrites.S b/tests/coverage/csrwrites.S index 63ee00c38..ce5639bd7 100644 --- a/tests/coverage/csrwrites.S +++ b/tests/coverage/csrwrites.S @@ -37,4 +37,31 @@ main: csrrw t1, menvcfg, t0 csrrw t2, senvcfg, t0 + # testing FIOM with different privelege modes + # setting environment config (to both 1 and 0) in each privelege mode + csrsi menvcfg, 1 + li a0, 1 + ecall # enter supervisor mode + + li a0, 0 + ecall # enter user mode + + li a0, 1 + ecall # enter supervisor mode + + csrsi senvcfg, 1 + li a0, 0 + ecall # enter user mode + + li a0, 3 + ecall # enter machine mode + csrci menvcfg, 1 + + li a0, 1 + ecall # enter supervisor mode + + li a0, 0 + ecall # enter user mode + + j done