Palmer Dabbelt [Fri, 3 Mar 2017 23:13:11 +0000 (15:13 -0800)]
Resurrect spike debug support
Palmer Dabbelt [Fri, 3 Mar 2017 22:11:14 +0000 (14:11 -0800)]
Print an error message when the OpenOCD config file can't be read
Tim Newsome [Fri, 24 Feb 2017 21:52:50 +0000 (13:52 -0800)]
Add assert to save me from myself.
spike passes the download test, but needs a 15 minute timeout. That's
too ridiculous to put in here, but 60s is reasonable.
Tim Newsome [Fri, 24 Feb 2017 20:46:57 +0000 (12:46 -0800)]
Keep the DownloadTest source if the test fails.
Tim Newsome [Fri, 24 Feb 2017 20:43:54 +0000 (12:43 -0800)]
Make pylint happy.
Tim Newsome [Tue, 21 Feb 2017 21:07:14 +0000 (13:07 -0800)]
Talk to spike using OpenOCD instead of directly.
Tim Newsome [Fri, 17 Feb 2017 17:45:53 +0000 (09:45 -0800)]
Add HiFive1 target.
Andrew Waterman [Thu, 2 Feb 2017 07:18:00 +0000 (23:18 -0800)]
Use NaN macros
Andrew Waterman [Thu, 2 Feb 2017 07:17:17 +0000 (23:17 -0800)]
Test FMIN/FMAX NaN behavior
See https://github.com/riscv/riscv-isa-sim/issues/76
Andrew Waterman [Wed, 1 Feb 2017 03:48:41 +0000 (19:48 -0800)]
Test qNaN and sNaN inputs to FP comparisons
Andrew Waterman [Sat, 21 Jan 2017 03:25:28 +0000 (19:25 -0800)]
Use correct macro to guard floating-point initialization
Andrew Waterman [Sat, 21 Jan 2017 03:21:24 +0000 (19:21 -0800)]
Fix build with glibc
Andrew Waterman [Wed, 4 Jan 2017 19:45:18 +0000 (11:45 -0800)]
Specify Spike ISA explicitly
Andrew Waterman [Wed, 4 Jan 2017 19:42:25 +0000 (11:42 -0800)]
Remove Hwacha macros
Andrew Waterman [Wed, 4 Jan 2017 19:41:08 +0000 (11:41 -0800)]
Mask off large constants for RV32
Andrew Waterman [Wed, 4 Jan 2017 19:33:09 +0000 (11:33 -0800)]
"make clean" shouldn't fail if "make" wasn't first run
Tim Newsome [Mon, 2 Jan 2017 20:59:41 +0000 (12:59 -0800)]
Increase delay in UserInterrupt.
This makes the test pass reliably (10/10) against the Arty board.
Previously it failed intermittently.
Tim Newsome [Tue, 27 Dec 2016 19:34:50 +0000 (11:34 -0800)]
Use compressed code if the target supports it.
The main change was to read misa before running any other test. If misa
indicates C is supported, then use compressed code. This required
changing some tests, mostly to ensure correct alignment. The single
step test also needs to know the correct addresses to step through in
compressed code.
Only print at most 1000 lines from each log file.
Tim Newsome [Tue, 27 Dec 2016 19:19:10 +0000 (11:19 -0800)]
Clean up .pyc files.
Tim Newsome [Tue, 13 Dec 2016 19:12:56 +0000 (11:12 -0800)]
Fix WriteCsrs test.
At some point the program changed to use a different register and this
test was never updated. If $x1 pointed somewhere bad, that would result
in an exception.
Andrew Waterman [Tue, 13 Dec 2016 06:51:27 +0000 (22:51 -0800)]
Pass newly updated -march, -mabi options to gcc
Tim Newsome [Tue, 13 Dec 2016 00:06:31 +0000 (16:06 -0800)]
Merge pull request #38 from richardxia/disable_tcl_and_telnet_servers
Disable tcl and telnet servers when running OpenOCD
Richard Xia [Mon, 12 Dec 2016 21:14:53 +0000 (13:14 -0800)]
Disable tcl and telnet servers when running OpenOCD because the port numbers might conflict with other processes.
Tim Newsome [Fri, 9 Dec 2016 17:25:03 +0000 (09:25 -0800)]
Add test of compare-sections command.
Tim Newsome [Thu, 8 Dec 2016 04:42:31 +0000 (20:42 -0800)]
Use XLEN macro for these sources as well.
All tests pass on spike32 and spike64 again.
Tim Newsome [Thu, 8 Dec 2016 04:03:36 +0000 (20:03 -0800)]
Use our own XLEN macro.
Relying on something that the compiler automatically sets is apparently
not reliable.
Tim Newsome [Thu, 8 Dec 2016 03:52:00 +0000 (19:52 -0800)]
We *do* need the FPU to compile 64-bit code.
Tim Newsome [Thu, 8 Dec 2016 03:51:05 +0000 (19:51 -0800)]
Put env back where it was.
Fixes #37.
Tim Newsome [Thu, 8 Dec 2016 02:32:15 +0000 (18:32 -0800)]
Don't compile with FPU support for now.
It's not Just Working, and none of the tests so far actually care.
Tim Newsome [Thu, 8 Dec 2016 02:21:11 +0000 (18:21 -0800)]
Nicely display compile failures.
Tim Newsome [Thu, 8 Dec 2016 02:00:13 +0000 (18:00 -0800)]
Don't eat compile errors.
Tim Newsome [Thu, 8 Dec 2016 01:52:26 +0000 (17:52 -0800)]
Fix race when finding the port OpenOCD is using.
Andrew Waterman [Wed, 7 Dec 2016 01:04:14 +0000 (17:04 -0800)]
avoid non-standard predefined macros
Andrew Waterman [Mon, 21 Nov 2016 23:29:09 +0000 (15:29 -0800)]
Remove cache miss test from all but one AMO test
This doesn't reduce coverage for cache-based RV64 systems, but will
improve test runtime and work around the need for smaller test footprint
for scratchpad-based RV32 systems.
I would argue that these microarchitectural tests should be in the
domain of torture, and that the last one should be removed, too.
Andrew Waterman [Tue, 15 Nov 2016 07:26:32 +0000 (23:26 -0800)]
Attempt to work around hard-float linking problem
Tim Newsome [Fri, 11 Nov 2016 20:19:46 +0000 (12:19 -0800)]
Merge pull request #35 from richardxia/have-openocd-pick-gdb-server-port
Tell OpenOCD to pick an unused port for gdb server
Richard Xia [Thu, 10 Nov 2016 22:24:08 +0000 (14:24 -0800)]
Decrease sleep time to 0.1s.
Richard Xia [Fri, 4 Nov 2016 23:18:38 +0000 (16:18 -0700)]
Tell OpenOCD to pick an unused port, and use lsof to figure out which one it picked.
Andrew Waterman [Tue, 1 Nov 2016 07:34:54 +0000 (00:34 -0700)]
Make sure FP stores don't write memory if mstatus.FS=0.
Tim Newsome [Mon, 31 Oct 2016 20:30:44 +0000 (13:30 -0700)]
Add basic floating point register test.
Tim Newsome [Fri, 21 Oct 2016 17:51:44 +0000 (10:51 -0700)]
Improve reg test a little.
Tim Newsome [Thu, 20 Oct 2016 21:49:44 +0000 (14:49 -0700)]
Test OpenOCD step and resume.
Tim Newsome [Wed, 19 Oct 2016 20:38:26 +0000 (13:38 -0700)]
Fix conflict: JTAG VPI changes vs openocd refactor
Tim Newsome [Wed, 19 Oct 2016 20:16:47 +0000 (13:16 -0700)]
Actually test something in regs test.
Tim Newsome [Wed, 19 Oct 2016 17:52:59 +0000 (10:52 -0700)]
Merge pull request #34 from richardxia/use-port-randomization
Use port randomization for VCS and OpenOCD
Richard Xia [Tue, 18 Oct 2016 21:38:24 +0000 (14:38 -0700)]
Pull port number from VCS output and pass to OpenOCD.
Tim Newsome [Tue, 18 Oct 2016 21:21:02 +0000 (14:21 -0700)]
Add framework to test OpenOCD directly.
This took a lot of refactoring to make it look reasonable.
There isn't actually any functional OpenOCD test yet. But a dummy test
runs a command (and fails).
Richard Xia [Tue, 18 Oct 2016 18:31:25 +0000 (11:31 -0700)]
Randomize gdb port.
Tim Newsome [Fri, 14 Oct 2016 19:41:41 +0000 (12:41 -0700)]
Wait for OpenOCD to start fully before connecting.
Requires OpenOCD change
4eba841bfee4b6c347423ac28851ab7ee7e75532
Tim Newsome [Thu, 13 Oct 2016 18:32:02 +0000 (11:32 -0700)]
Add MemTestWriteInvalid.
Andrew Waterman [Mon, 10 Oct 2016 05:13:31 +0000 (22:13 -0700)]
Align FP data sections
Tim Newsome [Mon, 3 Oct 2016 17:40:17 +0000 (10:40 -0700)]
Add test for memory read from invalid address.
Tim Newsome [Fri, 30 Sep 2016 19:11:03 +0000 (12:11 -0700)]
Tolerate remotes that return memory read errors.
Tim Newsome [Thu, 29 Sep 2016 18:42:41 +0000 (11:42 -0700)]
Update dmode test to match spec.
M-mode writes to triggers with dmode set are now ignored instead of
raising an exception.
Also added -f/--fail-fast option to gdbserver.
Tim Newsome [Thu, 29 Sep 2016 18:38:54 +0000 (11:38 -0700)]
Clear triggers during entry.
If the last test leaves some triggers set they should be cleaned up.
Tim Newsome [Wed, 28 Sep 2016 15:18:14 +0000 (08:18 -0700)]
Disable TriggerDmode while spike is changed.
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.
Tim Newsome [Tue, 20 Sep 2016 16:47:11 +0000 (09:47 -0700)]
Minor tweaks to trigger tests for openocd.
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.
Andrew Waterman [Wed, 7 Sep 2016 06:58:57 +0000 (23:58 -0700)]
Add rv32uf tests
Andrew Waterman [Fri, 2 Sep 2016 22:42:02 +0000 (15:42 -0700)]
Make RVC test fit in 16 KiB
Tim Newsome [Fri, 2 Sep 2016 19:27:14 +0000 (12:27 -0700)]
Fix/add to instant trigger tests.
Tim Newsome [Fri, 2 Sep 2016 16:12:32 +0000 (09:12 -0700)]
Limit spike RAM so I can run valgrind on it.
Tim Newsome [Thu, 1 Sep 2016 20:17:56 +0000 (13:17 -0700)]
Add some immediate trigger tests.
Tim Newsome [Thu, 1 Sep 2016 17:07:54 +0000 (10:07 -0700)]
Create TriggerTest.
Tim Newsome [Tue, 23 Aug 2016 00:54:51 +0000 (17:54 -0700)]
Add test for address triggers.
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.
Tim Newsome [Thu, 1 Sep 2016 16:38:26 +0000 (09:38 -0700)]
Add .pyc to .gitignore.
Brett Cannon [Wed, 31 Aug 2016 18:59:23 +0000 (11:59 -0700)]
Change accidental use of SLTIU in SLTI tests (#26)
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.
Andrew Waterman [Tue, 30 Aug 2016 18:11:08 +0000 (11:11 -0700)]
Add missing RV32 slt[i]u tests
Closes #12.
Andrew Waterman [Mon, 29 Aug 2016 20:42:37 +0000 (13:42 -0700)]
On RV32, zero-extend pointers for HTIF
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.
Andrew Waterman [Sat, 27 Aug 2016 02:53:25 +0000 (19:53 -0700)]
Update to new breakpoint & counter spec
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.
Richard Xia [Tue, 23 Aug 2016 21:25:47 +0000 (14:25 -0700)]
Use a version range.
Richard Xia [Tue, 23 Aug 2016 01:16:53 +0000 (18:16 -0700)]
Add requirements.txt and reorder imports by type.
Tim Newsome [Tue, 23 Aug 2016 00:59:41 +0000 (17:59 -0700)]
Use env shebang so for virtualenv compatibility.
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
Tim Newsome [Tue, 16 Aug 2016 17:44:16 +0000 (10:44 -0700)]
Fix missing setup in test_turbostep.
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.
Andrew Waterman [Tue, 16 Aug 2016 18:01:27 +0000 (11:01 -0700)]
bump env
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.
Tim Newsome [Mon, 15 Aug 2016 17:28:01 +0000 (10:28 -0700)]
Add --32 and --64 options to gdbserver.py.
Tim Newsome [Mon, 15 Aug 2016 17:54:34 +0000 (10:54 -0700)]
Fix cut and paste bug.
Also minor style changes.
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
Megan Wachs [Thu, 11 Aug 2016 20:43:04 +0000 (13:43 -0700)]
Add FreedomU500 & incorporate feedback
Tim Newsome [Thu, 11 Aug 2016 19:15:04 +0000 (12:15 -0700)]
Make simple memory test errors more readable.
Colin Schmidt [Mon, 8 Aug 2016 23:08:32 +0000 (16:08 -0700)]
move fclass macros into the same file as the rest (#22)
Megan Wachs [Mon, 8 Aug 2016 19:24:44 +0000 (12:24 -0700)]
By default debug=False
Megan Wachs [Mon, 8 Aug 2016 18:34:32 +0000 (11:34 -0700)]
Add U500 Target
Megan Wachs [Fri, 5 Aug 2016 21:50:14 +0000 (14:50 -0700)]
Some code cleanup
Megan Wachs [Thu, 4 Aug 2016 21:21:37 +0000 (14:21 -0700)]
Added FreedomE300 Simulator target
Megan Wachs [Mon, 8 Aug 2016 18:41:25 +0000 (11:41 -0700)]
Merge remote-tracking branch 'origin/master'
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.
Andrew Waterman [Fri, 29 Jul 2016 21:47:26 +0000 (14:47 -0700)]
Add RV32 RVC and breakpoint tests
Andrew Waterman [Fri, 29 Jul 2016 20:59:33 +0000 (13:59 -0700)]
Add an RVC test
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).
Tim Newsome [Thu, 28 Jul 2016 17:26:47 +0000 (10:26 -0700)]
Add --gdb argument so I can run valgrind on gdb.
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.