riscv-tests.git
8 years agoMade some progress towards working with spike.
Tim Newsome [Tue, 7 Jun 2016 23:59:26 +0000 (16:59 -0700)]
Made some progress towards working with spike.

I'm writing all the tests so they should just work on real hardware,
too.

8 years agoWIP on debug testing.
Tim Newsome [Sat, 4 Jun 2016 20:19:45 +0000 (13:19 -0700)]
WIP on debug testing.

./gdbserver.py --m2gl_m2s --openocd "$HOME/SiFive/openocd/src/openocd -s
$HOME/SiFive/openocd/tcl" -- RegsTest.test_write_gprs
doesn't fail in a completely crazy way.

8 years agoDefault to XLEN=64 when building in-place
Andrew Waterman [Tue, 19 Jul 2016 00:43:15 +0000 (17:43 -0700)]
Default to XLEN=64 when building in-place

8 years agoAdd a "--with-xlen" configure argument (#16)
Palmer Dabbelt [Tue, 12 Jul 2016 18:17:10 +0000 (11:17 -0700)]
Add a "--with-xlen" configure argument (#16)

The tools had riscv64-unknown-elf-gcc hard-coded all over the place.
This lets users override that if they have a 32-bit toolchain.

8 years agoRemove deprecated uarch counters; support RVC for benchmarks
Andrew Waterman [Tue, 12 Jul 2016 04:22:53 +0000 (21:22 -0700)]
Remove deprecated uarch counters; support RVC for benchmarks

8 years agoMerge rv32ua tests into rv64ua
Andrew Waterman [Tue, 12 Jul 2016 00:51:33 +0000 (17:51 -0700)]
Merge rv32ua tests into rv64ua

8 years agoRemove instruction width assumptions to support RVC
Andrew Waterman [Tue, 12 Jul 2016 00:45:16 +0000 (17:45 -0700)]
Remove instruction width assumptions to support RVC

8 years agoRemove vestigial j instruction test; improve jal test
Andrew Waterman [Tue, 12 Jul 2016 00:41:59 +0000 (17:41 -0700)]
Remove vestigial j instruction test; improve jal test

8 years agoUpdate WFI test for priv v1.9
Andrew Waterman [Fri, 8 Jul 2016 02:29:03 +0000 (19:29 -0700)]
Update WFI test for priv v1.9

8 years agoDon't use FPU in benchmarks that don't need to use the FPU
Andrew Waterman [Fri, 8 Jul 2016 02:28:47 +0000 (19:28 -0700)]
Don't use FPU in benchmarks that don't need to use the FPU

8 years agoDelete unused benchmark
Andrew Waterman [Thu, 7 Jul 2016 22:27:40 +0000 (15:27 -0700)]
Delete unused benchmark

8 years agoUpdate to new PTE format
Andrew Waterman [Wed, 6 Jul 2016 10:25:04 +0000 (03:25 -0700)]
Update to new PTE format

8 years agoMark RV32 tests as such
Andrew Waterman [Thu, 23 Jun 2016 05:55:30 +0000 (22:55 -0700)]
Mark RV32 tests as such

@zhemao make sure to do "make run" in isa/ before committing

8 years agoseparate ua and um tests from ui tests
Howard Mao [Wed, 22 Jun 2016 22:53:38 +0000 (15:53 -0700)]
separate ua and um tests from ui tests

8 years agosplit up rv64uf and rv64ud isa tests
Howard Mao [Wed, 22 Jun 2016 22:37:33 +0000 (15:37 -0700)]
split up rv64uf and rv64ud isa tests

8 years agoFix breakpoint test when only one breakpoint present
Andrew Waterman [Sat, 18 Jun 2016 04:06:37 +0000 (21:06 -0700)]
Fix breakpoint test when only one breakpoint present

8 years agobump env
Andrew Waterman [Sat, 18 Jun 2016 04:00:02 +0000 (21:00 -0700)]
bump env

8 years agorv32ui: sh: Added side effect test (#14)
Sebastian Bøe [Wed, 15 Jun 2016 00:17:16 +0000 (02:17 +0200)]
rv32ui: sh: Added side effect test (#14)

From the test comment:
sh to a word aligned address should only affect the 2 lower bytes
and should leave the 2 upper bytes unmodified.

In this test we write 2 bytes to the lower 2 bytes of the word
tdat11 and then ensure that the both the upper 2 bytes and lower
2 bytes are as expected.

8 years agoTest more than one breakpoint at a time, if present
Andrew Waterman [Fri, 10 Jun 2016 21:30:58 +0000 (14:30 -0700)]
Test more than one breakpoint at a time, if present

8 years agoUpdate breakpoint spec
Andrew Waterman [Fri, 10 Jun 2016 02:02:41 +0000 (19:02 -0700)]
Update breakpoint spec

8 years agoDon't arm breakpoint before setting break address
Andrew Waterman [Thu, 9 Jun 2016 03:51:41 +0000 (20:51 -0700)]
Don't arm breakpoint before setting break address

8 years agoAdd HW breakpoint test
Andrew Waterman [Thu, 9 Jun 2016 03:03:03 +0000 (20:03 -0700)]
Add HW breakpoint test

8 years agoKeep tohost/fromhost at deterministic address
Andrew Waterman [Wed, 25 May 2016 22:36:46 +0000 (15:36 -0700)]
Keep tohost/fromhost at deterministic address

8 years agoEnable LR/SC tests, even for uniprocessors
Andrew Waterman [Mon, 23 May 2016 01:19:48 +0000 (18:19 -0700)]
Enable LR/SC tests, even for uniprocessors

8 years agoUse -mcmodel=medany, not -fpie
Andrew Waterman [Sun, 22 May 2016 23:18:29 +0000 (16:18 -0700)]
Use -mcmodel=medany, not -fpie

We shouldn't generate a GOT.

8 years agospeed up mt-matmul and spmv tests
Andrew Waterman [Thu, 5 May 2016 01:20:05 +0000 (18:20 -0700)]
speed up mt-matmul and spmv tests

8 years agoSpeed up benchmarks that take a long time to run
Andrew Waterman [Wed, 4 May 2016 07:56:42 +0000 (00:56 -0700)]
Speed up benchmarks that take a long time to run

8 years agoget rid of empty benchmark
Howard Mao [Wed, 4 May 2016 00:25:46 +0000 (17:25 -0700)]
get rid of empty benchmark

8 years agoget rid of empty asm test
Howard Mao [Tue, 3 May 2016 23:58:45 +0000 (16:58 -0700)]
get rid of empty asm test

8 years agoUpdate env, fixing multicore VM tests
Andrew Waterman [Tue, 3 May 2016 18:17:24 +0000 (11:17 -0700)]
Update env, fixing multicore VM tests

8 years agoadd empty benchmark
Howard Mao [Tue, 3 May 2016 03:09:49 +0000 (20:09 -0700)]
add empty benchmark

8 years agoadd empty ISA test
Howard Mao [Tue, 3 May 2016 01:32:29 +0000 (18:32 -0700)]
add empty ISA test

8 years agoRemove incorrect M-mode WFI test
Andrew Waterman [Mon, 2 May 2016 22:05:38 +0000 (15:05 -0700)]
Remove incorrect M-mode WFI test

MSIP isn't supposed to be writable locally!

8 years agoStop using tohost/fromhost registers
Andrew Waterman [Mon, 2 May 2016 21:29:41 +0000 (14:29 -0700)]
Stop using tohost/fromhost registers

8 years agoERET -> xRET; new memory map
Andrew Waterman [Sun, 1 May 2016 03:45:27 +0000 (20:45 -0700)]
ERET -> xRET; new memory map

For now, we no longer build hex files, because the programs don't
start at address 0.  This decision will likely be revisited.

8 years agoDon't use stats register; refer to uarch counters by number
Andrew Waterman [Wed, 6 Apr 2016 17:29:08 +0000 (10:29 -0700)]
Don't use stats register; refer to uarch counters by number

8 years agoFix expected misa register value for RV32
Andrew Waterman [Wed, 6 Apr 2016 17:22:20 +0000 (10:22 -0700)]
Fix expected misa register value for RV32

8 years agoRework benchmarks to run in M-mode
Andrew Waterman [Tue, 15 Mar 2016 00:47:25 +0000 (17:47 -0700)]
Rework benchmarks to run in M-mode

This broadens their utility and lets them use the M-mode counters directly.

8 years agoUpdate .gitignore
Andrew Waterman [Tue, 15 Mar 2016 00:03:09 +0000 (17:03 -0700)]
Update .gitignore

8 years agoMerge branch 'priv-1.9'
Andrew Waterman [Tue, 15 Mar 2016 00:01:44 +0000 (17:01 -0700)]
Merge branch 'priv-1.9'

8 years agoMore RV32 tests
Andrew Waterman [Mon, 14 Mar 2016 23:57:50 +0000 (16:57 -0700)]
More RV32 tests

8 years agoAdd missing rv32mi/rv32si tests
Andrew Waterman [Thu, 10 Mar 2016 22:47:44 +0000 (14:47 -0800)]
Add missing rv32mi/rv32si tests

8 years agorevert install rule to the old correct way
Howard Mao [Mon, 7 Mar 2016 23:14:48 +0000 (15:14 -0800)]
revert install rule to the old correct way

8 years agoUndo accidental Makefile modification
Andrew Waterman [Thu, 3 Mar 2016 18:49:57 +0000 (10:49 -0800)]
Undo accidental Makefile modification

8 years agoMake WFI test more strict
Andrew Waterman [Thu, 3 Mar 2016 07:19:58 +0000 (23:19 -0800)]
Make WFI test more strict

8 years agoSome S-mode tests really only belong in M-mode
Andrew Waterman [Thu, 3 Mar 2016 06:33:37 +0000 (22:33 -0800)]
Some S-mode tests really only belong in M-mode

8 years agoMake JALR test sensible in RISC-V, rather than SMIPS
Andrew Waterman [Thu, 3 Mar 2016 06:34:19 +0000 (22:34 -0800)]
Make JALR test sensible in RISC-V, rather than SMIPS

8 years agoFix ma_fetch to work with or without RVC
Andrew Waterman [Thu, 3 Mar 2016 05:42:17 +0000 (21:42 -0800)]
Fix ma_fetch to work with or without RVC

8 years agoWIP on priv spec v1.9
Andrew Waterman [Mon, 29 Feb 2016 07:47:09 +0000 (23:47 -0800)]
WIP on priv spec v1.9

8 years agoWIP on priv spec v1.9
Andrew Waterman [Mon, 29 Feb 2016 07:24:46 +0000 (23:24 -0800)]
WIP on priv spec v1.9

8 years agoFix ./configure in root
Andrew Waterman [Thu, 3 Mar 2016 19:02:24 +0000 (11:02 -0800)]
Fix ./configure in root

This Makefile is still super ghetto!

8 years agoNegative float -> unsigned int conversions return 0
Andrew Waterman [Wed, 2 Mar 2016 00:32:25 +0000 (16:32 -0800)]
Negative float -> unsigned int conversions return 0

8 years agoMerge pull request #8 from riscv/sqrt-171
Colin Schmidt [Tue, 1 Mar 2016 00:55:12 +0000 (16:55 -0800)]
Merge pull request #8 from riscv/sqrt-171

What is the square root of 171?

8 years agoremove comments now that tests pass
Colin Schmidt [Tue, 1 Mar 2016 00:54:36 +0000 (16:54 -0800)]
remove comments now that tests pass

8 years agoFix capitalization of XLEN variable
Andrew Waterman [Mon, 29 Feb 2016 07:28:32 +0000 (23:28 -0800)]
Fix capitalization of XLEN variable

8 years agoStrip big-endian tests
Andrew Waterman [Mon, 29 Feb 2016 07:18:19 +0000 (23:18 -0800)]
Strip big-endian tests

These tests will likely never support non-standard big-endian systems.

8 years agoMerge pull request #10 from riscv/travis-dev
Palmer Dabbelt [Sat, 27 Feb 2016 20:42:46 +0000 (12:42 -0800)]
Merge pull request #10 from riscv/travis-dev

Support multi configuration travis builds

8 years agoonly build the rv32 bit tests if xlen is 32
Colin Schmidt [Sat, 27 Feb 2016 06:01:37 +0000 (22:01 -0800)]
only build the rv32 bit tests if xlen is 32

8 years agoremove malloc declaration from dhrystone
Colin Schmidt [Sat, 27 Feb 2016 06:00:31 +0000 (22:00 -0800)]
remove malloc declaration from dhrystone

it was unused and causing issues when building
with the linux toolchain

8 years agoallow make variables to be overwritten update configure
Colin Schmidt [Fri, 26 Feb 2016 23:44:54 +0000 (15:44 -0800)]
allow make variables to be overwritten update configure

configure now respects the host flag, rather than hardcoding the risc-v
compiler

8 years agoadd new failing fsqrt test case
Colin Schmidt [Thu, 25 Feb 2016 01:18:42 +0000 (17:18 -0800)]
add new failing fsqrt test case

when using testfloat the correct format is
input output unknown value
This comment requested by palmer

8 years agomake install rule copy the right things to the right places
Howard Mao [Wed, 24 Feb 2016 07:11:27 +0000 (23:11 -0800)]
make install rule copy the right things to the right places

8 years agofix install rule
Howard Mao [Wed, 24 Feb 2016 06:18:00 +0000 (22:18 -0800)]
fix install rule

8 years agoWhat is the square root of 171?
Palmer Dabbelt [Thu, 18 Feb 2016 08:29:02 +0000 (00:29 -0800)]
What is the square root of 171?

I get differnt answers on Rocket and Spike.  The Spike answer matches my Intel
machine.  This fails when I compute both the single precision and double
precision answer.

8 years agoMerge pull request #7 from riscv/nan2
Andrew Waterman [Sat, 30 Jan 2016 02:22:10 +0000 (18:22 -0800)]
Merge pull request #7 from riscv/nan2

Two extra NaN test cases

8 years agoTest that fcvt canonicalizes NaNs
Palmer Dabbelt [Sat, 30 Jan 2016 00:54:18 +0000 (16:54 -0800)]
Test that fcvt canonicalizes NaNs

I believe this is entirely within the RISC-V ISA spec:

 * fmv is defined to move IEEE floats
 * All otherwise-unspeficied floating-point operations canonicalize NaNs

This test fails on Spike, but passes on Rocket.  I believe this is the source
of my current torture failures.

8 years agoCheck NAN values in fdiv tests
Palmer Dabbelt [Fri, 29 Jan 2016 19:33:40 +0000 (11:33 -0800)]
Check NAN values in fdiv tests

The new RISC-V ISA spec mandates NAN bit patterns.  This test checks to make
sure that those bit patterns come out of fsqrt(-1).  These pass on both spike
and Rocket.

An additional _DWORD_RESULT version of the FP test macros is added to
facilitate floating-point tests that compare against particular bit patterns.

8 years agoUse new NaN handling for conversions to integer
Andrew Waterman [Wed, 13 Jan 2016 00:16:58 +0000 (16:16 -0800)]
Use new NaN handling for conversions to integer

8 years agoUse new canonical NaN
Andrew Waterman [Wed, 13 Jan 2016 00:16:49 +0000 (16:16 -0800)]
Use new canonical NaN

8 years agoWrite 1, not 0, to MIPI
Andrew Waterman [Wed, 13 Jan 2016 00:16:14 +0000 (16:16 -0800)]
Write 1, not 0, to MIPI

8 years agochange la to li as appropriate in test macros
Howard Mao [Mon, 14 Dec 2015 17:54:13 +0000 (09:54 -0800)]
change la to li as appropriate in test macros

9 years agoMerge pull request #4 from pmundkur/devel
Andrew Waterman [Fri, 4 Dec 2015 22:45:28 +0000 (14:45 -0800)]
Merge pull request #4 from pmundkur/devel

Add a top-level make clean target.

9 years agoUpdate IPI test to work with new mechanism
Andrew Waterman [Mon, 16 Nov 2015 22:16:05 +0000 (14:16 -0800)]
Update IPI test to work with new mechanism

9 years agoupdate env
Andrew Waterman [Fri, 6 Nov 2015 08:23:47 +0000 (00:23 -0800)]
update env

9 years agoAvoid REMU in timer test
Andrew Waterman [Mon, 19 Oct 2015 19:25:23 +0000 (12:25 -0700)]
Avoid REMU in timer test

9 years agofix to riscv_test.h in env
Howard Mao [Mon, 28 Sep 2015 20:49:41 +0000 (13:49 -0700)]
fix to riscv_test.h in env

9 years agoAdd another recoding test
Andrew Waterman [Thu, 24 Sep 2015 18:49:11 +0000 (11:49 -0700)]
Add another recoding test

9 years agoAdd another recoding test case
Andrew Waterman [Mon, 21 Sep 2015 19:21:11 +0000 (12:21 -0700)]
Add another recoding test case

9 years agoRemove executable permissions from source files
Andrew Waterman [Mon, 21 Sep 2015 06:38:38 +0000 (23:38 -0700)]
Remove executable permissions from source files

9 years agoRemove Hwacha v3 tests
Andrew Waterman [Mon, 21 Sep 2015 06:38:00 +0000 (23:38 -0700)]
Remove Hwacha v3 tests

9 years agoAdd another FP recoding test case
Andrew Waterman [Sun, 20 Sep 2015 21:57:19 +0000 (14:57 -0700)]
Add another FP recoding test case

9 years agoAdd test for FP recoding corner cases
Andrew Waterman [Wed, 16 Sep 2015 20:45:07 +0000 (13:45 -0700)]
Add test for FP recoding corner cases

9 years agoAdd a top-level make clean target.
Prashanth Mundkur [Thu, 6 Aug 2015 20:27:10 +0000 (13:27 -0700)]
Add a top-level make clean target.

9 years agoUse medany code model, not PIC, for ISA tests
Andrew Waterman [Tue, 4 Aug 2015 01:20:54 +0000 (18:20 -0700)]
Use medany code model, not PIC, for ISA tests

9 years agodon't pass fpu/vector tests when fpu/vector not present
Yunsup Lee [Fri, 17 Jul 2015 19:31:14 +0000 (12:31 -0700)]
don't pass fpu/vector tests when fpu/vector not present

9 years agoCoherence torture test for VM tests
Andrew Waterman [Tue, 7 Jul 2015 00:07:02 +0000 (17:07 -0700)]
Coherence torture test for VM tests

VM tests only support one core, so have the other cores hammer on the
memory system to attempt to catch simple coherence regressions.

9 years agoNew M-mode timers
Andrew Waterman [Sun, 5 Jul 2015 23:57:07 +0000 (16:57 -0700)]
New M-mode timers

9 years agoFix RV32 handling of syscall arguments
Andrew Waterman [Fri, 3 Jul 2015 00:14:06 +0000 (17:14 -0700)]
Fix RV32 handling of syscall arguments

9 years agoAdd _hard_float check in crt.S.
Christopher Celio [Wed, 1 Jul 2015 22:59:11 +0000 (15:59 -0700)]
Add _hard_float check in crt.S.

9 years agoAdd basic WFI test
Andrew Waterman [Tue, 19 May 2015 09:28:59 +0000 (02:28 -0700)]
Add basic WFI test

9 years agoFix VM, MIP encoding
Andrew Waterman [Thu, 14 May 2015 09:18:59 +0000 (02:18 -0700)]
Fix VM, MIP encoding

9 years agoUpdate to privileged architecture version 1.7
Andrew Waterman [Sat, 9 May 2015 23:39:39 +0000 (16:39 -0700)]
Update to privileged architecture version 1.7

9 years agoFix dhrystone timing code
Andrew Waterman [Fri, 1 May 2015 22:16:55 +0000 (15:16 -0700)]
Fix dhrystone timing code

9 years agoMake dhrystone report correct-ish numbers
Andrew Waterman [Fri, 1 May 2015 07:56:39 +0000 (00:56 -0700)]
Make dhrystone report correct-ish numbers

9 years agoDon't rely on reset values of MSTATUS_UA/SA
Andrew Waterman [Tue, 21 Apr 2015 21:58:47 +0000 (14:58 -0700)]
Don't rely on reset values of MSTATUS_UA/SA

9 years agoFix benchmark compilation/execution on RV32
Andrew Waterman [Tue, 21 Apr 2015 21:57:42 +0000 (14:57 -0700)]
Fix benchmark compilation/execution on RV32

9 years agoMerge pull request #3 from joerchan/master
Andrew Waterman [Mon, 13 Apr 2015 21:43:18 +0000 (14:43 -0700)]
Merge pull request #3 from joerchan/master

Better coverage of mul high instructions

9 years agoCorrect expected high value of multiplication
Joakim Andersson [Mon, 13 Apr 2015 20:57:04 +0000 (22:57 +0200)]
Correct expected high value of multiplication

9 years agoBetter coverage of mul high instructions
Joakim Andersson [Sun, 12 Apr 2015 21:50:05 +0000 (23:50 +0200)]
Better coverage of mul high instructions

9 years agoRun RV32 tests on spike with --isa=RV32
Andrew Waterman [Sat, 4 Apr 2015 05:16:00 +0000 (22:16 -0700)]
Run RV32 tests on spike with --isa=RV32