- Nov 22, 2023
-
-
Tim Newsome authored
Change-Id: I80afe9ca11bca0b35b55a5ab2a79ae2eeb142e19
-
Tim Newsome authored
There was a big conflict with this one incoming change. This version of the code passes all the tests (which don't test for the changed behavior at all AFAIK), and at least passes errors back everywhere. Conflicts: src/target/breakpoints.c Change-Id: I72f75a3e08deda7e624e8bb82e1a9ea07a7a9276
-
- Nov 21, 2023
-
-
Tim Newsome authored
Change-Id: I05cd5ef9b04fa61a27321ae9b6a4fecabe3dee80
-
- Nov 18, 2023
-
-
Tim Newsome authored
When an attempt to set watchpoint fails because there is no free triggers OpenOCD reports "unknown error"
-
- Nov 17, 2023
-
-
Tim Newsome authored
target/riscv: Replace [sg]et_field macros with functions.
-
Tim Newsome authored
target/riscv: Handle sbbusyerror in read_memory_bus_v1
-
Tim Newsome authored
target/riscv: dump_field() shouldn't always decode
-
- Nov 16, 2023
-
-
Kirill Radkin authored
When an attempt to set watchpoint fails because there is no free triggers OpenOCD reports "unknown error" Now it returns `resource not available` Change-Id: Ifbbd468bdf62023850690eb96fe8a16f4114e915 Signed-off-by:Kirill Radkin <kirill.radkin@syntacore.com>
-
Tim Newsome authored
The existing code didn't seem to work right at all. I have spike modifications that exercise these new cases. I'll merge those once this has merged. Change-Id: I89bd336f34f1b208a76f25b6b41fe3877800765b Signed-off-by:Tim Newsome <tim@sifive.com>
-
Tim Newsome authored
Compilers are good at optimizing, and with functions it's abundantly clear what all the types involved are. This change means we don't have to be super careful about the type of values because of what the macro might do to them that might cause overflow. The only place where the return type matters is in printf-style functions, and I made get_value32() for those cases where a change was needed. This should set the stage for simply copying the latest debug_defines.h from the debug spec build again. Change-Id: I5fb19d0cfc1e20137832a7b344b05db215ce00e1 Signed-off-by:Tim Newsome <tim@sifive.com>
-
- Nov 15, 2023
-
-
Evgeniy Naydanov authored
The reasoning for the change: * `__func__` is part of C99, `__PRETTY_FUNCTION__` is GNU extension. * `__PRETTY_FUNCTION__` is defined to be the same as `__func__` for C sources by GCC documentation but differ for C++ sources (full signature instead of just a name). * Currently Clang does support `__PRETTY_FUNCTION__`, though it uses GCC's C++ variant across C and C++. Therefore using `__PRETTY_FUNCTION__` creates confusion and does not provide any valueble information in the logs. Change-Id: Ie0db6d73f602784b6752a30911dcef3dd7ee4594
-
Evgeniy Naydanov authored
Sometimes, the value from of some DMI scans has no meaning (e.g. when `op` is read). Such values should not be decoded. To make the dumps more consistent, `<no decoding available>` is printed when there is no decoding for a register. Change-Id: I415f06a5a80f2fc8fb8ab3f79132bdf0602c8ad6 Signed-off-by:Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
-
- Nov 14, 2023
-
-
Tim Newsome authored
target/riscv: clarify usage of `coreid`
-
- Nov 11, 2023
-
-
Tim Newsome authored
target/riscv: cache requests to trigger configuration
-
- Nov 10, 2023
-
-
Evgeniy Naydanov authored
By definition in `target/target.h`, `coreid` is not a unique identifier of a target -- it can be the same for targets on different TAPs. Change-Id: Ifce78da55fffe28dd8b6b06ecae7d8c4e305c0a2 Signed-off-by:Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
-
Tim Newsome authored
target/riscv: Replace watchpoint value mask comparison value with macro.
-
- Nov 09, 2023
-
-
Marek Vrbka authored
This patch replaces ~(typeof(watchpoint->mask))0 with WATCHPOINT_IGNORE_DATA_VALUE_MASK. This improves readability and moves the RISCV target in line with other targets. Change-Id: I15ac4d4ee76098b304d9b22f720911ba4329c190 Signed-off-by:Marek Vrbka <marek.vrbka@codasip.com>
-
- Nov 08, 2023
-
-
Tim Newsome authored
Merge commit '05ee8891' from upstream
-
Tim Newsome authored
target/riscv: Stop caching writes to DPC
-
- Nov 07, 2023
-
-
Anastasiya Chernikova authored
Depending on configuration, the existing implementation of watchpoints is rather inefficient for certain scenarios. Consider HW that: 1. triggers 0-3 can be used as instruction breakpoints 2. triggers 4-7 can be used as data breakpoints (watchpoints) 3. NAPOT triggers are not supported. Now, consider that we have a pending watchpoint. And we perform a "step" operation. According to the current implementation: * OpenOCD will disable watchpoints * Perform a single-step * Will try to restore the original watchpoints. It will need 12 attempts to find a suitable trigger: (8 attempts to try NAPOT, and another 4 to try GE+LE). This patch introduces a dedicated cache for requests to triggers. It significantly speeds things up, since we cache failed attempts and no additional interactions with HW is necessary. Change-Id: Ic272895eaa763a7ae84d14f7633790afd015ca9d Signed-off-by:Anastasiya Chernikova <anastasiya.chernikova@syntacore.com>
-
Tim Newsome authored
Conflicts: src/jtag/drivers/xds110.c src/target/riscv/riscv.c src/target/riscv/riscv_semihosting.c tcl/target/esp_common.cfg Change-Id: If0c02817df03b7fd700cc84b4da2c02d36737d28
-
Tim Newsome authored
target/riscv: gdb_regno_name takes an enum.
-
- Nov 04, 2023
-
-
Tim Newsome authored
Otherwise it won't compile for me. Not sure why that doesn't affect the automated builds. Change-Id: Ic66c743e1698c4c0772e5601723cb5c711b4fa5c Signed-off-by:Tim Newsome <tim@sifive.com>
-
Tim Newsome authored
target/riscv: Adding register tables to make register names consiste
-
Tim Newsome authored
From upstream
-
- Nov 03, 2023
-
-
Marek Vrbka authored
Since DPC is WARL (same rules as MEPC according to the specification), it is possible that writes to it won't result in the exact value present. Therefore, writes to it shouldn't be cached, same as with other WARL registers. Change-Id: I818c0cef9727b999b7d84b19f9f42cd706c99d69 Signed-off-by:Marek Vrbka <marek.vrbka@codasip.com>
-
Tim Newsome authored
target/riscv: Fix memory access when MMU is enabled and address couldn't be translated
-
- Nov 02, 2023
-
-
Anastasiya Chernikova authored
Added the ability to enter dimensionless registers Change-Id: I1b781959ce4690ec65304142bd9a7c6f540b3e86 Signed-off-by:Anastasiya Chernikova <anastasiya.chernikova@syntacore.com>
-
Tim Newsome authored
Remove mention of esp32c2, esp32c3 from doc
-
- Nov 01, 2023
-
-
Tim Newsome authored
Remove mention of "riscv set_scratch_ram" from doc
-
Tim Newsome authored
target/riscv: Prevent dump_field() reading uninitialized memory
-
Jan Matyas authored
This command no longer exists, was removed in: https://github.com/riscv/riscv-openocd/commit/ead2a595b8491ed48ce2ced81d2935dc8a4c4973 Remove it from the doc as well. Signed-off-by:
Jan Matyas <jan.matyas@codasip.com>
-
- Oct 31, 2023
-
-
Jan Matyas authored
Targets "esp32c2" and "esp32c3" should not be mentioned in the doc under "target types" because these are not standalone OpenOCD targets. They are merely a set of .cfg files which use the generic "riscv" target. Signed-off-by:Jan Matyas <jan.matyas@codasip.com>
-
Tim Newsome authored
Change-Id: I9ef8f2c2e9a824aa6595e8f20682c968ae5aed72 Signed-off-by:Tim Newsome <tim@sifive.com>
-
- Oct 30, 2023
-
-
Tim Newsome authored
Removed deprecated gd32vf103_flash
-
Kirill Radkin authored
Now: 1) If mmu is disabled, virt2phys succeeded and returns physical address 2) If mmu is enbaled, but translation fails, read/write_memory fails Change-Id: I312309c660239014b3278cb77cadc5618de8e4de Signed-off-by:Kirill Radkin <kirill.radkin@syntacore.com>
-
Jan Matyas authored
Removing flash driver "gd32vf103_flash". This driver has been deprecated since June-1-2022, and was scheduled for removal in June 2023. Change-Id: Ib6f4dcba11e91a095b3a20eedd864589084b7fa9 Signed-off-by:Jan Matyas <jan.matyas@codasip.com>
-
- Oct 28, 2023
-
-
Tim Newsome authored
Conflicts: HACKING src/target/riscv/riscv-013.c Change-Id: I43ccb143cae8daa39212d66a8824ae3ad2af6fef
-
- Oct 27, 2023
-
-
Tim Newsome authored
From upstream
-
Tim Newsome authored
Remove an extra call to kept_alive()
-