Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I38cd396e578e840e5b3e8dd96f8b2674d8d05498
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ie2169e5a38e56bb56b44036c911344a1db5adbf8
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: I420d736a793ea6225cd643a4adefe999efaaadcd
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ib9bd4b689013cf43624898f4f673ed17aa4f1167
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: I219820c33d3b3ebf73d44083ec66e3b8200d4f97
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ibb40468b9c5cb850959d7b1006687caf16a5c7c4
|
|
Change-Id: Icabdd7bee4e92b33989813f3d95905e66dc11be0
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ifc8fa2ada75da9987c4a4f844f8842c549ef8bae
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: I4bc1d8ec09a323272764b9a09e7473866c1eee92
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: I9b57365994c77b2adfe68c3d0b7c32ee990123b1
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ifa01513b73c449be09c5d8cf54f4cd11516db804
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: I5cdd3dd018481fe94e1f9a549cfac45fbff46fc9
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Change-Id: Ia2715f78dbb3be1bdf0b5ac0936f6320eaa98b73
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
- made the runner name explicit (ubuntu-22.04 instead of ubuntu-latest)
- use checkout action v3 (not v2) - silences a Github warning
- attempted to cache dependencies
- reordered the actions a bit so that the cached items are handled first
- installed all dependencies to /opt/riscv so that they can be cached more easily as a bulk
Change-Id: Icc9c31b20d6302ca378cfafb4f7b283b6e481520
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Choosing to grab the latest version of each component. I'd rather deal
with the rare failure that causes, than realize that we've been testing
against really old stuff.
Change-Id: I17321d70e2b54086e8f3fbb01744746633d7a119
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Add `riscv icount` command.
|
|
* target/riscv: hide_csrs configuration option
This option allows users to mark certain CSRs as hidden so they could be
expluded from *reg* output and target.xml
Change-Id: Iddf8456cd3901f572f8590329ebba5229974d24a
* Update doc/openocd.texi
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
Signed-off-by: Anatoly Parshintsev <114445139+aap-sc@users.noreply.github.com>
* Update src/target/riscv/riscv.c
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
Signed-off-by: Anatoly Parshintsev <114445139+aap-sc@users.noreply.github.com>
---------
Signed-off-by: Anatoly Parshintsev <114445139+aap-sc@users.noreply.github.com>
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
|
|
* Add command "exec_progbuf"
Command "exec_progbuf" allows to execute a user-specified sequence
of instructions using the program buffer.
Change-Id: If3b9614129d0b6fcbc33fade29d3d60b35e52f98
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
* Updated the doc:
- Minor reword and reorder of the sentences.
- Added information about C-instructions in progbuf.
- Fixed a typo (per the review).
- Added examples.
Change-Id: I88c9a3ff3c6b60614be7eafd3a6f21be722a77b7
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
* Cosmetic changes
Change-Id: I7135c9f435f640e189c7d7922a2702814dfd595f
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
---------
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
Co-authored-by: Jan Matyas <jan.matyas@codasip.com>
|
|
Improve a debug log in freertos_update_threads()
|
|
Change-Id: I3a1f5a30385969964351b6ccadf09a3796d34d6b
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Also refactor shared code for clearing itrigger/etrigger/icount.
Change-Id: Iac2e756332c89d2ed43435391e3c097abc825255
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Fix opcode for the "fence" instruction
|
|
If XLEN=64 and vsew=64 fails, fall back to vsew=32.
|
|
Because riscv_program_exec() tries to add an instruction every time
through.
This would cause an error accessing vector registers where VL > 14(?).
Change-Id: Ie676ca8c9be786b46aa2a4b4028ac8b27f7a4b40
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
This should make vector accesses work on 64-bit harts that implement
Zve32*. There doesn't appear to be any way to easily determine what vsew
values are allowed, so try and notice the failure.
Change-Id: Ide0722d0d67da402a4fbe88163830094e46beb84
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
CSR_MCOUNTEREN should not exist if U-mode is not supported
|
|
Change-Id: I1a2420fb88bd3ee37f6a539992e8dc119fdd6e0e
|
|
Change-Id: I6ba1064c09f48eba97d84ea9db5ff44d82b9d004
|
|
Change-Id: I5bbdc1af3147e05e25612bf496f409111248c979
|
|
To make the log more accurate and comprehensible. In case the offset is
non-zero.
Signed-off-by: Chao Du <duchao@eswincomputing.com>
|
|
OpenOCD currently uses improper "fence" instruction:
"FENCE" opcode with empty predecessor and successor sets.
Such instruction has no effect and is reserved for future use
as a HINT instruction (RISC-V Unprivileged ISA spec V20191213,
section 2.9).
This patch fixes it by using the proper "fence rw,rw"
instruction.
Change-Id: Ia2a66059009153efef27279410850ddfd73dae38
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
|
|
target/riscv: added support for missing VCSR register
|
|
Change-Id: I0ce7b9e76c613400916c46fad0f19984ea4b482e
|
|
target/riscv: Add `riscv` `itrigger` and `etrigger` commands.
|
|
This command is supposed to be a start at a compliance test for system
bus access. It doesn't pass against spike because it doesn't handle all
cases where the interface might be busy. It's not documented. As far as
I know nobody uses it.
So delete 400 lines of code instead of trying to fix it.
Change-Id: Ib94f2acb95a48f7c07d4f44206ff7373b03857f3
Signed-off-by: Tim Newsome <tim@sifive.com>
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Change-Id: I1f7cf3a5c8b86f3d6825f45a67ff05822ea67d28
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Change-Id: I2a9271c66565a4c93de3322e14be8b75577ed1b6
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Change-Id: I7982231c5067b82e4ddb2999bca51dba06ccac7a
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
This lets the user set an itrigger trigger, which doesn't fit in the
normal breakpoint abstraction.
This implementation only allows control of a single itrigger. Hardware
could support more than one, and that may be useful to catch different
interrupts in different execution modes. But it would make the code/UI
more complex and it feels like an unlikely use case.
Change-Id: I76c88636ee73d4bd298b2bd1435cb5d052e86c91
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Change-Id: I6ced3fb5a22bff4694fbceb8cf91f6cf6ce37ebf
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Fixes "variable set but not used" errors.
Tested with Homebrew clang version 13.0.1
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: Ia90baf5b4857db2b5569ebe6adbbb832de772aad
Reviewed-on: https://review.openocd.org/c/openocd/+/6971
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Co-authored-by: Erhan Kurubas <erhan.kurubas@espressif.com>
|
|
* riscv/run_algorithm : Add support for memory parameters
Change-Id: I5045a3843dcd96edb0cf8cc54bbd41969e3260a6
Signed-off-by: Dolu1990 <charles.papon.90@gmail.com>
* riscv/run_algorithm : better parameter handeling
Change-Id: If3da8b83f784ef7b13ca83e98bc629e2219cc632
Signed-off-by: Dolu1990 <charles.papon.90@gmail.com>
* riscv/run_algorithm : Better mem param error reporting
Change-Id: I09f99ca117f7e5373b23cad0f69d9d5b2a77e61d
Signed-off-by: Dolu1990 <charles.papon.90@gmail.com>
Signed-off-by: Dolu1990 <charles.papon.90@gmail.com>
|
|
target/riscv: Set target->state in riscv013_halt_go()
|
|
Then also set it when we resume in examine(), which doesn't use the full
abstractions because not all required data structures are filled out
yet.
Hopefully fixes #749.
Change-Id: I0c6ab16da1f035ca2fbdb9f7be1462d44ddce3a0
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Handle harts becoming unavailable while they're being debugged.
|
|
Exit the loop when no harts are running, instead of when at least one
hart has halted.
Change-Id: Ia69b626bf1fee4034bd5ccc800a651bfe0e53685
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Simple rename to make code slightly more clear.
Change-Id: I959f83164c55de064d902d4e5bcd49333cef5c91
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
It used to set all states to halted, but that's not right for harts that
are now unavailable. (It might be possible to call poll() at the right
time instead of duplicating some of its code, but I didn't see an easy
way to do that. The real requirement is that target->state is set to
TARGET_UNAVAILABLE before TARGET_EVENT_HALTED is is sent in
halt_finish(), because that's what triggers hwthread_update_threads(),
which must know about unavailable harts so they can be hidden from gdb.
Change-Id: I0a0bbdd4ec9ff8c9898e04045b84e1d2512c9336
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
When SMP is enabled, gdb will always use the first target in the SMP
group. That doesn't work when that first target is unavailable, but
others in the SMP group are still available.
For cases where gdb expects an operation to affect the entire group (run
control, memory access), find the first available target in an SMP group
and use that.
Change-Id: I4bed600da3ac0fdfe4287d8fdd090a58452db501
Signed-off-by: Tim Newsome <tim@sifive.com>
|
|
Change-Id: I30a2e9ec6c1b99fb92ab1a160ddb63682167c6d8
Signed-off-by: Tim Newsome <tim@sifive.com>
|