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
Andrew Waterman [Mon, 9 Dec 2013 23:55:52 +0000 (15:55 -0800)]
New RDCYCLE encoding
Quan Nguyen [Sat, 30 Nov 2013 04:21:36 +0000 (20:21 -0800)]
Remove debug printf in vsetprec
Quan Nguyen [Sat, 30 Nov 2013 04:10:46 +0000 (20:10 -0800)]
Add vsetprec instruction prototype
Andrew Waterman [Mon, 25 Nov 2013 12:42:03 +0000 (04:42 -0800)]
Update to new privileged ISA
Quan Nguyen [Mon, 25 Nov 2013 05:59:52 +0000 (21:59 -0800)]
Merge branch 'master' of github.com:ucb-bar/riscv-isa-sim into HEAD
Yunsup Lee [Thu, 21 Nov 2013 22:42:32 +0000 (14:42 -0800)]
fix slli/slliw encoding bug
Yunsup Lee [Wed, 6 Nov 2013 05:03:23 +0000 (21:03 -0800)]
add accelerator disabled cause
Yunsup Lee [Wed, 6 Nov 2013 05:01:34 +0000 (21:01 -0800)]
correctly trap when SR_EA is disabled
Albert Ou [Tue, 5 Nov 2013 07:25:00 +0000 (23:25 -0800)]
Fix declaration of half-precision instructions
Albert Ou [Tue, 5 Nov 2013 06:33:20 +0000 (22:33 -0800)]
Re-add Hwacha header file
Albert Ou [Tue, 5 Nov 2013 06:31:01 +0000 (22:31 -0800)]
Implement "half-baked" half-precision instruction subset for Hwacha
Albert Ou [Tue, 5 Nov 2013 06:26:53 +0000 (22:26 -0800)]
Merge branch 'master' of github.com:ucb-bar/riscv-isa-sim into confprec
Yunsup Lee [Tue, 29 Oct 2013 06:49:08 +0000 (23:49 -0700)]
include stdexcept
Andrew Waterman [Tue, 29 Oct 2013 03:37:39 +0000 (20:37 -0700)]
Pass target machine's return code back to OS
Quan Nguyen [Mon, 28 Oct 2013 06:02:23 +0000 (23:02 -0700)]
Add missing fcvt opcodes through riscv-opcodes
Yunsup Lee [Tue, 22 Oct 2013 01:53:02 +0000 (18:53 -0700)]
clarify vxcptsave/vxctkill semantics
Yunsup Lee [Sat, 19 Oct 2013 05:28:23 +0000 (22:28 -0700)]
implement vxcptsave/vxcptrestore
Yunsup Lee [Sat, 19 Oct 2013 02:22:08 +0000 (19:22 -0700)]
clean up SR_EA, the enable accelerator bit in status reg
Yunsup Lee [Sat, 19 Oct 2013 02:19:00 +0000 (19:19 -0700)]
more hwacha supervisor stuff
Yunsup Lee [Sat, 19 Oct 2013 00:34:54 +0000 (17:34 -0700)]
refactor disassembler, and add hwacha disassembler
Yunsup Lee [Fri, 18 Oct 2013 19:04:46 +0000 (12:04 -0700)]
can't execute frsr/fssr on ut
Yunsup Lee [Fri, 18 Oct 2013 19:02:59 +0000 (12:02 -0700)]
or into control thread's fp exceptions
Quan Nguyen [Fri, 18 Oct 2013 06:47:14 +0000 (23:47 -0700)]
Add empty opcode header files for half-precision
* Update riscv/opcodes.h through the riscv-opcodes repository.
Yunsup Lee [Fri, 18 Oct 2013 02:44:53 +0000 (19:44 -0700)]
catch trap_illegal_instruction in hwacha
Yunsup Lee [Fri, 18 Oct 2013 02:34:26 +0000 (19:34 -0700)]
add hwacha exception support
Yunsup Lee [Fri, 18 Oct 2013 02:32:55 +0000 (19:32 -0700)]
fix custom-1 rocc encoding
Yunsup Lee [Wed, 16 Oct 2013 22:10:12 +0000 (15:10 -0700)]
fix maxvl calc logic
Yunsup Lee [Wed, 16 Oct 2013 21:27:12 +0000 (14:27 -0700)]
use reset virtual method
Yunsup Lee [Wed, 16 Oct 2013 21:26:59 +0000 (14:26 -0700)]
use uint32_t for vl
Yunsup Lee [Wed, 16 Oct 2013 21:26:13 +0000 (14:26 -0700)]
fix missing null check when there's no extension
Yunsup Lee [Wed, 16 Oct 2013 21:11:18 +0000 (14:11 -0700)]
revamp hwacha; now runs in physical mode
Stephen Twigg [Tue, 15 Oct 2013 07:30:46 +0000 (00:30 -0700)]
Propogate the reset call to the extensions as well. Add reset function to extensions (demonstration in dummy acc)
Stephen Twigg [Tue, 15 Oct 2013 07:21:00 +0000 (00:21 -0700)]
Fix bug where xs2 was not being properly respected.
Yunsup Lee [Thu, 10 Oct 2013 19:07:30 +0000 (12:07 -0700)]
commit configure script; new configure option --enable-commitlog
Christopher Celio [Fri, 27 Sep 2013 09:17:19 +0000 (02:17 -0700)]
Added commit logging (--enable-commitlog). Also fixed disasm bug.
Andrew Waterman [Fri, 27 Sep 2013 07:15:35 +0000 (00:15 -0700)]
Use WRITE_RD/WRITE_FRD macros to write registers
Andrew Waterman [Fri, 27 Sep 2013 03:53:36 +0000 (20:53 -0700)]
Bye, CB
Scott Beamer [Mon, 23 Sep 2013 22:49:23 +0000 (15:49 -0700)]
fixes compile bug for not being able to find std::logic_error
Andrew Waterman [Mon, 23 Sep 2013 22:47:50 +0000 (15:47 -0700)]
Fix Scott's deadlock
Not Scott's fault, I mean
Stephen Twigg [Sun, 22 Sep 2013 09:21:13 +0000 (02:21 -0700)]
Adjust rocc_inst_t to properly extract fields due to the new ISA encoding.
Andrew Waterman [Sat, 21 Sep 2013 13:40:54 +0000 (06:40 -0700)]
Update ISA encoding and AUIPC semantics