riscv-isa-sim.git
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 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

10 years agoBye, CB
Andrew Waterman [Fri, 27 Sep 2013 03:53:36 +0000 (20:53 -0700)]
Bye, CB

10 years agofixes compile bug for not being able to find std::logic_error
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

10 years agoFix Scott's deadlock
Andrew Waterman [Mon, 23 Sep 2013 22:47:50 +0000 (15:47 -0700)]
Fix Scott's deadlock

Not Scott's fault, I mean

10 years agoAdjust rocc_inst_t to properly extract fields due to the new ISA encoding.
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.

10 years agoUpdate ISA encoding and AUIPC semantics
Andrew Waterman [Sat, 21 Sep 2013 13:40:54 +0000 (06:40 -0700)]
Update ISA encoding and AUIPC semantics

10 years agoAdd helper disassembly program
Andrew Waterman [Sun, 15 Sep 2013 11:27:07 +0000 (04:27 -0700)]
Add helper disassembly program

10 years agoISA changes
Andrew Waterman [Sun, 15 Sep 2013 11:26:35 +0000 (04:26 -0700)]
ISA changes

10 years agoAdd AMOXOR
Andrew Waterman [Wed, 11 Sep 2013 11:13:27 +0000 (04:13 -0700)]
Add AMOXOR

10 years agoImplement zany immediates
Andrew Waterman [Wed, 11 Sep 2013 10:12:11 +0000 (03:12 -0700)]
Implement zany immediates

10 years agoDon't tick HTIF as often
Andrew Waterman [Tue, 10 Sep 2013 09:07:08 +0000 (02:07 -0700)]
Don't tick HTIF as often

10 years agoAdd rd field to JAL; drop J
Andrew Waterman [Tue, 10 Sep 2013 09:06:56 +0000 (02:06 -0700)]
Add rd field to JAL; drop J

10 years agoRenumber PCRs
Andrew Waterman [Sun, 18 Aug 2013 11:14:16 +0000 (04:14 -0700)]
Renumber PCRs

10 years agoAdd test program for dummy rocc
Andrew Waterman [Tue, 13 Aug 2013 07:54:21 +0000 (00:54 -0700)]
Add test program for dummy rocc

Should move this elsewhere

10 years agoImplement RoCC and add a dummy RoCC
Andrew Waterman [Tue, 13 Aug 2013 07:51:07 +0000 (00:51 -0700)]
Implement RoCC and add a dummy RoCC

Enable it with --extension=dummy

10 years agoInstructions are no longer member functions
Andrew Waterman [Mon, 12 Aug 2013 02:10:51 +0000 (19:10 -0700)]
Instructions are no longer member functions

10 years agoIgnore JALR's effective address LSB
Andrew Waterman [Thu, 8 Aug 2013 03:13:33 +0000 (20:13 -0700)]
Ignore JALR's effective address LSB

10 years agoDisentangle some header files
Andrew Waterman [Wed, 7 Aug 2013 01:00:30 +0000 (18:00 -0700)]
Disentangle some header files

10 years agoRename MTFSR/MFFSR to FSSR/FRSR
Andrew Waterman [Wed, 7 Aug 2013 01:00:18 +0000 (18:00 -0700)]
Rename MTFSR/MFFSR to FSSR/FRSR

10 years agoSwap J and JALR encoding
Andrew Waterman [Wed, 7 Aug 2013 00:59:48 +0000 (17:59 -0700)]
Swap J and JALR encoding

10 years agoFix eret (again)
Quan Nguyen [Thu, 1 Aug 2013 04:33:25 +0000 (21:33 -0700)]
Fix eret (again)

* Set SR_S if SR_PS is set, not the other way around
  (that is, set SR_S if SR_PS is not set).

10 years agoFix dumb ERET bug
Andrew Waterman [Wed, 31 Jul 2013 20:37:33 +0000 (13:37 -0700)]
Fix dumb ERET bug

10 years agoDon't flush TLB on PTBR writes (only FATC)
Andrew Waterman [Mon, 29 Jul 2013 02:46:18 +0000 (19:46 -0700)]
Don't flush TLB on PTBR writes (only FATC)

10 years agoNew supervisor mode
Andrew Waterman [Sat, 27 Jul 2013 03:25:18 +0000 (20:25 -0700)]
New supervisor mode

10 years agoRemove more vector stuff
Andrew Waterman [Sat, 27 Jul 2013 01:12:36 +0000 (18:12 -0700)]
Remove more vector stuff

10 years agoRename MFTX/MXTF to FMV
Andrew Waterman [Sat, 27 Jul 2013 00:44:11 +0000 (17:44 -0700)]
Rename MFTX/MXTF to FMV

10 years agoRip out Hwacha for now
Andrew Waterman [Fri, 26 Jul 2013 11:39:25 +0000 (04:39 -0700)]
Rip out Hwacha for now

10 years agoRip out RVC for now
Andrew Waterman [Fri, 26 Jul 2013 11:15:57 +0000 (04:15 -0700)]
Rip out RVC for now

10 years agoGenerate instruction decoder dynamically
Andrew Waterman [Fri, 26 Jul 2013 10:34:51 +0000 (03:34 -0700)]
Generate instruction decoder dynamically

This will make it easier for accelerators to add instructions.

10 years agoRemove JALR static hints
Andrew Waterman [Thu, 25 Jul 2013 23:13:08 +0000 (16:13 -0700)]
Remove JALR static hints

10 years agoKill spike when xspike is SIGINTed
Andrew Waterman [Tue, 23 Jul 2013 01:45:45 +0000 (18:45 -0700)]
Kill spike when xspike is SIGINTed

10 years agoDon't use stdout for debugging
Andrew Waterman [Mon, 22 Jul 2013 21:52:51 +0000 (14:52 -0700)]
Don't use stdout for debugging

10 years agoAdd xspike program
Andrew Waterman [Mon, 22 Jul 2013 21:48:54 +0000 (14:48 -0700)]
Add xspike program

10 years agoUse calloc to allocate target memory
Andrew Waterman [Sat, 20 Jul 2013 01:12:50 +0000 (18:12 -0700)]
Use calloc to allocate target memory

It just calls mmap under the hood, anyway...

10 years agoEliminate infinite loop in debug mode
Andrew Waterman [Sat, 13 Jul 2013 01:42:27 +0000 (18:42 -0700)]
Eliminate infinite loop in debug mode

10 years agoExit cleanly from debug console
Andrew Waterman [Sat, 13 Jul 2013 01:23:05 +0000 (18:23 -0700)]
Exit cleanly from debug console

10 years agoFavor procs.size() over num_cores()
Andrew Waterman [Sat, 13 Jul 2013 01:22:25 +0000 (18:22 -0700)]
Favor procs.size() over num_cores()

10 years agoFix SR_U64 bit being ignored
Andrew Waterman [Sat, 13 Jul 2013 01:20:16 +0000 (18:20 -0700)]
Fix SR_U64 bit being ignored

10 years agomake spike.o correctly depend on dispatch.h
Andrew Waterman [Mon, 3 Jun 2013 05:14:19 +0000 (22:14 -0700)]
make spike.o correctly depend on dispatch.h

10 years agouse coreutils `seq' instead of hacky `range'
Andrew Waterman [Mon, 3 Jun 2013 02:01:57 +0000 (19:01 -0700)]
use coreutils `seq' instead of hacky `range'

11 years agochange riscv-isa-run to spike in documentation
Yunsup Lee [Wed, 15 May 2013 19:03:00 +0000 (12:03 -0700)]
change riscv-isa-run to spike in documentation

11 years agofix make issue
Yunsup Lee [Wed, 15 May 2013 19:02:42 +0000 (12:02 -0700)]
fix make issue

11 years agochange riscv-isa-run to spike
Yunsup Lee [Tue, 14 May 2013 02:11:54 +0000 (19:11 -0700)]
change riscv-isa-run to spike

11 years agomake Makefile sh-friendly
Andrew Waterman [Mon, 6 May 2013 23:07:15 +0000 (16:07 -0700)]
make Makefile sh-friendly

11 years agouse inttypes macros to print uint64_t
Andrew Waterman [Thu, 25 Apr 2013 23:36:25 +0000 (16:36 -0700)]
use inttypes macros to print uint64_t

11 years agofix(?) circular dependence on generated headers
Andrew Waterman [Thu, 25 Apr 2013 04:23:54 +0000 (21:23 -0700)]
fix(?) circular dependence on generated headers

11 years agoadd range(start, end) method to Makefile
Andrew Waterman [Thu, 25 Apr 2013 04:23:39 +0000 (21:23 -0700)]
add range(start, end) method to Makefile

11 years agofixes to correctly simulate the vector unit
Yunsup Lee [Wed, 24 Apr 2013 08:46:16 +0000 (01:46 -0700)]
fixes to correctly simulate the vector unit

11 years agomake interactive mode cope with canonical terminal
Andrew Waterman [Tue, 23 Apr 2013 08:43:45 +0000 (01:43 -0700)]
make interactive mode cope with canonical terminal

11 years agodestroy htif on simulator termination
Andrew Waterman [Tue, 23 Apr 2013 08:00:20 +0000 (01:00 -0700)]
destroy htif on simulator termination

11 years agocorrectly depend on dispatch.h
Andrew Waterman [Mon, 22 Apr 2013 09:22:47 +0000 (02:22 -0700)]
correctly depend on dispatch.h

11 years agoremove circular dependence in Makefile
Andrew Waterman [Sat, 20 Apr 2013 06:33:40 +0000 (23:33 -0700)]
remove circular dependence in Makefile

Thanks, Sebastien!

11 years agoupdate abi register names
Andrew Waterman [Sat, 20 Apr 2013 06:27:35 +0000 (23:27 -0700)]
update abi register names

11 years agoadd AUIPC insn; remove RDNPC insn
Andrew Waterman [Wed, 17 Apr 2013 11:38:17 +0000 (04:38 -0700)]
add AUIPC insn; remove RDNPC insn

11 years agoadd load-reserved/store-conditional instructions
Andrew Waterman [Sat, 30 Mar 2013 01:35:25 +0000 (18:35 -0700)]
add load-reserved/store-conditional instructions

11 years agoignore writes to SR IP field
Andrew Waterman [Sat, 30 Mar 2013 01:26:07 +0000 (18:26 -0700)]
ignore writes to SR IP field

11 years agoopcodes.h must only contain DECLARE_INSN() lines
Andrew Waterman [Wed, 27 Mar 2013 07:14:31 +0000 (00:14 -0700)]
opcodes.h must only contain DECLARE_INSN() lines

11 years agoadd BSD license
Andrew Waterman [Tue, 26 Mar 2013 05:50:37 +0000 (22:50 -0700)]
add BSD license

11 years agoupdate ancient README
Andrew Waterman [Tue, 26 Mar 2013 05:50:18 +0000 (22:50 -0700)]
update ancient README

11 years agotruncate effective addresses in rv32
Andrew Waterman [Tue, 26 Mar 2013 05:38:32 +0000 (22:38 -0700)]
truncate effective addresses in rv32

also, employ a more efficient instruction dispatch based upon rv32 mode.

11 years agoexpose pending interrupts in status register
Andrew Waterman [Tue, 26 Mar 2013 03:06:10 +0000 (20:06 -0700)]
expose pending interrupts in status register

11 years agoadd missing #include
Andrew Waterman [Tue, 26 Mar 2013 03:04:54 +0000 (20:04 -0700)]
add missing #include

11 years agoignore host writes to fromhost if old value not 0
Andrew Waterman [Tue, 26 Mar 2013 03:04:09 +0000 (20:04 -0700)]
ignore host writes to fromhost if old value not 0

11 years agosupport compilation with gcc 4.7
Andrew Waterman [Tue, 26 Mar 2013 02:57:57 +0000 (19:57 -0700)]
support compilation with gcc 4.7

11 years agofix D$ model not acknowledging stores
Andrew Waterman [Fri, 15 Feb 2013 09:24:19 +0000 (01:24 -0800)]
fix D$ model not acknowledging stores

11 years agospecialize fully-associative caches
Andrew Waterman [Fri, 15 Feb 2013 08:25:54 +0000 (00:25 -0800)]
specialize fully-associative caches

the dumb linear search of a set's tag array was far too slow

11 years agodon't store host pointers in soft TLB
Andrew Waterman [Fri, 15 Feb 2013 08:25:01 +0000 (00:25 -0800)]
don't store host pointers in soft TLB

this reduces performance by epsilon, but it simplifies hooking into the MMU

11 years agoclean up fetch-execute loop a bit
Andrew Waterman [Wed, 13 Feb 2013 22:13:51 +0000 (14:13 -0800)]
clean up fetch-execute loop a bit

11 years agoadd I$/D$/L2$ simulators
Andrew Waterman [Wed, 13 Feb 2013 20:59:53 +0000 (12:59 -0800)]
add I$/D$/L2$ simulators

11 years agomigrate to c++11
Andrew Waterman [Wed, 13 Feb 2013 06:59:56 +0000 (22:59 -0800)]
migrate to c++11

11 years agomake HTIF interactions deterministic; fix race
Andrew Waterman [Wed, 13 Feb 2013 06:59:14 +0000 (22:59 -0800)]
make HTIF interactions deterministic; fix race

11 years agoremove unnecessary #include
Andrew Waterman [Sat, 26 Jan 2013 07:48:37 +0000 (23:48 -0800)]
remove unnecessary #include

11 years agochange htif to link against libfesvr
Andrew Waterman [Sat, 26 Jan 2013 02:59:35 +0000 (18:59 -0800)]
change htif to link against libfesvr

11 years agofix vector code simulation problem, turn on SR_U64
Yunsup Lee [Tue, 13 Nov 2012 18:16:03 +0000 (10:16 -0800)]
fix vector code simulation problem, turn on SR_U64

11 years agonew tohost/fromhost semantics
Andrew Waterman [Fri, 31 Aug 2012 00:36:30 +0000 (17:36 -0700)]
new tohost/fromhost semantics

11 years agonew tohost/fromhost semantics
Andrew Waterman [Thu, 2 Aug 2012 05:55:02 +0000 (22:55 -0700)]
new tohost/fromhost semantics

11 years agocorrect HTIF reset behavior
Andrew Waterman [Mon, 23 Jul 2012 04:01:18 +0000 (21:01 -0700)]
correct HTIF reset behavior

cores' reset signals can be independently toggled

12 years agofix htif interaction with interactive mode
Andrew Waterman [Wed, 16 May 2012 01:31:03 +0000 (18:31 -0700)]
fix htif interaction with interactive mode

12 years agoper-core tohost/fromhost registers
Andrew Waterman [Wed, 9 May 2012 10:08:15 +0000 (03:08 -0700)]
per-core tohost/fromhost registers

update your fesvr

12 years agonew supervisor mode
Andrew Waterman [Sat, 24 Mar 2012 19:54:03 +0000 (12:54 -0700)]
new supervisor mode

12 years agoadd disasm functions for vector
Yunsup Lee [Tue, 20 Mar 2012 02:35:48 +0000 (19:35 -0700)]
add disasm functions for vector

12 years agomake NaN behavior consistent with hardfloat
Andrew Waterman [Tue, 20 Mar 2012 06:40:38 +0000 (23:40 -0700)]
make NaN behavior consistent with hardfloat

12 years agofix double-precision NaNs
Andrew Waterman [Tue, 20 Mar 2012 02:38:26 +0000 (19:38 -0700)]
fix double-precision NaNs

12 years agoabstract regfile write port
Andrew Waterman [Tue, 20 Mar 2012 00:54:08 +0000 (17:54 -0700)]
abstract regfile write port

12 years agoabstract regfile behind object
Andrew Waterman [Tue, 20 Mar 2012 00:15:38 +0000 (17:15 -0700)]
abstract regfile behind object