Andrew Waterman [Mon, 16 Mar 2015 03:41:24 +0000 (20:41 -0700)]
Delete all remaining junk on "make clean"
Andrew Waterman [Sat, 14 Mar 2015 09:05:15 +0000 (02:05 -0700)]
Don't set dirty/referenced bits w/o permission
Andrew Waterman [Fri, 13 Mar 2015 06:06:40 +0000 (23:06 -0700)]
Use hcall instead of mcall
Andrew Waterman [Fri, 13 Mar 2015 03:00:09 +0000 (20:00 -0700)]
Implement PTE referenced/dirty bits
Andrew Waterman [Fri, 13 Mar 2015 00:32:43 +0000 (17:32 -0700)]
Update to new privileged spec
Sorry, everyone.
Yunsup Lee [Thu, 12 Mar 2015 17:59:09 +0000 (10:59 -0700)]
correctly parse extension for spike-disasm
Andrew Waterman [Tue, 24 Feb 2015 02:35:14 +0000 (18:35 -0800)]
Softfloat fcvt.{w/l}.d now returns -MaxInt for -NaN
Andrew Waterman [Mon, 23 Feb 2015 03:27:37 +0000 (19:27 -0800)]
Softfloat fcvt.{w/h}.s now returns -MaxInt for -NaN
Behavior now consistent with RISC-V user spec.
Andrew Waterman [Sun, 15 Feb 2015 00:38:48 +0000 (16:38 -0800)]
handle Makefile dependences for precompiled headers correctly
Andrew Waterman [Tue, 10 Feb 2015 01:42:19 +0000 (17:42 -0800)]
Install config.h with other headers
Andrew Waterman [Sun, 8 Feb 2015 08:13:48 +0000 (00:13 -0800)]
Use xlen, not xprlen, to refer to x-register width
Andrew Waterman [Thu, 29 Jan 2015 20:49:30 +0000 (12:49 -0800)]
properly sign-extend instructions in spike-dasm
Christopher Celio [Tue, 27 Jan 2015 08:32:57 +0000 (00:32 -0800)]
Fixed masking/casting logic in commit log printf.
Andrew Waterman [Mon, 26 Jan 2015 22:01:39 +0000 (14:01 -0800)]
Fix commit log
I screwed up some stuff in a recent refactoring.
Andrew Waterman [Sat, 10 Jan 2015 01:41:59 +0000 (17:41 -0800)]
Don't look for a simulator when cross compiling
Andrew Waterman [Sat, 10 Jan 2015 01:41:43 +0000 (17:41 -0800)]
Use PATH_MAX instead of NAME_MAX
Stephen Twigg [Fri, 9 Jan 2015 23:56:28 +0000 (15:56 -0800)]
Fix bug where C compiler used instead of C++ for autoconf tests
Andrew Waterman [Mon, 5 Jan 2015 03:40:13 +0000 (19:40 -0800)]
canonicalize assembler pseudo-ops
Andrew Waterman [Mon, 5 Jan 2015 01:31:11 +0000 (17:31 -0800)]
Rename riscv-dis to spike-dasm
This is a better name, since it looks for the string DASM(xxx), and it
fixes tab completion for the cross compiler.
Andrew Waterman [Mon, 5 Jan 2015 01:30:40 +0000 (17:30 -0800)]
Disassemble jalr x0, x1, 0 as ret
Andrew Waterman [Sat, 3 Jan 2015 07:17:44 +0000 (23:17 -0800)]
Require 4-byte instruction alignment until RVC is reimplemented
Andrew Waterman [Sat, 3 Jan 2015 01:29:05 +0000 (17:29 -0800)]
On misaligned fetch, set EPC to target, not branch itself
Andrew Waterman [Fri, 2 Jan 2015 23:09:04 +0000 (15:09 -0800)]
Reduce dependences on auto-generated code
In particular, precompiled headers ideally won't depend on any.
Palmer Dabbelt [Tue, 30 Dec 2014 21:24:51 +0000 (13:24 -0800)]
Merge branch 'netbsd-autoconf'
This contains some changes that fix the build on NetBSD.
Palmer Dabbelt [Mon, 29 Dec 2014 21:07:13 +0000 (13:07 -0800)]
Reinoud Zandijk [Mon, 29 Dec 2014 21:06:09 +0000 (13:06 -0800)]
Allow Spike to build on NetBSD
Under NetBSD, dlopen() is in libc so no extra libs are needed.
Andrew Waterman [Sat, 20 Dec 2014 21:37:14 +0000 (13:37 -0800)]
Support building from within root directory
Andrew Waterman [Sat, 20 Dec 2014 21:26:48 +0000 (13:26 -0800)]
Fix makefile race condition
Andrew Waterman [Fri, 12 Dec 2014 00:52:56 +0000 (16:52 -0800)]
Merge pull request #11 from arunthomas/readme
README: use gnu-toolchain
Arun Thomas [Thu, 11 Dec 2014 16:20:22 +0000 (11:20 -0500)]
README: use gnu-toolchain
Andrew Waterman [Fri, 5 Dec 2014 09:08:27 +0000 (01:08 -0800)]
zero-extend 32b instructions for vxcptaux
Andrew Waterman [Fri, 5 Dec 2014 07:10:33 +0000 (23:10 -0800)]
Support 2/4/6/8-byte instructions
Most of the complexity is in instruction address translation, since
instructions may span page boundaries.
Andrew Waterman [Fri, 5 Dec 2014 07:08:01 +0000 (23:08 -0800)]
Set badvaddr on instruction page faults
This supports distinguishing the EPC (the address of the first byte of the
faulting instruction) from the address of the page fault (potentially some
bytes later).
Andrew Waterman [Wed, 3 Dec 2014 23:26:55 +0000 (15:26 -0800)]
Update register names to match new ABI
Andrew Waterman [Mon, 1 Dec 2014 06:56:02 +0000 (22:56 -0800)]
Implement timer faithfully
rdcycle/rdinstret now have single-instruction granularity. Questionable
behavior when timer interrupts occurred around the same time as the compare
register is written should be fixed.
Andrew Waterman [Tue, 25 Nov 2014 21:39:53 +0000 (13:39 -0800)]
Factor out the dummy RoCC accelerator
Yunsup Lee [Sat, 22 Nov 2014 16:58:20 +0000 (08:58 -0800)]
Revert "Enable support for the four custom instructions"
This reverts commit
fd18dc43f64d1938144f6c883ba4a2ca247611c6.
Refactoring support for custom instructions.
Andrew Waterman [Thu, 20 Nov 2014 02:08:17 +0000 (18:08 -0800)]
Suppress harmless warnings
specifically, unused variables in auto-generated code.
Andrew Waterman [Thu, 20 Nov 2014 02:07:53 +0000 (18:07 -0800)]
Add missing makefile dependence
This manifested as a spurious compile warning when using make -j.
Andrew Waterman [Fri, 7 Nov 2014 22:52:44 +0000 (14:52 -0800)]
Merge pull request #8 from arunthomas/dummy_rocc_test
dummy-rocc-test build fix
Arun Thomas [Thu, 30 Oct 2014 14:20:08 +0000 (10:20 -0400)]
dummy-rocc-test build fix
Yunsup Lee [Fri, 24 Oct 2014 16:54:28 +0000 (09:54 -0700)]
Merge pull request #4 from arunthomas/custom_inst
Enable support for the four custom instructions
Arun Thomas [Thu, 23 Oct 2014 20:49:28 +0000 (16:49 -0400)]
Enable support for the four custom instructions
* Update generated encoding.h (generated from riscv-opcodes)
* Add empty implementations for the custom instructions
Andrew Waterman [Sat, 27 Sep 2014 18:18:15 +0000 (11:18 -0700)]
Avoid some unused variable warnings
...and also save some space by not defining the register names in a header.
Andrew Waterman [Sat, 27 Sep 2014 18:01:22 +0000 (11:01 -0700)]
Avoid use of __int128_t
It is nonstandard, and GCC doesn't support it on 32-bit platforms. The
resulting code for MULH[[S]U] is crappier, but that doesn't really matter,
as these instructions are dynamically infrequent.
Scott Beamer [Sun, 21 Sep 2014 19:20:57 +0000 (12:20 -0700)]
Merge pull request #2 from arunthomas/build_fix
Update riscv.ac to set CPPFLAGS with fesvr include path
Arun Thomas [Sun, 21 Sep 2014 01:35:11 +0000 (21:35 -0400)]
Update riscv.ac to set CPPFLAGS with fesvr include path
Need to set CPPFLAGS in riscv.ac in addition to configure
Scott Beamer [Sun, 14 Sep 2014 16:10:28 +0000 (09:10 -0700)]
now can build with clang
on os x, clang needs different flags than gcc to generate and use precompiled headers
Jim Lawson [Thu, 28 Aug 2014 22:22:05 +0000 (15:22 -0700)]
Update configure to set CPPFLAGS instead of CFLAGS with fesvr include path.
Since we no longer are duplicating CFLAGS, ensure CPPFLAGS are set
correctly.
Scott Beamer [Thu, 28 Aug 2014 04:27:30 +0000 (21:27 -0700)]
don't include same flags twice
Scott Beamer [Tue, 26 Aug 2014 01:23:47 +0000 (18:23 -0700)]
clean up warnings from clang
Christopher Celio [Fri, 15 Aug 2014 22:38:41 +0000 (15:38 -0700)]
Added PC histogram option.
- Spits out all PCs (on 4B granularity) executed with count.
- Requires a compile time configuration option.
- Also requires a run-time flag.
Andrew Waterman [Fri, 8 Aug 2014 00:27:13 +0000 (17:27 -0700)]
Support uarch counters (degenerately)
Scott Beamer [Thu, 7 Aug 2014 17:41:12 +0000 (10:41 -0700)]
fix typo in README
Sagar Karandikar [Tue, 5 Aug 2014 23:36:29 +0000 (16:36 -0700)]
change README to markdown
Scott Beamer [Fri, 25 Jul 2014 00:05:53 +0000 (17:05 -0700)]
added support for register convention names in debug mode
Scott Beamer [Wed, 16 Jul 2014 23:50:27 +0000 (16:50 -0700)]
couple of more notes on debug mode
Scott Beamer [Tue, 15 Jul 2014 17:50:22 +0000 (10:50 -0700)]
notes on using debug mode
Andrew Waterman [Tue, 8 Jul 2014 20:25:04 +0000 (13:25 -0700)]
Disallow access to FCSR when FP is disabled
Andrew Waterman [Mon, 7 Jul 2014 22:17:16 +0000 (15:17 -0700)]
Use precompiled headers to speed up compilation
Andrew Waterman [Mon, 7 Jul 2014 21:03:27 +0000 (14:03 -0700)]
Minor refactoring
Christopher Celio [Fri, 13 Jun 2014 10:52:48 +0000 (03:52 -0700)]
Commit log now prints while interrupts are enabled.
- Previous behavior was to print the commit log only in user code.
Andrew Waterman [Fri, 13 Jun 2014 09:42:54 +0000 (02:42 -0700)]
Only print commit log if instruction commits
Andrew Waterman [Thu, 12 Jun 2014 21:16:27 +0000 (14:16 -0700)]
Set status.u64 to true on boot
This isn't required by the ISA but it matches existing HW.
Andrew Waterman [Thu, 24 Apr 2014 23:01:33 +0000 (16:01 -0700)]
fix disassembly of bnez and friends
Stephen Twigg [Thu, 3 Apr 2014 23:54:34 +0000 (16:54 -0700)]
Merge branch 'tm'
Stephen Twigg [Thu, 3 Apr 2014 23:52:48 +0000 (16:52 -0700)]
Sync encoding in opcodes
Stephen Twigg [Thu, 3 Apr 2014 23:52:34 +0000 (16:52 -0700)]
Add ut_fclass_s/d hwacha (unused until encoding sync)
Andrew Waterman [Tue, 18 Mar 2014 21:38:07 +0000 (14:38 -0700)]
Support RV32 RDTIMEH/RDCYCLEH/RDINSTRETH
Andrew Waterman [Sat, 15 Mar 2014 23:48:16 +0000 (16:48 -0700)]
speed up compilation a bit
Andrew Waterman [Wed, 12 Mar 2014 02:07:08 +0000 (19:07 -0700)]
New FP encoding
Andrew Waterman [Fri, 7 Mar 2014 02:23:38 +0000 (18:23 -0800)]
Add fclass.{s|d} instructions
Yunsup Lee [Sun, 2 Mar 2014 08:49:32 +0000 (00:49 -0800)]
add hwacha vfmsv instructions
Yunsup Lee [Tue, 25 Feb 2014 11:44:34 +0000 (03:44 -0800)]
add extensions to riscv-dis for better disassembly
Andrew Waterman [Sat, 15 Feb 2014 01:31:41 +0000 (17:31 -0800)]
Renumber uarch CSRs into custom CSR space
Andrew Waterman [Fri, 14 Feb 2014 02:46:42 +0000 (18:46 -0800)]
Fix I$ simulator not making forward progress
Andrew Waterman [Wed, 12 Feb 2014 09:32:11 +0000 (01:32 -0800)]
Fix commit log when !debug
Andrew Waterman [Tue, 11 Feb 2014 03:00:16 +0000 (19:00 -0800)]
Revert to old AUIPC definition
Andrew Waterman [Fri, 7 Feb 2014 09:15:49 +0000 (01:15 -0800)]
Clear EVEC LSBs, which kindly prevents a segfault
Andrew Waterman [Thu, 6 Feb 2014 22:03:07 +0000 (14:03 -0800)]
Fix disassembly of JAL
Yunsup Lee [Thu, 6 Feb 2014 19:24:39 +0000 (11:24 -0800)]
commit missing definitions for uarch counters
Quan Nguyen [Tue, 4 Feb 2014 04:21:19 +0000 (20:21 -0800)]
Move half precision instructions, add vfmsv, vfmvv
Andrew Waterman [Sat, 1 Feb 2014 01:21:37 +0000 (17:21 -0800)]
Fix linking on Darwin
Christopher Celio [Wed, 29 Jan 2014 01:06:27 +0000 (17:06 -0800)]
Disasm now translates xor x0,x0,x0 as a machine-generated bubble ("-").
It is very convenient for pipeline trace viewing to differentiate
between compiler NOPs and pipeline bubbles.
Andrew Waterman [Tue, 28 Jan 2014 11:38:28 +0000 (03:38 -0800)]
Force extension loaders to be linked in
Andrew Waterman [Mon, 27 Jan 2014 05:50:31 +0000 (21:50 -0800)]
Enable runtime loading of dynamic library with --extlib
Andrew Waterman [Mon, 27 Jan 2014 05:48:57 +0000 (21:48 -0800)]
Prefer libraries located in current directory
Andrew Waterman [Mon, 27 Jan 2014 00:26:39 +0000 (16:26 -0800)]
Eliminate hwacha <-> riscv circular dependence
We now split out the spike executable into another subproject,
which depends on both rocket and hwacha
Andrew Waterman [Mon, 27 Jan 2014 00:26:25 +0000 (16:26 -0800)]
Link subproject dynamic libraries correctly
Andrew Waterman [Sun, 26 Jan 2014 02:31:32 +0000 (18:31 -0800)]
Merge softfloat_riscv into softfloat
They really aren't independent libraries.
Andrew Waterman [Fri, 24 Jan 2014 09:35:13 +0000 (01:35 -0800)]
Require libdl for dynamic linking at runtime
Andrew Waterman [Fri, 24 Jan 2014 09:34:50 +0000 (01:34 -0800)]
Disassemble amoxor
Andrew Waterman [Fri, 24 Jan 2014 09:23:08 +0000 (01:23 -0800)]
Build and use shared libraries only
Andrew Waterman [Fri, 24 Jan 2014 09:09:05 +0000 (01:09 -0800)]
Build and use shared libraries
Andrew Waterman [Fri, 24 Jan 2014 09:08:40 +0000 (01:08 -0800)]
Handle CSR permissions correctly
Andrew Waterman [Wed, 22 Jan 2014 00:20:58 +0000 (16:20 -0800)]
Use auto-generated trap cause numbers
Quan Nguyen [Tue, 21 Jan 2014 04:33:22 +0000 (20:33 -0800)]
Merge branch 'confprec'
Conflicts:
hwacha/hwacha.mk.in
Andrew Waterman [Thu, 16 Jan 2014 08:09:27 +0000 (00:09 -0800)]
Initialize tohost and fromhost to zero
Surprising we got away without doing this for so long
Andrew Waterman [Tue, 14 Jan 2014 00:42:02 +0000 (16:42 -0800)]
Improve performance for branchy code
We now use a heavily unrolled loop as the software I$, which allows the
host machine's branch target prediction to associate target PCs with
unique-ish host PCs.
Andrew Waterman [Tue, 17 Dec 2013 18:18:47 +0000 (10:18 -0800)]
Speed things up quite a bit