riscv-isa-sim.git
9 years agoRevert "Enable support for the four custom instructions"
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.

9 years agoSuppress harmless warnings
Andrew Waterman [Thu, 20 Nov 2014 02:08:17 +0000 (18:08 -0800)]
Suppress harmless warnings

specifically, unused variables in auto-generated code.

9 years agoAdd missing makefile dependence
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.

9 years agoMerge pull request #8 from arunthomas/dummy_rocc_test
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

9 years agodummy-rocc-test build fix
Arun Thomas [Thu, 30 Oct 2014 14:20:08 +0000 (10:20 -0400)]
dummy-rocc-test build fix

9 years agoMerge pull request #4 from arunthomas/custom_inst
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

9 years agoEnable 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

9 years agoAvoid some unused variable warnings
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.

9 years agoAvoid use of __int128_t
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.

9 years agoMerge pull request #2 from arunthomas/build_fix
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

9 years agoUpdate 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

9 years agonow can build with clang
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

9 years agoUpdate configure to set CPPFLAGS instead of CFLAGS with fesvr include path.
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.

9 years agodon't include same flags twice
Scott Beamer [Thu, 28 Aug 2014 04:27:30 +0000 (21:27 -0700)]
don't include same flags twice

9 years agoclean up warnings from clang
Scott Beamer [Tue, 26 Aug 2014 01:23:47 +0000 (18:23 -0700)]
clean up warnings from clang

9 years agoAdded PC histogram option.
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.

9 years agoSupport uarch counters (degenerately)
Andrew Waterman [Fri, 8 Aug 2014 00:27:13 +0000 (17:27 -0700)]
Support uarch counters (degenerately)

9 years agofix typo in README
Scott Beamer [Thu, 7 Aug 2014 17:41:12 +0000 (10:41 -0700)]
fix typo in README

9 years agochange README to markdown
Sagar Karandikar [Tue, 5 Aug 2014 23:36:29 +0000 (16:36 -0700)]
change README to markdown

9 years agoadded support for register convention names in debug mode
Scott Beamer [Fri, 25 Jul 2014 00:05:53 +0000 (17:05 -0700)]
added support for register convention names in debug mode

9 years agocouple of more notes on debug mode
Scott Beamer [Wed, 16 Jul 2014 23:50:27 +0000 (16:50 -0700)]
couple of more notes on debug mode

9 years agonotes on using debug mode
Scott Beamer [Tue, 15 Jul 2014 17:50:22 +0000 (10:50 -0700)]
notes on using debug mode

9 years agoDisallow access to FCSR when FP is disabled
Andrew Waterman [Tue, 8 Jul 2014 20:25:04 +0000 (13:25 -0700)]
Disallow access to FCSR when FP is disabled

9 years agoUse precompiled headers to speed up compilation
Andrew Waterman [Mon, 7 Jul 2014 22:17:16 +0000 (15:17 -0700)]
Use precompiled headers to speed up compilation

9 years agoMinor refactoring
Andrew Waterman [Mon, 7 Jul 2014 21:03:27 +0000 (14:03 -0700)]
Minor refactoring

9 years agoCommit log now prints while interrupts are enabled.
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.

9 years agoOnly print commit log if instruction commits
Andrew Waterman [Fri, 13 Jun 2014 09:42:54 +0000 (02:42 -0700)]
Only print commit log if instruction commits

9 years agoSet status.u64 to true on boot
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.

10 years agofix disassembly of bnez and friends
Andrew Waterman [Thu, 24 Apr 2014 23:01:33 +0000 (16:01 -0700)]
fix disassembly of bnez and friends

10 years agoMerge branch 'tm'
Stephen Twigg [Thu, 3 Apr 2014 23:54:34 +0000 (16:54 -0700)]
Merge branch 'tm'

10 years agoSync encoding in opcodes
Stephen Twigg [Thu, 3 Apr 2014 23:52:48 +0000 (16:52 -0700)]
Sync encoding in opcodes

10 years agoAdd ut_fclass_s/d hwacha (unused until encoding sync)
Stephen Twigg [Thu, 3 Apr 2014 23:52:34 +0000 (16:52 -0700)]
Add ut_fclass_s/d hwacha (unused until encoding sync)

10 years agoSupport RV32 RDTIMEH/RDCYCLEH/RDINSTRETH
Andrew Waterman [Tue, 18 Mar 2014 21:38:07 +0000 (14:38 -0700)]
Support RV32 RDTIMEH/RDCYCLEH/RDINSTRETH

10 years agospeed up compilation a bit
Andrew Waterman [Sat, 15 Mar 2014 23:48:16 +0000 (16:48 -0700)]
speed up compilation a bit

10 years agoNew FP encoding
Andrew Waterman [Wed, 12 Mar 2014 02:07:08 +0000 (19:07 -0700)]
New FP encoding

10 years agoAdd fclass.{s|d} instructions
Andrew Waterman [Fri, 7 Mar 2014 02:23:38 +0000 (18:23 -0800)]
Add fclass.{s|d} instructions

10 years agoadd hwacha vfmsv instructions
Yunsup Lee [Sun, 2 Mar 2014 08:49:32 +0000 (00:49 -0800)]
add hwacha vfmsv instructions

10 years agoadd extensions to riscv-dis for better disassembly
Yunsup Lee [Tue, 25 Feb 2014 11:44:34 +0000 (03:44 -0800)]
add extensions to riscv-dis for better disassembly

10 years agoRenumber uarch CSRs into custom CSR space
Andrew Waterman [Sat, 15 Feb 2014 01:31:41 +0000 (17:31 -0800)]
Renumber uarch CSRs into custom CSR space

10 years agoFix I$ simulator not making forward progress
Andrew Waterman [Fri, 14 Feb 2014 02:46:42 +0000 (18:46 -0800)]
Fix I$ simulator not making forward progress

10 years agoFix commit log when !debug
Andrew Waterman [Wed, 12 Feb 2014 09:32:11 +0000 (01:32 -0800)]
Fix commit log when !debug

10 years agoRevert to old AUIPC definition
Andrew Waterman [Tue, 11 Feb 2014 03:00:16 +0000 (19:00 -0800)]
Revert to old AUIPC definition

10 years agoClear EVEC LSBs, which kindly prevents a segfault
Andrew Waterman [Fri, 7 Feb 2014 09:15:49 +0000 (01:15 -0800)]
Clear EVEC LSBs, which kindly prevents a segfault

10 years agoFix disassembly of JAL
Andrew Waterman [Thu, 6 Feb 2014 22:03:07 +0000 (14:03 -0800)]
Fix disassembly of JAL

10 years agocommit missing definitions for uarch counters
Yunsup Lee [Thu, 6 Feb 2014 19:24:39 +0000 (11:24 -0800)]
commit missing definitions for uarch counters

10 years agoMove half precision instructions, add vfmsv, vfmvv
Quan Nguyen [Tue, 4 Feb 2014 04:21:19 +0000 (20:21 -0800)]
Move half precision instructions, add vfmsv, vfmvv

10 years agoFix linking on Darwin
Andrew Waterman [Sat, 1 Feb 2014 01:21:37 +0000 (17:21 -0800)]
Fix linking on Darwin

10 years agoDisasm now translates xor x0,x0,x0 as a machine-generated bubble ("-").
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.

10 years agoForce extension loaders to be linked in
Andrew Waterman [Tue, 28 Jan 2014 11:38:28 +0000 (03:38 -0800)]
Force extension loaders to be linked in

10 years agoEnable runtime loading of dynamic library with --extlib
Andrew Waterman [Mon, 27 Jan 2014 05:50:31 +0000 (21:50 -0800)]
Enable runtime loading of dynamic library with --extlib

10 years agoPrefer libraries located in current directory
Andrew Waterman [Mon, 27 Jan 2014 05:48:57 +0000 (21:48 -0800)]
Prefer libraries located in current directory

10 years agoEliminate hwacha <-> riscv circular dependence
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

10 years agoLink subproject dynamic libraries correctly
Andrew Waterman [Mon, 27 Jan 2014 00:26:25 +0000 (16:26 -0800)]
Link subproject dynamic libraries correctly

10 years agoMerge softfloat_riscv into softfloat
Andrew Waterman [Sun, 26 Jan 2014 02:31:32 +0000 (18:31 -0800)]
Merge softfloat_riscv into softfloat

They really aren't independent libraries.

10 years agoRequire libdl for dynamic linking at runtime
Andrew Waterman [Fri, 24 Jan 2014 09:35:13 +0000 (01:35 -0800)]
Require libdl for dynamic linking at runtime

10 years agoDisassemble amoxor
Andrew Waterman [Fri, 24 Jan 2014 09:34:50 +0000 (01:34 -0800)]
Disassemble amoxor

10 years agoBuild and use shared libraries only
Andrew Waterman [Fri, 24 Jan 2014 09:23:08 +0000 (01:23 -0800)]
Build and use shared libraries only

10 years agoBuild and use shared libraries
Andrew Waterman [Fri, 24 Jan 2014 09:09:05 +0000 (01:09 -0800)]
Build and use shared libraries

10 years agoHandle CSR permissions correctly
Andrew Waterman [Fri, 24 Jan 2014 09:08:40 +0000 (01:08 -0800)]
Handle CSR permissions correctly

10 years agoUse auto-generated trap cause numbers
Andrew Waterman [Wed, 22 Jan 2014 00:20:58 +0000 (16:20 -0800)]
Use auto-generated trap cause numbers

10 years agoMerge branch 'confprec'
Quan Nguyen [Tue, 21 Jan 2014 04:33:22 +0000 (20:33 -0800)]
Merge branch 'confprec'

Conflicts:
hwacha/hwacha.mk.in

10 years agoInitialize tohost and fromhost to zero
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

10 years agoImprove performance for branchy code
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.

10 years agoSpeed things up quite a bit
Andrew Waterman [Tue, 17 Dec 2013 18:18:47 +0000 (10:18 -0800)]
Speed things up quite a bit

10 years agoNew RDCYCLE encoding
Andrew Waterman [Mon, 9 Dec 2013 23:55:52 +0000 (15:55 -0800)]
New RDCYCLE encoding

10 years agoRemove debug printf in vsetprec
Quan Nguyen [Sat, 30 Nov 2013 04:21:36 +0000 (20:21 -0800)]
Remove debug printf in vsetprec

10 years agoAdd vsetprec instruction prototype
Quan Nguyen [Sat, 30 Nov 2013 04:10:46 +0000 (20:10 -0800)]
Add vsetprec instruction prototype

10 years agoUpdate to new privileged ISA
Andrew Waterman [Mon, 25 Nov 2013 12:42:03 +0000 (04:42 -0800)]
Update to new privileged ISA

10 years agoMerge branch 'master' of github.com:ucb-bar/riscv-isa-sim into HEAD
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

10 years agofix slli/slliw encoding bug
Yunsup Lee [Thu, 21 Nov 2013 22:42:32 +0000 (14:42 -0800)]
fix slli/slliw encoding bug

10 years agoadd accelerator disabled cause
Yunsup Lee [Wed, 6 Nov 2013 05:03:23 +0000 (21:03 -0800)]
add accelerator disabled cause

10 years agocorrectly trap when SR_EA is disabled
Yunsup Lee [Wed, 6 Nov 2013 05:01:34 +0000 (21:01 -0800)]
correctly trap when SR_EA is disabled

10 years agoFix declaration of half-precision instructions
Albert Ou [Tue, 5 Nov 2013 07:25:00 +0000 (23:25 -0800)]
Fix declaration of half-precision instructions

10 years agoRe-add Hwacha header file
Albert Ou [Tue, 5 Nov 2013 06:33:20 +0000 (22:33 -0800)]
Re-add Hwacha header file

10 years agoImplement "half-baked" half-precision instruction subset for Hwacha
Albert Ou [Tue, 5 Nov 2013 06:31:01 +0000 (22:31 -0800)]
Implement "half-baked" half-precision instruction subset for Hwacha

10 years agoMerge branch 'master' of github.com:ucb-bar/riscv-isa-sim into confprec
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

10 years agoinclude stdexcept
Yunsup Lee [Tue, 29 Oct 2013 06:49:08 +0000 (23:49 -0700)]
include stdexcept

10 years agoPass target machine's return code back to OS
Andrew Waterman [Tue, 29 Oct 2013 03:37:39 +0000 (20:37 -0700)]
Pass target machine's return code back to OS

10 years agoAdd missing fcvt opcodes through riscv-opcodes
Quan Nguyen [Mon, 28 Oct 2013 06:02:23 +0000 (23:02 -0700)]
Add missing fcvt opcodes through riscv-opcodes

10 years agoclarify vxcptsave/vxctkill semantics
Yunsup Lee [Tue, 22 Oct 2013 01:53:02 +0000 (18:53 -0700)]
clarify vxcptsave/vxctkill semantics

10 years agoimplement vxcptsave/vxcptrestore
Yunsup Lee [Sat, 19 Oct 2013 05:28:23 +0000 (22:28 -0700)]
implement vxcptsave/vxcptrestore

10 years agoclean up SR_EA, the enable accelerator bit in status reg
Yunsup Lee [Sat, 19 Oct 2013 02:22:08 +0000 (19:22 -0700)]
clean up SR_EA, the enable accelerator bit in status reg

10 years agomore hwacha supervisor stuff
Yunsup Lee [Sat, 19 Oct 2013 02:19:00 +0000 (19:19 -0700)]
more hwacha supervisor stuff

10 years agorefactor disassembler, and add hwacha disassembler
Yunsup Lee [Sat, 19 Oct 2013 00:34:54 +0000 (17:34 -0700)]
refactor disassembler, and add hwacha disassembler

10 years agocan't execute frsr/fssr on ut
Yunsup Lee [Fri, 18 Oct 2013 19:04:46 +0000 (12:04 -0700)]
can't execute frsr/fssr on ut

10 years agoor into control thread's fp exceptions
Yunsup Lee [Fri, 18 Oct 2013 19:02:59 +0000 (12:02 -0700)]
or into control thread's fp exceptions

10 years agoAdd empty opcode header files for half-precision
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.

10 years agocatch trap_illegal_instruction in hwacha
Yunsup Lee [Fri, 18 Oct 2013 02:44:53 +0000 (19:44 -0700)]
catch trap_illegal_instruction in hwacha

10 years agoadd hwacha exception support
Yunsup Lee [Fri, 18 Oct 2013 02:34:26 +0000 (19:34 -0700)]
add hwacha exception support

10 years agofix custom-1 rocc encoding
Yunsup Lee [Fri, 18 Oct 2013 02:32:55 +0000 (19:32 -0700)]
fix custom-1 rocc encoding

10 years agofix maxvl calc logic
Yunsup Lee [Wed, 16 Oct 2013 22:10:12 +0000 (15:10 -0700)]
fix maxvl calc logic

10 years agouse reset virtual method
Yunsup Lee [Wed, 16 Oct 2013 21:27:12 +0000 (14:27 -0700)]
use reset virtual method

10 years agouse uint32_t for vl
Yunsup Lee [Wed, 16 Oct 2013 21:26:59 +0000 (14:26 -0700)]
use uint32_t for vl

10 years agofix missing null check when there's no extension
Yunsup Lee [Wed, 16 Oct 2013 21:26:13 +0000 (14:26 -0700)]
fix missing null check when there's no extension

10 years agorevamp hwacha; now runs in physical mode
Yunsup Lee [Wed, 16 Oct 2013 21:11:18 +0000 (14:11 -0700)]
revamp hwacha; now runs in physical mode

10 years agoPropogate the reset call to the extensions as well. Add reset function to extensions...
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)

10 years agoFix bug where xs2 was not being properly respected.
Stephen Twigg [Tue, 15 Oct 2013 07:21:00 +0000 (00:21 -0700)]
Fix bug where xs2 was not being properly respected.

10 years agocommit configure script; new configure option --enable-commitlog
Yunsup Lee [Thu, 10 Oct 2013 19:07:30 +0000 (12:07 -0700)]
commit configure script; new configure option --enable-commitlog

10 years agoAdded commit logging (--enable-commitlog). Also fixed disasm bug.
Christopher Celio [Fri, 27 Sep 2013 09:17:19 +0000 (02:17 -0700)]
Added commit logging (--enable-commitlog). Also fixed disasm bug.

10 years agoUse WRITE_RD/WRITE_FRD macros to write registers
Andrew Waterman [Fri, 27 Sep 2013 07:15:35 +0000 (00:15 -0700)]
Use WRITE_RD/WRITE_FRD macros to write registers