bitq: remove dead code
[openocd.git] / src / openocd.c
index 7347cad8e5b0d5ba3cb8122d078a78d5517f6bc6..2c27fc421465eefd26788c3c9c5d13653f02b124 100644 (file)
@@ -31,7 +31,7 @@
 #include "openocd.h"
 #include <jtag/driver.h>
 #include <jtag/jtag.h>
-#include <jtag/transport.h>
+#include <transport/transport.h>
 #include <helper/ioutil.h>
 #include <helper/util.h>
 #include <helper/configuration.h>
@@ -42,7 +42,6 @@
 
 #include <server/server.h>
 #include <server/gdb_server.h>
-#include <server/httpd.h>
 
 #ifdef HAVE_STRINGS_H
 #include <strings.h>
@@ -185,29 +184,6 @@ COMMAND_HANDLER(handle_add_script_search_dir_command)
        return ERROR_OK;
 }
 
-
-static int jim_stacktrace_command(Jim_Interp *interp, int argc,
-               Jim_Obj * const *argv)
-{
-       if (argc != 1)
-       {
-               return JIM_ERR;
-       }
-       Jim_Obj * stacktrace = Jim_DuplicateObj(interp, interp->stackTrace);
-       
-       /* insert actual error site at beginning of list*/
-       Jim_Obj *procname = Jim_NewStringObj(interp, "", -1); /* Uhhh... don't know this one. */
-       Jim_ListInsertElements(interp, stacktrace, 0, 1, &procname);
-       Jim_Obj *filename = Jim_NewStringObj(interp, interp->errorFileName, -1);
-       Jim_ListInsertElements(interp, stacktrace, 1, 1, &filename);
-       Jim_Obj *line = Jim_NewIntObj(interp, interp->errorLine);
-       Jim_ListInsertElements(interp, stacktrace, 2, 1, &line);
-
-       Jim_SetResult(interp, stacktrace);
-
-       return JIM_OK;
-}
-
 static const struct command_registration openocd_command_handlers[] = {
        {
                .name = "version",
@@ -238,14 +214,6 @@ static const struct command_registration openocd_command_handlers[] = {
                .help = "dir to search for config files and scripts",
 
        },
-       {
-               .name = "stacktrace",
-               .jim_handler = jim_stacktrace_command,
-               .mode = COMMAND_ANY,
-               .help = "returns the stacktrace as a list of triples: proc, file, line."
-               "The stack trace is reset when a new stack trace is being built after "
-               "a new failure has occurred.",
-       },
        COMMAND_REGISTRATION_DONE
 };
 
@@ -268,7 +236,7 @@ struct command_context *setup_command_handler(Jim_Interp *interp)
        struct command_context *cmd_ctx = command_init(startup, interp);
 
        /* register subsystem commands */
-       typedef int (*command_registrant_t)(struct command_context *cmd_ctx);
+       typedef int (*command_registrant_t)(struct command_context *cmd_ctx_value);
        static const command_registrant_t command_registrants[] = {
                &openocd_register_commands,
                &server_register_commands,
@@ -302,31 +270,14 @@ struct command_context *setup_command_handler(Jim_Interp *interp)
        return cmd_ctx;
 }
 
-/* normally this is the main() function entry, but if OpenOCD is linked
- * into application, then this fn will not be invoked, but rather that
- * application will have it's own implementation of main(). */
-int openocd_main(int argc, char *argv[])
+/** OpenOCD runtime meat that can become single-thread in future. It parse
+ * commandline, reads configuration, sets up the target and starts server loop.
+ * Commandline arguments are passed into this function from openocd_main().
+ */
+static int openocd_thread(int argc, char *argv[], struct command_context *cmd_ctx)
 {
        int ret;
 
-       /* initialize commandline interface */
-       struct command_context *cmd_ctx;
-
-       cmd_ctx = setup_command_handler(NULL);
-
-       if (util_init(cmd_ctx) != ERROR_OK)
-               return EXIT_FAILURE;
-
-       if (ioutil_init(cmd_ctx) != ERROR_OK)
-               return EXIT_FAILURE;
-
-       LOG_OUTPUT("For bug reports, read\n\t"
-               "http://openocd.berlios.de/doc/doxygen/bugs.html"
-               "\n");
-
-       command_context_mode(cmd_ctx, COMMAND_CONFIG);
-       command_set_output_handler(cmd_ctx, configuration_output_handler, NULL);
-
        if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK)
                return EXIT_FAILURE;
 
@@ -337,27 +288,55 @@ int openocd_main(int argc, char *argv[])
        if (ret != ERROR_OK)
                return EXIT_FAILURE;
 
-       if (httpd_start(cmd_ctx) != ERROR_OK)
-               return EXIT_FAILURE;
-
        ret = server_init(cmd_ctx);
        if (ERROR_OK != ret)
                return EXIT_FAILURE;
 
+       ret = command_run_line(cmd_ctx, "init_targets");
+       if (ERROR_OK != ret)
+               ret = EXIT_FAILURE;
+
        if (init_at_startup)
        {
                ret = command_run_line(cmd_ctx, "init");
                if (ERROR_OK != ret)
-                       ret = EXIT_FAILURE;
+                       return EXIT_FAILURE;
        }
 
-       /* handle network connections */
-       if (ERROR_OK == ret)
-               server_loop(cmd_ctx);
+       server_loop(cmd_ctx);
 
        server_quit();
 
-       httpd_stop();
+       return ret;
+}
+
+/* normally this is the main() function entry, but if OpenOCD is linked
+ * into application, then this fn will not be invoked, but rather that
+ * application will have it's own implementation of main(). */
+int openocd_main(int argc, char *argv[])
+{
+       int ret;
+
+       /* initialize commandline interface */
+       struct command_context *cmd_ctx;
+
+       cmd_ctx = setup_command_handler(NULL);
+
+       if (util_init(cmd_ctx) != ERROR_OK)
+               return EXIT_FAILURE;
+
+       if (ioutil_init(cmd_ctx) != ERROR_OK)
+               return EXIT_FAILURE;
+
+       LOG_OUTPUT("For bug reports, read\n\t"
+               "http://openocd.sourceforge.net/doc/doxygen/bugs.html"
+               "\n");
+
+       command_context_mode(cmd_ctx, COMMAND_CONFIG);
+       command_set_output_handler(cmd_ctx, configuration_output_handler, NULL);
+
+       /* Start the executable meat that can evolve into thread in future. */
+       ret = openocd_thread(argc, argv, cmd_ctx);
 
        unregister_all_commands(cmd_ctx, NULL);
 

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)