This code forced all harts to halt when they reported a mixture of
halted and non-halted status. This breaks long-running algorithms run
on a single core under SMP, because the first poll will force the core
executing the algorithm to halt.
Fix by adding an exception when all running cores are running under
debugger control (target->status == 4). Do not force harts to halt in
this case.
Change-Id: I940172926ed9b80b95891d8aecbd10897e148585
Signed-off-by: wangyanwen <wangyanwen@nucleisys.com>
- Check target state before MMU query
- Force sysbus access during runtime writes
- Restore original settings after access
Change-Id: Idf244be0425d5c1584d092e1c2693ad11c941d12
Signed-off-by: Huaqi Fang <578567190@qq.com>
- Only log error if target is not running or in debug running state.
- Refine logging for consistency across functions.
Change-Id: Ic1a8b0e379dca06f01786feb9aa9ef5892e1d789
Signed-off-by: Huaqi Fang <578567190@qq.com>
It can be used for reading/writing multiple non-contiguous
chunks of memory with minimum latency using sba method
based on a0a1aed80f
Change-Id: If52bf14875f36229e315970643d11983ae2e539d
Signed-off-by: Huaqi Fang <578567190@qq.com>
In Nuclei RISC-V Processor, Vector Module can be configured to lite version
which vslide1down_vx instruction maybe not present, so we need to find other
ways to read and write vector registers, this commit is a workaround to do this.
Change-Id: I6e01666ec49d2876942b09b7e5d14c3fcc76854f
Signed-off-by: wangyanwen <wangyanwen@nucleisys.com>
init resethalt is used to halt the cpu when reset
Change-Id: I5c504599c10da204c0e9f933d33f61fe75ed033c
Signed-off-by: wangyanwen <wangyanwen@nucleisys.com>
- cm32m4xxr flash driver is for cm32m4xxr devices
- nuspi flash driver is for nuclei evalsoc devices
- custom flash driver is for customized flash driver
without modify openocd source code, see https://github.com/riscv-mcu/openflashloader
Change-Id: I86c4f0298707b5cfdfb77b6d8f4cbed3a189ddf0
Signed-off-by: wangyanwen <wangyanwen@nucleisys.com>
* Registers were not invalidated if the hart became unavailable.
* Improved logging in the case register invalidation involves loss of
information.
Change-Id: Icfb5e190dd6dcb1a97e4d314d802466cab7a01e4
Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
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>
this commit fixes a regression introduced in
ba8c1eef5a.
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.
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
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>
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>
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>
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>
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
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
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>
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
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
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
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
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