Tim Newsome
ab8a5631c3
Update bits to latest spec.
9 years ago
Tim Newsome
5a9e289624
Implement halt request.
Also clean up some vestigial code.
9 years ago
Tim Newsome
21fb735d62
Improve debug performance.
It's still pitiful, but less so. (5KB/s download speed.)
The tweaks involve switching to the other context as soon as it might be
helpful. The two contexts are executing code, and handling JTAG TAP
input.
9 years ago
Tim Newsome
0e848d2f43
Don't waste time spinning in place in debug mode
9 years ago
Andrew Waterman
13639b9c45
serialize simulator on wfi
This improves simulator perf when a thread is idle, or waiting on HTIF.
9 years ago
Andrew Waterman
b47e8c0a19
Take M-mode interrupts over S-mode interrupts
9 years ago
Andrew Waterman
f478eef851
permit MMIO loads to MSIP bit
9 years ago
Andrew Waterman
67cd71d9ec
Make HW setting of PTE A/D bits optional (by configure arg)
https://github.com/riscv/riscv-isa-manual/issues/14
9 years ago
Andrew Waterman
eace559960
Spike uarch needs TLB flush after SPTBR write
9 years ago
Tim Newsome
e36bacd9bc
Compress log output of jump-to-self loops.
This helps hugely when reading "spike -l" output when debugging is going
on.
9 years ago
Tim Newsome
8c19757cf5
Remove noisy debugs.
This version was able to download code, and run to a breakpoint.
9 years ago
Tim Newsome
8dd673b744
Set cmderr when data is accessed while busy.
9 years ago
Tim Newsome
f88504000a
Implement autoexec. DMI op 2 is just write now.
Now passing MemTest{8,16,32,64}
9 years ago
Tim Newsome
4df7f6d279
Implement resume (untested).
9 years ago
Andrew Waterman
d503765577
sfence.vm -> sfence.vma
9 years ago
Tim Newsome
294a0572c4
Implement program buffer preexec/postexec.
I only tested preexec.
9 years ago
Tim Newsome
ae67cde583
dbus -> dmi
9 years ago
Tim Newsome
1a62370146
Abstract register read mostly working.
Fails with not supported for 128-bit.
Fails with exception (on rv32) with 64-bit.
Succeeds (on rv32) with 32-bit.
9 years ago
Tim Newsome
f7f1105040
Fix stack overflow and support --rbb-port=0
9 years ago
Tim Newsome
b4de20a92e
Entering debug mode now jumps to "dynamic rom"
9 years ago
Tim Newsome
8a09a059dc
Implement hartstatus field.
9 years ago
Tim Newsome
a62a819679
Remove gdbserver support.
Maybe some day we can bring it back, implementing direct access into
registers and memory so it would be fast. That would be the way to
usefully debug code running in spike, as opposed to the way that mirrors
the actual debug design as it might be implemented in hardware.
9 years ago
Tim Newsome
c704a804ba
Add writable ibuf and data registers.
9 years ago
Tim Newsome
4845819872
Serve up a correct dmcontrol register.
9 years ago
Andrew Waterman
a30f158300
Encode VM type in sptbr, not mstatus
https://github.com/riscv/riscv-isa-manual/issues/4
Also, refactor gdbserver code to not duplicate VM decoding logic.
9 years ago
Tim Newsome
94277648d5
OpenOCD does a dmi read and gets dummy value back.
9 years ago
Tim Newsome
daaf28f729
Merge pull request #83 from bacam/gdb-protocol-fixes
Gdb protocol fixes
9 years ago
Tim Newsome
1f65ba49ea
Remove unnecessary circular buffer code.
9 years ago
Tim Newsome
4695be7cea
Refactor remote bitbang code.
9 years ago
Tim Newsome
9be1570420
OpenOCD RISC-V code now gets to scan out dtmcontrol.
9 years ago
Tim Newsome
f6a7fe2c4e
OpenOCD can now scan out the hacked IDCODE.
9 years ago
Tim Newsome
d1f2cf337e
OpenOCD connects, and sends some data that we receive.
9 years ago
Andrew Waterman
9e012462f5
Fix interrupt delegation for coprocessors
9 years ago
Andrew Waterman
6642f8c745
For FMIN(sNaN, x) and FMIN(qNaN, qNaN), return canonical NaN
Resolves #76
9 years ago
Andrew Waterman
d392463e5c
Set xPIE=1 on xRET
Resolves #88 .
9 years ago
Andrew Waterman
e9e30598e0
Only allow SIP.SSIP to be toggled if the interrupt is delegated
9 years ago
Andrew Waterman
b387326dbc
Make SIP.STIP read-only
h/t Ron Minnich
See https://groups.google.com/a/groups.riscv.org/forum/#!topic/isa-dev/JV-Hj3W5Kw8
9 years ago
David Craven
51a0e1e965
Comply with GNU coding standards.
Currently the DESTDIR variable is not used correctly which leads to
bogus RUNPATH entries.
https://www.gnu.org/prep/standards/html_node/DESTDIR.html
10 years ago
Brian Campbell
f38dcde0d8
Only read exception flag in gdb register read/write. ( #85 )
The flag is 32 bits, and if we read 64/128 bits then we get fragments of
S1 too and can accidentally send an error. Fixes #84 .
10 years ago
Brian Campbell
7647707a60
Fix gdb communication error ( #82 )
10 years ago
Brian Campbell
71f64bfe4e
Remove extra gdb protocol responses on register writes
10 years ago
Brian Campbell
9e3b7bdc5a
Fix gdb protocol register read of S0
10 years ago
Stefan O'Rear
07ff3f3b0b
Use correct format codes for reg_t and size_t
Fixes 32-bit build.
10 years ago
Tim Newsome
7e31f49535
Fix single stepping over faulting instructions. ( #80 )
10 years ago
Tim Newsome
481afc249e
Reuse the ebreak constants in encoding.h.
10 years ago
Andy Wright
39ee063f47
Added comments about the modified Duff's Device in execute.cc ( #77 )
10 years ago
Andrew Waterman
679d5f5e92
Fix 32-bit host portability bug
10 years ago
Ben Gamari
3a7393db14
Ensure that g++ knows it is building a PCH ( #75 )
It seems that g++ 5.4 doesn't realize that it is building a precompiled
header unless you pass it -x c++-header.
10 years ago
Andrew Waterman
bf8d2b71bb
AMOs should always return store faults, not load faults
This commit also factors out the common AMO code into mmu_t.
10 years ago
Tim Newsome
ecff67fb34
Make reading/writing fpu regs work.
Temporarily turn them on in mstatus if necessary.
10 years ago