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

12 years agoupdate vector fences
Andrew Waterman [Mon, 19 Mar 2012 03:49:31 +0000 (20:49 -0700)]
update vector fences

12 years agoclean up vector exception instructions
Yunsup Lee [Sun, 18 Mar 2012 23:29:05 +0000 (16:29 -0700)]
clean up vector exception instructions

12 years agoadd more instructions for vector exception handling
Yunsup Lee [Wed, 14 Mar 2012 06:41:52 +0000 (23:41 -0700)]
add more instructions for vector exception handling

12 years agoadd vvcfg,vtcfg
Yunsup Lee [Wed, 14 Mar 2012 05:23:58 +0000 (22:23 -0700)]
add vvcfg,vtcfg

12 years agoopcodes cleanup
Yunsup Lee [Tue, 13 Mar 2012 17:15:45 +0000 (10:15 -0700)]
opcodes cleanup

12 years agoalways propagate default NaN (all bits set)
Andrew Waterman [Tue, 13 Mar 2012 00:40:43 +0000 (17:40 -0700)]
always propagate default NaN (all bits set)

12 years agoslight change to vector supervisor instructions
Yunsup Lee [Sat, 10 Mar 2012 20:52:34 +0000 (12:52 -0800)]
slight change to vector supervisor instructions

12 years agoadd place holders for instructions to handle vector exceptions
Yunsup Lee [Sat, 3 Mar 2012 23:42:54 +0000 (15:42 -0800)]
add place holders for instructions to handle vector exceptions

12 years agonew instructions to handle vector exceptions
Yunsup Lee [Sat, 3 Mar 2012 23:10:56 +0000 (15:10 -0800)]
new instructions to handle vector exceptions

12 years agonew HTIF protocol. update your fesvr.
Andrew Waterman [Mon, 20 Feb 2012 07:19:51 +0000 (23:19 -0800)]
new HTIF protocol.  update your fesvr.

12 years agofixed a bug in remu[w]
Andrew Waterman [Mon, 20 Feb 2012 07:18:58 +0000 (23:18 -0800)]
fixed a bug in remu[w]

it was actually caught by the ASM tests... :(

12 years agoimplement lighter-weight htif packet header
Andrew Waterman [Sat, 18 Feb 2012 00:36:00 +0000 (16:36 -0800)]
implement lighter-weight htif packet header

12 years agoreimplement div[u][w]/rem[u][w]
Andrew Waterman [Thu, 16 Feb 2012 03:44:24 +0000 (19:44 -0800)]
reimplement div[u][w]/rem[u][w]

fixes bugs for inputs not properly sign-extended

12 years agofix sltu disassembly
Andrew Waterman [Mon, 13 Feb 2012 09:45:32 +0000 (01:45 -0800)]
fix sltu disassembly

12 years agoinitialize tohost and fromhost
Yunsup Lee [Thu, 9 Feb 2012 03:49:39 +0000 (19:49 -0800)]
initialize tohost and fromhost

12 years agoremove debug printf
Andrew Waterman [Wed, 1 Feb 2012 01:32:57 +0000 (17:32 -0800)]
remove debug printf

12 years agopoll HTIF occasionally
Andrew Waterman [Wed, 1 Feb 2012 01:31:33 +0000 (17:31 -0800)]
poll HTIF occasionally

12 years agodon't set badvaddr for instruction access faults
Andrew Waterman [Tue, 31 Jan 2012 00:30:02 +0000 (16:30 -0800)]
don't set badvaddr for instruction access faults

12 years agofix divide by zero bugs
Yunsup Lee [Mon, 30 Jan 2012 22:38:23 +0000 (14:38 -0800)]
fix divide by zero bugs

12 years agocheck that virtual addresses are sign-extended
Andrew Waterman [Tue, 24 Jan 2012 08:08:05 +0000 (00:08 -0800)]
check that virtual addresses are sign-extended

12 years agodisentangle decode.h from other headers
Andrew Waterman [Mon, 23 Jan 2012 02:18:47 +0000 (18:18 -0800)]
disentangle decode.h from other headers

12 years agowork around gcc 4.4 bug
Andrew Waterman [Mon, 23 Jan 2012 01:56:46 +0000 (17:56 -0800)]
work around gcc 4.4 bug

12 years agofix compilation for gcc 4.6.1
Andrew Waterman [Thu, 12 Jan 2012 01:35:03 +0000 (17:35 -0800)]
fix compilation for gcc 4.6.1

12 years agofix utidx assign bug, make ut code execute faster
Yunsup Lee [Sun, 11 Dec 2011 01:40:07 +0000 (17:40 -0800)]
fix utidx assign bug, make ut code execute faster

12 years agofix the fpr abi names
Yunsup Lee [Sun, 11 Dec 2011 01:39:53 +0000 (17:39 -0800)]
fix the fpr abi names

12 years agoRemove dependence on binutils
Your Name [Sat, 12 Nov 2011 02:03:08 +0000 (18:03 -0800)]
Remove dependence on binutils

We now have our own disassembler.

12 years agoUse new compiler toolchain's disassembler
Andrew Waterman [Fri, 11 Nov 2011 12:36:37 +0000 (04:36 -0800)]
Use new compiler toolchain's disassembler

12 years agoChanged MFTX to use rs1 for its source
Andrew Waterman [Fri, 11 Nov 2011 08:29:38 +0000 (00:29 -0800)]
Changed MFTX to use rs1 for its source

12 years agoChanged supervisor mode
Andrew Waterman [Fri, 11 Nov 2011 08:02:01 +0000 (00:02 -0800)]
Changed supervisor mode

- initial PC is 0x2000
- PCRs renumbered
- clearing IPIs now requires a write to a different PCR
- IRQs are each given their own cause #

12 years agoFixed tight coupling of host and target page size
Andrew Waterman [Tue, 1 Nov 2011 22:32:49 +0000 (15:32 -0700)]
Fixed tight coupling of host and target page size

12 years agochanged page size to 8KB
Andrew Waterman [Thu, 27 Oct 2011 11:05:27 +0000 (04:05 -0700)]
changed page size to 8KB

12 years agoMerge branch 'master' of github.com:ucb-bar/riscv-isa-sim
Yunsup Lee [Wed, 19 Oct 2011 00:14:44 +0000 (17:14 -0700)]
Merge branch 'master' of github.com:ucb-bar/riscv-isa-sim

12 years agofix vf
Yunsup Lee [Wed, 19 Oct 2011 00:17:18 +0000 (17:17 -0700)]
fix vf

12 years agoyunsup made this fix..ask him
Yunsup Lee [Wed, 19 Oct 2011 00:03:26 +0000 (17:03 -0700)]
yunsup made this fix..ask him

12 years agodon't forget to commit configure after autoconf!
Andrew Waterman [Thu, 18 Aug 2011 20:52:09 +0000 (13:52 -0700)]
don't forget to commit configure after autoconf!

12 years agoadded #include <stdlib.h> to get rid of errors building with gcc-4.4 on ubuntu
Rimas Avizienis [Wed, 13 Jul 2011 08:41:43 +0000 (01:41 -0700)]
added #include <stdlib.h> to get rid of errors building with gcc-4.4 on ubuntu

12 years agobugfix to riscv.ac
Rimas Avizienis [Fri, 8 Jul 2011 17:58:40 +0000 (10:58 -0700)]
bugfix to riscv.ac

12 years agofixes to make disassembly work under macos (with macports binutils installed)
Rimas Avizienis [Fri, 8 Jul 2011 17:49:30 +0000 (10:49 -0700)]
fixes to make disassembly work under macos (with macports binutils installed)

12 years agoBuilds and runs on Mac OS 10.6.7
Andrew Waterman [Mon, 27 Jun 2011 22:57:53 +0000 (15:57 -0700)]
Builds and runs on Mac OS 10.6.7

12 years agopost-repo-split cleanup
Andrew Waterman [Mon, 20 Jun 2011 04:47:52 +0000 (21:47 -0700)]
post-repo-split cleanup

12 years agotemporary undoing of renaming
Andrew Waterman [Mon, 20 Jun 2011 03:47:29 +0000 (20:47 -0700)]
temporary undoing of renaming

12 years ago[sim] renamed to riscv-isa-run
Andrew Waterman [Mon, 13 Jun 2011 03:27:10 +0000 (20:27 -0700)]
[sim] renamed to riscv-isa-run

12 years ago[xcc] minor performance tweaks
Andrew Waterman [Sun, 12 Jun 2011 08:36:59 +0000 (01:36 -0700)]
[xcc] minor performance tweaks

12 years ago[xcc] fixed simulator build time
Andrew Waterman [Sun, 12 Jun 2011 03:34:04 +0000 (20:34 -0700)]
[xcc] fixed simulator build time

12 years ago[xcc] tlb now stores host addresses
Andrew Waterman [Sun, 12 Jun 2011 01:55:09 +0000 (18:55 -0700)]
[xcc] tlb now stores host addresses

12 years ago[xcc] cleaned up mmu code
Andrew Waterman [Sat, 11 Jun 2011 23:45:01 +0000 (16:45 -0700)]
[xcc] cleaned up mmu code

12 years ago[xcc] fix configure scripts
Andrew Waterman [Sat, 11 Jun 2011 23:13:59 +0000 (16:13 -0700)]
[xcc] fix configure scripts

12 years ago[xcc] instructions now set PC explicitly
Andrew Waterman [Sat, 11 Jun 2011 23:12:48 +0000 (16:12 -0700)]
[xcc] instructions now set PC explicitly

12 years ago[sim, opcodes] made sim more decoupled from opcodes
Andrew Waterman [Sat, 11 Jun 2011 02:54:02 +0000 (19:54 -0700)]
[sim, opcodes] made sim more decoupled from opcodes

12 years ago[sim] fix writeback after ipi clearing
Andrew Waterman [Mon, 6 Jun 2011 02:33:32 +0000 (19:33 -0700)]
[sim] fix writeback after ipi clearing

12 years ago[sim] add ability to clear IPIs
Andrew Waterman [Sun, 5 Jun 2011 06:17:19 +0000 (23:17 -0700)]
[sim] add ability to clear IPIs

12 years ago[sim] fault on failed addr translations
Andrew Waterman [Wed, 1 Jun 2011 02:23:03 +0000 (19:23 -0700)]
[sim] fault on failed addr translations

previously, a bad PTE would segfault the simulator, rather than sending
the fault to the OS.

12 years ago[sim] minor sim cleanup
Andrew Waterman [Tue, 31 May 2011 21:51:38 +0000 (14:51 -0700)]
[sim] minor sim cleanup

12 years ago[sim,opcodes] improved sim build and run performance
Andrew Waterman [Sun, 29 May 2011 11:11:39 +0000 (04:11 -0700)]
[sim,opcodes] improved sim build and run performance

12 years ago[fesvr,xcc,sim] fixed multicore sim for akaros
Andrew Waterman [Sun, 29 May 2011 04:59:25 +0000 (21:59 -0700)]
[fesvr,xcc,sim] fixed multicore sim for akaros

13 years ago[sim,xcc] add rdcycle/rdtime/rdinstret
Andrew Waterman [Mon, 23 May 2011 09:26:05 +0000 (02:26 -0700)]
[sim,xcc] add rdcycle/rdtime/rdinstret

13 years ago[sim] more fp<->int fixes
Andrew Waterman [Thu, 19 May 2011 22:27:12 +0000 (15:27 -0700)]
[sim] more fp<->int fixes

13 years ago[sim] more fp conversion bugs fixed
Andrew Waterman [Thu, 19 May 2011 20:23:26 +0000 (13:23 -0700)]
[sim] more fp conversion bugs fixed

13 years ago[sim] change default hwvl
Yunsup Lee [Thu, 19 May 2011 18:45:23 +0000 (11:45 -0700)]
[sim] change default hwvl

13 years ago[sim] vlen calc reflects the hardware
Yunsup Lee [Thu, 19 May 2011 17:10:31 +0000 (10:10 -0700)]
[sim] vlen calc reflects the hardware

13 years ago[sim] fixed fcvt rounding bugs
Andrew Waterman [Wed, 18 May 2011 23:09:45 +0000 (16:09 -0700)]
[sim] fixed fcvt rounding bugs

13 years ago[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)
Yunsup Lee [Wed, 18 May 2011 21:35:32 +0000 (14:35 -0700)]
[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)

13 years ago[sim,pk] cleanups & initial virtual memory support
Andrew Waterman [Mon, 16 May 2011 21:34:11 +0000 (14:34 -0700)]
[sim,pk] cleanups & initial virtual memory support

13 years ago[sim,xcc] change cond. mov inst format, add implementation
Yunsup Lee [Mon, 16 May 2011 08:38:41 +0000 (01:38 -0700)]
[sim,xcc] change cond. mov inst format, add implementation

13 years ago[opcodes,pk,sim,xcc] resolve a conflict
Yunsup Lee [Mon, 16 May 2011 05:53:52 +0000 (22:53 -0700)]
[opcodes,pk,sim,xcc] resolve a conflict

13 years ago[libs,opcodes,pk,sim,xcc] add mov*,fmov*, shuffle vec insts
Yunsup Lee [Mon, 16 May 2011 05:33:25 +0000 (22:33 -0700)]
[libs,opcodes,pk,sim,xcc] add mov*,fmov*, shuffle vec insts

13 years ago[sim] initial support for virtual memory
Andrew Waterman [Sat, 14 May 2011 02:19:53 +0000 (19:19 -0700)]
[sim] initial support for virtual memory

13 years ago[sim] stubs for perfctr instructions
Andrew Waterman [Sat, 14 May 2011 00:31:45 +0000 (17:31 -0700)]
[sim] stubs for perfctr instructions

13 years agotweaked encoding of rdcycle & cousins
Andrew Waterman [Fri, 13 May 2011 21:56:57 +0000 (14:56 -0700)]
tweaked encoding of rdcycle & cousins

13 years ago[sim] fixed building sim without cache simulators
Andrew Waterman [Fri, 6 May 2011 22:49:34 +0000 (15:49 -0700)]
[sim] fixed building sim without cache simulators

13 years ago[sim] hacked in a dcache simulator
Andrew Waterman [Sun, 1 May 2011 06:44:59 +0000 (23:44 -0700)]
[sim] hacked in a dcache simulator

13 years ago[xcc,sim,opcodes] added c.addiw
Andrew Waterman [Mon, 25 Apr 2011 04:22:40 +0000 (21:22 -0700)]
[xcc,sim,opcodes] added c.addiw