riscv-tests.git
7 years agoOnly run hwbp tests on targets that support them.
Tim Newsome [Wed, 13 Jul 2016 18:25:42 +0000 (11:25 -0700)]
Only run hwbp tests on targets that support them.

7 years agoTell gdb what xlen is when there's no ELF file.
Tim Newsome [Wed, 13 Jul 2016 17:51:05 +0000 (10:51 -0700)]
Tell gdb what xlen is when there's no ELF file.

This makes several spike32 tests pass that used to fail. Ideally gdb
wouldn't need to be told, but that's a project for another day.

7 years agoflush spike log after initial write.
Tim Newsome [Wed, 13 Jul 2016 17:37:53 +0000 (10:37 -0700)]
flush spike log after initial write.

This makes sure the execution line is the first one in the logfile.

7 years agoI think I've finally got malloc working right.
Tim Newsome [Fri, 1 Jul 2016 01:57:24 +0000 (18:57 -0700)]
I think I've finally got malloc working right.

Now gdb can call functions and change strings.

7 years agoMake variables local again, now that gdb is "fixed."
Tim Newsome [Thu, 30 Jun 2016 20:11:20 +0000 (13:11 -0700)]
Make variables local again, now that gdb is "fixed."

7 years agoAdd test for gdb function calls.
Tim Newsome [Tue, 28 Jun 2016 00:10:09 +0000 (17:10 -0700)]
Add test for gdb function calls.

7 years agoTest step over invalid instruction.
Tim Newsome [Wed, 22 Jun 2016 02:20:27 +0000 (19:20 -0700)]
Test step over invalid instruction.

7 years agoTurn off debugging.
Tim Newsome [Tue, 21 Jun 2016 20:59:19 +0000 (13:59 -0700)]
Turn off debugging.

7 years agoRemove hardware breakpoints so future tests work.
Tim Newsome [Tue, 21 Jun 2016 20:56:32 +0000 (13:56 -0700)]
Remove hardware breakpoints so future tests work.

7 years agoMake DownloadTest pass on boards with little RAM.
Tim Newsome [Tue, 21 Jun 2016 00:38:20 +0000 (17:38 -0700)]
Make DownloadTest pass on boards with little RAM.

7 years agoIncrease TCK speed.
Tim Newsome [Tue, 21 Jun 2016 00:25:53 +0000 (17:25 -0700)]
Increase TCK speed.

7 years agoWrite command to logfile.
Tim Newsome [Sun, 19 Jun 2016 20:31:51 +0000 (13:31 -0700)]
Write command to logfile.

7 years agoAdd test for debuginfo symbols.
Tim Newsome [Sat, 18 Jun 2016 18:07:06 +0000 (11:07 -0700)]
Add test for debuginfo symbols.

Currently fails with 32-bit tools.

7 years agoAdd explicit test for stepping over branches/jumps.
Tim Newsome [Thu, 16 Jun 2016 20:03:19 +0000 (13:03 -0700)]
Add explicit test for stepping over branches/jumps.

7 years agoImprove formatting. Add examples.
Tim Newsome [Thu, 16 Jun 2016 17:07:15 +0000 (10:07 -0700)]
Improve formatting. Add examples.

7 years agoIncrease "load" timeout.
Tim Newsome [Thu, 16 Jun 2016 17:06:38 +0000 (10:06 -0700)]
Increase "load" timeout.

7 years agoBump up speed.
Tim Newsome [Thu, 16 Jun 2016 17:06:17 +0000 (10:06 -0700)]
Bump up speed.

7 years agoAdd a few tips.
Tim Newsome [Tue, 14 Jun 2016 00:56:53 +0000 (17:56 -0700)]
Add a few tips.

7 years agoUpdate IDCODE.
Tim Newsome [Fri, 10 Jun 2016 23:41:24 +0000 (16:41 -0700)]
Update IDCODE.

7 years agoAdd test_hwbp_2.
Tim Newsome [Fri, 10 Jun 2016 23:38:37 +0000 (16:38 -0700)]
Add test_hwbp_2.

7 years agoAdd test_too_many_hwbp.
Tim Newsome [Fri, 10 Jun 2016 23:30:49 +0000 (16:30 -0700)]
Add test_too_many_hwbp.

7 years agoFix hwbp test.
Tim Newsome [Fri, 10 Jun 2016 22:37:47 +0000 (15:37 -0700)]
Fix hwbp test.

7 years agoAdd hwbp test (currently doesn't pass).
Tim Newsome [Fri, 10 Jun 2016 21:29:37 +0000 (14:29 -0700)]
Add hwbp test (currently doesn't pass).

7 years agoFix cut and paste bug in test_change_pc
Tim Newsome [Fri, 10 Jun 2016 21:10:31 +0000 (14:10 -0700)]
Fix cut and paste bug in test_change_pc

7 years agoMake tests work with broken 32-bit compiler.
Tim Newsome [Fri, 10 Jun 2016 21:06:13 +0000 (14:06 -0700)]
Make tests work with broken 32-bit compiler.

Apparently the 32-bit compiler doesn't generate good enough debug info
for gdb to know what function we're in, which also means it doesn't know
where the local variables in those functions are stored.

7 years agoAdd simple register tests.
Tim Newsome [Fri, 10 Jun 2016 17:45:27 +0000 (10:45 -0700)]
Add simple register tests.

Make the RegsTest case a bit more comprehensible.

7 years agoAdd block test.
Tim Newsome [Thu, 9 Jun 2016 21:39:30 +0000 (14:39 -0700)]
Add block test.

7 years agoTest all memory access sizes.
Tim Newsome [Thu, 9 Jun 2016 16:25:21 +0000 (09:25 -0700)]
Test all memory access sizes.

7 years agoAll tests pass with spike now.
Tim Newsome [Thu, 9 Jun 2016 02:53:57 +0000 (19:53 -0700)]
All tests pass with spike now.

I did comment out a couple.

7 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.

7 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.

7 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

7 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.

7 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

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

7 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

7 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

7 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

7 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

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

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

7 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

7 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

7 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

7 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

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

7 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.

7 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

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

7 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

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

7 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

7 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

7 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.

7 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

7 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

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

7 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

7 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

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

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

7 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!

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

7 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