riscv-tests.git
7 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).

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

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

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

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

7 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

7 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

7 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

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

7 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

7 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

7 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

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

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

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

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

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

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

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

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

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!