aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-11-28tcl: max326xx: fix target scripts for latest version of OpenOCDRocco Marco Guglielmi3-3/+9
Change-Id: Iec5aba3a082f2e25f21d7ca173ed710894b370a4 Signed-off-by: Rocco Marco Guglielmi <roccomarco.guglielmi@gmail.com> Change-Id: Ia83850e326661c8acb0712a280fdf961258322a4 Reviewed-on: https://review.openocd.org/c/openocd/+/7373 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-28jtag/drivers/cmsis_dap.c: Fix Length of SWO Baudrate CommandNick Kraus1-1/+1
The command should now send the full 5 byte command length, which includes the command tag (0x19) and the 4-byte baudrate word, instead of only the last 3 bytes of the baudrate. Signed-off-by: Nick Kraus <nick@nckraus.com> Change-Id: Idd6e084efd7492489aa900cdbf08f540944041cb Reviewed-on: https://review.openocd.org/c/openocd/+/7370 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15target/armv7m: fix feature name of ARMv8M security extension regsTomas Vanek1-17/+17
gdb requires this feature to enable stack unwinding of secure/nonsecure interstate calls and exceptions on an ARMv8M target with the security extension. Tested on STM32L5 (Cortex-M33). Change-Id: Ib09780c011afbc095b352074068597559ad14fcd Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ae7e2f45aa4798be449f282bbf75ad41e73f055e Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7265 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15rtos/ThreadX: added check for NULL-named tasksGiulio Fieramosca1-9/+14
Thread name loading was not correctly handled if a ThreadX task has a NULL name. Signed-off-by: Giulio Fieramosca <giulio@glgprograms.it> Change-Id: I03071930182bc2585b61ce5d8c67491710883dd6 Reviewed-on: https://review.openocd.org/c/openocd/+/7328 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15Fix for segfault and some clang reported problems in stmqspiAndreas Bolsch1-16/+14
Change-Id: Id003adb574085cdd603cc13aeb6f2efec73593f1 Signed-off-by: Andreas Bolsch <hyphen0break@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7345 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15jep106: update to revision JEP106BF.01 Oct 2022Antonio Borneo1-3/+84
Change-Id: Ia1f19dcce48da997c036ccffa65e76e179de2eb9 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7341 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2022-11-15flash/nor/stm32f1x: adjust size of the flash loader bufferSimon Smiganovski1-1/+1
target_run_flash_async_algorithm expects the source_buffer to have at least 2 words reserved for read and write pointers in addition to the FIFO buffer. If the size of the data to be flashed is <= 8 bytes then the flash function will fail with "corrupted fifo read pointer" error. Ensure the allocated buffer is big enough to hold both FIFO buffer and read/write pointers. Change-Id: I09c22eaac517b8cfea8e0b463f5deb6b98afd267 Signed-off-by: Simon Smiganovski <simon.smiganovski@fruitcore.de> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7342 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15target/armv7m: prevent saving and restoring non existent regsTomas Vanek1-6/+12
armv7m_start_algorithm() saves register values to arch_info->context. armv7m_wait_algorithm() restores register values from arch_info->context. Exclude registers with flag exist = false from both loops. While on it refactor the register restore: introduce 'struct reg' pointer and dereference it instead of numerous accesses by a full path from armv7m pointer. Change-Id: I1600084db84809ee13bcf8e7828b79f8c9ff9077 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7276 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-15tcl/interface: fix raspberrypi2-native.cfg speed coefficientTomas Vanek1-2/+2
The speed coefficient for Raspberry Pi 2 was probably calibrated for a scaled down clock frequency. To prevent JTAG/SWD overclocking, use the value corresponding to the 'official' maximum CPU clock. Change-Id: Iaff58b092198dce6d6552c9d31d6a3ba4aaaa2d5 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7305 Tested-by: jenkins Reviewed-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-11-11tcl/cpld/xilinx-xcu: fix typoGeorge Voicu1-1/+1
Fix typo in comments Signed-off-by: George Voicu <razvanvg@hotmail.com> Change-Id: Icc2d770e73f896e20dd347de324328030544bdb9 Reviewed-on: https://review.openocd.org/c/openocd/+/7333 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-11pld/virtex2: small doc extensionDaniel Anselmi1-0/+8
Change-Id: I174cd702388be04268b38178fbfacb90db452f72 Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7303 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-11rtos: hwthread: fix clang error core.NullDereferenceAntonio Borneo1-4/+4
Clang spots a potential NULL pointer dereferencing that is instead an incorrect use of an array of pointers: src/rtos/hwthread.c:254:32: warning: Dereference of null pointer [core.NullDereference] (*rtos_reg_list)[j].number = (*reg_list)[i].number; ^~~~~~~~~~~~~~~~~~~~~ The error has not been spotted before because: - this function is not called for the first core of the SMP node, - for the other cores on Cortex-A it still returns valid register value for the first 12 ARM registers, then it diverges. Also Valgrind does not spot any issue at runtime. Address the array correctly. While there, use DIV_ROUND_UP() macro for the computation. Change-Id: Ib87e60e0edfd9671091f5dcfa9aedaf1aed800d1 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7337 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2022-11-11Revert "Remove duplicate of a counter in hwthread_update_threads"Tomas Vanek1-3/+7
Commit 0cedf10f8fd6 ("Remove duplicate of a counter in hwthread_update_threads") introduced a code bug. In the second foreach_smp_target() loop, variable "threads_found" gets passed to routine hwthread_fill_thread(). By removing the counting of threads_found from the second loop, the incorrect thread counter value gets passed to hwthread_fill_thread(). Change-Id: Ie89e53ccd28bb72b6838ef2f12106a1fe8d00994 Suggested-by: Daniel Goehring <dgoehrin@os.amperecomputing.com> Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7307 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-11jtag/drivers/cmsis_dap: prevent CDC missdetect as CMSIS-DAP bulkTomas Vanek1-1/+3
The autodetection of CMSIS-DAP v2 bulk interface is tricky as not all adapters conform CMSIS-DAP specs. If an interface has a string descriptor containing CMSIS-DAP, then OpenOCD did not insisted on the correct interface class LIBUSB_CLASS_VENDOR_SPEC. However the relaxed test caused false autodetection of v2 bulk interface on some CMSIS-DAP v1 adapters with an additional serial interface with the string descriptor stupidly containing CMSIS-DAP text. Make the test less relaxed, refuse autodetection of the interfaces with the class number of well known functions including CDC and MSC. Link: https://sourceforge.net/p/openocd/tickets/368/ Change-Id: I917cb257eb42aab93560cc39c61ec35a60ce52e3 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7279 Tested-by: jenkins Reviewed-by: SilverFox <yyjdelete@126.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-11-11flash: stmqspi: fix clang error 'dead assignment'Antonio Borneo1-1/+0
The variable retval is assigned a value that is never used, as it is reassigned few lines below. Drop the dead assignment. Change-Id: Id4e9134408fab3e04936d36e95724bf8d3ab55aa Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7304 Tested-by: jenkins
2022-11-11dsp5680xx: fix clang error core.UndefinedBinaryOperatorResultAntonio Borneo1-2/+2
Clang get confused by initializing the array uint16_t lock_word[], casting it to (uint8_t *), then accessing the second element of the uint8_t pointer. src/target/dsp5680xx.c:2046:41: warning: The left operand of '<<' is a garbage value [core.UndefinedBinaryOperatorResult] uint16_t tmp = (buffer[0] | (buffer[1] << 8)); ~~~~~~~~~ ^ Fix it by replacing the array with a single uint16_t. The code is still depending on host endianness; no fix for this is proposed. Change-Id: I16dfd60cab117dd145aeecf10d9593574ff233a2 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7302 Tested-by: jenkins
2022-11-11esirisc_jtag: fix clang error core.VLASizeAntonio Borneo1-1/+3
The function esirisc_jtag_recv() can be called with argument num_in_fields = 0, for example as consequence of calling esirisc_jtag_continue(). In this case, num_in_bytes is zero and the allocation of the variable-length array 'r' requires size zero. src/target/esirisc_jtag.c:133:2: warning: Declared variable-length array (VLA) has zero size [core.VLASize] uint8_t r[num_in_bytes * 2]; ^~~~~~~~~ ~~~~~~~~~~~~~~~~ Fix it by forcing size one when num_in_bytes is zero. Change-Id: Id764c7b5ec4f5b3c18c7da650bbff39fc98ed049 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7301 Tested-by: jenkins
2022-11-11openrisc: fix clang error core.CallAndMessageAntonio Borneo1-1/+4
Clang assumes that size could assume a value that is not 1 nor 2 nor 4. In such condition the buffer in t is allocated (size != 1) and not initialized. This triggers an error: src/target/openrisc/or1k_du_adv.c:655:14: warning: 2nd function call argument is an uninitialized value [core.CallAndMessage] crc_calc = adbg_compute_crc(crc_calc, data[i], 8); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add the default case to cover other values of size. After this fix, clang still complains on the same line, this time misunderstanding the limits of the loop and considering that buf_bswap16() only swaps the first 16 bits, thus passing not initialized value data[2] to adbg_compute_crc() Replace malloc() with calloc() to silent it. Change-Id: I358d7fb2ebefd69255670641bd435b770762a301 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7300 Tested-by: jenkins
2022-11-11helper/types: use unsigned type for all h_u64_to_le() and similarAntonio Borneo1-8/+8
All the converters functions: h_u64_to_le() h_u64_to_be() h_u32_to_le() h_u32_to_be() h_u24_to_le() h_u24_to_be() h_u16_to_le() h_u16_to_be() have signed type in their prototype, while the function name and all the current use cases pass an unsigned value. Change the prototypes to use unsigned types. Change-Id: I76dcfdd7912b81f60902184712b2907eae9843f7 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7299 Tested-by: jenkins
2022-11-04ThreadX: set current_thread for kernel executionBen McMorran1-0/+6
If we just invented thread 1 to represent the current execution, we need to make sure the RTOS object also claims it's the current thread so that threadx_get_thread_reg_list() doesn't attempt to read a thread control block at 0x00000001. Signed-off-by: Ben McMorran <bemcmorr@microsoft.com> Change-Id: I7f71e730d047858898297e4cb31db8e47e0c371c Reviewed-on: https://review.openocd.org/c/openocd/+/7280 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-26Restore +dev suffixPaul Fertser1-1/+1
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2022-10-26The openocd-0.12.0-rc2 release candidatePaul Fertser2-2/+2
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2022-10-21tcl/target: add basic RP2040 target configTomas Vanek2-0/+86
The existing rp2040-core0.cfg configuration file was intended for a special adapter which selects a SWD multidrop target on its own. This means that rp2040-core0.cfg is totally unusable with a standard SWD adapter. To fix the problem, mark rp2040-core0.cfg as deprecated and add rp2040.cfg, a basic config file with multidrop target selection. Change-Id: I5194e42f529a2d9645481424b7c66ab61efa44ee Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7275 Tested-by: jenkins Reviewed-by: Jonathan Bell <jonathan@raspberrypi.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-21doc: fix semihosting_redirect command documentationTarek BOCHKATI1-2/+2
Change-Id: I78c82a21e4160851a5c0b58394ac7897479808ff Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@st.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7278 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-21tcl/stm32l5x|u5x: support HLA adapters in non-secure mode onlyTarek BOCHKATI1-5/+12
instrument "target/stm32x5x_common.cfg" used by both STM32L5x/U5x to support HLA adapters like "interface/stlink.cfg" in non-secure mode if the device switches to secure mode, the debug session will be stopped immediately (with an explanatory message). Change-Id: I645fdd55e3448ef82d0ddcc396f42fd7b2f39ac3 Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reported-by: Patrik Bachan <diggit@users.sourceforge.net> Fixes: https://sourceforge.net/p/openocd/tickets/317/ Reviewed-on: https://review.openocd.org/c/openocd/+/6546 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2022-10-21target/xtensa: remove redundant call for `TARGET_EVENT_HALTED`Erhan Kurubas1-2/+6
`xtensa_do_step` is invoked from `xtensa_prepare_resume` to silently step over BP/WP before resuming. For example; in the case of WPs (DEBUGCAUSE_DB), in the current implementation `xtensa_do_step` will generate one more `TARGET_EVENT_HALTED` after the original one caused by WP itself. This patch moves the halted event cb call after the step is done successfully. Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: I9048e14fb316dc124847a42cfaefb1f76b5ce53e Reviewed-on: https://review.openocd.org/c/openocd/+/7274 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-21doc: fix riscv commandsAntonio Borneo2-6/+14
- Fix the declaration of riscv command 'set_mem_access'. - Remove non existing riscv command 'set_scratch_ram'. - Add riscv commands 'info', 'reset_delays'; copy the description from the 'help' text. - Don't add riscv commands 'set_prefer_sba' and 'test_sba_config_reg' as they are marked as deprecated. - Ensure that 'test_sba_config_reg' prints a deprecation warning when used. Change-Id: I39dc3aec4e7f13b69ac19685f1b593790acdde83 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Signed-off-by: Jan Matyas <matyas@codasip.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7268 Reviewed-by: Tim Newsome <tim@sifive.com> Tested-by: jenkins
2022-10-21doc: remove unreferenced anchorsAntonio Borneo1-4/+0
Remove the @anchor{} tags that are not referenced in the documentation. Change-Id: Ia8e9f75afb08e08ef99d0c8fd82115d689e4a267 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7270 Tested-by: jenkins
2022-10-21doc: fix espusbjtag commands typeAntonio Borneo1-2/+2
Exec commands should be reported as {Command}. Change-Id: Iacb50d77b354617ecd24b0f1c2ec24e240179698 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7267 Tested-by: jenkins Reviewed-by: Erhan Kurubas <erhan.kurubas@espressif.com>
2022-10-21doc: fix xtensa commands typeAntonio Borneo1-9/+9
Config commands should be reported as {Config Command} Change-Id: Ic778df31bb1dc9aefdbe3d8006b06bb370d25e6f Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7266 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Erhan Kurubas <erhan.kurubas@espressif.com>
2022-10-21jtag/drivers: bcm2835gpio: implement memory barriers when bitbashingJonathan Bell1-0/+15
This GPIO driver is common to SoCs that have in-order ARM cores (BCM2835) as well as superscalar (BCM2836-7) and speculative out-of-order cores (BCM2711). For BCM2837 and BCM2711, the processor can dual-issue stores and is free to merge writes to peripheral memory for pages mapped MT_NORMAL_NC, which is the default provided by /dev/[gpio]mem. This can cause glitches (or missing edges) on GPIO pins when toggled with no delay, as pipelined writes to the same address can get arbitrarily squelched. To prevent this happening, make sure the preceding write ops are flushed outside the shareable domain by using a memory barrier. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> Change-Id: I8805cc0911667bcb9b7f4ca340d7f4f1cb25d096 Reviewed-on: https://review.openocd.org/c/openocd/+/7258 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-15README: update build dependency listAntonio Borneo1-3/+19
Add info on what is optional, Change-Id: Iedfa969243d95736aaf1b236caa2c2b33f563fe7 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7256 Tested-by: jenkins
2022-10-15README: cleanup requirements for pkg-configAntonio Borneo1-3/+2
FreeBSD fully supports pkg-config; the .pc files for the internal libusb has been added with https://cgit.freebsd.org/src/commit/?id=041d3f3f09b8 and became part of FreeBSD 10.0 in 2014-01-16. Remove the obsoleted requirements for adding .pc files. While there, add pkgconf as an alternative to pkg-config. Change-Id: I16aea735c44107cb71945f225a979682c8c92d0a Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7255 Reviewed-by: Paul Fertser <fercerpav@gmail.com> Tested-by: jenkins
2022-10-15target/xtensa: fill register number field in the cacheErhan Kurubas1-0/+6
Currently 'number' field is zero in the register cache and this causes an issue on `rtos get_thread_reg_list` calls. Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: Iaef11e01f55d012969bbc1933f82847d5e02fec5 Reviewed-on: https://review.openocd.org/c/openocd/+/7246 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-15target/esp32s2: check xtensa_poll return valueErhan Kurubas1-0/+2
Although scan build couldn't catch, return value overwritten without checking. Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: I02b10002b03640604315047e8a8a639824724c16 Reviewed-on: https://review.openocd.org/c/openocd/+/7247 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-15tcl/xtensa: some fixes at xtensa-core-esp32s3.cfgErhan Kurubas1-84/+63
Some config changes required to run ESP32-S3 with full feature set Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: I38022bb5ff5830e1cf9d11d6fe795ea99d91e9db Reviewed-on: https://review.openocd.org/c/openocd/+/7254 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-15tcl/xtensa: some fixes at xtensa-core-esp32s2.cfgErhan Kurubas1-37/+37
Some config changes required to run ESP32-S2 with full feature set Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: Ie0a742442254ec6e95d4e05be40213b079a94dab Reviewed-on: https://review.openocd.org/c/openocd/+/7253 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-15tcl/xtensa: some fixes at xtensa-core-esp32.cfgErhan Kurubas1-39/+3
Some config changes required to run ESP32 with full feature set Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: I484324f8497ec7934bb73164c638fc5f6460fcc4 Reviewed-on: https://review.openocd.org/c/openocd/+/7252 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-12tcl/target: fix rp2040-core0.cfg work area backup.Tomas Vanek1-1/+4
The work area should be backed up. The flash probe runs an algorithm on the target CPU. The flash is probed during gdb connect if gdb_memory_map is enabled (is enabled by default). Without backup the target memory gets corrupted on gdb connect. Change-Id: I3344b9dc6cbf904d49f3b05ab104b541d1d63422 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7257 Tested-by: jenkins Reviewed-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-10-08target: re-examine before arp_waitstate in ocd_process_reset_innerTomas Vanek1-4/+15
arp_waitstate will not work on not-examined state Change-Id: I56c3e1c7e63af108e4ed1dbacebb567f9bf46264 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7230 Tested-by: jenkins Reviewed-by: Erwan Gouriou Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08target/hla_target: try to re-examine under reset in hl_assert_reset()Tomas Vanek1-0/+7
An application often idling in real sleep mode may make a Cortex-M target hard to access as CPU clock are gated and debug requests are responded by WAIT ack. Try to examine the target under reset as the last resort. Change-Id: I7c3de39fb1e6c23b76e2a0a85ab75f23aac94c4d Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7229 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08target/cortex_m: try to re-examine under reset in cortex_m_assert_reset()Tomas Vanek1-1/+9
An application often idling in real sleep mode may make a Cortex-M target hard to access as CPU clock are gated and debug requests are responded by WAIT ack. Try to examine the target under reset as the last resort. Change-Id: Ife875a966a838c37dde987bc584ad0a1f4d020d6 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/7228 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08target/cortex_m: make reset robust againTomas Vanek1-17/+27
After merging [1] 'reset halt' does not work on not responding Cortex-M. Relax the examined tests and try to set vector catch VC_CORERESET if debug_ap is available. While on it add an info about examination state to debug logs. Fixes: [1] commit 98d9f1168cbd ("target: reset target examined flag if target::examine() fails") Change-Id: Ie2e018610026180af5997d70231061a275f05c76 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: https://review.openocd.org/c/openocd/+/6745 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08openocd: fix build with 'configure --without-capstone'Antonio Borneo1-1/+4
When configure option --without-capstone is used, the macro HAVE_CAPSTONE is not defined in config.h, and the following lines are instead present: /* 1 if you have Capstone disassembly framework. */ /* #undef HAVE_CAPSTONE */ This cause compile error with message: arm_disassembler.h:190:5: error: "HAVE_CAPSTONE" is not defined, evaluates to 0 [-Werror=undef] 190 | #if HAVE_CAPSTONE | ^~~~~~~~~~~~~ This is caused by configure.ac that does not call AC_DEFINE when --without-capstone option is present. Fix configure.ac to always provide the autoconf macro HAVE_CAPSTONE, with either value 0 or 1. Change-Id: Ie5ac98b2c25746dd721812c91baaac61ec877ecd Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7224 Tested-by: jenkins
2022-10-08target/adiv5: 64-bit TAR setup bugfixDaniel Goehring1-1/+1
For 64-bit TAR setup, if 'tar_valid == false' perform the upper 32-bit write even if the cached copy matches the upper TAR value to be written. Signed-off-by: Daniel Goehring <dgoehrin@os.amperecomputing.com> Change-Id: I320377dc90a9d1d7b64cbb281b2527e56c7621ee Reviewed-on: https://review.openocd.org/c/openocd/+/7245 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2022-10-08tcl/target/ti_k3: Handle swd vs jtagNishanth Menon1-1/+4
Since all the device definition when accessing device from jtag is also valid when accessing from swd, lets make sure the configuration can handle the same. Signed-off-by: Nishanth Menon <nm@ti.com> Change-Id: I5af071137fd8c3b52cc4ef72401f8eba952f9cad Reviewed-on: https://review.openocd.org/c/openocd/+/7090 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08fix leaky file-handle in virtex2 driverDaniel Anselmi1-0/+6
Change-Id: I2784a66c42be71f2982dff7746f9fb2eb1dc8ca6 Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7243 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08don't return ERROR_OK in error casesDaniel Anselmi1-2/+2
Change-Id: I7e046df85838692c9044fe9c9d67e8b2c821eb0f Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7236 Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
2022-10-08fix memory leak in virtex2 driverDaniel Anselmi3-5/+34
Change-Id: Ia08f7aaad25631132885acd5898477c1106f0ec4 Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7235 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2022-10-08target/xtensa: pass correct buffer on read memory retryErhan Kurubas1-2/+2
Read values must be at albuff so that can be copied to buffer on function exit. Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: I74a533e8f12f1002ca06a98a7c7cd928552b4cc5 Reviewed-on: https://review.openocd.org/c/openocd/+/7226 Tested-by: jenkins Reviewed-by: Ian Thompson <ianst@cadence.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>