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
Andrew Waterman [Mon, 25 Nov 2013 12:42:03 +0000 (04:42 -0800)]
Update to new privileged ISA
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
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
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
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
Andrew Waterman [Sun, 15 Sep 2013 11:27:07 +0000 (04:27 -0700)]
Add helper disassembly program
Andrew Waterman [Sun, 15 Sep 2013 11:26:35 +0000 (04:26 -0700)]
ISA changes
Andrew Waterman [Wed, 11 Sep 2013 11:13:27 +0000 (04:13 -0700)]
Add AMOXOR
Andrew Waterman [Wed, 11 Sep 2013 10:12:11 +0000 (03:12 -0700)]
Implement zany immediates
Andrew Waterman [Tue, 10 Sep 2013 09:07:08 +0000 (02:07 -0700)]
Don't tick HTIF as often
Andrew Waterman [Tue, 10 Sep 2013 09:06:56 +0000 (02:06 -0700)]
Add rd field to JAL; drop J
Andrew Waterman [Sun, 18 Aug 2013 11:14:16 +0000 (04:14 -0700)]
Renumber PCRs
Andrew Waterman [Tue, 13 Aug 2013 07:54:21 +0000 (00:54 -0700)]
Add test program for dummy rocc
Should move this elsewhere
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
Andrew Waterman [Mon, 12 Aug 2013 02:10:51 +0000 (19:10 -0700)]
Instructions are no longer member functions
Andrew Waterman [Thu, 8 Aug 2013 03:13:33 +0000 (20:13 -0700)]
Ignore JALR's effective address LSB
Andrew Waterman [Wed, 7 Aug 2013 01:00:30 +0000 (18:00 -0700)]
Disentangle some header files
Andrew Waterman [Wed, 7 Aug 2013 01:00:18 +0000 (18:00 -0700)]
Rename MTFSR/MFFSR to FSSR/FRSR
Andrew Waterman [Wed, 7 Aug 2013 00:59:48 +0000 (17:59 -0700)]
Swap J and JALR encoding
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).
Andrew Waterman [Wed, 31 Jul 2013 20:37:33 +0000 (13:37 -0700)]
Fix dumb ERET bug
Andrew Waterman [Mon, 29 Jul 2013 02:46:18 +0000 (19:46 -0700)]
Don't flush TLB on PTBR writes (only FATC)
Andrew Waterman [Sat, 27 Jul 2013 03:25:18 +0000 (20:25 -0700)]
New supervisor mode
Andrew Waterman [Sat, 27 Jul 2013 01:12:36 +0000 (18:12 -0700)]
Remove more vector stuff
Andrew Waterman [Sat, 27 Jul 2013 00:44:11 +0000 (17:44 -0700)]
Rename MFTX/MXTF to FMV
Andrew Waterman [Fri, 26 Jul 2013 11:39:25 +0000 (04:39 -0700)]
Rip out Hwacha for now
Andrew Waterman [Fri, 26 Jul 2013 11:15:57 +0000 (04:15 -0700)]
Rip out RVC for now
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.
Andrew Waterman [Thu, 25 Jul 2013 23:13:08 +0000 (16:13 -0700)]
Remove JALR static hints
Andrew Waterman [Tue, 23 Jul 2013 01:45:45 +0000 (18:45 -0700)]
Kill spike when xspike is SIGINTed
Andrew Waterman [Mon, 22 Jul 2013 21:52:51 +0000 (14:52 -0700)]
Don't use stdout for debugging
Andrew Waterman [Mon, 22 Jul 2013 21:48:54 +0000 (14:48 -0700)]
Add xspike program
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...
Andrew Waterman [Sat, 13 Jul 2013 01:42:27 +0000 (18:42 -0700)]
Eliminate infinite loop in debug mode
Andrew Waterman [Sat, 13 Jul 2013 01:23:05 +0000 (18:23 -0700)]
Exit cleanly from debug console
Andrew Waterman [Sat, 13 Jul 2013 01:22:25 +0000 (18:22 -0700)]
Favor procs.size() over num_cores()
Andrew Waterman [Sat, 13 Jul 2013 01:20:16 +0000 (18:20 -0700)]
Fix SR_U64 bit being ignored
Andrew Waterman [Mon, 3 Jun 2013 05:14:19 +0000 (22:14 -0700)]
make spike.o correctly depend on dispatch.h
Andrew Waterman [Mon, 3 Jun 2013 02:01:57 +0000 (19:01 -0700)]
use coreutils `seq' instead of hacky `range'
Yunsup Lee [Wed, 15 May 2013 19:03:00 +0000 (12:03 -0700)]
change riscv-isa-run to spike in documentation
Yunsup Lee [Wed, 15 May 2013 19:02:42 +0000 (12:02 -0700)]
fix make issue
Yunsup Lee [Tue, 14 May 2013 02:11:54 +0000 (19:11 -0700)]
change riscv-isa-run to spike
Andrew Waterman [Mon, 6 May 2013 23:07:15 +0000 (16:07 -0700)]
make Makefile sh-friendly
Andrew Waterman [Thu, 25 Apr 2013 23:36:25 +0000 (16:36 -0700)]
use inttypes macros to print uint64_t
Andrew Waterman [Thu, 25 Apr 2013 04:23:54 +0000 (21:23 -0700)]
fix(?) circular dependence on generated headers
Andrew Waterman [Thu, 25 Apr 2013 04:23:39 +0000 (21:23 -0700)]
add range(start, end) method to Makefile
Yunsup Lee [Wed, 24 Apr 2013 08:46:16 +0000 (01:46 -0700)]
fixes to correctly simulate the vector unit
Andrew Waterman [Tue, 23 Apr 2013 08:43:45 +0000 (01:43 -0700)]
make interactive mode cope with canonical terminal
Andrew Waterman [Tue, 23 Apr 2013 08:00:20 +0000 (01:00 -0700)]
destroy htif on simulator termination
Andrew Waterman [Mon, 22 Apr 2013 09:22:47 +0000 (02:22 -0700)]
correctly depend on dispatch.h
Andrew Waterman [Sat, 20 Apr 2013 06:33:40 +0000 (23:33 -0700)]
remove circular dependence in Makefile
Thanks, Sebastien!
Andrew Waterman [Sat, 20 Apr 2013 06:27:35 +0000 (23:27 -0700)]
update abi register names
Andrew Waterman [Wed, 17 Apr 2013 11:38:17 +0000 (04:38 -0700)]
add AUIPC insn; remove RDNPC insn
Andrew Waterman [Sat, 30 Mar 2013 01:35:25 +0000 (18:35 -0700)]
add load-reserved/store-conditional instructions
Andrew Waterman [Sat, 30 Mar 2013 01:26:07 +0000 (18:26 -0700)]
ignore writes to SR IP field
Andrew Waterman [Wed, 27 Mar 2013 07:14:31 +0000 (00:14 -0700)]
opcodes.h must only contain DECLARE_INSN() lines
Andrew Waterman [Tue, 26 Mar 2013 05:50:37 +0000 (22:50 -0700)]
add BSD license
Andrew Waterman [Tue, 26 Mar 2013 05:50:18 +0000 (22:50 -0700)]
update ancient README
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.
Andrew Waterman [Tue, 26 Mar 2013 03:06:10 +0000 (20:06 -0700)]
expose pending interrupts in status register
Andrew Waterman [Tue, 26 Mar 2013 03:04:54 +0000 (20:04 -0700)]
add missing #include
Andrew Waterman [Tue, 26 Mar 2013 03:04:09 +0000 (20:04 -0700)]
ignore host writes to fromhost if old value not 0
Andrew Waterman [Tue, 26 Mar 2013 02:57:57 +0000 (19:57 -0700)]
support compilation with gcc 4.7
Andrew Waterman [Fri, 15 Feb 2013 09:24:19 +0000 (01:24 -0800)]
fix D$ model not acknowledging stores
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
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
Andrew Waterman [Wed, 13 Feb 2013 22:13:51 +0000 (14:13 -0800)]
clean up fetch-execute loop a bit
Andrew Waterman [Wed, 13 Feb 2013 20:59:53 +0000 (12:59 -0800)]
add I$/D$/L2$ simulators
Andrew Waterman [Wed, 13 Feb 2013 06:59:56 +0000 (22:59 -0800)]
migrate to c++11
Andrew Waterman [Wed, 13 Feb 2013 06:59:14 +0000 (22:59 -0800)]
make HTIF interactions deterministic; fix race
Andrew Waterman [Sat, 26 Jan 2013 07:48:37 +0000 (23:48 -0800)]
remove unnecessary #include