riscv-tests.git
5 years agoMove debug testing from all into debug-check target.
Tim Newsome [Wed, 21 Sep 2016 17:23:35 +0000 (10:23 -0700)]
Move debug testing from all into debug-check target.

Fixes issue #30.

5 years agoMinor tweaks to trigger tests for openocd.
Tim Newsome [Tue, 20 Sep 2016 16:47:11 +0000 (09:47 -0700)]
Minor tweaks to trigger tests for openocd.

5 years agoRewrite debug testing.
Tim Newsome [Thu, 15 Sep 2016 20:11:56 +0000 (13:11 -0700)]
Rewrite debug testing.

No longer use unittest. Now tests can return not_applicable if eg. a
desired execution mode isn't implemented on a target. Also we do a
better job killing spike processes when a test fails.

Did a lot of code cleanup, partly by using pylint.

Fix the Makefile so that if the test fails, 'make' actually fails too.

5 years agoAdd rv32uf tests
Andrew Waterman [Wed, 7 Sep 2016 06:58:57 +0000 (23:58 -0700)]
Add rv32uf tests

5 years agoMake RVC test fit in 16 KiB
Andrew Waterman [Fri, 2 Sep 2016 22:42:02 +0000 (15:42 -0700)]
Make RVC test fit in 16 KiB

5 years agoFix/add to instant trigger tests.
Tim Newsome [Fri, 2 Sep 2016 19:27:14 +0000 (12:27 -0700)]
Fix/add to instant trigger tests.

5 years agoLimit spike RAM so I can run valgrind on it.
Tim Newsome [Fri, 2 Sep 2016 16:12:32 +0000 (09:12 -0700)]
Limit spike RAM so I can run valgrind on it.

5 years agoAdd some immediate trigger tests.
Tim Newsome [Thu, 1 Sep 2016 20:17:56 +0000 (13:17 -0700)]
Add some immediate trigger tests.

5 years agoCreate TriggerTest.
Tim Newsome [Thu, 1 Sep 2016 17:07:54 +0000 (10:07 -0700)]
Create TriggerTest.

5 years agoAdd test for address triggers.
Tim Newsome [Tue, 23 Aug 2016 00:54:51 +0000 (17:54 -0700)]
Add test for address triggers.

5 years agoRemove "import ." notation.
Tim Newsome [Thu, 1 Sep 2016 20:18:29 +0000 (13:18 -0700)]
Remove "import ." notation.

Doesn't work with Python 2.7.9 which is the default in latest Debian.

5 years agoAdd .pyc to .gitignore.
Tim Newsome [Thu, 1 Sep 2016 16:38:26 +0000 (09:38 -0700)]
Add .pyc to .gitignore.

5 years agoChange accidental use of SLTIU in SLTI tests (#26)
Brett Cannon [Wed, 31 Aug 2016 18:59:23 +0000 (11:59 -0700)]
Change accidental use of SLTIU in SLTI tests (#26)

5 years agoShare code between rv32ui and rv64ui tests
Andrew Waterman [Tue, 30 Aug 2016 20:02:59 +0000 (13:02 -0700)]
Share code between rv32ui and rv64ui tests

They were almost identical, so I made them actually identical.  This
will reduce the burden of writing further tests that span base ISAs.

Tests can still be specialized for XLEN with ifdefs on e.g. __riscv64.

5 years agoAdd missing RV32 slt[i]u tests
Andrew Waterman [Tue, 30 Aug 2016 18:11:08 +0000 (11:11 -0700)]
Add missing RV32 slt[i]u tests

Closes #12.

5 years agoOn RV32, zero-extend pointers for HTIF
Andrew Waterman [Mon, 29 Aug 2016 20:42:37 +0000 (13:42 -0700)]
On RV32, zero-extend pointers for HTIF

5 years agoDon't explicitly use atomics in rsort
Andrew Waterman [Mon, 29 Aug 2016 20:41:16 +0000 (13:41 -0700)]
Don't explicitly use atomics in rsort

This is a pattern GCC should pick up for targets where AMOADD is faster
than LW/ADD/SW.

5 years agoUpdate to new breakpoint & counter spec
Andrew Waterman [Sat, 27 Aug 2016 02:53:25 +0000 (19:53 -0700)]
Update to new breakpoint & counter spec

5 years agoMerge pull request #24 from richardxia/declare-dependencies
Tim Newsome [Tue, 23 Aug 2016 21:34:59 +0000 (14:34 -0700)]
Merge pull request #24 from richardxia/declare-dependencies

Add requirements.txt and reorder imports by type.

5 years agoUse a version range.
Richard Xia [Tue, 23 Aug 2016 21:25:47 +0000 (14:25 -0700)]
Use a version range.

5 years agoAdd requirements.txt and reorder imports by type.
Richard Xia [Tue, 23 Aug 2016 01:16:53 +0000 (18:16 -0700)]
Add requirements.txt and reorder imports by type.

5 years agoUse env shebang so for virtualenv compatibility.
Tim Newsome [Tue, 23 Aug 2016 00:59:41 +0000 (17:59 -0700)]
Use env shebang so for virtualenv compatibility.

5 years agoImprove AMO tests
Andrew Waterman [Wed, 17 Aug 2016 07:37:17 +0000 (00:37 -0700)]
Improve AMO tests

- avoid code duplication between RV32 and RV64 variants
- make LR/SC do something interesting on uniprocessors
- avoid requiring M extension

5 years agoFix missing setup in test_turbostep.
Tim Newsome [Tue, 16 Aug 2016 17:44:16 +0000 (10:44 -0700)]
Fix missing setup in test_turbostep.

5 years agoSimplify test_function_call.
Tim Newsome [Mon, 15 Aug 2016 19:52:03 +0000 (12:52 -0700)]
Simplify test_function_call.

Now it doesn't rely on malloc, which can be tricky to get to work in and
of itself.

5 years agobump env
Andrew Waterman [Tue, 16 Aug 2016 18:01:27 +0000 (11:01 -0700)]
bump env

5 years agoMake ENTROPY deterministic
Andrew Waterman [Tue, 16 Aug 2016 07:46:27 +0000 (00:46 -0700)]
Make ENTROPY deterministic

Base it on the output filename, not the pid.  This still gets decent
coverage, but is deterministic.

5 years agoAdd --32 and --64 options to gdbserver.py.
Tim Newsome [Mon, 15 Aug 2016 17:28:01 +0000 (10:28 -0700)]
Add --32 and --64 options to gdbserver.py.

5 years agoFix cut and paste bug.
Tim Newsome [Mon, 15 Aug 2016 17:54:34 +0000 (10:54 -0700)]
Fix cut and paste bug.

Also minor style changes.

5 years agoMerge pull request #21 from sifive/add_freedom_sim_targets
Tim Newsome [Fri, 12 Aug 2016 01:43:46 +0000 (18:43 -0700)]
Merge pull request #21 from sifive/add_freedom_sim_targets

Add freedom sim targets

5 years agoAdd FreedomU500 & incorporate feedback
Megan Wachs [Thu, 11 Aug 2016 20:43:04 +0000 (13:43 -0700)]
Add FreedomU500 & incorporate feedback

5 years agoMake simple memory test errors more readable.
Tim Newsome [Thu, 11 Aug 2016 19:15:04 +0000 (12:15 -0700)]
Make simple memory test errors more readable.

5 years agomove fclass macros into the same file as the rest (#22)
Colin Schmidt [Mon, 8 Aug 2016 23:08:32 +0000 (16:08 -0700)]
move fclass macros into the same file as the rest (#22)

5 years agoBy default debug=False
Megan Wachs [Mon, 8 Aug 2016 19:24:44 +0000 (12:24 -0700)]
By default debug=False

5 years agoAdd U500 Target
Megan Wachs [Mon, 8 Aug 2016 18:34:32 +0000 (11:34 -0700)]
Add U500 Target

5 years agoSome code cleanup
Megan Wachs [Fri, 5 Aug 2016 21:50:14 +0000 (14:50 -0700)]
Some code cleanup

5 years agoAdded FreedomE300 Simulator target
Megan Wachs [Thu, 4 Aug 2016 21:21:37 +0000 (14:21 -0700)]
Added FreedomE300 Simulator target

5 years agoMerge remote-tracking branch 'origin/master'
Megan Wachs [Mon, 8 Aug 2016 18:41:25 +0000 (11:41 -0700)]
Merge remote-tracking branch 'origin/master'

5 years agoRe-enable debug testing. (#20)
Tim Newsome [Mon, 1 Aug 2016 17:37:03 +0000 (10:37 -0700)]
Re-enable debug testing. (#20)

Manually ran all the steps travis does, and the tests pass.

5 years agoAdd RV32 RVC and breakpoint tests
Andrew Waterman [Fri, 29 Jul 2016 21:47:26 +0000 (14:47 -0700)]
Add RV32 RVC and breakpoint tests

5 years agoAdd an RVC test
Andrew Waterman [Fri, 29 Jul 2016 20:59:33 +0000 (13:59 -0700)]
Add an RVC test

5 years agoAdd tests for virtual priv register.
Tim Newsome [Thu, 28 Jul 2016 21:47:12 +0000 (14:47 -0700)]
Add tests for virtual priv register.

Users can use this register to inspect and change the privilege level of
the core. It doesn't make any assumptions about the actual underlying
debug mechanism (as opposed to having the user change DCSR directly,
which may not exist in all debug implementations).

5 years agoAdd --gdb argument so I can run valgrind on gdb.
Tim Newsome [Thu, 28 Jul 2016 17:26:47 +0000 (10:26 -0700)]
Add --gdb argument so I can run valgrind on gdb.

5 years agoRename m2gl_m2s to freedom-e300. (#19)
Tim Newsome [Wed, 27 Jul 2016 23:05:09 +0000 (16:05 -0700)]
Rename m2gl_m2s to freedom-e300. (#19)

It's possible to flash the Freedom E300 onto different FPGA boards, and
then debug them in the exact same way.

5 years agoRename m2gl_m2s to freedom-e300.
Tim Newsome [Wed, 27 Jul 2016 21:34:40 +0000 (14:34 -0700)]
Rename m2gl_m2s to freedom-e300.

It's possible to flash the Freedom E300 onto different FPGA boards, and
then debug them in the exact same way.

5 years agoMerge pull request #18 from sifive/master
Andrew Waterman [Mon, 25 Jul 2016 18:32:15 +0000 (11:32 -0700)]
Merge pull request #18 from sifive/master

Display log file during build if debug testing fails.

5 years agoDisplay log file during build if testing fails.
Tim Newsome [Mon, 25 Jul 2016 18:19:06 +0000 (11:19 -0700)]
Display log file during build if testing fails.

That way somebody doesn't need to spend forever trying to reproduce a
travis failure when all they really need is the logfile.

5 years agoTemporarily stop building debug tests, as they fail in travis
Andrew Waterman [Fri, 22 Jul 2016 22:16:29 +0000 (15:16 -0700)]
Temporarily stop building debug tests, as they fail in travis

@timsifive can you look into why?

https://travis-ci.org/riscv/riscv-tools/builds/146759105

5 years agoskip user-mode trap tests in rv32mi/rv64mi-p-csr if no user mode
Howard Mao [Fri, 22 Jul 2016 21:20:28 +0000 (14:20 -0700)]
skip user-mode trap tests in rv32mi/rv64mi-p-csr if no user mode

5 years agoMove rv32mi dirty bit test to rv32si
Andrew Waterman [Fri, 22 Jul 2016 18:58:18 +0000 (11:58 -0700)]
Move rv32mi dirty bit test to rv32si

5 years agoMove dirty bit test to rv64si directory
Andrew Waterman [Fri, 22 Jul 2016 18:25:52 +0000 (11:25 -0700)]
Move dirty bit test to rv64si directory

Not sure this is quite right, since the test technically runs in M-mode.

Also, remove unused rdnpc/example tests.

5 years agoSimplify fence.i test for RVC
Andrew Waterman [Wed, 20 Jul 2016 01:15:01 +0000 (18:15 -0700)]
Simplify fence.i test for RVC

5 years agoMake ma_fetch test robust against code size changes
Andrew Waterman [Tue, 19 Jul 2016 19:23:22 +0000 (12:23 -0700)]
Make ma_fetch test robust against code size changes

5 years agoMerge pull request #17 from timsifive/debug
Andrew Waterman [Wed, 20 Jul 2016 00:10:24 +0000 (17:10 -0700)]
Merge pull request #17 from timsifive/debug

Add end-to-end debug tests

5 years agoRun debug tests from main Makefile.
Tim Newsome [Tue, 19 Jul 2016 18:07:03 +0000 (11:07 -0700)]
Run debug tests from main Makefile.

5 years agoUse unique filenames for block test.
Tim Newsome [Tue, 19 Jul 2016 01:41:57 +0000 (18:41 -0700)]
Use unique filenames for block test.

Fixes occasional failure when multiple tests are run at once.

5 years agoAdd 32-bit support.
Tim Newsome [Tue, 19 Jul 2016 01:33:10 +0000 (18:33 -0700)]
Add 32-bit support.

5 years agoBe verbose, since output is going to a log file.
Tim Newsome [Tue, 19 Jul 2016 01:32:45 +0000 (18:32 -0700)]
Be verbose, since output is going to a log file.

5 years agoAdd Makefile.
Tim Newsome [Mon, 18 Jul 2016 16:57:37 +0000 (09:57 -0700)]
Add Makefile.

Add --isolate argument which enables the 32- and 64-bit spikes to be
tested simultaneously.

5 years agoFix test_instant_halt.
Tim Newsome [Sat, 16 Jul 2016 00:10:47 +0000 (17:10 -0700)]
Fix test_instant_halt.

Only check for things that the spec guarantees when coming out of reset.

5 years agoFix test_block for 64-bit targets.
Tim Newsome [Thu, 14 Jul 2016 21:52:55 +0000 (14:52 -0700)]
Fix test_block for 64-bit targets.

5 years agoFix test_32 on 64-bit targets.
Tim Newsome [Thu, 14 Jul 2016 21:49:23 +0000 (14:49 -0700)]
Fix test_32 on 64-bit targets.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 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

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

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

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

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

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

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

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

5 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

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

5 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

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

5 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

5 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

5 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