riscv-isa-sim.git
13 years agotemporary undoing of renaming
Andrew Waterman [Mon, 20 Jun 2011 03:47:29 +0000 (20:47 -0700)]
temporary undoing of renaming

13 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

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

13 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

13 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

13 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

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

13 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

13 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

13 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

13 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

13 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.

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

13 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

13 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

13 years ago[xcc,sim,opcodes] added more RVC instructions
Andrew Waterman [Sun, 24 Apr 2011 23:35:13 +0000 (16:35 -0700)]
[xcc,sim,opcodes] added more RVC instructions

13 years ago[sim] fixed divw/remw crashing simulator
Andrew Waterman [Sun, 24 Apr 2011 04:31:50 +0000 (21:31 -0700)]
[sim] fixed divw/remw crashing simulator

13 years ago[xcc,sim] rv64 'w' instruction semantics changed
Andrew Waterman [Tue, 19 Apr 2011 05:55:28 +0000 (22:55 -0700)]
[xcc,sim] rv64 'w' instruction semantics changed

they no longer require their inputs to be canonicalized 32b values, so
this speeds up mixed int/long code sequences.

13 years ago[xcc,sim,opcodes] added rvc conditional branches
Andrew Waterman [Tue, 19 Apr 2011 02:28:51 +0000 (19:28 -0700)]
[xcc,sim,opcodes] added rvc conditional branches

13 years ago[sim] removed undefined behavior for non-canonical inputs
Andrew Waterman [Sun, 17 Apr 2011 02:44:52 +0000 (19:44 -0700)]
[sim] removed undefined behavior for non-canonical inputs

13 years ago[sim] added "str" debug command
Andrew Waterman [Sun, 17 Apr 2011 02:44:16 +0000 (19:44 -0700)]
[sim] added "str" debug command

it prints the c string starting at the specified memory address.

13 years ago[sim] fixed jalr immediate bug
Andrew Waterman [Fri, 15 Apr 2011 22:33:39 +0000 (15:33 -0700)]
[sim] fixed jalr immediate bug

13 years ago[sim] added icache simulator (disabled by default)
Andrew Waterman [Fri, 15 Apr 2011 21:32:54 +0000 (14:32 -0700)]
[sim] added icache simulator (disabled by default)

13 years ago[xcc,pk,sim] added privileged cflush instruction
Andrew Waterman [Wed, 13 Apr 2011 01:27:26 +0000 (18:27 -0700)]
[xcc,pk,sim] added privileged cflush instruction

13 years ago[xcc,sim] fixed RM field
Andrew Waterman [Wed, 13 Apr 2011 01:22:07 +0000 (18:22 -0700)]
[xcc,sim] fixed RM field

13 years ago[xcc,sim] rvc loads and stores
Andrew Waterman [Tue, 12 Apr 2011 08:42:55 +0000 (01:42 -0700)]
[xcc,sim] rvc loads and stores

13 years ago[sim,pk] fixed minor pk bugs and trap codes
Andrew Waterman [Tue, 12 Apr 2011 08:42:20 +0000 (01:42 -0700)]
[sim,pk] fixed minor pk bugs and trap codes

13 years ago[sim] fixed FSR exception field bug
Andrew Waterman [Tue, 12 Apr 2011 00:10:16 +0000 (17:10 -0700)]
[sim] fixed FSR exception field bug

13 years ago[xcc,sim,opcodes] more rvc instructions and bug fixes
Andrew Waterman [Tue, 12 Apr 2011 00:09:50 +0000 (17:09 -0700)]
[xcc,sim,opcodes] more rvc instructions and bug fixes

13 years ago[sim] add disable option for vector
Yunsup Lee [Sun, 10 Apr 2011 03:18:04 +0000 (20:18 -0700)]
[sim] add disable option for vector

13 years ago[sim] set SR_EV for uts
Yunsup Lee [Sun, 10 Apr 2011 03:15:22 +0000 (20:15 -0700)]
[sim] set SR_EV for uts

13 years ago[sim] add vector traps to vector instructions
Yunsup Lee [Sun, 10 Apr 2011 02:45:10 +0000 (19:45 -0700)]
[sim] add vector traps to vector instructions

13 years ago[sim] add vt stuff
Yunsup Lee [Sun, 10 Apr 2011 02:35:14 +0000 (19:35 -0700)]
[sim] add vt stuff

13 years ago[xcc, sim] added rvc insn c.li; misc fixes
Andrew Waterman [Sun, 10 Apr 2011 03:03:07 +0000 (20:03 -0700)]
[xcc, sim] added rvc insn c.li; misc fixes

13 years ago[sim,pk] reorganized status register
Andrew Waterman [Sun, 10 Apr 2011 00:50:12 +0000 (17:50 -0700)]
[sim,pk] reorganized status register

13 years ago[xcc,pk,sim,opcodes] added first RVC instruction
Andrew Waterman [Sun, 10 Apr 2011 00:37:42 +0000 (17:37 -0700)]
[xcc,pk,sim,opcodes] added first RVC instruction

13 years ago[sim] fixed multiply-high in rv32
Andrew Waterman [Fri, 8 Apr 2011 23:34:35 +0000 (16:34 -0700)]
[sim] fixed multiply-high in rv32

13 years ago[pk,sim] fixed parse-opcodes bug
Andrew Waterman [Thu, 7 Apr 2011 22:41:00 +0000 (15:41 -0700)]
[pk,sim] fixed parse-opcodes bug

was causing spurious illegal instruction traps

13 years ago[opcodes,pk,sim,xcc] fix utidx - add rd
Yunsup Lee [Thu, 7 Apr 2011 05:44:57 +0000 (22:44 -0700)]
[opcodes,pk,sim,xcc] fix utidx - add rd

13 years ago[opcodes,pk,sim,xcc] fix vector mem instruction format, add vector seg mem instructions
Yunsup Lee [Tue, 5 Apr 2011 07:50:52 +0000 (00:50 -0700)]
[opcodes,pk,sim,xcc] fix vector mem instruction format, add vector seg mem instructions

13 years ago[opcodes,pk,sim,xcc] add leftover vector instructions (vf, etc.)
Yunsup Lee [Mon, 4 Apr 2011 08:50:56 +0000 (01:50 -0700)]
[opcodes,pk,sim,xcc] add leftover vector instructions (vf, etc.)

13 years ago[opcodes,pk,sim,xcc] add vector mem instructions
Yunsup Lee [Mon, 4 Apr 2011 08:16:10 +0000 (01:16 -0700)]
[opcodes,pk,sim,xcc] add vector mem instructions

13 years ago[opcodes,pk,sim,xcc] add stop,utidx instructions
Yunsup Lee [Mon, 4 Apr 2011 07:08:18 +0000 (00:08 -0700)]
[opcodes,pk,sim,xcc] add stop,utidx instructions

13 years ago[opcodes,pk,sim,xcc] add fence instructions for vector unit
Yunsup Lee [Mon, 4 Apr 2011 06:54:56 +0000 (23:54 -0700)]
[opcodes,pk,sim,xcc] add fence instructions for vector unit

13 years ago[xcc] fixed bug in amo{maxu,minu}.w
Andrew Waterman [Wed, 30 Mar 2011 10:37:32 +0000 (03:37 -0700)]
[xcc] fixed bug in amo{maxu,minu}.w

13 years ago[opcodes] minor opcode changes
Andrew Waterman [Sat, 26 Mar 2011 02:02:37 +0000 (19:02 -0700)]
[opcodes] minor opcode changes

13 years ago[sim,pk,xcc,opcodes] removed fminmag/fmaxmag
Andrew Waterman [Sat, 26 Mar 2011 00:44:06 +0000 (17:44 -0700)]
[sim,pk,xcc,opcodes] removed fminmag/fmaxmag

13 years ago[xcc,pk,opcodes,sim] updated encoding/insn names
Andrew Waterman [Fri, 25 Mar 2011 23:43:38 +0000 (16:43 -0700)]
[xcc,pk,opcodes,sim] updated encoding/insn names

13 years ago[sim] LWU now illegal in RV32
Andrew Waterman [Fri, 18 Mar 2011 00:19:31 +0000 (17:19 -0700)]
[sim] LWU now illegal in RV32

13 years ago[xcc,sim] branches are pc-relative (not pc+4) again
Andrew Waterman [Tue, 1 Mar 2011 21:12:31 +0000 (13:12 -0800)]
[xcc,sim] branches are pc-relative (not pc+4) again

13 years ago[xcc,opcodes,pk,sim] krste's re-renaming spree
Andrew Waterman [Tue, 15 Feb 2011 07:44:13 +0000 (23:44 -0800)]
[xcc,opcodes,pk,sim] krste's re-renaming spree

13 years ago[xcc,sim,opcodes] removed mtflh/mffl/mffh
Andrew Waterman [Tue, 15 Feb 2011 05:17:49 +0000 (21:17 -0800)]
[xcc,sim,opcodes] removed mtflh/mffl/mffh

in rv32 these will be replaced with loads and stores.

13 years ago[sim,pk] added interrupt-pending field to cause reg
Andrew Waterman [Sat, 5 Feb 2011 00:09:47 +0000 (16:09 -0800)]
[sim,pk] added interrupt-pending field to cause reg

13 years ago[sim,xcc,opcodes] added back mtflh.d
Andrew Waterman [Wed, 2 Feb 2011 09:52:36 +0000 (01:52 -0800)]
[sim,xcc,opcodes] added back mtflh.d

13 years ago[opcodes,pk,sim,xcc] synci now bombs whole icache
Andrew Waterman [Wed, 2 Feb 2011 09:31:07 +0000 (01:31 -0800)]
[opcodes,pk,sim,xcc] synci now bombs whole icache

13 years ago[xcc,opcodes,pk,sim] cleanup to FP ISA
Andrew Waterman [Wed, 2 Feb 2011 07:22:54 +0000 (23:22 -0800)]
[xcc,opcodes,pk,sim] cleanup to FP ISA

- Added 5th rounding mode
- Removed MFCR/MTCR in favor of MFFSR/MTFSR (it was the only CR...)
- merged MTF.D with MTFLH.D; operation depends on RV32/RV64 mode
- made MFFL.D and MFFH.D illegal in RV64

13 years ago[sim] added nearest/ties to max magnitude rounding mode
Andrew Waterman [Wed, 2 Feb 2011 02:57:37 +0000 (18:57 -0800)]
[sim] added nearest/ties to max magnitude rounding mode

13 years ago[sim] changed divide-by-0 semantics
Andrew Waterman [Thu, 27 Jan 2011 02:05:11 +0000 (18:05 -0800)]
[sim] changed divide-by-0 semantics

now it always gives -1, no matter the signedness.

13 years ago[sim,opcodes] add mulhsu instruction
Andrew Waterman [Wed, 26 Jan 2011 06:56:38 +0000 (22:56 -0800)]
[sim,opcodes] add mulhsu instruction

13 years ago[opcodes,pk,sim,xcc] great renumbering of 2011, part deux
Andrew Waterman [Wed, 26 Jan 2011 06:51:24 +0000 (22:51 -0800)]
[opcodes,pk,sim,xcc] great renumbering of 2011, part deux

13 years ago[sim, pk, xcc, opcodes] great instruction renaming of 2011
Andrew Waterman [Fri, 21 Jan 2011 04:37:22 +0000 (20:37 -0800)]
[sim, pk, xcc, opcodes] great instruction renaming of 2011

13 years ago[opcodes, sim, xcc] made *w insns illegal in RV32
Andrew Waterman [Wed, 19 Jan 2011 01:51:52 +0000 (17:51 -0800)]
[opcodes, sim, xcc] made *w insns illegal in RV32

now generic variants behave differently in RV32 and RV64.

13 years ago[opcodes, pk, sim, xcc] removed nor, normalized macros to addi
Andrew Waterman [Mon, 17 Jan 2011 09:13:50 +0000 (01:13 -0800)]
[opcodes, pk, sim, xcc] removed nor, normalized macros to addi

13 years ago[sim] fix jalr bug
Andrew Waterman [Wed, 12 Jan 2011 03:02:20 +0000 (19:02 -0800)]
[sim] fix jalr bug

13 years ago[opcodes,pk,sim,xcc] flip fields to favor little endian
Yunsup Lee [Tue, 4 Jan 2011 03:12:24 +0000 (19:12 -0800)]
[opcodes,pk,sim,xcc] flip fields to favor little endian

13 years ago[sim] fixed some compiler warnings
Andrew Waterman [Mon, 27 Dec 2010 23:34:05 +0000 (15:34 -0800)]
[sim] fixed some compiler warnings

13 years ago[sim] cleaned up handling of link register
Andrew Waterman [Mon, 27 Dec 2010 22:28:45 +0000 (14:28 -0800)]
[sim] cleaned up handling of link register

14 years ago[sim] handle integer division overflow
Andrew Waterman [Thu, 11 Nov 2010 23:49:21 +0000 (15:49 -0800)]
[sim] handle integer division overflow

Behavior is now same as GCC's optimizer.  Previously, we just crashed :)

14 years ago[opcodes, pk, sim, xcc] Tweaked FP encoding
Andrew Waterman [Tue, 9 Nov 2010 23:31:00 +0000 (15:31 -0800)]
[opcodes, pk, sim, xcc] Tweaked FP encoding

14 years ago[opcodes] generate latex and verilog correctly
Andrew Waterman [Sun, 7 Nov 2010 00:44:56 +0000 (17:44 -0700)]
[opcodes] generate latex and verilog correctly

14 years ago[pk] various PK cleanups/speedups
Andrew Waterman [Fri, 5 Nov 2010 23:46:36 +0000 (16:46 -0700)]
[pk] various PK cleanups/speedups

14 years ago[xcc, sim, pk, opcodes] new instruction encoding!
Andrew Waterman [Fri, 5 Nov 2010 21:06:12 +0000 (14:06 -0700)]
[xcc, sim, pk, opcodes] new instruction encoding!

14 years ago[xcc, sim, pk] link register is now x1
Andrew Waterman [Tue, 2 Nov 2010 23:00:37 +0000 (16:00 -0700)]
[xcc, sim, pk] link register is now x1

14 years ago[opcodes, pk, sim, xcc] made jumps shorter and PC-relative
Andrew Waterman [Tue, 2 Nov 2010 19:19:52 +0000 (12:19 -0700)]
[opcodes, pk, sim, xcc] made jumps shorter and PC-relative

14 years ago[sim] removed unnecessary trap in mfcr instruction
Andrew Waterman [Tue, 26 Oct 2010 22:04:05 +0000 (15:04 -0700)]
[sim] removed unnecessary trap in mfcr instruction

14 years ago[sim,xcc] fixed minor bugs related to tp/cr29
Andrew Waterman [Tue, 26 Oct 2010 20:46:15 +0000 (13:46 -0700)]
[sim,xcc] fixed minor bugs related to tp/cr29

14 years ago[pk,sim,xcc] get rid of at register, introduce tp register
Yunsup Lee [Tue, 26 Oct 2010 09:20:44 +0000 (02:20 -0700)]
[pk,sim,xcc] get rid of at register, introduce tp register

14 years ago[sim,xcc,pk,opcodes] static rounding modes for FP insns
Andrew Waterman [Tue, 26 Oct 2010 02:41:39 +0000 (19:41 -0700)]
[sim,xcc,pk,opcodes] static rounding modes for FP insns

Now, you can either use the RM in the FSR or specify it in the insn.

(Except for FP->int; no dynamic for that.)

14 years ago[pk, sim] added FPU emulation support to proxy kernel
Andrew Waterman [Sat, 16 Oct 2010 00:51:37 +0000 (17:51 -0700)]
[pk, sim] added FPU emulation support to proxy kernel

14 years ago[sim] made softfloat files C instead of C++
Andrew Waterman [Fri, 15 Oct 2010 23:17:53 +0000 (16:17 -0700)]
[sim] made softfloat files C instead of C++

14 years ago[sim] added writeback tracing
Andrew Waterman [Tue, 12 Oct 2010 00:16:00 +0000 (17:16 -0700)]
[sim] added writeback tracing

14 years ago[xcc] modified opcodes for better FP decode mapping
Andrew Waterman [Thu, 7 Oct 2010 07:55:14 +0000 (00:55 -0700)]
[xcc] modified opcodes for better FP decode mapping

14 years ago[opcodes] added code field back to syscall/break
Andrew Waterman [Wed, 6 Oct 2010 02:21:55 +0000 (19:21 -0700)]
[opcodes] added code field back to syscall/break