From 183ae587049c57c342aa2bb0f7d30845cbfabaa6 Mon Sep 17 00:00:00 2001 From: Richard Xia Date: Tue, 18 Oct 2016 14:51:59 -0700 Subject: [PATCH 1/2] Use a random port number for JTAG VPI. --- csrc/jtag_vpi.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/csrc/jtag_vpi.c b/csrc/jtag_vpi.c index 9c6198ad..de2d9272 100644 --- a/csrc/jtag_vpi.c +++ b/csrc/jtag_vpi.c @@ -40,7 +40,8 @@ #include -#define RSP_SERVER_PORT 5555 +// Calling bind with port 0 will return a socket bound to an unused port. +#define RSP_SERVER_PORT 0 #define XFERT_MAX_SIZE 512 const char * cmd_to_string[] = {"CMD_RESET", @@ -63,8 +64,6 @@ int init_jtag_server(int port) struct sockaddr_in serv_addr; int flags; - printf("Listening on port %d\n", port); - listenfd = socket(AF_INET, SOCK_STREAM, 0); memset(&serv_addr, '0', sizeof(serv_addr)); @@ -76,6 +75,14 @@ int init_jtag_server(int port) listen(listenfd, 10); + socklen_t socklen = sizeof(serv_addr); + if (getsockname(listenfd, (struct sockaddr *)&serv_addr, &socklen) == -1) { + perror("init_jtag_server"); + exit(1); + } else { + printf("Listening on port %d\n", ntohs(serv_addr.sin_port)); + } + printf("Waiting for client connection..."); connfd = accept(listenfd, (struct sockaddr*)NULL, NULL); printf("ok\n"); From cc5b7d1eb603c0bdb27629d98ad7a2e7639b0fdf Mon Sep 17 00:00:00 2001 From: Richard Xia Date: Wed, 26 Oct 2016 10:41:41 -0700 Subject: [PATCH 2/2] Bump riscv-tools. --- riscv-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/riscv-tools b/riscv-tools index 83a3143e..886d8131 160000 --- a/riscv-tools +++ b/riscv-tools @@ -1 +1 @@ -Subproject commit 83a3143e93b54d705f38588b3e14351434084bae +Subproject commit 886d8131dbd23533fb04d2d76a80be21d5f9ee7a