With the removal of old tpiu code, commit 7e6556b3ca ("server:
permit the add_service function to return the created service")
http://openocd.zylin.com/5717/ can be reverted.
Fix also the new calls to add_service().
Change-Id: Ib7f2dfc6a9e829239e20313e0f121911085fdc00
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/6031
Tested-by: jenkins
Reviewed-by: Adrian M Negreanu <adrian.negreanu@nxp.com>
Support reading names/status of all threads, as well as all registers that are stored on the stack.
Limited to RV32, no FPU.
---
* WIP
Change-Id: I09417c2e45748504be449d74c39ae0b6b311e277
* WIP
Change-Id: I975fa2cabbf43ccf64f5162337c394f9c8e3017f
* Import rbtreehash-list from gnulib.
The main change to get this to build was to remove 3 includes from
config.h (actual code change in configure.ac) because lib/Makefile.am
doesn't contain the correct flags to find the files referenced there.
Instead I sprinkled necessary includes throughout the source code.
This feels like less of a hack regardless, so hopefully that's OK.
I'm not actually using the new library. Just got it to build.
Change-Id: I824000d8be0b6f58b6f2036498b37c33f453515a
* Actually use linkedhash_map.
Moved some files around to get it to link. Also note I'm using a
different module than before. This is the one I want (I think right
now).
Change-Id: I6161bffd4b5f916602c33c1930be6e061cefe982
* Properly track TCB/threadid mappings.
Change-Id: I725abb96f880745d78c5634d5faff7385c2773e1
* OpenOCD no longer crashes reading rv32 freertos regs
Change-Id: Ia84502dbf007145995d4fba8661153ab7f58f26f
* WIP
The register values reported for threads that aren't the current thread
look believable to me.
Change-Id: I94b109565c8cc2029fa77657a7fc10291bcb36e3
* Correctly mark the current thread.
Change-Id: Id94ababb55a222292090e6465e47ebf92ca26291
* Try to make the build pass.
Change-Id: I0fddd10fe22c013464f9a1e106cd21470fa7afe1
Signed-off-by: Tim Newsome <tim@sifive.com>
* Exclude new gnulib files.
Change-Id: I8b95615908034124f2236422771b5079f3304e37
Signed-off-by: Tim Newsome <tim@sifive.com>
* Style fixes.
Change-Id: I4aef0b1d0b0e366893c740ab89756fe8ea033ddb
Signed-off-by: Tim Newsome <tim@sifive.com>
* Don't include string.h.
It breaks the i686-w64-mingw32-gcc build, which complains:
error: incompatible implicit declaration of built-in function ‘strndup’
Change-Id: I8d758fe092efa503e015f71f34721f2c44632516
Signed-off-by: Tim Newsome <tim@sifive.com>
* Hopefully fix mingw32 build.
Change-Id: I8703b834b5679588b3aa6602ae4add7258dbd879
Signed-off-by: Tim Newsome <tim@sifive.com>
* Include winsock2 in replacements.
Change-Id: I77cfc90736c771a3cdefb39062e6c5b59de52cd5
Signed-off-by: Tim Newsome <tim@sifive.com>
* Zero now gets the correct value.
Change-Id: Ia7da043439a82081629b8a5991ed8cbc382d5ac8
Signed-off-by: Tim Newsome <tim@sifive.com>
* Accommodate non-general regs on the stack.
Also refactor FreeRTOS a little to separate out target-specific code
from target-indepent code.
Change-Id: Icc74d85b24f35d069be091e32e23144573560e9f
* All registers now read sane values.
It appears that FreeRTOS wastes a space on the stack, where x0 would be
saved. Am I missing something?
Correctly read mstatus as it is saved on the stack as well. This same
mechanism should also work for FPU registers, although there's more work
to be done before we get there.
Change-Id: Iabacc3af2ab368aa7b9090c1ff719451a087b5ed
Signed-off-by: Tim Newsome <tim@sifive.com>
returning the created service seems useful:
as the only method to get the freshly created service is by getting the
last item in the services linked list, and this seems to be like an
intrusion to service internal mechanism.
possibly, we could get the service from a connection but this is possible
only from [new_connection|input|connection_closed]_handler_t, but this is
not always practical:
example: armv7m: add a TCP channel to stream captured trace
http://openocd.zylin.com/#/c/5345/
here we poll for trace and broadcast to all connections
outside of these xxx_handler_t functions
also, storing one of the connections in new_connection_handler_t and get
the service from it is possible, but this will make the code less readable.
Change-Id: I5fef1baecec1e054953c6faf5b99d864ecc97f02
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5717
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
Issue identified by checkpatch script from Linux kernel v5.1 using
the command
find src/ -type f -exec ./tools/scripts/checkpatch.pl \
-q --types FUNCTION_ARGUMENTS -f {} \;
This patch also fixes an incorrect function prototype in zy1000.c.
ZY1000 minidriver implementation overrides the function
arm11_run_instr_data_to_core_noack_inner(), but the prototype is
not the same as in src/target/arm11_dbgtap.c and to avoid compile
error it was changed also the prototype of the called function
arm11_run_instr_data_to_core_noack_inner_default().
Change-Id: I476cda8cdb0e1e280795b3b43ca95c40d09e4a3d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5630
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Issue: server_quit is called before adapter_quit:
In WIN32 only in server_quit we do an WSACleanup,
which terminates/closes all active sockets.
So if the adapter is TCP based, the adapter.quit handler
will fail if it will need to send some commands through TCP.
Example: close_socket in jtag_vpi_quit will fail in WIN32
because the socket is already closed
and the errno is set as "Bad File Descriptor"
To fix that we introduced new functions called server_host_os_entry/quit
to manage specific OS setup (hence WSA for sockets in WINDOWS) in order
to delay WSACleanup after adapter_quit().
Change-Id: Ie4afacafe123857f6ae300e376bdfcf0d8c027ac
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5456
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Add the ability to remove services while OpenOCD is running.
Change-Id: I4067916fda6d03485463fa40901b40484d94e24e
Signed-off-by: Marc Schink <openocd-dev@marcschink.de>
Reviewed-on: http://openocd.zylin.com/4054
Tested-by: jenkins
Reviewed-by: Fredrik Hederstierna <fredrik@hederstierna.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Although the leak is negligible, the clean heap on exit will ease
valgrind testing.
Change-Id: I3a7a9c8e8dc7557aa51d0b9caa244537e5e7007d
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4410
Tested-by: jenkins
Also make GPL notices consistent according to:
https://www.gnu.org/licenses/gpl-howto.html
Change-Id: I84c9df40a774958a7ed91460c5d931cfab9f45ba
Signed-off-by: Marc Schink <openocd-dev@marcschink.de>
Reviewed-on: http://openocd.zylin.com/3488
Tested-by: jenkins
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Add constant CONNECTION_LIMIT_UNLIMITED which indicates a service
has no connection limit
Change-Id: I008d31264010c25fa44ca74eb6d5740eca38bee1
Signed-off-by: Austin Morton <austinpmorton@gmail.com>
Reviewed-on: http://openocd.zylin.com/2937
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Don't use const on pointers that hold heap allocated data, because that
means functions that free them must cast away the const.
Do use const on pointer parameters or fields that needn't be modified.
Remove pointer casts that are no longer needed after fixing the constness.
Change-Id: I5d206f5019982fd1950bc6d6d07b6062dc24e886
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1668
Tested-by: jenkins
Reviewed-by: Mathias Küster <kesmtp@freenet.de>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
this never panned out and there are enough mistakes in
the code that probably nobody used this.
Use the tcl server and implement a standalone http
app instead works fine.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This will allow switching to using named pipes.
Split this out as a seperate commit to make changes
easier to follow.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
depending on whether the connection is over a socket
or pipe, the read is done differently.
pipes can return -1 when writing 0 bytes, make 0 byte
writes a successful no-op. 0 byte writes falls out
naturally of tcl server code.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
pipes have different fd's for in/out. This makes the
code more orthogonal and prepares for adding pipes.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This fixes the issue under native win32 of the socket interface not being
enabled (via WSAStartup) before init is called from a script.
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "log.h"
the following form should be used.
#include <helper/log.h>
The exception is from .c files in the same directory.
- cleaned up headers to match rest of code
- added missing svn props for previously added files
git-svn-id: svn://svn.berlios.de/openocd/trunk@987 b42882b7-edfa-0310-969c-e2dbd0fdcd60
- Added state-move support to ftd2xx and bitbang JTAG drivers (required for XScale, possibly useful for other targets, too)
- various fixes
git-svn-id: svn://svn.berlios.de/openocd/trunk@78 b42882b7-edfa-0310-969c-e2dbd0fdcd60