summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/htm.c14
-rw-r--r--src/htm.h14
-rw-r--r--src/main.c53
3 files changed, 21 insertions, 60 deletions
diff --git a/src/htm.c b/src/htm.c
index 36e138f..b03aca0 100644
--- a/src/htm.c
+++ b/src/htm.c
@@ -45,7 +45,7 @@ static char *get_htm_dump_filename(void)
return filename;
}
-int run_htm_start(void)
+int run_htm_start(int optind, int argc, char *argv[])
{
struct pdbg_target *target;
int rc = 0;
@@ -64,7 +64,7 @@ int run_htm_start(void)
return rc;
}
-int run_htm_stop(void)
+int run_htm_stop(int optind, int argc, char *argv[])
{
struct pdbg_target *target;
int rc = 0;
@@ -83,7 +83,7 @@ int run_htm_stop(void)
return rc;
}
-int run_htm_status(void)
+int run_htm_status(int optind, int argc, char *argv[])
{
struct pdbg_target *target;
int rc = 0;
@@ -103,7 +103,7 @@ int run_htm_status(void)
return rc;
}
-int run_htm_reset(void)
+int run_htm_reset(int optind, int argc, char *argv[])
{
uint64_t old_base = 0, base, size;
struct pdbg_target *target;
@@ -131,7 +131,7 @@ int run_htm_reset(void)
return rc;
}
-int run_htm_dump(void)
+int run_htm_dump(int optind, int argc, char *argv[])
{
struct pdbg_target *target;
char *filename;
@@ -158,7 +158,7 @@ int run_htm_dump(void)
return rc;
}
-int run_htm_trace(void)
+int run_htm_trace(int optind, int argc, char *argv[])
{
uint64_t old_base = 0, base, size;
struct pdbg_target *target;
@@ -201,7 +201,7 @@ int run_htm_trace(void)
return rc;
}
-int run_htm_analyse(void)
+int run_htm_analyse(int optind, int argc, char *argv[])
{
struct pdbg_target *target;
char *filename;
diff --git a/src/htm.h b/src/htm.h
index 0190d03..b454acc 100644
--- a/src/htm.h
+++ b/src/htm.h
@@ -18,10 +18,10 @@
#include <target.h>
-int run_htm_start(void);
-int run_htm_stop(void);
-int run_htm_status(void);
-int run_htm_reset(void);
-int run_htm_dump(void);
-int run_htm_trace(void);
-int run_htm_analyse(void);
+int run_htm_start(int optind, int argc, char *argv[]);
+int run_htm_stop(int optind, int argc, char *argv[]);
+int run_htm_status(int optind, int argc, char *argv[]);
+int run_htm_reset(int optind, int argc, char *argv[]);
+int run_htm_dump(int optind, int argc, char *argv[]);
+int run_htm_trace(int optind, int argc, char *argv[]);
+int run_htm_analyse(int optind, int argc, char *argv[]);
diff --git a/src/main.c b/src/main.c
index 42aeeba..a38472e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -103,6 +103,13 @@ static struct {
{ "stop", "", "Stop thread", &thread_stop },
{ "threadstatus", "", "Print the status of a thread", &thread_status_print },
{ "sreset", "", "Reset", &thread_sreset },
+ { "htm_start", "", "Start Nest HTM", &run_htm_start },
+ { "htm_stop", "", "Stop Nest HTM", &run_htm_stop },
+ { "htm_status", "", "Print the status of HTM", &run_htm_status },
+ { "htm_reset", "", "Reset the HTM facility", &run_htm_reset },
+ { "htm_dump", "", "Dump HTM buffer to file", &run_htm_dump },
+ { "htm_trace", "" , "Configure and start tracing with HTM", &run_htm_trace },
+ { "htm_analyse", "", "Stop and dump buffer to file", &run_htm_analyse },
};
static void print_usage(char *pname)
@@ -169,30 +176,6 @@ enum command parse_cmd(char *optarg)
} else if (strcmp(optarg, "probe") == 0) {
cmd = PROBE;
cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_start") == 0) {
- cmd = HTM_START;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_go") == 0) {
- cmd = HTM_START;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_stop") == 0) {
- cmd = HTM_STOP;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_status") == 0) {
- cmd = HTM_STATUS;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_reset") == 0) {
- cmd = HTM_RESET;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_dump") == 0) {
- cmd = HTM_DUMP;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_trace") == 0) {
- cmd = HTM_TRACE;
- cmd_min_arg_count = 0;
- } else if (strcmp(optarg, "htm_analyse") == 0) {
- cmd = HTM_ANALYSE;
- cmd_min_arg_count = 0;
}
if (cmd_min_arg_count && !cmd_max_arg_count)
@@ -584,28 +567,6 @@ int main(int argc, char *argv[])
printf("\nNote that only selected targets will be shown above. If none are shown\n"
"try adding '-a' to select all targets\n");
break;
- case HTM_GO:
- case HTM_START:
- rc = run_htm_start();
- break;
- case HTM_STOP:
- rc = run_htm_stop();
- break;
- case HTM_STATUS:
- rc = run_htm_status();
- break;
- case HTM_RESET:
- rc = run_htm_reset();
- break;
- case HTM_DUMP:
- rc = run_htm_dump();
- break;
- case HTM_TRACE:
- rc = run_htm_trace();
- break;
- case HTM_ANALYSE:
- rc = run_htm_analyse();
- break;
default:
found = false;
break;
OpenPOWER on IntegriCloud