openocd.git
11 months agosrc: fix clang15 compiler warnings 69/7569/3
Erhan Kurubas [Sat, 1 Apr 2023 22:26:51 +0000 (00:26 +0200)]
src: fix clang15 compiler warnings

Below warnings are fixed.

1- A function declaration without a prototype is deprecated in all
versions of C [-Werror,-Wstrict-prototypes]

2- error: variable set but not used [-Werror,-Wunused-but-set-variable]

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I1cf14b8e5e3e732ebc9cacc4b1cb9009276a8ea9
Reviewed-on: https://review.openocd.org/c/openocd/+/7569
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
11 months agoserver/ipdbg: add error checks after allocating memory 05/7605/2
Daniel Anselmi [Tue, 11 Apr 2023 08:18:33 +0000 (10:18 +0200)]
server/ipdbg: add error checks after allocating memory

Change-Id: Icf18a855eb66d2b09789a9ee27f5fbc4cd9afc89
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7605
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
11 months agotcl/target: renesas gen3 Set target to armv8r for Cortex-R52 05/6805/4
Julien Massot [Wed, 12 Jan 2022 08:53:06 +0000 (09:53 +0100)]
tcl/target: renesas gen3 Set target to armv8r for Cortex-R52

Cortex-R52 is an ARMv8-R processor supporting only
AArch32 Profile.

Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Change-Id: I663ae4bf1d3026d7c9e4c5950a79e7ddf1bd6564
Reviewed-on: https://review.openocd.org/c/openocd/+/6805
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
11 months agoaarch64: Add support for ARMv8-R 43/6843/2
Julien Massot [Tue, 1 Feb 2022 12:44:05 +0000 (13:44 +0100)]
aarch64: Add support for ARMv8-R

ARMv8-R platforms are similar to ARMv8-A regarding
JTAG and most cpu registers. ARMv8-R doesn't has MMU
but has MPU instead.

ARMv8-R platforms can be AArch32 only such as Cortex-R52,
or AArch64 capable like Cortex-R82.

Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Change-Id: Ib086f71685d1e3704b396d478ae9399dd8a391e1
Reviewed-on: https://review.openocd.org/c/openocd/+/6843
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
11 months agotarget:armv8: aarch32 do not try to restore same EL 07/6807/3
Julien Massot [Wed, 12 Jan 2022 13:10:36 +0000 (14:10 +0100)]
target:armv8: aarch32 do not try to restore same EL

While debugging a Cortex-R52 OpenOCD fail to restore context
on line
retval = dpm->instr_write_data_r0(dpm,
ARMV8_MSR_GP_xPSR_T1(1, 0, 15), cpsr);

which trigger this exception:

aarch64.c:1206 aarch64_restore_context(): r8a779a0.r52
armv8_dpm.c:560 armv8_dpm_modeswitch(): restoring mode, cpsr = 0x0000011f
1262753 armv8_dpm.c:598 armv8_dpm_modeswitch(): target_el = 1, last_el = 1
armv8_dpm.c:611 armv8_dpm_modeswitch(): SPSR = 0x0000011f
armv8_dpm.c:260 dpmv8_exec_opcode(): Opcode 0x8f00f390, DSCR.ERR=1, DSCR.EL=1

and finally OpenOCD doesn't succeed to restore the processor.

This check 'dpm->last_el != target_el' exist for aarch64,
so might be correct for aarch32 too.

Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Change-Id: I41d1006233251dcaf6d69bda580488b204b7eb63
Reviewed-on: https://review.openocd.org/c/openocd/+/6807
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agopld: move file sanity checks to pld.c 88/7388/8
Daniel Anselmi [Wed, 14 Dec 2022 08:27:38 +0000 (09:27 +0100)]
pld: move file sanity checks to pld.c

Change-Id: Id64b1165b25a03634949ac22b8af16eb0e24c1fa
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7388
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agoflash/rsl10: fix typo 84/7584/2
Mark Zhuang [Mon, 10 Apr 2023 02:57:55 +0000 (10:57 +0800)]
flash/rsl10: fix typo

Change-Id: I11af37309fe4684fcb340a00fcc7b2096b8dad76
Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7584
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agortos/linux.c: Fix Linux user space border check 70/7570/3
panciyan [Sun, 2 Apr 2023 05:17:17 +0000 (05:17 +0000)]
rtos/linux.c: Fix Linux user space border check

Linux kernel and user space border is 0xc0000000 not 0xc000000

Signed-off-by: panciyan <panciyan@eswincomputing.com>
Change-Id: I6b487cce62ac31737deca97d5f5f7bbc081280f4
Reviewed-on: https://review.openocd.org/c/openocd/+/7570
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agosrc/server: Fix memory leak of reg_list 66/7566/3
panciyan [Fri, 31 Mar 2023 15:12:08 +0000 (15:12 +0000)]
src/server: Fix memory leak of reg_list

memory leak of reg_list when local_list realloc fail.

Signed-off-by: panciyan <panciyan@eswincomputing.com>
Change-Id: I6b09137ecd132ab326205f5a575a38bcc82e8469
Reviewed-on: https://review.openocd.org/c/openocd/+/7566
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotarget/espressif: add application tracing functionality over JTAG 63/7163/20
Erhan Kurubas [Thu, 25 Aug 2022 12:38:34 +0000 (15:38 +0300)]
target/espressif: add application tracing functionality over JTAG

This feature allows to transfer arbitrary data between host and
ESP32 via JTAG.

The main use cases:

1- Collecting application specific data
2- Lightweight logging to the host
3- System behaviour analysis with SEGGER SystemView
4- Source code coverage

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I95dee00ac22891fa326915a3fcac3c088cbb2afc
Reviewed-on: https://review.openocd.org/c/openocd/+/7163
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agodoc: drop "resume will wait 5 seconds" 79/7579/3
Tomas Vanek [Tue, 4 Apr 2023 11:03:59 +0000 (13:03 +0200)]
doc: drop "resume will wait 5 seconds"

Checkpatch-ignore: GIT_COMMIT_ID

Waiting for running state was removed from handle_resume_command()
in commit a92d27afb073 ("very long and bad structured commit msg
without anything relevant to resume") around year 2008.
Update the doc accordingly.

Silent checkpatch or we have to copy 10 or more lines
of the old commit msg.

Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Change-Id: I3296cb2c29cf80aeed63eddd8fbf352edec778c1
Reviewed-on: https://review.openocd.org/c/openocd/+/7579
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotcl: cpld/xilinx-xc7: remove virtex-7 devices with ir-length > 6 87/7387/5
Daniel Anselmi [Wed, 30 Nov 2022 03:05:44 +0000 (04:05 +0100)]
tcl: cpld/xilinx-xc7: remove virtex-7 devices with ir-length > 6

They have an ir length of 22, 24 or 38 bit and different command codes.

Change-Id: I488e8613f1c4d017e1590111f60b2725ec62964b
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7387
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotcl: zynq_7000: add missing id codes 86/7386/6
Daniel Anselmi [Wed, 30 Nov 2022 02:42:18 +0000 (03:42 +0100)]
tcl: zynq_7000: add missing id codes

Add missing ID codes and ignore the version in the ID.

Change-Id: Idd2d3a5eddb6995f3af1c45afd2adf76ce3442bf
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7386
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agohelper/compiler fix build with gcc on MacOS 71/7571/2
Antonio Borneo [Sun, 2 Apr 2023 12:24:23 +0000 (14:24 +0200)]
helper/compiler fix build with gcc on MacOS

On MacOS libc includes files from MacOSX.sdk that define the macro
#define __nonnull
without arguments, causing compile error.

Extend the existing check for clang on MacOS and undefine the
macro for gcc too.

Change-Id: Ic99de78348c6aa86561212a3aded9342e5d32e02
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reported-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7571
Reviewed-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Tested-by: jenkins
12 months agoipdbg: whitespaces 99/7399/3
Daniel Anselmi [Wed, 14 Dec 2022 11:51:48 +0000 (12:51 +0100)]
ipdbg: whitespaces

Change-Id: I9294c551cf2e795ad5e3e92dc3926c564424e067
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7399
Tested-by: jenkins
Reviewed-by: Jonathan McDowell <noodles-openocd@earth.li>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agohelper/list: re-align with Linux kernel 6.3-rc1 68/7568/2
Antonio Borneo [Tue, 14 Mar 2023 14:20:14 +0000 (15:20 +0100)]
helper/list: re-align with Linux kernel 6.3-rc1

Minor changes due to kernel switch to 100 char/line.
Added four new functions.

Silent checkpatch; we don't want to diverge from Linux reference
code.
Checkpatch-ignore: MACRO_ARG_REUSE, UNNECESSARY_PARENTHESES
Checkpatch-ignore: MACRO_ARG_PRECEDENCE

Change-Id: I1d2ff25bf3bab8cd0f5c9be55c7501795490ea75
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7568
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agohelper/list: remove unused hlist_* 67/7567/2
Antonio Borneo [Tue, 14 Mar 2023 14:01:18 +0000 (15:01 +0100)]
helper/list: remove unused hlist_*

The file list.h is taken from Linux and includes two similar
implementation of double linked lists:
- with single linked list's head (hlist_*), and
- with double linked list's head (list_*).
While the former offers a minor memory footprint improvement,
keeping two implementations makes harder for newbie developers
to approach them.

So far only the latter implementation has been used and no new
patches in gerrit is going to change that.

Drop the support for lists with single linked head.
It can be easily taken back from git history, if needed.

Change-Id: I420e5de38ab755fdfbeb2115538c61818308ec2b
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7567
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agosrc/target/mips_m4k : add fast read method 64/7564/9
François LEGAL [Wed, 29 Mar 2023 15:46:38 +0000 (17:46 +0200)]
src/target/mips_m4k : add fast read method

Add the fast read method to speed up flash verification
after programming. Works the same as fast write already
implemented.

Signed-off-by: François LEGAL <devel@thom.fr.eu.org>
Change-Id: I74611a3542a88212f0483ec8ee368aba3d1f03c7
Reviewed-on: https://review.openocd.org/c/openocd/+/7564
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agosrc/target/mips_m4k : fix condition on overlapping workspace data area 63/7563/2
François LEGAL [Wed, 29 Mar 2023 12:19:48 +0000 (14:19 +0200)]
src/target/mips_m4k : fix condition on overlapping workspace data area

The condition to check if the workspace area (used by actual MIPS code
executed on target) and data area (sandbox to put data to be read/written
to/from flash) is wrong, thus preventing the use of FAST_* commands to
program/verify FLASH.

Signed-off-by: François LEGAL <devel@thom.fr.eu.org>
Change-Id: Ic68424b7f42d44e550433a120093db5e7980fd56
Reviewed-on: https://review.openocd.org/c/openocd/+/7563
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agortos/FreeRTOS: some optimization of freertos_update_threads() 49/7549/3
Chao Du [Wed, 22 Mar 2023 06:51:51 +0000 (06:51 +0000)]
rtos/FreeRTOS: some optimization of freertos_update_threads()

1.
update the rtos->thread_count in time, to make sure the allocated
thread_name_str and extra_info_str could be freed by
rtos_free_threadlist(). Otherwise the abnormal return may cause a
memory leak.
2.
remove a redundant assignment to threadid.

Signed-off-by: Chao Du <duchao@eswincomputing.com>
Change-Id: Ifabc59d501c925b3d6aec8b04b2856d2c31cc4e2
Reviewed-on: https://review.openocd.org/c/openocd/+/7549
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agogithub/workflow: build libjaylink from source 52/7552/3
Erhan Kurubas [Sat, 25 Mar 2023 00:00:51 +0000 (03:00 +0300)]
github/workflow: build libjaylink from source

Libjaylink submodule disabled by default at
https://review.openocd.org/c/openocd/+/7129

--enable-internal-libjaylink config option will be deprecated soon.

So, building the source is a permanent solution.

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: Id06654d806a3a49f35e3ba41e9e4cc58c1a0d388
Reviewed-on: https://review.openocd.org/c/openocd/+/7552
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agogithub/workflow: increase delete-tag-and-release version 51/7551/6
Erhan Kurubas [Fri, 24 Mar 2023 23:56:19 +0000 (02:56 +0300)]
github/workflow: increase delete-tag-and-release version

During setup job in the GH actions, GH tries to resolve
all actions before starting to run the scripts.
It can not find 0.2.0 version inside
'dev-drprasad/delete-tag-and-release 'repo and action fails.

This patch fixes that error.
Also, switched to the latest ubuntu image
Hidapi version updated to 0.13.1

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I02af41f6189d5a28f874c9b008073d74de46b4ca
Reviewed-on: https://review.openocd.org/c/openocd/+/7551
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agoflash/nor: missing fileio_close. 46/7546/4
panciyan [Mon, 20 Mar 2023 02:26:58 +0000 (02:26 +0000)]
flash/nor: missing fileio_close.

If the file read abnormally, need to close it which was opened before.

Signed-off-by: panciyan <panciyan@eswincomputing.com>
Change-Id: I6142f154741dcd38088b7add2793219ee4dd2ae9
Reviewed-on: https://review.openocd.org/c/openocd/+/7546
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agotcl/board: add Calao USB-A9G20 24/7524/7
Wolfram Sang [Sun, 5 Mar 2023 07:38:14 +0000 (08:38 +0100)]
tcl/board: add Calao USB-A9G20

Add a basic config.

Signed-off-by: Wolfram Sang <wsa@kernel.org>
Change-Id: Ie68e5fbb26b1c2f3028e561af0255fa71ec61828
Reviewed-on: https://review.openocd.org/c/openocd/+/7524
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agotcl/board/calao-usb-a9260: fix and refactor broken support 22/7522/5
Wolfram Sang [Fri, 3 Mar 2023 11:26:46 +0000 (12:26 +0100)]
tcl/board/calao-usb-a9260: fix and refactor broken support

The old configuration files did not work because of a missing
'at91sam9260minimal.cfg' file. Also, the config files were placed
wrongly. Update them, put them to the proper location, merge the two
supported boards into one, remove now superfluous include, remove
defunct web page, etc.. Tested with a Calao USB-A9G20 and a hacked
'device_desc' to match. Native support for it will come next.

Signed-off-by: Wolfram Sang <wsa@kernel.org>
Change-Id: Iec578c8777c5a6134e132dbac17c2988c7634742
Reviewed-on: https://review.openocd.org/c/openocd/+/7522
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agotarget: rewrite command 'target smp' as COMMAND_HANDLER 11/7511/2
Antonio Borneo [Mon, 19 Dec 2022 23:11:41 +0000 (00:11 +0100)]
target: rewrite command 'target smp' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_xx from a jim command,
propagated from return value of rtos_smp_init().

Change-Id: Icf4893c00aabd8fadd60077c5e8a2e926f687518
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7511
Tested-by: jenkins
12 months agotarget: rewrite command 'target names' as COMMAND_HANDLER 10/7510/2
Antonio Borneo [Mon, 19 Dec 2022 22:58:01 +0000 (23:58 +0100)]
target: rewrite command 'target names' as COMMAND_HANDLER

Print one entry per line.
While there add the mandatory 'usage' field.

Change-Id: Ia832684817f3bdbfa4cb943cd97e3f9fb2605902
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7510
Tested-by: jenkins
12 months agotarget: rewrite command 'target types' as COMMAND_HANDLER 09/7509/2
Antonio Borneo [Mon, 19 Dec 2022 22:54:10 +0000 (23:54 +0100)]
target: rewrite command 'target types' as COMMAND_HANDLER

Print one entry per line.
While there add the mandatory 'usage' field.

Change-Id: I135556e12154e33fdbd0f71d89f6fe37c69813b7
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7509
Tested-by: jenkins
12 months agotarget: rewrite command 'target current' as COMMAND_HANDLER 08/7508/2
Antonio Borneo [Mon, 19 Dec 2022 22:50:23 +0000 (23:50 +0100)]
target: rewrite command 'target current' as COMMAND_HANDLER

While there add the mandatory 'usage' field.

Change-Id: I3e5b826ca58f7ade30a443ada0cb4a9cd9ea35c2
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7508
Tested-by: jenkins
12 months agotarget: rewrite command 'arp_halt_gdb' as COMMAND_HANDLER 07/7507/2
Antonio Borneo [Mon, 19 Dec 2022 22:44:04 +0000 (23:44 +0100)]
target: rewrite command 'arp_halt_gdb' as COMMAND_HANDLER

While there add the mandatory 'usage' field.

Change-Id: I5389881dac25877dc32930ec36ee546e48ecc14d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7507
Tested-by: jenkins
12 months agotarget: rewrite command 'examine_deferred' as COMMAND_HANDLER 06/7506/2
Antonio Borneo [Mon, 19 Dec 2022 22:41:22 +0000 (23:41 +0100)]
target: rewrite command 'examine_deferred' as COMMAND_HANDLER

Check for empty command line, add the mandatory 'usage' field.

Change-Id: I9c3606242ec3dda9026fe19222162a110e618bff
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7506
Tested-by: jenkins
12 months agotarget: rewrite command 'was_examined' as COMMAND_HANDLER 05/7505/2
Antonio Borneo [Mon, 19 Dec 2022 22:37:07 +0000 (23:37 +0100)]
target: rewrite command 'was_examined' as COMMAND_HANDLER

Check for empty command line, add the mandatory 'usage' field.

Change-Id: I3f59448458fe01268bf5f4293aea5adcbd6d8279
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7505
Tested-by: jenkins
12 months agotarget: rewrite command 'target curstate' as COMMAND_HANDLER 04/7504/2
Antonio Borneo [Mon, 19 Dec 2022 22:25:21 +0000 (23:25 +0100)]
target: rewrite command 'target curstate' as COMMAND_HANDLER

While there, add the mandatory 'usage' field.

Change-Id: Ibfda6f56a1450e2eb9ad3092d756de0778f4a092
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7504
Tested-by: jenkins
12 months agotarget: rewrite command 'read_memory' as COMMAND_HANDLER 03/7503/2
Antonio Borneo [Mon, 19 Dec 2022 22:15:54 +0000 (23:15 +0100)]
target: rewrite command 'read_memory' as COMMAND_HANDLER

While there, fix typo on 'exceeds'.
In a following patch, the output could be formatted and split in N
values per line to make it easier to read by humans.

Change-Id: I295111a80934393011e46311f6cf6c13f2bdc0a3
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7503
Tested-by: jenkins
12 months agotarget: arm_tpiu_swo: rewrite command 'tpiu init' as COMMAND_HANDLER 02/7502/2
Antonio Borneo [Mon, 19 Dec 2022 20:00:42 +0000 (21:00 +0100)]
target: arm_tpiu_swo: rewrite command 'tpiu init' as COMMAND_HANDLER

Change-Id: Iaaccfc62dd85267066a152c434f254d1b9a0c4f1
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7502
Tested-by: jenkins
12 months agotarget: arm_tpiu_swo: rewrite command 'tpiu names' as COMMAND_HANDLER 01/7501/2
Antonio Borneo [Mon, 19 Dec 2022 19:56:40 +0000 (20:56 +0100)]
target: arm_tpiu_swo: rewrite command 'tpiu names' as COMMAND_HANDLER

While there, format in a human readable way the output list by
using one line per tpiu name.

Change-Id: I937c92b6c1e92509cf8aa96be1517a51bc363600
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7501
Tested-by: jenkins
12 months agotarget: arm_tpiu_swo: rewrite command 'tpiu enable' as COMMAND_HANDLER 00/7500/2
Antonio Borneo [Mon, 19 Dec 2022 19:52:51 +0000 (20:52 +0100)]
target: arm_tpiu_swo: rewrite command 'tpiu enable' as COMMAND_HANDLER

Change-Id: Ia600948b99a229ef0490b7f576df62f880db8546
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7500
Tested-by: jenkins
12 months agotarget: arm_tpiu_swo: rewrite command 'tpiu disable' as COMMAND_HANDLER 99/7499/2
Antonio Borneo [Mon, 19 Dec 2022 19:28:56 +0000 (20:28 +0100)]
target: arm_tpiu_swo: rewrite command 'tpiu disable' as COMMAND_HANDLER

Change-Id: I689482f898bde2afa2881b2f311676a6b98abb9a
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7499
Tested-by: jenkins
12 months agotarget: arm_dap: rewrite command 'dap names' as COMMAND_HANDLER 98/7498/2
Antonio Borneo [Mon, 19 Dec 2022 17:35:23 +0000 (18:35 +0100)]
target: arm_dap: rewrite command 'dap names' as COMMAND_HANDLER

While there, format in a human readable way the output list by
using one line per dap name.

Change-Id: I24a47350105b90db15808c61790f05d807120739
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7498
Tested-by: jenkins
12 months agojtag: rewrite command 'flush_count' as COMMAND_HANDLER 97/7497/2
Antonio Borneo [Mon, 19 Dec 2022 17:29:08 +0000 (18:29 +0100)]
jtag: rewrite command 'flush_count' as COMMAND_HANDLER

While there:
- check the number of command parameters;
- add the mandatory 'usage' field.

Change-Id: I7cd16f049753caedf19f313f7dc84be98efdba42
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7497
Tested-by: jenkins
12 months agojtag: rewrite command 'jtag arp_init-reset' as COMMAND_HANDLER 96/7496/2
Antonio Borneo [Mon, 19 Dec 2022 17:23:11 +0000 (18:23 +0100)]
jtag: rewrite command 'jtag arp_init-reset' as COMMAND_HANDLER

While there add the mandatory 'usage' field.

Change-Id: I316fb31e24e94985dcc724e428b0384be7ef5bdd
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7496
Tested-by: jenkins
12 months agojtag: rewrite command 'jtag arp_init' as COMMAND_HANDLER 95/7495/2
Antonio Borneo [Mon, 19 Dec 2022 17:18:48 +0000 (18:18 +0100)]
jtag: rewrite command 'jtag arp_init' as COMMAND_HANDLER

While there add the mandatory 'usage' field.

Change-Id: I3491ed79d11c5a3e81cc9afd2423da14b8df72ff
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7495
Tested-by: jenkins
12 months agojtag: rewrite command 'jtag names' as COMMAND_HANDLER 94/7494/2
Antonio Borneo [Mon, 19 Dec 2022 17:08:03 +0000 (18:08 +0100)]
jtag: rewrite command 'jtag names' as COMMAND_HANDLER

While there:
- format in a human readable way the output list by using one line
  per tap name;
- add the mandatory 'usage' field.

Change-Id: I295449220c78fac8973478b265413342ea832f61
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7494
Tested-by: jenkins
12 months agojtag: rewrite command 'adapter name' as COMMAND_HANDLER 93/7493/2
Antonio Borneo [Sun, 18 Dec 2022 21:11:14 +0000 (22:11 +0100)]
jtag: rewrite command 'adapter name' as COMMAND_HANDLER

Trivial change.
Add the mandatory 'usage' field.

Change-Id: Id92af5cd873fb86f5de79f785f156d1ef734b005
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7493
Tested-by: jenkins
12 months agotarget: cti: rewrite command 'cti names' as COMMAND_HANDLER 92/7492/2
Antonio Borneo [Mon, 19 Dec 2022 16:55:13 +0000 (17:55 +0100)]
target: cti: rewrite command 'cti names' as COMMAND_HANDLER

While there, format in a human readable way the output list by
using one line per cti name.

Change-Id: I6d4870ee512fe7e6935d73355c2377ad805ccc3b
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7492
Tested-by: jenkins
12 months agotarget: armv4_5: rewrite commands 'arm mcr/mrc' as COMMAND_HANDLER 91/7491/2
Antonio Borneo [Mon, 19 Dec 2022 12:02:59 +0000 (13:02 +0100)]
target: armv4_5: rewrite commands 'arm mcr/mrc' as COMMAND_HANDLER

While there, add a check for target halted and check the number of
parameters accordingly to the command name.

Change-Id: I9e8bb109c35039561997d14782fac682267aee65
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7491
Tested-by: jenkins
12 months agotarget: aarch64: rewrite commands 'aarch64 mcr/mrc' as COMMAND_HANDLER 90/7490/2
Antonio Borneo [Mon, 19 Dec 2022 11:49:20 +0000 (12:49 +0100)]
target: aarch64: rewrite commands 'aarch64 mcr/mrc' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_TARGET_NOT_HALTED from a
jim command.

Change-Id: I99a02a21bedb64e60944e295c7cf24356e07be60
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7490
Tested-by: jenkins
12 months agortt: rewrite command 'rtt channellist' as COMMAND_HANDLER 89/7489/2
Antonio Borneo [Sun, 18 Dec 2022 21:42:18 +0000 (22:42 +0100)]
rtt: rewrite command 'rtt channellist' as COMMAND_HANDLER

This also fixes a mistake of the jim command returning ERROR_xx
when function rtt_read_channel_info() returns error.
While there:
- format in a human readable way the output dictionary list, while
  preserving the structure of its TCL data;
- add check for the number of parameters.

Change-Id: Ica2b623699d3a606d3992975c836dae96f74b26d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7489
Tested-by: jenkins
12 months agoopenocd: rewrite command 'version' as COMMAND_HANDLER 88/7488/2
Antonio Borneo [Sun, 18 Dec 2022 18:12:35 +0000 (19:12 +0100)]
openocd: rewrite command 'version' as COMMAND_HANDLER

Trivial change.
While there:
- add the mandatory 'usage' field;
- document the optional parameter 'git';
- reword the documentation.

Change-Id: I6be4d4423128fa026a62e2ef355f77b69d50397e
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7488
Tested-by: jenkins
12 months agohelper: util: rewrite command 'ms' as COMMAND_HANDLER 87/7487/2
Antonio Borneo [Sun, 18 Dec 2022 17:49:02 +0000 (18:49 +0100)]
helper: util: rewrite command 'ms' as COMMAND_HANDLER

Use full 64 bits in output; no reason to truncate at 32 bits.

Change-Id: I433815a381e147731ff0da2c805170649a9bcf38
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7487
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
12 months agoflash: nor: rewrite command 'flash list' as COMMAND_HANDLER 86/7486/2
Antonio Borneo [Sun, 18 Dec 2022 15:09:02 +0000 (16:09 +0100)]
flash: nor: rewrite command 'flash list' as COMMAND_HANDLER

The mixed use of jim commands and OpenOCD commands is error prone
due to handling of errors through JIM_xx and ERROR_yy.

Rewrite the jim command 'flash list' as OpenOCD command.
While there:
- format in a human readable way the output dictionary list, while
  preserving the structure of its TCL data;
- add the mandatory 'usage' field.

Change-Id: I1ee69870d3ab3c1cfc46cd2b8ec03de6b2300bd6
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7486
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
12 months agotransport: rewrite command 'transport select' as COMMAND_HANDLER 85/7485/2
Antonio Borneo [Sun, 18 Dec 2022 14:26:56 +0000 (15:26 +0100)]
transport: rewrite command 'transport select' as COMMAND_HANDLER

The mixed use of jim commands and OpenOCD commands is error prone
due to handling of errors through JIM_xx and ERROR_yy.

Rewrite the jim command 'transport select' as OpenOCD command.
This fixes and incorrect check for the return value of function
transport_select(); it returns ERROR_yy but the check is on JIM_xx.
While there, fix the coding style.

Change-Id: I9f3e8394c1a0cc0312b414c58275e1220217bbed
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7485
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
12 months agohelper: command: rewrite command 'ocd_find' as COMMAND_HANDLER 84/7484/2
Antonio Borneo [Sun, 18 Dec 2022 23:01:00 +0000 (00:01 +0100)]
helper: command: rewrite command 'ocd_find' as COMMAND_HANDLER

The mixed use of jim commands and OpenOCD commands is error prone
due to handling of errors through JIM_xx and ERROR_yy.

Rewrite the jim command 'ocd_find' as OpenOCD command.

Change-Id: Id775bccc12840bcf95d8c19787beda5e7c3107fc
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7484
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
12 months agosvf: make command 'svf' syntax consistent 34/7534/2
Antonio Borneo [Fri, 10 Mar 2023 10:41:54 +0000 (11:41 +0100)]
svf: make command 'svf' syntax consistent

The command 'svf' is the only command in OpenOCD that accepts
options in both forms 'option' and '-option'.

Deprecate the option format without the leading '-'.
Update the documentation and fix the on-line help.
While there:
- switch to use the new nvp.h helper;
- return ERROR_COMMAND_ARGUMENT_INVALID on invalid command args;
- fix some minor coding style rule.

Change-Id: I5b944403d92a3fa1e12d5faafc1d2a139bc16a7d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7534
Tested-by: jenkins
12 months agosvf: fix memory leak on error during command execution 33/7533/2
Antonio Borneo [Fri, 10 Mar 2023 11:01:03 +0000 (12:01 +0100)]
svf: fix memory leak on error during command execution

If svf_set_padding() returns error, jump to free_all label to
prevent any memory leak.
Propagate the error reported by svf_set_padding() instead of
overwriting it.
Use command_print() instead of LOG_ERROR() for command output.

Change-Id: I61fd89cad10652f2f9ef1f9d48a040e35253c3d4
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7533
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agosvf: fix leaking file descriptor 32/7532/2
Antonio Borneo [Fri, 10 Mar 2023 10:50:08 +0000 (11:50 +0100)]
svf: fix leaking file descriptor

The file descriptor svf_fd is not closed on command error, thus
leaking memory.

Close svf_fd on errors.
While there, properly initialize svf_fd using NULL instead of 0.

Change-Id: I5efe9ce576a3a50588b30000222665e26161dfdc
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7532
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: <kai.schmitz@advantest.com>
12 months agotarget/adi_v5_jtag: fix endianness error in transaction replay 40/7540/3
Tomas Vanek [Tue, 14 Mar 2023 14:11:14 +0000 (15:11 +0100)]
target/adi_v5_jtag: fix endianness error in transaction replay

The code for JTAG WAIT recovery did not handle DP_SELECT
endianness.

While on it, mark missing ADIv6 DP SELECT1 handling as TODO.

Change-Id: I44f3bc8fc9fd2483c0293b6d4f2c51a60ca01873
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7540
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotarget/adi_v5_swd: update comment about SWD capability 37/7537/2
Tomas Vanek [Tue, 14 Mar 2023 18:43:21 +0000 (19:43 +0100)]
target/adi_v5_swd: update comment about SWD capability

The multidrop SWD is also supported.

Change-Id: I9fefc54fc9d40a75194285cd6e0f10c5c347d9b6
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7537
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotarget/espressif: check common_magic instead of gdb_arch string 36/7536/2
Erhan Kurubas [Tue, 14 Mar 2023 22:22:10 +0000 (01:22 +0300)]
target/espressif: check common_magic instead of gdb_arch string

The value returned by target_get_gdb_arch() is something specific for GDB.
There could be several variants of the same CPU.
If we start implementing all the variants, checking the string value,
could become incorrect.
It's better to check for xtensa->common_magic == XTENSA_COMMON_MAGIC

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I20f3fdced176c3b9ab00f889743161ecad7280f9
Reviewed-on: https://review.openocd.org/c/openocd/+/7536
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agortos/nuttx: add Espressif target support and refactoring 44/7444/9
Erhan Kurubas [Sun, 22 Jan 2023 22:43:03 +0000 (23:43 +0100)]
rtos/nuttx: add Espressif target support and refactoring

Almost written from the beginning in a modern OpenOCD way.
- Endiannes support
- Proper variable types
- Align with the other rtos implementations

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I0868a22da2ed2ab664c82b17c171dc59ede78d10
Reviewed-on: https://review.openocd.org/c/openocd/+/7444
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agohelper/compiler: fix build on MacOS 44/7544/2
Antonio Borneo [Sun, 19 Mar 2023 09:57:04 +0000 (10:57 +0100)]
helper/compiler: fix build on MacOS

On MacOS, clang defines [1]:
#define __nonnull _Nonnull
that creates incompatibility with GCC and with the macro __nonnull
defined in some libc.

Detect clang on MacOS and undefine __nonnull.

Change-Id: I64fcf51b102ea91c196e657debd8c267943a2b08
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Links: [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/InitPreprocessor.cpp#L1226
Reviewed-on: https://review.openocd.org/c/openocd/+/7544
Tested-by: jenkins
12 months agosvf: new command line options -noreset and -addcycles 33/7433/7
Kai Schmitz [Thu, 5 Jan 2023 12:50:53 +0000 (13:50 +0100)]
svf: new command line options -noreset and -addcycles

-noreset: when using several SVF input files in a sequence it is not always
 desireable to have a JTAG reset between the execution of the files.
 The -noreset option skips this unwanted reset.

-addcycles <x>: some tests rely on a certain number of extra clock cycles
 between the actual JTAG commands. The -addcycles option injects a number
 x cycles after each SDR instruction.

Signed-off-by: Kai Schmitz <kai.schmitz@advantest.com>
Change-Id: I31932d6041dbc803be00016cd0a4f23fb2e7dbe1
Reviewed-on: https://review.openocd.org/c/openocd/+/7433
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotcl: remove exec permission to tcl config files 30/7530/2
Antonio Borneo [Mon, 6 Mar 2023 22:18:35 +0000 (23:18 +0100)]
tcl: remove exec permission to tcl config files

With the new checkpatch we will not get this type of issues
anymore.
In mean time, let's fix what we have missed during the review
process.

Change-Id: Iecebf9d43f51a29ee09505d360792793afd24b40
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: 53556fcded05 ("tcl/interface: add Ashling Opella-LD FTDI config files")
Reviewed-on: https://review.openocd.org/c/openocd/+/7530
Tested-by: jenkins
12 months agotcl/tools/test_cpu_speed: Fix register name 73/7473/2
Marc Schink [Thu, 9 Feb 2023 10:23:28 +0000 (11:23 +0100)]
tcl/tools/test_cpu_speed: Fix register name

Use correct register name after it has beed changed
in commit 11ee500bffe4 ("target/armv7m: Rename xPSR to xpsr")

Change-Id: I3648848f4b47af2d20d60c3e0ecef78f75f6d605
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/7473
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agojimtcl: update to version 0.82 17/7517/4
Antonio Borneo [Sat, 4 Mar 2023 11:08:58 +0000 (12:08 +0100)]
jimtcl: update to version 0.82

The new version modifies it's auto configure in change
https://github.com/msteveb/jimtcl/commit/ccd47be13019
stating:
configure: Default to --full
Now use --minimal and/or --without-ext to disable things.

With such change jimtcl doesn't build anymore as OpenOCD submodule
because of errors linking with new dependencies openssl and zlib.

Use option --minimal to keep the same build configuration as with
former jimtcl 0.81.
Add option --disable-ssl to avoid a build error on system with no
ssl libraries installed. This is already fixed in jimtcl upstream
but not part of 0.82. Note that ssl is not currently used by
OpenOCD.

Change-Id: I0879891dbd083bfbff1e904daf6cd549c3329bbf
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7517
Tested-by: jenkins
12 months agobuild: fix distcheck for jimtcl 27/7527/2
Antonio Borneo [Sun, 5 Mar 2023 23:27:58 +0000 (00:27 +0100)]
build: fix distcheck for jimtcl

The issues have been highlighted while integrated jimtcl 0.82,
but were already present.

While building jimtcl as submodule, OpenOCD generates the file
jimtcl/configure.gnu to pass specific configure flags.
Issue 1: this file is not included in the distribution.
This causes the rebuild from the distribution to have a jimtcl
built with different (the default) configure flags.
With jimtcl 0.82 the new default is to enable all the features,
but a bug causes the build to fail when openssl is not installed
in the build system (the bug is already fixed but after 0.82 [1]).
All these together cause OpenOCD Jenkins to fail the build for
target 'distcheck' with jimtcl 0.82.

Add jimtcl/configure.gnu to OpenOCD distribution's file list.

The build system considers jimtcl/configure.gnu as a temporarily
file that should be removed during 'distclean'.
Issue 2: 'distcheck' set read-only permission to the source files,
including jimtcl/configure.gnu, so 'distclean' fails removing it.

Add a leading '-' to ignore errors while trying to remove the
file.

Issue 3: Now that 'distcheck' properly configures and builds
jimtcl, 'distcheck' still fails because we have enabled jimtcl
json support in [2] and jimtcl 'distclean' fails to properly
remove one object file (fixed after 0.82 [3]).

Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete
the execution of 'distcheck'. Add a comment specifying which of
the jimtcl versions are affected.

Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c
Link: [2] 0a36acbf6ac6 ("configure: build jimtcl with json extension")
Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e
Reviewed-on: https://review.openocd.org/c/openocd/+/7527
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
12 months agoopenocd: drop JIM_EMBEDDED macro 18/7518/3
Antonio Borneo [Sat, 4 Mar 2023 18:19:16 +0000 (19:19 +0100)]
openocd: drop JIM_EMBEDDED macro

The macro JIM_EMBEDDED was required to be defined before including
jim.h in applications that embed jimtcl.
This requirement has been dropped in 2010 by removing the file
dos/Embedder-HOWTO.txt from jimtcl in
https://github.com/msteveb/jimtcl/commit/2d8564100c86#diff-3e93fa55e666

Drop the macro definition and the comment that mandates it.

Change-Id: I36883f60f25bb25839e4ebf908159569659764dd
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7518
Tested-by: jenkins
12 months agohelper: add compiler.h to handle compiler specific workarounds 19/7519/3
Antonio Borneo [Sat, 4 Mar 2023 22:56:35 +0000 (23:56 +0100)]
helper: add compiler.h to handle compiler specific workarounds

Not all compilers nor compiler versions supports the attributes
used in OpenOCD code.
Collect in a single file the workaround to handle them.

Change-Id: I92d871337281169134ce8e40b2064591518be71f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7519
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agotarget/xtensa: add NX support 56/7356/4
Ian Thompson [Fri, 4 Nov 2022 21:54:24 +0000 (14:54 -0700)]
target/xtensa: add NX support

- Manual integration of NX support from xt0.2 release
- No new clang static analysis warnings

Signed-off-by: Ian Thompson <ianst@cadence.com>
Change-Id: I95b51ccc83e56c0d4dbf09e01969ed6a4a93d497
Reviewed-on: https://review.openocd.org/c/openocd/+/7356
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotarget/image: zero-initialize ELF segments up to p_memsz 13/7513/6
Peter Collingbourne [Thu, 2 Mar 2023 04:20:29 +0000 (20:20 -0800)]
target/image: zero-initialize ELF segments up to p_memsz

We were previously not zero-initializing ELF segments between p_filesz
and p_memsz (aka BSS). However, this may be necessary depending on the
user's application. Therefore, start doing so.

Change-Id: I5a743390069583aca7ee276f53afeccf2cac0855
Signed-off-by: Peter Collingbourne <pcc@google.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7513
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agodoc: add missing FreeRTOS symbol 31/7531/2
Chao Du [Wed, 8 Mar 2023 07:17:13 +0000 (07:17 +0000)]
doc: add missing FreeRTOS symbol

A new FreeRTOS symbol xSchedulerRunning was added into the symbol list.
But the doc was not updated accordingly.

Signed-off-by: Chao Du <duchao@eswincomputing.com>
Change-Id: If1b18591e2681477ad96f1dea566cc2547097767
Reviewed-on: https://review.openocd.org/c/openocd/+/7531
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agoflash/nor/at91samd: add missing SAMR34/35 part numbers 21/7521/2
Andrew Lalaev [Sun, 5 Mar 2023 19:41:14 +0000 (20:41 +0100)]
flash/nor/at91samd: add missing SAMR34/35 part numbers

All DIDs are taken from "SAM R34/R35 Errata Sheet" (DS80000834A).

Signed-off-by: Andrew Lalaev <andrey.lalaev@gmail.com>
Change-Id: Ie35f58e61bb02919c0676c91938c90192481d995
Reviewed-on: https://review.openocd.org/c/openocd/+/7521
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agoflash/nor/at91samd: fix RAM size for SAMR34/35 20/7520/3
Andrew Lalaev [Sun, 5 Mar 2023 19:36:32 +0000 (20:36 +0100)]
flash/nor/at91samd: fix RAM size for SAMR34/35

According to the datasheets these MCUs have 40Kb RAM.

Signed-off-by: Andrew Lalaev <andrey.lalaev@gmail.com>
Change-Id: I52b8a0c86035bccd6f3c1a478bb2e558bca4ae86
Reviewed-on: https://review.openocd.org/c/openocd/+/7520
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
12 months agodrivers/ftdi: prevent misleading error msg when more vid/pids configured 29/7529/2
Tomas Vanek [Mon, 6 Mar 2023 14:37:43 +0000 (15:37 +0100)]
drivers/ftdi: prevent misleading error msg when more vid/pids configured

The driver tries to open mpsse engine for each vid pid
pair in sequence. If more vid/pid pairs are configured and
the USB device does not correspond to the first pair,
the driver shows 'unable to open ftdi device ...' error.

Match vid pid with the whole list as used in jtag_libusb_open()
instead of multiple mpsse_open() in for loop over vid/pid pairs.

Change-Id: I8ef55205be221c727607fe25b81ae21de0d96f02
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7529
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Wolfram Sang <wsa@kernel.org>
12 months agodrivers/libusb_helper: allow external use of jtag_libusb_match_ids() 28/7528/4
Tomas Vanek [Mon, 6 Mar 2023 14:31:08 +0000 (15:31 +0100)]
drivers/libusb_helper: allow external use of jtag_libusb_match_ids()

Can be employed by a driver with custom libusb open.

Change-Id: I00c8a01df8780891a8b7c30e2e34ab191acdf9a8
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7528
Tested-by: jenkins
Reviewed-by: Wolfram Sang <wsa@kernel.org>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agoTODO: remove outdated AT91SAM92xx entry 26/7526/2
Wolfram Sang [Fri, 3 Mar 2023 16:00:19 +0000 (17:00 +0100)]
TODO: remove outdated AT91SAM92xx entry

SAM9260 gained good generic infrastructure since 2009. And we always
want "improvements", no need for a TODO item.

Signed-off-by: Wolfram Sang <wsa@kernel.org>
Change-Id: I92551ef9d42ee47ad7441f2354587bbb45edc97e
Reviewed-on: https://review.openocd.org/c/openocd/+/7526
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
12 months agotcl/board/at91sam9g20-ek: remove outdated FIXME 25/7525/2
Wolfram Sang [Fri, 3 Mar 2023 15:50:38 +0000 (16:50 +0100)]
tcl/board/at91sam9g20-ek: remove outdated FIXME

It was fixed by e94180571 ("at91sam9: factorise cpu support") in 2011.

Signed-off-by: Wolfram Sang <wsa@kernel.org>
Change-Id: I95ea149b45a9902424bf9068b4a2830c17ddc6be
Reviewed-on: https://review.openocd.org/c/openocd/+/7525
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
13 months agotlc/interface: does fix source of raspberrypi-gpio-connector.cfg 12/7512/2
Tomas Deingruber [Tue, 28 Feb 2023 23:17:56 +0000 (23:17 +0000)]
tlc/interface: does fix source of raspberrypi-gpio-connector.cfg
in raspberrypi-native.cfg

Fixes: bec6c0eb094f (tcl/interface: universal config for all Raspberry Pi models)
Signed-off-by: Tomas Deingruber <Deingruber.Tomas@gmail.com>
Change-Id: I632c8acd84974937849b5fdf2943239def17bd6d
Reviewed-on: https://review.openocd.org/c/openocd/+/7512
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
13 months agojtag/drivers/cmsis_dap: run queue on reaching transaction limit 83/7483/3
Peter Collingbourne [Sat, 18 Feb 2023 02:26:05 +0000 (18:26 -0800)]
jtag/drivers/cmsis_dap: run queue on reaching transaction limit

We currently fail the transfer when issuing more than 255 transactions
at once, e.g.

> read_memory 0x10000000 32 256
CMSIS-DAP transfer count mismatch: expected 257, got 1

This is because the protocol only supports 255 transactions per packet
(65535 for block transactions), and as a result we truncate the
transaction count when assembling the packet. Fix it by running the
queue when we hit the limit.

Change-Id: Ia9e01e3af5ad035f2cf2a32292c9d66e57eafae9
Signed-off-by: Peter Collingbourne <pcc@google.com>
Fixes: 40bac8e8c4e5 ("jtag/drivers/cmsis_dap: improve USB packets filling")
Reviewed-on: https://review.openocd.org/c/openocd/+/7483
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
13 months agohelper: command: drop last LF ('\n') from sequence of command_print() 71/7471/3
Antonio Borneo [Mon, 19 Dec 2022 18:41:46 +0000 (19:41 +0100)]
helper: command: drop last LF ('\n') from sequence of command_print()

The OpenOCD commands produce their TCL text result through the
pair command_print() and command_print_sameline().
The latter is used to concatenate output in a single line.

At the end of a sequence of command_print(), the last LF is taken
as part of the command result, while it is not always needed, and
it is even annoying when the output of two commands needs to be
concatenate in a single line.

Using command_print_sameline() in place of the last call to
command_print() would solve the problem but it's quite expensive
in term of coding to fix all the existing commands.

Drop the last LF, if present.
Commands that would specifically need a LF as last char, can add
an extra LF at the end of the output.
Document this behavior in command.h.

Change-Id: I6757c20fbfce923dd393083146e8d5a1f3b790b4
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7471
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
13 months agoflash/nor/spi: add 25pe{10/20/40/80/16} 16/7416/4
Daniel Anselmi [Thu, 22 Dec 2022 21:28:21 +0000 (22:28 +0100)]
flash/nor/spi: add 25pe{10/20/40/80/16}

Change-Id: Ic5660bff83b8636ef397482a3313971ecdff72c0
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7416
Tested-by: jenkins
Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
14 months agonew SPI memory devices, continuation code for manufacturer id 29/6929/4
Andreas Bolsch [Wed, 9 Mar 2022 16:22:50 +0000 (17:22 +0100)]
new SPI memory devices, continuation code for manufacturer id

A bunch of new SPI flash (Adesto, Cypress, XTX Tech, mainly octal)
IDs and SPI FRAM (Infineon) IDs added. Backward compatible change
of ID interpretation: The previously unused 4th byte now acts
as continuation code (0x7F) count for manufacturer id, cf.
JEDEC JEP106BC. Currently this affects only some recent octal flash
and FRAM devices, which are only supported by stmqspi and cmspi
flash drivers.

Change-Id: Ibdcac81a84c636dc68439add4461b959df429bca
Signed-off-by: Andreas Bolsch <hyphen0break@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6929
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
14 months agoREADME: Remove statement about libjaylink Git submodule 70/7470/2
Marc Schink [Thu, 2 Feb 2023 13:25:27 +0000 (14:25 +0100)]
README: Remove statement about libjaylink Git submodule

Change-Id: I552c08979849c66d7f8f559ccfd49d27f8b68bb8
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/7470
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
14 months agoflash/nor/stm32l4x: Add revision 'Z' for STM32L552/562 devices 68/7468/2
Marc Schink [Mon, 30 Jan 2023 15:38:45 +0000 (16:38 +0100)]
flash/nor/stm32l4x: Add revision 'Z' for STM32L552/562 devices

Change-Id: Icc6058ef1f43e969a2a9baadfaf382ac820a7b76
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/7468
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
14 months agotarget: arc: rewrite command 'arc add-reg' as COMMAND_HANDLER 26/7426/4
Antonio Borneo [Tue, 27 Dec 2022 01:38:25 +0000 (02:38 +0100)]
target: arc: rewrite command 'arc add-reg' as COMMAND_HANDLER

While there, fix some coding style error and remove the now unused
function jim_arc_read_reg_name_field() and the macro
JIM_CHECK_RETVAL().

Change-Id: I140b4b929978b2936f2310e0b7d1735ba726c517
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7426
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc add-reg-type-struct' as COMMAND_HANDLER 25/7425/4
Antonio Borneo [Mon, 26 Dec 2022 23:56:55 +0000 (00:56 +0100)]
target: arc: rewrite command 'arc add-reg-type-struct' as COMMAND_HANDLER

Use a COMMAND_HELPER() to avoid memory leaks when the helper
COMMAND_PARSE_NUMBER() returns due to an error.

While there:
- fix potential SIGSEGV due to dereference 'type' before checking
  it's not NULL;
- fix an incorrect NUL byte termination while copying to
  type->data_type.id and to bitfields[cur_field].name;
- fix some coding style error;
- remove the now unused function jim_arc_read_reg_type_field().

Change-Id: I7158fd93b5d4742f11654b8ae4a7abd409ad06e2
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7425
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc add-reg-type-flags' as COMMAND_HANDLER 24/7424/4
Antonio Borneo [Mon, 26 Dec 2022 23:28:16 +0000 (00:28 +0100)]
target: arc: rewrite command 'arc add-reg-type-flags' as COMMAND_HANDLER

Use a COMMAND_HELPER() to avoid memory leaks when the helper
COMMAND_PARSE_NUMBER() returns due to an error.

While there:
- fix potential SIGSEGV due to dereference 'type' before checking
  it's not NULL;
- fix an incorrect NUL byte termination while copying to
  type->data_type.id and to bitfields[cur_field].name;
- fix some coding style error.

Change-Id: Ide4cbc829871a6a523026ccc0d3100dadc2afd06
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7424
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agohelper: nvp: add openocd nvp files 23/7423/4
Antonio Borneo [Mon, 26 Dec 2022 20:59:56 +0000 (21:59 +0100)]
helper: nvp: add openocd nvp files

Long ago jim_nvp was part of jimtcl. When jimtcl dropped it,
OpenOCD kept copy of it in its code base. Current code of jim_nvp
is still related with jimtcl data types and functions.

With the target of better isolating OpenOCD code from jimtcl,
create a new file nvp.c that re-proposes only the core of the old
jim_nvp, dropping any link with jimtcl and removing the string
'jim' either from the filename and from the code.
Keep the same license from the old code, as the new files are
clearly derived from it.

Change-Id: I273448cf1f1484b10f6b6113ed7bb0fcf946482b
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7423
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: fix error handling in command 'arc set-reg-exists' 13/7413/2
Antonio Borneo [Mon, 19 Dec 2022 16:20:06 +0000 (17:20 +0100)]
target: arc: fix error handling in command 'arc set-reg-exists'

The command is specified through COMMAND_HANDLER. It should not
return JIM_OK / JIM_ERR.

Change-Id: I56666414d49b0298ecc23ec7ef30c77e1e27afa8
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7413
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc num-actionpoints' as COMMAND_HANDLER 12/7412/2
Antonio Borneo [Mon, 19 Dec 2022 16:14:15 +0000 (17:14 +0100)]
target: arc: rewrite command 'arc num-actionpoints' as COMMAND_HANDLER

Also drop arc_cmd_jim_get_uint32() that is now unused.

Change-Id: Ic26c3f008376db3f01215bf736fca736dd1c1a4f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7412
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc get-reg-field' as COMMAND_HANDLER 11/7411/2
Antonio Borneo [Mon, 19 Dec 2022 16:03:03 +0000 (17:03 +0100)]
target: arc: rewrite command 'arc get-reg-field' as COMMAND_HANDLER

This also fixes several incorrect return ERROR_xxx from a jim
command.

Change-Id: I34fe3552d3dc344eac67bf504c5d5709b707fdfd
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7411
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc jtag set-core-reg' as COMMAND_HANDLER 10/7410/2
Antonio Borneo [Mon, 19 Dec 2022 12:44:00 +0000 (13:44 +0100)]
target: arc: rewrite command 'arc jtag set-core-reg' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_OK from a jim command.

Change-Id: I72a522645f62b99b313573c8bad6d4f674c5ae53
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7410
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc jtag get-core-reg' as COMMAND_HANDLER 09/7409/2
Antonio Borneo [Mon, 19 Dec 2022 12:38:58 +0000 (13:38 +0100)]
target: arc: rewrite command 'arc jtag get-core-reg' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_OK from a jim command.

Change-Id: I1f9cf5d1dfa38b8a06042b5f54209e6ee2fc4e0e
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7409
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc jtag set-aux-reg' as COMMAND_HANDLER 08/7408/2
Antonio Borneo [Mon, 19 Dec 2022 12:32:56 +0000 (13:32 +0100)]
target: arc: rewrite command 'arc jtag set-aux-reg' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_OK from a jim command.

Change-Id: Iab9bc7c25181341a632f608a8ef2d8b0bea72520
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7408
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agotarget: arc: rewrite command 'arc jtag get-aux-reg' as COMMAND_HANDLER 07/7407/2
Antonio Borneo [Mon, 19 Dec 2022 12:27:10 +0000 (13:27 +0100)]
target: arc: rewrite command 'arc jtag get-aux-reg' as COMMAND_HANDLER

This also fixes an incorrect return ERROR_OK from a jim command.

Change-Id: I3c51355e7e05965327ce819a3114e370f2de5249
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7407
Tested-by: jenkins
Reviewed-by: Evgeniy Didin <didin@synopsys.com>
14 months agoflash/nor/spi: Add some zbit flash chips. 45/7445/6
Daniel Serpell [Wed, 25 Jan 2023 02:54:43 +0000 (23:54 -0300)]
flash/nor/spi: Add some zbit flash chips.

I have a RP2020 board from aliexpress that uses the ZB25VQ32 flash, this
allows openocd to correctly identify it with the full flash size.

I also added other models, the datasheets can be found at:

Link: https://datasheet.lcsc.com/lcsc/2203210916_Zbit-Semi-ZB25VQ16ASIG_C2982491.pdf
Link: https://datasheet.lcsc.com/lcsc/2003141132_Zbit-Semi-ZB25VQ32BSIG_C495744.pdf
Link: https://datasheet.lcsc.com/lcsc/2003141132_Zbit-Semi-ZB25VQ64ASIG_C495745.pdf
Link: https://datasheet.lcsc.com/lcsc/2006151421_Zbit-Semi-ZB25VQ128ASIG_C609616.pdf
As noted by Andreas Bolsch, the devices supporting QSPI have different
ID in QPI mode than SPI, so two entries are needed in the table for each
one.

Use 0x0B as qread command, as this does not need the dummy M7-0
parameters.

Signed-off-by: Daniel Serpell <daniel.serpell@gmail.com>
Change-Id: Id99187b1963b02ac1a786b66bb352f5f48ed0ac2
Reviewed-on: https://review.openocd.org/c/openocd/+/7445
Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
14 months agotcl/target: add rescue mode to RP2040 config 27/7327/3
Tomas Vanek [Sun, 2 Oct 2022 12:46:11 +0000 (14:46 +0200)]
tcl/target: add rescue mode to RP2040 config

Integrate a rescue mode inspired by [1].

The current OpenOCD must be restarted before normal work with the RP2040
because the rescue debug port must not be activated (or the target
is reset every 'dap init'). To continue without restarting OpenOCD
we would need to switch off the configured rescue dap.

Change-Id: Ia05b960f06747063550c166e461939d92e232830
Link: [1] https://github.com/raspberrypi/openocd/blob/rp2040/tcl/target/rp2040-rescue.cfg
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7327
Reviewed-by: Jonathan Bell <jonathan@raspberrypi.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
14 months agojtag/drivers/jlink: allow SWD multidrop 83/7383/3
Tomas Vanek [Mon, 28 Nov 2022 09:54:48 +0000 (10:54 +0100)]
jtag/drivers/jlink: allow SWD multidrop

SW-DPv2 and SWJ-DPv2 devices do not reply to DP_TARGETSEL write cmd.

Ignore the received ACK after TARGETSEL write.

While on it, use swd_ack_to_error_code() for unified error code
translation of the received ACK value for all other commands.

Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Change-Id: If978c88c8496e31581175385e59c32faebfd20aa
Reviewed-on: https://review.openocd.org/c/openocd/+/7383
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: zapb <dev@zapb.de>
14 months agortos: remove config.h includes from stackings headers 41/7441/2
Erhan Kurubas [Sat, 21 Jan 2023 11:46:33 +0000 (12:46 +0100)]
rtos: remove config.h includes from stackings headers

And add its own header to the rtos_xxx_stackings.c

Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I084130fde7ee8645129a7cf60bb7bf59448e2f39
Reviewed-on: https://review.openocd.org/c/openocd/+/7441
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
14 months agotcl/interface: universal config for all Raspberry Pi models 64/7264/4
Tomas Vanek [Fri, 14 Oct 2022 09:16:58 +0000 (11:16 +0200)]
tcl/interface: universal config for all Raspberry Pi models

Speed calibration coeffs are computed from cpufreq/scaling_max_freq
and from the device-tree compatibility information.

Raspberry Pi linux offers /dev/gpiomem for non-root access
to the GPIO registers since ~2016.
Do not configure 'bcm2835gpio peripheral_base' as it is necessary
only if /dev/mem is used - it requires running OpenOCD as root
- it's a security risk so it should be avoided.

The configuration of the GPIO connector (40-pin header)
is factored out and ready to use in interface configuration
for other driver (e.g. linux gpiod).

Mark raspberrypi2-native.cfg as deprecated and redirect
it to raspberrypi-native.cfg

Change-Id: Icce856fb660b45374e94174da279feb51f529908
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/7264
Tested-by: jenkins
Reviewed-by: Jonathan Bell <jonathan@raspberrypi.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)