semihosting: User defined operation, Tcl command exec on host
authorZoltán Dudás <zedudi@gmail.com>
Wed, 24 Nov 2021 16:13:50 +0000 (17:13 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 5 Feb 2022 21:40:17 +0000 (21:40 +0000)
commit5ab74bde06541ce199390ead348a3e107ee9c0f4
tree416f5c7be1369187ab65d16bd6ce0342bc13b102
parentdbbac5f11d662ab0827a997aa5d173fd62c51708
semihosting: User defined operation, Tcl command exec on host

Enabling a portion (0x100 - 0x107) of the user defined semihosting
operation number range (0x100 - 0x1FF) to be processed with the help of
the existing target event mechanism, to implement a general-purpose Tcl
interface for the target available on the host, via semihosting
interface.

Example usage:
- The user configures a Tcl command as a callback for one of the newly
defined events (semihosting-user-cmd-0x10X) in the configuration
file.
- The target can make a semihosting call with <opnum>, passing optional
parameters for the call.

If there is no callback registered to the user defined operation number,
nothing happens.

Example usage: Configure RTT automatically with the exact, linked
control block location from target.

Signed-off-by: Zoltán Dudás <zedudi@gmail.com>
Change-Id: I10e1784b1fecd4e630d78df81cb44bf1aa2fc247
Reviewed-on: https://review.openocd.org/c/openocd/+/6748
Tested-by: jenkins
Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
doc/openocd.texi
src/target/arm_semihosting.c
src/target/riscv/riscv_semihosting.c
src/target/semihosting_common.c
src/target/semihosting_common.h
src/target/target.c
src/target/target.h