Andrew Waterman
6025b02665
Fix c.slliw implementation
11 years ago
Andrew Waterman
bdcb5b297f
New RV64C proposal
11 years ago
Andrew Waterman
292fef830d
Take interrupts as soon as interrupts are enabled
Previously, if interrupts were enabled then disabled quickly enough,
no interrupt would ever be taken, resulting in deadlock.
11 years ago
Andrew Waterman
e7dd2737f7
Merge pull request #20 from palmer-dabbelt/package
various fixes to make riscv-isa-sim installable
11 years ago
Andrew Waterman
75207d80bd
Fix VM, MIP encoding
11 years ago
Palmer Dabbelt
11a49d0be2
Install "disasm.h"
Something includes this somewhere, so I see no reason not to just
install it.
11 years ago
Palmer Dabbelt
8e20c328f8
autoreconf 126beb482f ("Install pkg-config files for Spike")
11 years ago
Palmer Dabbelt
126beb482f
Install pkg-config files for Spike
The actual Spike package consists of a whole bunch of libraries. This
installs a pkg-config file for each generated library, and a meta
pkg-config file (riscv-spike.pc) that links in all the other Spike
libraries except dummy_rocc (which I figure isn't interesting).
This allows me to package and install spike, and then use that package
to build an extension library (so I don't have to fork Spike for my
own ISA extension).
11 years ago
Palmer Dabbelt
40580c0409
Change the behavior of the DESTDIR make variable
DESTDIR is a common make idiom. As per the GNU coding standards
https://www.gnu.org/prep/standards/html_node/DESTDIR.html
"DESTDIR is a variable prepended to each installed target file, like
this:
$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
The DESTDIR variable is specified by the user on the make command
line as an absolute file name. For example:
make DESTDIR=/tmp/stage install
DESTDIR should be supported only in the install* and uninstall*
targets, as those are the only targets where it is useful.
If your installation step would normally install /usr/local/bin/foo
and /usr/local/lib/libfoo.a, then an installation invoked as in the
example above would install /tmp/stage/usr/local/bin/foo and
/tmp/stage/usr/local/lib/libfoo.a instead."
The current Makefile.in uses DESTDIR, but has a slightly non-standard
behavior: the target install location doesn't include "$prefix". This
breaks package managers, because stuff ends up getting installed to
the wrong location.
Unfortunately the only way I can think of to fix this involves
silently changing the behavior of DESTDIR. Hopefully nobody is using
it...?
[port of 8a2088b59162fe16c16d26ddc1cfcaaaa8c4156f in riscv-fesvr]
11 years ago
Andrew Waterman
e294c392c6
Upgrade to privileged architecture 1.7
11 years ago
Andrew Waterman
dfee432b27
Fix commit log for CSR instructions
11 years ago
Andrew Waterman
870102d9de
Fix I$ simulator hit count
Also, improve performance by allowing the soft-ITLB to refill.
11 years ago
Andrew Waterman
a12b463897
Merge pull request #18 from wsong83/master
fix cache line index offset in cachesim.cc
11 years ago
Wei Song
db42818420
fix cache line index offset in cachesim.cc
11 years ago
Andrew Waterman
60535c23a2
Fix autoconf for RHEL6
11 years ago
Andrew Waterman
5a3324644d
Check for F extension when accessing FCSR
11 years ago
Andrew Waterman
c4350ef6ef
Support setting ISA/subsets with --isa flag
Default is RV64IMAFDC. Can do things like
--isa=RV32 (which implies IMAFDC)
--isa=IM (which implies RV64)
--isa=RV64IMAFDXhwacha
11 years ago
Andrew Waterman
d9d73d80c1
Simplify RV32 comparisons
No need to eliminate the upper 32 bits of the 64-bit x-register, as all
RV32 instructions should sign-extend their results to 64 bits.
11 years ago
Andrew Waterman
c8c828b55c
Allow writing mstatus.fs even if FPU isn't present
This allows the OS to track FP state dirtiness.
11 years ago
Andrew Waterman
7f3c072750
Implement RVC draft
11 years ago
Andrew Waterman
180554d8f2
Serialize counters without throwing C++ exceptions
Ideally, a similar mechanism will apply to target machine exceptions.
11 years ago
Andrew Waterman
41fa048e93
New virtual memory implementation (Sv39)
11 years ago
Andrew Waterman
e5675bfcb3
Update state.pc on every instruction
This isn't a bug fix for Spike proper, but it makes it possible for
RoCC instructions to access the control thread's PC.
11 years ago
Andrew Waterman
6c965e11dc
For misaligned fetch, set mepc = addr of branch/jump
11 years ago
Yunsup Lee
bc5b666397
bugfix, mbadaddr should be writable
11 years ago
Yunsup Lee
0c1f8bb8b7
change hwacha cause to follow risc-v cause
11 years ago
Andrew Waterman
1fbcb3dfe3
Merge [shm]call into ecall, [shm]ret into eret
11 years ago
Yunsup Lee
c0f7d3cd77
bugfix in raising accelerator interrupts
11 years ago
Yunsup Lee
68d1d85208
vxcptsave->vxcptevac,vxcptrestore->vxcpthold
this change was necessary since the impl csr is gone.
11 years ago
Andrew Waterman
5378f2942c
Delete all remaining junk on "make clean"
11 years ago
Andrew Waterman
93892690a3
Don't set dirty/referenced bits w/o permission
11 years ago
Andrew Waterman
384e03dde4
Use hcall instead of mcall
11 years ago
Andrew Waterman
11fad84fb1
Implement PTE referenced/dirty bits
11 years ago
Andrew Waterman
ea58df801f
Update to new privileged spec
Sorry, everyone.
11 years ago
Yunsup Lee
9af855a28e
correctly parse extension for spike-disasm
11 years ago
Andrew Waterman
c0e63cb0d4
Softfloat fcvt.{w/l}.d now returns -MaxInt for -NaN
11 years ago
Andrew Waterman
7e4df4d518
Softfloat fcvt.{w/h}.s now returns -MaxInt for -NaN
Behavior now consistent with RISC-V user spec.
11 years ago
Andrew Waterman
1b15ab2ef5
handle Makefile dependences for precompiled headers correctly
11 years ago
Andrew Waterman
27ade6f544
Install config.h with other headers
11 years ago
Andrew Waterman
e671e75198
Use xlen, not xprlen, to refer to x-register width
11 years ago
Andrew Waterman
d8022e9eda
properly sign-extend instructions in spike-dasm
11 years ago
Christopher Celio
bf8c76bdbc
Fixed masking/casting logic in commit log printf.
11 years ago
Andrew Waterman
7cbbc8fd6a
Fix commit log
I screwed up some stuff in a recent refactoring.
11 years ago
Andrew Waterman
b462e1f80b
Don't look for a simulator when cross compiling
12 years ago
Andrew Waterman
b029a9c67b
Use PATH_MAX instead of NAME_MAX
12 years ago
Stephen Twigg
bd97b5c9fd
Fix bug where C compiler used instead of C++ for autoconf tests
12 years ago
Andrew Waterman
49805d2f17
canonicalize assembler pseudo-ops
12 years ago
Andrew Waterman
17fd25f267
Rename riscv-dis to spike-dasm
This is a better name, since it looks for the string DASM(xxx), and it
fixes tab completion for the cross compiler.
12 years ago
Andrew Waterman
f971129cb6
Disassemble jalr x0, x1, 0 as ret
12 years ago
Andrew Waterman
c42146fbe4
Require 4-byte instruction alignment until RVC is reimplemented
12 years ago