aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-12-04Merge pull request #1167 from fk-sc/fk-sc/rwargsAnatoly Parshintsev4-293/+420
target/riscv: pass memory access info in struct, move write_memory pointer
2024-11-29Merge pull request #1176 from aap-sc/aap-sc/csr_as_hex_regression_fixupAnatoly Parshintsev1-1/+5
fix incorrect parsing of names for custom csr registers
2024-11-29target/riscv: pass memory access info in struct, move write_memory pointerFarid Khaydari4-293/+420
This changes will allow to unite read_memory/write_memory fucntions to one access function (1) Replaced read/write functions arguments with one structure (2) Unified read_memory/write_memory function pointers to be stored in same structure Signed-off-by: Farid Khaydari <f.khaydari@syntacore.com>
2024-11-29Merge pull request #1174 from fk-sc/fk-sc/checker-fixAnatoly Parshintsev1-4/+10
target/riscv: fix memory access result type checker function return in case of assertion
2024-11-27fix incorrect parsing of names for custom csr registersParshintsev Anatoly1-1/+5
this commit fixes a regression introduced in ba8c1eef5a32193d9b5dc80d681a4f18d1d94f11. The regression was caused by removal of these lines: ``` - /* Register prefix: "csr_" or "custom_" */ - strcpy(name, reg_type); - name[strlen(reg_type)] = '_'; ``` causing all CSR names with custom names to be parsed as empty strings.
2024-11-26Merge pull request #1170 from fk-sc/fk-sc/priv-modEvgeniy Naydanov1-23/+35
target/riscv: decrease modify_privilege function nesting level
2024-11-26target/riscv: fix memory access result type checker function return in case ↵Farid Khaydari1-4/+10
of assertion Fix memory access result type checker return in case of assertion Signed-off-by: Farid Khaydari <f.khaydari@syntacore.com>
2024-11-25Merge pull request #1162 from aap-sc/aap-sc/csr_as_hexAnatoly Parshintsev1-50/+81
target/riscv: allow hexadecimal values to expose_csr-like commands
2024-11-23target/xtensa: add maskisr command support for NXHenrik Mau2-18/+24
Add maskisr command support to Xtensa NX targets allowing masking of interrupts during single stepping. Change-Id: I3835479de8015f1a2842afd1aeab24829e385031 Signed-off-by: Henrik Mau <henrik.mau@analog.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8575 Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2024-11-23target/cortex_m: Use LOG_TARGET_xxx()Marc Schink1-5/+5
Use LOG_TARGET_xxx() for the remaining log messages. Change-Id: If52e3935b57e4c39212ce6b5111ff65159de1373 Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8580 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-23target/breakpoints: Use LOG_TARGET_ERROR()Marc Schink1-3/+2
Use LOG_TARGET_xxx() for the remaining log messages. Change-Id: I4b86b206d17dead0662388e827204b40a7d29edd Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8579 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-23rtos: Remove 'ERROR: ' prefix in error logMarc Schink1-1/+1
Remove the prefix since it is redundant. While at it, also get rid of the useless exclamation mark. Change-Id: I8707342c602cea735c5a423b37ebe40a3aafb137 Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8578 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-23target/xtensa: Remove 'ERROR: ' prefix in error logMarc Schink1-3/+3
Remove the prefix since it is redundant. Change-Id: I9c23c0479ba40be24e471309e720060cd03763ee Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8577 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-23enable the Bus Pirate adapter by default on most systemsR. Diez2-2/+2
Also convert the Bus Pirate to the common PROCESS_ADAPTERS logic. Change-Id: Ifa8ebcee380c16d7e308ba7a75dbffdb74208285 Signed-off-by: R. Diez <rdiezmail-openocd@yahoo.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8533 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: R. Diez <rdiez-2006@rd10.de> Tested-by: jenkins
2024-11-23driver: stlink: get adapter speed through adapter_get_speed_khz()Antonio Borneo3-9/+2
The stlink driver, both in dapdirect and in HLA modes, pretends to store locally the value of the adapter speed in order to use it later-on during adapter initialization. It doesn't work in dapdirect mode since the code to store locally the value will not be executed until the adapter is already fully initialized. This cause an issue in dapdirect mode: - due to the local value, still kept at -1, the adapter will be initialized to the lowest clock speed (5 KHz on stlink v2 in SWD mode); - after the adapter initialization the framework will again set the speed with the value requested by the user. Some target, like nRF51822, only accepts JTAG/SWD speed in a defined range of frequencies. The initial speed of 5 KHz used by dapdirect can be out of range, making the target debug port not working. The adapter framework already stores the value of speed and makes it available through adapter_get_speed_khz(). Drop struct hl_interface_param::initial_interface_speed. Let the code to use adapter_get_speed_khz(). Change-Id: Ie11bf0234574f2a9180d3d3a16efb78e08dfcd86 Reported-by: Andrzej Sierżęga <asier70@gmail.com> Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8574 Reviewed-by: Andrzej Sierżęga <asier70@gmail.com> Tested-by: jenkins
2024-11-23helper/jim-nvp.h: Rework 'isconfigure' variableMarc Schink7-33/+34
Change the variable name to 'is_configure' to be compatible with the coding style and use 'bool' as data type. Change-Id: I8609f9807c8bd14eaf6c93acf63fd51b55c9bbbb Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8573 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-23semihosting: make local functions staticAntonio Borneo2-18/+10
The functions: - semihosting_opcode_to_str(); - semihosting_write_fields(); - semihosting_set_field(); are not referenced outside the file. Make them static. Change-Id: Ia8d35554673145fdfe0e501543eb18919863039f Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8551 Tested-by: jenkins
2024-11-23target: esirisc: make local functions staticAntonio Borneo2-4/+4
The function esirisc_jtag_get_eid() is not used outside the file. Make it static. The function esirisc_jtag_disable_debug() is never used. Make it static and mark it as unused. Change-Id: I5c99cbf77cc9c527b6e18a3f67caa24f8551d09c Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8550 Tested-by: jenkins
2024-11-23target: aarch64: drop unused armv8_mmu_translate_va()Antonio Borneo2-7/+0
The function is not used. Drop it! Change-Id: I1625e03714b5a842f668098191c39cce34f815e8 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8549 Tested-by: jenkins
2024-11-23target: x86_32: make x86_32_common_read_io() staticAntonio Borneo2-3/+1
The function is not referenced outside the file. Make it static. Change-Id: Ic2552c040b6b46c0334851a4fc0fdaa400e11e4c Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8548 Tested-by: jenkins
2024-11-23target: dsp563xx: make dsp563xx_once_reg_read_ex() staticAntonio Borneo2-3/+3
The function is not referenced outside the file. Make it static. Change-Id: Ifeccc5e38f3da4b4111422860bc1c1447d00f7fe Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8547 Tested-by: jenkins
2024-11-23pld: make get_pld_device_by_num() staticAntonio Borneo2-2/+1
The function is not referenced outside the file. Make it static. Change-Id: I5f2a2c70085b9158df8806432bb9ed09bb256ab5 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8546 Tested-by: jenkins
2024-11-23rtt: drop unused function rtt_started()Antonio Borneo2-12/+0
The function is not used. Drop it! Change-Id: I176c9d6ba077e36b762c14f9b877d5152992763c Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8545 Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de>
2024-11-23driver: mpsse: make local functions staticAntonio Borneo2-8/+6
The functions: - mpsse_divide_by_5_config(); - mpsse_purge(); - mpsse_rtck_config(); - mpsse_set_divisor(); are not referenced outside the file. Make them static. Change-Id: Id6930183a3ce26693b2113f622046168ba289df8 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8544 Tested-by: jenkins
2024-11-23jtag: driver: make local functions staticAntonio Borneo2-8/+2
The functions: - interface_jtag_add_callback(); - interface_jtag_add_callback4(); are not referenced outside the file. Make them static. Change-Id: I84f738309d23c8d0b5329aa04436db750cf185e5 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8543 Tested-by: jenkins
2024-11-23jtag: core: make local functions staticAntonio Borneo2-8/+8
The functions: - jtag_error_clear(); - jtag_tap_count(); are not referenced outside the file. Make them static. Change-Id: I00fcf06b1838b9f6c955c19772f1d41d486459e9 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8542 Tested-by: jenkins
2024-11-23adapter: make adapter_config_khz() staticAntonio Borneo2-4/+4
The function is not referenced outside the file. Make it static. Change-Id: I72e96624749ae4cc7f4566d737a88186e899616a Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8541 Tested-by: jenkins
2024-11-21Merge pull request #1144 from sunnyzhu-learning/resume-before-step-developEvgeniy Naydanov2-12/+115
target/riscv:Perform single step before resume if necessary
2024-11-21target/riscv: decrease modify_privilege function nesting levelFarid Khaydari1-23/+35
Restructured modify_privilege function to decrease nesting level Signed-off-by: Farid Khaydari <f.khaydari@syntacore.com>
2024-11-19target/riscv: allow hexadecimal values to expose_csr-like commandsParshintsev Anatoly1-50/+81
hexadecimal values are often used in the documentation. Forcing user to convert CSRs addresses to decimal is unnecessary.
2024-11-18Merge pull request #1165 from aap-sc/aap-sc/resume_debug_errorsEvgeniy Naydanov1-5/+17
target/riscv: detailed error messages for cases when resume operation fails
2024-11-18Merge pull request #1157 from zqb-all/support-disable-auto-fenceEvgeniy Naydanov3-13/+43
target/riscv: support disable auto fence
2024-11-18Merge pull request #1163 from en-sc/en-sc/from_upstreamEvgeniy Naydanov150-973/+1165
Merge up to fd62626dff25cf503a25040d3040b0a2bb9b2a76 from upstream
2024-11-16autoconf: Add support for code coverageJan Matyas1-0/+7
Add support for code coverage collection. This helps developers to check if their test scenarios really exercised all the OpenOCD functionality that they intended to test. - Option --enable-gcov has been added to configure.ac which enables the coverage collection using Gcov. (Disabled by default.) - The steps to collect and inspect the coverage have been described in HACKING file. Change-Id: I259e401937a255e7ad7f155359a0b7787e4d0752 Signed-off-by: Jan Matyas <jan.matyas@codasip.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8521 Tested-by: jenkins Reviewed-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-14Merge pull request #1161 from en-sc/en-sc/deassert-resetEvgeniy Naydanov1-7/+10
target/riscv: avoid updating `target` if `ackhavereset` fails
2024-11-14target/riscv: detailed error messages for cases when resume operation failsParshintsev Anatoly1-5/+17
This change aims to provide more context in case if resume operation fails. Before the change messages were quite confusing.
2024-11-12Merge pull request #1160 from zqb-all/reduce-logEvgeniy Naydanov1-68/+30
[NFC] target/riscv: remove LOG_ERROR when COMMAND check ARGC fail
2024-11-12Merge up to fd62626dff25cf503a25040d3040b0a2bb9b2a76 from upstreamEvgeniy Naydanov150-973/+1165
Conflicts are related to `unsigned`->`unisgned int` cleanup: * `src/jtag/drivers/ftdi.c` -- between 6749c70a3ae891552296888986e6eeae1e17f11a and a64dc23bf19fb4a7626fbda3c02693523ab5a75b. * `src/rtos/hwthread.c` -- between ef3e61bebc53f619f42bb06cfd194cd547cceb69 and 436e6f1770e4da6ec5b52724cfb637e8916b535a. * `src/target/target.c` and `.h` -- between 53ec10b61da5de553c01f92bddf80c076bd49331 and e72733d59025b5d595bf955b227e95e5db7305c7. * `src/target/riscv/*` -- due to 957eb741a0980408fe4d0682fccb99a183f90998 and fec3b224214e3784b0c00970d2421212402da880. Resolved by: * Changing the return type of `riscv_batch_get_dmi_read_op()` to `uint32_t`. * Using RISC-V OpenOCD's version in other cases. Change-Id: Ia6e2129c6fddb1dec26adcd936506af2539412ef
2024-11-11target/breakpoints: fix types in `watchpoint_add_internal()`Evgeniy Naydanov1-1/+1
There was a conflict: 1. commit 2cd8ebf44d1a ("breakpoints: use 64-bit type for watchpoint mask and value") 2. commit 0bf3373e808a ("target/breakpoints: Use 'unsigned int' for length") The second commit was created erlier, but merged later so the types of `mask` and `value` became `uint32_t` in `watchpoint_add_internal()`. This created a bug: `WATCHPOINT_IGNORE_DATA_VALUE_MASK` is defined as `(~(uint64_t)0)`. Truncation to uint32_t makes it so the comparisons with the constant don't work. Change-Id: I19c414c351f52aff72a60330d83c29db7bbca375 Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8500 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Jan Matyas <jan.matyas@codasip.com> Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de> Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-11-11target/riscv:Perform single step before resume if necessaryzhusonghe2-12/+115
Two cases where single step is needed before resume: 1. ebreak used in software breakpoint; 2. a trigger that is taken just before the instruction that triggered it is retired. Signed-off-by: Songhe Zhu <zhusonghe@eswincomputing.com> Co-developed-by: Fei Gao <gaofei@eswincomputing.com> Co-developed-by: xiatianyi <xiatianyi@eswincomputing.com>
2024-11-08target/riscv: avoid updating `target` if `ackhavereset` failsEvgeniy Naydanov1-7/+10
`target`'s `state` and `debug_reason` should not be updated in `deassert_reset` if sending reset acknowledgment fails. Change-Id: I86136fe829e7a7c6b69f718f0cf32322e40341b0 Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
2024-11-06[NFC] target/riscv: remove LOG_ERROR when COMMAND check ARGC failMark Zhuang1-68/+30
Per current OpenOCD conventions, LOG_ERROR should not be printed when ERROR_COMMAND_SYNTAX_ERROR is returned. OpenOCD will print the command syntax to the user on its own.
2024-11-06target/riscv: support disable auto fenceMark Zhuang3-13/+43
Support disable automatic fence, it's useful for debug some cache related issue.
2024-11-02adapter/parport: Coding style changesMarc Schink1-60/+70
Apply some coding style changes according to the C style guide. The patch is tested for regression with the 'wiggler' parallel port cable. Change-Id: I43774f596831d8c46f90f18893418178041a930b Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8516 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2024-11-02adapter/bitbang: Use 'bool' data type for blink()Marc Schink8-17/+17
Change-Id: I187f8944ad5fd92f28cbd32e447f9ec1a97e16d6 Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: https://review.openocd.org/c/openocd/+/8515 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2024-11-02jtag: convert 'unsigned' to 'unsigned int'Mark Zhuang1-2/+2
Conversion done with checkpatch --fix-inplace -types UNSPECIFIED_INT Change-Id: I2c2d56aa98e89bcc6088a1bd51d70066d67d6dad Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8367 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-02flash: convert 'unsigned' to 'unsigned int'Mark Zhuang2-9/+9
Change-Id: I8e8da78385eed714524891b580e19a79cfb459d3 Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8370 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-02server: convert 'unsigned' to 'unsigned int'Mark Zhuang2-7/+7
Conversion done with checkpatch --fix-inplace -types UNSPECIFIED_INT Ignore the cast as they could be better addressed. Change-Id: Ib0cbd9388d61659f8d47c8f57c09baa6df123487 Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8369 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-02target: riscv: convert 'unsigned' to 'unsigned int'Mark Zhuang1-2/+1
Change-Id: I10b9abf9e42389eb91b210b8c2f01219ca9068cd Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8366 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2024-11-02target: cortex_m: fix polling for target kept under resetAntonio Borneo1-0/+12
In multi-target SoC not all the targets are running simultaneously and some target could be powered off or kept under reset. Commit 4892e32294c6 ("target/cortex_m: allow poll quickly get out of TARGET_RESET state") does not considers the case of a target that is kept in reset and expects the target to change state from TARGET_RESET immediately. This causes OpenOCD to log continuously: Info : [stm32mp15x.cm4] external reset detected Info : [stm32mp15x.cm4] external reset detected Info : [stm32mp15x.cm4] external reset detected Read again dhcsr to detect the 'stable' reset status and quit, waiting for next poll to re-check the target's status. Change-Id: Ic66029b988404a1599bb99bc66d4a8845b8b02c6 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Fixes: 4892e32294c6 ("target/cortex_m: allow poll quickly get out of TARGET_RESET state") Reviewed-on: https://review.openocd.org/c/openocd/+/8399 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins