From 7d0280d7ad08bbf9e33164c634c538effdd1340b Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Fri, 7 Sep 2018 16:43:07 +0100 Subject: RISCV: Run RISC-V tests using version compiled to C Current pass rate is 170 out of 181. Looks like there are some issues with rv64ua-p-lrsc.elf, rv64ua-v-lrsc.elf, and rv64uc-p-rvc.elf which I think are caused by me not implementing parts of the RISC-V platform correctly in C. Some of the div and mod tests also fail, which is probably an issue with using the correct rounding. --- test/riscv/run_tests.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test') diff --git a/test/riscv/run_tests.sh b/test/riscv/run_tests.sh index 006ed425..d73fa287 100755 --- a/test/riscv/run_tests.sh +++ b/test/riscv/run_tests.sh @@ -69,5 +69,24 @@ done finish_suite "RISCV tests" +if make -C $SAILDIR/riscv riscv_c; +then + green "Building RISCV specification to C" "ok" +else + red "Building RISCV specification to C" "fail" +fi + +for test in $DIR/tests/*.elf; do + sail -elf $test -o ${test%.elf}.bin 2> /dev/null; + if timeout 5 $SAILDIR/riscv/riscv_c --binary=0x1000,reset_vec.bin --image=${test%.elf}.bin > ${test%.elf}.cout 2>&1 && grep -q SUCCESS ${test%.elf}.cout + then + green "$(basename $test)" "ok" + else + red "$(basename $test)" "fail" + fi +done + +finish_suite "RISCV C tests" + printf "\n" >> $DIR/tests.xml -- cgit v1.2.3