aboutsummaryrefslogtreecommitdiff
path: root/isa/rv64ui
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-03-12 17:39:44 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-03-12 17:39:44 -0700
commit7864b6441aad0bca337eb70fcd12394cc68bddc6 (patch)
tree04e9cc542d46b016706e1761100db94c2fc75b9c /isa/rv64ui
parentd7dba3cbb448b2deeefa54653c7fcaab7e22940f (diff)
downloadriscv-tests-7864b6441aad0bca337eb70fcd12394cc68bddc6.zip
riscv-tests-7864b6441aad0bca337eb70fcd12394cc68bddc6.tar.gz
riscv-tests-7864b6441aad0bca337eb70fcd12394cc68bddc6.tar.bz2
Update to new privileged spec
Diffstat (limited to 'isa/rv64ui')
-rw-r--r--isa/rv64ui/Makefrag22
-rw-r--r--isa/rv64ui/lrsc.S10
2 files changed, 18 insertions, 14 deletions
diff --git a/isa/rv64ui/Makefrag b/isa/rv64ui/Makefrag
index fd4ac41..a0f974d 100644
--- a/isa/rv64ui/Makefrag
+++ b/isa/rv64ui/Makefrag
@@ -30,17 +30,17 @@ rv64ui_mc_tests = \
lrsc
rv64ui_sc_vec_tests = \
- add addi addiw addw \
- and andi \
- lui \
- mul mulh mulhsu mulhu mulw \
- or ori \
- sll slli slliw sllw \
- slt slti sltiu sltu \
- sra srai sraiw sraw \
- srl srli srliw srlw \
- sub subw \
- xor xori \
+ #add addi addiw addw \
+ #and andi \
+ #lui \
+ #mul mulh mulhsu mulhu mulw \
+ #or ori \
+ #sll slli slliw sllw \
+ #slt slti sltiu sltu \
+ #sra srai sraiw sraw \
+ #srl srli srliw srlw \
+ #sub subw \
+ #xor xori \
rv64ui_p_tests = $(addprefix rv64ui-p-, $(rv64ui_sc_tests))
rv64ui_pm_tests = $(addprefix rv64ui-pm-, $(rv64ui_mc_tests))
diff --git a/isa/rv64ui/lrsc.S b/isa/rv64ui/lrsc.S
index 0300eae..6c4904e 100644
--- a/isa/rv64ui/lrsc.S
+++ b/isa/rv64ui/lrsc.S
@@ -13,13 +13,17 @@
RVTEST_RV64U
RVTEST_CODE_BEGIN
-# wait for all cores to boot
+# get a unique core id
la a0, coreid
li a1, 1
amoadd.w a2, a1, (a0)
-lw a3, 4(x0)
+
+# for now, only run this on core 0
+1:li a3, 1
+bgeu a2, a3, 1b
+
1: lw a1, (a0)
-blt a1, a3, 1b
+bltu a1, a3, 1b
# make sure that sc without a reservation fails.
TEST_CASE( 2, a4, 1, \