diff options
author | Brian Campbell <Brian.Campbell@ed.ac.uk> | 2018-11-12 16:36:51 +0000 |
---|---|---|
committer | Brian Campbell <Brian.Campbell@ed.ac.uk> | 2018-11-12 16:36:51 +0000 |
commit | 41e5848c3799e5e89fb525a5d3b7784aafd3026c (patch) | |
tree | 20c83e40eb5227106ea545e81f65c1f9e536fd63 /riscv_sim.c | |
parent | cd97f9524c53ec9aae06d0f6b3f477a1c57874a6 (diff) | |
download | sail-riscv-41e5848c3799e5e89fb525a5d3b7784aafd3026c.zip sail-riscv-41e5848c3799e5e89fb525a5d3b7784aafd3026c.tar.gz sail-riscv-41e5848c3799e5e89fb525a5d3b7784aafd3026c.tar.bz2 |
rvfi_dii: take port number with option
Diffstat (limited to 'riscv_sim.c')
-rw-r--r-- | riscv_sim.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/riscv_sim.c b/riscv_sim.c index 98f1734..1d33888 100644 --- a/riscv_sim.c +++ b/riscv_sim.c @@ -49,6 +49,7 @@ unsigned char *dtb = NULL; size_t dtb_len = 0; #ifdef RVFI_DII static bool rvfi_dii = false; +static int rvfi_dii_port; static int rvfi_dii_sock; #endif @@ -63,7 +64,7 @@ static struct option options[] = { {"device-tree-blob", required_argument, 0, 'b'}, {"terminal-log", required_argument, 0, 't'}, #ifdef RVFI_DII - {"rvfi-dii", no_argument, 0, 'r'}, + {"rvfi-dii", required_argument, 0, 'r'}, #endif {"help", no_argument, 0, 'h'}, {0, 0, 0, 0} @@ -72,7 +73,7 @@ static struct option options[] = { static void print_usage(const char *argv0, int ec) { #ifdef RVFI_DII - fprintf(stdout, "Usage: %s [options] [<elf_file>]\n", argv0); + fprintf(stdout, "Usage: %s [options] <elf_file>\n %s [options] -r <port>\n", argv0, argv0); #else fprintf(stdout, "Usage: %s [options] <elf_file>\n", argv0); #endif @@ -136,7 +137,7 @@ char *process_args(int argc, char **argv) { int c, idx = 1; while(true) { - c = getopt_long(argc, argv, "dmsb:t:v:hr", options, &idx); + c = getopt_long(argc, argv, "dmsb:t:v:hr:", options, &idx); if (c == -1) break; switch (c) { case 'd': @@ -162,6 +163,7 @@ char *process_args(int argc, char **argv) #ifdef RVFI_DII case 'r': rvfi_dii = true; + rvfi_dii_port = atoi(optarg); break; #endif default: @@ -576,7 +578,7 @@ int main(int argc, char **argv) struct sockaddr_in addr = { .sin_family = AF_INET, .sin_addr.s_addr = INADDR_ANY, - .sin_port = htons(1234) + .sin_port = htons(rvfi_dii_port) }; if (bind(listen_sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) { fprintf(stderr, "Unable to set bind socket: %s", strerror(errno)); |